diff --git a/wp-content/backup-a3f42/index.php b/wp-content/backup-a3f42/index.php new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/backup-a3f42/micropastsWordpresss_wp_20131026_368.sql b/wp-content/backup-a3f42/micropastsWordpresss_wp_20131026_368.sql new file mode 100644 index 0000000..dee38a4 --- /dev/null +++ b/wp-content/backup-a3f42/micropastsWordpresss_wp_20131026_368.sql @@ -0,0 +1,1203 @@ +# WordPress MySQL database backup +# +# Generated: Saturday 26. October 2013 07:50 UTC +# Hostname: localhost +# Database: `micropastsWordpresss` +# -------------------------------------------------------- +# -------------------------------------------------------- +# Table: `wp_commentmeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_commentmeta` +# + +DROP TABLE IF EXISTS `wp_commentmeta`; + + +# +# Table structure of table `wp_commentmeta` +# + +CREATE TABLE `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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_commentmeta` +# + +# +# End of data contents of table `wp_commentmeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_comments` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_comments` +# + +DROP TABLE IF EXISTS `wp_comments`; + + +# +# Table structure of table `wp_comments` +# + +CREATE TABLE `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_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=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_comments` +# + +# +# End of data contents of table `wp_comments` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_links` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_links` +# + +DROP TABLE IF EXISTS `wp_links`; + + +# +# Table structure of table `wp_links` +# + +CREATE TABLE `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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_links` +# + +# +# End of data contents of table `wp_links` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_options` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_options` +# + +DROP TABLE IF EXISTS `wp_options`; + + +# +# Table structure of table `wp_options` +# + +CREATE TABLE `wp_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `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=InnoDB AUTO_INCREMENT=4595 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_options` +# + +INSERT INTO `wp_options` VALUES (1, 'siteurl', 'http://micropasts.org', 'yes'); +INSERT INTO `wp_options` VALUES (2, 'blogname', 'Micropasts', 'yes'); +INSERT INTO `wp_options` VALUES (3, 'blogdescription', '', 'yes'); +INSERT INTO `wp_options` VALUES (4, 'users_can_register', '0', 'yes'); +INSERT INTO `wp_options` VALUES (5, 'admin_email', 'danielpett@gmail.com', 'yes'); +INSERT INTO `wp_options` VALUES (6, 'start_of_week', '1', 'yes'); +INSERT INTO `wp_options` VALUES (7, 'use_balanceTags', '0', 'yes'); +INSERT INTO `wp_options` VALUES (8, 'use_smilies', '1', 'yes'); +INSERT INTO `wp_options` VALUES (9, 'require_name_email', '1', 'yes'); +INSERT INTO `wp_options` VALUES (10, 'comments_notify', '1', 'yes'); +INSERT INTO `wp_options` VALUES (11, 'posts_per_rss', '10', 'yes'); +INSERT INTO `wp_options` VALUES (12, 'rss_use_excerpt', '0', 'yes'); +INSERT INTO `wp_options` VALUES (13, 'mailserver_url', 'mail.example.com', 'yes'); +INSERT INTO `wp_options` VALUES (14, 'mailserver_login', 'login@example.com', 'yes'); +INSERT INTO `wp_options` VALUES (15, 'mailserver_pass', 'password', 'yes'); +INSERT INTO `wp_options` VALUES (16, 'mailserver_port', '110', 'yes'); +INSERT INTO `wp_options` VALUES (17, 'default_category', '1', 'yes'); +INSERT INTO `wp_options` VALUES (18, 'default_comment_status', 'closed', 'yes'); +INSERT INTO `wp_options` VALUES (19, 'default_ping_status', 'open', 'yes'); +INSERT INTO `wp_options` VALUES (20, 'default_pingback_flag', '1', 'yes'); +INSERT INTO `wp_options` VALUES (21, 'posts_per_page', '10', 'yes'); +INSERT INTO `wp_options` VALUES (22, 'date_format', 'F j, Y', 'yes'); +INSERT INTO `wp_options` VALUES (23, 'time_format', 'g:i a', 'yes'); +INSERT INTO `wp_options` VALUES (24, 'links_updated_date_format', 'F j, Y g:i a', 'yes'); +INSERT INTO `wp_options` VALUES (25, 'links_recently_updated_prepend', '', 'yes'); +INSERT INTO `wp_options` VALUES (26, 'links_recently_updated_append', '', 'yes'); +INSERT INTO `wp_options` VALUES (27, 'links_recently_updated_time', '120', 'yes'); +INSERT INTO `wp_options` VALUES (28, 'comment_moderation', '', 'yes'); +INSERT INTO `wp_options` VALUES (29, 'moderation_notify', '1', 'yes'); +INSERT INTO `wp_options` VALUES (30, 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/', 'yes'); +INSERT INTO `wp_options` VALUES (31, 'gzipcompression', '0', 'yes'); +INSERT INTO `wp_options` VALUES (32, 'hack_file', '0', 'yes'); +INSERT INTO `wp_options` VALUES (33, 'blog_charset', 'UTF-8', 'yes'); +INSERT INTO `wp_options` VALUES (34, 'moderation_keys', '', 'no'); +INSERT INTO `wp_options` VALUES (35, 'active_plugins', 'a:4:{i:0;s:19:"akismet/akismet.php";i:1;s:43:"google-analyticator/google-analyticator.php";i:2;s:41:"responsive-add-ons/responsive-add-ons.php";i:3;s:46:"wordpress-mu-domain-mapping/domain_mapping.php";}', 'yes'); +INSERT INTO `wp_options` VALUES (36, 'home', 'http://micropasts.org', 'yes'); +INSERT INTO `wp_options` VALUES (37, 'category_base', '', 'yes'); +INSERT INTO `wp_options` VALUES (38, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'); +INSERT INTO `wp_options` VALUES (39, 'advanced_edit', '0', 'yes'); +INSERT INTO `wp_options` VALUES (40, 'comment_max_links', '2', 'yes'); +INSERT INTO `wp_options` VALUES (41, 'gmt_offset', '', 'yes'); +INSERT INTO `wp_options` VALUES (42, 'default_email_category', '1', 'yes'); +INSERT INTO `wp_options` VALUES (43, 'recently_edited', 'a:5:{i:0;s:72:"/var/www/micropasts/wp-content/plugins/rotating-posts/rotating-posts.css";i:2;s:72:"/var/www/micropasts/wp-content/plugins/rotating-posts/rotating-posts.php";i:3;s:58:"/var/www/micropasts/wp-content/plugins/akismet/akismet.php";i:4;s:59:"/var/www/micropasts/wp-content/themes/responsive/header.php";i:5;s:58:"/var/www/micropasts/wp-content/themes/responsive/style.css";}', 'no'); +INSERT INTO `wp_options` VALUES (44, 'template', 'responsive', 'yes'); +INSERT INTO `wp_options` VALUES (45, 'stylesheet', 'responsive', 'yes'); +INSERT INTO `wp_options` VALUES (46, 'comment_whitelist', '1', 'yes'); +INSERT INTO `wp_options` VALUES (47, 'blacklist_keys', '', 'no'); +INSERT INTO `wp_options` VALUES (48, 'comment_registration', '', 'yes'); +INSERT INTO `wp_options` VALUES (49, 'html_type', 'text/html', 'yes'); +INSERT INTO `wp_options` VALUES (50, 'use_trackback', '0', 'yes'); +INSERT INTO `wp_options` VALUES (51, 'default_role', 'subscriber', 'yes'); +INSERT INTO `wp_options` VALUES (52, 'db_version', '24448', 'yes'); +INSERT INTO `wp_options` VALUES (53, 'uploads_use_yearmonth_folders', '1', 'yes'); +INSERT INTO `wp_options` VALUES (54, 'upload_path', '', 'yes'); +INSERT INTO `wp_options` VALUES (55, 'blog_public', '1', 'yes'); +INSERT INTO `wp_options` VALUES (56, 'default_link_category', '2', 'yes'); +INSERT INTO `wp_options` VALUES (57, 'show_on_front', 'posts', 'yes'); +INSERT INTO `wp_options` VALUES (58, 'tag_base', '', 'yes'); +INSERT INTO `wp_options` VALUES (59, 'show_avatars', '1', 'yes'); +INSERT INTO `wp_options` VALUES (60, 'avatar_rating', 'G', 'yes'); +INSERT INTO `wp_options` VALUES (61, 'upload_url_path', '', 'yes'); +INSERT INTO `wp_options` VALUES (62, 'thumbnail_size_w', '150', 'yes'); +INSERT INTO `wp_options` VALUES (63, 'thumbnail_size_h', '150', 'yes'); +INSERT INTO `wp_options` VALUES (64, 'thumbnail_crop', '1', 'yes'); +INSERT INTO `wp_options` VALUES (65, 'medium_size_w', '300', 'yes'); +INSERT INTO `wp_options` VALUES (66, 'medium_size_h', '300', 'yes'); +INSERT INTO `wp_options` VALUES (67, 'avatar_default', 'mystery', 'yes'); +INSERT INTO `wp_options` VALUES (68, 'large_size_w', '1024', 'yes'); +INSERT INTO `wp_options` VALUES (69, 'large_size_h', '1024', 'yes'); +INSERT INTO `wp_options` VALUES (70, 'image_default_link_type', 'file', 'yes'); +INSERT INTO `wp_options` VALUES (71, 'image_default_size', '', 'yes'); +INSERT INTO `wp_options` VALUES (72, 'image_default_align', '', 'yes'); +INSERT INTO `wp_options` VALUES (73, 'close_comments_for_old_posts', '', 'yes'); +INSERT INTO `wp_options` VALUES (74, 'close_comments_days_old', '14', 'yes'); +INSERT INTO `wp_options` VALUES (75, 'thread_comments', '1', 'yes'); +INSERT INTO `wp_options` VALUES (76, 'thread_comments_depth', '5', 'yes'); +INSERT INTO `wp_options` VALUES (77, 'page_comments', '', 'yes'); +INSERT INTO `wp_options` VALUES (78, 'comments_per_page', '50', 'yes'); +INSERT INTO `wp_options` VALUES (79, 'default_comments_page', 'newest', 'yes'); +INSERT INTO `wp_options` VALUES (80, 'comment_order', 'asc', 'yes'); +INSERT INTO `wp_options` VALUES (81, 'sticky_posts', 'a:0:{}', 'yes'); +INSERT INTO `wp_options` VALUES (82, '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'); +INSERT INTO `wp_options` VALUES (83, 'widget_text', 'a:4:{i:2;a:3:{s:5:"title";s:0:"";s:4:"text";s:186:"Research you do\r\nHelp existing research projects, create open data and build new knowledge.";s:6:"filter";b:1;}i:3;a:3:{s:5:"title";s:0:"";s:4:"text";s:175:"Research you fund\r\nChoose among new proposals for research and help to fund them.";s:6:"filter";b:1;}i:5;a:3:{s:5:"title";s:0:"";s:4:"text";s:165:"Discuss and Design\r\nDiscuss existing research projects or design new ones.";s:6:"filter";b:1;}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_options` VALUES (84, 'widget_rss', 'a:0:{}', 'yes'); +INSERT INTO `wp_options` VALUES (85, 'uninstall_plugins', 'a:2:{s:17:"openid/openid.php";s:23:"openid_uninstall_plugin";s:33:"rotating-posts/rotating-posts.php";s:12:"rp_uninstall";}', 'no'); +INSERT INTO `wp_options` VALUES (86, 'timezone_string', 'Europe/London', 'yes'); +INSERT INTO `wp_options` VALUES (87, 'page_for_posts', '0', 'yes'); +INSERT INTO `wp_options` VALUES (88, 'page_on_front', '208', 'yes'); +INSERT INTO `wp_options` VALUES (89, 'default_post_format', '0', 'yes'); +INSERT INTO `wp_options` VALUES (90, 'link_manager_enabled', '0', 'yes'); +INSERT INTO `wp_options` VALUES (91, 'initial_db_version', '24448', 'yes'); +INSERT INTO `wp_options` VALUES (92, 'wp_user_roles', 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:63:{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:19:"use_openid_provider";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:35:{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:19:"use_openid_provider";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:11:{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:19:"use_openid_provider";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:6:{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:19:"use_openid_provider";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:3:{s:4:"read";b:1;s:7:"level_0";b:1;s:19:"use_openid_provider";b:1;}}}', 'yes'); +INSERT INTO `wp_options` VALUES (93, 'widget_search', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_options` VALUES (94, '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'); +INSERT INTO `wp_options` VALUES (95, 'widget_recent-comments', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_options` VALUES (96, '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'); +INSERT INTO `wp_options` VALUES (97, 'widget_meta', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_options` VALUES (98, 'sidebars_widgets', 'a:13:{s:19:"wp_inactive_widgets";a:0:{}s:12:"main-sidebar";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:13:"right-sidebar";a:0:{}s:12:"left-sidebar";a:0:{}s:17:"left-sidebar-half";a:0:{}s:18:"right-sidebar-half";a:0:{}s:13:"home-widget-1";a:1:{i:0;s:6:"text-2";}s:13:"home-widget-2";a:1:{i:0;s:6:"text-3";}s:13:"home-widget-3";a:1:{i:0;s:6:"text-5";}s:14:"gallery-widget";a:0:{}s:15:"colophon-widget";a:0:{}s:10:"top-widget";a:0:{}s:13:"array_version";i:3;}', 'yes'); +INSERT INTO `wp_options` VALUES (99, 'cron', 'a:7:{i:1382776594;a:1:{s:14:"cleanup_openid";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}}i:1382779132;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:1382813150;a:1:{s:21:"update_network_counts";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1382822344;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;}}}i:1382823713;a:1:{s:30:"wp_scheduled_auto_draft_delete";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1383378629;a:1:{s:17:"wp_db_backup_cron";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}', 'yes'); +INSERT INTO `wp_options` VALUES (101, '_site_transient_update_core', 'O:8:"stdClass":3:{s:7:"updates";a:1:{i:0;O:8:"stdClass":9:{s:8:"response";s:6:"latest";s:8:"download";s:40:"http://wordpress.org/wordpress-3.6.1.zip";s:6:"locale";s:5:"en_US";s:8:"packages";O:8:"stdClass":4:{s:4:"full";s:40:"http://wordpress.org/wordpress-3.6.1.zip";s:10:"no_content";s:51:"http://wordpress.org/wordpress-3.6.1-no-content.zip";s:11:"new_bundled";s:52:"http://wordpress.org/wordpress-3.6.1-new-bundled.zip";s:7:"partial";b:0;}s:7:"current";s:5:"3.6.1";s:11:"php_version";s:5:"5.2.4";s:13:"mysql_version";s:3:"5.0";s:11:"new_bundled";s:3:"3.6";s:15:"partial_version";s:0:"";}}s:12:"last_checked";i:1381310395;s:15:"version_checked";s:5:"3.6.1";}', 'yes'); +INSERT INTO `wp_options` VALUES (108, '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:21:"http://micropasts.org";s:4:"link";s:97:"http://blogsearch.google.com/blogsearch?scoring=d&partner=wordpress&q=link:http://micropasts.org/";s:3:"url";s:130:"http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://micropasts.org/";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:14:"WordPress Blog";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:20:"Other WordPress News";s:5:"items";i:5;s:12:"show_summary";i:0;s:11:"show_author";i:0;s:9:"show_date";i:0;}}', 'yes'); +INSERT INTO `wp_options` VALUES (110, 'can_compress_scripts', '1', 'yes'); +INSERT INTO `wp_options` VALUES (142, 'category_children', 'a:0:{}', 'yes'); +INSERT INTO `wp_options` VALUES (146, 'theme_mods_twentythirteen', 'a:1:{s:16:"sidebars_widgets";a:2:{s:4:"time";i:1380230788;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (147, 'current_theme', 'Responsive', 'yes'); +INSERT INTO `wp_options` VALUES (148, 'theme_mods_twentytwelve', 'a:2:{i:0;b:0;s:16:"sidebars_widgets";a:2:{s:4:"time";i:1380231021;s:4:"data";a:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;}}}', 'yes'); +INSERT INTO `wp_options` VALUES (149, 'theme_switched', '', 'yes'); +INSERT INTO `wp_options` VALUES (150, 'ftp_credentials', 'a:3:{s:8:"hostname";s:9:"localhost";s:8:"username";s:4:"danp";s:15:"connection_type";s:4:"ftps";}', 'yes'); +INSERT INTO `wp_options` VALUES (152, 'theme_mods_responsive', 'a:7:{i:0;b:0;s:16:"background_color";s:6:"ffffff";s:16:"background_image";s:0:"";s:17:"background_repeat";s:8:"repeat-y";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:12:"header_image";s:13:"remove-header";}', 'yes'); +INSERT INTO `wp_options` VALUES (154, 'recently_activated', 'a:0:{}', 'yes'); +INSERT INTO `wp_options` VALUES (158, '_transient_random_seed', 'c4dcb4d7ae40b162227a3f9e8cccd2be', 'yes'); +INSERT INTO `wp_options` VALUES (166, '_site_transient_timeout_browser_eee05407853c179ad539f7c8cc9aafa9', '1380889388', 'yes'); +INSERT INTO `wp_options` VALUES (167, '_site_transient_browser_eee05407853c179ad539f7c8cc9aafa9', 'a:9:{s:8:"platform";s:7:"Windows";s:4:"name";s:6:"Chrome";s:7:"version";s:12:"29.0.1547.76";s:10:"update_url";s:28:"http://www.google.com/chrome";s:7:"img_src";s:49:"http://s.wordpress.org/images/browsers/chrome.png";s:11:"img_src_ssl";s:48:"https://wordpress.org/images/browsers/chrome.png";s:15:"current_version";s:2:"18";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (196, 'wordpress_api_key', '86bc8c591b6c', 'yes'); +INSERT INTO `wp_options` VALUES (197, 'akismet_discard_month', 'true', 'yes'); +INSERT INTO `wp_options` VALUES (198, 'akismet_show_user_comments_approved', 'true', 'yes'); +INSERT INTO `wp_options` VALUES (199, 'akismet_available_servers', 'a:4:{s:12:"66.135.58.62";b:1;s:12:"192.0.80.244";b:1;s:12:"192.0.80.246";b:1;s:12:"66.135.58.61";b:1;}', 'yes'); +INSERT INTO `wp_options` VALUES (200, 'akismet_connectivity_time', '1382176532', 'yes'); +INSERT INTO `wp_options` VALUES (221, '_site_transient_timeout_browser_2bcde690d4353059148839899bd860e2', '1381144322', 'yes'); +INSERT INTO `wp_options` VALUES (222, '_site_transient_browser_2bcde690d4353059148839899bd860e2', 'a:9:{s:8:"platform";s:9:"Macintosh";s:4:"name";s:6:"Chrome";s:7:"version";s:12:"29.0.1547.65";s:10:"update_url";s:28:"http://www.google.com/chrome";s:7:"img_src";s:49:"http://s.wordpress.org/images/browsers/chrome.png";s:11:"img_src_ssl";s:48:"https://wordpress.org/images/browsers/chrome.png";s:15:"current_version";s:2:"18";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (259, '_site_transient_timeout_browser_9a3916eced3e1324a6a75abd7ead9426', '1381223476', 'yes'); +INSERT INTO `wp_options` VALUES (260, '_site_transient_browser_9a3916eced3e1324a6a75abd7ead9426', 'a:9:{s:8:"platform";s:7:"Windows";s:4:"name";s:6:"Chrome";s:7:"version";s:12:"29.0.1547.76";s:10:"update_url";s:28:"http://www.google.com/chrome";s:7:"img_src";s:49:"http://s.wordpress.org/images/browsers/chrome.png";s:11:"img_src_ssl";s:48:"https://wordpress.org/images/browsers/chrome.png";s:15:"current_version";s:2:"18";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (280, '_site_transient_timeout_browser_94cd9520d77c95ddf7527aa4b52c5a3e', '1381237497', 'yes'); +INSERT INTO `wp_options` VALUES (281, '_site_transient_browser_94cd9520d77c95ddf7527aa4b52c5a3e', 'a:9:{s:8:"platform";s:7:"Windows";s:4:"name";s:7:"Firefox";s:7:"version";s:4:"20.0";s:10:"update_url";s:23:"http://www.firefox.com/";s:7:"img_src";s:50:"http://s.wordpress.org/images/browsers/firefox.png";s:11:"img_src_ssl";s:49:"https://wordpress.org/images/browsers/firefox.png";s:15:"current_version";s:2:"16";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (294, '_site_transient_timeout_browser_f91b15da772067a82eeaee6e4be7a220', '1381241421', 'yes'); +INSERT INTO `wp_options` VALUES (295, '_site_transient_browser_f91b15da772067a82eeaee6e4be7a220', 'a:9:{s:8:"platform";s:7:"Windows";s:4:"name";s:7:"Firefox";s:7:"version";s:5:"4.0.1";s:10:"update_url";s:23:"http://www.firefox.com/";s:7:"img_src";s:50:"http://s.wordpress.org/images/browsers/firefox.png";s:11:"img_src_ssl";s:49:"https://wordpress.org/images/browsers/firefox.png";s:15:"current_version";s:2:"16";s:7:"upgrade";b:1;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (333, 'responsive_theme_options', 'a:33:{s:10:"breadcrumb";i:1;s:10:"cta_button";i:1;s:20:"blog_post_title_text";s:0:"";s:10:"front_page";i:1;s:13:"home_headline";s:10:"Micropasts";s:16:"home_subheadline";N;s:17:"home_content_area";s:257:"A community platform for conducting, designing and funding research into our human past.\r\n\r\n[rotating-posts]";s:7:"cta_url";N;s:8:"cta_text";N;s:16:"featured_content";s:220:"cs1";s:26:"static_page_layout_default";s:15:"full-width-page";s:26:"single_post_layout_default";s:15:"full-width-page";s:31:"blog_posts_index_layout_default";s:20:"content-sidebar-page";s:11:"twitter_uid";s:30:"https://twitter.com/micropasts";s:12:"facebook_uid";s:35:"https://www.facebook.com/Micropasts";s:12:"linkedin_uid";s:0:"";s:11:"youtube_uid";s:0:"";s:11:"stumble_uid";s:0:"";s:7:"rss_uid";s:0:"";s:15:"google_plus_uid";s:0:"";s:13:"instagram_uid";s:0:"";s:13:"pinterest_uid";s:0:"";s:8:"yelp_uid";s:0:"";s:9:"vimeo_uid";s:0:"";s:14:"foursquare_uid";s:0:"";s:6:"submit";s:12:"Save Options";s:21:"responsive_inline_css";s:734:".featured-subtitle {\r\n display: none;\r\n}\r\n\r\n#wrapper > div {\r\nmargin-top: -20px;\r\n}\r\n\r\n#featured {\r\n padding-bottom: 0;\r\n}\r\n\r\nh2.posts_title {\r\n display: none;\r\n}\r\n\r\n.rp_post_title\r\n{\r\n font-size: 0.5em; \r\n text-align: center;\r\n}\r\n\r\n.rp_post_time_author\r\n{\r\n font-family: Arial, Helvetica, Sans-Serif;\r\n color: #777;\r\n text-align: center\r\n}\r\n\r\n.rp_post_content\r\n{\r\n height: 75px;\r\n overflow: hidden;\r\n padding-bottom: 0;\r\n}\r\n\r\n#featured .rp_post_content p\r\n{\r\n color: #777;\r\n font-size:90%;\r\n line-height: 1.25;\r\n}\r\n\r\n.rp_post p. rp_post_metadata\r\n{\r\n display: none;\r\n}\r\n\r\n#rp_nav a\r\n{\r\n display: none;\r\n}\r\n\r\n#rp_nav #rp_nav_arrows\r\n{\r\n display: none;\r\n}";s:25:"responsive_inline_js_head";s:0:"";s:27:"responsive_inline_js_footer";s:0:"";s:24:"google_site_verification";s:0:"";s:22:"bing_site_verification";s:0:"";s:23:"yahoo_site_verification";s:0:"";s:23:"site_statistics_tracker";s:0:"";}', 'yes'); +INSERT INTO `wp_options` VALUES (384, '_site_transient_timeout_browser_9e2a443938b6caf710dfe13f60c3c107', '1381316224', 'yes'); +INSERT INTO `wp_options` VALUES (385, '_site_transient_browser_9e2a443938b6caf710dfe13f60c3c107', 'a:9:{s:8:"platform";s:9:"Macintosh";s:4:"name";s:6:"Chrome";s:7:"version";s:12:"30.0.1599.66";s:10:"update_url";s:28:"http://www.google.com/chrome";s:7:"img_src";s:49:"http://s.wordpress.org/images/browsers/chrome.png";s:11:"img_src_ssl";s:48:"https://wordpress.org/images/browsers/chrome.png";s:15:"current_version";s:2:"18";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (395, 'ga_version', '6.4.5', 'yes'); +INSERT INTO `wp_options` VALUES (402, 'key_ga_show_ad', '1', 'yes'); +INSERT INTO `wp_options` VALUES (415, 'ga_status', 'enabled', 'yes'); +INSERT INTO `wp_options` VALUES (416, 'ga_uid', 'UA-298202-17', 'yes'); +INSERT INTO `wp_options` VALUES (417, 'ga_admin_status', 'enabled', 'yes'); +INSERT INTO `wp_options` VALUES (418, 'ga_admin_disable', 'remove', 'yes'); +INSERT INTO `wp_options` VALUES (419, 'ga_admin_role', 'a:1:{i:0;s:13:"administrator";}', 'yes'); +INSERT INTO `wp_options` VALUES (420, 'ga_dashboard_role', 'a:1:{i:0;s:13:"administrator";}', 'yes'); +INSERT INTO `wp_options` VALUES (421, 'ga_adsense', '', 'yes'); +INSERT INTO `wp_options` VALUES (422, 'ga_extra', '', 'yes'); +INSERT INTO `wp_options` VALUES (423, 'ga_extra_after', '', 'yes'); +INSERT INTO `wp_options` VALUES (424, 'ga_event', 'enabled', 'yes'); +INSERT INTO `wp_options` VALUES (425, 'ga_outbound', 'enabled', 'yes'); +INSERT INTO `wp_options` VALUES (426, 'ga_outbound_prefix', 'outgoing', 'yes'); +INSERT INTO `wp_options` VALUES (427, 'ga_downloads', '', 'yes'); +INSERT INTO `wp_options` VALUES (428, 'ga_downloads_prefix', 'download', 'yes'); +INSERT INTO `wp_options` VALUES (429, 'ga_widgets', 'enabled', 'yes'); +INSERT INTO `wp_options` VALUES (430, 'ga_annon', '0', 'yes'); +INSERT INTO `wp_options` VALUES (431, 'ga_defaults', 'no', 'yes'); +INSERT INTO `wp_options` VALUES (432, 'ga_google_token', '', 'yes'); +INSERT INTO `wp_options` VALUES (433, 'ga_enable_remarketing', '0', 'yes'); +INSERT INTO `wp_options` VALUES (434, 'key_ga_track_login', '0', 'yes'); +INSERT INTO `wp_options` VALUES (518, '_site_transient_update_themes', 'O:8:"stdClass":3:{s:12:"last_checked";i:1381343847;s:7:"checked";a:5:{s:6:"adamos";s:3:"1.1";s:15:"catch-evolution";s:5:"1.0.2";s:10:"responsive";s:7:"1.9.3.7";s:14:"twentythirteen";s:3:"1.0";s:12:"twentytwelve";s:3:"1.2";}s:8:"response";a:1:{s:10:"responsive";a:3:{s:11:"new_version";s:7:"1.9.3.8";s:3:"url";s:38:"http://wordpress.org/themes/responsive";s:7:"package";s:59:"http://wordpress.org/themes/download/responsive.1.9.3.8.zip";}}}', 'yes'); +INSERT INTO `wp_options` VALUES (525, 'theme_mods_catch-evolution', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1380809881;s:4:"data";a:9:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:35:"catchevolution_header_right_sidebar";a:0:{}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";a:0:{}s:9:"sidebar-4";a:0:{}s:18:"orphaned_widgets_1";a:1:{i:0;s:6:"text-2";}s:18:"orphaned_widgets_2";a:1:{i:0;s:6:"text-3";}s:18:"orphaned_widgets_3";a:1:{i:0;s:6:"text-5";}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (562, '_site_transient_timeout_wporg_theme_feature_list', '1380887191', 'yes'); +INSERT INTO `wp_options` VALUES (563, '_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:19:{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:15:"flexible-header";i:10;s:20:"front-page-post-form";i:11;s:19:"full-width-template";i:12;s:12:"microformats";i:13;s:12:"post-formats";i:14;s:20:"rtl-language-support";i:15;s:11:"sticky-post";i:16;s:13:"theme-options";i:17;s:17:"threaded-comments";i:18;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'); +INSERT INTO `wp_options` VALUES (648, '_site_transient_timeout_browser_bb1188c24caf0735ac8baf653734af25', '1381913816', 'yes'); +INSERT INTO `wp_options` VALUES (649, '_site_transient_browser_bb1188c24caf0735ac8baf653734af25', 'a:9:{s:8:"platform";s:7:"Windows";s:4:"name";s:7:"Firefox";s:7:"version";s:4:"24.0";s:10:"update_url";s:23:"http://www.firefox.com/";s:7:"img_src";s:50:"http://s.wordpress.org/images/browsers/firefox.png";s:11:"img_src_ssl";s:49:"https://wordpress.org/images/browsers/firefox.png";s:15:"current_version";s:2:"16";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (679, '_site_transient_timeout_browser_2289b0b9326f5b5f49a495c89ef18c6a', '1381948605', 'yes'); +INSERT INTO `wp_options` VALUES (680, '_site_transient_browser_2289b0b9326f5b5f49a495c89ef18c6a', 'a:9:{s:8:"platform";s:9:"Macintosh";s:4:"name";s:6:"Chrome";s:7:"version";s:12:"29.0.1547.76";s:10:"update_url";s:28:"http://www.google.com/chrome";s:7:"img_src";s:49:"http://s.wordpress.org/images/browsers/chrome.png";s:11:"img_src_ssl";s:48:"https://wordpress.org/images/browsers/chrome.png";s:15:"current_version";s:2:"18";s:7:"upgrade";b:0;s:8:"insecure";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (681, '_site_transient_timeout_poptags_40cd750bba9870f18aada2478b24840a', '1381354611', 'yes'); +INSERT INTO `wp_options` VALUES (682, '_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:"3898";}s:4:"post";a:3:{s:4:"name";s:4:"Post";s:4:"slug";s:4:"post";s:5:"count";s:4:"2456";}s:6:"plugin";a:3:{s:4:"name";s:6:"plugin";s:4:"slug";s:6:"plugin";s:5:"count";s:4:"2344";}s:5:"admin";a:3:{s:4:"name";s:5:"admin";s:4:"slug";s:5:"admin";s:5:"count";s:4:"1930";}s:5:"posts";a:3:{s:4:"name";s:5:"posts";s:4:"slug";s:5:"posts";s:5:"count";s:4:"1856";}s:7:"sidebar";a:3:{s:4:"name";s:7:"sidebar";s:4:"slug";s:7:"sidebar";s:5:"count";s:4:"1583";}s:7:"twitter";a:3:{s:4:"name";s:7:"twitter";s:4:"slug";s:7:"twitter";s:5:"count";s:4:"1329";}s:6:"google";a:3:{s:4:"name";s:6:"google";s:4:"slug";s:6:"google";s:5:"count";s:4:"1325";}s:8:"comments";a:3:{s:4:"name";s:8:"comments";s:4:"slug";s:8:"comments";s:5:"count";s:4:"1310";}s:6:"images";a:3:{s:4:"name";s:6:"images";s:4:"slug";s:6:"images";s:5:"count";s:4:"1260";}s:4:"page";a:3:{s:4:"name";s:4:"page";s:4:"slug";s:4:"page";s:5:"count";s:4:"1225";}s:5:"image";a:3:{s:4:"name";s:5:"image";s:4:"slug";s:5:"image";s:5:"count";s:4:"1121";}s:9:"shortcode";a:3:{s:4:"name";s:9:"shortcode";s:4:"slug";s:9:"shortcode";s:5:"count";s:4:"1000";}s:8:"facebook";a:3:{s:4:"name";s:8:"Facebook";s:4:"slug";s:8:"facebook";s:5:"count";s:3:"982";}s:5:"links";a:3:{s:4:"name";s:5:"links";s:4:"slug";s:5:"links";s:5:"count";s:3:"974";}s:3:"seo";a:3:{s:4:"name";s:3:"seo";s:4:"slug";s:3:"seo";s:5:"count";s:3:"950";}s:9:"wordpress";a:3:{s:4:"name";s:9:"wordpress";s:4:"slug";s:9:"wordpress";s:5:"count";s:3:"844";}s:7:"gallery";a:3:{s:4:"name";s:7:"gallery";s:4:"slug";s:7:"gallery";s:5:"count";s:3:"821";}s:6:"social";a:3:{s:4:"name";s:6:"social";s:4:"slug";s:6:"social";s:5:"count";s:3:"780";}s:3:"rss";a:3:{s:4:"name";s:3:"rss";s:4:"slug";s:3:"rss";s:5:"count";s:3:"722";}s:7:"widgets";a:3:{s:4:"name";s:7:"widgets";s:4:"slug";s:7:"widgets";s:5:"count";s:3:"686";}s:6:"jquery";a:3:{s:4:"name";s:6:"jquery";s:4:"slug";s:6:"jquery";s:5:"count";s:3:"681";}s:5:"pages";a:3:{s:4:"name";s:5:"pages";s:4:"slug";s:5:"pages";s:5:"count";s:3:"678";}s:5:"email";a:3:{s:4:"name";s:5:"email";s:4:"slug";s:5:"email";s:5:"count";s:3:"623";}s:4:"ajax";a:3:{s:4:"name";s:4:"AJAX";s:4:"slug";s:4:"ajax";s:5:"count";s:3:"615";}s:5:"media";a:3:{s:4:"name";s:5:"media";s:4:"slug";s:5:"media";s:5:"count";s:3:"595";}s:10:"javascript";a:3:{s:4:"name";s:10:"javascript";s:4:"slug";s:10:"javascript";s:5:"count";s:3:"572";}s:5:"video";a:3:{s:4:"name";s:5:"video";s:4:"slug";s:5:"video";s:5:"count";s:3:"570";}s:10:"buddypress";a:3:{s:4:"name";s:10:"buddypress";s:4:"slug";s:10:"buddypress";s:5:"count";s:3:"541";}s:4:"feed";a:3:{s:4:"name";s:4:"feed";s:4:"slug";s:4:"feed";s:5:"count";s:3:"539";}s:7:"content";a:3:{s:4:"name";s:7:"content";s:4:"slug";s:7:"content";s:5:"count";s:3:"530";}s:5:"photo";a:3:{s:4:"name";s:5:"photo";s:4:"slug";s:5:"photo";s:5:"count";s:3:"522";}s:4:"link";a:3:{s:4:"name";s:4:"link";s:4:"slug";s:4:"link";s:5:"count";s:3:"506";}s:6:"photos";a:3:{s:4:"name";s:6:"photos";s:4:"slug";s:6:"photos";s:5:"count";s:3:"505";}s:5:"login";a:3:{s:4:"name";s:5:"login";s:4:"slug";s:5:"login";s:5:"count";s:3:"471";}s:4:"spam";a:3:{s:4:"name";s:4:"spam";s:4:"slug";s:4:"spam";s:5:"count";s:3:"458";}s:5:"stats";a:3:{s:4:"name";s:5:"stats";s:4:"slug";s:5:"stats";s:5:"count";s:3:"453";}s:8:"category";a:3:{s:4:"name";s:8:"category";s:4:"slug";s:8:"category";s:5:"count";s:3:"452";}s:7:"youtube";a:3:{s:4:"name";s:7:"youtube";s:4:"slug";s:7:"youtube";s:5:"count";s:3:"436";}s:7:"comment";a:3:{s:4:"name";s:7:"comment";s:4:"slug";s:7:"comment";s:5:"count";s:3:"432";}}', 'yes'); +INSERT INTO `wp_options` VALUES (683, '_site_transient_timeout_theme_roots', '1381345646', 'yes'); +INSERT INTO `wp_options` VALUES (684, '_site_transient_theme_roots', 'a:5:{s:6:"adamos";s:7:"/themes";s:15:"catch-evolution";s:7:"/themes";s:10:"responsive";s:7:"/themes";s:14:"twentythirteen";s:7:"/themes";s:12:"twentytwelve";s:7:"/themes";}', 'yes'); +INSERT INTO `wp_options` VALUES (685, '_site_transient_update_plugins', 'O:8:"stdClass":3:{s:12:"last_checked";i:1381344131;s:7:"checked";a:5:{s:19:"akismet/akismet.php";s:5:"2.5.9";s:43:"google-analyticator/google-analyticator.php";s:5:"6.4.5";s:9:"hello.php";s:3:"1.6";s:41:"responsive-add-ons/responsive-add-ons.php";s:5:"1.0.3";s:46:"wordpress-mu-domain-mapping/domain_mapping.php";s:7:"0.5.4.3";}s:8:"response";a:0:{}}', 'yes'); +INSERT INTO `wp_options` VALUES (688, 'openid_associations', 'a:2:{s:92:"http-localhost-aHR0cDovL2xvY2FsaG9zdC98bm9ybWFs-e0hNQUMtU0hBMX17NTI2NTQzNGV9eys2SWt6UT09fQ==";s:141:"assoc_type:HMAC-SHA1\nhandle:{HMAC-SHA1}{5265434e}{+6IkzQ==}\nissued:1382368078\nlifetime:1209600\nsecret:Ox+99Liy1VfHDhyCt+nWphtGv6A=\nversion:2\n";s:125:"http-micropasts.org-aHR0cDovL21pY3JvcGFzdHMub3JnL2luZGV4LnBocC9vcGVuaWQvc2VydmVy-e0hNQUMtU0hBMX17NTI2NTQzNGV9eys2SWt6UT09fQ==";s:141:"assoc_type:HMAC-SHA1\nhandle:{HMAC-SHA1}{5265434e}{+6IkzQ==}\nissued:1382368082\nlifetime:1209600\nsecret:Ox+99Liy1VfHDhyCt+nWphtGv6A=\nversion:2\n";}', 'no'); +INSERT INTO `wp_options` VALUES (689, 'openid_nonces', 'a:0:{}', 'no'); +INSERT INTO `wp_options` VALUES (690, 'openid_enable_commentform', '1', 'yes'); +INSERT INTO `wp_options` VALUES (691, 'openid_plugin_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (692, 'openid_plugin_revision', '519', 'yes'); +INSERT INTO `wp_options` VALUES (693, 'openid_db_revision', '24426', 'yes'); +INSERT INTO `wp_options` VALUES (694, 'openid_enable_approval', '', 'yes'); +INSERT INTO `wp_options` VALUES (695, 'openid_xrds_returnto', '1', 'yes'); +INSERT INTO `wp_options` VALUES (696, 'openid_comment_displayname_length', '12', 'yes'); +INSERT INTO `wp_options` VALUES (699, 'openid_blog_owner', '', 'yes'); +INSERT INTO `wp_options` VALUES (702, 'oa_social_login_activation_message', '1', 'yes'); +INSERT INTO `wp_options` VALUES (731, 'LoginRadius_settings', 'a:22:{s:21:"LoginRadius_loginform";s:1:"1";s:19:"LoginRadius_regform";s:1:"1";s:27:"LoginRadius_regformPosition";s:5:"embed";s:25:"LoginRadius_commentEnable";s:1:"1";s:24:"LoginRadius_sharingTheme";s:10:"horizontal";s:24:"LoginRadius_counterTheme";s:10:"horizontal";s:23:"LoginRadius_shareEnable";s:1:"1";s:22:"horizontal_shareEnable";s:1:"1";s:19:"horizontal_shareTop";s:1:"1";s:22:"horizontal_shareBottom";s:1:"1";s:20:"horizontal_sharehome";s:1:"1";s:20:"horizontal_sharepost";s:1:"1";s:20:"horizontal_sharepage";s:1:"1";s:20:"vertical_shareEnable";s:1:"1";s:21:"verticalSharing_theme";s:16:"counter_vertical";s:18:"vertical_sharehome";s:1:"1";s:18:"vertical_sharepost";s:1:"1";s:18:"vertical_sharepage";s:1:"1";s:14:"sharing_offset";s:3:"200";s:22:"LoginRadius_noProvider";s:1:"0";s:32:"LoginRadius_enableUserActivation";s:1:"1";s:29:"LoginRadius_defaultUserStatus";s:1:"1";}', 'yes'); +INSERT INTO `wp_options` VALUES (732, 'loginradius_version', '4.0', 'yes'); +INSERT INTO `wp_options` VALUES (733, 'wsl_database_migration_version', '4', 'yes'); +INSERT INTO `wp_options` VALUES (734, 'wsl_components_core_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (735, 'wsl_components_networks_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (736, 'wsl_components_login-widget_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (737, 'wsl_components_bouncer_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (738, 'wsl_components_diagnostics_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (739, 'wsl_settings_welcome_panel_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (740, 'wsl_settings_redirect_url', 'http://micropasts.org', 'yes'); +INSERT INTO `wp_options` VALUES (741, 'wsl_settings_connect_with_label', 'Connect with:', 'yes'); +INSERT INTO `wp_options` VALUES (742, 'wsl_settings_use_popup', '2', 'yes'); +INSERT INTO `wp_options` VALUES (743, 'wsl_settings_widget_display', '1', 'yes'); +INSERT INTO `wp_options` VALUES (744, 'wsl_settings_authentication_widget_css', '#wp-social-login-connect-with {font-weight: bold;}\n#wp-social-login-connect-options {padding:10px;}\n#wp-social-login-connect-options a {text-decoration: none;}\n#wp-social-login-connect-options img {border:0 none;}\n.wsl_connect_with_provider {}', 'yes'); +INSERT INTO `wp_options` VALUES (745, 'wsl_settings_bouncer_registration_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (746, 'wsl_settings_bouncer_authentication_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (747, 'wsl_settings_bouncer_linking_accounts_enabled', '2', 'yes'); +INSERT INTO `wp_options` VALUES (748, 'wsl_settings_bouncer_profile_completion_require_email', '2', 'yes'); +INSERT INTO `wp_options` VALUES (749, 'wsl_settings_bouncer_profile_completion_change_email', '2', 'yes'); +INSERT INTO `wp_options` VALUES (750, 'wsl_settings_bouncer_profile_completion_change_username', '2', 'yes'); +INSERT INTO `wp_options` VALUES (751, 'wsl_settings_bouncer_profile_completion_text_notice', 'Almost there, we just need to check a couple of things', 'yes'); +INSERT INTO `wp_options` VALUES (752, 'wsl_settings_bouncer_profile_completion_text_submit_button', 'Continue', 'yes'); +INSERT INTO `wp_options` VALUES (753, 'wsl_settings_bouncer_profile_completion_text_email', 'E-mail', 'yes'); +INSERT INTO `wp_options` VALUES (754, 'wsl_settings_bouncer_profile_completion_text_username', 'Username', 'yes'); +INSERT INTO `wp_options` VALUES (755, 'wsl_settings_bouncer_profile_completion_text_email_invalid', 'E-mail is not valid!', 'yes'); +INSERT INTO `wp_options` VALUES (756, 'wsl_settings_bouncer_profile_completion_text_username_invalid', 'Username is not valid!', 'yes'); +INSERT INTO `wp_options` VALUES (757, 'wsl_settings_bouncer_profile_completion_text_email_exists', 'That E-mail is already registered!', 'yes'); +INSERT INTO `wp_options` VALUES (758, 'wsl_settings_bouncer_profile_completion_text_username_exists', 'That Username is already registered!', 'yes'); +INSERT INTO `wp_options` VALUES (759, 'wsl_settings_bouncer_profile_completion_text_connected_with', 'You are now connected via', 'yes'); +INSERT INTO `wp_options` VALUES (760, 'wsl_settings_bouncer_new_users_moderation_level', '1', 'yes'); +INSERT INTO `wp_options` VALUES (761, 'wsl_settings_bouncer_new_users_membership_default_role', 'default', 'yes'); +INSERT INTO `wp_options` VALUES (762, 'wsl_settings_bouncer_new_users_restrict_domain_enabled', '2', 'yes'); +INSERT INTO `wp_options` VALUES (763, 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce', 'Bouncer says no.', 'yes'); +INSERT INTO `wp_options` VALUES (764, 'wsl_settings_bouncer_new_users_restrict_email_enabled', '2', 'yes'); +INSERT INTO `wp_options` VALUES (765, 'wsl_settings_bouncer_new_users_restrict_email_text_bounce', 'Bouncer say he refuses.', 'yes'); +INSERT INTO `wp_options` VALUES (766, 'wsl_settings_bouncer_new_users_restrict_profile_enabled', '2', 'yes'); +INSERT INTO `wp_options` VALUES (767, 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce', 'Bouncer say only Mundo can go where he pleases!', 'yes'); +INSERT INTO `wp_options` VALUES (768, 'wsl_settings_contacts_import_facebook', '2', 'yes'); +INSERT INTO `wp_options` VALUES (769, 'wsl_settings_contacts_import_google', '2', 'yes'); +INSERT INTO `wp_options` VALUES (770, 'wsl_settings_contacts_import_twitter', '2', 'yes'); +INSERT INTO `wp_options` VALUES (771, 'wsl_settings_contacts_import_live', '2', 'yes'); +INSERT INTO `wp_options` VALUES (772, 'wsl_settings_contacts_import_linkedin', '2', 'yes'); +INSERT INTO `wp_options` VALUES (773, 'wsl_settings_Facebook_enabled', '0', 'yes'); +INSERT INTO `wp_options` VALUES (774, 'wsl_settings_Google_enabled', '1', 'yes'); +INSERT INTO `wp_options` VALUES (775, 'wsl_settings_Twitter_enabled', '0', 'yes'); +INSERT INTO `wp_options` VALUES (776, 'wsl_settings_Facebook_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (777, 'wsl_settings_Facebook_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (778, 'wsl_settings_Google_app_id', '158626934723.apps.googleusercontent.com', 'yes'); +INSERT INTO `wp_options` VALUES (779, 'wsl_settings_Google_app_secret', 'xZAzymXqRTJoSuSamru3VTc0', 'yes'); +INSERT INTO `wp_options` VALUES (780, 'wsl_settings_Twitter_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (781, 'wsl_settings_Twitter_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (782, 'wsl_settings_Live_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (783, 'wsl_settings_Live_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (784, 'wsl_settings_Live_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (785, 'wsl_settings_Yahoo_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (786, 'wsl_settings_MySpace_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (787, 'wsl_settings_MySpace_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (788, 'wsl_settings_MySpace_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (789, 'wsl_settings_Foursquare_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (790, 'wsl_settings_Foursquare_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (791, 'wsl_settings_Foursquare_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (792, 'wsl_settings_LinkedIn_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (793, 'wsl_settings_LinkedIn_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (794, 'wsl_settings_LinkedIn_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (795, 'wsl_settings_AOL_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (796, 'wsl_settings_Vkontakte_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (797, 'wsl_settings_Vkontakte_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (798, 'wsl_settings_Vkontakte_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (799, 'wsl_settings_LastFM_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (800, 'wsl_settings_LastFM_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (801, 'wsl_settings_LastFM_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (802, 'wsl_settings_Instagram_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (803, 'wsl_settings_Instagram_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (804, 'wsl_settings_Instagram_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (805, 'wsl_settings_Identica_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (806, 'wsl_settings_Identica_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (807, 'wsl_settings_Identica_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (808, 'wsl_settings_Tumblr_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (809, 'wsl_settings_Tumblr_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (810, 'wsl_settings_Tumblr_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (811, 'wsl_settings_Goodreads_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (812, 'wsl_settings_Goodreads_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (813, 'wsl_settings_Goodreads_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (814, 'wsl_settings_Stackoverflow_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (815, 'wsl_settings_GitHub_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (816, 'wsl_settings_GitHub_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (817, 'wsl_settings_GitHub_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (818, 'wsl_settings_500px_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (819, 'wsl_settings_500px_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (820, 'wsl_settings_500px_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (821, 'wsl_settings_Skyrock_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (822, 'wsl_settings_Skyrock_app_key', '', 'yes'); +INSERT INTO `wp_options` VALUES (823, 'wsl_settings_Skyrock_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (824, 'wsl_settings_Mixi_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (825, 'wsl_settings_Steam_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (826, 'wsl_settings_TwitchTV_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (827, 'wsl_settings_TwitchTV_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (828, 'wsl_settings_TwitchTV_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (829, 'wsl_settings_Mailru_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (830, 'wsl_settings_Mailru_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (831, 'wsl_settings_Mailru_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (832, 'wsl_settings_Yandex_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (833, 'wsl_settings_Yandex_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (834, 'wsl_settings_Yandex_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (835, 'wsl_settings_Odnoklassniki_enabled', '', 'yes'); +INSERT INTO `wp_options` VALUES (836, 'wsl_settings_Odnoklassniki_app_id', '', 'yes'); +INSERT INTO `wp_options` VALUES (837, 'wsl_settings_Odnoklassniki_app_secret', '', 'yes'); +INSERT INTO `wp_options` VALUES (1089, 'widget_tag_cloud', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_options` VALUES (1125, 'wp_awld_js_i_accept', 'yes', 'yes'); +INSERT INTO `wp_options` VALUES (1126, 'wp_awld_js_scope', 'post', 'yes'); +INSERT INTO `wp_options` VALUES (1127, 'wp_awld_js_widget_implement', 'none', 'yes'); +INSERT INTO `wp_options` VALUES (1128, 'wp_awld_js_button', 'yes', 'yes'); +INSERT INTO `wp_options` VALUES (1129, 'wp_awld_js_quicktags', 'no', 'yes'); +INSERT INTO `wp_options` VALUES (1130, 'wp_awld_js_db_version', '0.1.3', 'yes'); +INSERT INTO `wp_options` VALUES (1141, '_transient_timeout_catchevolution_favicon', '1382180497', 'no'); +INSERT INTO `wp_options` VALUES (1142, '_transient_catchevolution_favicon', '', 'no'); +INSERT INTO `wp_options` VALUES (1143, '_transient_timeout_catchevolution_site_verification', '1382180497', 'no'); +INSERT INTO `wp_options` VALUES (1144, '_transient_catchevolution_site_verification', '', 'no'); +INSERT INTO `wp_options` VALUES (1145, '_transient_timeout_catchevolution_web_clip', '1382180497', 'no'); +INSERT INTO `wp_options` VALUES (1146, '_transient_catchevolution_web_clip', '', 'no'); +INSERT INTO `wp_options` VALUES (1147, '_transient_timeout_catchevolution_default_sliders', '1382179431', 'no'); +INSERT INTO `wp_options` VALUES (1148, '_transient_catchevolution_default_sliders', '\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
', 'no'); +INSERT INTO `wp_options` VALUES (1149, '_transient_timeout_catchevolution_footer_content', '1382179431', 'no'); +INSERT INTO `wp_options` VALUES (1150, '_transient_catchevolution_footer_content', '
Powered by: [wp-link] | Theme: [theme-link]
', 'no'); +INSERT INTO `wp_options` VALUES (1151, '_transient_timeout_catchevolution_footercode', '1382180497', 'no'); +INSERT INTO `wp_options` VALUES (1152, '_transient_catchevolution_footercode', '', 'no'); +INSERT INTO `wp_options` VALUES (1153, 'suffusion_options', 'a:796:{s:16:"suf_color_scheme";s:18:"light-theme-gray-1";s:11:"suf_iconset";s:9:"iconset-0";s:24:"suf_little_icons_enabled";s:49:"author,date,category,tags,permalink,comments,edit";s:22:"suf_navt_skin_def_cust";s:5:"theme";s:25:"suf_navt_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:32:"suf_navt_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:30:"suf_navt_skin_settings_bg_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:22:"suf_navt_skin_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:29:"suf_navt_skin_settings_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:27:"suf_navt_skin_settings_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:28:"suf_navt_skin_settings_hover";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_navt_skin_settings_hover_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:33:"suf_navt_skin_settings_hover_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:30:"suf_navt_skin_settings_visited";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:37:"suf_navt_skin_settings_visited_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:35:"suf_navt_skin_settings_visited_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:25:"suf_navt_skin_settings_hl";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:32:"suf_navt_skin_settings_hl_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:30:"suf_navt_skin_settings_hl_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:24:"suf_header_style_setting";s:5:"theme";s:21:"suf_header_image_type";s:5:"image";s:27:"suf_header_background_image";s:0:"";s:28:"suf_header_background_repeat";s:6:"repeat";s:30:"suf_header_background_position";s:8:"top left";s:32:"suf_header_background_rot_folder";s:0:"";s:25:"suf_header_gradient_style";s:8:"top-down";s:31:"suf_header_gradient_start_color";s:6:"FFFFFF";s:29:"suf_header_gradient_end_color";s:6:"000000";s:24:"suf_header_fg_image_type";s:4:"text";s:19:"suf_header_fg_image";s:0:"";s:20:"suf_blog_title_color";s:7:"#000000";s:20:"suf_blog_title_style";s:4:"none";s:26:"suf_blog_title_hover_color";s:7:"#528f6c";s:26:"suf_blog_title_hover_style";s:4:"none";s:26:"suf_blog_description_color";s:7:"#000000";s:18:"suf_wrapper_margin";s:2:"20";s:17:"suf_header_height";s:2:"55";s:21:"suf_nav_skin_def_cust";s:5:"theme";s:24:"suf_nav_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:31:"suf_nav_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#ffffff;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:29:"suf_nav_skin_settings_bg_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:21:"suf_nav_skin_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:28:"suf_nav_skin_settings_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:26:"suf_nav_skin_settings_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:27:"suf_nav_skin_settings_hover";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:34:"suf_nav_skin_settings_hover_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:32:"suf_nav_skin_settings_hover_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:29:"suf_nav_skin_settings_visited";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:36:"suf_nav_skin_settings_visited_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:34:"suf_nav_skin_settings_visited_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:24:"suf_nav_skin_settings_hl";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:31:"suf_nav_skin_settings_hl_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:29:"suf_nav_skin_settings_hl_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:22:"suf_body_style_setting";s:5:"theme";s:25:"suf_body_background_color";s:7:"#444444";s:25:"suf_body_background_image";s:0:"";s:26:"suf_body_background_repeat";s:6:"repeat";s:30:"suf_body_background_attachment";s:6:"scroll";s:28:"suf_body_background_position";s:8:"top left";s:29:"suf_wrapper_settings_def_cust";s:5:"theme";s:23:"suf_wrapper_bg_settings";s:96:"color=#EDF3E6;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:16:"suf_show_shadows";s:4:"hide";s:29:"suf_post_bg_settings_def_cust";s:5:"theme";s:20:"suf_post_bg_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:17:"suf_date_box_show";s:11:"hide-search";s:30:"suf_date_box_settings_def_cust";s:5:"theme";s:21:"suf_date_box_settings";s:101:"color=#FFFFFF;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=transparent;";s:18:"suf_date_box_mfont";s:140:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=50;font-size-type=%;";s:18:"suf_date_box_dfont";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=100;font-size-type=%;";s:18:"suf_date_box_yfont";s:140:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=50;font-size-type=%;";s:26:"suf_emphasis_customization";s:5:"theme";s:23:"suf_download_font_color";s:7:"#000000";s:29:"suf_download_background_color";s:7:"#bbe7f9";s:25:"suf_download_border_color";s:7:"#0000ff";s:27:"suf_announcement_font_color";s:7:"#000000";s:33:"suf_announcement_background_color";s:7:"#b8f9d5";s:29:"suf_announcement_border_color";s:7:"#088c43";s:19:"suf_note_font_color";s:7:"#000000";s:25:"suf_note_background_color";s:7:"#f9f6a7";s:21:"suf_note_border_color";s:7:"#e7d605";s:22:"suf_warning_font_color";s:7:"#000000";s:28:"suf_warning_background_color";s:7:"#ffdbea";s:24:"suf_warning_border_color";s:7:"#ff0000";s:16:"suf_favicon_path";s:0:"";s:17:"suf_navt_contents";s:4:"hide";s:18:"suf_navt_bar_style";s:5:"align";s:15:"suf_navt_dd_pos";s:4:"left";s:18:"suf_navt_item_type";s:3:"tab";s:14:"suf_navt_delay";s:3:"500";s:15:"suf_navt_effect";s:4:"fade";s:18:"suf_navt_show_home";s:4:"none";s:18:"suf_navt_home_text";s:4:"Home";s:21:"suf_navt_entity_order";s:22:"pages,categories,links";s:23:"suf_navt_text_transform";s:10:"capitalize";s:20:"suf_navt_pages_style";s:9:"rolled-up";s:23:"suf_navt_page_tab_title";s:5:"Pages";s:22:"suf_navt_page_tab_link";s:0:"";s:22:"suf_navt_pages_all_sel";s:11:"exclude-all";s:14:"suf_navt_pages";s:0:"";s:18:"suf_navt_cat_style";s:9:"rolled-up";s:22:"suf_navt_cat_tab_title";s:10:"Categories";s:21:"suf_navt_cat_tab_link";s:0:"";s:21:"suf_navt_cats_all_sel";s:11:"exclude-all";s:13:"suf_navt_cats";s:0:"";s:20:"suf_navt_links_style";s:9:"rolled-up";s:24:"suf_navt_links_tab_title";s:5:"Links";s:23:"suf_navt_links_tab_link";s:0:"";s:22:"suf_navt_links_all_sel";s:8:"selected";s:14:"suf_navt_links";s:0:"";s:22:"suf_navt_menus_all_sel";s:8:"selected";s:14:"suf_navt_menus";s:0:"";s:23:"suf_header_layout_style";s:8:"in-align";s:20:"suf_header_alignment";s:4:"left";s:24:"suf_sub_header_alignment";s:5:"right";s:33:"suf_sub_header_vertical_alignment";s:9:"same-line";s:16:"suf_nav_contents";s:5:"pages";s:17:"suf_nav_bar_style";s:5:"align";s:14:"suf_nav_dd_pos";s:4:"left";s:17:"suf_nav_item_type";s:3:"tab";s:13:"suf_nav_delay";s:3:"500";s:14:"suf_nav_effect";s:4:"fade";s:13:"suf_show_home";s:4:"none";s:13:"suf_home_text";s:4:"Home";s:20:"suf_nav_entity_order";s:22:"pages,categories,links";s:22:"suf_nav_text_transform";s:10:"capitalize";s:19:"suf_nav_pages_style";s:9:"rolled-up";s:22:"suf_nav_page_tab_title";s:5:"Pages";s:21:"suf_nav_page_tab_link";s:0:"";s:21:"suf_nav_pages_all_sel";s:11:"exclude-all";s:13:"suf_nav_pages";s:0:"";s:17:"suf_nav_cat_style";s:9:"rolled-up";s:21:"suf_nav_cat_tab_title";s:10:"Categories";s:20:"suf_nav_cat_tab_link";s:0:"";s:20:"suf_nav_cats_all_sel";s:11:"exclude-all";s:12:"suf_nav_cats";s:0:"";s:19:"suf_nav_links_style";s:9:"rolled-up";s:23:"suf_nav_links_tab_title";s:5:"Links";s:22:"suf_nav_links_tab_link";s:0:"";s:21:"suf_nav_links_all_sel";s:8:"selected";s:13:"suf_nav_links";s:0:"";s:21:"suf_nav_menus_all_sel";s:8:"selected";s:13:"suf_nav_menus";s:0:"";s:21:"suf_nav_strip_a_title";s:4:"hide";s:23:"suf_footer_layout_style";s:8:"in-align";s:15:"suf_footer_left";s:58:"© 2013 Micropasts";s:17:"suf_footer_center";s:0:"";s:22:"suf_post_meta_position";s:7:"corners";s:18:"suf_post_show_perm";s:10:"show-tleft";s:29:"suf_post_with_title_show_perm";s:4:"hide";s:18:"suf_post_show_cats";s:4:"show";s:21:"suf_post_show_comment";s:4:"show";s:23:"suf_post_show_posted_by";s:4:"show";s:25:"suf_post_posted_by_format";s:5:"by-at";s:18:"suf_post_show_tags";s:4:"show";s:22:"suf_page_meta_position";s:7:"corners";s:21:"suf_page_show_comment";s:4:"show";s:23:"suf_page_show_posted_by";s:4:"show";s:25:"suf_page_posted_by_format";s:5:"by-at";s:25:"suf_post_aside_show_title";s:4:"hide";s:28:"suf_post_aside_meta_position";s:7:"corners";s:24:"suf_post_aside_show_perm";s:10:"show-tleft";s:33:"suf_post_aside_no_title_show_perm";s:4:"show";s:24:"suf_post_aside_show_cats";s:4:"show";s:27:"suf_post_aside_show_comment";s:4:"show";s:29:"suf_post_aside_show_posted_by";s:4:"show";s:31:"suf_post_aside_posted_by_format";s:5:"by-at";s:24:"suf_post_aside_show_tags";s:4:"show";s:27:"suf_post_gallery_show_title";s:4:"show";s:30:"suf_post_gallery_meta_position";s:7:"corners";s:26:"suf_post_gallery_show_perm";s:10:"show-tleft";s:37:"suf_post_gallery_with_title_show_perm";s:4:"hide";s:26:"suf_post_gallery_show_cats";s:4:"show";s:29:"suf_post_gallery_show_comment";s:4:"show";s:31:"suf_post_gallery_show_posted_by";s:4:"show";s:33:"suf_post_gallery_posted_by_format";s:5:"by-at";s:26:"suf_post_gallery_show_tags";s:4:"show";s:26:"suf_gallery_format_disable";s:0:"";s:30:"suf_gallery_format_thumb_count";i:6;s:39:"suf_gallery_format_thumb_panel_position";s:5:"right";s:36:"suf_gallery_format_thumb_panel_width";s:3:"250";s:34:"suf_gallery_format_thumbnail_width";s:2:"96";s:35:"suf_gallery_format_thumbnail_height";s:2:"96";s:21:"suf_gallery_format_zc";s:1:"1";s:33:"suf_gallery_random_thumbs_disable";s:0:"";s:24:"suf_post_link_show_title";s:4:"show";s:27:"suf_post_link_meta_position";s:7:"corners";s:23:"suf_post_link_show_perm";s:10:"show-tleft";s:34:"suf_post_link_with_title_show_perm";s:4:"hide";s:23:"suf_post_link_show_cats";s:4:"show";s:26:"suf_post_link_show_comment";s:4:"show";s:28:"suf_post_link_show_posted_by";s:4:"show";s:30:"suf_post_link_posted_by_format";s:5:"by-at";s:23:"suf_post_link_show_tags";s:4:"show";s:25:"suf_post_image_show_title";s:4:"show";s:28:"suf_post_image_meta_position";s:7:"corners";s:24:"suf_post_image_show_perm";s:10:"show-tleft";s:35:"suf_post_image_with_title_show_perm";s:4:"hide";s:24:"suf_post_image_show_cats";s:4:"show";s:27:"suf_post_image_show_comment";s:4:"show";s:29:"suf_post_image_show_posted_by";s:4:"show";s:31:"suf_post_image_posted_by_format";s:5:"by-at";s:24:"suf_post_image_show_tags";s:4:"show";s:25:"suf_post_quote_show_title";s:4:"hide";s:28:"suf_post_quote_meta_position";s:7:"corners";s:24:"suf_post_quote_show_perm";s:10:"show-tleft";s:35:"suf_post_quote_with_title_show_perm";s:4:"show";s:24:"suf_post_quote_show_cats";s:4:"show";s:27:"suf_post_quote_show_comment";s:4:"show";s:29:"suf_post_quote_show_posted_by";s:4:"show";s:31:"suf_post_quote_posted_by_format";s:5:"by-at";s:24:"suf_post_quote_show_tags";s:4:"show";s:26:"suf_post_status_show_title";s:4:"hide";s:29:"suf_post_status_meta_position";s:7:"corners";s:25:"suf_post_status_show_perm";s:10:"show-tleft";s:34:"suf_post_status_no_title_show_perm";s:4:"show";s:25:"suf_post_status_show_cats";s:4:"show";s:28:"suf_post_status_show_comment";s:4:"show";s:30:"suf_post_status_show_posted_by";s:4:"show";s:32:"suf_post_status_posted_by_format";s:5:"by-at";s:25:"suf_post_status_show_tags";s:4:"show";s:25:"suf_post_video_show_title";s:4:"show";s:28:"suf_post_video_meta_position";s:7:"corners";s:24:"suf_post_video_show_perm";s:10:"show-tleft";s:35:"suf_post_video_with_title_show_perm";s:4:"hide";s:24:"suf_post_video_show_cats";s:4:"show";s:27:"suf_post_video_show_comment";s:4:"show";s:29:"suf_post_video_show_posted_by";s:4:"show";s:31:"suf_post_video_posted_by_format";s:5:"by-at";s:24:"suf_post_video_show_tags";s:4:"show";s:25:"suf_post_audio_show_title";s:4:"show";s:26:"suf_enable_audio_shortcode";s:0:"";s:28:"suf_post_audio_meta_position";s:7:"corners";s:24:"suf_post_audio_show_perm";s:10:"show-tleft";s:35:"suf_post_audio_with_title_show_perm";s:4:"hide";s:24:"suf_post_audio_show_cats";s:4:"show";s:27:"suf_post_audio_show_comment";s:4:"show";s:29:"suf_post_audio_show_posted_by";s:4:"show";s:31:"suf_post_audio_posted_by_format";s:5:"by-at";s:24:"suf_post_audio_show_tags";s:4:"show";s:24:"suf_post_chat_show_title";s:4:"show";s:27:"suf_post_chat_meta_position";s:7:"corners";s:23:"suf_post_chat_show_perm";s:10:"show-tleft";s:34:"suf_post_chat_with_title_show_perm";s:4:"hide";s:23:"suf_post_chat_show_cats";s:4:"show";s:26:"suf_post_chat_show_comment";s:4:"show";s:28:"suf_post_chat_show_posted_by";s:4:"show";s:30:"suf_post_chat_posted_by_format";s:5:"by-at";s:23:"suf_post_chat_show_tags";s:4:"show";s:26:"suf_byline_before_category";s:0:"";s:25:"suf_byline_after_category";s:0:"";s:21:"suf_byline_before_tag";s:13:"Tagged with: ";s:20:"suf_byline_after_tag";s:0:"";s:27:"suf_byline_before_permalink";s:0:"";s:26:"suf_byline_after_permalink";s:0:"";s:22:"suf_byline_before_edit";s:0:"";s:21:"suf_byline_after_edit";s:0:"";s:22:"suf_byline_before_date";s:0:"";s:21:"suf_byline_after_date";s:0:"";s:38:"suf_byline_before_after_cpt_taxonomies";s:0:"";s:23:"suf_featured_index_view";s:8:"disabled";s:26:"suf_featured_category_view";s:8:"disabled";s:21:"suf_featured_tag_view";s:8:"disabled";s:24:"suf_featured_author_view";s:8:"disabled";s:24:"suf_featured_search_view";s:8:"disabled";s:22:"suf_featured_time_view";s:8:"disabled";s:28:"suf_featured_view_first_only";s:5:"first";s:26:"suf_featured_pages_with_fc";s:0:"";s:22:"suf_featured_num_posts";s:2:"10";s:23:"suf_featured_show_dupes";s:4:"hide";s:25:"suf_featured_allow_sticky";s:4:"show";s:24:"suf_featured_show_latest";s:4:"hide";s:29:"suf_featured_num_latest_posts";i:5;s:32:"suf_featured_selected_categories";s:0:"";s:27:"suf_featured_selected_pages";s:0:"";s:27:"suf_featured_selected_posts";s:0:"";s:26:"suf_featured_selected_tags";s:0:"";s:21:"suf_featured_img_pref";s:55:"custom-featured,native,custom-thumb,attachment,embedded";s:15:"suf_featured_fx";s:4:"fade";s:17:"suf_featured_sync";s:1:"0";s:21:"suf_featured_interval";s:4:"4000";s:29:"suf_featured_transition_speed";s:4:"1000";s:27:"suf_featured_override_theme";s:0:"";s:19:"suf_featured_height";s:3:"250";s:24:"suf_featured_show_border";s:4:"show";s:23:"suf_featured_image_size";s:4:"full";s:31:"suf_featured_image_custom_width";s:3:"200";s:32:"suf_featured_image_custom_height";s:3:"200";s:15:"suf_featured_zc";s:7:"default";s:22:"suf_featured_stretch_w";s:0:"";s:25:"suf_featured_excerpt_type";s:13:"title-excerpt";s:29:"suf_featured_excerpt_position";s:6:"rotate";s:26:"suf_featured_center_slides";s:0:"";s:26:"suf_featured_excerpt_width";s:3:"250";s:29:"suf_featured_excerpt_bg_color";s:6:"222222";s:31:"suf_featured_excerpt_font_color";s:6:"FFFFFF";s:31:"suf_featured_excerpt_link_color";s:6:"FFFFFF";s:18:"suf_featured_pager";s:4:"show";s:24:"suf_featured_pager_style";s:7:"numbers";s:28:"suf_featured_pager_alignment";s:4:"left";s:23:"suf_featured_controller";s:4:"hide";s:33:"suf_featured_controller_alignment";s:5:"right";s:18:"suf_nav_breadcrumb";s:10:"breadcrumb";s:23:"suf_show_breadcrumbs_in";s:0:"";s:16:"suf_show_home_in";s:0:"";s:29:"suf_nav_exclude_in_breadcrumb";s:4:"hide";s:24:"suf_breadcrumb_separator";s:7:"»";s:19:"suf_pagination_type";s:7:"old-new";s:20:"suf_pagination_index";s:4:"show";s:24:"suf_pagination_prev_next";s:4:"show";s:23:"suf_pagination_show_all";s:4:"dots";s:25:"suf_prev_next_above_below";s:5:"below";s:24:"suf_prev_next_categories";s:8:"restrict";s:20:"suf_cpagination_type";s:7:"old-new";s:21:"suf_cpagination_index";s:4:"show";s:25:"suf_cpagination_prev_next";s:4:"show";s:24:"suf_cpagination_show_all";s:4:"dots";s:24:"suf_show_rounded_corners";s:4:"show";s:20:"suf_fix_aspect_ratio";s:8:"preserve";s:23:"suf_use_photon_resizing";s:0:"";s:23:"suf_disable_auto_thumbs";s:0:"";s:22:"suf_jq_masonry_enabled";s:8:"disabled";s:17:"suf_wa_tbrh_style";s:4:"tiny";s:19:"suf_header_for_trbh";s:5:"plain";s:21:"suf_wa_tbrh_open_text";s:4:"Open";s:22:"suf_wa_tbrh_close_text";s:5:"Close";s:19:"suf_wa_tbrh_columns";s:1:"3";s:26:"suf_wa_tbrh_override_theme";s:0:"";s:23:"suf_wa_tbrh_panel_color";s:7:"#040D0F";s:30:"suf_wa_tbrh_panel_border_color";s:7:"#222222";s:28:"suf_wa_tbrh_panel_font_color";s:7:"#AAAAAA";s:15:"suf_wah_columns";s:1:"1";s:20:"suf_wah_layout_style";s:10:"full-align";s:15:"suf_wih_columns";s:1:"1";s:13:"suf_wih_width";s:3:"300";s:15:"suf_show_search";s:4:"show";s:16:"suf_wa_sb1_style";s:5:"boxed";s:25:"suf_sidebar_1_def_widgets";s:4:"show";s:17:"suf_sidebar_1_dnd";s:8:"disabled";s:21:"suf_sidebar_1_expcoll";s:7:"enabled";s:18:"suf_sidebar_header";s:5:"plain";s:25:"suf_sb_font_style_setting";s:5:"theme";s:17:"suf_sb_font_color";s:7:"#666666";s:17:"suf_sb_link_color";s:7:"#000000";s:17:"suf_sb_link_style";s:4:"none";s:25:"suf_sb_visited_link_color";s:7:"#000000";s:25:"suf_sb_visited_link_style";s:4:"none";s:23:"suf_sb_link_hover_color";s:7:"#528f6c";s:23:"suf_sb_link_hover_style";s:9:"underline";s:17:"suf_wa_sb1b_style";s:5:"boxed";s:16:"suf_wa_sb2_style";s:5:"boxed";s:17:"suf_sidebar_2_dnd";s:8:"disabled";s:21:"suf_sidebar_2_expcoll";s:7:"enabled";s:17:"suf_wa_sb2b_style";s:5:"boxed";s:16:"suf_wa_wst_style";s:5:"boxed";s:16:"suf_wa_wsb_style";s:5:"boxed";s:36:"suf_widget_area_below_header_enabled";s:8:"disabled";s:36:"suf_widget_area_below_header_columns";s:1:"1";s:17:"suf_wa_wabh_style";s:5:"boxed";s:35:"suf_header_for_widgets_below_header";s:5:"plain";s:27:"suf_wabh_font_style_setting";s:5:"theme";s:19:"suf_wabh_font_color";s:7:"#000000";s:19:"suf_wabh_link_color";s:7:"#000000";s:19:"suf_wabh_link_style";s:4:"none";s:27:"suf_wabh_visited_link_color";s:7:"#000000";s:27:"suf_wabh_visited_link_style";s:4:"none";s:25:"suf_wabh_link_hover_color";s:7:"#ffffff";s:25:"suf_wabh_link_hover_style";s:9:"underline";s:36:"suf_widget_area_above_footer_enabled";s:8:"disabled";s:36:"suf_widget_area_above_footer_columns";s:1:"1";s:17:"suf_wa_waaf_style";s:5:"boxed";s:35:"suf_header_for_widgets_above_footer";s:5:"plain";s:27:"suf_waaf_font_style_setting";s:5:"theme";s:19:"suf_waaf_font_color";s:7:"#000000";s:19:"suf_waaf_link_color";s:7:"#000000";s:19:"suf_waaf_link_style";s:4:"none";s:27:"suf_waaf_visited_link_color";s:7:"#000000";s:27:"suf_waaf_visited_link_style";s:4:"none";s:25:"suf_waaf_link_hover_color";s:7:"#ffffff";s:25:"suf_waaf_link_hover_style";s:9:"underline";s:18:"suf_adhoc1_columns";s:1:"1";s:18:"suf_adhoc2_columns";s:1:"1";s:18:"suf_adhoc3_columns";s:1:"1";s:18:"suf_adhoc4_columns";s:1:"1";s:18:"suf_adhoc5_columns";s:1:"1";s:17:"suf_sbtab_enabled";s:8:"disabled";s:19:"suf_sbtab_alignment";s:5:"right";s:17:"suf_sbtab_widgets";s:0:"";s:22:"suf_sbtab_widget_order";s:213:"archives,categories,Links,meta,pages,recent_comments,recent_posts,search,tag_cloud,custom_tab_1,custom_tab_2,custom_tab_3,custom_tab_4,custom_tab_5,custom_tab_6,custom_tab_7,custom_tab_8,custom_tab_9,custom_tab_10";s:26:"suf_sbtab_categories_title";s:10:"Categories";s:33:"suf_sbtab_categories_hierarchical";s:12:"hierarchical";s:31:"suf_sbtab_categories_post_count";s:4:"hide";s:24:"suf_sbtab_archives_title";s:8:"Archives";s:23:"suf_sbtab_archives_type";s:7:"monthly";s:28:"suf_sbtab_archives_list_type";s:4:"html";s:29:"suf_sbtab_archives_post_count";s:4:"hide";s:21:"suf_sbtab_Links_title";s:5:"Links";s:20:"suf_sbtab_meta_title";s:4:"Meta";s:21:"suf_sbtab_pages_title";s:5:"Pages";s:31:"suf_sbtab_recent_comments_title";s:15:"Recent Comments";s:28:"suf_sbtab_recent_posts_title";s:12:"Recent Posts";s:22:"suf_sbtab_search_title";s:6:"Search";s:25:"suf_sbtab_tag_cloud_title";s:9:"Tag Cloud";s:28:"suf_sbtab_custom_tab_1_title";s:12:"Custom Tab 1";s:31:"suf_sbtab_custom_tab_1_contents";s:0:"";s:28:"suf_sbtab_custom_tab_2_title";s:12:"Custom Tab 2";s:31:"suf_sbtab_custom_tab_2_contents";s:0:"";s:28:"suf_sbtab_custom_tab_3_title";s:12:"Custom Tab 3";s:31:"suf_sbtab_custom_tab_3_contents";s:0:"";s:28:"suf_sbtab_custom_tab_4_title";s:12:"Custom Tab 4";s:31:"suf_sbtab_custom_tab_4_contents";s:0:"";s:28:"suf_sbtab_custom_tab_5_title";s:12:"Custom Tab 5";s:31:"suf_sbtab_custom_tab_5_contents";s:0:"";s:28:"suf_sbtab_custom_tab_6_title";s:12:"Custom Tab 6";s:31:"suf_sbtab_custom_tab_6_contents";s:0:"";s:28:"suf_sbtab_custom_tab_7_title";s:12:"Custom Tab 7";s:31:"suf_sbtab_custom_tab_7_contents";s:0:"";s:28:"suf_sbtab_custom_tab_8_title";s:12:"Custom Tab 8";s:31:"suf_sbtab_custom_tab_8_contents";s:0:"";s:28:"suf_sbtab_custom_tab_9_title";s:12:"Custom Tab 9";s:31:"suf_sbtab_custom_tab_9_contents";s:0:"";s:29:"suf_sbtab_custom_tab_10_title";s:13:"Custom Tab 10";s:32:"suf_sbtab_custom_tab_10_contents";s:0:"";s:21:"suf_ie7_compatibility";s:8:"no-force";s:15:"suf_seo_enabled";s:7:"enabled";s:20:"suf_seo_all_settings";s:0:"";s:19:"suf_seo_title_style";s:9:"page-blog";s:23:"suf_seo_title_separator";s:7:"»";s:21:"suf_seo_show_subtitle";s:4:"hide";s:21:"suf_seo_show_page_num";s:4:"show";s:24:"suf_seo_meta_description";s:0:"";s:21:"suf_seo_meta_keywords";s:0:"";s:29:"suf_comments_disabled_all_sel";s:3:"all";s:35:"suf_comments_disabled_msg_for_posts";s:4:"show";s:19:"suf_show_track_ping";s:4:"show";s:34:"suf_show_hide_reply_link_for_pings";s:8:"disallow";s:24:"suf_comment_display_type";s:5:"plain";s:24:"suf_comment_label_styles";s:5:"plain";s:22:"suf_comment_label_name";s:4:"Name";s:26:"suf_comment_label_name_req";s:10:"(required)";s:23:"suf_comment_label_email";s:6:"E-mail";s:27:"suf_comment_label_email_req";s:10:"(required)";s:21:"suf_comment_label_uri";s:3:"URI";s:30:"suf_comment_label_your_comment";s:12:"Your Comment";s:26:"suf_comment_show_html_tags";s:4:"show";s:18:"suf_uprof_networks";s:0:"";s:27:"suf_uprof_post_info_enabled";s:4:"hide";s:26:"suf_uprof_post_info_header";s:22:"[suffusion-the-author]";s:28:"suf_uprof_post_info_gravatar";s:4:"show";s:33:"suf_uprof_post_info_gravatar_size";s:2:"64";s:38:"suf_uprof_post_info_gravatar_alignment";s:4:"left";s:27:"suf_uprof_post_info_content";s:44:"[suffusion-the-author display=\'description\']";s:21:"suf_analytics_enabled";s:11:"not-enabled";s:25:"suf_custom_analytics_code";s:0:"";s:18:"suf_openid_enabled";s:11:"not-enabled";s:17:"suf_openid_server";s:0:"";s:19:"suf_openid_delegate";s:0:"";s:19:"suf_custom_css_code";s:0:"";s:21:"suf_custom_css_link_1";s:0:"";s:21:"suf_custom_css_link_2";s:0:"";s:21:"suf_custom_css_link_3";s:0:"";s:20:"suf_custom_js_file_1";s:0:"";s:20:"suf_custom_js_file_2";s:0:"";s:20:"suf_custom_js_file_3";s:0:"";s:20:"suf_custom_header_js";s:0:"";s:20:"suf_custom_footer_js";s:0:"";s:30:"suf_custom_default_rss_enabled";s:7:"enabled";s:21:"suf_custom_rss_feed_1";s:0:"";s:22:"suf_custom_rss_title_1";s:0:"";s:21:"suf_custom_rss_feed_2";s:0:"";s:22:"suf_custom_rss_title_2";s:0:"";s:21:"suf_custom_rss_feed_3";s:0:"";s:22:"suf_custom_rss_title_3";s:0:"";s:22:"suf_custom_atom_feed_1";s:0:"";s:23:"suf_custom_atom_title_1";s:0:"";s:22:"suf_custom_atom_feed_2";s:0:"";s:23:"suf_custom_atom_title_2";s:0:"";s:22:"suf_custom_atom_feed_3";s:0:"";s:23:"suf_custom_atom_title_3";s:0:"";s:18:"suf_module_widgets";s:0:"";s:15:"suf_autogen_css";s:12:"autogen-file";s:14:"suf_minify_css";s:9:"no-minify";s:21:"suf_featured_use_lite";s:7:"regular";s:21:"suf_style_inheritance";s:10:"everything";s:20:"suf_mag_entity_order";s:29:"headlines,excerpts,categories";s:24:"suf_mag_featured_enabled";s:7:"enabled";s:23:"suf_mag_content_enabled";s:4:"hide";s:25:"suf_mag_headlines_enabled";s:4:"show";s:22:"suf_mag_headline_title";s:9:"Headlines";s:37:"suf_mag_headline_main_title_alignment";s:6:"center";s:24:"suf_mag_headlines_height";s:3:"250";s:38:"suf_mag_headline_image_container_width";s:3:"225";s:25:"suf_mag_headline_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:27:"suf_mag_headline_image_size";s:7:"excerpt";s:36:"suf_mag_headline_image_custom_height";s:3:"200";s:35:"suf_mag_headline_image_custom_width";s:3:"200";s:19:"suf_mag_headline_zc";s:7:"default";s:22:"suf_mag_headline_limit";i:10;s:24:"suf_mag_excerpts_enabled";s:4:"show";s:22:"suf_mag_excerpts_title";s:17:"Other Big Stories";s:37:"suf_mag_excerpts_main_title_alignment";s:6:"center";s:22:"suf_mag_total_excerpts";s:2:"10";s:24:"suf_mag_excerpts_per_row";s:1:"3";s:31:"suf_mag_excerpts_images_enabled";s:4:"show";s:33:"suf_mag_excerpts_image_box_height";s:3:"100";s:24:"suf_mag_excerpt_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:26:"suf_mag_excerpt_image_size";s:7:"excerpt";s:35:"suf_mag_excerpt_image_custom_height";s:3:"200";s:34:"suf_mag_excerpt_image_custom_width";s:3:"200";s:18:"suf_mag_excerpt_zc";s:7:"default";s:31:"suf_mag_excerpt_title_alignment";s:6:"center";s:31:"suf_mag_excerpt_full_story_text";s:10:"Full Story";s:31:"suf_mag_excerpt_bylines_enabled";s:4:"show";s:33:"suf_mag_excerpt_bylines_post_date";s:4:"show";s:33:"suf_mag_excerpt_bylines_posted_by";s:4:"show";s:34:"suf_mag_excerpt_bylines_categories";s:4:"show";s:28:"suf_mag_excerpt_bylines_tags";s:4:"show";s:32:"suf_mag_excerpt_bylines_comments";s:4:"show";s:34:"suf_mag_excerpt_bylines_permalinks";s:4:"show";s:26:"suf_mag_categories_enabled";s:4:"show";s:23:"suf_mag_catblocks_title";s:13:"Other Stories";s:38:"suf_mag_catblocks_main_title_alignment";s:6:"center";s:25:"suf_mag_catblocks_per_row";s:1:"3";s:33:"suf_mag_catblocks_title_alignment";s:6:"center";s:32:"suf_mag_catblocks_images_enabled";s:4:"hide";s:34:"suf_mag_catblocks_image_box_height";s:3:"100";s:30:"suf_mag_catblocks_desc_enabled";s:4:"hide";s:31:"suf_mag_catblocks_posts_enabled";s:4:"show";s:27:"suf_mag_catblocks_num_posts";s:1:"5";s:30:"suf_mag_catblocks_see_all_text";s:13:"See all posts";s:28:"suf_mag_catblocks_post_style";s:17:"thumbnail-excerpt";s:32:"suf_mag_catblocks_thumbnail_size";s:2:"32";s:32:"suf_mag_catblocks_excerpt_length";s:2:"15";s:35:"suf_mag_excerpt_full_story_position";s:5:"below";s:15:"suf_pop_excerpt";s:7:"content";s:17:"suf_pop_fc_number";s:1:"0";s:20:"suf_cat_info_enabled";s:11:"not-enabled";s:26:"suf_temp_cats_hierarchical";s:12:"hierarchical";s:17:"suf_temp_cats_rss";s:4:"show";s:24:"suf_temp_cats_post_count";s:4:"hide";s:20:"suf_tag_info_enabled";s:11:"not-enabled";s:23:"suf_author_info_enabled";s:7:"enabled";s:23:"suf_search_info_enabled";s:7:"enabled";s:18:"suf_image_comments";s:0:"";s:20:"suf_image_show_sizes";s:4:"hide";s:19:"suf_image_show_exif";s:4:"hide";s:21:"suf_image_exif_pieces";s:0:"";s:18:"suf_audio_comments";s:0:"";s:18:"suf_audio_att_type";s:4:"link";s:27:"suf_audio_att_player_height";s:2:"30";s:26:"suf_audio_att_player_width";s:3:"300";s:24:"suf_application_comments";s:0:"";s:24:"suf_application_att_type";s:4:"link";s:32:"suf_application_att_player_width";s:3:"300";s:17:"suf_text_comments";s:0:"";s:17:"suf_text_att_type";s:4:"link";s:25:"suf_text_att_player_width";s:3:"300";s:18:"suf_video_comments";s:0:"";s:18:"suf_video_att_type";s:4:"link";s:27:"suf_video_att_player_height";s:3:"225";s:26:"suf_video_att_player_width";s:3:"300";s:20:"suf_sitemap_contents";s:0:"";s:23:"suf_sitemap_label_pages";s:5:"Pages";s:28:"suf_sitemap_label_categories";s:10:"Categories";s:25:"suf_sitemap_label_authors";s:7:"Authors";s:27:"suf_sitemap_label_yarchives";s:15:"Yearly Archives";s:27:"suf_sitemap_label_marchives";s:16:"Monthly Archives";s:27:"suf_sitemap_label_warchives";s:15:"Weekly Archives";s:27:"suf_sitemap_label_darchives";s:14:"Daily Archives";s:22:"suf_sitemap_label_tags";s:4:"Tags";s:23:"suf_sitemap_label_posts";s:10:"Blog Posts";s:24:"suf_sitemap_entity_order";s:64:"pages,categories,authors,years,months,weeks,days,tag-cloud,posts";s:20:"suf_nr_books_per_row";s:1:"4";s:19:"suf_nr_main_cover_w";s:3:"108";s:19:"suf_nr_main_cover_h";s:3:"160";s:20:"suf_nr_no_books_text";s:4:"None";s:16:"suf_nr_lib_title";s:7:"Library";s:20:"suf_nr_lib_curr_show";s:4:"show";s:21:"suf_nr_lib_curr_title";s:17:"Currently Reading";s:20:"suf_nr_lib_curr_text";s:0:"";s:22:"suf_nr_lib_unread_show";s:4:"show";s:23:"suf_nr_lib_unread_title";s:7:"Up Next";s:22:"suf_nr_lib_unread_text";s:0:"";s:25:"suf_nr_lib_completed_show";s:4:"show";s:26:"suf_nr_lib_completed_title";s:16:"Finished Reading";s:25:"suf_nr_lib_completed_text";s:0:"";s:16:"suf_nr_lib_order";s:24:"current,unread,completed";s:24:"suf_nr_single_added_show";s:4:"show";s:24:"suf_nr_single_added_text";s:10:"Added on: ";s:26:"suf_nr_single_started_show";s:4:"show";s:26:"suf_nr_single_started_text";s:9:"Started: ";s:27:"suf_nr_single_finished_show";s:4:"show";s:27:"suf_nr_single_finished_text";s:10:"Finished: ";s:23:"suf_nr_single_meta_show";s:4:"show";s:22:"suf_nr_wid_search_show";s:6:"bottom";s:20:"suf_nr_wid_curr_show";s:4:"show";s:21:"suf_nr_wid_curr_title";s:17:"Currently Reading";s:22:"suf_nr_wid_unread_show";s:4:"show";s:23:"suf_nr_wid_unread_title";s:7:"Up Next";s:25:"suf_nr_wid_completed_show";s:4:"show";s:26:"suf_nr_wid_completed_title";s:16:"Finished Reading";s:16:"suf_nr_wid_order";s:24:"current,unread,completed";s:13:"suf_404_title";s:21:"Error 404 - Not Found";s:15:"suf_404_content";s:56:"Sorry, the page that you are looking for does not exist.";s:16:"suf_clt_wa1_cols";s:1:"1";s:25:"suf_clt_wa1_widget_height";s:7:"all-row";s:24:"suf_clt_wa1_skin_setting";s:0:"";s:28:"suf_clt_wa1_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa1_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa2_cols";s:1:"1";s:25:"suf_clt_wa2_widget_height";s:7:"all-row";s:24:"suf_clt_wa2_skin_setting";s:0:"";s:28:"suf_clt_wa2_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa2_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa3_cols";s:1:"1";s:25:"suf_clt_wa3_widget_height";s:7:"all-row";s:24:"suf_clt_wa3_skin_setting";s:0:"";s:28:"suf_clt_wa3_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa3_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa4_cols";s:1:"1";s:25:"suf_clt_wa4_widget_height";s:7:"all-row";s:24:"suf_clt_wa4_skin_setting";s:0:"";s:28:"suf_clt_wa4_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa4_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa5_cols";s:1:"1";s:25:"suf_clt_wa5_widget_height";s:7:"all-row";s:24:"suf_clt_wa5_skin_setting";s:0:"";s:28:"suf_clt_wa5_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa5_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:15:"suf_cpt_layouts";s:0:"";s:17:"suf_sidebar_count";s:1:"1";s:21:"suf_sidebar_alignment";s:5:"right";s:23:"suf_sidebar_2_alignment";s:5:"right";s:16:"suf_size_options";s:6:"custom";s:22:"suf_wrapper_width_type";s:5:"fixed";s:22:"suf_wrapper_width_flex";i:75;s:26:"suf_wrapper_width_flex_max";s:4:"1200";s:26:"suf_wrapper_width_flex_min";s:3:"600";s:24:"suf_wrapper_width_preset";s:4:"1000";s:17:"suf_wrapper_width";s:4:"1000";s:18:"suf_main_col_width";s:3:"725";s:14:"suf_sb_1_width";s:3:"260";s:14:"suf_sb_2_width";s:3:"260";s:19:"suf_ns_wabh_enabled";s:7:"enabled";s:19:"suf_ns_waaf_enabled";s:7:"enabled";s:25:"suf_1l_wrapper_width_type";s:5:"fixed";s:25:"suf_1l_wrapper_width_flex";i:75;s:29:"suf_1l_wrapper_width_flex_max";s:4:"1200";s:29:"suf_1l_wrapper_width_flex_min";s:3:"600";s:27:"suf_1l_wrapper_width_preset";s:4:"1000";s:20:"suf_1l_wrapper_width";s:4:"1000";s:21:"suf_1l_main_col_width";s:3:"725";s:17:"suf_1l_sb_1_width";s:3:"260";s:25:"suf_1r_wrapper_width_type";s:5:"fixed";s:25:"suf_1r_wrapper_width_flex";i:75;s:29:"suf_1r_wrapper_width_flex_max";s:4:"1200";s:29:"suf_1r_wrapper_width_flex_min";s:3:"600";s:27:"suf_1r_wrapper_width_preset";s:4:"1000";s:20:"suf_1r_wrapper_width";s:4:"1000";s:21:"suf_1r_main_col_width";s:3:"725";s:17:"suf_1r_sb_1_width";s:3:"260";s:27:"suf_1l1r_wrapper_width_type";s:5:"fixed";s:27:"suf_1l1r_wrapper_width_flex";i:75;s:31:"suf_1l1r_wrapper_width_flex_max";s:4:"1200";s:31:"suf_1l1r_wrapper_width_flex_min";s:3:"600";s:29:"suf_1l1r_wrapper_width_preset";s:4:"1000";s:22:"suf_1l1r_wrapper_width";s:4:"1000";s:23:"suf_1l1r_main_col_width";s:3:"725";s:19:"suf_1l1r_sb_1_width";s:3:"260";s:19:"suf_1l1r_sb_2_width";s:3:"260";s:25:"suf_2l_wrapper_width_type";s:5:"fixed";s:25:"suf_2l_wrapper_width_flex";i:75;s:29:"suf_2l_wrapper_width_flex_max";s:4:"1200";s:29:"suf_2l_wrapper_width_flex_min";s:3:"600";s:27:"suf_2l_wrapper_width_preset";s:4:"1000";s:20:"suf_2l_wrapper_width";s:4:"1000";s:21:"suf_2l_main_col_width";s:3:"725";s:17:"suf_2l_sb_1_width";s:3:"260";s:17:"suf_2l_sb_2_width";s:3:"260";s:25:"suf_2r_wrapper_width_type";s:5:"fixed";s:25:"suf_2r_wrapper_width_flex";i:75;s:29:"suf_2r_wrapper_width_flex_max";s:4:"1200";s:29:"suf_2r_wrapper_width_flex_min";s:3:"600";s:27:"suf_2r_wrapper_width_preset";s:4:"1000";s:20:"suf_2r_wrapper_width";s:4:"1000";s:21:"suf_2r_main_col_width";s:3:"725";s:17:"suf_2r_sb_1_width";s:3:"260";s:17:"suf_2r_sb_2_width";s:3:"260";s:21:"suf_enable_responsive";s:0:"";s:20:"suf_responsive_stops";s:29:"980px,650px,480px,320px,240px";s:35:"suf_responsive_prevent_user_scaling";s:0:"";s:27:"suf_responsive_scale_header";s:0:"";s:25:"suf_responsive_nav_switch";s:5:"480px";s:27:"suf_responsive_thumb_switch";s:5:"480px";s:29:"suf_responsive_pullout_switch";s:5:"480px";s:21:"suf_responsive_240_sb";s:5:"below";s:21:"suf_responsive_320_sb";s:5:"below";s:21:"suf_responsive_480_sb";s:5:"below";s:26:"suf_responsive_480_columns";s:0:"";s:21:"suf_responsive_650_sb";s:12:"below-beside";s:26:"suf_responsive_650_columns";s:0:"";s:21:"suf_responsive_980_sb";s:11:"in-position";s:26:"suf_responsive_980_columns";s:0:"";s:22:"suf_blog_sidebar_count";s:7:"default";s:17:"suf_index_excerpt";s:7:"content";s:19:"suf_index_fc_number";s:1:"0";s:26:"suf_category_sidebar_count";s:7:"default";s:20:"suf_category_excerpt";s:7:"content";s:22:"suf_category_fc_number";s:1:"0";s:21:"suf_tag_sidebar_count";s:7:"default";s:15:"suf_tag_excerpt";s:7:"content";s:17:"suf_tag_fc_number";s:1:"0";s:24:"suf_author_sidebar_count";s:7:"default";s:18:"suf_author_excerpt";s:7:"content";s:20:"suf_author_fc_number";s:1:"0";s:22:"suf_date_sidebar_count";s:7:"default";s:19:"suf_archive_excerpt";s:7:"content";s:21:"suf_archive_fc_number";s:1:"0";s:24:"suf_search_sidebar_count";s:7:"default";s:18:"suf_search_excerpt";s:7:"content";s:20:"suf_search_fc_number";s:1:"0";s:22:"suf_fc_view_first_only";s:5:"first";s:25:"suf_excerpt_custom_length";s:2:"55";s:27:"suf_excerpt_read_more_style";s:7:"replace";s:28:"suf_excerpt_custom_more_text";s:5:"[...]";s:26:"suf_show_excerpt_thumbnail";s:4:"show";s:26:"suf_show_content_thumbnail";s:4:"show";s:20:"suf_excerpt_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:17:"suf_excerpt_tt_zc";s:1:"1";s:22:"suf_excerpt_tt_quality";i:75;s:31:"suf_excerpt_thumbnail_alignment";s:4:"left";s:26:"suf_excerpt_thumbnail_size";s:9:"thumbnail";s:34:"suf_excerpt_thumbnail_custom_width";s:3:"200";s:35:"suf_excerpt_thumbnail_custom_height";s:3:"200";s:22:"suf_excerpt_list_count";s:3:"all";s:22:"suf_excerpt_list_style";s:2:"ul";s:25:"suf_tile_excerpts_per_row";s:1:"3";s:23:"suf_tile_images_enabled";s:4:"show";s:25:"suf_tile_image_box_height";s:3:"100";s:23:"suf_tile_image_settings";s:7:"inherit";s:17:"suf_tile_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:19:"suf_tile_image_size";s:7:"excerpt";s:28:"suf_tile_image_custom_height";s:3:"200";s:27:"suf_tile_image_custom_width";s:3:"200";s:11:"suf_tile_zc";s:7:"default";s:24:"suf_tile_title_alignment";s:4:"left";s:31:"suf_tile_layout_bylines_enabled";s:4:"show";s:33:"suf_tile_layout_bylines_post_date";s:4:"show";s:33:"suf_tile_layout_bylines_posted_by";s:4:"show";s:34:"suf_tile_layout_bylines_categories";s:4:"show";s:28:"suf_tile_layout_bylines_tags";s:4:"show";s:32:"suf_tile_layout_bylines_comments";s:4:"show";s:34:"suf_tile_layout_bylines_permalinks";s:4:"show";s:26:"suf_mosaic_thumbnail_width";s:2:"96";s:27:"suf_mosaic_thumbnail_height";s:2:"96";s:13:"suf_mosaic_zc";s:1:"1";s:24:"suf_mosaic_constrain_row";s:7:"padding";s:31:"suf_mosaic_constrain_by_padding";s:2:"50";s:29:"suf_mosaic_constrain_by_count";i:5;s:15:"suf_mosaic_zoom";s:4:"zoom";s:23:"suf_mosaic_zoom_library";s:8:"fancybox";s:21:"suf_mosaic_show_title";s:4:"hide";s:27:"suf_body_font_style_setting";s:5:"theme";s:20:"suf_body_font_family";s:28:"Arial, Helvetica, sans-serif";s:14:"suf_font_color";s:7:"#000000";s:14:"suf_link_color";s:7:"#528f6c";s:14:"suf_link_style";s:4:"none";s:22:"suf_visited_link_color";s:7:"#528f6c";s:22:"suf_visited_link_style";s:4:"none";s:20:"suf_link_hover_color";s:7:"#528f6c";s:20:"suf_link_hover_style";s:9:"underline";s:27:"suf_main_font_style_setting";s:0:"";s:18:"suf_main_font_size";s:31:"font-size=14;font-size-type=px;";s:28:"suf_title_font_style_setting";s:0:"";s:19:"suf_post_title_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:24:"suf_post_title_link_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:30:"suf_post_title_link_hover_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:23:"suf_header_font_setting";s:0:"";s:16:"suf_post_h1_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:16:"suf_post_h2_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=26;font-size-type=px;";s:16:"suf_post_h3_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=23;font-size-type=px;";s:16:"suf_post_h4_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=21;font-size-type=px;";s:16:"suf_post_h5_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=19;font-size-type=px;";s:16:"suf_post_h6_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=16;font-size-type=px;";s:26:"suf_clt_title_font_setting";s:0:"";s:18:"suf_clt_title_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=24;font-size-type=px;";s:24:"suf_comment_font_setting";s:0:"";s:23:"suf_comment_header_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=16;font-size-type=px;";s:21:"suf_comment_body_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:23:"suf_footer_font_setting";s:0:"";s:20:"suf_footer_text_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:20:"suf_footer_link_font";s:110:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;";s:26:"suf_footer_link_hover_font";s:110:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;";s:23:"suf_drop_cap_post_views";s:0:"";s:25:"suf_drop_cap_post_formats";s:0:"";s:13:"theme-version";s:5:"4.4.7";s:11:"option-date";s:25:"October 18, 2013 10:35 am";}', 'yes'); +INSERT INTO `wp_options` VALUES (1154, 'suffusion_generated_css', 'a:3:{s:3:"css";s:24516:"/* October 18, 2013 10:35 am */\r\n.page-template-1l-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1l-sidebar-php #container { padding-left: 275px; padding-right: 0px; }\r\n.page-template-1l-sidebar-php #main-col { width: 725px; }\r\n#ie6 .page-template-1l-sidebar-php #main-col { width: 695px }\r\n.page-template-1l-sidebar-php #nav-top, .page-template-1l-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l-sidebar-php #nav-top .col-control, .page-template-1l-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1l-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1l-sidebar-php .postdata .category {\r\n max-width: 450px;\r\n}\r\n.page-template-1l-sidebar-php .tags {\r\n max-width: 450px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar, .page-template-1l-sidebar-php #sidebar-b, .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar.flattened, .page-template-1l-sidebar-php #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar-shell-1 {\r\n margin-left: -100%;\r\n margin-right: 15px;\r\n left: auto;\r\n right: 275px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar-container { width: 275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-left { right: 275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-right { margin-right: -275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1l-sidebar-php #wsidebar-top, .page-template-1l-sidebar-php #wsidebar-bottom { width: 273px; }\r\n.page-template-1l-sidebar-php #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1l-sidebar-php .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar, #ie6 .page-template-1l-sidebar-php #sidebar-b, #ie6 .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n.page-template-1l-sidebar-php .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-1r-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1r-sidebar-php #container { padding-left: 0px; padding-right: 275px; }\r\n.page-template-1r-sidebar-php #main-col { width: 725px; }\r\n#ie6 .page-template-1r-sidebar-php #main-col { width: 695px }\r\n.page-template-1r-sidebar-php #nav-top, .page-template-1r-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1r-sidebar-php #nav-top .col-control, .page-template-1r-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1r-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1r-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1r-sidebar-php .postdata .category {\r\n max-width: 450px;\r\n}\r\n.page-template-1r-sidebar-php .tags {\r\n max-width: 450px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar, .page-template-1r-sidebar-php #sidebar-b, .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar.flattened, .page-template-1r-sidebar-php #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -275px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1r-sidebar-php #sidebar-container { width: 275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-left { right: 275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-right { margin-right: -275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1r-sidebar-php #wsidebar-top, .page-template-1r-sidebar-php #wsidebar-bottom { width: 273px; }\r\n.page-template-1r-sidebar-php #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1r-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1r-sidebar-php .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar, #ie6 .page-template-1r-sidebar-php #sidebar-b, #ie6 .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n.page-template-1r-sidebar-php .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-1l1r-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1l1r-sidebar-php #container { padding-left: 185px; padding-right: 185px; }\r\n.page-template-1l1r-sidebar-php #main-col { width: 630px; }\r\n#ie6 .page-template-1l1r-sidebar-php #main-col { width: 600px }\r\n.page-template-1l1r-sidebar-php #nav-top, .page-template-1l1r-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l1r-sidebar-php #nav-top .col-control, .page-template-1l1r-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1l1r-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l1r-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1l1r-sidebar-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-1l1r-sidebar-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar, .page-template-1l1r-sidebar-php #sidebar-b, .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar.flattened, .page-template-1l1r-sidebar-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -185px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-2, .page-template-1l1r-sidebar-php #sidebar-2-b, .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-1l1r-sidebar-php #sidebar-2.flattened, .page-template-1l1r-sidebar-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n margin-left: -100%;\r\n margin-right: 0px;\r\n left: auto;\r\n right: 185px;\r\n}\r\n\r\n.page-template-1l1r-sidebar-php #sidebar-container { width: 185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-left { right: 185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-right { margin-right: -185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1l1r-sidebar-php #wsidebar-top, .page-template-1l1r-sidebar-php #wsidebar-bottom { width: 353px; }\r\n.page-template-1l1r-sidebar-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l1r-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1l1r-sidebar-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar, #ie6 .page-template-1l1r-sidebar-php #sidebar-b, #ie6 .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-2, #ie6 .page-template-1l1r-sidebar-php #sidebar-2-b, #ie6 .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n left: 200px;\r\n right: 185px;\r\n}\r\n\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-container {\r\n width: 175px;\r\n}\r\n\r\n.page-template-1l1r-sidebar-php .tab-box {\r\n width: 170px;\r\n}\r\n.page-template-2l-sidebars-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-2l-sidebars-php #container { padding-left: 370px; padding-right: 0px; }\r\n.page-template-2l-sidebars-php #main-col { width: 630px; }\r\n#ie6 .page-template-2l-sidebars-php #main-col { width: 600px }\r\n.page-template-2l-sidebars-php #nav-top, .page-template-2l-sidebars-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2l-sidebars-php #nav-top .col-control, .page-template-2l-sidebars-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-2l-sidebars-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2l-sidebars-php #nav .col-control { width: 1000px }\n\r\n.page-template-2l-sidebars-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-2l-sidebars-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar, .page-template-2l-sidebars-php #sidebar-b, .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar.flattened, .page-template-2l-sidebars-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-shell-1 {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-2, .page-template-2l-sidebars-php #sidebar-2-b, .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-2l-sidebars-php #sidebar-2.flattened, .page-template-2l-sidebars-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-shell-2 {\r\n margin-left: 15px;\r\n margin-right: -185px;\r\n left: auto;\r\n right: auto;\r\n}\r\n\r\n.page-template-2l-sidebars-php #sidebar-container { width: 370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-left { right: 370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-right { margin-right: -370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-2l-sidebars-php #wsidebar-top, .page-template-2l-sidebars-php #wsidebar-bottom { width: 353px; }\r\n.page-template-2l-sidebars-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: 370px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-wrap {\r\n left: auto;\r\n right: 200px;\r\n}\r\n.page-template-2l-sidebars-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-2l-sidebars-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar, #ie6 .page-template-2l-sidebars-php #sidebar-b, #ie6 .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-2, #ie6 .page-template-2l-sidebars-php #sidebar-2-b, #ie6 .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n}\r\n\r\n#ie6 .page-template-2l-sidebars-php #sidebar-container {\r\n width: 360px;\r\n}\r\n\r\n.page-template-2l-sidebars-php .tab-box {\r\n width: 353px;\r\n}\r\n.page-template-2r-sidebars-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-2r-sidebars-php #container { padding-left: 0px; padding-right: 370px; }\r\n.page-template-2r-sidebars-php #main-col { width: 630px; }\r\n#ie6 .page-template-2r-sidebars-php #main-col { width: 600px }\r\n.page-template-2r-sidebars-php #nav-top, .page-template-2r-sidebars-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2r-sidebars-php #nav-top .col-control, .page-template-2r-sidebars-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-2r-sidebars-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2r-sidebars-php #nav .col-control { width: 1000px }\n\r\n.page-template-2r-sidebars-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-2r-sidebars-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar, .page-template-2r-sidebars-php #sidebar-b, .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar.flattened, .page-template-2r-sidebars-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-shell-1 {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-2, .page-template-2r-sidebars-php #sidebar-2-b, .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-2r-sidebars-php #sidebar-2.flattened, .page-template-2r-sidebars-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-shell-2 {\r\n margin-left: -185px;\r\n margin-right: 15px;\r\n left: auto;\r\n right: auto;\r\n}\r\n\r\n.page-template-2r-sidebars-php #sidebar-container { width: 370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-left { right: 370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-right { margin-right: -370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-2r-sidebars-php #wsidebar-top, .page-template-2r-sidebars-php #wsidebar-bottom { width: 353px; }\r\n.page-template-2r-sidebars-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2r-sidebars-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-2r-sidebars-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar, #ie6 .page-template-2r-sidebars-php #sidebar-b, #ie6 .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-2, #ie6 .page-template-2r-sidebars-php #sidebar-2-b, #ie6 .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n}\r\n\r\n#ie6 .page-template-2r-sidebars-php #sidebar-container {\r\n width: 360px;\r\n}\r\n\r\n.page-template-2r-sidebars-php .tab-box {\r\n width: 353px;\r\n}\r\n #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n #container { padding-left: 0px; padding-right: 275px; }\r\n #main-col { width: 725px; }\r\n#ie6 #main-col { width: 695px }\r\n #nav-top, #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n #nav-top .col-control, #top-bar-right-spanel .col-control { width: 1000px }\r\n #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n #nav .col-control { width: 1000px }\n\r\n .postdata .category {\r\n max-width: 450px;\r\n}\r\n .tags {\r\n max-width: 450px;\r\n}\r\n #sidebar, #sidebar-b, #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n #sidebar.flattened, #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -275px;\r\n left: auto;\r\n right: auto;\r\n}\r\n #sidebar-container { width: 275px; }\r\n .sidebar-container-left { right: 275px; }\r\n .sidebar-container-right { margin-right: -275px; }\r\n .sidebar-container-left #sidebar-wrap { right: auto; }\r\n #wsidebar-top, #wsidebar-bottom { width: 273px; }\r\n #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 #sidebar, #ie6 #sidebar-b, #ie6 #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 #sidebar-shell-1 {\r\n}\r\n#ie6 #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-no-sidebars-php #container { padding-left: 0; padding-right: 0; }\r\n.page-template-no-sidebars-php #main-col { width: 100%; }\r\n.suf-mag-headlines {\r\n padding-left: 225px;\r\n}\r\n.suf-mag-headline-photo-box { width: 225px; right: 225px; }\r\n.suf-mag-headline-block { width: 100%; }\r\n#ie6 .suf-mag-headline-block { width: 100%; }\r\n.suf-mag-headlines { min-height: 250px; height: auto; }\r\n.suf-mag-excerpt-image {\r\n height: 100px;\r\n}\r\n.suf-mag-category-image {\r\n width: 221px;\r\n height: 100px;\r\n}\r\n#ie6 .suf-mag-category-image { width: 218px; }\r\nh2.suf-mag-headlines-title { text-align: center; }\r\n.search-results .post .date { display: none; }\r\n.search-results .title-container { padding-left: 0; padding-right: 0; }\r\n.search-results .post .title { padding-left: 0; }\r\n\r\n.postdata .category{ float: left; }\r\n.post .postdata .comments { float: right; }\r\n.tags { float: right; text-align: right; }\r\n.post span.author { float: left; padding-right: 10px; }\r\narticle.page .postdata .comments { float: right; }\r\narticle.page span.author { float: left; padding-right: 10px; }\r\n\r\n.format-aside h1.posttitle, .format-aside h2.posttitle, .post.format-aside .date { display: none; }\r\n.format-aside .title-container { padding-left: 0; }\r\n\r\n.format-aside .postdata .category{ float: left; }\r\n.post.format-aside .postdata .comments { float: right; }\r\n.format-aside .tags { float: right; text-align: right; }\r\n.format-aside .permalink { float: left; text-align: left; }\r\n.post.format-aside span.author { float: left; padding-right: 10px; }\r\n\r\n.format-gallery .postdata .category{ float: left; }\r\n.post.format-gallery .postdata .comments { float: right; }\r\n.format-gallery .tags { float: right; text-align: right; }\r\n.format-gallery .permalink { float: left; text-align: left; }\r\n.post.format-gallery span.author { float: left; padding-right: 10px; }\r\n\r\n.format-link .postdata .category{ float: left; }\r\n.post.format-link .postdata .comments { float: right; }\r\n.format-link .tags { float: right; text-align: right; }\r\n.format-link .permalink { float: left; text-align: left; }\r\n.post.format-link span.author { float: left; padding-right: 10px; }\r\n\r\n.format-image .postdata .category{ float: left; }\r\n.post.format-image .postdata .comments { float: right; }\r\n.format-image .tags { float: right; text-align: right; }\r\n.format-image .permalink { float: left; text-align: left; }\r\n.post.format-image span.author { float: left; padding-right: 10px; }\r\n\r\n.format-quote h1.posttitle, .format-quote h2.posttitle, .post.format-quote .date { display: none; }\r\n.format-quote .title-container { padding-left: 0; }\r\n\r\n.format-quote .postdata .category{ float: left; }\r\n.post.format-quote .postdata .comments { float: right; }\r\n.format-quote .tags { float: right; text-align: right; }\r\n.format-quote .permalink { float: left; text-align: left; }\r\n.post.format-quote span.author { float: left; padding-right: 10px; }\r\n\r\n.format-status h1.posttitle, .format-status h2.posttitle, .post.format-status .date { display: none; }\r\n.format-status .title-container { padding-left: 0; }\r\n\r\n.format-status .postdata .category{ float: left; }\r\n.post.format-status .postdata .comments { float: right; }\r\n.format-status .tags { float: right; text-align: right; }\r\n.format-status .permalink { float: left; text-align: left; }\r\n.post.format-status span.author { float: left; padding-right: 10px; }\r\n\r\n.format-video .postdata .category{ float: left; }\r\n.post.format-video .postdata .comments { float: right; }\r\n.format-video .tags { float: right; text-align: right; }\r\n.format-video .permalink { float: left; text-align: left; }\r\n.post.format-video span.author { float: left; padding-right: 10px; }\r\n\r\n.format-audio .postdata .category{ float: left; }\r\n.post.format-audio .postdata .comments { float: right; }\r\n.format-audio .tags { float: right; text-align: right; }\r\n.format-audio .permalink { float: left; text-align: left; }\r\n.post.format-audio span.author { float: left; padding-right: 10px; }\r\n\r\n.format-chat .postdata .category{ float: left; }\r\n.post.format-chat .postdata .comments { float: right; }\r\n.format-chat .tags { float: right; text-align: right; }\r\n.format-chat .permalink { float: left; text-align: left; }\r\n.post.format-chat span.author { float: left; padding-right: 10px; }\r\n\r\n#slider, #sliderContent { max-height: 250px; }\r\n #slider .left, #slider .right { height: 250px; max-height: 250px; width: 250px !important; }\r\n .sliderImage .top, .sliderImage .bottom { max-width: none; }\r\n.sliderImage { height: 250px; }\r\n.controller-icons #sliderControl { top: -125px; }\r\n.controller-icons.index-overlaid #sliderControl { top: -110px; }\r\n .sliderImage div { background-image: none; background-color: #222222; color: #FFFFFF; }\r\n .sliderImage div a { color: #FFFFFF; }\r\n#featured-posts { border-width: 1px; border-style: solid; }\r\n#ie6 table.suf-tiles { width: 700px }\r\n.suf-tile-image { height: 100px; }\r\nh2.suf-tile-title { text-align: left; }\r\n#nav-top, #top-bar-right-spanel { margin: 0 auto; }\r\n#nav ul { text-transform: capitalize; }\r\n#nav-top ul { text-transform: capitalize; float: left; }\r\n#widgets-above-header { width: auto; }\r\n#nav { margin: 0 auto; width: 100%; }\r\ndiv.booklisting img, div.bookentry img { width: 108px; height: 160px; }\r\ndiv.bookentry .stats { width: 142px; }\r\ndiv.bookentry .review { width: 537px; }\r\n#ie6 div.bookentry .review { width: 517px; }\r\ncol.nr-shelf-slot { width: 25%; }\r\n#nav .mm-warea {\r\n transition: opacity 500ms linear;\r\n -moz-transition: opacity 500ms linear;\r\n -webkit-transition: opacity 500ms linear;\r\n -khtml-transition: opacity 500ms linear;\r\n}\r\n\r\n#nav-top .mm-warea {\r\n transition: opacity 500ms linear;\r\n -moz-transition: opacity 500ms linear;\r\n -webkit-transition: opacity 500ms linear;\r\n -khtml-transition: opacity 500ms linear;\r\n}\r\n\r\n.attachment object.audio { width: 300px; height: 30px; }\r\n.attachment object.application { width: 300px; }\r\n.attachment object.text { width: 300px; }\r\n.attachment object.video { width: 300px; height: 225px; }\r\n.author-info img.avatar { float: left; padding: 5px; }\r\n.suf-mosaic-thumb-container { margin-left: 50px; margin-right: 50px; }\r\n.sidebar-wrap-right #sidebar-shell-1 { float: right; margin-left: 0; margin-right: 0;}\r\n.sidebar-wrap-right #sidebar-shell-2 { float: right; margin-right: 15px; margin-left: 0;}\r\n.sidebar-wrap-left #sidebar-shell-1 { float: left; margin-left: 0; margin-right: 0;}\r\n.sidebar-wrap-left #sidebar-shell-2 { float: left; margin-left: 15px; margin-right: 0;}\r\n.sidebar-container-left #sidebar-wrap { margin-left: 0; margin-right: 0; left: auto; right: auto; }\r\n.sidebar-container-right #sidebar-wrap { margin-left: 0; margin-right: 0; left: auto; right: auto; }\r\n#sidebar-container .tab-box { margin-left: 0; margin-right: 0; }\r\n#sidebar-container.sidebar-container-left { margin-left: -100%; }\r\n#ie6 #sidebar-container #sidebar-shell-1, #ie6 #sidebar-container #sidebar-shell-2 { left: auto; right: auto; }\r\n#ie6 .sidebar-container-left #sidebar-wrap, #ie6 .sidebar-container-right #sidebar-wrap { left: auto; right: auto; }\r\n.postdata .category .icon, .postdata .author .icon, .postdata .tax .icon, .postdata .permalink .icon, .postdata .comments .icon, .postdata .edit .icon, .postdata .line-date .icon,\r\n.previous-entries .icon, .next-entries .icon, .post-nav .previous .icon, .post-nav .next .icon, h3.comments .icon, #reply-title .icon, input.inside, .exif-button .icon,\r\n.bookdata .edit .icon, .bookdata .manage .icon, .page-nav-left a, .page-nav-right a, .mosaic-page-nav-right a, .mosaic-page-nav-left a, .mosaic-overlay a span,\r\n.meta-pullout .category .icon, .meta-pullout .author .icon, .meta-pullout .tax .icon, .meta-pullout .permalink .icon, .meta-pullout .comments .icon, .meta-pullout .edit .icon, .meta-pullout .pullout-date .icon,\r\n.controller-icons #sliderControl .sliderPrev, .controller-icons #sliderControl .sliderNext, .controller-icons .sliderControl .sliderPrev, .controller-icons .sliderControl .sliderNext, .user-profiles .icon {\r\n background-image: url(http://micropasts.org/wp-content/themes/suffusion/images/iconset-0.png);\r\n}\r\n.postdata .author .icon,.meta-pullout .author .icon,.postdata .line-date .icon,.meta-pullout .pullout-date .icon,.postdata .category .icon,.meta-pullout .category .icon,.postdata .tags .icon,.meta-pullout .tags .icon,.postdata .permalink .icon,.meta-pullout .permalink .icon,.postdata .comments .icon,.meta-pullout .comments .icon,.postdata .edit .icon,.meta-pullout .edit .icon,.postdata .tax .icon,.meta-pullout .tax .icon { display: inline-block; }\n.gallery-container { padding-right: 266px }.gallery-contents { width: 250px }.gallery-contents.left { left: -266px }.gallery-contents.right { margin-right: -266px }\n";s:11:"option-date";s:25:"October 18, 2013 10:35 am";s:13:"theme-version";s:5:"4.4.7";}', 'yes'); +INSERT INTO `wp_options` VALUES (1156, 'theme_mods_esplanade', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:6:"000000";s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382111166;s:4:"data";a:9:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";a:0:{}s:9:"sidebar-4";a:0:{}s:9:"sidebar-5";a:0:{}s:9:"sidebar-6";a:1:{i:0;s:6:"text-2";}s:9:"sidebar-7";a:1:{i:0;s:6:"text-3";}s:18:"orphaned_widgets_1";a:1:{i:0;s:6:"text-5";}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1157, 'theme_mods_adamos', 'a:17:{i:0;b:0;s:16:"header_textcolor";s:3:"FFF";s:16:"background_color";s:3:"EEE";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:11:"adamos_logo";s:0:"";s:16:"featured_textbox";s:21:"Default featured text";s:21:"featured_textbox_text";s:21:"Default featured text";s:27:"featured_textbox_header_one";s:28:"Default featured text Header";s:25:"featured_textbox_text_one";s:21:"Default featured text";s:27:"featured_textbox_header_two";s:28:"Default featured text Header";s:25:"featured_textbox_text_two";s:21:"Default featured text";s:29:"featured_textbox_header_three";s:28:"Default featured text Header";s:27:"featured_textbox_text_three";s:21:"Default featured text";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382098514;s:4:"data";a:9:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:9:"sidebar-2";a:0:{}s:11:"left_column";a:0:{}s:13:"center_column";a:0:{}s:12:"right_column";a:0:{}s:18:"orphaned_widgets_1";a:1:{i:0;s:6:"text-2";}s:18:"orphaned_widgets_2";a:1:{i:0;s:6:"text-3";}s:18:"orphaned_widgets_3";a:1:{i:0;s:6:"text-5";}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1158, 'theme_mods_suffusion', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:6:"000000";s:16:"background_color";s:6:"444444";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382093682;s:4:"data";a:35:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:9:"sidebar-9";a:0:{}s:9:"sidebar-2";a:0:{}s:10:"sidebar-10";a:0:{}s:10:"sidebar-18";a:0:{}s:10:"sidebar-19";a:1:{i:0;s:6:"text-2";}s:10:"sidebar-11";a:1:{i:0;s:6:"text-3";}s:10:"sidebar-12";a:1:{i:0;s:6:"text-5";}s:9:"sidebar-3";N;s:9:"sidebar-4";N;s:9:"sidebar-5";N;s:9:"sidebar-6";N;s:9:"sidebar-7";N;s:9:"sidebar-8";N;s:10:"sidebar-13";N;s:10:"sidebar-14";N;s:10:"sidebar-15";N;s:10:"sidebar-16";N;s:10:"sidebar-17";N;s:12:"sidebar-cl-1";N;s:12:"sidebar-cl-2";N;s:12:"sidebar-cl-3";N;s:12:"sidebar-cl-4";N;s:12:"sidebar-cl-5";N;s:12:"sidebar-mm-1";N;s:12:"sidebar-mm-2";N;s:12:"sidebar-mm-3";N;s:12:"sidebar-mm-4";N;s:12:"sidebar-mm-5";N;s:12:"sidebar-mm-6";N;s:12:"sidebar-mm-7";N;s:12:"sidebar-mm-8";N;s:12:"sidebar-mm-9";N;s:13:"sidebar-mm-10";N;}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1160, 'optionsframework', 'a:2:{s:2:"id";s:17:"activetab_options";s:12:"knownoptions";a:2:{i:0;s:17:"activetab_options";i:1;s:23:"optionsframework_coller";}}', 'yes'); +INSERT INTO `wp_options` VALUES (1161, 'activetab_options', 'a:6:{s:18:"menu_position_type";s:5:"fixed";s:15:"show_site_title";s:1:"1";s:21:"show_site_description";s:1:"1";s:9:"code_head";s:0:"";s:11:"code_footer";s:0:"";s:31:"excerpt_or_full_content_in_list";s:7:"excerpt";}', 'yes'); +INSERT INTO `wp_options` VALUES (1170, '_transient_timeout_catcheverest_default_sliders', '1382185209', 'no'); +INSERT INTO `wp_options` VALUES (1171, '_transient_catcheverest_default_sliders', '\n
\n \n
\n <\n >\n
\n
\n
', 'no'); +INSERT INTO `wp_options` VALUES (1174, '_transient_timeout_catcheverest_footer_content', '1382185209', 'no'); +INSERT INTO `wp_options` VALUES (1175, '_transient_catcheverest_footer_content', '
Powered by: [wp-link] | Theme: [theme-link]
', 'no'); +INSERT INTO `wp_options` VALUES (1178, 'wp_opulus_options', 'a:87:{s:15:"reminder_images";s:2:"on";s:15:"example_widgets";s:2:"on";s:10:"image_logo";s:0:"";s:9:"text_logo";s:10:"Micropasts";s:7:"favicon";s:0:"";s:8:"gravatar";s:0:"";s:9:"read_more";s:16:"Read More →";s:9:"copyright";s:23:"© 2013, Micropasts";s:16:"toggle_side_menu";s:1:"0";s:12:"public_phone";s:0:"";s:12:"public_email";s:0:"";s:10:"public_fax";s:0:"";s:7:"address";s:0:"";s:13:"banner_option";s:17:"full_image_border";s:11:"action_text";s:139:"Welcome to theWP Opulus Theme. To edit this text please login to the dashboard and selectWP Opulus Theme Options under the Appearance menu.";s:15:"toggle_featured";s:1:"1";s:22:"toggle_featured_exerpt";s:1:"0";s:13:"left_featured";i:22;s:15:"center_featured";i:195;s:14:"right_featured";i:195;s:14:"fp_content_pos";s:4:"none";s:11:"toggle_blog";s:1:"1";s:15:"blog_feed_title";s:25:"Latest News From the Blog";s:10:"blog_title";s:4:"Blog";s:13:"posts_on_blog";s:1:"5";s:23:"nimbus_post_meta_single";a:6:{s:5:"title";s:1:"1";s:10:"post_thumb";s:1:"1";s:6:"author";s:1:"1";s:4:"date";s:1:"1";s:10:"categories";s:1:"1";s:4:"tags";s:1:"1";}s:14:"post_meta_blog";a:5:{s:5:"title";s:1:"1";s:10:"post_thumb";s:1:"1";s:6:"author";s:1:"1";s:4:"date";s:1:"1";s:10:"categories";s:1:"1";}s:11:"display_bio";s:1:"1";s:15:"header_bg_color";s:7:"#f0f0f0";s:11:"dd_bg_color";s:7:"#464646";s:15:"dd_border_color";s:7:"#535353";s:15:"ribbon_bg_color";s:7:"#ffffff";s:27:"ribbon_content_shadow_color";s:7:"#555555";s:19:"action_bg_color_top";s:7:"#ffffff";s:22:"action_bg_color_bottom";s:7:"#f1f1f1";s:26:"action_border_color_bottom";s:7:"#e8e8e8";s:18:"image_stroke_color";s:7:"#b6b6b6";s:18:"image_border_color";s:7:"#ffffff";s:17:"image_border_type";s:5:"solid";s:18:"image_shadow_color";s:7:"#c5c5c5";s:25:"banner_image_stroke_color";s:7:"#b6b6b6";s:25:"banner_image_border_color";s:7:"#ffffff";s:24:"banner_image_border_type";s:5:"solid";s:25:"banner_image_shadow_color";s:7:"#c5c5c5";s:22:"nimbus_footer_bg_color";s:7:"#ffffff";s:10:"body_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:10:"link_color";s:7:"#0077ff";s:16:"link_hover_color";s:7:"#0077ff";s:10:"logo_style";a:6:{s:4:"size";s:4:"33px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Bebas";s:5:"style";s:6:"normal";s:5:"color";s:7:"#262626";s:9:"fonttrans";s:4:"none";}s:18:"head_contact_style";a:6:{s:4:"size";s:4:"11px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:15:"main_menu_style";a:6:{s:4:"size";s:4:"20px";s:4:"line";s:3:"1em";s:4:"face";s:14:"PT Sans Narrow";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:9:"uppercase";}s:14:"sub_menu_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:3:"1em";s:4:"face";s:14:"PT Sans Narrow";s:5:"style";s:6:"normal";s:5:"color";s:7:"#e1e1e1";s:9:"fonttrans";s:4:"none";}s:12:"action_style";a:6:{s:4:"size";s:4:"22px";s:4:"line";s:5:"1.5em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:21:"nimbus_typography_one";a:1:{s:4:"face";s:7:"PT Sans";}s:21:"nimbus_typography_two";a:1:{s:4:"face";s:7:"PT Sans";}s:23:"nimbus_typography_three";a:1:{s:4:"face";s:7:"PT Sans";}s:12:"button_style";a:1:{s:4:"face";s:7:"PT Sans";}s:8:"h1_style";a:6:{s:4:"size";s:4:"25px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h2_style";a:6:{s:4:"size";s:4:"22px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h3_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:8:"h4_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h5_style";a:6:{s:4:"size";s:4:"16px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:8:"h6_style";a:6:{s:4:"size";s:4:"16px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:16:"blockquote_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.4em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:15:"pullquote_style";a:6:{s:4:"size";s:4:"20px";s:4:"line";s:5:"1.2em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#0078FF";s:9:"fonttrans";s:4:"none";}s:10:"code_style";a:2:{s:4:"face";s:11:"Courier New";s:5:"color";s:7:"#535353";}s:8:"th_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#0078ff";s:9:"fonttrans";s:9:"uppercase";}s:8:"td_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:8:"tc_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:11:"bold italic";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:9:"uppercase";}s:19:"sidebar_title_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:18:"footer_title_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:17:"footer_text_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:15:"copyright_style";a:6:{s:4:"size";s:4:"11px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#a6a6a6";s:9:"fonttrans";s:4:"none";}s:12:"facebook_url";s:0:"";s:11:"twitter_url";s:0:"";s:12:"linkedin_url";s:0:"";s:11:"youtube_url";s:0:"";s:15:"google_plus_url";s:0:"";s:22:"display_social_buttons";s:1:"1";s:20:"display_like_buttons";s:1:"0";s:12:"scripts_head";s:0:"";s:19:"scripts_top_content";s:0:"";s:17:"top_scripts_multi";a:6:{s:4:"home";s:1:"0";s:5:"pages";s:1:"0";s:4:"blog";s:1:"0";s:5:"posts";s:1:"0";s:9:"portfolio";s:1:"0";s:14:"portfolio_item";s:1:"0";}s:22:"scripts_bottom_content";s:0:"";s:20:"bottom_scripts_multi";a:6:{s:4:"home";s:1:"0";s:5:"pages";s:1:"0";s:4:"blog";s:1:"0";s:5:"posts";s:1:"0";s:9:"portfolio";s:1:"0";s:14:"portfolio_item";s:1:"0";}s:12:"scripts_foot";s:0:"";s:10:"custom_css";s:0:"";}', 'yes'); +INSERT INTO `wp_options` VALUES (1179, 'theme_mods_catch-everest', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:0:"";s:16:"background_image";s:70:"http://micropasts.org/wp-content/themes/catch-everest/images/noise.png";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382103150;s:4:"data";a:8:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";a:0:{}s:9:"sidebar-4";a:0:{}s:18:"orphaned_widgets_1";a:1:{i:0;s:6:"text-2";}s:18:"orphaned_widgets_2";a:1:{i:0;s:6:"text-3";}s:18:"orphaned_widgets_3";a:1:{i:0;s:6:"text-5";}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1180, 'catcheverest_options', 'a:66:{s:18:"disable_responsive";s:1:"0";s:8:"fav_icon";s:72:"http://micropasts.org/wp-content/themes/catch-everest/images/favicon.ico";s:14:"remove_favicon";s:1:"0";s:8:"web_clip";s:81:"http://micropasts.org/wp-content/themes/catch-everest/images/apple-touch-icon.png";s:15:"remove_web_clip";s:1:"1";s:28:"disable_header_right_sidebar";s:1:"0";s:10:"custom_css";s:0:"";s:14:"sidebar_layout";s:13:"right-sidebar";s:14:"content_layout";s:4:"full";s:12:"reset_layout";s:1:"0";s:13:"more_tag_text";s:27:"Continue Reading &rarr;";s:14:"excerpt_length";s:2:"30";s:19:"search_display_text";s:10:"Search …";s:8:"feed_url";s:0:"";s:17:"homepage_headline";s:19:"Homepage Headline. ";s:20:"homepage_subheadline";s:49:"You can edit or disable it through Theme Options.";s:25:"disable_homepage_headline";s:1:"0";s:28:"disable_homepage_subheadline";s:1:"0";s:25:"disable_homepage_featured";s:1:"0";s:26:"homepage_featured_headline";s:0:"";s:21:"homepage_featured_qty";s:1:"3";s:23:"homepage_featured_image";a:0:{}s:21:"homepage_featured_url";a:0:{}s:22:"homepage_featured_base";a:0:{}s:23:"homepage_featured_title";a:0:{}s:25:"homepage_featured_content";a:0:{}s:17:"enable_posts_home";s:1:"0";s:19:"front_page_category";a:1:{i:0;s:1:"0";}s:13:"enable_slider";s:22:"enable-slider-homepage";s:10:"slider_qty";s:1:"4";s:17:"transition_effect";s:4:"fade";s:16:"transition_delay";s:1:"4";s:19:"transition_duration";s:1:"1";s:19:"exclude_slider_post";s:1:"0";s:15:"featured_slider";a:0:{}s:15:"social_facebook";s:0:"";s:14:"social_twitter";s:0:"";s:17:"social_googleplus";s:0:"";s:16:"social_pinterest";s:0:"";s:14:"social_youtube";s:0:"";s:12:"social_vimeo";s:0:"";s:15:"social_linkedin";s:0:"";s:17:"social_slideshare";s:0:"";s:17:"social_foursquare";s:0:"";s:13:"social_flickr";s:0:"";s:13:"social_tumblr";s:0:"";s:17:"social_deviantart";s:0:"";s:15:"social_dribbble";s:0:"";s:14:"social_myspace";s:0:"";s:16:"social_wordpress";s:0:"";s:10:"social_rss";s:0:"";s:16:"social_delicious";s:0:"";s:13:"social_lastfm";s:0:"";s:16:"social_instagram";s:0:"";s:13:"social_github";s:0:"";s:16:"social_vkontakte";s:0:"";s:14:"social_myworld";s:0:"";s:20:"social_odnoklassniki";s:0:"";s:16:"social_goodreads";s:0:"";s:12:"social_skype";s:0:"";s:17:"social_soundcloud";s:0:"";s:19:"google_verification";s:0:"";s:18:"yahoo_verification";s:0:"";s:17:"bing_verification";s:0:"";s:15:"analytic_header";s:0:"";s:15:"analytic_footer";s:0:"";}', 'yes'); +INSERT INTO `wp_options` VALUES (1183, '_transient_timeout_catcheverest_favicon', '1382185840', 'no'); +INSERT INTO `wp_options` VALUES (1184, '_transient_catcheverest_favicon', '', 'no'); +INSERT INTO `wp_options` VALUES (1185, '_transient_timeout_catcheverest_inline_css', '1382198046', 'no'); +INSERT INTO `wp_options` VALUES (1186, '_transient_catcheverest_inline_css', '', 'no'); +INSERT INTO `wp_options` VALUES (1187, '_transient_timeout_catcheverest_webmaster', '1382198046', 'no'); +INSERT INTO `wp_options` VALUES (1188, '_transient_catcheverest_webmaster', '', 'no'); +INSERT INTO `wp_options` VALUES (1189, '_transient_timeout_catcheverest_web_clip', '1382198046', 'no'); +INSERT INTO `wp_options` VALUES (1190, '_transient_catcheverest_web_clip', '', 'no'); +INSERT INTO `wp_options` VALUES (1191, '_transient_timeout_catcheverest_homepage_headline', '1382185842', 'no'); +INSERT INTO `wp_options` VALUES (1192, '_transient_catcheverest_homepage_headline', '

Homepage Headline. You can edit or disable it through Theme Options.

', 'no'); +INSERT INTO `wp_options` VALUES (1193, '_transient_timeout_catcheverest_footercode', '1382198046', 'no'); +INSERT INTO `wp_options` VALUES (1194, '_transient_catcheverest_footercode', '', 'no'); +INSERT INTO `wp_options` VALUES (1196, 'theme_mods_activetab', 'a:7:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382368025;s:4:"data";a:6:{s:19:"wp_inactive_widgets";a:0:{}s:7:"sidebar";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:6:"footer";a:0:{}s:18:"orphaned_widgets_1";a:1:{i:0;s:6:"text-2";}s:18:"orphaned_widgets_2";a:1:{i:0;s:6:"text-3";}s:18:"orphaned_widgets_3";a:1:{i:0;s:6:"text-5";}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1200, 'theme_mods_wp-opulus', 'a:7:{i:0;b:0;s:16:"background_color";s:6:"ffffff";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382111216;s:4:"data";a:28:{s:19:"wp_inactive_widgets";a:0:{}s:13:"sidebar_pages";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:12:"sidebar_blog";a:0:{}s:17:"sidebar_portfolio";a:0:{}s:11:"footer-left";a:0:{}s:13:"footer-center";a:0:{}s:12:"footer-right";a:1:{i:0;s:6:"text-2";}s:15:"frontpage-right";a:1:{i:0;s:6:"text-3";}s:9:"sidebar_1";a:1:{i:0;s:6:"text-5";}s:9:"sidebar_2";N;s:9:"sidebar_3";N;s:9:"sidebar_4";N;s:9:"sidebar_5";N;s:9:"sidebar_6";N;s:9:"sidebar_7";N;s:9:"sidebar_8";N;s:9:"sidebar_9";N;s:10:"sidebar_10";N;s:10:"sidebar_11";N;s:10:"sidebar_12";N;s:10:"sidebar_13";N;s:10:"sidebar_14";N;s:10:"sidebar_15";N;s:10:"sidebar_16";N;s:10:"sidebar_17";N;s:10:"sidebar_18";N;s:10:"sidebar_19";N;s:10:"sidebar_20";N;}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1202, 'optionsframework_coller', 'a:20:{s:9:"headcode1";s:0:"";s:9:"footcode1";s:0:"";s:11:"footertext2";s:0:"";s:10:"customcss1";s:0:"";s:14:"slider_enabled";b:0;s:11:"slidetitle1";s:0:"";s:9:"slideurl1";s:0:"";s:11:"slidetitle2";s:0:"";s:9:"slideurl2";s:0:"";s:11:"slidetitle3";s:0:"";s:9:"slideurl3";s:0:"";s:11:"slidetitle4";s:0:"";s:9:"slideurl4";s:0:"";s:11:"slidetitle5";s:0:"";s:9:"slideurl5";s:0:"";s:8:"facebook";s:0:"";s:7:"twitter";s:0:"";s:6:"google";s:0:"";s:10:"feedburner";s:0:"";s:7:"credit1";b:0;}', 'yes'); +INSERT INTO `wp_options` VALUES (1203, 'theme_mods_coller', 'a:7:{i:0;b:0;s:16:"background_color";s:6:"e5cc69";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382111654;s:4:"data";a:5:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:4:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";}s:18:"orphaned_widgets_1";a:1:{i:0;s:6:"text-2";}s:18:"orphaned_widgets_2";a:1:{i:0;s:6:"text-3";}s:18:"orphaned_widgets_3";a:1:{i:0;s:6:"text-5";}}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1261, 'new_admin_email', 'danielpett@gmail.com', 'yes'); +INSERT INTO `wp_options` VALUES (1262, 'WPLANG', '', 'yes'); +INSERT INTO `wp_options` VALUES (1263, 'openid_required_for_registration', '', 'yes'); +INSERT INTO `wp_options` VALUES (1548, 'rp_version', '1.11', 'yes'); +INSERT INTO `wp_options` VALUES (1549, 'rp_number_posts', '5', 'yes'); +INSERT INTO `wp_options` VALUES (1550, 'rp_timer_sec', '5', 'yes'); +INSERT INTO `wp_options` VALUES (1551, 'rp_thumbnails', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1552, 'rp_arrows', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1553, 'rp_title', 'true', 'yes'); +INSERT INTO `wp_options` VALUES (1554, 'rp_date_time', 'true', 'yes'); +INSERT INTO `wp_options` VALUES (1555, 'rp_date_time_str', 'F jS, Y', 'yes'); +INSERT INTO `wp_options` VALUES (1556, 'rp_author', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1557, 'rp_author_prefix', 'by', 'yes'); +INSERT INTO `wp_options` VALUES (1558, 'rp_categories', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1559, 'rp_comments', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1560, 'rp_use_this_category', '0', 'yes'); +INSERT INTO `wp_options` VALUES (1561, 'rp_left', 'http://micropasts.org/wp-content/plugins/rotating-posts/images/left.jpg', 'yes'); +INSERT INTO `wp_options` VALUES (1562, 'rp_right', 'http://micropasts.org/wp-content/plugins/rotating-posts/images/right.jpg', 'yes'); +INSERT INTO `wp_options` VALUES (1563, 'rp_pause_normal', 'http://micropasts.org/wp-content/plugins/rotating-posts/images/pause.jpg', 'yes'); +INSERT INTO `wp_options` VALUES (1564, 'rp_pause_pressed', 'http://micropasts.org/wp-content/plugins/rotating-posts/images/pause_on.jpg', 'yes'); +INSERT INTO `wp_options` VALUES (1565, 'rp_override_css', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1566, 'rp_read_more', '
Read more', 'yes'); +INSERT INTO `wp_options` VALUES (1567, 'rp_random_posts', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1568, 'rp_custom_content', 'false', 'yes'); +INSERT INTO `wp_options` VALUES (1644, 'bwp_gxs_log', 'a:2:{s:3:"log";a:26:{i:0;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";d:1382573719;s:5:"error";b:0;}i:1;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";d:1382581572;s:5:"error";s:6:"notice";}i:2;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";d:1382581572;s:5:"error";b:0;}i:3;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";d:1382594412;s:5:"error";b:0;}i:4;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";d:1382598109;s:5:"error";b:0;}i:5;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";d:1382598109;s:5:"error";b:0;}i:6;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";d:1382598110;s:5:"error";b:0;}i:7;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";d:1382598111;s:5:"error";b:0;}i:8;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";d:1382598111;s:5:"error";s:6:"notice";}i:9;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";d:1382598111;s:5:"error";b:0;}i:10;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";d:1382625272;s:5:"error";b:0;}i:11;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";d:1382652605;s:5:"error";b:0;}i:12;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";d:1382660900;s:5:"error";b:0;}i:13;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";d:1382676733;s:5:"error";b:0;}i:14;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";d:1382685902;s:5:"error";b:0;}i:15;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";d:1382685903;s:5:"error";b:0;}i:16;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";d:1382685903;s:5:"error";b:0;}i:17;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";d:1382685904;s:5:"error";b:0;}i:18;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";d:1382685904;s:5:"error";s:6:"notice";}i:19;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";d:1382685904;s:5:"error";b:0;}i:20;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";d:1382718280;s:5:"error";b:0;}i:21;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";d:1382722967;s:5:"error";s:6:"notice";}i:22;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";d:1382722967;s:5:"error";b:0;}i:23;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";d:1382737739;s:5:"error";b:0;}i:24;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";d:1382763510;s:5:"error";b:0;}i:25;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";d:1382775474;s:5:"error";b:0;}}s:7:"sitemap";a:5:{s:12:"sitemapindex";a:2:{s:4:"time";d:1382737739;s:3:"url";s:12:"sitemapindex";}s:4:"page";a:2:{s:4:"time";d:1382775474;s:3:"url";s:4:"page";}s:4:"site";a:2:{s:4:"time";d:1382763510;s:3:"url";s:4:"site";}s:17:"taxonomy_category";a:2:{s:4:"time";d:1382722967;s:3:"url";s:17:"taxonomy_category";}s:4:"post";a:2:{s:4:"time";d:1382718280;s:3:"url";s:4:"post";}}}', 'yes'); +INSERT INTO `wp_options` VALUES (1717, 'cookie_notice_options', 'a:9:{s:12:"message_text";s:153:"We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.";s:11:"accept_text";s:2:"Ok";s:8:"see_more";s:2:"no";s:12:"see_more_opt";a:4:{s:4:"text";s:9:"Read more";s:9:"link_type";s:6:"custom";s:2:"id";s:5:"empty";s:4:"link";s:12:"http://empty";}s:4:"time";s:5:"month";s:8:"position";s:6:"bottom";s:11:"hide_effect";s:4:"fade";s:9:"css_style";s:9:"bootstrap";s:6:"colors";a:2:{s:4:"text";s:4:"#fff";s:3:"bar";s:4:"#000";}}', 'no'); +INSERT INTO `wp_options` VALUES (1981, 'bwp_gxs_ping_data', 'a:2:{s:11:"data_pinged";a:3:{s:6:"google";i:3;s:4:"bing";i:3;s:3:"ask";i:0;}s:16:"data_last_pinged";a:3:{s:6:"google";i:1382368838;s:4:"bing";i:1382368838;s:3:"ask";i:0;}}', 'yes'); +INSERT INTO `wp_options` VALUES (2138, 'post_count', '1', 'yes'); +INSERT INTO `wp_options` VALUES (2661, 'openid_no_require_name', '', 'yes'); +INSERT INTO `wp_options` VALUES (2750, 'ep_exclude_pages', '236,238,242,243,245,247,253,254', 'yes'); +INSERT INTO `wp_options` VALUES (3907, 'bwp_gxs_stats', 'a:6:{s:11:"enable_ping";s:3:"yes";s:18:"enable_ping_google";s:3:"yes";s:16:"enable_ping_bing";s:3:"yes";s:15:"enable_ping_ask";s:0:"";s:10:"enable_log";s:3:"yes";s:12:"enable_debug";s:0:"";}', 'yes'); +INSERT INTO `wp_options` VALUES (4543, '_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1382816889', 'no'); +INSERT INTO `wp_options` VALUES (4544, '_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:51:"\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:"Thu, 24 Oct 2013 22:40:34 +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: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:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/?v=3.8-alpha";s: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:42:"\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:25:"WordPress 3.7 “Basieâ€";s: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://wordpress.org/news/2013/10/basie/";s: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:49:"http://wordpress.org/news/2013/10/basie/#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, 24 Oct 2013 22:35: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: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=2736";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:357:"Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones: Updates while you sleep: With WordPress 3.7, you don’t have to lift a finger 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: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:17229:"

Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones:

\n\n

For developers there are lots of options around how to control the new updates feature, including allowing it to handle major upgrades as well as minor ones, more sophisticated date query support, and multisite improvements. As always, if you’re hungry for more dive into the Codex or browse the over 400 closed tickets on Trac.

\n

A New Wave

\n

This release was led by Andrew Nacin, backed up by Dion Hulse and Jon Cave. This is our first release using the new plugin-first development process, with a much shorter timeframe than in the past. (3.6 was released in August.) The 3.8 release, due in December, will continue this plugin-led development cycle that gives much more autonomy to plugin leads and allows us to decouple feature development from a release. You can follow this grand experiment, and what we’re learning from it, on the make/core blog. There are 211 contributors with props in this release:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, adamsilverstein, Alexander Hoereth, Alex Mills (Viper007Bond), Amy Hendrix (sabreuse), andg, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Spittle, askapache, atimmer, Barry, Beau Lebens, ben.moody, Ben Miller, Bernhard Riedl, BFTrick, Billy (bananastalktome), bmb, Brandon Kraft, brianhogg, Brian Richards, Bryan Petty, Carl Danley, CharlesClarkson, Chip Bennett, Chouby, Chris Olbekson, Chris Rudzki, coderaaron, Coen Jacobs, Colin Robinson, cyonite, Daan Kortenbach, Daniel Bachhuber, Daniel Convissor, dartiss, Daryl Koopersmith, Dave Ross, David Laietta, Dion Hulse, dllh, Dominik Schilling (ocean90), dpash, Drew Jaynes, DrProtocols, Dustin Filippini, dzver, Edward Caissie, enej, Eric Andrew Lewis, Eric Mann, Evan Solomon, faishal, Faison, Foofy, Frankie Jarrett, Frank Klein, Gary Cao, Gary Pendergast, Gaya Kessler, George Stephanis, Gizburdt, goldenapples, gradyetc, Gregory Cornelius, Gustavo Bordoni, hakre, Helen Hou-Sandi, Ian Dunn, Ipstenu (Mika Epstein), itinerant, J.D. Grimes, jakub.tyrcha, James Collins, Jen Mylo, Jeremy Buller, Jeremy Felt, Jesper Johansen (jayjdk), Joe Hoyle, Joey Kudish, John Beales, John Blackbourn (johnbillion), John Fish, John James Jacoby, John P. Bloch, Jonas Bolinder (jond3r), Jonathan Christopher, Jonathan Desrosiers, Jon Cave, Jon Lynch, Joost de Valk, Joseph Scott, Josh Betz, Justin de Vesine, Justin Sainton, K.Adam White, Kailey (trepmal), Ketwaroo, kevinB, Kim Parsell, kitchin, Konstantin Kovshenin, Konstantin Obenland, koopersmith, Kurt Payne, Lance Willett, Lee Willis (leewillis77), lessbloat, Lew Ayotte, Luke Gedeon, Marcin Pietrzak, Marco Cimmino, Marco Galasso, Mark Jaquith, Mark McWilliams, Marko Heijnen, Mel Choyce, Michael Beckwith, Mike Hansen, Mike Schinkel, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mr Papa, Naoko Takano, Naomi, Nashwan Doaqan, NateJacobs, nathanrice, Niall Kennedy, Nick Daugherty, Nick Halsey, Nick Momrik, Nikhil Vimal (NikV), Nikolay Bachiyski, noahsilverstein, nofearinc, nukaga, nullvariable, Oleg Butuzov, Paolo Belcastro, Parham, Paul Biron, Paul de Wouters, pavelevap, peterjaap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, plocha, Pollett, Ptah Dunbar, Rami Yushuvaev, Rasheed Bydousi, RayBernard, rboren, Reuben Gunday, rfair404, Richard Tape, Rick Radko, Robert Chapin, Robert Dall, Rodrigo Primo, Ron Rennick, rpattillo, Ryan Boren, Ryan McCue, Sam Hotchkiss, Scott Reilly, scottsweb, Scott Taylor, scribu, scruffian, Seisuke Kuraishi (tenpura), Sergey Biryukov, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, Stephanie Leary, Stephen Edgar (@netweb), Stephen Harris, strangerstudios, sweetie089, swissspidy, Takayuki Miyauchi, Takuma Morikawa, Taylor Lovett, tivnet, TobiasBg, Tom Auger, toscho, Travis Smith, Ulrich Sossou, vericgar, Vinod Dalvi, Weston Ruter, wikicms, Will Norris, Wojtek Szkutnik, wycks, Yoav Farhi, and Yuri Victor.

\n

Enjoy what may be one of your last few manual updates. See you soon for version 3.8!

\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:45:"http://wordpress.org/news/2013/10/basie/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:45:"\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:33:"WordPress 3.7 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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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:"Wed, 23 Oct 2013 00:05:30 +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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2729";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:417:"The second release candidate of WordPress 3.7 is now available for testing! Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta […]";s: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:1183:"

The second release candidate of WordPress 3.7 is now available for testing!

\n

Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta area in the support forums if you think you’ve found a bug, and if any known issues are raised, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 3.7. If there is a compatibility issue, let us know as soon as possible so we can deal with it before the final release.

\n

For more on WordPress 3.7, check out the announcement post for Release Candidate 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:73:"http://wordpress.org/news/2013/10/wordpress-3-7-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:2;a:6:{s:4:"data";s:45:"\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:18:"Upcoming WordCamps";s: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/2013/10/upcoming-wordcamps-4/";s: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/2013/10/upcoming-wordcamps-4/#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, 22 Oct 2013 19:25: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: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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2723";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:368:"WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s […]";s: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:"Jen Mylo";s: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:3584:"

WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s over. If there’s one near you, check it out! In addition to getting to know your local WordPress community, most WordCamps attract some traveling visitors a well, giving you the chance to meet contributors to the WordPress open source project and get involved yourself.

\n

Here are the WordCamps on the schedule for the rest of this year.

\n

October 25-27: WordCamp Boston, Boston, MA, USA
\nOctober 25-26: WordCamp Malaga, Spain
\nOctober 26: WordCamp Nepal, Kathmandu, Nepal
\nOctober 26: WordCamp Sofia, Bulgaria
\nNovember 7: WordCamp Cape Town, South Africa
\nNovember 9: WordCamp Porto, Portugal
\nNovember 9-10: WordCamp Kenya, Nairobi, Kenya
\nNovember 15: WordCamp Edmonton, AB, Canada
\nNovember 16-17: WordCamp Orlando, FL, USA
\nNovember 16: WordCamp Denver, CO, USA
\nNovember 23-24: WordCamp London, UK
\nNovember 23-24: WordCamp Raleigh, NC, USA
\nNovember 23: WordCamp São Paulo, Brazil
\nDecember 14: WordCamp Las Vegas, NV, USA
\nDecember 14-15: WordCamp Sevilla, Spain

\n

No WordCamps on this list in your area? Not to worry! There are thriving WordPress meetups all over the world where you can meet like-minded people, and we maintain a library of WordCamp videos at WordPress.tv.

\n

Get Involved

\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: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/2013/10/upcoming-wordcamps-4/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:45:"\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.7 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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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:"Fri, 18 Oct 2013 19:52: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:8:"category";a:2:{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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2718";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:331:"The first release candidate for WordPress 3.7 is now available! In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, […]";s: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:2237:"

The first release candidate for WordPress 3.7 is now available!

\n

In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

WordPress 3.7 introduces automatic background updates for security and minor releases (like updating from 3.7 to 3.7.1). These are really easy to test  — RC 1 will update every 12 hours or so to the latest development version, and then email you the results. (You may get two emails: one for debugging, and one all users of 3.7 will receive.) If something went wrong, you can report it.

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 3.7 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 3.7, visit the awesome About screen in your dashboard ( → About in the toolbar). There, you can also see if your install is eligible for background updates. WordPress won’t automatically update, for example, if you’re using version control like Subversion or Git.

\n

Developers, please test your plugins and themes against WordPress 3.7, so that if there is a compatibility issue, we can figure it out before the final release. Make sure you post any issues to the support forums.

\n

WordPress three seven
\nA self-updating engine
\nLies beneath the hood

\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/2013/10/wordpress-3-7-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:4;a:6:{s:4:"data";s:45:"\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:20:"WordPress 3.7 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:55:"http://wordpress.org/news/2013/10/wordpress-3-7-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:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/news/2013/10/wordpress-3-7-beta-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:"Thu, 10 Oct 2013 21:28: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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2706";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:357:"WordPress 3.7 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. This has been a quiet beta period. We’re hoping to get some more testers for automatic background updates, which will occur for security and minor releases (like updating […]";s: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:2108:"

WordPress 3.7 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site.

\n

This has been a quiet beta period. We’re hoping to get some more testers for automatic background updates, which will occur for security and minor releases (like updating from 3.7 to 3.7.1). It’s really easy to test this, as Beta 2 will update each day to the latest development version and then email you the results. If something goes wrong, you can report it — it’s that simple. To get the beta, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip). Check out Dashboard → Updates to see if your install is eligible for background updates. WordPress won’t update if, for example, you’re using version control like SVN or Git.

\n

For more of what’s new in version 3.7, check out the Beta 1 blog post. In Beta 2, we further increased the stability of background updates and also added about 50 bug fixes, including a fix for Internet Explorer 11 in the visual editor.

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed.

\n

Happy testing!

\n

Beta 2 released
\nDotting i’s and crossing t’s

\nExpect RC next

\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/2013/10/wordpress-3-7-beta-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:5;a:6:{s:4:"data";s:45:"\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:20:"WordPress 3.7 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/2013/09/wordpress-3-7-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/2013/09/wordpress-3-7-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:"Sat, 28 Sep 2013 07:25: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:8:"category";a:2:{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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2688";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:339:"I’m pleased to announce the availability of WordPress 3.7 Beta 1. For WordPress 3.7 we decided to shorten the development cycle and focus on a few key improvements. We plan to release the final product in October, and then follow it in December with a jam-packed WordPress 3.8 release, which is already in development. Some […]";s: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:3684:"

I’m pleased to announce the availability of WordPress 3.7 Beta 1.

\n

For WordPress 3.7 we decided to shorten the development cycle and focus on a few key improvements. We plan to release the final product in October, and then follow it in December with a jam-packed WordPress 3.8 release, which is already in development. Some of the best stuff in WordPress 3.7 is subtle — by design! So let’s walk through what we’d love for you to test, just in time for the weekend.

\n

Automatic, background updates. 3.7 Beta 1 will keep itself updated. That’s right — you’ll be updated each night to the newest development build, and eventually to Beta 2. We’re working to provide as many installs as possible with fast updates to security releases of WordPress — and you can help us test by just installing Beta 1 on your server and seeing how it works!

\n

When you go to Dashboard → Updates, you’ll see a note letting you know whether your install is working for automatic updates. There are a few situations where WordPress can’t reliably and securely update itself. But if it can, you’ll get an email (sent to the ‘Admin Email’ on the General Settings page) after each update letting you know what worked and what didn’t. If it worked, great! If something failed, the email will suggest you make a post in the support forums or create a bug report.

\n

Here are some other things you should test out:

\n\n

This software is still in development, so we don’t recommend you run it on a production site. I’d suggest setting up a test site just to play with the new version. To test WordPress 3.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

As always, if you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a reproducible bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed so far.

\n

Happy testing!

\n

WordPress three seven
\nSaves your weary hand a click
\nUpdates while you sleep

\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/2013/09/wordpress-3-7-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:45:"\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:48:"WordPress 3.6.1 Maintenance and Security Release";s: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/2013/09/wordpress-3-6-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/2013/09/wordpress-3-6-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:"Wed, 11 Sep 2013 20:48: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: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=2675";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:353:"After nearly 7 million downloads of WordPress 3.6, we are pleased to announce the availability of version 3.6.1. This maintenance release fixes 13 bugs in version 3.6, which was a very smooth release. WordPress 3.6.1 is also a security release for all previous WordPress versions and we strongly encourage you to update your sites immediately. […]";s: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:2033:"

After nearly 7 million downloads of WordPress 3.6, we are pleased to announce the availability of version 3.6.1. This maintenance release fixes 13 bugs in version 3.6, which was a very smooth release.

\n

WordPress 3.6.1 is also a security release for all previous WordPress versions and we strongly encourage you to update your sites immediately. It addresses three issues fixed by the WordPress security team:

\n\n

Additionally, we’ve adjusted security restrictions around file uploads to mitigate the potential for cross-site scripting.

\n

We appreciated responsible disclosure of these issues directly to our security team. For more information on the changes, see the release notes or consult the list of changes.

\n

Download WordPress 3.6.1 or update now 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/2013/09/wordpress-3-6-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:7;a:6:{s:4:"data";s:42:"\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:25:"WordPress 3.6 “Oscarâ€";s: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://wordpress.org/news/2013/08/oscar/";s: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:49:"http://wordpress.org/news/2013/08/oscar/#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, 01 Aug 2013 21:43: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: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=2661";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:368:"The latest and greatest WordPress, version 3.6, is now live to the world and includes a beautiful new blog-centric theme, bullet-proof autosave and post locking, a revamped revision browser, native support for audio and video embeds, and improved integrations with Spotify, Rdio, and SoundCloud. Here’s a video that shows off some of the features using […]";s: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:18626:"

The latest and greatest WordPress, version 3.6, is now live to the world and includes a beautiful new blog-centric theme, bullet-proof autosave and post locking, a revamped revision browser, native support for audio and video embeds, and improved integrations with Spotify, Rdio, and SoundCloud. Here’s a video that shows off some of the features using our cast of professional actors:

\n
\n

We’re calling this release “Oscar” in honor of the great jazz pianist Oscar Peterson. Here’s a bit more about some of the new features, which you can also find on the about page in your dashboard after you upgrade.

\n

User Features

\n

\n\n

Developer features

\n\n

The Band

\n

This release was led by Mark Jaquith and Aaron Campbell, and included contributions from the following fine folks. Pull up some Oscar Peterson on your music service of choice, or vinyl if you have it, and check out some of their profiles:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, Adam Harley, adamsilverstein, AK Ted, Alex Concha, Alex King, Alex Mills (Viper007Bond), Amaury Balmer, Amy Hendrix (sabreuse), Anatol Broder, Andrew Nacin, Andrew Ozz, Andrew Ryno, Andy Skelton, Antonio, apimlott, awellis13, Barry, Beau Lebens, BelloSwan, bilalcoder, Billy (bananastalktome), bobbingwide, Bob Gregor, bradparbs, Brady Vercher, Brandon Kraft, Brian Layman, Brian Zeligson, Bryan Petty, Callum Macdonald, Carl Danley, Caspie, Charleston Software Associates, cheeserolls, Chip Bennett, Chris Olbekson, Christopher Cochran, Christopher Finke, Chris Wallace, Cor van Noorloos, crazycoders, Daniel Bachhuber, Daniel Dvorkin (MZAWeb), Daniel Jalkut (Red Sweater), daniloercoli, Danny de Haan, Dave Ross, David Favor, David Trower, David Williamson, Dion Hulse, dllh, Dominik Schilling (ocean90), dovyp, Drew Jaynes (DrewAPicture), dvarga, Edward Caissie, elfin, Empireoflight, Eric Andrew Lewis, Erick Hitter, Eric Mann, Evan Solomon, faishal, feedmeastraycat, Frank Klein, Franz Josef Kaiser, FStop, Gabriel Koen, Gary Cao, Gary Jones, gcorne, GeertDD, Gennady Kovshenin, George Stephanis, gish, Gregory Karpinsky, hakre, hbanken, hebbet, Helen Hou-Sandi, helgatheviking, hirozed, hurtige, hypertextranch, Ian Dunn, Ipstenu (Mika Epstein), jakub, James Michael DuPont, jbutkus, Jeremy Felt, Jerry Bates (JerrySarcastic), Jesper Johansen (Jayjdk), Joe Hoyle, Joen Asmussen, Joey Kudish, John Blackbourn (johnbillion), John James Jacoby, Jonas Bolinder (jond3r), Jonathan Desrosiers, Jon Bishop, Jon Cave, Jose Castaneda, Joseph Scott, Josh Visick, jrbeilke, jrf, Justin de Vesine, Justin Sainton, kadamwhite, Kailey (trepmal), karmatosed, Kelly Dwan, keoshi, Konstantin Kovshenin, Konstantin Obenland, ktdreyer, Kurt Payne, kwight, Lance Willett, Lee Willis (leewillis77), lessbloat, Mantas Malcius, Maor Chasen, Marcel Brinkkemper, MarcusPope, Mark-k, Mark Jaquith, Mark McWilliams, Marko Heijnen, Matt Banks, Matthew Boynes, MatthewRuddy, Matt Wiebe, Max Cutler, Mel Choyce, mgibbs189, Michael, Michael Adams (mdawaffe), Michael Beckwith, Michael Fields, Mike Hansen, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mohammad Jangda, najamelan, Naoko Takano, Nashwan Doaqan, Niall Kennedy, Nick Daugherty, Nick Halsey, ninnypants, norcross, ParadisePorridge, Paul, Paul Clark, pavelevap, Pete Mall, Peter Westwood, Phill Brown, Pippin Williamson, Pollett, Prasath Nadarajah, programmin, rachelbaker, Rami Yushuvaev, redpixelstudios, reidburke, retlehs, Reuben Gunday, rlerdorf, Rodrigo Primo, roulandf, rovo89, Ryan Duff, Ryan Hellyer, Ryan McCue, Safirul Alredha, sara cannon, scholesmafia, Scott Kingsley Clark, Scott Reilly, Scott Taylor, scribu, Seisuke Kuraishi (tenpura), Sergej, Sergey Biryukov, Simon Hampel, Simon Wheatley, Siobhan, sirzooro, slene, solarissmoke, SriniG, Stephen Harris, storkontheroof, Sunny Ratilal, sweetie089, Tar, Taylor Lovett, Thomas van der Beek, Tim Carr, tjsingleton, TobiasBg, toscho, Tracy Rotton, TravisHoffman, uuf6429, Vitor Carvalho, wojtek, wpewill, WraithKenny, wycks, Xavier Borderie, Yoav Farhi, Zachary Brown, Zack Tollman, zekeweeks, ziegenberg, and viniciusmassuchetto.

\n

Time to upgrade!

\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:45:"http://wordpress.org/news/2013/08/oscar/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:45:"\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:33:"WordPress 3.6 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/2013/07/wordpress-3-6-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/2013/07/wordpress-3-6-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:"Wed, 24 Jul 2013 07:25: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:8:"category";a:2:{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: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=2649";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 second release candidate for WordPress 3.6 is now available for download and testing. We’re down to only a few remaining issues, and the final release should be available in a matter of days. In RC2, we’ve tightened up some aspects of revisions, autosave, and the media player, and fixed some bugs that were spotted […]";s: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:1325:"

The second release candidate for WordPress 3.6 is now available for download and testing.

\n

We’re down to only a few remaining issues, and the final release should be available in a matter of days. In RC2, we’ve tightened up some aspects of revisions, autosave, and the media player, and fixed some bugs that were spotted in RC1. Please test this release candidate as much as you can, so we can deliver a smooth final release!

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums.

\n

Developers, please continue to test your plugins and themes, so that if there is a compatibility issue, we can figure it out before the final release. You can find our list of known issues here.

\n

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

\n

Revisions so smooth
\nWe autosave your changes
\nData loss begone!

\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/2013/07/wordpress-3-6-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:9;a:6:{s:4:"data";s:45:"\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.6 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/2013/07/wordpress-3-6-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/2013/07/wordpress-3-6-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:"Sat, 13 Jul 2013 03:23: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:8:"category";a:2:{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: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=2639";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:344:"The first release candidate for WordPress 3.6 is now available. We hope to ship WordPress 3.6 in a couple weeks. But to do that, we really need your help! If you haven’t tested 3.6 yet, there’s no time like the present. (But please: not on a live production site, unless you’re feeling especially adventurous.) Think […]";s: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:1504:"

The first release candidate for WordPress 3.6 is now available.

\n

We hope to ship WordPress 3.6 in a couple weeks. But to do that, we really need your help! If you haven’t tested 3.6 yet, there’s no time like the present. (But please: not on a live production site, unless you’re feeling especially adventurous.)

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here. Developers, please test your plugins and themes, so that if there is a compatibility issue, we can sort it out before the final release.

\n

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

\n

As you may have heard, we backed the Post Format UI feature out of the release. On the other hand, our slick new revisions browser had some extra time to develop. You should see it with 200+ revisions loaded — scrubbing back and forth at lightning speed is a thing of beauty.

\n

Delayed, but still loved
\nThe release will be out soon
\nTest it, por favor

\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/2013/07/wordpress-3-6-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:"";}}}}}}}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:"Sat, 26 Oct 2013 07:48:34 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:"Thu, 24 Oct 2013 22:40:34 GMT";s:4:"x-nc";s:11:"HIT lax 249";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_options` VALUES (4545, '_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1382816889', 'no'); +INSERT INTO `wp_options` VALUES (4546, '_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1382773689', 'no'); +INSERT INTO `wp_options` VALUES (4547, '_transient_timeout_dash_4077549d03da2e451c8b5f002294ff51', '1382816889', 'no'); +INSERT INTO `wp_options` VALUES (4548, '_transient_dash_4077549d03da2e451c8b5f002294ff51', '
', 'no'); +INSERT INTO `wp_options` VALUES (4550, '_transient_timeout_feed_b9388c83948825c1edaef0d856b7b109', '1382816889', 'no'); +INSERT INTO `wp_options` VALUES (4551, '_transient_feed_b9388c83948825c1edaef0d856b7b109', '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:44:"http://wordpress.org/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:"Sat, 26 Oct 2013 07:29:49 +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:25:"http://bbpress.org/?v=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:"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:14:"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:54:"http://wordpress.org/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:34:"2141@http://wordpress.org/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: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:19:"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:58:"http://wordpress.org/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:33:"753@http://wordpress.org/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:126:"All in One SEO Pack is a WordPress SEO plugin to automatically optimize your Wordpress blog for Search Engines such as Google.";s: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: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:19:"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:63:"http://wordpress.org/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:33:"132@http://wordpress.org/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:5:"Arnee";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:7:"Akismet";s: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:45:"http://wordpress.org/plugins/akismet/#post-15";s: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:11:30 +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:32:"15@http://wordpress.org/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:98:"Akismet checks your comments against the Akismet web service to see if they look like spam or not.";s: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: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:33:"WooCommerce - excelling eCommerce";s: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/plugins/woocommerce/#post-29860";s: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, 05 Sep 2011 08:13:36 +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:35:"29860@http://wordpress.org/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:97:"WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.";s: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:"WooThemes";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:15:"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:55:"http://wordpress.org/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:34:"1169@http://wordpress.org/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:122:"The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 7.5 million downloads.";s: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: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:22:"WordPress SEO by Yoast";s: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:53:"http://wordpress.org/plugins/wordpress-seo/#post-8321";s: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 Jan 2009 20:34: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:34:"8321@http://wordpress.org/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:"Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using the WordPress SEO plugin by Yoast.";s: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:"Joost de Valk";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:24:"Jetpack by WordPress.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:4:"link";a:1:{i:0;a:5:{s:4:"data";s:48:"http://wordpress.org/plugins/jetpack/#post-23862";s: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 Jan 2011 02:21: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:35:"23862@http://wordpress.org/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:104:"Supercharge your WordPress site with powerful features previously only available to WordPress.com users.";s: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:"Tim Moore";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:18:"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:59:"http://wordpress.org/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:35:"18101@http://wordpress.org/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: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:14:"WP Super 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:54:"http://wordpress.org/plugins/wp-super-cache/#post-2572";s: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, 05 Nov 2007 11:40: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:34:"2572@http://wordpress.org/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:"A very fast caching engine for WordPress that produces static html files.";s: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:"Donncha O Caoimh";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:19:"Broken Link Checker";s: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://wordpress.org/plugins/broken-link-checker/#post-2441";s: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, 08 Oct 2007 21:35: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:34:"2441@http://wordpress.org/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:"This plugin will check your posts, comments and other content for broken links and missing images, and notify you if any are found.";s: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:"Janis Elsts";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:18:"Wordfence 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:"link";a:1:{i:0;a:5:{s:4:"data";s:50:"http://wordpress.org/plugins/wordfence/#post-29832";s: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, 04 Sep 2011 03:13:51 +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:35:"29832@http://wordpress.org/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:"Wordfence Security is a free enterprise class security plugin that includes a firewall, virus scanning, real-time traffic with geolocation 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:9:"Wordfence";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:12:"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:60:"http://wordpress.org/plugins/contact-form-plugin/#post-26890";s: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 May 2011 07:34:58 +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:35:"26890@http://wordpress.org/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:43:"Add Contact Form to your WordPress 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: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: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:7:"Captcha";s: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://wordpress.org/plugins/captcha/#post-26129";s: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, 27 Apr 2011 05: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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"26129@http://wordpress.org/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:79:"This plugin allows you to implement super security captcha form into web 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:"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: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:40:"Yet Another Related Posts Plugin (YARPP)";s: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/plugins/yet-another-related-posts-plugin/#post-2769";s: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, 02 Jan 2008 13:05: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:34:"2769@http://wordpress.org/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:122:"Display a list of related entries on your site and feeds based on a unique algorithm. Now with thumbnail support built-in!";s: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:35:"mitcho (Michael Yoshitaka Erlewine)";s: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:45:"http://wordpress.org/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:10:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Sat, 26 Oct 2013 07:48:35 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:7:"expires";s:29:"Sat, 26 Oct 2013 08:04:49 GMT";s:13:"cache-control";s:0:"";s:6:"pragma";s:0:"";s:13:"last-modified";s:31:"Sat, 26 Oct 2013 07:29:49 +0000";s:4:"x-nc";s:11:"HIT lax 249";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_options` VALUES (4552, '_transient_timeout_feed_mod_b9388c83948825c1edaef0d856b7b109', '1382816889', 'no'); +INSERT INTO `wp_options` VALUES (4553, '_transient_feed_mod_b9388c83948825c1edaef0d856b7b109', '1382773689', 'no'); +INSERT INTO `wp_options` VALUES (4554, '_transient_timeout_feed_77fa140e07ce53fe8c87136636f83d72', '1382816890', 'no'); +INSERT INTO `wp_options` VALUES (4555, '_transient_feed_77fa140e07ce53fe8c87136636f83d72', '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:40:"http://wordpress.org/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:"Sat, 26 Oct 2013 07:34: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:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:25:"http://bbpress.org/?v=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:"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:13:"wp-turbolinks";s: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/plugins/wp-turbolinks/#post-59621";s: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, 19 Oct 2013 00:26: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:35:"59621@http://wordpress.org/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:56:"Turbolinks extracted from Rails, for use with 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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:15:"keita_kobayashi";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:17:"Hopos Slider Lite";s: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/plugins/hopos-slider-lite/#post-59794";s: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, 24 Oct 2013 00:04: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:35:"59794@http://wordpress.org/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:"Hopos Slider Lite - Responsive Wordpress Plugin is highly customizable and flexible. Can be used any post type and any taxonomy.";s: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:"srvalle";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:"HTML5 Video gallery and Player";s: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/plugins/html5-videogallery-plus-player/#post-59802";s: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, 24 Oct 2013 07:26: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:35:"59802@http://wordpress.org/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:"A quick, easy way to add responsive HTML5 Video gallery and Video player to Wordpress 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:12:"anoopranawat";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:10:"SAPE Links";s: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/plugins/ram108-sape/#post-59732";s: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, 22 Oct 2013 20:26: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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"59732@http://wordpress.org/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:96:"SAPE.RU: Adds widget and shortcode to integrate sape.ru contextual links for russian webmasters.";s: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:"ram108";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:38:"WooCommerce Sequential Invoice Numbers";s: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://wordpress.org/plugins/woocommerce-sequential-invoice-numbers/#post-59332";s: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, 11 Oct 2013 12:11:58 +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:35:"59332@http://wordpress.org/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:"Provides sequential invoice numbers for WooCommerce orders";s: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:"Gabriel Reguly";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:"Disable Automatic Updates";s: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/plugins/disable-automatic-updates/#post-59844";s: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, 25 Oct 2013 15:16: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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"59844@http://wordpress.org/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 disables automatic updates feature in WordPress 3.7+, which is enabled by default..";s: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:"oneTarek";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:37:"Background Updates for Major 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:"link";a:1:{i:0;a:5:{s:4:"data";s:78:"http://wordpress.org/plugins/background-updates-for-major-releases/#post-59847";s: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, 25 Oct 2013 16:56: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:35:"59847@http://wordpress.org/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:85:"Enables background updates for major releases. No settings, just activate and enjoy.";s: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:"Aaron D. Campbell";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:10:"Textbox.io";s: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/plugins/textboxio/#post-59495";s: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, 15 Oct 2013 23:32: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:35:"59495@http://wordpress.org/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:132:"Powerful visual editing for WordPress. Distraction free writing with beautifully simple UI, media embeds, markdown and spell check.";s: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:"gavindouglas";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:8:"affilizr";s: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:49:"http://wordpress.org/plugins/affilizr/#post-59487";s: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, 15 Oct 2013 19:49: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:35:"59487@http://wordpress.org/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:88:"Affilizr : Automatic conversion of "standard" product links into affiliate links";s: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:"affilizr";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:25:"Safari Push Notifications";s: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/plugins/safari-push/#post-59699";s: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, 22 Oct 2013 10:54:58 +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:35:"59699@http://wordpress.org/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:72:"Allows WordPress to publish updates to a push server for Safari browsers";s: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:"macgamer";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:16:"Content Enhancer";s: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/plugins/content-enhancer/#post-59181";s: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, 07 Oct 2013 02:16: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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"59181@http://wordpress.org/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:115:"This plugin allows you to insert html/javascript code into your post's content in a variety of different ways.";s: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:"gvanto";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:15:"Game Dev Quotes";s: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/plugins/game-dev-quotes/#post-59736";s: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, 23 Oct 2013 00:09: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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:35:"59736@http://wordpress.org/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:84:"Simple shortcodes to style game developer quotes as they are on the developers 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:4:"Tony";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:25:"Foundation Verify Install";s: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/plugins/foundation-verify-install/#post-59734";s: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, 22 Oct 2013 21:11: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:35:"59734@http://wordpress.org/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:122:"This plugin verifies your installed files against a hash to see if any are missing, changed or corrupt. Takes two 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:17:"foundationdigital";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:73:"Upcoming Concerts, Sports, and Theater - Content Reader and Ticket 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:84:"http://wordpress.org/plugins/upcoming-concerts-sports-and-theater-widget/#post-59553";s: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, 17 Oct 2013 16:41:46 +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:35:"59553@http://wordpress.org/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:"This plugin finds the artists (bands, singers/songwriters, etc.), sports teams, and theatrical performances in your posts and adds a widget at the end";s: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:"CraigKleila";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:21:"Adfever Monétisation";s: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/plugins/adfever-monetisation/#post-59546";s: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, 17 Oct 2013 11:57: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:35:"59546@http://wordpress.org/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:75:"Plugin de monétisation pour les membres de la régie publicitaire AdFever.";s: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:"adfever";s: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:41:"http://wordpress.org/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:10:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Sat, 26 Oct 2013 07:48:35 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:7:"expires";s:29:"Sat, 26 Oct 2013 08:09:56 GMT";s:13:"cache-control";s:0:"";s:6:"pragma";s:0:"";s:13:"last-modified";s:31:"Sat, 26 Oct 2013 07:34:56 +0000";s:4:"x-nc";s:11:"HIT lax 249";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_options` VALUES (4556, '_transient_timeout_feed_mod_77fa140e07ce53fe8c87136636f83d72', '1382816890', 'no'); +INSERT INTO `wp_options` VALUES (4557, '_transient_feed_mod_77fa140e07ce53fe8c87136636f83d72', '1382773690', 'no'); +INSERT INTO `wp_options` VALUES (4558, '_transient_timeout_plugin_slugs', '1382860131', 'no'); +INSERT INTO `wp_options` VALUES (4559, '_transient_plugin_slugs', 'a:20:{i:0;s:71:"advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.php";i:1;s:19:"akismet/akismet.php";i:2;s:54:"ancient-world-linked-data-for-wordpress/wp-awld-js.php";i:3;s:42:"bwp-google-xml-sitemaps/bwp-simple-gxs.php";i:4;s:31:"cookie-notice/cookie-notice.php";i:5;s:31:"exclude-pages/exclude_pages.php";i:6;s:43:"google-analyticator/google-analyticator.php";i:7;s:36:"google-sitemap-generator/sitemap.php";i:8;s:9:"hello.php";i:9;s:29:"image-widget/image-widget.php";i:10;s:17:"openid/openid.php";i:11;s:49:"wordpress-openid-delegation/openid-delegation.php";i:12;s:41:"responsive-add-ons/responsive-add-ons.php";i:13;s:33:"rotating-posts/rotating-posts.php";i:14;s:35:"oa-social-login/oa-social-login.php";i:15;s:41:"loginradius-for-wordpress/LoginRadius.php";i:16;s:29:"wp-db-backup/wp-db-backup.php";i:17;s:46:"wordpress-mu-domain-mapping/domain_mapping.php";i:18;s:42:"wordpress-social-login/wp-social-login.php";i:19;s:33:"wp-linked-data/wp-linked-data.php";}', 'no'); +INSERT INTO `wp_options` VALUES (4560, '_transient_timeout_dash_de3249c4736ad3bd2cd29147c4a0d43e', '1382816890', 'no'); +INSERT INTO `wp_options` VALUES (4561, '_transient_dash_de3249c4736ad3bd2cd29147c4a0d43e', '

Most Popular

\n
WooCommerce - excelling eCommerce
 (Install)\n

WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.

\n

Newest Plugins

\n
Background Updates for Major Releases
 (Install)\n

Enables background updates for major releases. No settings, just activate and enjoy.

\n', 'no'); +INSERT INTO `wp_options` VALUES (4563, '_transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c', '1382816891', 'no'); +INSERT INTO `wp_options` VALUES (4564, '_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:61:"WordPress.tv: Coen Jacobs and Scott Basgaard: WooCommerce 2.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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24109";s: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:78:"http://wordpress.tv/2013/10/25/coen-jacobs-and-scott-basgaard-woocommerce-2-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:678:"
\n
\n
Coen Jacobs and Scott Basgaard: WooCommerce 2.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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 04:16: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:12:"WordPress.tv";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:73:"WPTavern: WPWeekly Episode 125 – Alex Denning And The Future Of WPShout";s: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:32:"http://www.wptavern.com/?p=10488";s: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:121:"http://feedproxy.google.com/~r/WordpressTavern/~3/BrQjYeCM2K0/wpweekly-episode-125-alex-denning-and-the-future-of-wpshout";s: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:3402:"

WordPress Weekly Cover ArtOn this weeks edition of the show, Alex Denning was my special guest along with the new owners of WPShout.com, Fred and David of PressUp Inc. In the show, Alex and I talk about the last four years of publishing content on WPShout.com, what types of opportunities it’s opened up for him, and what it took to put together his annual webhosting review posts. Later in the show, I was joined by David and Fred. We talked about their plans for WPShout.com, their WordPress background and if they have any plans to monetize the site. Since Alex is now going to be focusing on school and has sold his website, I want to take this opportunity to thank him personally for spending his time making WPShout a great resource in the WordPress community.

\n

If you will be attending WordCamp London in November, be sure to attend Alex’s session or at least say hi to him. It’s his first WordCamp and he’s speaking!

\n

Stories Discussed:

\n

WordPress 3.7 Released
\nDefinitive Guide For Disabling Updates
\nThe Menace Of Theme Creep
\nHow to find live examples of just about any WordPress theme

\n

WPWeekly Meta:

\n

Next Episode: Friday, November 1st 3 P.M. Eastern – Our special guest for next week’s episode will be Cory Miller of iThemes.com to talk about his experience of leading one of the most successful commercial WordPress theme businesses on the web.

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #125:
\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 01:10: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: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: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:92:"WordPress.tv: Nic Haralambous: Nicsocks: Selling Limited Edition Socks Online With 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:28:"http://wordpress.tv/?p=24156";s: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:108:"http://wordpress.tv/2013/10/25/nic-haralambous-nicsocks-selling-limited-edition-socks-online-with-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:733:"
\n
\n
Nic Haralambous: Nicsocks: Selling Limited Edition Socks Online With 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Oct 2013 20:38: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:12:"WordPress.tv";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:58:"WPTavern: WordPress Distraction Free Writing Mode Enhanced";s: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:32:"http://www.wptavern.com/?p=10409";s: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:110:"http://feedproxy.google.com/~r/WordpressTavern/~3/HM_lJnooDn8/wordpress-distraction-free-writing-mode-enhanced";s: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:4656:"

It’s easy to get distracted while writing posts. You’re in a browser and you probably have a few other tabs open with notifications beeping at you from every direction. On top of that, the WordPress post editor has a ton of meta boxes competing for your attention. With all of this going on, how can you focus on crafting beautiful words?

\n

The Distraction Free Writing Mode (DFWM) feature was introduced in WordPress 3.2, giving users the opportunity to find a zen place for writing while staying within the dashboard. It’s launched via the “fullscreen” button in the editor, whisking you away to a screen with an intentionally-limited button selection. These buttons fade away in the top menu as you begin composing. Here’s the default DFWM screen:

\n
WordPress Distraction Free Writing Mode

WordPress Distraction Free Writing Mode

\n

Enhance Distraction Free Writing Mode with the Visual Editor

\n

Many users love the minimalism of this screen and will write the text of their post but format it later within the regular post editor. Just Writing is a new plugin that aims to keep you in the DFWM for the entire writing and formatting process.

\n

Essentially, the plugin enhances DFWM by adding the visual editor to the top with the other buttons. It also disappears as per the normal behavior. Here’s a look at the enhanced version with all the extra buttons turned on:

\n

allthebuttons

\n

With the plugin installed you gain the “Undo” and “Redo” functions, text align, underline. proofreading and everything that you would expect with the visual editor. Beyond that, Just Writing also performs a few more subtle functions:

\n\n

Even if you’re not a fan of the visual editor buttons, the extra Preview button is a definite improvement over the DFWM in its default form. Installing the plugin also doesn’t universally apply the settings to all users. Each user is able to choose the buttons he wants to display to create his own zen writing place.

\n

Customize Your Distraction Free Writing Mode Experience

\n

Enhanced? Isn’t the point of the distraction free writing mode to get rid of everything and just write? Sure there are some of you out there who hate the visual editor with a passion, but there are also many who currently depend upon it.

\n

Just Writing isn’t an all-or-nothing plugin. It has an options panel where you can add or remove support for any of the visual editor buttons:

\n
Just Writing plugin options

Just Writing plugin options

\n

These options allow you to select the buttons that help you to stay in the flow while composing posts.

\n

Just Writing is available for free in the WordPress plugin repository. If you feel like the Distraction Free Writing Mode is missing a few functions, give this plugin a spin and see if it enhances your writing experience.

\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, 25 Oct 2013 20:21: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:67:"WPTavern: How to Configure Automatic Core Updates for WordPress 3.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:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10437";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/Bl1O4Pw_P3c/how-to-configure-automatic-core-updates-for-wordpress-3-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4272:"

So, how does this work?

So, how does this work?

Today following the release of WordPress 3.7 many users are wondering where the settings page is to configure these options. The answer is that there is no settings page in the WordPress admin. If you upgrade to WordPress 3.7, the default behavior is that you’ll be automatically upgraded for security and minor releases.

\n

The fact that it’s security and minor releases only is a very important distinction here. These generally do not break anyone’s website, plugin or themes. If you’re using a plugin that gets broken due to a security release, then that raises a red flag and a few questions about how that plugin is interacting with the WordPress core.

\n

If you want to make changes to WordPress default behavior of keeping your site current with security/minor releases, you will need to edit your wp-config.php file.

\n

I asked Andrew Nacin if there is a plan to expose the core update configuration options to the UI in the future. He replied that there is “no good reason for an opt-out UI now, but as we grow more confident, I imagine an opt-in UI for major versions could be next.” So maybe this is around the corner, but for now, read on to learn how to configure your updates.

\n

3 Basic Options for Core Updates in WordPress 3.7

\n

Let’s simplify things here. You basically have three options for WordPress core updates:

\n

1. Update the core for minor versions (on by default):

\n

If you’re running WordPress 3.7, there’s nothing you need to do to turn this on. You’ll be automatically updated for security and minor releases. Here’s what it would look like in wp-config.php:

\n
define( \'WP_AUTO_UPDATE_CORE\', \'minor\' );
\n

2. Disable all core updates:

\n

If you’re uncomfortable with WordPress keeping your site current with minor releases and security updates, here’s how you turn it off. Add this to your wp-config.php file:

\n
define( \'WP_AUTO_UPDATE_CORE\', false );
\n

However, I would encourage you to read this definitive guide from Nacin before turning off core updates completely.

\n

3. Get all updates, including development, major and minor releases:

\n

This is the cowboy option that is probably more likely something you’d want to enable on a personal blog. If you turn this on in wp-config.php, you’ll be automatically updated for every release that WordPress puts out:

\n
define( \'WP_AUTO_UPDATE_CORE\', true );
\n

You can also apply all of the above via new filters added in WordPress 3.7, as outlined in the codex article on Configuring Automatic Background Updates. Filters are also available for plugin, theme and translation updates should you want to add those in the mix, too.

\n

If you’re scratching your head and trying to get your brain around all of these options, wondering what to do, then just leave the default options in place and don’t mess with it. WordPress strongly discourages disabling the automatic security updates. These updates have been heavily tested and are quite safe. Getting hacked because you didn’t want to take security updates would be really lame. The best option is to leave security updates in place.

\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, 25 Oct 2013 16:37: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:62:"WPTavern: WordPress 3.7 Released: WordPress Now Updates Itself";s: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:32:"http://www.wptavern.com/?p=10414";s: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:113:"http://feedproxy.google.com/~r/WordpressTavern/~3/l-3I_2jNRJ4/wordpress-3-7-released-wordpress-now-updates-itself";s: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:4510:"

WordPress 3.7 has been released and the big news is that WordPress now has the ability to update itself. This begins a new era of automatic background updates for security and minor releases. Web hosts around the world have been eagerly awaiting this release and are cheering its arrival. The upgrade process has been greatly improved and boy is it ever solid:

\n

We ended the WordPress 3.7 beta cycle with 112,434 automatic background updates attempted and not a single critical failure.

\n

— Andrew Nacin (@nacin) October 25, 2013

\n

\n

Not a single critical failure. Try blaming Nacin for that, folks.

\n

WordPress 3.7 is dubbed Basie, after Count Basie, an American jazz pianist with an unparalleled talent for improvisation. He learned to improvise while playing along to silent films for a local movie theater. Before he was famous, Basie sharpened his improv skills by playing jazz piano at parties and resorts. He went on to create his own jazz orchestra and mentor many other musicians along the way.

\n

Count Basie

Count Basie

It seems fitting that this release honors Basie. The web is full of hackers who seek to exploit any vulnerability they can find in WordPress. Users have to be quick to improvise and secure our sites as soon as minor releases are shipped out. Automatic background updates give millions of users the ability to stay current with each security update. The beautiful thing is that it’s totally effortless on the part of the user.

\n

On the surface you won’t see too many flashy UI improvements, but under the hood you’ll find a better engine. When you search WordPress you’ll see better and more relevant results. Developers will be happy to find improved support for multisite, advanced date queries and a ton of new functions to play with. You can review every last detail on the dedicated 3.7 release page.

\n

wp-admin/about.php

wp-admin/about.php

WordPress 3.7 has a beautiful about.php page that you can only see if you upgrade. Hint, hint. It includes a live demo of the new password strength meter that will help you to create stronger passwords.

\n

This release also includes better global support for translations, meaning that it will automatically install language files and silently keep them up to date. There’s a trend here: WordPress is doing a lot more for you in the background so that you can focus on creating content. This sets the bar pretty high for what users can expect from their publishing software in the future.

\n

Now that WordPress can update itself, I am once again reminded that this software is a living, breathing thing. Andrew Nacin, Dion Hulse and Jon Cave had the help of 211 contributors in shipping 3.7. Hats off to these folks – they’ve worked hard and done well.

\n

Time to celebrate with a few tunes from Count Basie and his jazz orchestra to kick off your upgrades. By the way, if you’re configuring automatic updates for everything, this is the last time you’ll ever have to update WordPress manually.

\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Oct 2013 05:09: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:35:"Dev Blog: WordPress 3.7 “Basieâ€";s: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=2736";s: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://wordpress.org/news/2013/10/basie/";s: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:17220:"

Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones:

\n\n

For developers there are lots of options around how to control the new updates feature, including allowing it to handle major upgrades as well as minor ones, more sophisticated date query support, and multisite improvements. As always, if you’re hungry for more dive into the Codex or browse the over 400 closed tickets on Trac.

\n

A New Wave

\n

This release was led by Andrew Nacin, backed up by Dion Hulse and Jon Cave. This is our first release using the new plugin-first development process, with a much shorter timeframe than in the past. (3.6 was released in August.) The 3.8 release, due in December, will continue this plugin-led development cycle that gives much more autonomy to plugin leads and allows us to decouple feature development from a release. You can follow this grand experiment, and what we’re learning from it, on the make/core blog. There are 211 contributors with props in this release:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, adamsilverstein, Alexander Hoereth, Alex Mills (Viper007Bond), Amy Hendrix (sabreuse), andg, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Spittle, askapache, atimmer, Barry, Beau Lebens, ben.moody, Ben Miller, Bernhard Riedl, BFTrick, Billy (bananastalktome), bmb, Brandon Kraft, brianhogg, Brian Richards, Bryan Petty, Carl Danley, CharlesClarkson, Chip Bennett, Chouby, Chris Olbekson, Chris Rudzki, coderaaron, Coen Jacobs, Colin Robinson, cyonite, Daan Kortenbach, Daniel Bachhuber, Daniel Convissor, dartiss, Daryl Koopersmith, Dave Ross, David Laietta, Dion Hulse, dllh, Dominik Schilling (ocean90), dpash, Drew Jaynes, DrProtocols, Dustin Filippini, dzver, Edward Caissie, enej, Eric Andrew Lewis, Eric Mann, Evan Solomon, faishal, Faison, Foofy, Frankie Jarrett, Frank Klein, Gary Cao, Gary Pendergast, Gaya Kessler, George Stephanis, Gizburdt, goldenapples, gradyetc, Gregory Cornelius, Gustavo Bordoni, hakre, Helen Hou-Sandi, Ian Dunn, Ipstenu (Mika Epstein), itinerant, J.D. Grimes, jakub.tyrcha, James Collins, Jen Mylo, Jeremy Buller, Jeremy Felt, Jesper Johansen (jayjdk), Joe Hoyle, Joey Kudish, John Beales, John Blackbourn (johnbillion), John Fish, John James Jacoby, John P. Bloch, Jonas Bolinder (jond3r), Jonathan Christopher, Jonathan Desrosiers, Jon Cave, Jon Lynch, Joost de Valk, Joseph Scott, Josh Betz, Justin de Vesine, Justin Sainton, K.Adam White, Kailey (trepmal), Ketwaroo, kevinB, Kim Parsell, kitchin, Konstantin Kovshenin, Konstantin Obenland, koopersmith, Kurt Payne, Lance Willett, Lee Willis (leewillis77), lessbloat, Lew Ayotte, Luke Gedeon, Marcin Pietrzak, Marco Cimmino, Marco Galasso, Mark Jaquith, Mark McWilliams, Marko Heijnen, Mel Choyce, Michael Beckwith, Mike Hansen, Mike Schinkel, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mr Papa, Naoko Takano, Naomi, Nashwan Doaqan, NateJacobs, nathanrice, Niall Kennedy, Nick Daugherty, Nick Halsey, Nick Momrik, Nikhil Vimal (NikV), Nikolay Bachiyski, noahsilverstein, nofearinc, nukaga, nullvariable, Oleg Butuzov, Paolo Belcastro, Parham, Paul Biron, Paul de Wouters, pavelevap, peterjaap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, plocha, Pollett, Ptah Dunbar, Rami Yushuvaev, Rasheed Bydousi, RayBernard, rboren, Reuben Gunday, rfair404, Richard Tape, Rick Radko, Robert Chapin, Robert Dall, Rodrigo Primo, Ron Rennick, rpattillo, Ryan Boren, Ryan McCue, Sam Hotchkiss, Scott Reilly, scottsweb, Scott Taylor, scribu, scruffian, Seisuke Kuraishi (tenpura), Sergey Biryukov, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, Stephanie Leary, Stephen Edgar (@netweb), Stephen Harris, strangerstudios, sweetie089, swissspidy, Takayuki Miyauchi, Takuma Morikawa, Taylor Lovett, tivnet, TobiasBg, Tom Auger, toscho, Travis Smith, Ulrich Sossou, vericgar, Vinod Dalvi, Weston Ruter, wikicms, Will Norris, Wojtek Szkutnik, wycks, Yoav Farhi, and Yuri Victor.

\n

Enjoy what may be one of your last few manual updates. See you soon for version 3.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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 24 Oct 2013 22:35: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: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: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:83:"WPTavern: Disrupting The WordPress Commercial Theme Market – A 3themes Experiment";s: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:32:"http://www.wptavern.com/?p=10398";s: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:121:"http://feedproxy.google.com/~r/WordpressTavern/~3/w5xTWijIX1o/disrupting-the-commercial-theme-market-a-3themes-experiment";s: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:3501:"

3 themes splash pageThe questions are simple but the answers are not. Can a theme that is built for developers using best practices be successful in the commercial space? Can a commercial theme add value without adding functionality and bloat? Those are the questions that a trio of WordPress developers are going to try to answer with their 3them.es experiment.

\n

Michelle Schulp of Marktimemedia has published her experience at Pressnomics 2013 and the reasoning behind the new experiment. While at the event, she attended the Commercialization in the WordPress ecosystem panel session featuring business owners Pippin Williamson, Carl Hancock, Cory Miller, and Helen Souness. In that discussion, the following question was asked. How do you build a commercial digital product, especially one built using the GPL, that adds value in a way that is distinguishable from its competitors? According to Michelle, the panel was quick to dismiss commercial themes as being easily commoditized.

\n

After talking with a number of people at the conference, Michelle decided to partner with Kiko Doran, and Josh Broton to start the 3themes experiment.

\n

3themes is a unique collaboration because we will also be documenting it every step of the way: recording our weekly meetings on Google Hangout in the form of a podcast, blogging about our process on the website, hosting code on GitHub, voicing our thoughts on Twitter, etc. We want this not only to be a case study in the commercial theme marketplace, but in working as a small distributed team and problem solving just as we would for a client. The hope is to create some dialogue in the WordPress community, as well as just have some fun and see what great things we can build together.

\n

If you’re interested to see where this goes, check out the live Google hangout at 8:30 PM CST on Tuesday nights as they begin the process of experimentation by first building their website and brand.

\n

This is going to be an excellent experiment and I bet many are curious as to what the end result will be. If you remember, Justin Tadlock performed a similar experiment via ThemeForest with mildly successful results.

\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, 24 Oct 2013 21:21: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: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: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:105:"WordPress.tv: Brian Krogsgard and Pippin Williamson: WordPress Plugins, Code And The Ecosystem In General";s: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:28:"http://wordpress.tv/?p=24111";s: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:121:"http://wordpress.tv/2013/10/24/brian-krogsgard-and-pippin-williamson-wordpress-plugins-code-and-the-ecosystem-in-general/";s: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:759:"
\n
\n
Brian Krogsgard and Pippin Williamson: WordPress Plugins, Code And The Ecosystem In General
";s: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, 24 Oct 2013 20:37: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:"WordPress.tv";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:78:"WPTavern: Add Your Meetup Group to the Central WordPress Account on Meetup.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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10313";s: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:130:"http://feedproxy.google.com/~r/WordpressTavern/~3/o_k5yMGxjF4/add-your-meetup-group-to-the-central-wordpress-account-on-meetup-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2127:"

meetupsIf you run a local WordPress meetup, you’re invited to move it under the central WordPress account on meetup.com. Jen Mylo created a form where meetup coordinators can submit their meetup to be included. The awesome benefit is that WordPress will cover the meetup.com dues for your listing.

\n

Jen posted a number of simple guidelines that were created by active meetup group volunteers. Your group will have to fulfill these before submitting to the central account. I won’t list them all here, but this is a summary: Essentially, you can’t use your local meetup to pimp out your business or yourself. Leave Mr. Salesman at home and join a meetup to connect with other WordPress fans. Meetups are for the benefit of the community and polite and respectful behavior is expected. If you organize a meetup that qualifies, use the form to get in touch with Jen Mylo.

\n

A some point in the future, meetup group listings will most likely switch over to using SupportPress, as they do for WordCamps. For now, they’ll be consolidating all the meetups on meetup.com. Please note that the meetup interest form is not just for new meetup groups but is also available for existing WordPress meetups that want to transfer the group over to the central account.

\n

It’s very cool that WordPress is supporting local meetups by covering their meetup.com dues. Help spread the word to get this information out there to local meetup organizers that you know.

\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, 24 Oct 2013 19:33: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:69:"WPTavern: Jarvis: A Free Quicksearch Tool for the WordPress Dashboard";s: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:32:"http://www.wptavern.com/?p=10359";s: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://feedproxy.google.com/~r/WordpressTavern/~3/ntFV7bakzqY/jarvis-a-free-quicksearch-tool-for-the-wordpress-dashboard";s: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:3233:"

If you’ve ever used a WordPress site with thousands of posts and/or hundreds of pages, you might have found it a challenge to quickly navigate to the content you’re looking for. Jarvis is a new dashboard quicksearch plugin that addresses this very problem.

\n

jarvis

\n

Created by the folks at The Web Development Group, the Jarvis plugin lets you easily search anything that you’re looking for inside the WordPress admin area, including plugins, themes, content, settings pages and everything else.

\n

Jarvis is available on WordPress.org but it also has its own homepage where you can find a demo that shows how it works:

\n

jarvis-preview

\n

While different areas of the WordPress dashboard do include a search option, i.e. installed plugins or post content, there is no centralized search form to search everything. Ever install a plugin and then can’t, for the life of you, find its settings page? The Jarvis search helps you to instantly locate it. I can see how this could be very useful for a new user. For example, one might not know that the import feature is located under Tools. Using Jarvis he can quickly search and navigate to the import screen.

\n

There’s another similar tool out there called WP Butler, which also launches from the admin bar. I don’t know if Jarvis grabbed some inspiration from its code or not but the tools seem somewhat similar in that they both make it easier to get to pages in the WordPress admin.

\n

Beyond just helping you find things, the Jarvis plugin allows you to quickly zoom through the WordPress dashboard. For many, typing in a search box is second nature and much quicker than mousing around to the correct menu. Jarvis search appears to be lightning fast. This is one plugin that seems to be universally beneficial to both new and experienced WordPress users.

\n

The folks at The Web Development Group created Jarvis to fill a need they saw in the WordPress admin area. This tool is the first of many that they plan to release. You can download it for free at the WP Jarvis homepage or via the Add New plugins page within the WordPress admin.

\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, 24 Oct 2013 17:35: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:77:"WordPress.tv: Daniel Espinoza: Creating and Selling Premium WordPress 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:28:"http://wordpress.tv/?p=23010";s: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://wordpress.tv/2013/10/24/daniel-espinoza-creating-and-selling-premium-wordpress-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:710:"
\n
\n
Daniel Espinoza: Creating and Selling Premium WordPress 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:"Thu, 24 Oct 2013 14:33: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:68:"WPTavern: Pulse: An Example WordPress Plugin Using the Heartbeat API";s: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:32:"http://www.wptavern.com/?p=10304";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/HuYeePJabQ4/pulse-an-example-wordpress-plugin-using-the-heartbeat-api";s: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:3401:"

I’ve long been a fan of WordPress developer Jeffrey Pearce, better known online as Jeffikus. He’s created several educational resources for WordPress over the past few years. Today he released Pulse on github. Pulse is an open source plugin that will help developers get started with Heartbeat API development.

\n

photo credit: Lars P. via photopin cc

photo credit: Lars P. via photopin cc

\n

What is the WordPress Heartbeat API?

\n

The Heartbeat API was a new feature as of WordPress 3.6. It currently powers the autosave, post locking and log-in expiration warning that users receive while writing posts. This API works in the background to manage communication between a user’s browser and the server, enabling the creation of WordPress-powered asynchronous apps.

\n

Jeffikus’ Pulse plugin example demonstrates how to do two simple things:

\n\n

This plugin doesn’t actually perform any specific function, except to show you how you can interact with the WordPress Heartbeat API. It’s a learning tool to help developers get started building their own plugins.

\n

At the bottom of the Pulse plugin readme file on github Jeffikus includes a list of all the tutorials on the Heartbeat API that helped him to learn about it in the first place. If it wasn’t for other developers writing about what they are learning, he probably wouldn’t have had the inspiration to create this handy starter plugin. Hopefully, developers can use it to build something cool and help contribute back to the Heartbeat API documentation.

\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, 23 Oct 2013 22:04:46 +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:"Sarah Gooding";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:73:"WPTavern: Your Members Plugin Closes Its Doors, Releases Assets Under GPL";s: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:32:"http://www.wptavern.com/?p=10307";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/YCmv-tDNTiU/your-members-plugin-closes-its-doors-releases-assets-under-gpl";s: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:3069:"

Your Members LogoThe membership plugin Your Members has announced that they are ceasing operations. Your Members, which has been around since 2008, was one of the early successful commercial plugins in the membership space. The tale of the plugin’s demise is an interesting one because it has more to do with development than anything else.

\n

We started work on YM13 early this year and it became clear the new version wasn’t going to work with our current codebase. Indeed it reached the stage where even little changes are causing massive issues. So in August it was decided that we needed to make YM13 the last release on the current codebase and start on YMv2. I was rereading the blog posts that are sitting in drafts explaining where we were going and why, we never published them.

\n

It became clear it was just not financially feasible to build YMv2 we estimated it was 6 to 9 months work to do what we wanted to do properly and to do it we need to do it properly. We also believe we can’t continue to support and update the existing codebase.

\n

While the developers of Your Members received offers to be purchased, they declined them as they didn’t feel the buyer would provide the community with genuine support and were after their email list instead. Thus, it was decided that Your Members be withdrawn from the market and would no longer be for sale.

\n

One of the unique aspects of Your Members is that it contained a sunset clause. Now that the plugin has been withdrawn from the market, that clause has been invoked meaning everything in the Your Members download, including assets are available under the GPL license. Prior to closing, Your Members operated under a split license with the PHP licensed under the GPL and all other files under a different license. The plugin as well as the documentation will now live on Github.

\n

Is This The Way To Close a Business?

\n

It’s disappointing to see any business fold but I have to hand it to the folks behind Your Members. They are making everything open source and laying the ground work for anyone else who wants to try to pick up where they left off. How do you feel about the way they closed up shop?

\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, 23 Oct 2013 21:00: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: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: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:80:"WPTavern: WordPress Host WP Engine Will Not Support Automatic Background Updates";s: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:32:"http://www.wptavern.com/?p=10293";s: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:132:"http://feedproxy.google.com/~r/WordpressTavern/~3/1vIBBXFTK7M/wordpress-host-wp-engine-will-not-support-automatic-background-updates";s: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:5152:"

wpengineManaged updates have always been one of the main selling points for WP Engine’s WordPress hosting packages. Customers have the luxury of never having to update their own sites because WP Engine keeps them on the cutting edge:

\n

We keep your site secure without you having to think about it. Whenever WordPress issues a security update, we test it, and then proactively apply it to your site.

\n

However, the company announced today that it will not be offering support for WordPress’ new ability to update itself.

\n

WP Engine will not be supporting the background updates for WordPress. We will continue managing the updates for your installs, testing each release on our infrastructure, and fully managing the releases of the minor updates. For example, when there is a security update to WordPress, as soon as the patch is released, we’ll update all customer sites to ensure we continue to keep your sites safe and sound.

\n

\n

I asked WP Engine to clarify this statement. Does this mean that customers cannot enable automatic updates via the WP_AUTO_UPDATE_CORE define in wp-config.php? It seems that is the case. Their official policy is that automatic background updates will be disabled and customers will not be able to turn them on:

\n

The function will be disabled because when we update we also automatically create site backups for you.

\n

WP Engine will still continue to update customer sites as they always have. There’s no change here, but it is always interesting to note when a company restricts access to something that will soon be native to WordPress.

\n

Playing it Safe

\n

One huge advantage of enabling automatic background updates for WordPress is that a site can get those security improvements the very same day they are released with no waiting time. The same applies with major releases, plugins and themes, if one wants to live adventurously. However, if you host with WP Engine, you’ll have to settle with living on the safe side.

\n

WP Engine customers will either need to manually update their sites through the dashboard or wait for WP Engine to initiate those updates. The company tries to ship security updates out as soon as possible and these updates are usually applied within the same day. The reason for this is to keep customers from accidentally breaking their own sites without backing them up. WP Engine customers will be upgraded within a week or two of the 3.7 release, as per their announcement today. For many customers, this is exactly why they have chosen WP Engine. Not having to worry about testing major updates is a huge relief for WordPress site admins.

\n

The Future of Managed WordPress Hosting: A Growing List of Restrictions

\n

I am surprised that this popular WordPress hosting company is preventing its customers from taking advantage of one of the most exciting new features of WordPress 3.7. Although customers always have the freedom to manually update their sites early, they will not be permitted to allow WordPress to update itself. This makes sense as a company policy, but as a developer I can’t help but see it as a limitation.

\n

Why not allow developers to override the WP Engine restrictions via WP_AUTO_UPDATE_CORE in wp-config.php? Your average user isn’t likely to venture into this file to make any modifications, so it would be safe to assume that anyone who applied those settings knew what they were doing. The WP Engine infrastructure, however, does not allow for this.

\n

WP Engine does a lot of things right when it comes to speed and prioritizing the customer’s ability to have a development environment. The company is a proven and reliable WordPress host that I would recommend to anyone. For many customers, trading freedom for security is well worth it in order to have their sites fully “managed.”

\n

But what about the others who may want the freedom to let WordPress update itself? The company has very good reasons for limiting developers from doing this. But will the number of restrictions continue to grow? Managed WordPress hosts are a relatively new development in the marketplace of WordPress services. It will be interesting to see how their policies develop in relationship to WordPress core enhancements, which more often than not err on the side of giving more freedom to the user.

\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, 23 Oct 2013 19:13: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:13:"Sarah Gooding";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:63:"WPTavern: How To Navigate The WordPress Ecosystem As a New User";s: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:32:"http://www.wptavern.com/?p=10237";s: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:115:"http://feedproxy.google.com/~r/WordpressTavern/~3/gJiQc_Kl5ZA/how-to-navigate-the-wordpress-ecosystem-as-a-new-user";s: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:6305:"

The WordPress ecosystem is made up of thousands of websites, code repositories, blogs, forums, etc. To a new WordPress user, it can be intimidating or downright frustrating figuring out where to go. My goal with this post is to provide a map for those who are brand new to the world of WordPress to be able to navigate with confidence. I’ve personally experienced being in a city I’ve never been to before and not knowing which direction to travel to reach my destination. It’s a frustrating experience. This guide ought to alleviate those frustrations for WordPress first timers.

\n

Themes

\n

So the default theme isn’t your cup of tea. Before going to Google and searching for “free WordPress themes” head over to the WordPress Theme Repository. It’s the safest place to obtain a new design for your site. Themes that are added to the repository are scanned and go through a thorough checklist before they are accepted. All of the themes hosted on the repository are free of charge. If you want to know the reasons why using Google to find free WordPress themes is bad, watch this video by Leland of Themelab.com.

\n
\n

Plugins

\n

Much like the theme repository, WordPress has its own plugin repository filled to the brim with plugins to add functionality to your WordPress powered website. The WordPress plugin repository is the safest place to get code to add features to your website. Plugins are scanned and reviewed by volunteers before they are accepted into the repository. However, this does not guarantee that the code will function properly or is 100% secure for your website.

\n

Support

\n

The WordPress.org support forums enable the community to help each other. Creating an account is free of charge as is the support. The forums are staffed by volunteer moderators that do their best to help as many people as possibly every day. With so many people seeking help, you should exercise patience when using the forums.

\n

Documentation

\n

If you feel a little adventurous and want to try helping yourself first, you can visit the Codex. This Codex is like a repository for all of the detailed information for how WordPress works, inside and out. The main page of the Codex provides a number of great links to those starting out with WordPress.

\n

Learning WordPress Through Video

\n

While there is no official classroom to learn WordPress material, WordPress.org has the next best thing in WordPress.tv. WordPress.tv is the official website dedicated to WordPress that contains recorded sessions from WordCamps held all over the world. In fact, there is an entire how to section on the website dedicated to tutorial type videos.

\n
\n

Creative Inspiration

\n

If you’re not sure what WordPress is capable of or have run into a creative block, you should browse through the WordPress showcase. The showcase is a collection of websites that have taken WordPress to the next level. There are a lot of great looking designs as well to help provide inspiration.

\n

bbc on the WordPress showcase

\n

WordPress Face to Face

\n

While not officially a part of the WordPress.org project, Meetup.com is used by WordPress users all across the world to put together local meetups that bring like-minded people together. I’ve attended multiple WordPress meetups in my area and I’ve helped a lot of new WordPress users find their way. It’s one of the best forms of learning and getting WordPress help that I can imagine.

\n

Keeping Tabs On WordPress Development

\n

While there are not many posts on the official WordPress blog, it is where official news of releases are published.

\n

Installing WordPress On Your Phone

\n

There is an official WordPress app for most of the smart phone devices currently out on the market such as iOS devices, BlackBerry, and Android. If you’d like to install WordPress on your phone, be sure to check out the mobile section of the WordPress.org website to see if there is one available for your device.

\n

Wrap Up

\n

Now you might be wondering, why didn’t I include this site or that site when putting this guide together. The purpose of the guide is to provide a map that contains the essential information new users need to know. Using this knowledge as your foundation, you should find yourself more comfortable in the WordPress ecosystem. After getting to grips with WordPress, new users will expand beyond these pillars and discover the other resources that are on the web dedicated to WordPress. It doesn’t make sense to point new users into different directions when the above information is all they really need to get started.

\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, 23 Oct 2013 16:59: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: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: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:100:"WordPress.tv: Greg Douglas: Designing Awesome WordPress Websites For Small To Medium Size Businesses";s: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:28:"http://wordpress.tv/?p=23212";s: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/2013/10/23/greg-douglas-designing-awesome-wordpress-websites-for-small-to-medium-size-businesses/";s: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:750:"
\n
\n
Greg Douglas: Designing Awesome WordPress Websites For Small To Medium Size Businesses
";s: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, 23 Oct 2013 13:37: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:12:"WordPress.tv";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:65:"WordPress.tv: Ben Lobaugh: Taking Flight With JetPack 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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24051";s: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/2013/10/23/ben-lobaugh-taking-flight-with-jetpack-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:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:686:"
\n
\n
Ben Lobaugh: Taking Flight With JetPack 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:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Oct 2013 13:24:07 +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:"WordPress.tv";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:51:"WPTavern: Monitor WordCamps Online with WP Armchair";s: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:32:"http://www.wptavern.com/?p=10260";s: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:103:"http://feedproxy.google.com/~r/WordpressTavern/~3/fDHtRUBVmHs/monitor-wordcamps-online-with-wp-armchair";s: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:7386:"

WordCamp San Francisco on WP ArmchairDavid Bisset may have been the first person to coin the term “Armchair WordCampersâ€, referring to those who live vicariously through WordCamp attendees via Twitter. The concept sparked an idea for him and he decided to create WP Armchair for this very audience.

\n

His first version was actually created for the WordPress 10th Anniversary, a site he collaborated on with the WordPress Foundation.

\n

Bisset is a WordPress and BuddyPress developer. He also helps to organize WordCamp Miami. The inspiration for creating WP Armchair came from his experiences as an organizer and an attendee at WordCamps.

\n

I monitor WordCamps and conferences via Twitter hashtags and simply thought there was a better way. I notice that a lot of people are interested in monitoring conference activity as well. Even those that attend conferences – I see many of them with their laptops open to Tweetdeck or some Twitter client. I figured there should be a better way, especially since social networks like Instagram are becoming more popular.

\n

On top of that, as a WordPress developer, I wanted the solution running on WordPress. And instead of passively showing pictures and tweets, the site would naturally store these as custom post types. So it serves as an archive of the conference.

\n

In a way, the WP Armchair websites are chronicling the history of these WordPress events as seen through their respective hashtags on Twitter, Instagram, Vine and Flickr. Right now, each event is a separate site but Bisset said that he’s likely to combine them all into a multisite installation somewhere in the near future.

\n

WP Armchair Monitoring WordCamp Europe

WP Armchair Monitoring WordCamp Europe

When WP Armchair monitored WordCamp San Francisco the site was able to aggregate 1,600 tweets and 1,020 photos. For WordCamp Europe, the site captured even more – in the end it was 4,223 tweets and 1,500 photos. WordPress fans monitoring from afar were able to get a taste of how awesome these events were and perhaps even resolve to attend next year.

\n

What Plugins Make WP Armchair Work?

\n

If you visit any of the WP Armchair sites you’ll see support for videos, pictures, embedded tweets, post favoriting and more. There’s a lot going on behind the scenes to bring all of this event information into the site.

\n

I asked Bisset to tell me about some of the important plugins he uses to make WP Armchair work and he gave us a look behind the scenes.

\n

I wrote three plugins that scanned Twitter, Instagram, and Flickr for tweets, photos, and videos based on a hashtag and saved them as custom post types. These make up the bulk of the site, but I also used the following plugins:

\n

Bulk Delete – comes in handy when you want to get rid of alot of tweets or instragram posts that aren’t related to the conference (maybe you used a bad keyword or hashtag). Since tweets can come in 30 or 40 at a time, this plugin does save a little bit of time.

\n

Love It Pro – was great to drop in and give site visitors the ability to mark posts as favorites. It was a fun experiment during WordCamp San Francisco.

\n

Gravity Forms – on some installs, it allows us to quickly get forms (surprise!) in place for user registration, so some people could upload their own photos to the site via the WordPress Mobile app or a custom form.

\n

Search Everything – allowed the cool ability to search for tweets, instagram photos, etc that were created by a specific user or via keyword. As an example, you could search for your own name and see if anyone mentioned you on whatever social networks the WPArmchair site was scanning. Unfortunately, it looks like Search Everything isn’t being supported as of now, so I recommend switching over to SearchWP.com.

\n

WP Armchair Theme and Plugins are GPL and Available on github

\n

Bisset has made both the WP Armchair Theme and plugins available on his github account. He invites contribution to the project. “There are no doubt better and different ways to do what the site does, and I welcome anyone who wants to improve it,” he said.

\n

The WordPress Foundation has also made some of the WP Armchair functionality available to its officially hosted WordCamp site using a new plugin called Tagregator, which is also open to contribution.

\n

Bisset believes that WP Armchair is a valuable resource for both those at home and those who are attending WordCamp events. It has even been used by The Front-End Design Conference, a non-WordPress event, to aggregate the references to the event on social media. Ultimately, WP Armchair is about bringing people and ideas together.

\n

Even if you did go to the conference, you would be able to see everyone’s photos there instead of a gallery of a smaller group of photos the site admin posted a few days later. You also get to see who authored interesting tweets and potentially find new people to follow this way… people that are in theory just as motivated by WordPress as you are.

\n

Monitoring posts from WordCamps online is by no means a replacement for actually attending the event. Realistically, you won’t be able to attend every WordCamp in the world, but WP Armchair gives you a better way to monitor online from wherever you may be. Many thanks to David Bisset for taking us behind the scenes and for creating a way for WordPress fans around the world to join in on events together.

\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, 23 Oct 2013 13:01: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:27:"Donncha: WP Super Cache 1.4";s: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:29:"http://ocaoimh.ie/?p=89498597";s: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://ocaoimh.ie/2013/10/23/wp-super-cache-1-4/";s: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:1932:"

WP Super Cache version 1.4 is out now. This release finally removes the mfunc, mclude and dynamic-cached-content tags as I warned about three months ago.

\n

If your site uses that dynamic cached content functionality do not upgrade yet. There is a replacement dynamic cached content system but it’s not compatible so you’ll need to update your themes and helper plugins. It’s not difficult but there’s a lot to take in. I hope the example plugin and explanation in that post gets you most of the way there.

\n

If you don’t use mfunc and it’s friends then you should upgrade immediately and it should be painless.

\n

This release also has a few bug fixes and other features. It will now try to repair broken installs after a site migrates. It will update the wp-config.php and rebuild wp-content/advanced-cache.php. It will also delete tags and category cache files when a post publish status changes.

\n\n

Related Posts

WP Super Cache 1.4 originally appeared on Holy Shmoly!.

";s: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, 23 Oct 2013 11:14: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"Donncha";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:43:"Dev Blog: WordPress 3.7 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=2729";s: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/2013/10/wordpress-3-7-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:1182:"

The second release candidate of WordPress 3.7 is now available for testing!

\n

Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta area in the support forums if you think you’ve found a bug, and if any known issues are raised, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 3.7. If there is a compatibility issue, let us know as soon as possible so we can deal with it before the final release.

\n

For more on WordPress 3.7, check out the announcement post for Release Candidate 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Oct 2013 00:05:30 +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: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:56:"WPTavern: WordPress 3.7 Introduces Advanced Date Queries";s: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:32:"http://www.wptavern.com/?p=10239";s: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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/SBf0LiyU_A4/wordpress-3-7-introduces-advanced-date-queries";s: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:3933:"

WordPress 3.7 should be arriving any day now. Everyone is excited about WordPress’ new ability to update itself for security and minor releases (and even themes and plugins, if you’re adventurous). The new password strength meter is highlighted on the About page for the release with a live demo that users can play with after they upgrade. But there’s one cool new feature that hasn’t received as much fanfare: advanced date queries.

\n

photo credit: Andrew Morrell Photography via photopin cc

photo credit: Andrew Morrell Photography via photopin cc

\n

You might be wondering what’s so exciting about advanced date queries. Alex Mills, better known online as “Viper007Bond” was the originator of the patch to improve date arguments for WP_Query, a class for querying the database for specific content. Up until now, WordPress had no easy way to get a set of posts that fall within a specific date range.

\n

A few months ago, Alex introduced a patch that adds the ability to get complex date-based queries when fetching both posts and comments from the WordPress database. Code examples can be found on his post where he roughly outlines a few ways one might implement date-based queries.

\n

There are virtually unlimited combinations. Here are a few examples of what is possible with the new advanced date queries:

\n\n

You can check out all the date parameters in the codex and browse a few of the examples. Imagine all the fun that could be had here! The advanced date queries should enable developers to do some interesting things with displaying timelines, custom archives, selectively random post widgets and anything else imaginable with date ranges.

\n

Advanced date queries replaces bulkier methods used in the past, such as adding a filter to posts_where. How did we ever live without it? Check out the canonical discussion on Trac to explore the evolution of this feature and put it to good use in WordPress 3.7.

\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, 22 Oct 2013 23:28: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:"Sarah Gooding";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:57:"WordPress.tv: Topher DeRosia: Intro To Plugin 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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=23066";s: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:74:"http://wordpress.tv/2013/10/22/topher-derosia-intro-to-plugin-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:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:670:"
\n
\n
Topher DeRosia: Intro To Plugin 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:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 22 Oct 2013 21:43: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:12:"WordPress.tv";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:58:"WordPress.tv: Tharon Rodriguez: Getting Familiar With PODS";s: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:28:"http://wordpress.tv/?p=23060";s: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.tv/2013/10/22/tharon-rodriguez-getting-familiar-with-pods/";s: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:666:"
\n
\n
Tharon Rodriguez: Getting Familiar With PODS
";s: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, 22 Oct 2013 21:20: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:12:"WordPress.tv";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:72:"WPTavern: ForumEngine Turns WordPress Into a Forum Via Custom Post Types";s: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:32:"http://www.wptavern.com/?p=10158";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/5-EF68Mw45g/forumengine-turns-wordpress-into-a-forum-via-custom-post-types";s: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:4745:"

EngineThemes Logo EngineThemes.com recently released version 1.0 of their latest project, ForumEngine. ForumEngine is a theme that uses Custom Post Types to turn WordPress into a forum. I caught wind of this new theme via a review published on WPLift by Joe Fylan. It’s nice to finally see theme companies thinking outside the box for once instead of whipping up the next boring portfolio theme. I have not had the opportunity to try out the theme but based on Joe’s review, there is one thing in particular that may be a showstopper for a lot of people.

\n

Writing A Post In ForumEngine

\n

Unfortunately, in order to use this theme, you’ll either need a brand new WordPress install, separate WordPress install, or be willing to see your existing content disappear.

\n

With ForumEngine installed on your site, the site now functions as a forum, which the threads accessed directly from the homepage. Any existing posts that might’ve been on the site or those you create afterward activating the theme will now no longer be accessible, essentially removing the main functionality of WordPress: creating posts so bare that in mind if you wish to use this alongside a regular blog – you would need a separate installation. – Joe Fylan

\n

I remember when the discussion around bbPress 2.0 was taking place. It was suggested that using a plugin that utilizes custom post types be used. At the time, bbPress was transitioning from being stand alone software into a WordPress plugin. Now we have a theme that is using custom post types and if I remember correctly, community members like Justin Tadlock frown on this practice. I reached out to John James Jacoby to get his thoughts on this theme as well as how its implementation compares with bbPress.

\n

bbPress 2.x does use custom post types, and actually uses three of them. Forums is only a post type because of a lack of taxonomy term meta, otherwise it would be a custom taxonomy. CPT’s are fine, though it’s too bad it completely overrides the blog. Seems pretty pointless to make users decide to have either a blog or a forum, and not both.

\n

bbPress takes other things into consideration, like forum profiles VS blog author archives, separate roles for the forums VS the blog, and goes the extra mile so forums only intersect with the blog when you want it to. If a theme was really going to do this “correctly†it should probably use a CPT for topics, and comments (with a custom comment form template) for replies; that way the behavior is familiar.

\n

Forums are such an integral part of online communities, if I were looking for forums inside of WordPress, baking it into a commercial theme that won’t work with my existing blog doesn’t sound very appealing.

\n

While I like the design and the thinking out of the box idea in this theme, not being able to use it with an existing blog is a huge blow towards it ever becoming a popular alternative to bbPress or other forum solutions. However, thanks to the advice provided by John James Jacoby above, there are ways of going about it that make sense. I hope to see other theme providers give it a shot. At the very least, it would be good to see theme providers list native bbPress support as one of their selling points.

\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, 22 Oct 2013 20:30: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: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: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:28:"Dev Blog: Upcoming WordCamps";s: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=2723";s: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/2013/10/upcoming-wordcamps-4/";s: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:3583:"

WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s over. If there’s one near you, check it out! In addition to getting to know your local WordPress community, most WordCamps attract some traveling visitors a well, giving you the chance to meet contributors to the WordPress open source project and get involved yourself.

\n

Here are the WordCamps on the schedule for the rest of this year.

\n

October 25-27: WordCamp Boston, Boston, MA, USA
\nOctober 25-26: WordCamp Malaga, Spain
\nOctober 26: WordCamp Nepal, Kathmandu, Nepal
\nOctober 26: WordCamp Sofia, Bulgaria
\nNovember 7: WordCamp Cape Town, South Africa
\nNovember 9: WordCamp Porto, Portugal
\nNovember 9-10: WordCamp Kenya, Nairobi, Kenya
\nNovember 15: WordCamp Edmonton, AB, Canada
\nNovember 16-17: WordCamp Orlando, FL, USA
\nNovember 16: WordCamp Denver, CO, USA
\nNovember 23-24: WordCamp London, UK
\nNovember 23-24: WordCamp Raleigh, NC, USA
\nNovember 23: WordCamp São Paulo, Brazil
\nDecember 14: WordCamp Las Vegas, NV, USA
\nDecember 14-15: WordCamp Sevilla, Spain

\n

No WordCamps on this list in your area? Not to worry! There are thriving WordPress meetups all over the world where you can meet like-minded people, and we maintain a library of WordCamp videos at WordPress.tv.

\n

Get Involved

\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, 22 Oct 2013 19:25: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"Jen Mylo";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:67:"WPTavern: BuddyPress Theme Development Book Now Available on Amazon";s: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:32:"http://www.wptavern.com/?p=10213";s: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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/I9fzJHc5q1c/buddypress-theming-book-now-available-on-amazon";s: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:3233:"

bpthemedevIf you want to grow in your BuddyPress skills, there’s a new book on the market that you’ll want to get your hands on. BuddyPress Theme Development has just hit Amazon. The digital version is out now and you’ll be able to get a printed copy on October 24th, 2013. Packt will also have a version of the book that includes access to code for those who want to “follow along at home” with the code examples.

\n

Written by expert BuddyPress theme developer and contributor, Tammie Lister, this book will help you learn how to create BuddyPress themes from start to finish. BuddyPress Theme Development provides a comprehensive guide to BuddyPress theming with practical, hands-on tutorials that will put you on the path to building your own themes.

\n

Tammie walks you through the basics, such as how to use CSS to make changes to themes. She also includes more advanced topics like creating custom templates for BuddyPress components. You’ll learn how to add functionality to enhance your community, including how to build your own widgets into your theme. Once your theme is finished, Tammie shows you how to run theme-checks to ensure that it’s ready for launch.

\n

I checked in with Tammie for a mini Twitter interview on the details of the book. She has been working on it since just after BuddyCamp Miami, which took place in early April of this year. Many theming books are outdated even before they hit the shelves, but Tammie has made sure that everything in her book is up to date with the upcoming BuddyPress 1.9 release. She is the developer heading up the work on the new template pack that will ship with BuddyPress 1.9.

\n

If you’re a BuddyPress developer looking for resources to keep your skills sharp, BuddyPress Theme Development is a good one to add to your collection. Packt Publishing couldn’t have found a better person to write this book. Get your copy today on Amazon or pre-order the printed edition from Packt Publishing to get the eBook and PacktLib access thrown in for free.

\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, 22 Oct 2013 18:46: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:13:"Sarah Gooding";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:56:"WPTavern: Seamless Integration for WordPress and Magento";s: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:32:"http://www.wptavern.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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/F6uyX3Wt0E8/seamless-integration-for-wordpress-and-magento";s: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:6448:"

Believe it or not, there are a lot of WordPress fans in the Magento community. While Magento provides supremely robust e-commerce capabilities with support for complex product variations and multiple shipping options, it’s entirely lacking in CMS features. As a result, many sites merge WordPress and Magento in order to take advantage of each platform’s unique strengths.

\n

However, it is unbelievably difficult to make WordPress and Magento work together in a seamless fashion without some sort of bridge. That’s where James Kemp‘s Magento WordPress Integration plugin comes in. It does all the fancy footwork necessary to make your Magento store look like part of your WordPress site.

\n

mwi

\n

The Magento WordPress Integration plugin (MWI), is a solution that Kemp has been developing for several years. It provides the easiest way to get blocks, sessions and products from your Magento store and is capable of doing the following:

\n\n

Think there’s no demand for this? Think again. Kemp’s plugin has been downloaded more than 10,000 times. To celebrate, Kemp has made the code available on BitBucket. He’s hoping that having the code available to the public will help to spark more contribution.

\n

James Kemp, creator of the Magento WordPress Integration plugin

James Kemp, creator of the Magento WordPress Integration plugin

I’ve been following James Kemp’s work for several years and finally had the chance to chat with him about how the plugin is doing.

\n

He continues to develop the plugin due to the demand, which comes from both “light” users and developers. “The demand for MWI is fairly consistent,” he said. “On a calm day the mwi-plugin site gets ~30 unique visits, and mid-week on a busier day it will get ~100. It’s a very niche plugin, so I don’t expect thousands! The core plugin is mainly useful for developers I’d say, but I also get “light” users who are interested in the add-ons, so they can display products within their blogs. The demand for it is fairly steady at the moment.”

\n

The Magento and WordPress communities are fairly disconnected, which is understandable. You don’t see too many developers wanting to specialize in both platforms. Yet many users want them to work together. When building sites with a bridge, Kemp relies on WordPress for the more content-heavy aspects of the site:

\n

Each system has solutions for the other, but none of them are quite as good as WordPress or Magento. I personally prefer to use WP for all aspects of content management; pages, news, callouts – using Magento for this is a bit of a nightmare. I use Magento for large stores, with complex product set-ups and discount systems, purely for the product catalogue and back-end ecommerce system.

\n

Although he is an expert Magento developer, he has also built many sites using WooCommerce and Jigoshop. I asked him when he might opt for Magento over a WordPress-based e-commerce solution and he replied:

\n

I tend to use Magento for larger sites, where there are thousands of products and likely to be a lot of activity. This is because of the back-end system of Magento; it offers so much more in terms of tax rules, discounts, product set-up, import/export, order history, invoicing, etc. it’s just a full, heavy-duty, ecommerce system. The WordPress solutions are great, but not for bigger ecommerce store owners who need more control.

\n

The Magento WordPress Integration plugin provides a much needed bridge between the two open source projects and enables them to work together seamlessly. It can also save you from having to do too much theming to Magento, which is quite a pain because all the files are located about 10 directories deep. MWI allows you to feature your categories and products on your WordPress pages, as well as any blocks created within Magento. If you want to synchronize your sites even further, Kemp has also developed a plugin providing Single Sign-On For Magento And WordPress.

\n

Kemp and his colleague Jay Pick have formed a new WordPress development company called Platførm, based out of their rural office in Lutterworth, England. He plans to continue supporting the MWI plugin for as long as it’s needed. You can find documentation at the Magento WordPress Integration homepage and can download the plugin from the WordPress repository. If you want to get involved contributing, check out MWI on BitBucket.

\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, 22 Oct 2013 14: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:13:"Sarah Gooding";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:50:"WPTavern: New Holiday – Talk Like a Spammer 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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10181";s: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:97:"http://feedproxy.google.com/~r/WordpressTavern/~3/7J40V67FxqE/new-holiday-talk-like-a-spammer-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1683:"

WPForce Logo Jonathan Dingman over at WPForce.com has published a funny piece that illustrates how comment spammers are able to be so randomly creative with their posts. One of his spam comments contained the entire template of text used to generate random comments. How many combinations of spam can you make with the following template?

\n

I {want to|wish to|desire to} read {more|even more} things about it!|
\n{It is|It’s} {appropriate|perfect|the best} time to make {a few|some} plans
\nfor {the future|the longer term|the long run} and {it is|it’s} time to be happy.

\n

Check out the long list of different replies on his post. I think this calls for a new holiday. Talk like a spammer day! We humans have to guess which combination is the correct one! But giving this some more thought, if there was a talk like a spammer day and we were legitimately using templates like the ones presented in the post to generate our comments and those comments were published even though Akismet thinks they are spam, how big of an impact would we have on screwing up the Akismet spam algorithm? Maybe this holiday is not such a good idea!

\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, 22 Oct 2013 13:00: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: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: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:56:"Donncha: The shiny new dynamic content in WP Super 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:"guid";a:1:{i:0;a:5:{s:4:"data";s:29:"http://ocaoimh.ie/?p=89498568";s: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://ocaoimh.ie/2013/10/21/shiny-new-dynamic-content-wp-super-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:9301:"

With the next release of WP Super Cache in a day or two the long awaited move away from mfunc, mclude and friends will be complete.

\n

This means that if you have been using mfunc, mclude or dynamic-cached-content the dynamic portions of your sites will go blank if you upgrade WP Super Cache without updating that dynamic code. This may seem complicated but there’s an example script included and detailed explanations below. A lot of effort was made to make this backwards compatible but unfortunately it wasn’t possible.

\n

In their place is a new cacheaction filter called wpsc_cachedata and it’s sidekick wpsc_cachedata_safety. In the future when a site owner using WP Super Cache wants to make part of their website dynamic they will use those filters to modify pre-defined text strings and replace them with the data they want displayed to the end user. There’s an example script ready to be ripped apart to help you figure all this out.

\n

There are two ways of using this:

\n
    \n
  1. The dynamic content is the return value of a simple process, be it date() or any of the numerous get_*() functions in WordPress. That data can simply be slotted in place of the pre-defined text mentioned above.
  2. \n
  3. The more difficult bit comes when you need to use an output buffer to collect the data for display. Due to a limitation in PHP it’s impossible to run an output buffer in the callback function of another output buffer, which is when the wpsc_cachedata filter runs. We need to collect that data before the callback function executes.
  4. \n
\n

The first way above is easy. Simply add a text string of random characters to your theme where you want the dynamic content to appear, then hook a function on to the wpsc_cachedata filter to str_replace() it with your dynamic content. These functions in this script do that:\n

\n

You’ll have to hook on to the wpsc_cachedata_safety action and return the numeral 1 to actually run the wpsc_cachedata filter. This is a fail safe used by the plugin to make sure things are ok when the filter runs.

\n

Unfortunately if you want to use an output buffer it’s a lot harder. As stated above an output buffer can’t run in the callback function of another output buffer. This means you have to generate your dynamic content earlier in the PHP process.
\nThis could be as easy as calling your dynamic content function (dynamic_output_buffer_test() in the example script) from the wp_footer action, or calling it from any action before shutdown, whichever is appropriate. You’ll also need to add a template tag of your own choosing to your theme.
\nYour dynamic content function will run just fine for cached pages, so after the new page has run it store the output in a constant or global variable that the same function can look for when the wpsc_cacheaction runs it. If it finds that information, it can do the search and replace of your template tag without running the output buffer again.
\nSome pages won’t run the dynamic content function however. This includes feeds and sitemaps. Those pages will generate a PHP error because the output buffer will try to run in the callback!

\n

“PHP Fatal error: ob_start(): Cannot use output buffering in output buffering display handlers in…”

\n

To stop that happening you must check that there’s text to shove in the cached page. That’s what happens in the function dynamic_output_buffer_test_safety() in the example script. It fires on the wpsc_cachedata_safety filter and returns the numeral 1 if successful.

\n

Anatomy of an Output Buffer

\n

I’m going to try and explain the output buffer functions in more detail here. They’re only example functions and if you spot a bug or can suggest improvements please do!

\n
define( \'DYNAMIC_OUTPUT_BUFFER_TAG\', \'\' ); // CHANGE THIS!
\n

This is the string you add to your theme where your dynamic content will appear. The plugin will replace this string with the code generated by your dynamic content function.

\n
function dynamic_output_buffer_test( &$cachedata = 0 ) {\n	if ( defined( \'DYNAMIC_OB_TEXT\' ) )\n		return str_replace( DYNAMIC_OUTPUT_BUFFER_TAG, DYNAMIC_OB_TEXT, $cachedata );\n	ob_start();\n	// call the sidebar function, do something dynamic\n	echo "<p>This is a test. The current time on the server is: " . date( \'H:i:s\' ) . "</p>";\n	$text = ob_get_contents();\n	ob_end_clean();\n\n	if ( $cachedata === 0 ) // called directly from the theme so store the output\n		define( \'DYNAMIC_OB_TEXT\', $text );\n	else // called via the wpsc_cachedata filter. We only get here in cached pages in wp-cache-phase1.php\n		return str_replace( DYNAMIC_OUTPUT_BUFFER_TAG, $text, $cachedata );\n\n}\nadd_cacheaction( \'wpsc_cachedata\', \'dynamic_output_buffer_test\' );
\n\n
function dynamic_output_buffer_test_safety( $safety ) {\n	if ( defined( \'DYNAMIC_OB_TEXT\' ) )\n		return 1; // ready to replace tag with dynamic content.\n	else\n		return 0; // tag cannot be replaced.\n}\nadd_cacheaction( \'wpsc_cachedata_safety\', \'dynamic_output_buffer_test_safety\' );
\n\n

sidebar.php

\n

As an example, if I wanted to display my dynamic content in the sidebar of my blog I would load sidebar.php in my theme’s directory and add the following code.

\n
if ( function_exists( \'dynamic_output_buffer_test\' ) )\n    dynamic_output_buffer_test();\n?>WORDPRESS ROCKS THE WORLD<?php
\n

I had previously edited the example script, uncommented it and changed the appropriate tag:

\n
define( \'DYNAMIC_OUTPUT_BUFFER_TAG\', \'WORDPRESS ROCKS THE WORLD\' ); // CHANGE THIS!
\n

Final Note and Download Link

\n

Please grab the development version of the plugin and try it on a staging server before you put it live. Feedback would be appreciated!

\n

Warning! Keep the tags you use secret. You don’t want someone leaving a comment on your blog with that string! Do not use the same function names or constant names as in this post or example script. They’re in this very public post. Someone is bound to use them and cause you problems when you install their plugin.

\n

Finally, barring any last minute major bugs this version of WP Super Cache will be released on Wednesday. Be careful upgrading. Pass the word around if you know someone is using mfunc as their site will stop working!

\n\n

Related Posts

The shiny new dynamic content in WP Super Cache originally appeared on Holy Shmoly!.

";s: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, 21 Oct 2013 22:06: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"Donncha";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:45:"WordPress.tv: WordCamp Europe 2013 Interviews";s: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:28:"http://wordpress.tv/?p=23966";s: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.tv/2013/10/21/wordcamp-europe-2013-interviews/";s: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:641:"
\n
\n
WordCamp Europe 2013 Interviews
";s: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, 21 Oct 2013 20:07: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:50:"WPTavern: Why Are We Paying For GPL Licensed Code?";s: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:32:"http://www.wptavern.com/?p=10128";s: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:99:"http://feedproxy.google.com/~r/WordpressTavern/~3/zYcZG5ycFZE/gpl-ethics-right-wrong-winners-losers";s: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:5653:"

Kevin Muldoon has published a great post that may change the mindset of both WordPress end users and developers. In his post, he talks about WordPress, GPL, and ethics but further into the post, he mentions that perhaps we should not be thinking about what sites like GPL Avengers or GPL Club are doing as right or wrong but rather, good or bad.

\n

When you start talking about premium GPL products, the line between what is right or wrong gets a little blurred. Perhaps the terms “Right†and “Wrong†should not be used in this debate at all. “Good†and “Bad†are more suitable. GPL is supposed to benefit the WordPress community. So we need to consider what is good and what is bad for the community?

\n

Ethics is subjective so let’s skip that word. It’s as bad as saying “spirit” when talking about the GPL. What GPL Avengers and GPL CLub are doing is not illegal and I don’t think anyone will argue that point. Let’s take the good and bad approach.

\n

The Good:

\n

Both are offering commercial products either for free or for a substantially lower price. This is good because those who don’t need support can make do with the lower price. It’s also good in that it exposes the commercial offerings to a larger market segment that perhaps otherwise wouldn’t be able to afford purchasing from the original developer.

\n

The Bad:

\n

GPL Club points out that support is only provided by the original product authors. Meanwhile, WP Avengers provides automatic updates and premium support via forums and support credits. I am not sure how this works but their forum is not publicly accessible. In general, the best people to provide support for the product are the people who created it. By acquiring products through either of these two sites, unknowing customers will either be out of luck in getting support, or may not get the best support money can buy.

\n

There are a number of great comments about this situation that I encourage you to read like, this one from Paul, or Andrew. What is boils down to is these two sites have started a race to the bottom but I think that race has been going on for a long time.

\n

One of the scenarios that Kevin laid out was the following:

\n

With regards to where the buck stops :) WP Avengers and GPL Club are charging money for premium plugins that other people developed. Here’s a thought….what if someone went one step further and released all premium plugins free. For example, a plugin and theme directory that allowed every single premium WordPress theme and plugin to be downloaded free of charge. No malware, no hidden agenda. Simply someone who wanted to share all premium plugins with the world.

\n

How do you think the WordPress community would react to this? Would it kill the market for premium WordPress products or would developers have to focus on support? – Kevin Muldoon

\n

I think it would be fantastic. On paper, it seems pretty stupid to pay for GPL code. We hear the phrase “paying for support and product updates” repeatedly but it still seems as though we’re paying for the code first. So let’s make all code free. If we pay money, we’re actually paying for upgrades and support of that free code. But I know exactly what this would do to commercial themes and plugins. We’d end up with free code that only has one purpose. To serve up a prompt asking for an API key. In a way, I’d be ok with this because it would be less code running on my site but on the flip side, I’d then be relying on an increasing number of third-party sites to be online to make sure my forms worked. If all commercial themes and plugins were free, it wouldn’t be the end of the world. We would just rapidly make the transition to purchasing support and upgrades or service add-ons. Also, if commercial themes and plugins were free, sites like GPL Club and WP Avengers suddenly become the losers as they would then be charging for GPL code without the support to back it.

\n

A Few Questions For My Commercial WordPress Developer Friends

\n

It’s fascinating to think about all GPL licensed code in themes and plugins being free as in beer. How would this change the way vendors today do business? If the real value is in support and upgrades, then the question I have for commercial plugin and theme developers is why are they charging for their GPL licensed code? The GPL license says you can do it, but what’s the point? I’ll guess and say that it would then be too confusing for customers to figure this all out so it’s easier to bundle everything in one purchase. At the end of the day, WP Avengers, GPL Club and sites like them are not going to put the original vendors out of business. All they are is an inconvenience.

\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, 21 Oct 2013 19: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: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: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:65:"WPTavern: WordPress 3.7 Automatic Upgrades Proving to Be Reliable";s: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:32:"http://www.wptavern.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:117:"http://feedproxy.google.com/~r/WordpressTavern/~3/4c1b_4P7CE8/wordpress-3-7-automatic-upgrades-proving-to-be-reliable";s: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:2957:"

The first WordPress 3.7 Release Candidate was sent out into the wild last Friday. So far it’s been testing very well. The flagship feature of this release is the ability for WordPress to automatically update itself, as highlighted in the customary haiku:

\n

\nWordPress three seven
\nA self-updating engine
\nLies beneath the hood\n

\n

Automatic background updates seems like a daunting feature to launch across millions of blogs, but WordPress 3.7 includes code to roll back a failed automatic upgrade. Even so, Nacin tweeted yesterday that after 25,000 updates to RC1, there hasn’t been one single rollback. So far it looks like the automatic background updates for security and minor releases is proving to be remarkably reliable.

\n

Nacin has done everything in his power to determine points of failure within the feature but so far it’s been holding up nicely:

\n

We’ve tried all sorts of things to trip up the updater in WP 3.7, like changing file perms, simulating network issues, having no disk space.

\n

— Andrew Nacin (@nacin) October 18, 2013

\n

\n

Short of unplugging the server halfway through, I’m not actually sure it’s possible for a background update in WP 3.7 to critically fail.

\n

— Andrew Nacin (@nacin) October 18, 2013

\n

\n

Currently two emails are being sent out when the automatic upgrades are successful: one for debugging and the other standard email that all users of 3.7 will receive. Once 3.7 is officially released you will no longer get the debugging email. However, there is a filter that you can use to keep it turned on if you like.

\n

Jeff recently polled Tavern readers to see how they will be implementing the automatic updates on their sites, as many readers previously had expressed reservations. At this time it seems that only 1 in 4 people polled will be disabling automatic updates completely, while the remaining 75% are open to using them to varying degrees. The results of Nacin’s testing of RC1 should inspire even more confidence. If all goes well, it looks like we should have the official WordPress 3.7 release sometime this week.

\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, 21 Oct 2013 17:56: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:13:"Sarah Gooding";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:97:"WordPress.tv: Justin Jones: WordPress Security or Why Google Says You Shouldn’t Visit My Church";s: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:28:"http://wordpress.tv/?p=23080";s: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:111:"http://wordpress.tv/2013/10/21/justin-jones-wordpress-security-or-why-google-says-you-shouldnt-visit-my-church/";s: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:747:"
\n
\n
Justin Jones: WordPress Security or Why Google Says You Shouldn’t Visit My Church
";s: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, 21 Oct 2013 17:19: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:12:"WordPress.tv";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:61:"WPTavern: New Grid View Coming to the WordPress Media Library";s: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=9218";s: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:113:"http://feedproxy.google.com/~r/WordpressTavern/~3/qM4VP9q4HBo/new-grid-view-coming-to-the-wordpress-media-library";s: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:3915:"

Your experience in the WordPress media library is about to get a whole lot better. Very soon you’ll have the option to display media items in a grid view. An exciting project to enhance the media library is well underway and will eventually be added to the WordPress core. The good news is that you don’t have to wait. This new feature, although still in development, is now available as a plugin.

\n

Media Grid, developed by Shaun Andrews, just showed up in the WordPress plugin repository this weekend. Shaun has been a busy bee lately and he’s on a roll. The Media Grid plugin is the second plugin he’s released with improvements for the WordPress core UI. His first was the Widgets Area Chooser plugin that we featured earlier today.

\n

When combined with the MP6 plugin, the Media Grid plugin currently lets you select between seeing the library displayed in the old list style or with the new grid view:

\n
WordPress Media Library Grid View

WordPress Media Library Grid View

\n

What’s cool about this plugin? It lets you toggle the thumbnails to a larger size for ease of browsing. Pagination is handled beautifully via infinite scroll. The search is also very responsive and returns results instantly as you type, even if you only enter one letter.

\n

We’ve seen a lot of changes lately when it comes to WordPress user interface design. These rapid changes have been set in motion to arrange information in a way that is easier to use and understand.

\n

Scientific studies of neural memory encoding have shown that the human brain remembers pictures better than words. If you’re searching for an image you recently uploaded, browsing through thumbnails is likely to be much more helpful than trying to use words to search for your image. An optional grid view makes a lot of sense for this interface and I’m hoping it will become the default view.

\n

When Will We See the Media Grid in the WordPress Core?

\n

Of course, the burning question everyone wants to know, is when can we see this added to the WordPress core? The Media Library Grid View project is led by Helen Hou-Sandi. The plugin is part of the “Features as Plugins” initiative that enables developers to propose new features to core in the form of a plugin. Last time I checked with Shaun he said that they would love to have it ready for 3.8 or 3.9 but really it comes down to whenever it’s ready.

\n

This plugin is the future of the WordPress media library. I’m convinced that once you try the grid view you won’t ever want to go back to the boring list style. Although the Media Grid plugin is still being actively developed, it’s working quite nicely already. Shaun Andrews welcomes your suggestions and patches. If you’d like to help test it you can download Media Grid from the WordPress plugin repository.

\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, 21 Oct 2013 17: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:13:"Sarah Gooding";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:37:"Joseph: Books: The Year Without Pants";s: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:"https://josephscott.org/?p=9213";s: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:"https://josephscott.org/archives/2013/10/books-the-year-without-pants/";s: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:10188:"

I finished reading Scott Berkun’s book The Year Without Pants. The book tells the tale of Scott’s time at Automattic as the lead of Team Social, which worked on WordPress.com. I’ve never read a book about a place that I’ve worked at, so I was curious to see things from his point of view.

\n

I’ve worked at Automattic for over six years, well before Scott started there. We were always on separate teams and I never worked directly with Scott on any projects. As a result some of the things Scott talks about in the book take on a different angle than my own. While reading through the book I made notes on things that I wanted to expand on a bit, provide a different point of reference for, or just struck me as interesting. I’m including the page number for easy reference.

\n

Page 10, talking about how for many people Automattic was the largest company they had ever worked for. I definitely didn’t fall into that camp. Oddly enough I’ve alternated between large and small companies, though not on purpose. Before Automattic I worked at a university that had thousands of employees. Before that I was at small regional ISP that never had more than 10 full time employees. Going back one more job I was at a large international company with more than 10,000 people across the planet. And the job before that was at a company with 20 people. That pretty much covers all of the jobs I’ve had as an adult.

\n

Page 15, about IRC being an ancient chat program. When I mention to other people that we use IRC I’ll often describe it as being “as old as dirt”, meaning 1988. Being old doesn’t change the fact that it is still one of the best solutions to the problem of text based chat.

\n

Page 16, about Automattic demanding great communication skills. In some ways we have to overcommunicate in order to make up for not all being in the same building.

\n

Page 20, Caturday. Long running thing at Automattic from the world of LOLcats. On page 25 Scott shows a screenshot of some stats, and the week ends with Caturday. Some time ago a new hire at Automattic “fixed” the typo by changing it to Saturday. We had to explain the joke, then had them revert it back to Caturday :-)

\n

Page 25, experts don’t go back to regular jobs because regular jobs are hard. This is worth keeping in mind the next time you read an article or book from a professional expert.

\n

Page 28, on jamming practices from one culture into another. This is a hard lesson to learn and I think most who have learned it have only done so through experience. Culture isn’t something you can easily transplant. Culture, like trust, is hard to build and easy to destroy.

\n

Page 29, about trust. Trust is a really big deal in any company culture. The lack of it usually results in grinding political structures. High degrees of trust can result in the whole being so much more than the sum of the parts.

\n

Page 42, remember how I mentioned that I described IRC being as old as dirt? I’m not the only one who thinks that way :-)

\n

Page 43, about many things at Automattic being inherited from the open source WordPress project. I don’t think it is an overstatement to say that this is one of the core attributes in the formation of Automattic. In many ways it looks like a group of people working on an open source project that just happens to also involve money, sometimes.

\n

Page 46, about the WordPress theme P2. One day I’ll write a separate post about how P2 came to be. Naming things can be hard, and sometimes beyond your control.

\n

Page 48, on the communication break down between P2, IRC, Skype, and email. The ratio varies between teams. For my experience I’d say P2 and IRC are closer to 50 / 50, Skype and email nearly rounding errors. IRC was good for talking about something right now ( synchronous ) and P2 was good for things that weren’t nearly so time sensitive ( asynchronous ) or needed a better way to be tracked.

\n

Page 54, about the size of a company being the ultimate goal. I’ve had conversations with people about companies that stay intentionally small. In the technology field it isn’t often that you come across people who want to have a limit to how big their company gets. I think there is an idea worth exploring in there.

\n

Page 61, regarding killing a project or experiment. It isn’t easy to shutdown something that you’ve put energy into. That said, we could be better about letting go.

\n

Page 104, data-influenced culture versus a data-driven one. I’ll give an example of one experience I had that shows how this worked. A new A / B test was launched around a signup flow and I was fairly certain that the new version was going to do worse because the resulting experience was so bad for the user. It quickly became clear that the new version resulted in more revenue. As a team we talked it over and decided against using the new version, even though it meant giving up some of that increase in revenue. I was happy we were able to agree on that because the user experience in the new version was one I’d never want to use. The results of the A / B test were one part of our decision making process, but it wasn’t the only consideration.

\n

Page 111, vision. Someone having a clear vision of where things are going as a whole is a different dynamic in a company that focuses on individuals being super proactive about coming up with their own ideas on what to work on next. Not that you can’t have it, just that at some point you realize everyone can’t do everything. See also page 126 regarding clarity vs. quantity of ideas.

\n

Page 132, “Without the time machine, all choices have the possibility of being wrong.” I need to put that on a t-shirt. Sometimes the value of making a decision outweighs any of the potential outcomes of the decision itself.

\n

Page 134, on not being tied down too much by a pre-selected process. I’ve been asked before if Automattic uses [ insert current trendy methodology here ]. My answer has always been no. We work out what works best for us as a team, then start moving forward, adjusting along the way as needed.

\n

Page 136, “To start big projects, you must have the capacity for delusion.” Probably also worth a t-shirt. At some point after going through enough big projects you learn that you always underestimate them at the beginning. Then after even more of them you learn that under estimating them is sometimes a good thing, because if you didn’t you would never actually start them.

\n

Page 152, about work environments. When I talk with people about Automattic being a distributed company, I usually end up explaining that like most things it is about trade offs. Distributed vs. non-distributed is often less about which one is better and more about which trade offs you want to work with. The same is true of individuals. Not everyone is going to excel in a distributed situation, and that is fine, it doesn’t make them bad at what they do or who they are.

\n

Page 171, talking about Team Social being stretched even further. When Scott joined Automattic I started working on the Akismet team. Our team was always stretched, with people in Melbourne ( Australia ), California, Utah, North Carolina, and England. From UTC that is +11, -7, -6, -4, and +1 for everyone playing along at home. Not the same broad and even distribution that Team Social ended up with, but not always easy either. But we made it work.

\n

Page 198, a reference to the bike shed problem. Long time FreeBSD users will remember the bike shed post by PHK.

\n

Page 200, on few people being willing to dive in and make changes. That is pretty much the opposite of my experience.

\n

Page 200, about broken windows for good and bad. I think our ability to fix a bug that came up quickly is a good thing. There obviously has to be some balance with other things, but I would never want to lose our ability to go from getting a ping from a friend about something on our service being broken, to being able to reply that it has now been fixed, often in a matter of minutes.

\n

Page 201, some people being afraid to post on a P2 because they think it is a megaphone and everyone is reading it. What is funny about reading that is that before we had P2, there was just one internal blog for all of Automattic and it was rarely used. It was common for it to only get one post per month. P2 changed that dramatically.

\n

Page 225, “No one should be expected to carry the burden of a secret their peers would love to know.” Not worth putting on a t-shirt, but something that every leader should remember.

\n
\n

I could comment on every page in the book, but these were the points that I noted specifically as I read through it.

\n

The book itself is an enjoyable read, and easy to get through. If you’ve ever wondered what things are like at Automattic, The Year Without Pants, is a pretty good window. Just keep in mind that it is from one point of view and that each team has a high degree of flexibility in doing things in a way that works best for them.

\n

If you would rather live it than read about it, Automattic is hiring.

";s: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, 21 Oct 2013 15:05: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Joseph Scott";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:61:"WPTavern: After Four Years – WPShout Is Under New Ownership";s: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:32:"http://www.wptavern.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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/sUm_0G9JveY/after-four-years-wpshout-is-under-new-ownership";s: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:2615:"

wpshout logoLong time WordPress community member Alex Denning has announced that his WordPress centric site WPShout is now under new ownership. Alex has reached the point where his job combined with his university study work has made it impossible for him to keep the site going. Thankfully, Alex has found a great home for the site. New owners Fred and David of Press Up will be taking over the site. According to their introductions within the announcement post, they seem to fit in naturally with providing the type of content WPShout readers have come to expect.

\n

We’re really excited to be taking over WPShout, and glad that we were able to talk Alex into sticking around in an advising role for the transitional period. He’s built a great resource here, and we’re eager to keep his vision alive and make it even better.

\n

Kudos to Alex for finding the right individuals to take over the site. I know from experience that giving up something that was built from the ground up is not an easy task but handing it over to the right individuals makes the process a lot easier to cope with. For those of you that would like to keep in touch with Alex, you can follow him on Twitter or keep an eye on his personal site Sevenironcows.

\n

Before I let you go, please check out Alex Denning’s Webhosting Review 2013 Results that he published two weeks ago. Also, I’ll have Alex, Fred, and David on this week’s episode of WordPress Weekly to discuss the transition of the WPShout website. Considering how busy Alex will be with university, this may be the only opportunity we get to talk to him about his experience in the WordPress community.

\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, 21 Oct 2013 15: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: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: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:72:"WPTavern: WordPress Widgets Area Chooser Plugin: A Handy Addition to MP6";s: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:32:"http://www.wptavern.com/?p=10090";s: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://feedproxy.google.com/~r/WordpressTavern/~3/mvgunDECZL0/wordpress-widgets-area-chooser-plugin-a-handy-addition-to-mp6";s: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:3160:"

If you’ve ever worked on a WordPress site with a long list of widget areas and dozens of widgets, then you know how crowded this page can become. In this scenario the drag-and-drop interface becomes virtually useless, as you struggle to drag the widget to the right area while trying to force your browser window to scroll down.

\n

Widgets Area Chooser

Widgets Area Chooser

While the new widgets page design in MP6 makes it easier to manage widgets, the drag-and-drop doesn’t always provide the best experience. That’s where the Widgets Area Chooser plugin comes in handy.

\n

Created by MP6 member Shaun Andrews, this plugin lets you click a widget in order to choose where it should be placed. According to Shaun, the plugin is really just a bit of CSS and JS, so it would be an easy addition to MP6.

\n

Here’s a quick demo of the Widgets Area Chooser in action:

\n
(note: The experience is actually not as jumpy as it appears in the screencast)

(note: The experience is actually not as jumpy as it appears in the screencast)

\n

After testing this plugin on my desktop as well as mobile devices, I believe there are several merits which should be considered in the discussion about whether or not this should be a part of MP6 and eventually WordPress 3.8:

\n\n

It’s important to recognize that this doesn’t actually remove drag-and-drop capabilities. The Widgets Area Chooser simply adds a new way to move widgets around, and users will still have the option of dragging and dropping if they prefer. Please note that you will need to have MP6 installed and activated in order to test this plugin.

\n

So what do you think? Should the Widgets Area Chooser be included in MP6?

\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, 21 Oct 2013 13:01: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:44:"WordPress.tv: Paul Kortman: Stop Selling SEO";s: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:28:"http://wordpress.tv/?p=23072";s: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.tv/2013/10/20/paul-kortman-stop-selling-seo/";s: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:638:"
\n
\n
Paul Kortman: Stop Selling SEO
";s: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, 20 Oct 2013 14:17: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:12:"WordPress.tv";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:73:"WordPress.tv: K. Adam White: Building Apps With Backbone.js and 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:28:"http://wordpress.tv/?p=23856";s: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:89:"http://wordpress.tv/2013/10/20/k-adam-white-building-apps-with-backbone-js-and-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:695:"
\n
\n
K. Adam White: Building Apps With Backbone.js and 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 20 Oct 2013 13:26: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:12:"WordPress.tv";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:100:"WordPress.tv: Panel Discussion: WordPress Face-to-Face: Fostering Your Local (And Digital) 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:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=23858";s: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:114:"http://wordpress.tv/2013/10/19/panel-discussion-wordpress-face-to-face-fostering-your-local-and-digital-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:747:"
\n
\n
Panel Discussion: WordPress Face-to-Face: Fostering Your Local (And Digital) 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:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 19 Oct 2013 13:16: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:12:"WordPress.tv";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:53:"WordPress.tv: Jeremy Felt: Hi WordPress, Meet Vagrant";s: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:28:"http://wordpress.tv/?p=23872";s: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.tv/2013/10/19/jeremy-felt-hi-wordpress-meet-vagrant/";s: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:655:"
\n
\n
Jeremy Felt: Hi WordPress, Meet Vagrant
";s: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, 19 Oct 2013 12:26: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:60:"WPTavern: WPWeekly Episode 124 – The Three WordPressteers";s: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:32:"http://www.wptavern.com/?p=10085";s: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://feedproxy.google.com/~r/WordpressTavern/~3/yfRhBSLaWZk/wpweekly-episode-124-the-three-wordpressteers";s: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:3545:"

WordPress Weekly Cover Art For the first time since returning to the airwaves, we had all three contributing authors to WordPress Tavern on the show at once. While we originally scheduled Alex Denning for this episode, we needed to reschedule him for October 25th. So in this episode, we each took turns discussing this weeks headlines. As a bonus, we got a live version of Marcus’ plugin roundup post. I had a blast on this show and hope to do more of these in the future.

\n

Stories Discussed:

\n

ManageWP Launches Community-Curated WordPress News Site
\nBuddyPress 1.9 Will Include Dynamic Menu Links
\nHow Will You Configure Auto Updates In WordPress 3.7?
\nBook Review: The Year Without Pants
\nDashboard Makeover Removes Incoming Links Widget
\nMark Jaquith on WordPress 3.6 Postmortem and Post Formats UI

\n

Plugins Mentioned By Marcus:

\n

Quick WP Setup
\nPreview Posts Everywhere
\nCustom Background for Post and Page

\n

WPWeekly Meta:

\n

Next Episode: Friday, October 25th 3 P.M. Eastern – Special Guest Alex Denning Of WPShout.com

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #124:
\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 19 Oct 2013 06:37: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: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: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:31:"Matt: Fast Company on Simperium";s: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=43141";s: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://ma.tt/2013/10/fast-company-on-simperium/";s: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:230:"

Fast Company’s Co.Labs writes a great article on Why WordPress[.com] Gobbled Up This Scrappy iCloud Alternative.

";s: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, 18 Oct 2013 23:56: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: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: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:76:"WPTavern: WordSesh 2013: Live Streaming 24 Hours of Free WordPress Education";s: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=9992";s: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:127:"http://feedproxy.google.com/~r/WordpressTavern/~3/HjNrHEFpulo/wordsesh-2013-live-streaming-24-hours-of-free-wordpress-education";s: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:2232:"

Mark your calenders for December 6th and 7th, 2013. WordSesh will be back in session! In case you missed the first WordSesh, the basic idea is very similar to a WordCamp, except everything is streamed live on the web. The event is totally free and anyone can attend by tuning in from home. WordSesh is comprised of 24 sessions that cater to every type of WordPress user. There will be one session every hour, on the hour, for 24 hours.

\n

wordsesh

\n

If you haven’t been able to make it to as many WordCamps as you’d like, here’s your chance to get in on some awesome free WordPress sessions. WordSesh offers a community learning experience that you can enjoy with other WordPress fans around the world. The event utilizes Google Hangouts to broadcast sessions from wherever the speakers are located.

\n

In case you missed last year’s event, all of the sessions were recorded and are available on youtube. This should give you an idea of the high quality speakers you can expect when you tune in. The DradCast podcast will be kicking off WordSesh 2, ushering in “24 hours of non-stop WordPress knowledge and fun.”

\n

WordSesh is still taking applications for speakers and you can submit directly on the website. If you want to join in, make sure to add the dates to your calender, follow WordSesh on Twitter, and subscribe to WordSesh news and announcements. You don’t want to miss a minute of this awesome event.

\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, 18 Oct 2013 21:23: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:41:"Dev Blog: WordPress 3.7 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=2718";s: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/2013/10/wordpress-3-7-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:2236:"

The first release candidate for WordPress 3.7 is now available!

\n

In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

WordPress 3.7 introduces automatic background updates for security and minor releases (like updating from 3.7 to 3.7.1). These are really easy to test  — RC 1 will update every 12 hours or so to the latest development version, and then email you the results. (You may get two emails: one for debugging, and one all users of 3.7 will receive.) If something went wrong, you can report it.

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 3.7 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 3.7, visit the awesome About screen in your dashboard ( → About in the toolbar). There, you can also see if your install is eligible for background updates. WordPress won’t automatically update, for example, if you’re using version control like Subversion or Git.

\n

Developers, please test your plugins and themes against WordPress 3.7, so that if there is a compatibility issue, we can figure it out before the final release. Make sure you post any issues to the support forums.

\n

WordPress three seven
\nA self-updating engine
\nLies beneath the hood

";s: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, 18 Oct 2013 19:52: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: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: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:57:"WordPress.tv: Chad Warner: WordPress Admin: A Guided Tour";s: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:28:"http://wordpress.tv/?p=23082";s: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://wordpress.tv/2013/10/18/chad-warner-wordpress-admin-a-guided-tour/";s: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:663:"
\n
\n
Chad Warner: WordPress Admin: A Guided Tour
";s: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, 18 Oct 2013 16:35: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:12:"WordPress.tv";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:78:"WPTavern: WordPress MP6 Plugin Adds New Widgets Page and Midnight Color Scheme";s: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:32:"http://www.wptavern.com/?p=10040";s: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:130:"http://feedproxy.google.com/~r/WordpressTavern/~3/34x8ppLkyUY/wordpress-mp6-plugin-adds-new-widgets-page-and-midnight-color-scheme";s: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:3425:"

Although MP6 may sound like the code name of a covert spy mission, it’s actually one of the most exciting WordPress plugins in the repository right now. MP6 is part of the “features as plugins” initiative and houses the intended design updates to the WordPress admin. The plan is to include the changes in the core with the upcoming WordPress 3.8 release.

\n

Many WordPress sites are already using MP6 to transform their dashboards and there are several dozen reasons to upgrade to the latest version. Here are just a few of the highlights:

\n\n

You may have seen a poll floating around about extra color schemes for MP6. The Midnight color scheme must have proven the most popular, as it has now been included in the latest MP6 update. This bold skin for the dashboard sports red highlights:

\n
MP6 Midnight Color Scheme

MP6 Midnight Color Scheme

\n

The new widgets page design is much cleaner, allows you to see more widgets at once and is easier to navigate if you’re using a theme with many different widgetized areas.

\n
New widgets page design

New widgets page design

\n

In order to achieve this cleaner look, the widgets page had to sacrifice the widget descriptions, which seems to be a main point of concern for those who have already upgraded MP6. Plugin authors can be rather generic in how they name their widgets, so descriptions are helpful for knowing which widget you’re looking at. The scrollbar within the widgets section is also a point of contention. Overall, the MP6 2.1 updates have been very well received and there’s still plenty of time to work through any challenges.

\n

Your feedback is important! If you want to be a part of testing or you’re just curious about where the WordPress admin is going, install MP6 and put it through the paces of your daily routine. If you’re already using MP6, you can take advantage of all the new features and bug fixes by upgrading the plugin through your dashboard.

\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, 18 Oct 2013 13:21: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:64:"WordPress.tv: Ross Johnson: The Overlap Of Emotion And Usability";s: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:28:"http://wordpress.tv/?p=23074";s: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:83:"http://wordpress.tv/2013/10/18/ross-johnson-the-overlap-of-emotion-and-usability-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:686:"
\n
\n
Ross Johnson: The Overlap Of Emotion And Usability
";s: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, 18 Oct 2013 12:32: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:70:"WPTavern: Mark Jaquith on WordPress 3.6 Postmortem and Post Formats UI";s: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:32:"http://www.wptavern.com/?p=10034";s: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:122:"http://feedproxy.google.com/~r/WordpressTavern/~3/TrujuHuq6co/mark-jaquith-on-wordpress-3-6-postmortem-and-post-formats-ui";s: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:3783:"

One of the most anticipated features of WordPress 3.6 was the new Post Formats UI which would have exposed the feature to users who may not have known of its existence. Unfortunately, near the tail end of development for 3.6, Mark Jaquith made the announcement that the feature would be exiting core and that the work involved would most likely end up as a plugin. This generated a lot of mixed reviews from developers. In the midst of all the discussion, Mark Jaquith stated that he would publish a postmortem to explain the lessons learned.

\n

WordPress 3.7 is around the corner and we have yet to see the postmortem post, or a post formats UI plugin for that matter. I managed to get in touch with Mark Jaquith, who is an incredibly busy man, to find out what the status was on the post as well as the plugin. Mark tells me that he is working on the blog post that will explain the WordPress 3.6 development cycle, the lessons learned, and the struggles the team had during this time. The post will also cover the new approach to feature development that WordPress is now embracing with features being developed as plugins first. For those that will be attending WordCamp London on November 23 and 24th, Mark will be giving a presentation that shares the lessons learned in 3.6.

\n

Post Formats UI

\n

The reason for the delay in getting this information out to the public is that Mark is not an employee that gets to work on WordPress full-time. He was the lead developer for 3.6 and while trying to ensure the project stayed on time, he also had to make a living through his consultancy business. Some of his projects were even pushed back to make room for 3.6 development. To put it mildly, the 3.6 development process took a lot out of the man and he’s been playing catch up ever since.

\n

Mark concluded the email with his main takeaway of the post formats UI.

\n

With regards to post formats UI, the main takeaway I had was that the approach we took was the wrong approach and I didn’t really see that until very late in the process. So if or when the post formats UI feature gets taken back up in plugin form (in 3.9 or later), it will be a fresh effort, not one based on the work we did in 3.6. I am also watching the content creation experience efforts to see how that might play in.

\n

We’ll be keeping an eye out for the post and will link to it once it’s published. Thanks to Mark Jaquith for not only providing me with this update, but for all the hard work he did to lead the team to get 3.6 out the door.

\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, 17 Oct 2013 22:53: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: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:"";}}}}}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:9:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Sat, 26 Oct 2013 07:48:36 GMT";s:12:"content-type";s:8:"text/xml";s:14:"content-length";s:6:"206652";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:29:"Sat, 26 Oct 2013 07:30:14 GMT";s:4:"x-nc";s:11:"HIT lax 249";s:13:"accept-ranges";s:5:"bytes";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_options` VALUES (4565, '_transient_timeout_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1382816892', 'no'); +INSERT INTO `wp_options` VALUES (4566, '_transient_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1382773692', 'no'); +INSERT INTO `wp_options` VALUES (4567, '_transient_timeout_dash_aa95765b5cc111c56d5993d476b1c2f0', '1382816892', 'no'); +INSERT INTO `wp_options` VALUES (4568, '_transient_dash_aa95765b5cc111c56d5993d476b1c2f0', '
', 'no'); +INSERT INTO `wp_options` VALUES (4582, '_transient_timeout_feed_2e4937e95a4021031fd138aaa6ba4cfb', '1382816965', 'no'); +INSERT INTO `wp_options` VALUES (4583, '_transient_feed_2e4937e95a4021031fd138aaa6ba4cfb', '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:33:"\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:"link:http://micropasts.org/ - 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:85:"http://www.google.com/search?ie=utf-8&q=link:http://micropasts.org/&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:79:"Your search - link:http://micropasts.org/ - did not match any documents.";s: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: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: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:10:{s:12:"content-type";s:28:"text/xml; charset=ISO-8859-1";s:4:"date";s:29:"Sat, 26 Oct 2013 07:49:51 GMT";s:7:"expires";s:2:"-1";s:13:"cache-control";s:18:"private, max-age=0";s:10:"set-cookie";a:2:{i:0;s:143:"PREF=ID=2cf3ff2beebd1d62:FF=0:TM=1382773791:LM=1382773791:S=Cvls0dRGpBfk4kxR; expires=Mon, 26-Oct-2015 07:49:51 GMT; path=/; domain=.google.com";i:1;s:212:"NID=67=uGy8thSfWEBZEncbdFozWQIqRS0IB6gJZma1hW9-7BSQrCGVZLe11U_IsBl_sNyhw-i_nLCf3anOJZ2E11x4yCBvbNms45JRl-0gbOxEeMXaQKE5v2wEj2AiZX0IHABN; expires=Sun, 27-Apr-2014 07:49:51 GMT; path=/; domain=.google.com; HttpOnly";}s:3:"p3p";s:122:"CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."";s:6:"server";s:3:"gws";s:16:"x-xss-protection";s:13:"1; mode=block";s:15:"x-frame-options";s:10:"SAMEORIGIN";s:18:"alternate-protocol";s:7:"80:quic";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_options` VALUES (4584, '_transient_timeout_feed_mod_2e4937e95a4021031fd138aaa6ba4cfb', '1382816965', 'no'); +INSERT INTO `wp_options` VALUES (4585, '_transient_feed_mod_2e4937e95a4021031fd138aaa6ba4cfb', '1382773765', 'no'); +INSERT INTO `wp_options` VALUES (4586, '_transient_timeout_dash_20494a3d90a6669585674ed0eb8dcd8f', '1382816965', 'no'); +INSERT INTO `wp_options` VALUES (4587, '_transient_dash_20494a3d90a6669585674ed0eb8dcd8f', '

This dashboard widget queries Google Blog Search so that when another blog links to your site it will show up here. It has found no incoming links… yet. It’s okay — there is no rush.

\n', 'no'); +INSERT INTO `wp_options` VALUES (4590, 'wp_cron_backup_schedule', 'weekly', 'yes'); +INSERT INTO `wp_options` VALUES (4591, 'wp_cron_backup_tables', 'a:22:{i:0;s:16:"wp_2_commentmeta";i:1;s:13:"wp_2_comments";i:2;s:10:"wp_2_links";i:3;s:12:"wp_2_options";i:4;s:13:"wp_2_postmeta";i:5;s:10:"wp_2_posts";i:6;s:23:"wp_2_term_relationships";i:7;s:18:"wp_2_term_taxonomy";i:8;s:10:"wp_2_terms";i:9;s:21:"wp_2_wsluserscontacts";i:10;s:21:"wp_2_wslusersprofiles";i:11;s:16:"wp_blog_versions";i:12;s:8:"wp_blogs";i:13;s:17:"wp_domain_mapping";i:14;s:24:"wp_domain_mapping_logins";i:15;s:20:"wp_openid_identities";i:16;s:19:"wp_registration_log";i:17;s:10:"wp_signups";i:18;s:7:"wp_site";i:19;s:11:"wp_sitemeta";i:20;s:19:"wp_wsluserscontacts";i:21;s:19:"wp_wslusersprofiles";}', 'yes'); +INSERT INTO `wp_options` VALUES (4592, 'wp_cron_backup_recipient', 'danielpett@gmail.com', 'yes'); +INSERT INTO `wp_options` VALUES (4593, 'wp_db_backup_excs', 'a:2:{s:9:"revisions";a:0:{}s:4:"spam";a:0:{}}', 'yes'); +INSERT INTO `wp_options` VALUES (4594, 'rewrite_rules', 'a:82:{s:13:"sitemap\\.xml$";s:33:"index.php?gxs_module=sitemapindex";s:18:"sitemapindex\\.xml$";s:33:"index.php?gxs_module=sitemapindex";s:10:"site\\.xml$";s:25:"index.php?gxs_module=site";s:10:"page\\.xml$";s:25:"index.php?gxs_module=page";s:10:"post\\.xml$";s:25:"index.php?gxs_module=post";s:12:"author\\.xml$";s:27:"index.php?gxs_module=author";s:31:"([a-z0-9]+)_([a-z0-9_-]+)\\.xml$";s:59:"index.php?gxs_module=$matches[1]&gxs_sub_module=$matches[2]";s:11:"openid/(.+)";s:28:"index.php?openid=$matches[1]";s:47:"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:42:"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:35:"category/(.+?)/page/?([0-9]{1,})/?$";s:53:"index.php?category_name=$matches[1]&paged=$matches[2]";s:17:"category/(.+?)/?$";s:35:"index.php?category_name=$matches[1]";s:44:"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?tag=$matches[1]&feed=$matches[2]";s:39:"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?tag=$matches[1]&feed=$matches[2]";s:32:"tag/([^/]+)/page/?([0-9]{1,})/?$";s:43:"index.php?tag=$matches[1]&paged=$matches[2]";s:14:"tag/([^/]+)/?$";s:25:"index.php?tag=$matches[1]";s:45:"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?post_format=$matches[1]&feed=$matches[2]";s:40:"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?post_format=$matches[1]&feed=$matches[2]";s:33:"type/([^/]+)/page/?([0-9]{1,})/?$";s:51:"index.php?post_format=$matches[1]&paged=$matches[2]";s:15:"type/([^/]+)/?$";s:33:"index.php?post_format=$matches[1]";s:12:"robots\\.txt$";s:18:"index.php?robots=1";s:48:".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$";s:18:"index.php?feed=old";s:20:".*wp-app\\.php(/.*)?$";s:19:"index.php?error=403";s:16:".*wp-signup.php$";s:21:"index.php?signup=true";s:18:".*wp-activate.php$";s:23:"index.php?activate=true";s:18:".*wp-register.php$";s:23:"index.php?register=true";s:32:"feed/(feed|rdf|rss|rss2|atom)/?$";s:27:"index.php?&feed=$matches[1]";s:27:"(feed|rdf|rss|rss2|atom)/?$";s:27:"index.php?&feed=$matches[1]";s:20:"page/?([0-9]{1,})/?$";s:28:"index.php?&paged=$matches[1]";s:27:"comment-page-([0-9]{1,})/?$";s:40:"index.php?&page_id=208&cpage=$matches[1]";s:41:"comments/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?&feed=$matches[1]&withcomments=1";s:36:"comments/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?&feed=$matches[1]&withcomments=1";s:44:"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:40:"index.php?s=$matches[1]&feed=$matches[2]";s:39:"search/(.+)/(feed|rdf|rss|rss2|atom)/?$";s:40:"index.php?s=$matches[1]&feed=$matches[2]";s:32:"search/(.+)/page/?([0-9]{1,})/?$";s:41:"index.php?s=$matches[1]&paged=$matches[2]";s:14:"search/(.+)/?$";s:23:"index.php?s=$matches[1]";s:47:"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?author_name=$matches[1]&feed=$matches[2]";s:42:"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?author_name=$matches[1]&feed=$matches[2]";s:35:"author/([^/]+)/page/?([0-9]{1,})/?$";s:51:"index.php?author_name=$matches[1]&paged=$matches[2]";s:17:"author/([^/]+)/?$";s:33:"index.php?author_name=$matches[1]";s:69:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$";s:80:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]";s:64:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$";s:80:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$";s:81:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]";s:39:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$";s:63:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]";s:56:"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$";s:64:"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]";s:51:"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$";s:64:"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]";s:44:"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$";s:65:"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]";s:26:"([0-9]{4})/([0-9]{1,2})/?$";s:47:"index.php?year=$matches[1]&monthnum=$matches[2]";s:43:"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?year=$matches[1]&feed=$matches[2]";s:38:"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?year=$matches[1]&feed=$matches[2]";s:31:"([0-9]{4})/page/?([0-9]{1,})/?$";s:44:"index.php?year=$matches[1]&paged=$matches[2]";s:13:"([0-9]{4})/?$";s:26:"index.php?year=$matches[1]";s:58:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:68:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:88:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:83:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:83:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$";s:85:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1";s:77:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]";s:72:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]";s:65:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$";s:98:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]";s:72:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$";s:98:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(/[0-9]+)?/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]";s:47:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:57:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:77:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:72:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:72:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:64:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$";s:81:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]";s:51:"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$";s:65:"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]";s:38:"([0-9]{4})/comment-page-([0-9]{1,})/?$";s:44:"index.php?year=$matches[1]&cpage=$matches[2]";s:27:".?.+?/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:37:".?.+?/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:57:".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:52:".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:52:".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:20:"(.?.+?)/trackback/?$";s:35:"index.php?pagename=$matches[1]&tb=1";s:40:"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:47:"index.php?pagename=$matches[1]&feed=$matches[2]";s:35:"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$";s:47:"index.php?pagename=$matches[1]&feed=$matches[2]";s:28:"(.?.+?)/page/?([0-9]{1,})/?$";s:48:"index.php?pagename=$matches[1]&paged=$matches[2]";s:35:"(.?.+?)/comment-page-([0-9]{1,})/?$";s:48:"index.php?pagename=$matches[1]&cpage=$matches[2]";s:20:"(.?.+?)(/[0-9]+)?/?$";s:47:"index.php?pagename=$matches[1]&page=$matches[2]";}', 'yes'); +# +# End of data contents of table `wp_options` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_postmeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_postmeta` +# + +DROP TABLE IF EXISTS `wp_postmeta`; + + +# +# Table structure of table `wp_postmeta` +# + +CREATE TABLE `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=InnoDB AUTO_INCREMENT=199 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_postmeta` +# + +INSERT INTO `wp_postmeta` VALUES (7, 6, '_edit_last', '1'); +INSERT INTO `wp_postmeta` VALUES (8, 6, '_edit_lock', '1382008118:2'); +INSERT INTO `wp_postmeta` VALUES (9, 6, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (10, 6, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (11, 22, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (12, 22, '_edit_lock', '1382345465:2'); +INSERT INTO `wp_postmeta` VALUES (13, 22, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (14, 22, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (15, 55, '_wp_attached_file', '2013/10/LOGO_AHRC.jpg'); +INSERT INTO `wp_postmeta` VALUES (16, 55, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:607;s:6:"height";i:259;s:4:"file";s:21:"2013/10/LOGO_AHRC.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:21:"LOGO_AHRC-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:21:"LOGO_AHRC-300x128.jpg";s:5:"width";i:300;s:6:"height";i:128;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (17, 56, '_wp_attached_file', '2013/10/paslogo.gif'); +INSERT INTO `wp_postmeta` VALUES (18, 56, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:213;s:6:"height";i:104;s:4:"file";s:19:"2013/10/paslogo.gif";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:19:"paslogo-150x104.gif";s:5:"width";i:150;s:6:"height";i:104;s:9:"mime-type";s:9:"image/gif";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (19, 57, '_wp_attached_file', '2013/10/bmlogo.png'); +INSERT INTO `wp_postmeta` VALUES (20, 57, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:184;s:6:"height";i:73;s:4:"file";s:18:"2013/10/bmlogo.png";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"bmlogo-150x73.png";s:5:"width";i:150;s:6:"height";i:73;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (21, 55, '_edit_lock', '1380703301:2'); +INSERT INTO `wp_postmeta` VALUES (22, 66, '_wp_attached_file', '2013/10/University-College-London-UCL-Logo-Wallpaper.jpg'); +INSERT INTO `wp_postmeta` VALUES (23, 66, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1004;s:6:"height";i:297;s:4:"file";s:56:"2013/10/University-College-London-UCL-Logo-Wallpaper.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:56:"University-College-London-UCL-Logo-Wallpaper-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:55:"University-College-London-UCL-Logo-Wallpaper-300x88.jpg";s:5:"width";i:300;s:6:"height";i:88;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (24, 66, '_edit_lock', '1380702439:2'); +INSERT INTO `wp_postmeta` VALUES (25, 57, '_edit_lock', '1380702533:2'); +INSERT INTO `wp_postmeta` VALUES (26, 67, '_wp_attached_file', '2013/10/UCL-logo-small-use-blk-300x88.jpg'); +INSERT INTO `wp_postmeta` VALUES (27, 67, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:300;s:6:"height";i:88;s:4:"file";s:41:"2013/10/UCL-logo-small-use-blk-300x88.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:40:"UCL-logo-small-use-blk-300x88-150x88.jpg";s:5:"width";i:150;s:6:"height";i:88;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (28, 67, '_edit_lock', '1380702538:2'); +INSERT INTO `wp_postmeta` VALUES (29, 70, '_wp_attached_file', '2013/10/ahrc-logo-2.jpg'); +INSERT INTO `wp_postmeta` VALUES (30, 70, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:279;s:6:"height";i:298;s:4:"file";s:23:"2013/10/ahrc-logo-2.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:23:"ahrc-logo-2-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (31, 71, '_wp_attached_file', '2013/10/LOGO_AHRC1.jpg'); +INSERT INTO `wp_postmeta` VALUES (32, 71, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:586;s:6:"height";i:133;s:4:"file";s:22:"2013/10/LOGO_AHRC1.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:22:"LOGO_AHRC1-150x133.jpg";s:5:"width";i:150;s:6:"height";i:133;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:21:"LOGO_AHRC1-300x68.jpg";s:5:"width";i:300;s:6:"height";i:68;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (38, 88, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (39, 88, '_edit_lock', '1382008094:2'); +INSERT INTO `wp_postmeta` VALUES (40, 88, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (41, 88, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (81, 116, '_edit_lock', '1380809190:2'); +INSERT INTO `wp_postmeta` VALUES (82, 116, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (83, 116, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (84, 116, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (85, 116, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_postmeta` VALUES (86, 116, '_wp_trash_meta_time', '1380809305'); +INSERT INTO `wp_postmeta` VALUES (87, 118, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (88, 118, '_edit_lock', '1382092083:2'); +INSERT INTO `wp_postmeta` VALUES (89, 118, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (90, 118, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (91, 120, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (92, 120, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (93, 120, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (94, 120, '_edit_lock', '1382177431:3'); +INSERT INTO `wp_postmeta` VALUES (95, 122, '_edit_lock', '1380810074:2'); +INSERT INTO `wp_postmeta` VALUES (96, 122, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (97, 122, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (98, 122, '_wp_trash_meta_status', 'private'); +INSERT INTO `wp_postmeta` VALUES (99, 122, '_wp_trash_meta_time', '1380810189'); +INSERT INTO `wp_postmeta` VALUES (100, 124, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (101, 124, '_edit_lock', '1382091904:2'); +INSERT INTO `wp_postmeta` VALUES (102, 124, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (105, 88, '_wp_trash_meta_status', 'pending'); +INSERT INTO `wp_postmeta` VALUES (106, 88, '_wp_trash_meta_time', '1382008239'); +INSERT INTO `wp_postmeta` VALUES (107, 6, '_wp_trash_meta_status', 'pending'); +INSERT INTO `wp_postmeta` VALUES (108, 6, '_wp_trash_meta_time', '1382008243'); +INSERT INTO `wp_postmeta` VALUES (109, 135, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (110, 135, '_edit_lock', '1382092052:2'); +INSERT INTO `wp_postmeta` VALUES (111, 135, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (112, 138, '_edit_last', '2'); +INSERT INTO `wp_postmeta` VALUES (113, 138, '_edit_lock', '1382089762:3'); +INSERT INTO `wp_postmeta` VALUES (114, 138, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (115, 195, '_edit_lock', '1382368583:3'); +INSERT INTO `wp_postmeta` VALUES (116, 195, '_edit_last', '3'); +INSERT INTO `wp_postmeta` VALUES (117, 195, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (118, 195, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (121, 124, '_wp_trash_meta_status', 'private'); +INSERT INTO `wp_postmeta` VALUES (122, 124, '_wp_trash_meta_time', '1382092023'); +INSERT INTO `wp_postmeta` VALUES (125, 138, '_wp_trash_meta_status', 'private'); +INSERT INTO `wp_postmeta` VALUES (126, 138, '_wp_trash_meta_time', '1382092094'); +INSERT INTO `wp_postmeta` VALUES (127, 135, '_wp_trash_meta_status', 'private'); +INSERT INTO `wp_postmeta` VALUES (128, 135, '_wp_trash_meta_time', '1382092187'); +INSERT INTO `wp_postmeta` VALUES (129, 118, '_wp_trash_meta_status', 'draft'); +INSERT INTO `wp_postmeta` VALUES (130, 118, '_wp_trash_meta_time', '1382092292'); +INSERT INTO `wp_postmeta` VALUES (135, 207, '_wp_attached_file', '2013/10/cs12.jpg'); +INSERT INTO `wp_postmeta` VALUES (136, 207, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:16:"2013/10/cs12.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:16:"cs12-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:16:"cs12-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (137, 208, '_edit_last', '3'); +INSERT INTO `wp_postmeta` VALUES (138, 208, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (139, 208, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (140, 208, '_edit_lock', '1382180628:3'); +INSERT INTO `wp_postmeta` VALUES (141, 208, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_postmeta` VALUES (142, 208, '_wp_trash_meta_time', '1382176657'); +INSERT INTO `wp_postmeta` VALUES (143, 120, '_wp_trash_meta_status', 'private'); +INSERT INTO `wp_postmeta` VALUES (144, 120, '_wp_trash_meta_time', '1382177551'); +INSERT INTO `wp_postmeta` VALUES (148, 218, '_wp_attached_file', '2013/10/ahrc-e1382180270580.jpg'); +INSERT INTO `wp_postmeta` VALUES (149, 218, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:150;s:6:"height";i:36;s:4:"file";s:31:"2013/10/ahrc-e1382180270580.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:16:"ahrc-150x134.jpg";s:5:"width";i:150;s:6:"height";i:134;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:15:"ahrc-300x72.jpg";s:5:"width";i:300;s:6:"height";i:72;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (150, 218, '_edit_lock', '1382180279:3'); +INSERT INTO `wp_postmeta` VALUES (151, 218, '_wp_attachment_backup_sizes', 'a:4:{s:9:"full-orig";a:3:{s:5:"width";i:557;s:6:"height";i:134;s:4:"file";s:8:"ahrc.jpg";}s:18:"full-1382180270580";a:3:{s:5:"width";i:150;s:6:"height";i:36;s:4:"file";s:23:"ahrc-e1382180195695.jpg";}s:14:"thumbnail-orig";a:4:{s:4:"file";s:16:"ahrc-150x134.jpg";s:5:"width";i:150;s:6:"height";i:134;s:9:"mime-type";s:10:"image/jpeg";}s:11:"medium-orig";a:4:{s:4:"file";s:15:"ahrc-300x72.jpg";s:5:"width";i:300;s:6:"height";i:72;s:9:"mime-type";s:10:"image/jpeg";}}'); +INSERT INTO `wp_postmeta` VALUES (152, 218, '_edit_last', '3'); +INSERT INTO `wp_postmeta` VALUES (165, 228, '_wp_attached_file', '2013/10/ahrclogo5.gif'); +INSERT INTO `wp_postmeta` VALUES (166, 228, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:796;s:6:"height";i:191;s:4:"file";s:21:"2013/10/ahrclogo5.gif";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:21:"ahrclogo5-150x150.gif";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/gif";}s:6:"medium";a:4:{s:4:"file";s:20:"ahrclogo5-300x71.gif";s:5:"width";i:300;s:6:"height";i:71;s:9:"mime-type";s:9:"image/gif";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_postmeta` VALUES (169, 236, '_edit_lock', '1382389779:3'); +INSERT INTO `wp_postmeta` VALUES (170, 236, '_edit_last', '3'); +INSERT INTO `wp_postmeta` VALUES (171, 236, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (172, 236, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (173, 238, '_edit_last', '3'); +INSERT INTO `wp_postmeta` VALUES (174, 238, '_edit_lock', '1382369943:1'); +INSERT INTO `wp_postmeta` VALUES (175, 238, '_wp_page_template', 'default'); +INSERT INTO `wp_postmeta` VALUES (176, 238, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (191, 251, '_edit_last', '1'); +INSERT INTO `wp_postmeta` VALUES (192, 251, '_edit_lock', '1382422997:1'); +INSERT INTO `wp_postmeta` VALUES (193, 251, '_responsive_layout', 'default'); +INSERT INTO `wp_postmeta` VALUES (198, 207, '_edit_lock', '1382523198:2'); +# +# End of data contents of table `wp_postmeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_posts` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_posts` +# + +DROP TABLE IF EXISTS `wp_posts`; + + +# +# Table structure of table `wp_posts` +# + +CREATE TABLE `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` longtext 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=InnoDB AUTO_INCREMENT=258 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_posts` +# + +INSERT INTO `wp_posts` VALUES (6, 2, '2013-09-26 21:42:15', '2013-09-26 21:42:15', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute for the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'trash', 'open', 'closed', '', 'people', '', '', '2013-10-17 11:10:43', '2013-10-17 11:10:43', '', 0, 'http://micropasts.org/?page_id=6', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (7, 1, '2013-09-26 21:42:15', '2013-09-26 21:42:15', 'The advisory committee can go here', 'Advisory Committee', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-09-26 21:42:15', '2013-09-26 21:42:15', '', 6, 'http://micropasts.org/?p=7', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (10, 2, '2013-10-01 09:23:29', '2013-10-01 09:23:29', 'Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\n \r\n\r\nAdvisory Group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 09:23:29', '2013-10-01 09:23:29', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (11, 2, '2013-10-01 09:27:15', '2013-10-01 09:27:15', 'Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\n \r\n\r\nAdvisory Group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 09:27:15', '2013-10-01 09:27:15', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (12, 2, '2013-10-01 09:28:11', '2013-10-01 09:28:11', 'Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nAdvisory Group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 09:28:11', '2013-10-01 09:28:11', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (13, 2, '2013-10-01 09:44:52', '2013-10-01 09:44:52', 'Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nAdvisory Group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 09:44:52', '2013-10-01 09:44:52', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (14, 2, '2013-10-01 09:45:45', '2013-10-01 09:45:45', 'Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nAdvisory Group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 09:45:45', '2013-10-01 09:45:45', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (15, 2, '2013-10-01 10:13:38', '2013-10-01 10:13:38', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland, The British Museum\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\n \r\n\r\n, );  (UCL Geomatics, http://bit.ly/10t0rGw) and Melissa Terras (UCL Centre for Digital Humanities, http://bit.ly/AgpNhh).\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 10:13:38', '2013-10-01 10:13:38', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (16, 2, '2013-10-01 10:14:54', '2013-10-01 10:14:54', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland, The British Museum\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 10:14:54', '2013-10-01 10:14:54', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (17, 2, '2013-10-01 10:15:48', '2013-10-01 10:15:48', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland, The British Museum, Dept. of Prehistory & Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 10:15:48', '2013-10-01 10:15:48', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (18, 2, '2013-10-01 10:17:56', '2013-10-01 10:17:56', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 10:17:56', '2013-10-01 10:17:56', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (19, 2, '2013-10-01 10:24:49', '2013-10-01 10:24:49', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 10:24:49', '2013-10-01 10:24:49', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (20, 2, '2013-10-01 10:27:40', '2013-10-01 10:27:40', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 10:27:40', '2013-10-01 10:27:40', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (22, 2, '2013-10-01 11:38:16', '2013-10-01 11:38:16', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo\r\n\r\n ', 'What is Micropasts?', '', 'publish', 'closed', 'closed', '', 'about-the-project', '', '', '2013-10-21 09:51:59', '2013-10-21 08:51:59', '', 0, 'http://micropasts.org/?page_id=22', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (23, 2, '2013-10-01 10:37:21', '2013-10-01 10:37:21', '', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 10:37:21', '2013-10-01 10:37:21', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (24, 2, '2013-10-01 11:37:57', '2013-10-01 11:37:57', '\'Crowd- and Community-Fuelled Archaeological Research\' is a project that brings together trained archaeologists and members of the public in the co-production of archaeological data, and in the co-design and micro-funding of archaeological research.\r\n\r\nParticipants will collaborate, online, to generate 3D models sfm etcetc\r\n\r\nFocus on collections - bronze age but not only\r\n\r\nOur aim is to understand the potential of crowdsourcing in creating and sustaining communities of interest, in redefining research agendas of real public value, and in opening up ways for a direct, crowd-ffunding of these projects etcetc \r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM\r\n\r\n', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 11:37:57', '2013-10-01 11:37:57', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (27, 2, '2013-10-01 13:38:28', '2013-10-01 13:38:28', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants will be in\r\n\r\nOur objectives are ...\r\n\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 13:38:28', '2013-10-01 13:38:28', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (28, 2, '2013-10-01 13:43:19', '2013-10-01 13:43:19', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using web technologies. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nWe will use web technologies and crowdsourcing to enhance the degree to which\r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 13:43:19', '2013-10-01 13:43:19', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (29, 2, '2013-10-01 14:01:16', '2013-10-01 14:01:16', 'Our project brings together traditional academics and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using web technologies and crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants will be able to choose among a number of activities aiming to co-create archaeological knowledge, starting with the creation of 3D object models and other archaeological data. This will be the starting point to discuss altogether and develop new research agendas that can be of real value to academic and non-academic collaborators. Through crowdfunding, a kind of micro-funding, we will try and collect the resources that are necessary to undertake the projects that will be considered by the community of participants to have greater value, will be presented \r\n\r\nthat will then be used to discuss and develop\r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:01:16', '2013-10-01 14:01:16', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (32, 2, '2013-10-01 14:30:29', '2013-10-01 14:30:29', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using web technologies and crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. We invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by academic and non-academic researchers. We will use crowd-funding, a kind of micro-funding, to collect the resources that are necessary to undertake those projects of higher significance to our participant community. \r\n\r\n Academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors \r\n\r\nWe in starting with the production of 3D object models and other archaeological data. This will be the starting point to discuss altogether and develop new research agendas that can be of real value to academic and non-academic collaborators. Through crowdfunding, a kind of micro-funding, we will try and collect the resources that are necessary to undertake the projects that will be considered by the community of participants to have greater value, will be presented \r\n\r\nthat will then be used to discuss and develop\r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:30:29', '2013-10-01 14:30:29', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (33, 2, '2013-10-01 14:32:19', '2013-10-01 14:32:19', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using web technologies and crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. We invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas bearing real value to both academic and non-academic researchers. Through crowd-funding, a kind of micro-funding, we will try and collect the resources that are necessary to undertake those co-designed projects of higher and wider significance for our participant community. \r\n\r\nWe in starting with the production of 3D object models and other archaeological data. This will be the starting point to discuss altogether and develop new research agendas that can be of real value to academic and non-academic collaborators. Through crowdfunding, a kind of micro-funding, we will try and collect the resources that are necessary to undertake the projects that will be considered by the community of participants to have greater value, will be presented \r\n\r\nthat will then be used to discuss and develop\r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:32:19', '2013-10-01 14:32:19', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (35, 2, '2013-10-01 14:39:54', '2013-10-01 14:39:54', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. We invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. Through crowd-funding, we will try to finance the co-designed projects of higher and more widely shared significance.\r\n\r\nWe in starting with the production of 3D object models and other archaeological data. This will be the starting point to discuss altogether and develop new research agendas that can be of real value to academic and non-academic collaborators. Through crowdfunding, a kind of micro-funding, we will try and collect the resources that are necessary to undertake the projects that will be considered by the community of participants to have greater value, will be presented \r\n\r\nthat will then be used to discuss and develop\r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:39:54', '2013-10-01 14:39:54', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (36, 2, '2013-10-01 14:49:50', '2013-10-01 14:49:50', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. We invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. Through crowd-funding, we will put forward for micro-financing the co-designed projects of higher and more widely shared significance.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we might expand the geographic and chronological scope of the research following participants\' interests and expectations. \r\n\r\nThe \r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:49:50', '2013-10-01 14:49:50', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (38, 2, '2013-10-01 14:52:20', '2013-10-01 14:52:20', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. Using crowd-funding, we will put forward for micro-financing the co-designed projects of higher and more widely shared significance.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we might expand the geographic and chronological scope of the research following participants\' interests and expectations. \r\n\r\n \r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:52:20', '2013-10-01 14:52:20', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (39, 2, '2013-10-01 14:54:49', '2013-10-01 14:54:49', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we might expand the geographic and chronological scope of the research following participants\' interests and expectations. \r\n\r\n \r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:54:49', '2013-10-01 14:54:49', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (40, 2, '2013-10-01 14:57:03', '2013-10-01 14:57:03', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\n \r\n\r\nThe objectives are\r\n\r\n-- To use web technologies for enhancing the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge.\r\n-- To capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n-- To explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n-- To scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.\r\n\r\nIf you are interested in taking part in taking part, or you are just curious and would like to know more, please contact the project team at\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 14:57:03', '2013-10-01 14:57:03', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (41, 2, '2013-10-01 15:05:40', '2013-10-01 15:05:40', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a convincing tool for enhancing the degree to which traditional academics, other organised communities of archaeological interests, and a wider \'crowd\' of contributors can undertake collaborative projects in archaeology.\r\n\r\nThrough our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:05:40', '2013-10-01 15:05:40', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (42, 2, '2013-10-01 15:06:09', '2013-10-01 15:06:09', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts, and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a convincing tool for enhancing the degree to which traditional academics, other organised communities of archaeological interests, and a wider \'crowd\' of contributors can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:06:09', '2013-10-01 15:06:09', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (43, 2, '2013-10-01 15:12:17', '2013-10-01 15:12:17', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections uncovered in Britain and the Levant and housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a convincing tool for enhancing the degree to which traditional academics, other organised communities of archaeological interests, and a wider \'crowd\' of contributors can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:12:17', '2013-10-01 15:12:17', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (45, 2, '2013-10-01 15:15:43', '2013-10-01 15:15:43', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a convincing tool for enhancing the degree to which traditional academics, other organised communities of archaeological interests, and a wider \'crowd\' of contributors can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:15:43', '2013-10-01 15:15:43', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (46, 2, '2013-10-01 15:16:53', '2013-10-01 15:16:53', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interests, and a wider \'crowd\' of contributors can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:16:53', '2013-10-01 15:16:53', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (47, 2, '2013-10-01 15:17:36', '2013-10-01 15:17:36', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' of contributors can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:17:36', '2013-10-01 15:17:36', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (48, 2, '2013-10-01 15:18:09', '2013-10-01 15:18:09', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding, a kind of micro-financing.\r\n\r\nOur co-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:18:09', '2013-10-01 15:18:09', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (49, 2, '2013-10-01 15:19:16', '2013-10-01 15:19:16', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and widely shared significance will be put forward for crowd-funding.\r\n\r\nOur co-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:19:16', '2013-10-01 15:19:16', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (50, 2, '2013-10-01 15:20:25', '2013-10-01 15:20:25', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:20:25', '2013-10-01 15:20:25', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (51, 2, '2013-10-01 15:21:10', '2013-10-01 15:21:10', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative projects in archaeology. Through our work, we will also look to understand and describe viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:21:10', '2013-10-01 15:21:10', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (52, 2, '2013-10-01 15:22:47', '2013-10-01 15:22:47', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant, housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative projects in archaeology. Through our work, we also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:22:47', '2013-10-01 15:22:47', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (53, 2, '2013-10-01 15:26:19', '2013-10-01 15:26:19', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations. \r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. Through our work, we also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis. \r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-01 15:26:19', '2013-10-01 15:26:19', '', 22, 'http://micropasts.org/2013/10/01/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (55, 1, '2013-10-01 18:36:07', '2013-10-01 18:36:07', '', 'LOGO_AHRC', '', 'inherit', 'open', 'open', '', 'logo_ahrc', '', '', '2013-10-01 18:36:07', '2013-10-01 18:36:07', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/LOGO_AHRC.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (56, 1, '2013-10-01 18:36:07', '2013-10-01 18:36:07', '', 'paslogo', '', 'inherit', 'open', 'open', '', 'paslogo', '', '', '2013-10-01 18:36:07', '2013-10-01 18:36:07', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/paslogo.gif', 0, 'attachment', 'image/gif', 0); +INSERT INTO `wp_posts` VALUES (57, 1, '2013-10-01 18:36:08', '2013-10-01 18:36:08', '', 'bmlogo', '', 'inherit', 'open', 'open', '', 'bmlogo', '', '', '2013-10-01 18:36:08', '2013-10-01 18:36:08', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/bmlogo.png', 0, 'attachment', 'image/png', 0); +INSERT INTO `wp_posts` VALUES (58, 1, '2013-10-01 18:38:22', '2013-10-01 18:38:22', 'The Project Team\n\nDr Andy Bevan, UCL Institute of Archaeology\nPrincipal Investigator\n\nDaniel Pett, The British Museum, Portable Antiquities Scheme\nCo-Investigator\n\nDr Rachel Sparks, UCL Institute of Archaeology\nCo-Investigator\n\nDr Chiara Bonacchi, UCL Institute of Archaeology\nPost-Doctoral Research Associate\n\nDr Adi Keinan, UCL Institute of Archaeology\nPost-Doctoral Research Associate\n\nIan Carroll, UCL Institute of Archaeology\nArchival Collections Liaison\n\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\nArchival Collections Liaison\n\nRupert Chapman, The British Museum, Dept. of The Middle East\nBritish Museum and Palestine Exploration Fund Liaison\n\nAll of our contributors ...\n\n \n\nOur Advisory Group\n\nDr Roger Bland OB, The British Museum, Dept. of Prehistory and Europe\n\nNatalie Cohen, Thames Discovery Project\n\nDr Stuart Dunn, King\'s College London, Centre for e-Research\n\nSusie Green, UCL Institute of Archaeology\n\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\n\nLorna Richardson, Waveney Valley Community Archaeology Group\n\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\n\nDr Melissa Terras, UCL Centre for Digital Humanities\n\n ', 'People', '', 'inherit', 'open', 'open', '', '6-autosave-v1', '', '', '2013-10-01 18:38:22', '2013-10-01 18:38:22', '', 6, 'http://micropasts.org/2013/10/01/6-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (59, 1, '2013-10-01 18:38:50', '2013-10-01 18:38:50', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-01 18:38:50', '2013-10-01 18:38:50', '', 6, 'http://micropasts.org/2013/10/01/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (61, 2, '2013-10-02 08:20:36', '2013-10-02 08:20:36', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-autosave-v1', '', '', '2013-10-02 08:20:36', '2013-10-02 08:20:36', '', 6, 'http://micropasts.org/2013/10/02/6-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (62, 2, '2013-10-02 08:19:54', '2013-10-02 08:19:54', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nDr Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-02 08:19:54', '2013-10-02 08:19:54', '', 6, 'http://micropasts.org/2013/10/02/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (63, 2, '2013-10-02 08:21:18', '2013-10-02 08:21:18', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\n \r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute of the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-02 08:21:18', '2013-10-02 08:21:18', '', 6, 'http://micropasts.org/2013/10/02/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (65, 2, '2013-10-02 08:24:12', '2013-10-02 08:24:12', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO AHRC FULL - LOGO UCL - LOGO BM', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:24:12', '2013-10-02 08:24:12', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (66, 2, '2013-10-02 08:27:07', '2013-10-02 08:27:07', '', 'University-College-London-UCL-Logo-Wallpaper', '', 'inherit', 'open', 'open', '', 'university-college-london-ucl-logo-wallpaper', '', '', '2013-10-02 08:27:07', '2013-10-02 08:27:07', '', 0, 'http://micropasts.org/wp-content/uploads/2013/10/University-College-London-UCL-Logo-Wallpaper.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (67, 2, '2013-10-02 08:28:47', '2013-10-02 08:28:47', '', 'UCL-logo-small-use-blk-300x88', '', 'inherit', 'open', 'open', '', 'ucl-logo-small-use-blk-300x88', '', '', '2013-10-02 08:28:47', '2013-10-02 08:28:47', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/UCL-logo-small-use-blk-300x88.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (69, 2, '2013-10-02 08:35:32', '2013-10-02 08:35:32', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogo', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:35:32', '2013-10-02 08:35:32', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (70, 2, '2013-10-02 08:35:41', '2013-10-02 08:35:41', '', 'ahrc-logo-2', '', 'inherit', 'open', 'open', '', 'ahrc-logo-2', '', '', '2013-10-02 08:35:41', '2013-10-02 08:35:41', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/ahrc-logo-2.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (71, 2, '2013-10-02 08:41:26', '2013-10-02 08:41:26', '', 'LOGO_AHRC', '', 'inherit', 'open', 'open', '', 'logo_ahrc-2', '', '', '2013-10-02 08:41:26', '2013-10-02 08:41:26', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/LOGO_AHRC1.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (72, 2, '2013-10-02 08:42:45', '2013-10-02 08:42:45', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:42:45', '2013-10-02 08:42:45', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (73, 2, '2013-10-02 08:45:26', '2013-10-02 08:45:26', 'UCL-logo-small-use-blk-300x88bmlogopaslogo\r\n\r\n \r\n\r\nOur project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\n ', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:45:26', '2013-10-02 08:45:26', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (74, 2, '2013-10-02 08:47:07', '2013-10-02 08:47:07', 'UCL-logo-small-use-blk-300x88bmlogopaslogo\r\n\r\n \r\n\r\nOur project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:47:07', '2013-10-02 08:47:07', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (75, 2, '2013-10-02 08:47:18', '2013-10-02 08:47:18', 'UCL-logo-small-use-blk-300x88bmlogopaslogo\r\n\r\nOur project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:47:18', '2013-10-02 08:47:18', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (76, 2, '2013-10-02 08:50:00', '2013-10-02 08:50:00', ' \r\n\r\nOur project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:50:00', '2013-10-02 08:50:00', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (77, 2, '2013-10-02 08:50:25', '2013-10-02 08:50:25', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:50:25', '2013-10-02 08:50:25', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (78, 2, '2013-10-02 08:51:08', '2013-10-02 08:51:08', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 08:51:08', '2013-10-02 08:51:08', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (81, 2, '2013-10-02 09:00:26', '2013-10-02 09:00:26', ' \r\n\r\nOur project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 09:00:26', '2013-10-02 09:00:26', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (82, 2, '2013-10-02 09:00:42', '2013-10-02 09:00:42', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the Project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 09:00:42', '2013-10-02 09:00:42', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (85, 2, '2013-10-02 09:03:51', '2013-10-02 09:03:51', 'Our project brings together trained archaeologists and members of the public to co-produce archaeological data, co-design and micro-fund archaeological research, using crowdsourcing. We called it Crowd- and Community-Fuelled Archaeological Research.\r\n\r\nParticipants can choose among a number of activities leading to the co-creation of archaeological knowledge. Through our portal micropasts.org, we invite contributors to help us generate 3D models of archaeological artefacts and use them to develop new research agendas valued by both academic and non-academic researchers. The co-designed projects of higher and more widely shared significance will be put forward for crowd-funding.\r\n\r\nCo-production activities focus on Bronze Age collections from Britain and the Levant housed at The British Museum and the UCL Institute of Archaeology, respectively. Nevertheless, as our contributor communities grow larger, we are likely to expand the geographic and chronological scope of the research, following participants\' interests and expectations.\r\n\r\nOver the course of the project, we will be studying whether and how crowdsourcing can be a tool to enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider \'crowd\' can undertake collaborative research in archaeology. We also look to explore and understand the viability of financing models based on crowd-funding to support archaeology in the current time of economic crisis.\r\n\r\nThe project is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities. It will be running from 1 October 2013 to 30 March 2015.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 09:03:51', '2013-10-02 09:03:51', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (88, 2, '2013-10-02 09:41:24', '2013-10-02 09:41:24', '', 'How to take part', '', 'trash', 'open', 'open', '', 'how-to-take-part', '', '', '2013-10-17 11:10:39', '2013-10-17 11:10:39', '', 0, 'http://micropasts.org/?page_id=88', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (89, 2, '2013-10-02 09:41:18', '2013-10-02 09:41:18', '', 'How to take part', '', 'inherit', 'open', 'open', '', '88-revision-v1', '', '', '2013-10-02 09:41:18', '2013-10-02 09:41:18', '', 88, 'http://micropasts.org/2013/10/02/88-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (95, 3, '2013-10-02 11:32:30', '2013-10-02 11:32:30', 'Micropasts brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research. We want to create a place where these different groups of archaeological enthusiast can not only pool their efforts to create  new data, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeological research by improving the way those traditionally seen as \'academics\', \'professionals\' and \'volunteers\' (as well as those who have as yet no more than a passing interest) cooperate with one another. Through this web platform, we are looking to develop a range of crowd-sourcing and micro-funding opportunities, including things like 3D object modelling, the mark-up of historic and early archaeological photographs, and the transcription of archaeological archives.\r\n\r\nWe cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated projects will be dreamt up collectively. But we are keen for your ideas and your participation wherever we can get them!\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 11:32:30', '2013-10-02 11:32:30', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (96, 3, '2013-10-02 11:35:50', '2013-10-02 11:35:50', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research. We want to create a place where different kinds of archaeological enthusiast can not only create new high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with those who have as yet no more than a passing interest). Through Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, including things like 3D object modelling, the mark-up of historic and early archaeological photographs, and the transcription of archaeological archives.\r\n\r\nWe cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. But we are keen for your ideas and your participation wherever we can get them! To become a contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 11:35:50', '2013-10-02 11:35:50', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (97, 3, '2013-10-02 11:37:23', '2013-10-02 11:37:23', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about the past. We want to create a place where different kinds of archaeological enthusiast can not only create new high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with those who have as yet no more than a passing interest). Through Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, including things like 3D object modelling, the mark-up of historic and early archaeological photographs, and the transcription of archaeological archives. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. But we are keen for your ideas and your participation wherever we can get them! To become a contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 11:37:23', '2013-10-02 11:37:23', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (98, 3, '2013-10-02 11:39:12', '2013-10-02 11:39:12', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about the past. We want to create a place where different kinds of archaeological enthusiast can not only create new high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with those who have as yet no more than a passing interest). Through Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, including things like 3D object modelling, the mark-up of historic and early archaeological photographs, and the transcription of archaeological archives. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. But we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-02 11:39:12', '2013-10-02 11:39:12', '', 22, 'http://micropasts.org/2013/10/02/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (103, 1, '2013-10-02 18:49:53', '2013-10-02 18:49:53', 'The Project Team\r\n\r\nDr Andy Bevan, UCL Institute of Archaeology\r\nPrincipal Investigator\r\n\r\nDaniel Pett, The British Museum, Portable Antiquities Scheme\r\nCo-Investigator\r\n\r\nDr Rachel Sparks, UCL Institute of Archaeology\r\nCo-Investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nPost-Doctoral Research Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\nRupert Chapman, The British Museum, Dept. of The Middle East\r\nBritish Museum and Palestine Exploration Fund Liaison\r\n\r\nAll of our contributors ...\r\n\r\nOur Advisory Group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Centre for e-Research\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDr Sebastian Heath, New York University, Institute for the Study of the Ancient World\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '6-revision-v1', '', '', '2013-10-02 18:49:53', '2013-10-02 18:49:53', '', 6, 'http://micropasts.org/2013/10/02/6-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (105, 2, '2013-10-03 11:33:57', '2013-10-03 11:33:57', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about the past. We want to create a place where different kinds of archaeological enthusiast can not only create new high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with those who have as yet no more than a passing interest). Through Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, including things like 3D object modelling, the mark-up of historic and early archaeological photographs, and the transcription of archaeological archives. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. But we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-03 11:33:57', '2013-10-03 11:33:57', '', 22, 'http://micropasts.org/2013/10/03/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (116, 2, '2013-10-03 14:08:21', '2013-10-03 14:08:21', '', 'Crowd-sourcing', '', 'trash', 'open', 'open', '', 'crowd-sourcing', '', '', '2013-10-03 14:08:25', '2013-10-03 14:08:25', '', 0, 'http://micropasts.org/?page_id=116', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (117, 2, '2013-10-03 14:08:21', '2013-10-03 14:08:21', '', 'Crowd-sourcing', '', 'inherit', 'open', 'open', '', '116-revision-v1', '', '', '2013-10-03 14:08:21', '2013-10-03 14:08:21', '', 116, 'http://micropasts.org/2013/10/03/116-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (118, 2, '2013-10-17 15:42:45', '2013-10-17 15:42:45', '', 'Research you can do', '', 'trash', 'open', 'open', '', 'crowdsourcing-2', '', '', '2013-10-18 10:31:32', '2013-10-18 10:31:32', '', 0, 'http://micropasts.org/?page_id=118', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (119, 2, '2013-10-03 14:20:42', '2013-10-03 14:20:42', '', 'Crowdsourcing ', '', 'inherit', 'open', 'open', '', '118-revision-v1', '', '', '2013-10-03 14:20:42', '2013-10-03 14:20:42', '', 118, 'http://micropasts.org/2013/10/03/118-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (120, 2, '2013-10-17 15:34:06', '2013-10-17 15:34:06', '', 'Projects you can fund', '', 'trash', 'open', 'open', '', 'the-projects-you-can-fund', '', '', '2013-10-19 11:12:31', '2013-10-19 10:12:31', '', 0, 'http://micropasts.org/?page_id=120', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (121, 2, '2013-10-03 14:21:01', '2013-10-03 14:21:01', '', 'Crowdfunding', '', 'inherit', 'open', 'open', '', '120-revision-v1', '', '', '2013-10-03 14:21:01', '2013-10-03 14:21:01', '', 120, 'http://micropasts.org/2013/10/03/120-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (122, 2, '2013-10-03 14:22:09', '2013-10-03 14:22:09', '', 'Community forum', '', 'trash', 'open', 'open', '', 'community-forum', '', '', '2013-10-03 14:23:09', '2013-10-03 14:23:09', '', 0, 'http://micropasts.org/?page_id=122', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (123, 2, '2013-10-03 14:22:09', '2013-10-03 14:22:09', '', 'Community forum', '', 'inherit', 'open', 'open', '', '122-revision-v1', '', '', '2013-10-03 14:22:09', '2013-10-03 14:22:09', '', 122, 'http://micropasts.org/2013/10/03/122-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (124, 2, '2013-10-03 14:23:24', '2013-10-03 14:23:24', '', 'Community forum', '', 'trash', 'open', 'open', '', 'community-forum-2', '', '', '2013-10-18 10:27:03', '2013-10-18 10:27:03', '', 0, 'http://micropasts.org/?page_id=124', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (125, 2, '2013-10-03 14:23:24', '2013-10-03 14:23:24', '', 'Community forum', '', 'inherit', 'open', 'open', '', '124-revision-v1', '', '', '2013-10-03 14:23:24', '2013-10-03 14:23:24', '', 124, 'http://micropasts.org/2013/10/03/124-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (127, 3, '2013-10-06 06:33:46', '2013-10-06 06:33:46', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. We want to create a place where different kinds of archaeological enthusiast can not only create new high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with those who have as yet no more than a passing interest). Through the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-06 06:33:46', '2013-10-06 06:33:46', '', 22, 'http://micropasts.org/2013/10/06/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (128, 3, '2013-10-06 06:34:56', '2013-10-06 06:34:56', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. We want to create a place where different kinds of archaeological enthusiast can not only create new high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with other people out there who as yet have no more than a passing interest in archaeology). Through the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-06 06:34:56', '2013-10-06 06:34:56', '', 22, 'http://micropasts.org/2013/10/06/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (135, 2, '2013-10-17 11:13:21', '2013-10-17 11:13:21', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history.\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects  \r\n\r\n \r\n\r\nHave a look at the Research you can do. If you are interested in partipating, start here.\r\n\r\nThere are several Projects you can fund, to contribute with a small donation start here.\r\n\r\nIf you are only interested in taking part in our Community forum, just register here.', 'How to take part', '', 'trash', 'open', 'open', '', 'how-to-take-part-2', '', '', '2013-10-18 10:29:47', '2013-10-18 10:29:47', '', 0, 'http://micropasts.org/?page_id=135', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (136, 2, '2013-10-17 11:13:21', '2013-10-17 11:13:21', '', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 11:13:21', '2013-10-17 11:13:21', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (138, 2, '2013-10-17 11:14:04', '2013-10-17 11:14:04', '', 'FAQ', '', 'trash', 'open', 'open', '', 'faq', '', '', '2013-10-18 10:28:14', '2013-10-18 10:28:14', '', 0, 'http://micropasts.org/?page_id=138', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (139, 2, '2013-10-17 11:14:04', '2013-10-17 11:14:04', '', 'FAQ', '', 'inherit', 'open', 'open', '', '138-revision-v1', '', '', '2013-10-17 11:14:04', '2013-10-17 11:14:04', '', 138, 'http://micropasts.org/2013/10/17/138-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (158, 2, '2013-10-17 12:23:38', '2013-10-17 12:23:38', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. We want to create a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with other people out there who as yet have no more than a passing interest in archaeology). Through the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:23:38', '2013-10-17 12:23:38', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (159, 2, '2013-10-17 12:31:40', '2013-10-17 12:31:40', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with other people out there who as yet have no more than a passing interest in archaeology). Through the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:31:40', '2013-10-17 12:31:40', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (160, 2, '2013-10-17 12:32:58', '2013-10-17 12:32:58', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nWe think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with other people out there who as yet have no more than a passing interest in archaeology). Through the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:32:58', '2013-10-17 12:32:58', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (161, 2, '2013-10-17 12:37:16', '2013-10-17 12:37:16', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with other people out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:37:16', '2013-10-17 12:37:16', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (162, 2, '2013-10-17 12:38:39', '2013-10-17 12:38:39', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 30 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, the British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:38:39', '2013-10-17 12:38:39', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (163, 2, '2013-10-17 12:40:56', '2013-10-17 12:40:56', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 31 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:40:56', '2013-10-17 12:40:56', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (164, 2, '2013-10-17 12:45:30', '2013-10-17 12:45:30', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 31 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'About the project', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 12:45:30', '2013-10-17 12:45:30', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (168, 2, '2013-10-17 14:55:59', '2013-10-17 14:55:59', 'On the Micropasts platform you can do one or more of three things:\r\n\r\n1. You can participate in archaeological research on human history\r\n\r\n2. You can propose and discuss ideas for new research about our past\r\n\r\n3. You can fund archaeological and heritage projects\r\n\r\n \r\n\r\n To start, you first need to register here.\r\n\r\n \r\n\r\nOnce you have registered, go to:\r\n\r\nCrowdsourcing, to  participate in archaeological research\r\n\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\n\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 14:55:59', '2013-10-17 14:55:59', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (169, 2, '2013-10-17 14:57:22', '2013-10-17 14:57:22', 'On the Micropasts platform you can do one or more of three things:\r\n\r\n1. You can participate in archaeological research on human history\r\n\r\n2. You can propose and discuss ideas for new projects to research our past\r\n\r\n3. You can fund archaeological and heritage projects\r\n\r\n \r\n\r\n To start, you need to register here.\r\n\r\n \r\n\r\nOnce you have registered, go to:\r\n\r\nCrowdsourcing, to  participate in archaeological research\r\n\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\n\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 14:57:22', '2013-10-17 14:57:22', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (171, 2, '2013-10-17 14:59:15', '2013-10-17 14:59:15', 'On the Micropasts platform you can do one or more of three things:\r\n\r\n1. You can participate in archaeological research on human history\r\n\r\n2. You can propose and discuss ideas for new projects to research our past\r\n\r\n3. You can fund archaeological and heritage projects\r\n\r\n \r\n\r\n To start, you need to register here.\r\n\r\n \r\n\r\nOnce you have registered, go to:\r\n\r\nCrowdsourcing, to  participate in archaeological research\r\n\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\n\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 14:59:15', '2013-10-17 14:59:15', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (172, 2, '2013-10-17 15:00:18', '2013-10-17 15:00:18', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects\r\n\r\n \r\n\r\n To start, you need to register here.\r\n\r\n \r\n\r\nOnce you have registered, go to:\r\nCrowdsourcing, to  participate in archaeological research\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:00:18', '2013-10-17 15:00:18', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (175, 2, '2013-10-17 15:04:05', '2013-10-17 15:04:05', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects\r\n \r\n\r\n To start, you need to register here.\r\n \r\n\r\nOnce you have registered, go to:\r\nCrowdsourcing, to  participate in archaeological research\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:04:05', '2013-10-17 15:04:05', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (176, 2, '2013-10-17 15:04:39', '2013-10-17 15:04:39', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects\r\n \r\n\r\n To start, you need to register here.\r\n \r\n\r\nOnce you have registered, go to:\r\nCrowdsourcing, to  participate in archaeological research\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:04:39', '2013-10-17 15:04:39', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (177, 2, '2013-10-17 15:05:15', '2013-10-17 15:05:15', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects\r\n \r\n\r\n To start, you need to register here.\r\n \r\n\r\nOnce you have registered, go to:\r\nCrowdsourcing, to  participate in archaeological research\r\nCommunity forum, to propose and discuss ideas for new research and to engage with our international community\r\nCrowdfunding, to fund archaeological research through small donations', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:05:15', '2013-10-17 15:05:15', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (179, 2, '2013-10-17 15:25:05', '2013-10-17 15:25:05', '', 'Projects you can fund', '', 'inherit', 'open', 'open', '', '120-revision-v1', '', '', '2013-10-17 15:25:05', '2013-10-17 15:25:05', '', 120, 'http://micropasts.org/2013/10/17/120-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (180, 2, '2013-10-17 15:25:27', '2013-10-17 15:25:27', '', 'Discover the research you can do', '', 'inherit', 'open', 'open', '', '118-revision-v1', '', '', '2013-10-17 15:25:27', '2013-10-17 15:25:27', '', 118, 'http://micropasts.org/2013/10/17/118-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (181, 2, '2013-10-17 15:33:44', '2013-10-17 15:33:44', '', 'The research you can do', '', 'inherit', 'open', 'open', '', '118-revision-v1', '', '', '2013-10-17 15:33:44', '2013-10-17 15:33:44', '', 118, 'http://micropasts.org/2013/10/17/118-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (182, 2, '2013-10-17 15:34:06', '2013-10-17 15:34:06', '', 'The projects you can fund', '', 'inherit', 'open', 'open', '', '120-revision-v1', '', '', '2013-10-17 15:34:06', '2013-10-17 15:34:06', '', 120, 'http://micropasts.org/2013/10/17/120-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (184, 2, '2013-10-17 15:40:39', '2013-10-17 15:40:39', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history.\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects  \r\n\r\n \r\n\r\nHave a look at the Research you can do. If you are interested in partipating, start here.\r\n\r\nThere are several Projects you can fund, to contribute with a small donation start here.\r\n\r\nIf you are only interested in taking part in our community forum, just register here.', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:40:39', '2013-10-17 15:40:39', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (185, 2, '2013-10-17 15:40:55', '2013-10-17 15:40:55', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history.\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects  \r\n\r\n \r\n\r\nHave a look at the Research you can do. If you are interested in partipating, start here.\r\n\r\nThere are several Projects you can fund, to contribute with a small donation start here.\r\n\r\nIf you are only interested in taking part in our Community forum, just register here.', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:40:55', '2013-10-17 15:40:55', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (186, 2, '2013-10-17 15:42:30', '2013-10-17 15:42:30', '', 'Projects you can fund', '', 'inherit', 'open', 'open', '', '120-revision-v1', '', '', '2013-10-17 15:42:30', '2013-10-17 15:42:30', '', 120, 'http://micropasts.org/2013/10/17/120-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (187, 2, '2013-10-17 15:42:45', '2013-10-17 15:42:45', '', 'Research you can do', '', 'inherit', 'open', 'open', '', '118-revision-v1', '', '', '2013-10-17 15:42:45', '2013-10-17 15:42:45', '', 118, 'http://micropasts.org/2013/10/17/118-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (188, 2, '2013-10-17 15:44:40', '2013-10-17 15:44:40', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history.\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects  \r\n\r\n \r\n\r\nHave a look at the Research you can do. If you are interested in partipating, start here.\r\n\r\nThere are several Projects you can fund, to contribute with a small donation start here.\r\n\r\nIf you are only interested in taking part in our Community forum, just register here.', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:44:40', '2013-10-17 15:44:40', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (189, 2, '2013-10-17 15:48:46', '2013-10-17 15:48:46', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history.\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects  \r\n\r\n \r\n\r\nHave a look at the Research you can do. If you are interested in partipating, start here.\r\n\r\nThere are several Projects you can fund, to contribute with a small donation start here.\r\n\r\nIf you are only interested in taking part in our Community forum, just register here.', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:48:46', '2013-10-17 15:48:46', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (190, 2, '2013-10-17 15:49:23', '2013-10-17 15:49:23', 'On the Micropasts platform you can do one or more of three things:\r\n1. You can participate in archaeological research on human history.\r\n2. You can propose and discuss ideas for new projects to research our past\r\n3. You can fund archaeological and heritage projects  \r\n\r\n \r\n\r\nHave a look at the Research you can do. If you are interested in partipating, start here.\r\n\r\nThere are several Projects you can fund, to contribute with a small donation start here.\r\n\r\nIf you are only interested in taking part in our Community forum, just register here.', 'How to take part', '', 'inherit', 'open', 'open', '', '135-revision-v1', '', '', '2013-10-17 15:49:23', '2013-10-17 15:49:23', '', 135, 'http://micropasts.org/2013/10/17/135-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (191, 2, '2013-10-17 15:58:03', '2013-10-17 15:58:03', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn other words, we think we can fuel better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 31 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-17 15:58:03', '2013-10-17 15:58:03', '', 22, 'http://micropasts.org/2013/10/17/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (195, 2, '2013-10-17 16:15:07', '2013-10-17 16:15:07', 'The Micropasts platform is coordinated by researchers based at the UCL Institute of Archaeology and the British Museum (London, UK). If you have any questions about Micropasts, please do get in touch.\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\n@Chiara_Bonacchi\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\n\r\nDaniel Pett, The British Museum\r\n@portableant', 'Contact us', '', 'publish', 'closed', 'closed', '', 'contact-us', '', '', '2013-10-19 12:02:03', '2013-10-19 11:02:03', '', 0, 'http://micropasts.org/?page_id=195', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (196, 2, '2013-10-17 16:15:05', '2013-10-17 16:15:05', 'The project is coordinated by researchers based at the UCL Institute of Archaeology and The British Museum, in London (UK). If you have a question about Micropasts, please do get in touch.\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\n@Chiara_Bonacchi\r\n\r\nDaniel Pett, The British Museum\r\n@portableant', 'Contact us', '', 'inherit', 'open', 'open', '', '195-revision-v1', '', '', '2013-10-17 16:15:05', '2013-10-17 16:15:05', '', 195, 'http://micropasts.org/2013/10/17/195-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (197, 2, '2013-10-17 16:16:09', '2013-10-17 16:16:09', 'The Micropasts platform is coordinated by researchers based at the UCL Institute of Archaeology and The British Museum, in London (UK). If you have a question about Micropasts, please do get in touch.\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\n@Chiara_Bonacchi\r\n\r\nDaniel Pett, The British Museum\r\n@portableant', 'Contact us', '', 'inherit', 'open', 'open', '', '195-revision-v1', '', '', '2013-10-17 16:16:09', '2013-10-17 16:16:09', '', 195, 'http://micropasts.org/2013/10/17/195-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (201, 3, '2013-10-18 09:50:57', '2013-10-18 09:50:57', 'The Micropasts platform is coordinated by researchers based at the UCL Institute of Archaeology and the British Museum, in London (UK). If you have any questions about Micropasts, please do get in touch.\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\n@Chiara_Bonacchi\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\n\r\nDaniel Pett, The British Museum\r\n@portableant', 'Contact us', '', 'inherit', 'open', 'open', '', '195-revision-v1', '', '', '2013-10-18 09:50:57', '2013-10-18 09:50:57', '', 195, 'http://micropasts.org/2013/10/18/195-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (203, 3, '2013-10-18 09:54:50', '2013-10-18 09:54:50', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nin particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them! To become a Micropasts contributor, start here.\r\n\r\nThis project\'s initial stages (running from 1 October 2013 to 31 March 2015) have been seed-funded by an Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-18 09:54:50', '2013-10-18 09:54:50', '', 22, 'http://micropasts.org/2013/10/18/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (204, 2, '2013-10-18 10:29:17', '2013-10-18 10:29:17', 'On the Micropasts platform you can do one or more of three things:\n1. You can participate in archaeological research on human history.\n2. You can propose and discuss ideas for new projects to research our past\n3. You can fund archaeological and heritage projects  \n\n \n\nHave a look at the Research you can do. If you are interested in partipating, start here.\n\nThere are several Projects you can fund, to contribute with a small donation start here.\n\nIf you are only interested in taking part in our Community forum, just register here.', 'How to take part', '', 'inherit', 'open', 'open', '', '135-autosave-v1', '', '', '2013-10-18 10:29:17', '2013-10-18 10:29:17', '', 135, 'http://micropasts.org/2013/10/18/135-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (207, 3, '2013-10-19 09:12:52', '2013-10-19 09:12:52', '', 'cs1', '', 'inherit', 'open', 'open', '', 'cs1-3', '', '', '2013-10-19 09:12:52', '2013-10-19 09:12:52', '', 0, 'http://micropasts.org/wp-content/uploads/2013/10/cs12.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (208, 3, '2013-10-19 09:52:14', '2013-10-19 09:52:14', 'Temp...', 'Home', '', 'trash', 'open', 'open', '', 'home', '', '', '2013-10-19 10:57:37', '2013-10-19 09:57:37', '', 0, 'http://micropasts.org/?page_id=208', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (209, 3, '2013-10-19 09:44:49', '2013-10-19 09:44:49', '', 'Home', '', 'inherit', 'open', 'open', '', '208-revision-v1', '', '', '2013-10-19 09:44:49', '2013-10-19 09:44:49', '', 208, 'http://micropasts.org/2013/10/19/208-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (210, 3, '2013-10-19 09:52:14', '2013-10-19 09:52:14', 'Temp...', 'Home', '', 'inherit', 'open', 'open', '', '208-revision-v1', '', '', '2013-10-19 09:52:14', '2013-10-19 09:52:14', '', 208, 'http://micropasts.org/2013/10/19/208-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (211, 3, '2013-10-19 11:08:30', '2013-10-19 10:08:30', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nin particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-19 11:08:30', '2013-10-19 10:08:30', '', 22, 'http://micropasts.org/2013/10/19/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (212, 3, '2013-10-20 17:14:37', '2013-10-20 16:14:37', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\n\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\n\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\n\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-autosave-v1', '', '', '2013-10-20 17:14:37', '2013-10-20 16:14:37', '', 22, 'http://micropasts.org/2013/10/19/22-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (213, 3, '2013-10-19 11:37:42', '2013-10-19 10:37:42', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects.\r\n\r\nIn particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. By registering with Micropasts, you can participate in, fund and/or help design as many projects as you like, to whatever level of personal involvement you prefer. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records. Other projects need some financing before they can begin, whilst yet others are ones you might consider proposing yourself (individually, as part of existing archaeological societies or with those you meet online). We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-19 11:37:42', '2013-10-19 10:37:42', '', 22, 'http://micropasts.org/2013/10/19/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (214, 3, '2013-10-19 11:39:37', '2013-10-19 10:39:37', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. By registering with Micropasts, you can participate in, fund and/or help design as many projects as you like, to whatever level of personal involvement you prefer. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records. Other projects need some financing before they can begin, whilst yet others are ones you might consider proposing yourself (individually, as part of existing archaeological societies or with those you meet online). We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-19 11:39:37', '2013-10-19 10:39:37', '', 22, 'http://micropasts.org/2013/10/19/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (215, 3, '2013-10-19 11:40:29', '2013-10-19 10:40:29', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. By registering with Micropasts, you can participate in, fund and/or help design as many projects as you like, to whatever level of personal involvement you prefer. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records. Other projects need some financing before they can begin, whilst yet others are ones you might consider proposing yourself (individually, as part of existing archaeological societies or with those you meet online). We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\n \r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-19 11:40:29', '2013-10-19 10:40:29', '', 22, 'http://micropasts.org/2013/10/19/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (216, 3, '2013-10-19 11:40:46', '2013-10-19 10:40:46', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop a range of crowd-sourcing and micro-funding opportunities, devoted to things like 3D object modelling, the mark-up of historic and early archaeological photographs and the transcription of archaeological archives, to name just a few that we have come up with so far. By registering with Micropasts, you can participate in, fund and/or help design as many projects as you like, to whatever level of personal involvement you prefer. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records. Other projects need some financing before they can begin, whilst yet others are ones you might consider proposing yourself (individually, as part of existing archaeological societies or with those you meet online). We cannot say yet which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-19 11:40:46', '2013-10-19 10:40:46', '', 22, 'http://micropasts.org/2013/10/19/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (218, 3, '2013-10-19 11:47:48', '2013-10-19 10:47:48', '', 'AHRC logo', '', 'inherit', 'open', 'open', '', 'ahrc', '', '', '2013-10-19 11:47:48', '2013-10-19 10:47:48', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/ahrc.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_posts` VALUES (219, 3, '2013-10-19 12:02:03', '2013-10-19 11:02:03', 'The Micropasts platform is coordinated by researchers based at the UCL Institute of Archaeology and the British Museum (London, UK). If you have any questions about Micropasts, please do get in touch.\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\n@Chiara_Bonacchi\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\n\r\nDaniel Pett, The British Museum\r\n@portableant', 'Contact us', '', 'inherit', 'open', 'open', '', '195-revision-v1', '', '', '2013-10-19 12:02:03', '2013-10-19 11:02:03', '', 195, 'http://micropasts.org/2013/10/19/195-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (220, 3, '2013-10-19 12:33:12', '2013-10-19 11:33:12', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of  research about our human history. It is a place where archaeological enthusiasts can not only create high-quality research data together, but can also co-design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-19 12:33:12', '2013-10-19 11:33:12', '', 22, 'http://micropasts.org/2013/10/19/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (222, 3, '2013-10-20 17:15:08', '2013-10-20 16:15:08', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoLOGO_AHRC', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-20 17:15:08', '2013-10-20 16:15:08', '', 22, 'http://micropasts.org/2013/10/20/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (228, 2, '2013-10-21 09:45:22', '2013-10-21 08:45:22', '', 'ahrclogo', '', 'inherit', 'open', 'open', '', 'ahrclogo-6', '', '', '2013-10-21 09:45:22', '2013-10-21 08:45:22', '', 22, 'http://micropasts.org/wp-content/uploads/2013/10/ahrclogo5.gif', 0, 'attachment', 'image/gif', 0); +INSERT INTO `wp_posts` VALUES (229, 2, '2013-10-21 09:47:15', '2013-10-21 08:47:15', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-21 09:47:15', '2013-10-21 08:47:15', '', 22, 'http://micropasts.org/2013/10/21/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (230, 2, '2013-10-21 09:48:08', '2013-10-21 08:48:08', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-21 09:48:08', '2013-10-21 08:48:08', '', 22, 'http://micropasts.org/2013/10/21/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (231, 2, '2013-10-21 09:48:35', '2013-10-21 08:48:35', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-autosave-v1', '', '', '2013-10-21 09:48:35', '2013-10-21 08:48:35', '', 22, 'http://micropasts.org/2013/10/21/22-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (232, 2, '2013-10-21 09:48:31', '2013-10-21 08:48:31', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-21 09:48:31', '2013-10-21 08:48:31', '', 22, 'http://micropasts.org/2013/10/21/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (233, 2, '2013-10-21 09:51:04', '2013-10-21 08:51:04', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-21 09:51:04', '2013-10-21 08:51:04', '', 22, 'http://micropasts.org/2013/10/21/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (234, 2, '2013-10-21 09:51:42', '2013-10-21 08:51:42', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-21 09:51:42', '2013-10-21 08:51:42', '', 22, 'http://micropasts.org/2013/10/21/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (235, 2, '2013-10-21 09:51:59', '2013-10-21 08:51:59', 'Micropasts is a web platform that brings together full-time archaeologists, archaeological societies and other interested members of the public to collaborate on new kinds of research about our human history. It is a place where archaeological enthusiasts not only can create high-quality research data together, but also can collaboratively design and fund entirely new research projects. In particular, we want to encourage better kinds of archaeology by improving the ways that people traditionally distinguished as \'academics\', \'professionals\' and \'volunteers\' cooperate with one another (as well as with others out there who as yet have no more than a passing interest in archaeology).\r\n\r\nThrough the Micropasts platform, we will develop and support a range of crowd-sourcing and crowd-funding projects. By joining Micropasts, you can help research, fund and/or design as many projects as you like, with as much or as little personal commitment as you wish. Some existing projects are about creating 3D models of archaeological artefacts, enriching old photographic archives or transcribing old archaeological excavation records, to name just a few that we have come up with so far. Other new projects will need your help with financing before they can begin, whilst yet others might be research topics that you want  to propose yourself (as an individual, as part of an organised archaeological society or in tandem with other interested people that you meet online). We cannot yet say  which projects will prove popular and which ones will not, and we hope that many as yet unanticipated agendas will be dreamt up collectively. In any case, we are keen for your ideas and your contributions wherever we can get them!\r\n\r\nThis project\'s initial stages have been funded by a UK Arts and Humanities Research Council grant, and involve a collaboration between the UCL Institute of Archaeology, The British Museum and the Portable Antiquities Scheme. The platform is currently under construction and we will be adding content and functionality over the coming few months. If you would like to be put on a list of early possible contributors, then please contact us.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogopaslogoahrclogo\r\n\r\n ', 'What is Micropasts?', '', 'inherit', 'open', 'open', '', '22-revision-v1', '', '', '2013-10-21 09:51:59', '2013-10-21 08:51:59', '', 22, 'http://micropasts.org/2013/10/21/22-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (236, 3, '2013-10-21 16:20:38', '2013-10-21 15:20:38', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace.\r\n\r\nAnyone can donate to any project they like (via PayPal and AmazonPayments). We hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to all and any ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a Creative Commons license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Centre', '', 'publish', 'closed', 'open', '', 'crowdfunding', '', '', '2013-10-21 22:11:31', '2013-10-21 21:11:31', '', 0, 'http://micropasts.org/?page_id=236', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (237, 3, '2013-10-21 16:17:21', '2013-10-21 15:17:21', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace. Anyone can donate to any project they like (via PayPal and AmazonPayments). Although the site remains open to other suggestions, we hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a CC license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Marketplace', '', 'inherit', 'open', 'open', '', '236-revision-v1', '', '', '2013-10-21 16:17:21', '2013-10-21 15:17:21', '', 236, 'http://micropasts.org/2013/10/21/236-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (238, 3, '2013-10-21 16:23:05', '2013-10-21 15:23:05', 'This part of the platform allows anyone with an internet connection to participate in generating high-quality new knowledge about the past. A series of projects will be posted here and contributors will be free to choose which ones they wish to help with, for as little or as much time as they want. We are looking for online help with tasks that neither traditional academic archaeologists nor computers are able to manage on their own, but that a larger group of contributors can easily handle, such as artefact recording, photo-tagging, archive transcription, geocoding and much more. All the data we create together is put immediately into the public domain (under a CC license) so that anyone can use it. We will be adding specific projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-sourcing Centre', '', 'publish', 'closed', 'open', '', 'crowdsourcing', '', '', '2013-10-21 16:29:33', '2013-10-21 15:29:33', '', 0, 'http://micropasts.org/?page_id=238', 0, 'page', '', 0); +INSERT INTO `wp_posts` VALUES (239, 3, '2013-10-21 16:23:02', '2013-10-21 15:23:02', 'This part of the platform allows anyone with an internet connection to participate in generating high-quality new knowledge about the past. A series of projects will be posted here and contributors will be free to choose which ones they wish to help with, for as little or as much time as they want. We are looking for online help with tasks that neither traditional academic archaeologists nor computers are able to manage on their own, but that a larger group of contributors can easily handle, such as artefact recording, photo-tagging, archive transcription, geocoding and much more. All the data we create together is put immediately into the public domain (under a CC license) so that anyone can use it. We will be adding specific projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-sourcing Centre', '', 'inherit', 'open', 'open', '', '238-revision-v1', '', '', '2013-10-21 16:23:02', '2013-10-21 15:23:02', '', 238, 'http://micropasts.org/2013/10/21/238-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (240, 3, '2013-10-21 16:23:34', '2013-10-21 15:23:34', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace. Anyone can donate to any project they like (via PayPal and AmazonPayments). Although the site remains open to other suggestions, we hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a CC license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Marketplace', '', 'inherit', 'open', 'open', '', '236-revision-v1', '', '', '2013-10-21 16:23:34', '2013-10-21 15:23:34', '', 236, 'http://micropasts.org/2013/10/21/236-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (242, 1, '2013-10-21 16:39:04', '2013-10-21 15:39:04', 'This part of the platform allows anyone with an internet connection to participate in generating high-quality new knowledge about the past. A series of projects will be posted here and contributors will be free to choose which ones they wish to help with, for as little or as much time as they want. We are looking for online help with tasks that neither traditional academic archaeologists nor computers are able to manage on their own, but that a larger group of contributors can easily handle, such as artefact recording, photo-tagging, archive transcription, geocoding and much more.\r\n\r\nAll the data we create together is put immediately into the public domain (under a CC license) so that anyone can use it. We will be adding specific projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-sourcing Centre', '', 'inherit', 'open', 'open', '', '238-autosave-v1', '', '', '2013-10-21 16:39:04', '2013-10-21 15:39:04', '', 238, 'http://micropasts.org/2013/10/21/238-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (243, 1, '2013-10-21 16:39:30', '2013-10-21 15:39:30', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum.\r\n\r\nEach project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace. Anyone can donate to any project they like (via PayPal and AmazonPayments). Although the site remains open to other suggestions, we hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others!\r\n\r\nFunded projects will be required to release all of their data into the public domain (under a CC license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Marketplace', '', 'inherit', 'open', 'open', '', '236-autosave-v1', '', '', '2013-10-21 16:39:30', '2013-10-21 15:39:30', '', 236, 'http://micropasts.org/2013/10/21/236-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (244, 1, '2013-10-21 16:44:59', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-21 16:44:59', '0000-00-00 00:00:00', '', 0, 'http://micropasts.org/?p=244', 0, 'post', '', 0); +INSERT INTO `wp_posts` VALUES (245, 3, '2013-10-21 19:42:56', '2013-10-21 18:42:56', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace. Anyone can donate to any project they like (via PayPal and AmazonPayments). Although the site remains open to other suggestions, we hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a CC license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Centre', '', 'inherit', 'open', 'open', '', '236-revision-v1', '', '', '2013-10-21 19:42:56', '2013-10-21 18:42:56', '', 236, 'http://micropasts.org/2013/10/21/236-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (246, 3, '2013-10-21 22:11:08', '2013-10-21 21:11:08', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace.\n\nAnyone can donate to any project they like (via PayPal and AmazonPayments). We hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to all and any ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a Creative Commons license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Centre', '', 'inherit', 'open', 'open', '', '236-autosave-v1', '', '', '2013-10-21 22:11:08', '2013-10-21 21:11:08', '', 236, 'http://micropasts.org/2013/10/21/236-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (247, 3, '2013-10-21 19:46:00', '2013-10-21 18:46:00', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace.\r\n\r\nAnyone can donate to any project they like (via PayPal and AmazonPayments). Although the site remains open to other suggestions, we hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a CC license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Centre', '', 'inherit', 'open', 'open', '', '236-revision-v1', '', '', '2013-10-21 19:46:00', '2013-10-21 18:46:00', '', 236, 'http://micropasts.org/2013/10/21/236-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (251, 3, '2013-10-21 22:03:16', '2013-10-21 21:03:16', 'The Micropasts platform will be developed over the next few months. We have put up a preliminary set of pages while we set up our first projects. Please do contact us for more information or if you want to be an early contributor.', 'Site open...', '', 'publish', 'closed', 'open', '', 'site-open', '', '', '2013-10-22 07:25:02', '2013-10-22 06:25:02', '', 0, 'http://micropasts.org/?p=251', 0, 'post', '', 0); +INSERT INTO `wp_posts` VALUES (252, 3, '2013-10-21 22:03:13', '2013-10-21 21:03:13', 'This site is under construction over the next few months. We have put up a preliminary set of pages while we set up our first projects. Please do contact us for more information or if you want to be an early contributor.', 'Site open...', '', 'inherit', 'closed', 'open', '', '251-revision-v1', '', '', '2013-10-21 22:03:13', '2013-10-21 21:03:13', '', 251, 'http://micropasts.org/2013/10/21/251-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (253, 3, '2013-10-21 22:09:01', '2013-10-21 21:09:01', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace.\r\n\r\nAnyone can donate to any project they like (via PayPal and AmazonPayments). We hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to all and any ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a CC license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Centre', '', 'inherit', 'closed', 'open', '', '236-revision-v1', '', '', '2013-10-21 22:09:01', '2013-10-21 21:09:01', '', 236, 'http://micropasts.org/2013/10/21/236-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (254, 3, '2013-10-21 22:11:31', '2013-10-21 21:11:31', 'This part of the platform will allow groups of professional archaeologists, organised societies and/or interested individuals to come together to advertise new research projects that they wish to conduct, but for which they need small to medium amounts of money to get things going. Some of these projects might have been dreamt up long ago but since languished for lack of money, whilst others will hopefully begin life on the pages of our community forum. Each project team provides a short summary of what they want to do, an enticing short video that we help them create and a summary budget -- thereafter the project is let loose amongst others in the marketplace.\r\n\r\nAnyone can donate to any project they like (via PayPal and AmazonPayments). We hope to prioritise an under-appreciated \'silent majority\' of archaeological and historical research projects (rather than new excavations, although we remain open to all and any ideas). Such activities include finds analysis, better outreach, document digitisation, image-tagging, laboratory work, scientific sampling and/or innovative re-use of existing data, but we hope you can dream up others! Funded projects will be required to release all of their data into the public domain (under a Creative Commons license) so that anyone can use it. We will be adding some starter projects and functionality over the coming few months, but if you would like to be put on a list of early possible contributors, then please contact us.', 'The Micropasts Crowd-funding Centre', '', 'inherit', 'closed', 'open', '', '236-revision-v1', '', '', '2013-10-21 22:11:31', '2013-10-21 21:11:31', '', 236, 'http://micropasts.org/2013/10/21/236-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (255, 1, '2013-10-22 07:25:02', '2013-10-22 06:25:02', 'The Micropasts platform will be developed over the next few months. We have put up a preliminary set of pages while we set up our first projects. Please do contact us for more information or if you want to be an early contributor.', 'Site open...', '', 'inherit', 'closed', 'open', '', '251-revision-v1', '', '', '2013-10-22 07:25:02', '2013-10-22 06:25:02', '', 251, 'http://micropasts.org/2013/10/22/251-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_posts` VALUES (256, 1, '2013-10-23 11:20:46', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'closed', 'open', '', '', '', '', '2013-10-23 11:20:46', '0000-00-00 00:00:00', '', 0, 'http://micropasts.org/?p=256', 0, 'post', '', 0); +INSERT INTO `wp_posts` VALUES (257, 2, '2013-10-25 19:05:56', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'closed', 'open', '', '', '', '', '2013-10-25 19:05:56', '0000-00-00 00:00:00', '', 0, 'http://micropasts.org/?p=257', 0, 'post', '', 0); +# +# End of data contents of table `wp_posts` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_term_relationships` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_term_relationships` +# + +DROP TABLE IF EXISTS `wp_term_relationships`; + + +# +# Table structure of table `wp_term_relationships` +# + +CREATE TABLE `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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_term_relationships` +# + +INSERT INTO `wp_term_relationships` VALUES (251, 1, 0); +# +# End of data contents of table `wp_term_relationships` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_term_taxonomy` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_term_taxonomy` +# + +DROP TABLE IF EXISTS `wp_term_taxonomy`; + + +# +# Table structure of table `wp_term_taxonomy` +# + +CREATE TABLE `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=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_term_taxonomy` +# + +INSERT INTO `wp_term_taxonomy` VALUES (1, 1, 'category', '', 0, 1); +# +# End of data contents of table `wp_term_taxonomy` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_terms` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_terms` +# + +DROP TABLE IF EXISTS `wp_terms`; + + +# +# Table structure of table `wp_terms` +# + +CREATE TABLE `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=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_terms` +# + +INSERT INTO `wp_terms` VALUES (1, 'Information', 'information', 0); +# +# End of data contents of table `wp_terms` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_usermeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_usermeta` +# + +DROP TABLE IF EXISTS `wp_usermeta`; + + +# +# Table structure of table `wp_usermeta` +# + +CREATE TABLE `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=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_usermeta` +# + +INSERT INTO `wp_usermeta` VALUES (1, 1, 'first_name', 'The Admin'); +INSERT INTO `wp_usermeta` VALUES (2, 1, 'last_name', 'Account'); +INSERT INTO `wp_usermeta` VALUES (3, 1, 'nickname', 'theboss'); +INSERT INTO `wp_usermeta` VALUES (4, 1, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (5, 1, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (6, 1, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (7, 1, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (8, 1, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (9, 1, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (10, 1, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (11, 1, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (12, 1, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (13, 1, 'show_welcome_panel', '1'); +INSERT INTO `wp_usermeta` VALUES (14, 1, 'wp_dashboard_quick_press_last_post_id', '256'); +INSERT INTO `wp_usermeta` VALUES (15, 2, 'first_name', 'Chiara'); +INSERT INTO `wp_usermeta` VALUES (16, 2, 'last_name', 'Bonacchi'); +INSERT INTO `wp_usermeta` VALUES (17, 2, 'nickname', 'chiara'); +INSERT INTO `wp_usermeta` VALUES (18, 2, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (19, 2, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (20, 2, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (21, 2, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (22, 2, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (23, 2, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (24, 2, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (25, 2, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (26, 2, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (27, 3, 'first_name', 'Andrew'); +INSERT INTO `wp_usermeta` VALUES (28, 3, 'last_name', 'Bevan'); +INSERT INTO `wp_usermeta` VALUES (29, 3, 'nickname', 'abevan'); +INSERT INTO `wp_usermeta` VALUES (30, 3, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (31, 3, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (32, 3, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (33, 3, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (34, 3, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (35, 3, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (36, 3, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (37, 3, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (38, 3, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (39, 1, 'wporg_favorites', ''); +INSERT INTO `wp_usermeta` VALUES (40, 2, 'wp_dashboard_quick_press_last_post_id', '257'); +INSERT INTO `wp_usermeta` VALUES (41, 2, 'wp_user-settings', 'editor=tinymce&libraryContent=browse'); +INSERT INTO `wp_usermeta` VALUES (42, 2, 'wp_user-settings-time', '1382025780'); +INSERT INTO `wp_usermeta` VALUES (43, 2, 'closedpostboxes_page', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (44, 2, 'metaboxhidden_page', 'a:4:{i:0;s:10:"postcustom";i:1;s:16:"commentstatusdiv";i:2;s:7:"slugdiv";i:3;s:9:"authordiv";}'); +INSERT INTO `wp_usermeta` VALUES (45, 1, 'wp_user-settings', 'editor=tinymce&unfold=1&mfold=o'); +INSERT INTO `wp_usermeta` VALUES (46, 1, 'wp_user-settings-time', '1381874810'); +INSERT INTO `wp_usermeta` VALUES (47, 3, 'wp_dashboard_quick_press_last_post_id', '198'); +INSERT INTO `wp_usermeta` VALUES (48, 1, 'source_domain', 'micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (49, 1, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (50, 4, 'first_name', ''); +INSERT INTO `wp_usermeta` VALUES (51, 4, 'last_name', ''); +INSERT INTO `wp_usermeta` VALUES (52, 4, 'nickname', 'research'); +INSERT INTO `wp_usermeta` VALUES (53, 4, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (54, 4, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (55, 4, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (56, 4, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (57, 4, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (58, 4, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (61, 4, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (62, 4, 'show_welcome_panel', '2'); +INSERT INTO `wp_usermeta` VALUES (63, 4, 'primary_blog', '2'); +INSERT INTO `wp_usermeta` VALUES (64, 4, 'source_domain', 'research.micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (65, 4, 'wp_2_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (66, 4, 'wp_2_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (67, 2, 'primary_blog', '2'); +INSERT INTO `wp_usermeta` VALUES (68, 2, 'source_domain', 'research.micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (69, 2, 'wp_2_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (70, 2, 'wp_2_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (71, 1, 'wsl_user', 'Google'); +INSERT INTO `wp_usermeta` VALUES (72, 1, 'wsl_user_gender', 'male'); +INSERT INTO `wp_usermeta` VALUES (73, 1, 'wsl_user_age', ''); +INSERT INTO `wp_usermeta` VALUES (74, 1, 'wsl_user_image', 'https://lh3.googleusercontent.com/-AK-Hs658Ju0/AAAAAAAAAAI/AAAAAAAAEvg/hVWdC1XohRo/photo.jpg'); +INSERT INTO `wp_usermeta` VALUES (75, 2, 'wp_2_dashboard_quick_press_last_post_id', '137'); +INSERT INTO `wp_usermeta` VALUES (76, 3, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (77, 2, 'wp_2_user-settings', 'libraryContent=browse&editor=tinymce'); +INSERT INTO `wp_usermeta` VALUES (78, 2, 'wp_2_user-settings-time', '1382114711'); +INSERT INTO `wp_usermeta` VALUES (79, 2, '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";}'); +INSERT INTO `wp_usermeta` VALUES (80, 2, 'metaboxhidden_nav-menus', 'a:2:{i:0;s:8:"add-post";i:1;s:12:"add-post_tag";}'); +INSERT INTO `wp_usermeta` VALUES (81, 2, 'nav_menu_recently_edited', '2'); +INSERT INTO `wp_usermeta` VALUES (82, 3, '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";}'); +INSERT INTO `wp_usermeta` VALUES (83, 3, 'metaboxhidden_nav-menus', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (84, 3, 'wp_user-settings', 'editor=tinymce&libraryContent=browse&imgsize=thumbnail&hidetb=1&wplink=1&urlbutton=none'); +INSERT INTO `wp_usermeta` VALUES (85, 3, 'wp_user-settings-time', '1382180449'); +INSERT INTO `wp_usermeta` VALUES (86, 3, 'webIdLocation', 'localWebId'); +INSERT INTO `wp_usermeta` VALUES (87, 3, 'webId', ''); +INSERT INTO `wp_usermeta` VALUES (88, 3, 'publicKeyModulus', ''); +INSERT INTO `wp_usermeta` VALUES (89, 3, 'publicKeyExponent', ''); +INSERT INTO `wp_usermeta` VALUES (90, 3, 'additionalRdf', ''); +INSERT INTO `wp_usermeta` VALUES (91, 5, 'first_name', 'Katharine'); +INSERT INTO `wp_usermeta` VALUES (92, 5, 'last_name', 'Kelland'); +INSERT INTO `wp_usermeta` VALUES (93, 5, 'nickname', 'katharine_kelland'); +INSERT INTO `wp_usermeta` VALUES (94, 5, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (95, 5, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (96, 5, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (97, 5, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (98, 5, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (99, 5, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (100, 5, 'wp_capabilities', 'a:1:{s:10:"subscriber";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (101, 5, 'wp_user_level', '0'); +INSERT INTO `wp_usermeta` VALUES (102, 5, 'Google', '114760327985646315403'); +INSERT INTO `wp_usermeta` VALUES (103, 5, 'wsl_user', 'Google'); +INSERT INTO `wp_usermeta` VALUES (104, 5, 'wsl_user_gender', 'female'); +INSERT INTO `wp_usermeta` VALUES (105, 5, 'wsl_user_age', ''); +INSERT INTO `wp_usermeta` VALUES (106, 5, 'wsl_user_image', ''); +INSERT INTO `wp_usermeta` VALUES (107, 5, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (108, 3, 'closedpostboxes_page', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (109, 3, 'metaboxhidden_page', 'a:3:{i:0;s:10:"postcustom";i:1;s:7:"slugdiv";i:2;s:9:"authordiv";}'); +INSERT INTO `wp_usermeta` VALUES (110, 3, 'closedpostboxes_nav-menus', 'a:0:{}'); +# +# End of data contents of table `wp_usermeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_users` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_users` +# + +DROP TABLE IF EXISTS `wp_users`; + + +# +# Table structure of table `wp_users` +# + +CREATE TABLE `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 '', + `spam` tinyint(2) NOT NULL DEFAULT '0', + `deleted` tinyint(2) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_users` +# + +INSERT INTO `wp_users` VALUES (1, 'theboss', '$P$BcDoeIClhaQqKUUPXoC629q/Lrkiaq/', 'theboss', 'danielpett@gmail.com', '', '2013-09-26 21:18:49', '', 0, 'theboss', 0, 0); +INSERT INTO `wp_users` VALUES (2, 'chiara', '$P$ByGuyuCvwkS9EL2LBlM.X2F5cAvu/R.', 'chiara', 'chiara.bonacchi@googlemail.com', '', '2013-09-26 21:20:25', '', 0, 'Chiara Bonacchi', 0, 0); +INSERT INTO `wp_users` VALUES (3, 'abevan', '$P$BRxIIKGiFDA9oPZxh38cznh5ncWdcY1', 'abevan', 'a.bevan@ucl.ac.uk', '', '2013-09-26 21:21:18', '', 0, 'Andrew Bevan', 0, 0); +INSERT INTO `wp_users` VALUES (4, 'research', '$P$BYyjcFSUgMa7hcoxafzzQYcOF0Zo/O/', 'research', 'info@micropasts.org', '', '2013-10-09 18:47:13', '', 0, 'research', 0, 0); +INSERT INTO `wp_users` VALUES (5, 'katharine_kelland', '$P$BlwTzCeewVU2y/5PgCcSnXqpAOwDy./', 'katharine_kelland', 'katekelland@googlemail.com', 'https://profiles.google.com/114760327985646315403', '2013-10-20 14:53:44', '', 0, 'Katharine Kelland', 0, 0); +# +# End of data contents of table `wp_users` +# -------------------------------------------------------- + diff --git a/wp-content/backup-a3f42/micropastsWordpresss_wp_2_20131026_369.sql b/wp-content/backup-a3f42/micropastsWordpresss_wp_2_20131026_369.sql new file mode 100644 index 0000000..8529c0c --- /dev/null +++ b/wp-content/backup-a3f42/micropastsWordpresss_wp_2_20131026_369.sql @@ -0,0 +1,1253 @@ +# WordPress MySQL database backup +# +# Generated: Saturday 26. October 2013 07:51 UTC +# Hostname: localhost +# Database: `micropastsWordpresss` +# -------------------------------------------------------- +# -------------------------------------------------------- +# Table: `wp_2_commentmeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_commentmeta` +# + +DROP TABLE IF EXISTS `wp_2_commentmeta`; + + +# +# Table structure of table `wp_2_commentmeta` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_commentmeta` +# + +INSERT INTO `wp_2_commentmeta` VALUES (1, 1, 'akismet_history', 'a:4:{s:4:"time";d:1382108215.484642;s:7:"message";s:42:"chiara changed the comment status to trash";s:5:"event";s:12:"status-trash";s:4:"user";s:6:"chiara";}'); +INSERT INTO `wp_2_commentmeta` VALUES (2, 1, '_wp_trash_meta_status', '1'); +INSERT INTO `wp_2_commentmeta` VALUES (3, 1, '_wp_trash_meta_time', '1382108215'); +INSERT INTO `wp_2_commentmeta` VALUES (4, 2, 'akismet_error', '1382457358'); +INSERT INTO `wp_2_commentmeta` VALUES (5, 2, 'akismet_history', 'a:4:{s:4:"time";d:1382457358.5131071;s:7:"message";s:92:"Akismet was unable to check this comment (response: ), will automatically retry again later.";s:5:"event";s:11:"check-error";s:4:"user";s:0:"";}'); +INSERT INTO `wp_2_commentmeta` VALUES (6, 2, 'akismet_as_submitted', 'a:42:{s:15:"comment_post_ID";i:16;s:14:"comment_author";s:87:"Crowd-sourcing, crowd-funding and archaeology | Crowd and community-fuelled archaeology";s:18:"comment_author_url";s:87:"http://research.micropasts.org/2013/10/22/crowd-sourcing-crowd-funding-and-archaeology/";s:20:"comment_author_email";s:0:"";s:15:"comment_content";s:26:"[…] People […]";s:12:"comment_type";s:8:"pingback";s:7:"user_ip";s:12:"81.29.66.139";s:10:"user_agent";s:50:"The Incutio XML-RPC PHP Library -- WordPress/3.6.1";s:8:"referrer";N;s:4:"blog";s:30:"http://research.micropasts.org";s:9:"blog_lang";s:5:"en_US";s:12:"blog_charset";s:5:"UTF-8";s:9:"permalink";s:38:"http://research.micropasts.org/people/";s:21:"akismet_comment_nonce";s:6:"failed";s:15:"SERVER_SOFTWARE";s:22:"Apache/2.2.22 (Ubuntu)";s:11:"REQUEST_URI";s:11:"/xmlrpc.php";s:10:"SCRIPT_URL";s:11:"/xmlrpc.php";s:10:"SCRIPT_URI";s:41:"http://research.micropasts.org/xmlrpc.php";s:15:"HTTP_USER_AGENT";s:50:"The Incutio XML-RPC PHP Library -- WordPress/3.6.1";s:9:"HTTP_HOST";s:23:"research.micropasts.org";s:11:"HTTP_ACCEPT";s:3:"*/*";s:12:"CONTENT_TYPE";s:8:"text/xml";s:20:"HTTP_ACCEPT_ENCODING";s:29:"deflate;q=1.0, compress;q=0.5";s:14:"CONTENT_LENGTH";s:3:"326";s:4:"PATH";s:28:"/usr/local/bin:/usr/bin:/bin";s:16:"SERVER_SIGNATURE";s:84:"
Apache/2.2.22 (Ubuntu) Server at research.micropasts.org Port 80
\n";s:11:"SERVER_NAME";s:23:"research.micropasts.org";s:11:"SERVER_ADDR";s:12:"81.29.66.139";s:11:"SERVER_PORT";s:2:"80";s:11:"REMOTE_ADDR";s:12:"81.29.66.139";s:13:"DOCUMENT_ROOT";s:19:"/var/www/micropasts";s:12:"SERVER_ADMIN";s:23:"dpett@britishmuseum.org";s:15:"SCRIPT_FILENAME";s:30:"/var/www/micropasts/xmlrpc.php";s:11:"REMOTE_PORT";s:5:"49197";s:17:"GATEWAY_INTERFACE";s:7:"CGI/1.1";s:15:"SERVER_PROTOCOL";s:8:"HTTP/1.0";s:14:"REQUEST_METHOD";s:4:"POST";s:12:"QUERY_STRING";s:0:"";s:11:"SCRIPT_NAME";s:11:"/xmlrpc.php";s:8:"PHP_SELF";s:11:"/xmlrpc.php";s:12:"REQUEST_TIME";s:10:"1382457356";s:25:"comment_post_modified_gmt";s:19:"2013-10-18 16:09:55";}'); +INSERT INTO `wp_2_commentmeta` VALUES (7, 2, 'akismet_history', 'a:4:{s:4:"time";d:1382458227.9200201;s:7:"message";s:43:"theboss changed the comment status to trash";s:5:"event";s:12:"status-trash";s:4:"user";s:7:"theboss";}'); +INSERT INTO `wp_2_commentmeta` VALUES (8, 2, '_wp_trash_meta_status', '0'); +INSERT INTO `wp_2_commentmeta` VALUES (9, 2, '_wp_trash_meta_time', '1382458227'); +# +# End of data contents of table `wp_2_commentmeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_comments` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_comments` +# + +DROP TABLE IF EXISTS `wp_2_comments`; + + +# +# Table structure of table `wp_2_comments` +# + +CREATE TABLE `wp_2_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_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=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_comments` +# + +INSERT INTO `wp_2_comments` VALUES (1, 1, 'Mr WordPress', '', 'http://micropasts.org/', '', '2013-10-09 18:47:16', '2013-10-09 18:47:16', 'Hi, this is a comment.\nTo delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.', 0, 'post-trashed', '', '', 0, 0); +INSERT INTO `wp_2_comments` VALUES (2, 16, 'Crowd-sourcing, crowd-funding and archaeology | Crowd and community-fuelled archaeology', '', 'http://research.micropasts.org/2013/10/22/crowd-sourcing-crowd-funding-and-archaeology/', '81.29.66.139', '2013-10-22 15:55:58', '2013-10-22 15:55:58', '[…] People […]', 0, 'trash', 'The Incutio XML-RPC PHP Library -- WordPress/3.6.1', 'pingback', 0, 0); +# +# End of data contents of table `wp_2_comments` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_links` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_links` +# + +DROP TABLE IF EXISTS `wp_2_links`; + + +# +# Table structure of table `wp_2_links` +# + +CREATE TABLE `wp_2_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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_links` +# + +# +# End of data contents of table `wp_2_links` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_options` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_options` +# + +DROP TABLE IF EXISTS `wp_2_options`; + + +# +# Table structure of table `wp_2_options` +# + +CREATE TABLE `wp_2_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `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=InnoDB AUTO_INCREMENT=2885 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_options` +# + +INSERT INTO `wp_2_options` VALUES (1, 'siteurl', 'http://research.micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (2, 'blogname', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (3, 'blogdescription', 'Research blog', 'yes'); +INSERT INTO `wp_2_options` VALUES (4, 'users_can_register', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (5, 'admin_email', 'info@micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (6, 'start_of_week', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (7, 'use_balanceTags', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (8, 'use_smilies', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (9, 'require_name_email', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (10, 'comments_notify', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (11, 'posts_per_rss', '10', 'yes'); +INSERT INTO `wp_2_options` VALUES (12, 'rss_use_excerpt', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (13, 'mailserver_url', 'mail.example.com', 'yes'); +INSERT INTO `wp_2_options` VALUES (14, 'mailserver_login', 'login@example.com', 'yes'); +INSERT INTO `wp_2_options` VALUES (15, 'mailserver_pass', 'password', 'yes'); +INSERT INTO `wp_2_options` VALUES (16, 'mailserver_port', '110', 'yes'); +INSERT INTO `wp_2_options` VALUES (17, 'default_category', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (18, 'default_comment_status', 'open', 'yes'); +INSERT INTO `wp_2_options` VALUES (19, 'default_ping_status', 'open', 'yes'); +INSERT INTO `wp_2_options` VALUES (20, 'default_pingback_flag', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (21, 'posts_per_page', '10', 'yes'); +INSERT INTO `wp_2_options` VALUES (22, 'date_format', 'j F, Y', 'yes'); +INSERT INTO `wp_2_options` VALUES (23, 'time_format', 'g:i a', 'yes'); +INSERT INTO `wp_2_options` VALUES (24, 'links_updated_date_format', 'F j, Y g:i a', 'yes'); +INSERT INTO `wp_2_options` VALUES (25, 'links_recently_updated_prepend', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (26, 'links_recently_updated_append', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (27, 'links_recently_updated_time', '120', 'yes'); +INSERT INTO `wp_2_options` VALUES (28, 'comment_moderation', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (29, 'moderation_notify', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (30, 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/', 'yes'); +INSERT INTO `wp_2_options` VALUES (31, 'gzipcompression', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (32, 'hack_file', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (33, 'blog_charset', 'UTF-8', 'yes'); +INSERT INTO `wp_2_options` VALUES (34, 'moderation_keys', '', 'no'); +INSERT INTO `wp_2_options` VALUES (35, 'active_plugins', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (36, 'home', 'http://research.micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (37, 'category_base', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (38, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'); +INSERT INTO `wp_2_options` VALUES (39, 'advanced_edit', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (40, 'comment_max_links', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (41, 'gmt_offset', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (42, 'default_email_category', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (43, 'recently_edited', '', 'no'); +INSERT INTO `wp_2_options` VALUES (44, 'template', 'responsive', 'yes'); +INSERT INTO `wp_2_options` VALUES (45, 'stylesheet', 'responsive-childtheme-master', 'yes'); +INSERT INTO `wp_2_options` VALUES (46, 'comment_whitelist', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (47, 'blacklist_keys', '', 'no'); +INSERT INTO `wp_2_options` VALUES (48, 'comment_registration', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (49, 'html_type', 'text/html', 'yes'); +INSERT INTO `wp_2_options` VALUES (50, 'use_trackback', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (51, 'default_role', 'subscriber', 'yes'); +INSERT INTO `wp_2_options` VALUES (52, 'db_version', '24448', 'yes'); +INSERT INTO `wp_2_options` VALUES (53, 'uploads_use_yearmonth_folders', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (54, 'upload_path', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (55, 'blog_public', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (56, 'default_link_category', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (57, 'show_on_front', 'page', 'yes'); +INSERT INTO `wp_2_options` VALUES (58, 'tag_base', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (59, 'show_avatars', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (60, 'avatar_rating', 'G', 'yes'); +INSERT INTO `wp_2_options` VALUES (61, 'upload_url_path', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (62, 'thumbnail_size_w', '150', 'yes'); +INSERT INTO `wp_2_options` VALUES (63, 'thumbnail_size_h', '150', 'yes'); +INSERT INTO `wp_2_options` VALUES (64, 'thumbnail_crop', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (65, 'medium_size_w', '300', 'yes'); +INSERT INTO `wp_2_options` VALUES (66, 'medium_size_h', '300', 'yes'); +INSERT INTO `wp_2_options` VALUES (67, 'avatar_default', 'mystery', 'yes'); +INSERT INTO `wp_2_options` VALUES (68, 'large_size_w', '1024', 'yes'); +INSERT INTO `wp_2_options` VALUES (69, 'large_size_h', '1024', 'yes'); +INSERT INTO `wp_2_options` VALUES (70, 'image_default_link_type', 'file', 'yes'); +INSERT INTO `wp_2_options` VALUES (71, 'image_default_size', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (72, 'image_default_align', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (73, 'close_comments_for_old_posts', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (74, 'close_comments_days_old', '30', 'yes'); +INSERT INTO `wp_2_options` VALUES (75, 'thread_comments', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (76, 'thread_comments_depth', '10', 'yes'); +INSERT INTO `wp_2_options` VALUES (77, 'page_comments', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (78, 'comments_per_page', '50', 'yes'); +INSERT INTO `wp_2_options` VALUES (79, 'default_comments_page', 'newest', 'yes'); +INSERT INTO `wp_2_options` VALUES (80, 'comment_order', 'asc', 'yes'); +INSERT INTO `wp_2_options` VALUES (81, 'sticky_posts', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (82, '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'); +INSERT INTO `wp_2_options` VALUES (83, 'widget_text', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (84, 'widget_rss', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (85, 'uninstall_plugins', 'a:2:{s:17:"openid/openid.php";s:23:"openid_uninstall_plugin";s:33:"rotating-posts/rotating-posts.php";s:12:"rp_uninstall";}', 'no'); +INSERT INTO `wp_2_options` VALUES (86, 'timezone_string', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (87, 'page_for_posts', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (88, 'page_on_front', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (89, 'default_post_format', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (90, 'link_manager_enabled', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (91, 'wp_2_user_roles', 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:63:{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:19:"use_openid_provider";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'); +INSERT INTO `wp_2_options` VALUES (92, 'widget_search', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (93, 'widget_recent-posts', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (94, 'widget_recent-comments', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (95, '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'); +INSERT INTO `wp_2_options` VALUES (96, 'widget_meta', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (97, 'sidebars_widgets', 'a:13:{s:19:"wp_inactive_widgets";a:1:{i:0;s:17:"widget_sp_image-2";}s:12:"main-sidebar";a:5:{i:0;s:17:"widget_sp_image-3";i:1;s:8:"search-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";i:4;s:6:"meta-2";}s:13:"right-sidebar";a:0:{}s:12:"left-sidebar";a:0:{}s:17:"left-sidebar-half";a:0:{}s:18:"right-sidebar-half";a:0:{}s:13:"home-widget-1";a:0:{}s:13:"home-widget-2";a:0:{}s:13:"home-widget-3";a:0:{}s:14:"gallery-widget";a:0:{}s:15:"colophon-widget";a:0:{}s:10:"top-widget";a:0:{}s:13:"array_version";i:3;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (99, 'WPLANG', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (101, 'cron', 'a:6:{i:1382776749;a:1:{s:14:"cleanup_openid";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}}i:1382780434;a:1:{s:30:"wp_scheduled_auto_draft_delete";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1382788495;a:1:{s:29:"akismet_schedule_cron_recheck";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:2:{s:8:"schedule";b:0;s:4:"args";a:0:{}}}}i:1382802958;a:1:{s:24:"akismet_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;}}}i:1382813414;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'); +INSERT INTO `wp_2_options` VALUES (103, 'theme_mods_twentythirteen', 'a:1:{s:16:"sidebars_widgets";a:2:{s:4:"time";i:1381344620;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (104, 'current_theme', 'Responsive Child Theme', 'yes'); +INSERT INTO `wp_2_options` VALUES (105, 'theme_mods_responsive', 'a:2:{i:0;b:0;s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382089118;s:4:"data";a:12:{s:19:"wp_inactive_widgets";a:0:{}s:12:"main-sidebar";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:13:"right-sidebar";a:0:{}s:12:"left-sidebar";N;s:17:"left-sidebar-half";N;s:18:"right-sidebar-half";N;s:13:"home-widget-1";N;s:13:"home-widget-2";N;s:13:"home-widget-3";N;s:14:"gallery-widget";N;s:15:"colophon-widget";N;s:10:"top-widget";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (106, 'theme_switched', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (107, '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://research.micropasts.org";s:4:"link";s:106:"http://blogsearch.google.com/blogsearch?scoring=d&partner=wordpress&q=link:http://research.micropasts.org/";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://research.micropasts.org/";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:14:"WordPress Blog";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:20:"Other WordPress News";s:5:"items";i:5;s:12:"show_summary";i:0;s:11:"show_author";i:0;s:9:"show_date";i:0;}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (127, '_transient_timeout_plugin_slugs', '1382613048', 'no'); +INSERT INTO `wp_2_options` VALUES (128, '_transient_plugin_slugs', 'a:19:{i:0;s:19:"akismet/akismet.php";i:1;s:54:"ancient-world-linked-data-for-wordpress/wp-awld-js.php";i:2;s:42:"bwp-google-xml-sitemaps/bwp-simple-gxs.php";i:3;s:31:"cookie-notice/cookie-notice.php";i:4;s:31:"exclude-pages/exclude_pages.php";i:5;s:43:"google-analyticator/google-analyticator.php";i:6;s:36:"google-sitemap-generator/sitemap.php";i:7;s:9:"hello.php";i:8;s:29:"image-widget/image-widget.php";i:9;s:17:"openid/openid.php";i:10;s:49:"wordpress-openid-delegation/openid-delegation.php";i:11;s:41:"responsive-add-ons/responsive-add-ons.php";i:12;s:33:"rotating-posts/rotating-posts.php";i:13;s:35:"oa-social-login/oa-social-login.php";i:14;s:41:"loginradius-for-wordpress/LoginRadius.php";i:15;s:29:"wp-db-backup/wp-db-backup.php";i:16;s:46:"wordpress-mu-domain-mapping/domain_mapping.php";i:17;s:42:"wordpress-social-login/wp-social-login.php";i:18;s:33:"wp-linked-data/wp-linked-data.php";}', 'no'); +INSERT INTO `wp_2_options` VALUES (129, 'recently_activated', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (130, 'openid_associations', 'a:0:{}', 'no'); +INSERT INTO `wp_2_options` VALUES (131, 'openid_nonces', 'a:0:{}', 'no'); +INSERT INTO `wp_2_options` VALUES (132, 'wsl_database_migration_version', '4', 'yes'); +INSERT INTO `wp_2_options` VALUES (133, 'openid_enable_commentform', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (134, 'openid_plugin_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (135, 'openid_plugin_revision', '519', 'yes'); +INSERT INTO `wp_2_options` VALUES (136, 'openid_db_revision', '24426', 'yes'); +INSERT INTO `wp_2_options` VALUES (137, 'openid_enable_approval', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (138, 'openid_xrds_returnto', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (139, 'openid_comment_displayname_length', '12', 'yes'); +INSERT INTO `wp_2_options` VALUES (141, 'wsl_components_core_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (142, 'wsl_components_networks_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (143, 'wsl_components_login-widget_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (144, 'wsl_components_bouncer_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (145, 'wsl_components_diagnostics_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (146, 'wsl_settings_welcome_panel_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (147, 'wsl_settings_redirect_url', 'http://research.micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (148, 'wsl_settings_connect_with_label', 'Connect with:', 'yes'); +INSERT INTO `wp_2_options` VALUES (149, 'wsl_settings_use_popup', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (150, 'wsl_settings_widget_display', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (151, 'wsl_settings_authentication_widget_css', '#wp-social-login-connect-with {font-weight: bold;}\r\n#wp-social-login-connect-options {padding:10px;}\r\n#wp-social-login-connect-options a {text-decoration: none;}\r\n#wp-social-login-connect-options img {border:0 none;}\r\n.wsl_connect_with_provider {}', 'yes'); +INSERT INTO `wp_2_options` VALUES (152, 'wsl_settings_bouncer_registration_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (153, 'wsl_settings_bouncer_authentication_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (154, 'wsl_settings_bouncer_linking_accounts_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (155, 'wsl_settings_bouncer_profile_completion_require_email', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (156, 'wsl_settings_bouncer_profile_completion_change_email', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (157, 'wsl_settings_bouncer_profile_completion_change_username', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (158, 'wsl_settings_bouncer_profile_completion_text_notice', 'Almost there, we just need to check a couple of things', 'yes'); +INSERT INTO `wp_2_options` VALUES (159, 'wsl_settings_bouncer_profile_completion_text_submit_button', 'Continue', 'yes'); +INSERT INTO `wp_2_options` VALUES (160, 'wsl_settings_bouncer_profile_completion_text_email', 'E-mail', 'yes'); +INSERT INTO `wp_2_options` VALUES (161, 'wsl_settings_bouncer_profile_completion_text_username', 'Username', 'yes'); +INSERT INTO `wp_2_options` VALUES (162, 'wsl_settings_bouncer_profile_completion_text_email_invalid', 'E-mail is not valid!', 'yes'); +INSERT INTO `wp_2_options` VALUES (163, 'wsl_settings_bouncer_profile_completion_text_username_invalid', 'Username is not valid!', 'yes'); +INSERT INTO `wp_2_options` VALUES (164, 'wsl_settings_bouncer_profile_completion_text_email_exists', 'That E-mail is already registered!', 'yes'); +INSERT INTO `wp_2_options` VALUES (165, 'wsl_settings_bouncer_profile_completion_text_username_exists', 'That Username is already registered!', 'yes'); +INSERT INTO `wp_2_options` VALUES (166, 'wsl_settings_bouncer_profile_completion_text_connected_with', 'You are now connected via', 'yes'); +INSERT INTO `wp_2_options` VALUES (167, 'wsl_settings_bouncer_new_users_moderation_level', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (168, 'wsl_settings_bouncer_new_users_membership_default_role', 'default', 'yes'); +INSERT INTO `wp_2_options` VALUES (169, 'wsl_settings_bouncer_new_users_restrict_domain_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (170, 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce', 'Bouncer says no.', 'yes'); +INSERT INTO `wp_2_options` VALUES (171, 'wsl_settings_bouncer_new_users_restrict_email_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (172, 'wsl_settings_bouncer_new_users_restrict_email_text_bounce', 'Bouncer say he refuses.', 'yes'); +INSERT INTO `wp_2_options` VALUES (173, 'wsl_settings_bouncer_new_users_restrict_profile_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (174, 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce', 'Bouncer say only Mundo can go where he pleases!', 'yes'); +INSERT INTO `wp_2_options` VALUES (175, 'wsl_settings_contacts_import_facebook', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (176, 'wsl_settings_contacts_import_google', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (177, 'wsl_settings_contacts_import_twitter', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (178, 'wsl_settings_contacts_import_live', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (179, 'wsl_settings_contacts_import_linkedin', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (180, 'wsl_settings_Facebook_enabled', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (181, 'wsl_settings_Google_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (182, 'wsl_settings_Twitter_enabled', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (207, 'ga_version', '6.4.5', 'yes'); +INSERT INTO `wp_2_options` VALUES (208, 'ga_status', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (209, 'ga_uid', 'UA-298202-17', 'yes'); +INSERT INTO `wp_2_options` VALUES (210, 'ga_admin_status', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (211, 'ga_admin_disable', 'remove', 'yes'); +INSERT INTO `wp_2_options` VALUES (212, 'ga_admin_role', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (213, 'ga_dashboard_role', 'a:1:{i:0;s:13:"administrator";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (214, 'key_ga_show_ad', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (215, 'ga_adsense', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (216, 'ga_extra', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (217, 'ga_extra_after', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (218, 'ga_event', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (219, 'ga_outbound', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (220, 'ga_outbound_prefix', 'outgoing', 'yes'); +INSERT INTO `wp_2_options` VALUES (221, 'ga_downloads', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (222, 'ga_downloads_prefix', 'download', 'yes'); +INSERT INTO `wp_2_options` VALUES (223, 'ga_widgets', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (224, 'ga_annon', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (225, 'ga_defaults', 'no', 'yes'); +INSERT INTO `wp_2_options` VALUES (226, 'ga_google_token', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (227, 'wp_awld_js_i_accept', 'yes', 'yes'); +INSERT INTO `wp_2_options` VALUES (228, 'wp_awld_js_scope', 'post', 'yes'); +INSERT INTO `wp_2_options` VALUES (229, 'wp_awld_js_widget_implement', 'none', 'yes'); +INSERT INTO `wp_2_options` VALUES (230, 'wp_awld_js_button', 'yes', 'yes'); +INSERT INTO `wp_2_options` VALUES (231, 'wp_awld_js_quicktags', 'no', 'yes'); +INSERT INTO `wp_2_options` VALUES (232, 'wp_awld_js_db_version', '0.1.3', 'yes'); +INSERT INTO `wp_2_options` VALUES (252, 'allowedthemes', 'a:3:{s:6:"adamos";b:1;s:15:"catch-evolution";b:1;s:12:"twentytwelve";b:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (254, 'blog_upload_space', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (257, 'theme_mods_adamos', 'a:18:{i:0;b:0;s:16:"header_textcolor";s:3:"FFF";s:16:"background_color";s:3:"EEE";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:11:"adamos_logo";s:0:"";s:16:"featured_textbox";s:21:"Default featured text";s:21:"featured_textbox_text";s:21:"Default featured text";s:27:"featured_textbox_header_one";s:28:"Default featured text Header";s:25:"featured_textbox_text_one";s:21:"Default featured text";s:27:"featured_textbox_header_two";s:28:"Default featured text Header";s:25:"featured_textbox_text_two";s:21:"Default featured text";s:29:"featured_textbox_header_three";s:28:"Default featured text Header";s:27:"featured_textbox_text_three";s:21:"Default featured text";s:18:"nav_menu_locations";a:1:{s:7:"primary";i:0;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382523970;s:4:"data";a:6:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:11:"left_column";N;s:13:"center_column";N;s:12:"right_column";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (270, 'theme_mods_catch-evolution', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382089174;s:4:"data";a:7:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:20:"catchevolution_third";a:0:{}s:35:"catchevolution_header_right_sidebar";N;s:9:"sidebar-2";N;s:9:"sidebar-3";N;s:9:"sidebar-4";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (272, 'theme_mods_twentytwelve', 'a:11:{i:0;b:0;s:16:"header_textcolor";s:6:"515151";s:16:"background_color";s:6:"e6e6e6";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:1:{s:7:"primary";i:0;}s:12:"header_image";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:118;s:3:"url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg";s:13:"thumbnail_url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg";s:6:"height";i:250;s:5:"width";i:960;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382524211;s:4:"data";a:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (292, 'theme_mods_catch-everest', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:0:"";s:16:"background_image";s:79:"http://research.micropasts.org/wp-content/themes/catch-everest/images/noise.png";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382102975;s:4:"data";a:5:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;s:9:"sidebar-4";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (294, 'optionsframework', 'a:2:{s:2:"id";s:21:"optionsframework_tiga";s:12:"knownoptions";a:3:{i:0;s:23:"optionsframework_coller";i:1;s:17:"activetab_options";i:2;s:21:"optionsframework_tiga";}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (295, 'optionsframework_coller', 'a:20:{s:9:"headcode1";s:0:"";s:9:"footcode1";s:0:"";s:11:"footertext2";s:0:"";s:10:"customcss1";s:0:"";s:14:"slider_enabled";b:0;s:11:"slidetitle1";s:0:"";s:9:"slideurl1";s:0:"";s:11:"slidetitle2";s:0:"";s:9:"slideurl2";s:0:"";s:11:"slidetitle3";s:0:"";s:9:"slideurl3";s:0:"";s:11:"slidetitle4";s:0:"";s:9:"slideurl4";s:0:"";s:11:"slidetitle5";s:0:"";s:9:"slideurl5";s:0:"";s:8:"facebook";s:0:"";s:7:"twitter";s:0:"";s:6:"google";s:0:"";s:10:"feedburner";s:0:"";s:7:"credit1";b:0;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (296, 'suffusion_options', 'a:796:{s:16:"suf_color_scheme";s:18:"light-theme-gray-1";s:11:"suf_iconset";s:9:"iconset-0";s:24:"suf_little_icons_enabled";s:49:"author,date,category,tags,permalink,comments,edit";s:22:"suf_navt_skin_def_cust";s:5:"theme";s:25:"suf_navt_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:32:"suf_navt_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:30:"suf_navt_skin_settings_bg_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:22:"suf_navt_skin_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:29:"suf_navt_skin_settings_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:27:"suf_navt_skin_settings_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:28:"suf_navt_skin_settings_hover";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_navt_skin_settings_hover_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:33:"suf_navt_skin_settings_hover_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:30:"suf_navt_skin_settings_visited";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:37:"suf_navt_skin_settings_visited_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:35:"suf_navt_skin_settings_visited_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:25:"suf_navt_skin_settings_hl";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:32:"suf_navt_skin_settings_hl_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:30:"suf_navt_skin_settings_hl_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:24:"suf_header_style_setting";s:5:"theme";s:21:"suf_header_image_type";s:5:"image";s:27:"suf_header_background_image";s:0:"";s:28:"suf_header_background_repeat";s:6:"repeat";s:30:"suf_header_background_position";s:8:"top left";s:32:"suf_header_background_rot_folder";s:0:"";s:25:"suf_header_gradient_style";s:8:"top-down";s:31:"suf_header_gradient_start_color";s:6:"FFFFFF";s:29:"suf_header_gradient_end_color";s:6:"000000";s:24:"suf_header_fg_image_type";s:4:"text";s:19:"suf_header_fg_image";s:0:"";s:20:"suf_blog_title_color";s:7:"#000000";s:20:"suf_blog_title_style";s:4:"none";s:26:"suf_blog_title_hover_color";s:7:"#528f6c";s:26:"suf_blog_title_hover_style";s:4:"none";s:26:"suf_blog_description_color";s:7:"#000000";s:18:"suf_wrapper_margin";s:2:"20";s:17:"suf_header_height";s:2:"55";s:21:"suf_nav_skin_def_cust";s:5:"theme";s:24:"suf_nav_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:31:"suf_nav_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#ffffff;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:29:"suf_nav_skin_settings_bg_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:21:"suf_nav_skin_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:28:"suf_nav_skin_settings_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:26:"suf_nav_skin_settings_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:27:"suf_nav_skin_settings_hover";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:34:"suf_nav_skin_settings_hover_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:32:"suf_nav_skin_settings_hover_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:29:"suf_nav_skin_settings_visited";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:36:"suf_nav_skin_settings_visited_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:34:"suf_nav_skin_settings_visited_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:24:"suf_nav_skin_settings_hl";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:31:"suf_nav_skin_settings_hl_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:29:"suf_nav_skin_settings_hl_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:22:"suf_body_style_setting";s:5:"theme";s:25:"suf_body_background_color";s:7:"#444444";s:25:"suf_body_background_image";s:0:"";s:26:"suf_body_background_repeat";s:6:"repeat";s:30:"suf_body_background_attachment";s:6:"scroll";s:28:"suf_body_background_position";s:8:"top left";s:29:"suf_wrapper_settings_def_cust";s:5:"theme";s:23:"suf_wrapper_bg_settings";s:96:"color=#EDF3E6;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:16:"suf_show_shadows";s:4:"hide";s:29:"suf_post_bg_settings_def_cust";s:5:"theme";s:20:"suf_post_bg_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:17:"suf_date_box_show";s:11:"hide-search";s:30:"suf_date_box_settings_def_cust";s:5:"theme";s:21:"suf_date_box_settings";s:101:"color=#FFFFFF;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=transparent;";s:18:"suf_date_box_mfont";s:140:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=50;font-size-type=%;";s:18:"suf_date_box_dfont";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=100;font-size-type=%;";s:18:"suf_date_box_yfont";s:140:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=50;font-size-type=%;";s:26:"suf_emphasis_customization";s:5:"theme";s:23:"suf_download_font_color";s:7:"#000000";s:29:"suf_download_background_color";s:7:"#bbe7f9";s:25:"suf_download_border_color";s:7:"#0000ff";s:27:"suf_announcement_font_color";s:7:"#000000";s:33:"suf_announcement_background_color";s:7:"#b8f9d5";s:29:"suf_announcement_border_color";s:7:"#088c43";s:19:"suf_note_font_color";s:7:"#000000";s:25:"suf_note_background_color";s:7:"#f9f6a7";s:21:"suf_note_border_color";s:7:"#e7d605";s:22:"suf_warning_font_color";s:7:"#000000";s:28:"suf_warning_background_color";s:7:"#ffdbea";s:24:"suf_warning_border_color";s:7:"#ff0000";s:16:"suf_favicon_path";s:0:"";s:17:"suf_navt_contents";s:4:"hide";s:18:"suf_navt_bar_style";s:5:"align";s:15:"suf_navt_dd_pos";s:4:"left";s:18:"suf_navt_item_type";s:3:"tab";s:14:"suf_navt_delay";s:3:"500";s:15:"suf_navt_effect";s:4:"fade";s:18:"suf_navt_show_home";s:4:"none";s:18:"suf_navt_home_text";s:4:"Home";s:21:"suf_navt_entity_order";s:22:"pages,categories,links";s:23:"suf_navt_text_transform";s:10:"capitalize";s:20:"suf_navt_pages_style";s:9:"rolled-up";s:23:"suf_navt_page_tab_title";s:5:"Pages";s:22:"suf_navt_page_tab_link";s:0:"";s:22:"suf_navt_pages_all_sel";s:11:"exclude-all";s:14:"suf_navt_pages";s:0:"";s:18:"suf_navt_cat_style";s:9:"rolled-up";s:22:"suf_navt_cat_tab_title";s:10:"Categories";s:21:"suf_navt_cat_tab_link";s:0:"";s:21:"suf_navt_cats_all_sel";s:11:"exclude-all";s:13:"suf_navt_cats";s:0:"";s:20:"suf_navt_links_style";s:9:"rolled-up";s:24:"suf_navt_links_tab_title";s:5:"Links";s:23:"suf_navt_links_tab_link";s:0:"";s:22:"suf_navt_links_all_sel";s:8:"selected";s:14:"suf_navt_links";s:0:"";s:22:"suf_navt_menus_all_sel";s:8:"selected";s:14:"suf_navt_menus";s:0:"";s:23:"suf_header_layout_style";s:8:"in-align";s:20:"suf_header_alignment";s:4:"left";s:24:"suf_sub_header_alignment";s:5:"right";s:33:"suf_sub_header_vertical_alignment";s:9:"same-line";s:16:"suf_nav_contents";s:5:"pages";s:17:"suf_nav_bar_style";s:5:"align";s:14:"suf_nav_dd_pos";s:4:"left";s:17:"suf_nav_item_type";s:3:"tab";s:13:"suf_nav_delay";s:3:"500";s:14:"suf_nav_effect";s:4:"fade";s:13:"suf_show_home";s:4:"none";s:13:"suf_home_text";s:4:"Home";s:20:"suf_nav_entity_order";s:22:"pages,categories,links";s:22:"suf_nav_text_transform";s:10:"capitalize";s:19:"suf_nav_pages_style";s:9:"rolled-up";s:22:"suf_nav_page_tab_title";s:5:"Pages";s:21:"suf_nav_page_tab_link";s:0:"";s:21:"suf_nav_pages_all_sel";s:11:"exclude-all";s:13:"suf_nav_pages";s:0:"";s:17:"suf_nav_cat_style";s:9:"rolled-up";s:21:"suf_nav_cat_tab_title";s:10:"Categories";s:20:"suf_nav_cat_tab_link";s:0:"";s:20:"suf_nav_cats_all_sel";s:11:"exclude-all";s:12:"suf_nav_cats";s:0:"";s:19:"suf_nav_links_style";s:9:"rolled-up";s:23:"suf_nav_links_tab_title";s:5:"Links";s:22:"suf_nav_links_tab_link";s:0:"";s:21:"suf_nav_links_all_sel";s:8:"selected";s:13:"suf_nav_links";s:0:"";s:21:"suf_nav_menus_all_sel";s:8:"selected";s:13:"suf_nav_menus";s:0:"";s:21:"suf_nav_strip_a_title";s:4:"hide";s:23:"suf_footer_layout_style";s:8:"in-align";s:15:"suf_footer_left";s:81:"© 2013 Micropasts research blog";s:17:"suf_footer_center";s:0:"";s:22:"suf_post_meta_position";s:7:"corners";s:18:"suf_post_show_perm";s:10:"show-tleft";s:29:"suf_post_with_title_show_perm";s:4:"hide";s:18:"suf_post_show_cats";s:4:"show";s:21:"suf_post_show_comment";s:4:"show";s:23:"suf_post_show_posted_by";s:4:"show";s:25:"suf_post_posted_by_format";s:5:"by-at";s:18:"suf_post_show_tags";s:4:"show";s:22:"suf_page_meta_position";s:7:"corners";s:21:"suf_page_show_comment";s:4:"show";s:23:"suf_page_show_posted_by";s:4:"show";s:25:"suf_page_posted_by_format";s:5:"by-at";s:25:"suf_post_aside_show_title";s:4:"hide";s:28:"suf_post_aside_meta_position";s:7:"corners";s:24:"suf_post_aside_show_perm";s:10:"show-tleft";s:33:"suf_post_aside_no_title_show_perm";s:4:"show";s:24:"suf_post_aside_show_cats";s:4:"show";s:27:"suf_post_aside_show_comment";s:4:"show";s:29:"suf_post_aside_show_posted_by";s:4:"show";s:31:"suf_post_aside_posted_by_format";s:5:"by-at";s:24:"suf_post_aside_show_tags";s:4:"show";s:27:"suf_post_gallery_show_title";s:4:"show";s:30:"suf_post_gallery_meta_position";s:7:"corners";s:26:"suf_post_gallery_show_perm";s:10:"show-tleft";s:37:"suf_post_gallery_with_title_show_perm";s:4:"hide";s:26:"suf_post_gallery_show_cats";s:4:"show";s:29:"suf_post_gallery_show_comment";s:4:"show";s:31:"suf_post_gallery_show_posted_by";s:4:"show";s:33:"suf_post_gallery_posted_by_format";s:5:"by-at";s:26:"suf_post_gallery_show_tags";s:4:"show";s:26:"suf_gallery_format_disable";s:0:"";s:30:"suf_gallery_format_thumb_count";i:6;s:39:"suf_gallery_format_thumb_panel_position";s:5:"right";s:36:"suf_gallery_format_thumb_panel_width";s:3:"250";s:34:"suf_gallery_format_thumbnail_width";s:2:"96";s:35:"suf_gallery_format_thumbnail_height";s:2:"96";s:21:"suf_gallery_format_zc";s:1:"1";s:33:"suf_gallery_random_thumbs_disable";s:0:"";s:24:"suf_post_link_show_title";s:4:"show";s:27:"suf_post_link_meta_position";s:7:"corners";s:23:"suf_post_link_show_perm";s:10:"show-tleft";s:34:"suf_post_link_with_title_show_perm";s:4:"hide";s:23:"suf_post_link_show_cats";s:4:"show";s:26:"suf_post_link_show_comment";s:4:"show";s:28:"suf_post_link_show_posted_by";s:4:"show";s:30:"suf_post_link_posted_by_format";s:5:"by-at";s:23:"suf_post_link_show_tags";s:4:"show";s:25:"suf_post_image_show_title";s:4:"show";s:28:"suf_post_image_meta_position";s:7:"corners";s:24:"suf_post_image_show_perm";s:10:"show-tleft";s:35:"suf_post_image_with_title_show_perm";s:4:"hide";s:24:"suf_post_image_show_cats";s:4:"show";s:27:"suf_post_image_show_comment";s:4:"show";s:29:"suf_post_image_show_posted_by";s:4:"show";s:31:"suf_post_image_posted_by_format";s:5:"by-at";s:24:"suf_post_image_show_tags";s:4:"show";s:25:"suf_post_quote_show_title";s:4:"hide";s:28:"suf_post_quote_meta_position";s:7:"corners";s:24:"suf_post_quote_show_perm";s:10:"show-tleft";s:35:"suf_post_quote_with_title_show_perm";s:4:"show";s:24:"suf_post_quote_show_cats";s:4:"show";s:27:"suf_post_quote_show_comment";s:4:"show";s:29:"suf_post_quote_show_posted_by";s:4:"show";s:31:"suf_post_quote_posted_by_format";s:5:"by-at";s:24:"suf_post_quote_show_tags";s:4:"show";s:26:"suf_post_status_show_title";s:4:"hide";s:29:"suf_post_status_meta_position";s:7:"corners";s:25:"suf_post_status_show_perm";s:10:"show-tleft";s:34:"suf_post_status_no_title_show_perm";s:4:"show";s:25:"suf_post_status_show_cats";s:4:"show";s:28:"suf_post_status_show_comment";s:4:"show";s:30:"suf_post_status_show_posted_by";s:4:"show";s:32:"suf_post_status_posted_by_format";s:5:"by-at";s:25:"suf_post_status_show_tags";s:4:"show";s:25:"suf_post_video_show_title";s:4:"show";s:28:"suf_post_video_meta_position";s:7:"corners";s:24:"suf_post_video_show_perm";s:10:"show-tleft";s:35:"suf_post_video_with_title_show_perm";s:4:"hide";s:24:"suf_post_video_show_cats";s:4:"show";s:27:"suf_post_video_show_comment";s:4:"show";s:29:"suf_post_video_show_posted_by";s:4:"show";s:31:"suf_post_video_posted_by_format";s:5:"by-at";s:24:"suf_post_video_show_tags";s:4:"show";s:25:"suf_post_audio_show_title";s:4:"show";s:26:"suf_enable_audio_shortcode";s:0:"";s:28:"suf_post_audio_meta_position";s:7:"corners";s:24:"suf_post_audio_show_perm";s:10:"show-tleft";s:35:"suf_post_audio_with_title_show_perm";s:4:"hide";s:24:"suf_post_audio_show_cats";s:4:"show";s:27:"suf_post_audio_show_comment";s:4:"show";s:29:"suf_post_audio_show_posted_by";s:4:"show";s:31:"suf_post_audio_posted_by_format";s:5:"by-at";s:24:"suf_post_audio_show_tags";s:4:"show";s:24:"suf_post_chat_show_title";s:4:"show";s:27:"suf_post_chat_meta_position";s:7:"corners";s:23:"suf_post_chat_show_perm";s:10:"show-tleft";s:34:"suf_post_chat_with_title_show_perm";s:4:"hide";s:23:"suf_post_chat_show_cats";s:4:"show";s:26:"suf_post_chat_show_comment";s:4:"show";s:28:"suf_post_chat_show_posted_by";s:4:"show";s:30:"suf_post_chat_posted_by_format";s:5:"by-at";s:23:"suf_post_chat_show_tags";s:4:"show";s:26:"suf_byline_before_category";s:0:"";s:25:"suf_byline_after_category";s:0:"";s:21:"suf_byline_before_tag";s:13:"Tagged with: ";s:20:"suf_byline_after_tag";s:0:"";s:27:"suf_byline_before_permalink";s:0:"";s:26:"suf_byline_after_permalink";s:0:"";s:22:"suf_byline_before_edit";s:0:"";s:21:"suf_byline_after_edit";s:0:"";s:22:"suf_byline_before_date";s:0:"";s:21:"suf_byline_after_date";s:0:"";s:38:"suf_byline_before_after_cpt_taxonomies";s:0:"";s:23:"suf_featured_index_view";s:8:"disabled";s:26:"suf_featured_category_view";s:8:"disabled";s:21:"suf_featured_tag_view";s:8:"disabled";s:24:"suf_featured_author_view";s:8:"disabled";s:24:"suf_featured_search_view";s:8:"disabled";s:22:"suf_featured_time_view";s:8:"disabled";s:28:"suf_featured_view_first_only";s:5:"first";s:26:"suf_featured_pages_with_fc";s:0:"";s:22:"suf_featured_num_posts";s:2:"10";s:23:"suf_featured_show_dupes";s:4:"hide";s:25:"suf_featured_allow_sticky";s:4:"show";s:24:"suf_featured_show_latest";s:4:"hide";s:29:"suf_featured_num_latest_posts";i:5;s:32:"suf_featured_selected_categories";s:0:"";s:27:"suf_featured_selected_pages";s:0:"";s:27:"suf_featured_selected_posts";s:0:"";s:26:"suf_featured_selected_tags";s:0:"";s:21:"suf_featured_img_pref";s:55:"custom-featured,native,custom-thumb,attachment,embedded";s:15:"suf_featured_fx";s:4:"fade";s:17:"suf_featured_sync";s:1:"0";s:21:"suf_featured_interval";s:4:"4000";s:29:"suf_featured_transition_speed";s:4:"1000";s:27:"suf_featured_override_theme";s:0:"";s:19:"suf_featured_height";s:3:"250";s:24:"suf_featured_show_border";s:4:"show";s:23:"suf_featured_image_size";s:4:"full";s:31:"suf_featured_image_custom_width";s:3:"200";s:32:"suf_featured_image_custom_height";s:3:"200";s:15:"suf_featured_zc";s:7:"default";s:22:"suf_featured_stretch_w";s:0:"";s:25:"suf_featured_excerpt_type";s:13:"title-excerpt";s:29:"suf_featured_excerpt_position";s:6:"rotate";s:26:"suf_featured_center_slides";s:0:"";s:26:"suf_featured_excerpt_width";s:3:"250";s:29:"suf_featured_excerpt_bg_color";s:6:"222222";s:31:"suf_featured_excerpt_font_color";s:6:"FFFFFF";s:31:"suf_featured_excerpt_link_color";s:6:"FFFFFF";s:18:"suf_featured_pager";s:4:"show";s:24:"suf_featured_pager_style";s:7:"numbers";s:28:"suf_featured_pager_alignment";s:4:"left";s:23:"suf_featured_controller";s:4:"hide";s:33:"suf_featured_controller_alignment";s:5:"right";s:18:"suf_nav_breadcrumb";s:10:"breadcrumb";s:23:"suf_show_breadcrumbs_in";s:0:"";s:16:"suf_show_home_in";s:0:"";s:29:"suf_nav_exclude_in_breadcrumb";s:4:"hide";s:24:"suf_breadcrumb_separator";s:7:"»";s:19:"suf_pagination_type";s:7:"old-new";s:20:"suf_pagination_index";s:4:"show";s:24:"suf_pagination_prev_next";s:4:"show";s:23:"suf_pagination_show_all";s:4:"dots";s:25:"suf_prev_next_above_below";s:5:"below";s:24:"suf_prev_next_categories";s:8:"restrict";s:20:"suf_cpagination_type";s:7:"old-new";s:21:"suf_cpagination_index";s:4:"show";s:25:"suf_cpagination_prev_next";s:4:"show";s:24:"suf_cpagination_show_all";s:4:"dots";s:24:"suf_show_rounded_corners";s:4:"show";s:20:"suf_fix_aspect_ratio";s:8:"preserve";s:23:"suf_use_photon_resizing";s:0:"";s:23:"suf_disable_auto_thumbs";s:0:"";s:22:"suf_jq_masonry_enabled";s:8:"disabled";s:17:"suf_wa_tbrh_style";s:4:"tiny";s:19:"suf_header_for_trbh";s:5:"plain";s:21:"suf_wa_tbrh_open_text";s:4:"Open";s:22:"suf_wa_tbrh_close_text";s:5:"Close";s:19:"suf_wa_tbrh_columns";s:1:"3";s:26:"suf_wa_tbrh_override_theme";s:0:"";s:23:"suf_wa_tbrh_panel_color";s:7:"#040D0F";s:30:"suf_wa_tbrh_panel_border_color";s:7:"#222222";s:28:"suf_wa_tbrh_panel_font_color";s:7:"#AAAAAA";s:15:"suf_wah_columns";s:1:"1";s:20:"suf_wah_layout_style";s:10:"full-align";s:15:"suf_wih_columns";s:1:"1";s:13:"suf_wih_width";s:3:"300";s:15:"suf_show_search";s:4:"show";s:16:"suf_wa_sb1_style";s:5:"boxed";s:25:"suf_sidebar_1_def_widgets";s:4:"show";s:17:"suf_sidebar_1_dnd";s:8:"disabled";s:21:"suf_sidebar_1_expcoll";s:7:"enabled";s:18:"suf_sidebar_header";s:5:"plain";s:25:"suf_sb_font_style_setting";s:5:"theme";s:17:"suf_sb_font_color";s:7:"#666666";s:17:"suf_sb_link_color";s:7:"#000000";s:17:"suf_sb_link_style";s:4:"none";s:25:"suf_sb_visited_link_color";s:7:"#000000";s:25:"suf_sb_visited_link_style";s:4:"none";s:23:"suf_sb_link_hover_color";s:7:"#528f6c";s:23:"suf_sb_link_hover_style";s:9:"underline";s:17:"suf_wa_sb1b_style";s:5:"boxed";s:16:"suf_wa_sb2_style";s:5:"boxed";s:17:"suf_sidebar_2_dnd";s:8:"disabled";s:21:"suf_sidebar_2_expcoll";s:7:"enabled";s:17:"suf_wa_sb2b_style";s:5:"boxed";s:16:"suf_wa_wst_style";s:5:"boxed";s:16:"suf_wa_wsb_style";s:5:"boxed";s:36:"suf_widget_area_below_header_enabled";s:8:"disabled";s:36:"suf_widget_area_below_header_columns";s:1:"1";s:17:"suf_wa_wabh_style";s:5:"boxed";s:35:"suf_header_for_widgets_below_header";s:5:"plain";s:27:"suf_wabh_font_style_setting";s:5:"theme";s:19:"suf_wabh_font_color";s:7:"#000000";s:19:"suf_wabh_link_color";s:7:"#000000";s:19:"suf_wabh_link_style";s:4:"none";s:27:"suf_wabh_visited_link_color";s:7:"#000000";s:27:"suf_wabh_visited_link_style";s:4:"none";s:25:"suf_wabh_link_hover_color";s:7:"#ffffff";s:25:"suf_wabh_link_hover_style";s:9:"underline";s:36:"suf_widget_area_above_footer_enabled";s:8:"disabled";s:36:"suf_widget_area_above_footer_columns";s:1:"1";s:17:"suf_wa_waaf_style";s:5:"boxed";s:35:"suf_header_for_widgets_above_footer";s:5:"plain";s:27:"suf_waaf_font_style_setting";s:5:"theme";s:19:"suf_waaf_font_color";s:7:"#000000";s:19:"suf_waaf_link_color";s:7:"#000000";s:19:"suf_waaf_link_style";s:4:"none";s:27:"suf_waaf_visited_link_color";s:7:"#000000";s:27:"suf_waaf_visited_link_style";s:4:"none";s:25:"suf_waaf_link_hover_color";s:7:"#ffffff";s:25:"suf_waaf_link_hover_style";s:9:"underline";s:18:"suf_adhoc1_columns";s:1:"1";s:18:"suf_adhoc2_columns";s:1:"1";s:18:"suf_adhoc3_columns";s:1:"1";s:18:"suf_adhoc4_columns";s:1:"1";s:18:"suf_adhoc5_columns";s:1:"1";s:17:"suf_sbtab_enabled";s:8:"disabled";s:19:"suf_sbtab_alignment";s:5:"right";s:17:"suf_sbtab_widgets";s:0:"";s:22:"suf_sbtab_widget_order";s:213:"archives,categories,Links,meta,pages,recent_comments,recent_posts,search,tag_cloud,custom_tab_1,custom_tab_2,custom_tab_3,custom_tab_4,custom_tab_5,custom_tab_6,custom_tab_7,custom_tab_8,custom_tab_9,custom_tab_10";s:26:"suf_sbtab_categories_title";s:10:"Categories";s:33:"suf_sbtab_categories_hierarchical";s:12:"hierarchical";s:31:"suf_sbtab_categories_post_count";s:4:"hide";s:24:"suf_sbtab_archives_title";s:8:"Archives";s:23:"suf_sbtab_archives_type";s:7:"monthly";s:28:"suf_sbtab_archives_list_type";s:4:"html";s:29:"suf_sbtab_archives_post_count";s:4:"hide";s:21:"suf_sbtab_Links_title";s:5:"Links";s:20:"suf_sbtab_meta_title";s:4:"Meta";s:21:"suf_sbtab_pages_title";s:5:"Pages";s:31:"suf_sbtab_recent_comments_title";s:15:"Recent Comments";s:28:"suf_sbtab_recent_posts_title";s:12:"Recent Posts";s:22:"suf_sbtab_search_title";s:6:"Search";s:25:"suf_sbtab_tag_cloud_title";s:9:"Tag Cloud";s:28:"suf_sbtab_custom_tab_1_title";s:12:"Custom Tab 1";s:31:"suf_sbtab_custom_tab_1_contents";s:0:"";s:28:"suf_sbtab_custom_tab_2_title";s:12:"Custom Tab 2";s:31:"suf_sbtab_custom_tab_2_contents";s:0:"";s:28:"suf_sbtab_custom_tab_3_title";s:12:"Custom Tab 3";s:31:"suf_sbtab_custom_tab_3_contents";s:0:"";s:28:"suf_sbtab_custom_tab_4_title";s:12:"Custom Tab 4";s:31:"suf_sbtab_custom_tab_4_contents";s:0:"";s:28:"suf_sbtab_custom_tab_5_title";s:12:"Custom Tab 5";s:31:"suf_sbtab_custom_tab_5_contents";s:0:"";s:28:"suf_sbtab_custom_tab_6_title";s:12:"Custom Tab 6";s:31:"suf_sbtab_custom_tab_6_contents";s:0:"";s:28:"suf_sbtab_custom_tab_7_title";s:12:"Custom Tab 7";s:31:"suf_sbtab_custom_tab_7_contents";s:0:"";s:28:"suf_sbtab_custom_tab_8_title";s:12:"Custom Tab 8";s:31:"suf_sbtab_custom_tab_8_contents";s:0:"";s:28:"suf_sbtab_custom_tab_9_title";s:12:"Custom Tab 9";s:31:"suf_sbtab_custom_tab_9_contents";s:0:"";s:29:"suf_sbtab_custom_tab_10_title";s:13:"Custom Tab 10";s:32:"suf_sbtab_custom_tab_10_contents";s:0:"";s:21:"suf_ie7_compatibility";s:8:"no-force";s:15:"suf_seo_enabled";s:7:"enabled";s:20:"suf_seo_all_settings";s:0:"";s:19:"suf_seo_title_style";s:9:"page-blog";s:23:"suf_seo_title_separator";s:7:"»";s:21:"suf_seo_show_subtitle";s:4:"hide";s:21:"suf_seo_show_page_num";s:4:"show";s:24:"suf_seo_meta_description";s:0:"";s:21:"suf_seo_meta_keywords";s:0:"";s:29:"suf_comments_disabled_all_sel";s:3:"all";s:35:"suf_comments_disabled_msg_for_posts";s:4:"show";s:19:"suf_show_track_ping";s:4:"show";s:34:"suf_show_hide_reply_link_for_pings";s:8:"disallow";s:24:"suf_comment_display_type";s:5:"plain";s:24:"suf_comment_label_styles";s:5:"plain";s:22:"suf_comment_label_name";s:4:"Name";s:26:"suf_comment_label_name_req";s:10:"(required)";s:23:"suf_comment_label_email";s:6:"E-mail";s:27:"suf_comment_label_email_req";s:10:"(required)";s:21:"suf_comment_label_uri";s:3:"URI";s:30:"suf_comment_label_your_comment";s:12:"Your Comment";s:26:"suf_comment_show_html_tags";s:4:"show";s:18:"suf_uprof_networks";s:0:"";s:27:"suf_uprof_post_info_enabled";s:4:"hide";s:26:"suf_uprof_post_info_header";s:22:"[suffusion-the-author]";s:28:"suf_uprof_post_info_gravatar";s:4:"show";s:33:"suf_uprof_post_info_gravatar_size";s:2:"64";s:38:"suf_uprof_post_info_gravatar_alignment";s:4:"left";s:27:"suf_uprof_post_info_content";s:44:"[suffusion-the-author display=\'description\']";s:21:"suf_analytics_enabled";s:11:"not-enabled";s:25:"suf_custom_analytics_code";s:0:"";s:18:"suf_openid_enabled";s:11:"not-enabled";s:17:"suf_openid_server";s:0:"";s:19:"suf_openid_delegate";s:0:"";s:19:"suf_custom_css_code";s:0:"";s:21:"suf_custom_css_link_1";s:0:"";s:21:"suf_custom_css_link_2";s:0:"";s:21:"suf_custom_css_link_3";s:0:"";s:20:"suf_custom_js_file_1";s:0:"";s:20:"suf_custom_js_file_2";s:0:"";s:20:"suf_custom_js_file_3";s:0:"";s:20:"suf_custom_header_js";s:0:"";s:20:"suf_custom_footer_js";s:0:"";s:30:"suf_custom_default_rss_enabled";s:7:"enabled";s:21:"suf_custom_rss_feed_1";s:0:"";s:22:"suf_custom_rss_title_1";s:0:"";s:21:"suf_custom_rss_feed_2";s:0:"";s:22:"suf_custom_rss_title_2";s:0:"";s:21:"suf_custom_rss_feed_3";s:0:"";s:22:"suf_custom_rss_title_3";s:0:"";s:22:"suf_custom_atom_feed_1";s:0:"";s:23:"suf_custom_atom_title_1";s:0:"";s:22:"suf_custom_atom_feed_2";s:0:"";s:23:"suf_custom_atom_title_2";s:0:"";s:22:"suf_custom_atom_feed_3";s:0:"";s:23:"suf_custom_atom_title_3";s:0:"";s:18:"suf_module_widgets";s:0:"";s:15:"suf_autogen_css";s:12:"autogen-file";s:14:"suf_minify_css";s:9:"no-minify";s:21:"suf_featured_use_lite";s:7:"regular";s:21:"suf_style_inheritance";s:10:"everything";s:20:"suf_mag_entity_order";s:29:"headlines,excerpts,categories";s:24:"suf_mag_featured_enabled";s:7:"enabled";s:23:"suf_mag_content_enabled";s:4:"hide";s:25:"suf_mag_headlines_enabled";s:4:"show";s:22:"suf_mag_headline_title";s:9:"Headlines";s:37:"suf_mag_headline_main_title_alignment";s:6:"center";s:24:"suf_mag_headlines_height";s:3:"250";s:38:"suf_mag_headline_image_container_width";s:3:"225";s:25:"suf_mag_headline_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:27:"suf_mag_headline_image_size";s:7:"excerpt";s:36:"suf_mag_headline_image_custom_height";s:3:"200";s:35:"suf_mag_headline_image_custom_width";s:3:"200";s:19:"suf_mag_headline_zc";s:7:"default";s:22:"suf_mag_headline_limit";i:10;s:24:"suf_mag_excerpts_enabled";s:4:"show";s:22:"suf_mag_excerpts_title";s:17:"Other Big Stories";s:37:"suf_mag_excerpts_main_title_alignment";s:6:"center";s:22:"suf_mag_total_excerpts";s:2:"10";s:24:"suf_mag_excerpts_per_row";s:1:"3";s:31:"suf_mag_excerpts_images_enabled";s:4:"show";s:33:"suf_mag_excerpts_image_box_height";s:3:"100";s:24:"suf_mag_excerpt_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:26:"suf_mag_excerpt_image_size";s:7:"excerpt";s:35:"suf_mag_excerpt_image_custom_height";s:3:"200";s:34:"suf_mag_excerpt_image_custom_width";s:3:"200";s:18:"suf_mag_excerpt_zc";s:7:"default";s:31:"suf_mag_excerpt_title_alignment";s:6:"center";s:31:"suf_mag_excerpt_full_story_text";s:10:"Full Story";s:31:"suf_mag_excerpt_bylines_enabled";s:4:"show";s:33:"suf_mag_excerpt_bylines_post_date";s:4:"show";s:33:"suf_mag_excerpt_bylines_posted_by";s:4:"show";s:34:"suf_mag_excerpt_bylines_categories";s:4:"show";s:28:"suf_mag_excerpt_bylines_tags";s:4:"show";s:32:"suf_mag_excerpt_bylines_comments";s:4:"show";s:34:"suf_mag_excerpt_bylines_permalinks";s:4:"show";s:26:"suf_mag_categories_enabled";s:4:"show";s:23:"suf_mag_catblocks_title";s:13:"Other Stories";s:38:"suf_mag_catblocks_main_title_alignment";s:6:"center";s:25:"suf_mag_catblocks_per_row";s:1:"3";s:33:"suf_mag_catblocks_title_alignment";s:6:"center";s:32:"suf_mag_catblocks_images_enabled";s:4:"hide";s:34:"suf_mag_catblocks_image_box_height";s:3:"100";s:30:"suf_mag_catblocks_desc_enabled";s:4:"hide";s:31:"suf_mag_catblocks_posts_enabled";s:4:"show";s:27:"suf_mag_catblocks_num_posts";s:1:"5";s:30:"suf_mag_catblocks_see_all_text";s:13:"See all posts";s:28:"suf_mag_catblocks_post_style";s:17:"thumbnail-excerpt";s:32:"suf_mag_catblocks_thumbnail_size";s:2:"32";s:32:"suf_mag_catblocks_excerpt_length";s:2:"15";s:35:"suf_mag_excerpt_full_story_position";s:5:"below";s:15:"suf_pop_excerpt";s:7:"content";s:17:"suf_pop_fc_number";s:1:"0";s:20:"suf_cat_info_enabled";s:11:"not-enabled";s:26:"suf_temp_cats_hierarchical";s:12:"hierarchical";s:17:"suf_temp_cats_rss";s:4:"show";s:24:"suf_temp_cats_post_count";s:4:"hide";s:20:"suf_tag_info_enabled";s:11:"not-enabled";s:23:"suf_author_info_enabled";s:7:"enabled";s:23:"suf_search_info_enabled";s:7:"enabled";s:18:"suf_image_comments";s:0:"";s:20:"suf_image_show_sizes";s:4:"hide";s:19:"suf_image_show_exif";s:4:"hide";s:21:"suf_image_exif_pieces";s:0:"";s:18:"suf_audio_comments";s:0:"";s:18:"suf_audio_att_type";s:4:"link";s:27:"suf_audio_att_player_height";s:2:"30";s:26:"suf_audio_att_player_width";s:3:"300";s:24:"suf_application_comments";s:0:"";s:24:"suf_application_att_type";s:4:"link";s:32:"suf_application_att_player_width";s:3:"300";s:17:"suf_text_comments";s:0:"";s:17:"suf_text_att_type";s:4:"link";s:25:"suf_text_att_player_width";s:3:"300";s:18:"suf_video_comments";s:0:"";s:18:"suf_video_att_type";s:4:"link";s:27:"suf_video_att_player_height";s:3:"225";s:26:"suf_video_att_player_width";s:3:"300";s:20:"suf_sitemap_contents";s:0:"";s:23:"suf_sitemap_label_pages";s:5:"Pages";s:28:"suf_sitemap_label_categories";s:10:"Categories";s:25:"suf_sitemap_label_authors";s:7:"Authors";s:27:"suf_sitemap_label_yarchives";s:15:"Yearly Archives";s:27:"suf_sitemap_label_marchives";s:16:"Monthly Archives";s:27:"suf_sitemap_label_warchives";s:15:"Weekly Archives";s:27:"suf_sitemap_label_darchives";s:14:"Daily Archives";s:22:"suf_sitemap_label_tags";s:4:"Tags";s:23:"suf_sitemap_label_posts";s:10:"Blog Posts";s:24:"suf_sitemap_entity_order";s:64:"pages,categories,authors,years,months,weeks,days,tag-cloud,posts";s:20:"suf_nr_books_per_row";s:1:"4";s:19:"suf_nr_main_cover_w";s:3:"108";s:19:"suf_nr_main_cover_h";s:3:"160";s:20:"suf_nr_no_books_text";s:4:"None";s:16:"suf_nr_lib_title";s:7:"Library";s:20:"suf_nr_lib_curr_show";s:4:"show";s:21:"suf_nr_lib_curr_title";s:17:"Currently Reading";s:20:"suf_nr_lib_curr_text";s:0:"";s:22:"suf_nr_lib_unread_show";s:4:"show";s:23:"suf_nr_lib_unread_title";s:7:"Up Next";s:22:"suf_nr_lib_unread_text";s:0:"";s:25:"suf_nr_lib_completed_show";s:4:"show";s:26:"suf_nr_lib_completed_title";s:16:"Finished Reading";s:25:"suf_nr_lib_completed_text";s:0:"";s:16:"suf_nr_lib_order";s:24:"current,unread,completed";s:24:"suf_nr_single_added_show";s:4:"show";s:24:"suf_nr_single_added_text";s:10:"Added on: ";s:26:"suf_nr_single_started_show";s:4:"show";s:26:"suf_nr_single_started_text";s:9:"Started: ";s:27:"suf_nr_single_finished_show";s:4:"show";s:27:"suf_nr_single_finished_text";s:10:"Finished: ";s:23:"suf_nr_single_meta_show";s:4:"show";s:22:"suf_nr_wid_search_show";s:6:"bottom";s:20:"suf_nr_wid_curr_show";s:4:"show";s:21:"suf_nr_wid_curr_title";s:17:"Currently Reading";s:22:"suf_nr_wid_unread_show";s:4:"show";s:23:"suf_nr_wid_unread_title";s:7:"Up Next";s:25:"suf_nr_wid_completed_show";s:4:"show";s:26:"suf_nr_wid_completed_title";s:16:"Finished Reading";s:16:"suf_nr_wid_order";s:24:"current,unread,completed";s:13:"suf_404_title";s:21:"Error 404 - Not Found";s:15:"suf_404_content";s:56:"Sorry, the page that you are looking for does not exist.";s:16:"suf_clt_wa1_cols";s:1:"1";s:25:"suf_clt_wa1_widget_height";s:7:"all-row";s:24:"suf_clt_wa1_skin_setting";s:0:"";s:28:"suf_clt_wa1_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa1_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa2_cols";s:1:"1";s:25:"suf_clt_wa2_widget_height";s:7:"all-row";s:24:"suf_clt_wa2_skin_setting";s:0:"";s:28:"suf_clt_wa2_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa2_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa3_cols";s:1:"1";s:25:"suf_clt_wa3_widget_height";s:7:"all-row";s:24:"suf_clt_wa3_skin_setting";s:0:"";s:28:"suf_clt_wa3_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa3_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa4_cols";s:1:"1";s:25:"suf_clt_wa4_widget_height";s:7:"all-row";s:24:"suf_clt_wa4_skin_setting";s:0:"";s:28:"suf_clt_wa4_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa4_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa5_cols";s:1:"1";s:25:"suf_clt_wa5_widget_height";s:7:"all-row";s:24:"suf_clt_wa5_skin_setting";s:0:"";s:28:"suf_clt_wa5_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa5_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:15:"suf_cpt_layouts";s:0:"";s:17:"suf_sidebar_count";s:1:"1";s:21:"suf_sidebar_alignment";s:5:"right";s:23:"suf_sidebar_2_alignment";s:5:"right";s:16:"suf_size_options";s:6:"custom";s:22:"suf_wrapper_width_type";s:5:"fixed";s:22:"suf_wrapper_width_flex";i:75;s:26:"suf_wrapper_width_flex_max";s:4:"1200";s:26:"suf_wrapper_width_flex_min";s:3:"600";s:24:"suf_wrapper_width_preset";s:4:"1000";s:17:"suf_wrapper_width";s:4:"1000";s:18:"suf_main_col_width";s:3:"725";s:14:"suf_sb_1_width";s:3:"260";s:14:"suf_sb_2_width";s:3:"260";s:19:"suf_ns_wabh_enabled";s:7:"enabled";s:19:"suf_ns_waaf_enabled";s:7:"enabled";s:25:"suf_1l_wrapper_width_type";s:5:"fixed";s:25:"suf_1l_wrapper_width_flex";i:75;s:29:"suf_1l_wrapper_width_flex_max";s:4:"1200";s:29:"suf_1l_wrapper_width_flex_min";s:3:"600";s:27:"suf_1l_wrapper_width_preset";s:4:"1000";s:20:"suf_1l_wrapper_width";s:4:"1000";s:21:"suf_1l_main_col_width";s:3:"725";s:17:"suf_1l_sb_1_width";s:3:"260";s:25:"suf_1r_wrapper_width_type";s:5:"fixed";s:25:"suf_1r_wrapper_width_flex";i:75;s:29:"suf_1r_wrapper_width_flex_max";s:4:"1200";s:29:"suf_1r_wrapper_width_flex_min";s:3:"600";s:27:"suf_1r_wrapper_width_preset";s:4:"1000";s:20:"suf_1r_wrapper_width";s:4:"1000";s:21:"suf_1r_main_col_width";s:3:"725";s:17:"suf_1r_sb_1_width";s:3:"260";s:27:"suf_1l1r_wrapper_width_type";s:5:"fixed";s:27:"suf_1l1r_wrapper_width_flex";i:75;s:31:"suf_1l1r_wrapper_width_flex_max";s:4:"1200";s:31:"suf_1l1r_wrapper_width_flex_min";s:3:"600";s:29:"suf_1l1r_wrapper_width_preset";s:4:"1000";s:22:"suf_1l1r_wrapper_width";s:4:"1000";s:23:"suf_1l1r_main_col_width";s:3:"725";s:19:"suf_1l1r_sb_1_width";s:3:"260";s:19:"suf_1l1r_sb_2_width";s:3:"260";s:25:"suf_2l_wrapper_width_type";s:5:"fixed";s:25:"suf_2l_wrapper_width_flex";i:75;s:29:"suf_2l_wrapper_width_flex_max";s:4:"1200";s:29:"suf_2l_wrapper_width_flex_min";s:3:"600";s:27:"suf_2l_wrapper_width_preset";s:4:"1000";s:20:"suf_2l_wrapper_width";s:4:"1000";s:21:"suf_2l_main_col_width";s:3:"725";s:17:"suf_2l_sb_1_width";s:3:"260";s:17:"suf_2l_sb_2_width";s:3:"260";s:25:"suf_2r_wrapper_width_type";s:5:"fixed";s:25:"suf_2r_wrapper_width_flex";i:75;s:29:"suf_2r_wrapper_width_flex_max";s:4:"1200";s:29:"suf_2r_wrapper_width_flex_min";s:3:"600";s:27:"suf_2r_wrapper_width_preset";s:4:"1000";s:20:"suf_2r_wrapper_width";s:4:"1000";s:21:"suf_2r_main_col_width";s:3:"725";s:17:"suf_2r_sb_1_width";s:3:"260";s:17:"suf_2r_sb_2_width";s:3:"260";s:21:"suf_enable_responsive";s:0:"";s:20:"suf_responsive_stops";s:29:"980px,650px,480px,320px,240px";s:35:"suf_responsive_prevent_user_scaling";s:0:"";s:27:"suf_responsive_scale_header";s:0:"";s:25:"suf_responsive_nav_switch";s:5:"480px";s:27:"suf_responsive_thumb_switch";s:5:"480px";s:29:"suf_responsive_pullout_switch";s:5:"480px";s:21:"suf_responsive_240_sb";s:5:"below";s:21:"suf_responsive_320_sb";s:5:"below";s:21:"suf_responsive_480_sb";s:5:"below";s:26:"suf_responsive_480_columns";s:0:"";s:21:"suf_responsive_650_sb";s:12:"below-beside";s:26:"suf_responsive_650_columns";s:0:"";s:21:"suf_responsive_980_sb";s:11:"in-position";s:26:"suf_responsive_980_columns";s:0:"";s:22:"suf_blog_sidebar_count";s:7:"default";s:17:"suf_index_excerpt";s:7:"content";s:19:"suf_index_fc_number";s:1:"0";s:26:"suf_category_sidebar_count";s:7:"default";s:20:"suf_category_excerpt";s:7:"content";s:22:"suf_category_fc_number";s:1:"0";s:21:"suf_tag_sidebar_count";s:7:"default";s:15:"suf_tag_excerpt";s:7:"content";s:17:"suf_tag_fc_number";s:1:"0";s:24:"suf_author_sidebar_count";s:7:"default";s:18:"suf_author_excerpt";s:7:"content";s:20:"suf_author_fc_number";s:1:"0";s:22:"suf_date_sidebar_count";s:7:"default";s:19:"suf_archive_excerpt";s:7:"content";s:21:"suf_archive_fc_number";s:1:"0";s:24:"suf_search_sidebar_count";s:7:"default";s:18:"suf_search_excerpt";s:7:"content";s:20:"suf_search_fc_number";s:1:"0";s:22:"suf_fc_view_first_only";s:5:"first";s:25:"suf_excerpt_custom_length";s:2:"55";s:27:"suf_excerpt_read_more_style";s:7:"replace";s:28:"suf_excerpt_custom_more_text";s:5:"[...]";s:26:"suf_show_excerpt_thumbnail";s:4:"show";s:26:"suf_show_content_thumbnail";s:4:"show";s:20:"suf_excerpt_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:17:"suf_excerpt_tt_zc";s:1:"1";s:22:"suf_excerpt_tt_quality";i:75;s:31:"suf_excerpt_thumbnail_alignment";s:4:"left";s:26:"suf_excerpt_thumbnail_size";s:9:"thumbnail";s:34:"suf_excerpt_thumbnail_custom_width";s:3:"200";s:35:"suf_excerpt_thumbnail_custom_height";s:3:"200";s:22:"suf_excerpt_list_count";s:3:"all";s:22:"suf_excerpt_list_style";s:2:"ul";s:25:"suf_tile_excerpts_per_row";s:1:"3";s:23:"suf_tile_images_enabled";s:4:"show";s:25:"suf_tile_image_box_height";s:3:"100";s:23:"suf_tile_image_settings";s:7:"inherit";s:17:"suf_tile_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:19:"suf_tile_image_size";s:7:"excerpt";s:28:"suf_tile_image_custom_height";s:3:"200";s:27:"suf_tile_image_custom_width";s:3:"200";s:11:"suf_tile_zc";s:7:"default";s:24:"suf_tile_title_alignment";s:4:"left";s:31:"suf_tile_layout_bylines_enabled";s:4:"show";s:33:"suf_tile_layout_bylines_post_date";s:4:"show";s:33:"suf_tile_layout_bylines_posted_by";s:4:"show";s:34:"suf_tile_layout_bylines_categories";s:4:"show";s:28:"suf_tile_layout_bylines_tags";s:4:"show";s:32:"suf_tile_layout_bylines_comments";s:4:"show";s:34:"suf_tile_layout_bylines_permalinks";s:4:"show";s:26:"suf_mosaic_thumbnail_width";s:2:"96";s:27:"suf_mosaic_thumbnail_height";s:2:"96";s:13:"suf_mosaic_zc";s:1:"1";s:24:"suf_mosaic_constrain_row";s:7:"padding";s:31:"suf_mosaic_constrain_by_padding";s:2:"50";s:29:"suf_mosaic_constrain_by_count";i:5;s:15:"suf_mosaic_zoom";s:4:"zoom";s:23:"suf_mosaic_zoom_library";s:8:"fancybox";s:21:"suf_mosaic_show_title";s:4:"hide";s:27:"suf_body_font_style_setting";s:5:"theme";s:20:"suf_body_font_family";s:28:"Arial, Helvetica, sans-serif";s:14:"suf_font_color";s:7:"#000000";s:14:"suf_link_color";s:7:"#528f6c";s:14:"suf_link_style";s:4:"none";s:22:"suf_visited_link_color";s:7:"#528f6c";s:22:"suf_visited_link_style";s:4:"none";s:20:"suf_link_hover_color";s:7:"#528f6c";s:20:"suf_link_hover_style";s:9:"underline";s:27:"suf_main_font_style_setting";s:0:"";s:18:"suf_main_font_size";s:31:"font-size=14;font-size-type=px;";s:28:"suf_title_font_style_setting";s:0:"";s:19:"suf_post_title_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:24:"suf_post_title_link_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:30:"suf_post_title_link_hover_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:23:"suf_header_font_setting";s:0:"";s:16:"suf_post_h1_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:16:"suf_post_h2_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=26;font-size-type=px;";s:16:"suf_post_h3_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=23;font-size-type=px;";s:16:"suf_post_h4_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=21;font-size-type=px;";s:16:"suf_post_h5_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=19;font-size-type=px;";s:16:"suf_post_h6_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=16;font-size-type=px;";s:26:"suf_clt_title_font_setting";s:0:"";s:18:"suf_clt_title_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=24;font-size-type=px;";s:24:"suf_comment_font_setting";s:0:"";s:23:"suf_comment_header_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=16;font-size-type=px;";s:21:"suf_comment_body_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:23:"suf_footer_font_setting";s:0:"";s:20:"suf_footer_text_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:20:"suf_footer_link_font";s:110:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;";s:26:"suf_footer_link_hover_font";s:110:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;";s:23:"suf_drop_cap_post_views";s:0:"";s:25:"suf_drop_cap_post_formats";s:0:"";s:13:"theme-version";s:5:"4.4.7";s:11:"option-date";s:24:"October 18, 2013 1:30 pm";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (297, 'suffusion_generated_css', 'a:3:{s:3:"css";s:24524:"/* October 18, 2013 1:30 pm */\r\n.page-template-1l-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1l-sidebar-php #container { padding-left: 275px; padding-right: 0px; }\r\n.page-template-1l-sidebar-php #main-col { width: 725px; }\r\n#ie6 .page-template-1l-sidebar-php #main-col { width: 695px }\r\n.page-template-1l-sidebar-php #nav-top, .page-template-1l-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l-sidebar-php #nav-top .col-control, .page-template-1l-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1l-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1l-sidebar-php .postdata .category {\r\n max-width: 450px;\r\n}\r\n.page-template-1l-sidebar-php .tags {\r\n max-width: 450px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar, .page-template-1l-sidebar-php #sidebar-b, .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar.flattened, .page-template-1l-sidebar-php #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar-shell-1 {\r\n margin-left: -100%;\r\n margin-right: 15px;\r\n left: auto;\r\n right: 275px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar-container { width: 275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-left { right: 275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-right { margin-right: -275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1l-sidebar-php #wsidebar-top, .page-template-1l-sidebar-php #wsidebar-bottom { width: 273px; }\r\n.page-template-1l-sidebar-php #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1l-sidebar-php .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar, #ie6 .page-template-1l-sidebar-php #sidebar-b, #ie6 .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n.page-template-1l-sidebar-php .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-1r-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1r-sidebar-php #container { padding-left: 0px; padding-right: 275px; }\r\n.page-template-1r-sidebar-php #main-col { width: 725px; }\r\n#ie6 .page-template-1r-sidebar-php #main-col { width: 695px }\r\n.page-template-1r-sidebar-php #nav-top, .page-template-1r-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1r-sidebar-php #nav-top .col-control, .page-template-1r-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1r-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1r-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1r-sidebar-php .postdata .category {\r\n max-width: 450px;\r\n}\r\n.page-template-1r-sidebar-php .tags {\r\n max-width: 450px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar, .page-template-1r-sidebar-php #sidebar-b, .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar.flattened, .page-template-1r-sidebar-php #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -275px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1r-sidebar-php #sidebar-container { width: 275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-left { right: 275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-right { margin-right: -275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1r-sidebar-php #wsidebar-top, .page-template-1r-sidebar-php #wsidebar-bottom { width: 273px; }\r\n.page-template-1r-sidebar-php #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1r-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1r-sidebar-php .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar, #ie6 .page-template-1r-sidebar-php #sidebar-b, #ie6 .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n.page-template-1r-sidebar-php .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-1l1r-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1l1r-sidebar-php #container { padding-left: 185px; padding-right: 185px; }\r\n.page-template-1l1r-sidebar-php #main-col { width: 630px; }\r\n#ie6 .page-template-1l1r-sidebar-php #main-col { width: 600px }\r\n.page-template-1l1r-sidebar-php #nav-top, .page-template-1l1r-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l1r-sidebar-php #nav-top .col-control, .page-template-1l1r-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1l1r-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l1r-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1l1r-sidebar-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-1l1r-sidebar-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar, .page-template-1l1r-sidebar-php #sidebar-b, .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar.flattened, .page-template-1l1r-sidebar-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -185px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-2, .page-template-1l1r-sidebar-php #sidebar-2-b, .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-1l1r-sidebar-php #sidebar-2.flattened, .page-template-1l1r-sidebar-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n margin-left: -100%;\r\n margin-right: 0px;\r\n left: auto;\r\n right: 185px;\r\n}\r\n\r\n.page-template-1l1r-sidebar-php #sidebar-container { width: 185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-left { right: 185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-right { margin-right: -185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1l1r-sidebar-php #wsidebar-top, .page-template-1l1r-sidebar-php #wsidebar-bottom { width: 353px; }\r\n.page-template-1l1r-sidebar-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l1r-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1l1r-sidebar-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar, #ie6 .page-template-1l1r-sidebar-php #sidebar-b, #ie6 .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-2, #ie6 .page-template-1l1r-sidebar-php #sidebar-2-b, #ie6 .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n left: 200px;\r\n right: 185px;\r\n}\r\n\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-container {\r\n width: 175px;\r\n}\r\n\r\n.page-template-1l1r-sidebar-php .tab-box {\r\n width: 170px;\r\n}\r\n.page-template-2l-sidebars-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-2l-sidebars-php #container { padding-left: 370px; padding-right: 0px; }\r\n.page-template-2l-sidebars-php #main-col { width: 630px; }\r\n#ie6 .page-template-2l-sidebars-php #main-col { width: 600px }\r\n.page-template-2l-sidebars-php #nav-top, .page-template-2l-sidebars-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2l-sidebars-php #nav-top .col-control, .page-template-2l-sidebars-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-2l-sidebars-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2l-sidebars-php #nav .col-control { width: 1000px }\n\r\n.page-template-2l-sidebars-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-2l-sidebars-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar, .page-template-2l-sidebars-php #sidebar-b, .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar.flattened, .page-template-2l-sidebars-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-shell-1 {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-2, .page-template-2l-sidebars-php #sidebar-2-b, .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-2l-sidebars-php #sidebar-2.flattened, .page-template-2l-sidebars-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-shell-2 {\r\n margin-left: 15px;\r\n margin-right: -185px;\r\n left: auto;\r\n right: auto;\r\n}\r\n\r\n.page-template-2l-sidebars-php #sidebar-container { width: 370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-left { right: 370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-right { margin-right: -370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-2l-sidebars-php #wsidebar-top, .page-template-2l-sidebars-php #wsidebar-bottom { width: 353px; }\r\n.page-template-2l-sidebars-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: 370px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-wrap {\r\n left: auto;\r\n right: 200px;\r\n}\r\n.page-template-2l-sidebars-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-2l-sidebars-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar, #ie6 .page-template-2l-sidebars-php #sidebar-b, #ie6 .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-2, #ie6 .page-template-2l-sidebars-php #sidebar-2-b, #ie6 .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n}\r\n\r\n#ie6 .page-template-2l-sidebars-php #sidebar-container {\r\n width: 360px;\r\n}\r\n\r\n.page-template-2l-sidebars-php .tab-box {\r\n width: 353px;\r\n}\r\n.page-template-2r-sidebars-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-2r-sidebars-php #container { padding-left: 0px; padding-right: 370px; }\r\n.page-template-2r-sidebars-php #main-col { width: 630px; }\r\n#ie6 .page-template-2r-sidebars-php #main-col { width: 600px }\r\n.page-template-2r-sidebars-php #nav-top, .page-template-2r-sidebars-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2r-sidebars-php #nav-top .col-control, .page-template-2r-sidebars-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-2r-sidebars-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2r-sidebars-php #nav .col-control { width: 1000px }\n\r\n.page-template-2r-sidebars-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-2r-sidebars-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar, .page-template-2r-sidebars-php #sidebar-b, .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar.flattened, .page-template-2r-sidebars-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-shell-1 {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-2, .page-template-2r-sidebars-php #sidebar-2-b, .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-2r-sidebars-php #sidebar-2.flattened, .page-template-2r-sidebars-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-shell-2 {\r\n margin-left: -185px;\r\n margin-right: 15px;\r\n left: auto;\r\n right: auto;\r\n}\r\n\r\n.page-template-2r-sidebars-php #sidebar-container { width: 370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-left { right: 370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-right { margin-right: -370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-2r-sidebars-php #wsidebar-top, .page-template-2r-sidebars-php #wsidebar-bottom { width: 353px; }\r\n.page-template-2r-sidebars-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2r-sidebars-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-2r-sidebars-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar, #ie6 .page-template-2r-sidebars-php #sidebar-b, #ie6 .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-2, #ie6 .page-template-2r-sidebars-php #sidebar-2-b, #ie6 .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n}\r\n\r\n#ie6 .page-template-2r-sidebars-php #sidebar-container {\r\n width: 360px;\r\n}\r\n\r\n.page-template-2r-sidebars-php .tab-box {\r\n width: 353px;\r\n}\r\n #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n #container { padding-left: 0px; padding-right: 275px; }\r\n #main-col { width: 725px; }\r\n#ie6 #main-col { width: 695px }\r\n #nav-top, #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n #nav-top .col-control, #top-bar-right-spanel .col-control { width: 1000px }\r\n #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n #nav .col-control { width: 1000px }\n\r\n .postdata .category {\r\n max-width: 450px;\r\n}\r\n .tags {\r\n max-width: 450px;\r\n}\r\n #sidebar, #sidebar-b, #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n #sidebar.flattened, #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -275px;\r\n left: auto;\r\n right: auto;\r\n}\r\n #sidebar-container { width: 275px; }\r\n .sidebar-container-left { right: 275px; }\r\n .sidebar-container-right { margin-right: -275px; }\r\n .sidebar-container-left #sidebar-wrap { right: auto; }\r\n #wsidebar-top, #wsidebar-bottom { width: 273px; }\r\n #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 #sidebar, #ie6 #sidebar-b, #ie6 #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 #sidebar-shell-1 {\r\n}\r\n#ie6 #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-no-sidebars-php #container { padding-left: 0; padding-right: 0; }\r\n.page-template-no-sidebars-php #main-col { width: 100%; }\r\n.suf-mag-headlines {\r\n padding-left: 225px;\r\n}\r\n.suf-mag-headline-photo-box { width: 225px; right: 225px; }\r\n.suf-mag-headline-block { width: 100%; }\r\n#ie6 .suf-mag-headline-block { width: 100%; }\r\n.suf-mag-headlines { min-height: 250px; height: auto; }\r\n.suf-mag-excerpt-image {\r\n height: 100px;\r\n}\r\n.suf-mag-category-image {\r\n width: 221px;\r\n height: 100px;\r\n}\r\n#ie6 .suf-mag-category-image { width: 218px; }\r\nh2.suf-mag-headlines-title { text-align: center; }\r\n.search-results .post .date { display: none; }\r\n.search-results .title-container { padding-left: 0; padding-right: 0; }\r\n.search-results .post .title { padding-left: 0; }\r\n\r\n.postdata .category{ float: left; }\r\n.post .postdata .comments { float: right; }\r\n.tags { float: right; text-align: right; }\r\n.post span.author { float: left; padding-right: 10px; }\r\narticle.page .postdata .comments { float: right; }\r\narticle.page span.author { float: left; padding-right: 10px; }\r\n\r\n.format-aside h1.posttitle, .format-aside h2.posttitle, .post.format-aside .date { display: none; }\r\n.format-aside .title-container { padding-left: 0; }\r\n\r\n.format-aside .postdata .category{ float: left; }\r\n.post.format-aside .postdata .comments { float: right; }\r\n.format-aside .tags { float: right; text-align: right; }\r\n.format-aside .permalink { float: left; text-align: left; }\r\n.post.format-aside span.author { float: left; padding-right: 10px; }\r\n\r\n.format-gallery .postdata .category{ float: left; }\r\n.post.format-gallery .postdata .comments { float: right; }\r\n.format-gallery .tags { float: right; text-align: right; }\r\n.format-gallery .permalink { float: left; text-align: left; }\r\n.post.format-gallery span.author { float: left; padding-right: 10px; }\r\n\r\n.format-link .postdata .category{ float: left; }\r\n.post.format-link .postdata .comments { float: right; }\r\n.format-link .tags { float: right; text-align: right; }\r\n.format-link .permalink { float: left; text-align: left; }\r\n.post.format-link span.author { float: left; padding-right: 10px; }\r\n\r\n.format-image .postdata .category{ float: left; }\r\n.post.format-image .postdata .comments { float: right; }\r\n.format-image .tags { float: right; text-align: right; }\r\n.format-image .permalink { float: left; text-align: left; }\r\n.post.format-image span.author { float: left; padding-right: 10px; }\r\n\r\n.format-quote h1.posttitle, .format-quote h2.posttitle, .post.format-quote .date { display: none; }\r\n.format-quote .title-container { padding-left: 0; }\r\n\r\n.format-quote .postdata .category{ float: left; }\r\n.post.format-quote .postdata .comments { float: right; }\r\n.format-quote .tags { float: right; text-align: right; }\r\n.format-quote .permalink { float: left; text-align: left; }\r\n.post.format-quote span.author { float: left; padding-right: 10px; }\r\n\r\n.format-status h1.posttitle, .format-status h2.posttitle, .post.format-status .date { display: none; }\r\n.format-status .title-container { padding-left: 0; }\r\n\r\n.format-status .postdata .category{ float: left; }\r\n.post.format-status .postdata .comments { float: right; }\r\n.format-status .tags { float: right; text-align: right; }\r\n.format-status .permalink { float: left; text-align: left; }\r\n.post.format-status span.author { float: left; padding-right: 10px; }\r\n\r\n.format-video .postdata .category{ float: left; }\r\n.post.format-video .postdata .comments { float: right; }\r\n.format-video .tags { float: right; text-align: right; }\r\n.format-video .permalink { float: left; text-align: left; }\r\n.post.format-video span.author { float: left; padding-right: 10px; }\r\n\r\n.format-audio .postdata .category{ float: left; }\r\n.post.format-audio .postdata .comments { float: right; }\r\n.format-audio .tags { float: right; text-align: right; }\r\n.format-audio .permalink { float: left; text-align: left; }\r\n.post.format-audio span.author { float: left; padding-right: 10px; }\r\n\r\n.format-chat .postdata .category{ float: left; }\r\n.post.format-chat .postdata .comments { float: right; }\r\n.format-chat .tags { float: right; text-align: right; }\r\n.format-chat .permalink { float: left; text-align: left; }\r\n.post.format-chat span.author { float: left; padding-right: 10px; }\r\n\r\n#slider, #sliderContent { max-height: 250px; }\r\n #slider .left, #slider .right { height: 250px; max-height: 250px; width: 250px !important; }\r\n .sliderImage .top, .sliderImage .bottom { max-width: none; }\r\n.sliderImage { height: 250px; }\r\n.controller-icons #sliderControl { top: -125px; }\r\n.controller-icons.index-overlaid #sliderControl { top: -110px; }\r\n .sliderImage div { background-image: none; background-color: #222222; color: #FFFFFF; }\r\n .sliderImage div a { color: #FFFFFF; }\r\n#featured-posts { border-width: 1px; border-style: solid; }\r\n#ie6 table.suf-tiles { width: 700px }\r\n.suf-tile-image { height: 100px; }\r\nh2.suf-tile-title { text-align: left; }\r\n#nav-top, #top-bar-right-spanel { margin: 0 auto; }\r\n#nav ul { text-transform: capitalize; }\r\n#nav-top ul { text-transform: capitalize; float: left; }\r\n#widgets-above-header { width: auto; }\r\n#nav { margin: 0 auto; width: 100%; }\r\ndiv.booklisting img, div.bookentry img { width: 108px; height: 160px; }\r\ndiv.bookentry .stats { width: 142px; }\r\ndiv.bookentry .review { width: 537px; }\r\n#ie6 div.bookentry .review { width: 517px; }\r\ncol.nr-shelf-slot { width: 25%; }\r\n#nav .mm-warea {\r\n transition: opacity 500ms linear;\r\n -moz-transition: opacity 500ms linear;\r\n -webkit-transition: opacity 500ms linear;\r\n -khtml-transition: opacity 500ms linear;\r\n}\r\n\r\n#nav-top .mm-warea {\r\n transition: opacity 500ms linear;\r\n -moz-transition: opacity 500ms linear;\r\n -webkit-transition: opacity 500ms linear;\r\n -khtml-transition: opacity 500ms linear;\r\n}\r\n\r\n.attachment object.audio { width: 300px; height: 30px; }\r\n.attachment object.application { width: 300px; }\r\n.attachment object.text { width: 300px; }\r\n.attachment object.video { width: 300px; height: 225px; }\r\n.author-info img.avatar { float: left; padding: 5px; }\r\n.suf-mosaic-thumb-container { margin-left: 50px; margin-right: 50px; }\r\n.sidebar-wrap-right #sidebar-shell-1 { float: right; margin-left: 0; margin-right: 0;}\r\n.sidebar-wrap-right #sidebar-shell-2 { float: right; margin-right: 15px; margin-left: 0;}\r\n.sidebar-wrap-left #sidebar-shell-1 { float: left; margin-left: 0; margin-right: 0;}\r\n.sidebar-wrap-left #sidebar-shell-2 { float: left; margin-left: 15px; margin-right: 0;}\r\n.sidebar-container-left #sidebar-wrap { margin-left: 0; margin-right: 0; left: auto; right: auto; }\r\n.sidebar-container-right #sidebar-wrap { margin-left: 0; margin-right: 0; left: auto; right: auto; }\r\n#sidebar-container .tab-box { margin-left: 0; margin-right: 0; }\r\n#sidebar-container.sidebar-container-left { margin-left: -100%; }\r\n#ie6 #sidebar-container #sidebar-shell-1, #ie6 #sidebar-container #sidebar-shell-2 { left: auto; right: auto; }\r\n#ie6 .sidebar-container-left #sidebar-wrap, #ie6 .sidebar-container-right #sidebar-wrap { left: auto; right: auto; }\r\n.postdata .category .icon, .postdata .author .icon, .postdata .tax .icon, .postdata .permalink .icon, .postdata .comments .icon, .postdata .edit .icon, .postdata .line-date .icon,\r\n.previous-entries .icon, .next-entries .icon, .post-nav .previous .icon, .post-nav .next .icon, h3.comments .icon, #reply-title .icon, input.inside, .exif-button .icon,\r\n.bookdata .edit .icon, .bookdata .manage .icon, .page-nav-left a, .page-nav-right a, .mosaic-page-nav-right a, .mosaic-page-nav-left a, .mosaic-overlay a span,\r\n.meta-pullout .category .icon, .meta-pullout .author .icon, .meta-pullout .tax .icon, .meta-pullout .permalink .icon, .meta-pullout .comments .icon, .meta-pullout .edit .icon, .meta-pullout .pullout-date .icon,\r\n.controller-icons #sliderControl .sliderPrev, .controller-icons #sliderControl .sliderNext, .controller-icons .sliderControl .sliderPrev, .controller-icons .sliderControl .sliderNext, .user-profiles .icon {\r\n background-image: url(http://research.micropasts.org/wp-content/themes/suffusion/images/iconset-0.png);\r\n}\r\n.postdata .author .icon,.meta-pullout .author .icon,.postdata .line-date .icon,.meta-pullout .pullout-date .icon,.postdata .category .icon,.meta-pullout .category .icon,.postdata .tags .icon,.meta-pullout .tags .icon,.postdata .permalink .icon,.meta-pullout .permalink .icon,.postdata .comments .icon,.meta-pullout .comments .icon,.postdata .edit .icon,.meta-pullout .edit .icon,.postdata .tax .icon,.meta-pullout .tax .icon { display: inline-block; }\n.gallery-container { padding-right: 266px }.gallery-contents { width: 250px }.gallery-contents.left { left: -266px }.gallery-contents.right { margin-right: -266px }\n";s:11:"option-date";s:24:"October 18, 2013 1:30 pm";s:13:"theme-version";s:5:"4.4.7";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (298, 'theme_mods_suffusion', 'a:9:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:6:"444444";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:2:{s:3:"top";i:0;s:4:"main";i:0;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382517713;s:4:"data";a:35:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-9";a:0:{}s:9:"sidebar-2";N;s:10:"sidebar-10";N;s:10:"sidebar-18";N;s:10:"sidebar-19";N;s:10:"sidebar-11";N;s:10:"sidebar-12";N;s:9:"sidebar-3";N;s:9:"sidebar-4";N;s:9:"sidebar-5";N;s:9:"sidebar-6";N;s:9:"sidebar-7";N;s:9:"sidebar-8";N;s:10:"sidebar-13";N;s:10:"sidebar-14";N;s:10:"sidebar-15";N;s:10:"sidebar-16";N;s:10:"sidebar-17";N;s:12:"sidebar-cl-1";N;s:12:"sidebar-cl-2";N;s:12:"sidebar-cl-3";N;s:12:"sidebar-cl-4";N;s:12:"sidebar-cl-5";N;s:12:"sidebar-mm-1";N;s:12:"sidebar-mm-2";N;s:12:"sidebar-mm-3";N;s:12:"sidebar-mm-4";N;s:12:"sidebar-mm-5";N;s:12:"sidebar-mm-6";N;s:12:"sidebar-mm-7";N;s:12:"sidebar-mm-8";N;s:12:"sidebar-mm-9";N;s:13:"sidebar-mm-10";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (299, 'wp_opulus_options', 'a:87:{s:15:"reminder_images";s:2:"on";s:15:"example_widgets";s:2:"on";s:10:"image_logo";s:0:"";s:9:"text_logo";s:24:"Micropasts research blog";s:7:"favicon";s:0:"";s:8:"gravatar";s:0:"";s:9:"read_more";s:16:"Read More →";s:9:"copyright";s:37:"© 2013, Micropasts research blog";s:16:"toggle_side_menu";s:1:"0";s:12:"public_phone";s:0:"";s:12:"public_email";s:0:"";s:10:"public_fax";s:0:"";s:7:"address";s:0:"";s:13:"banner_option";s:17:"full_image_border";s:11:"action_text";s:139:"Welcome to theWP Opulus Theme. To edit this text please login to the dashboard and selectWP Opulus Theme Options under the Appearance menu.";s:15:"toggle_featured";s:1:"1";s:22:"toggle_featured_exerpt";s:1:"0";s:13:"left_featured";i:2;s:15:"center_featured";i:2;s:14:"right_featured";i:2;s:14:"fp_content_pos";s:4:"none";s:11:"toggle_blog";s:1:"1";s:15:"blog_feed_title";s:25:"Latest News From the Blog";s:10:"blog_title";s:4:"Blog";s:13:"posts_on_blog";s:1:"5";s:23:"nimbus_post_meta_single";a:6:{s:5:"title";s:1:"1";s:10:"post_thumb";s:1:"1";s:6:"author";s:1:"1";s:4:"date";s:1:"1";s:10:"categories";s:1:"1";s:4:"tags";s:1:"1";}s:14:"post_meta_blog";a:5:{s:5:"title";s:1:"1";s:10:"post_thumb";s:1:"1";s:6:"author";s:1:"1";s:4:"date";s:1:"1";s:10:"categories";s:1:"1";}s:11:"display_bio";s:1:"1";s:15:"header_bg_color";s:7:"#f0f0f0";s:11:"dd_bg_color";s:7:"#464646";s:15:"dd_border_color";s:7:"#535353";s:15:"ribbon_bg_color";s:7:"#ffffff";s:27:"ribbon_content_shadow_color";s:7:"#555555";s:19:"action_bg_color_top";s:7:"#ffffff";s:22:"action_bg_color_bottom";s:7:"#f1f1f1";s:26:"action_border_color_bottom";s:7:"#e8e8e8";s:18:"image_stroke_color";s:7:"#b6b6b6";s:18:"image_border_color";s:7:"#ffffff";s:17:"image_border_type";s:5:"solid";s:18:"image_shadow_color";s:7:"#c5c5c5";s:25:"banner_image_stroke_color";s:7:"#b6b6b6";s:25:"banner_image_border_color";s:7:"#ffffff";s:24:"banner_image_border_type";s:5:"solid";s:25:"banner_image_shadow_color";s:7:"#c5c5c5";s:22:"nimbus_footer_bg_color";s:7:"#ffffff";s:10:"body_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:10:"link_color";s:7:"#0077ff";s:16:"link_hover_color";s:7:"#0077ff";s:10:"logo_style";a:6:{s:4:"size";s:4:"33px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Bebas";s:5:"style";s:6:"normal";s:5:"color";s:7:"#262626";s:9:"fonttrans";s:4:"none";}s:18:"head_contact_style";a:6:{s:4:"size";s:4:"11px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:15:"main_menu_style";a:6:{s:4:"size";s:4:"20px";s:4:"line";s:3:"1em";s:4:"face";s:14:"PT Sans Narrow";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:9:"uppercase";}s:14:"sub_menu_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:3:"1em";s:4:"face";s:14:"PT Sans Narrow";s:5:"style";s:6:"normal";s:5:"color";s:7:"#e1e1e1";s:9:"fonttrans";s:4:"none";}s:12:"action_style";a:6:{s:4:"size";s:4:"22px";s:4:"line";s:5:"1.5em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:21:"nimbus_typography_one";a:1:{s:4:"face";s:7:"PT Sans";}s:21:"nimbus_typography_two";a:1:{s:4:"face";s:7:"PT Sans";}s:23:"nimbus_typography_three";a:1:{s:4:"face";s:7:"PT Sans";}s:12:"button_style";a:1:{s:4:"face";s:7:"PT Sans";}s:8:"h1_style";a:6:{s:4:"size";s:4:"25px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h2_style";a:6:{s:4:"size";s:4:"22px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h3_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:8:"h4_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h5_style";a:6:{s:4:"size";s:4:"16px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:8:"h6_style";a:6:{s:4:"size";s:4:"16px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:16:"blockquote_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.4em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:15:"pullquote_style";a:6:{s:4:"size";s:4:"20px";s:4:"line";s:5:"1.2em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#0078FF";s:9:"fonttrans";s:4:"none";}s:10:"code_style";a:2:{s:4:"face";s:11:"Courier New";s:5:"color";s:7:"#535353";}s:8:"th_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#0078ff";s:9:"fonttrans";s:9:"uppercase";}s:8:"td_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:8:"tc_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:11:"bold italic";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:9:"uppercase";}s:19:"sidebar_title_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:18:"footer_title_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:17:"footer_text_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:15:"copyright_style";a:6:{s:4:"size";s:4:"11px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#a6a6a6";s:9:"fonttrans";s:4:"none";}s:12:"facebook_url";s:0:"";s:11:"twitter_url";s:0:"";s:12:"linkedin_url";s:0:"";s:11:"youtube_url";s:0:"";s:15:"google_plus_url";s:0:"";s:22:"display_social_buttons";s:1:"1";s:20:"display_like_buttons";s:1:"0";s:12:"scripts_head";s:0:"";s:19:"scripts_top_content";s:0:"";s:17:"top_scripts_multi";a:6:{s:4:"home";s:1:"0";s:5:"pages";s:1:"0";s:4:"blog";s:1:"0";s:5:"posts";s:1:"0";s:9:"portfolio";s:1:"0";s:14:"portfolio_item";s:1:"0";}s:22:"scripts_bottom_content";s:0:"";s:20:"bottom_scripts_multi";a:6:{s:4:"home";s:1:"0";s:5:"pages";s:1:"0";s:4:"blog";s:1:"0";s:5:"posts";s:1:"0";s:9:"portfolio";s:1:"0";s:14:"portfolio_item";s:1:"0";}s:12:"scripts_foot";s:0:"";s:10:"custom_css";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (301, 'activetab_options', 'a:8:{s:18:"menu_position_type";s:5:"fixed";s:8:"logo_url";s:0:"";s:15:"show_site_title";s:1:"1";s:21:"show_site_description";s:1:"1";s:9:"code_head";s:0:"";s:11:"code_footer";s:0:"";s:31:"excerpt_or_full_content_in_list";s:7:"excerpt";s:11:"favicon_url";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (302, 'theme_mods_activetab', 'a:10:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:12:"header_image";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:13;s:3:"url";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:13:"thumbnail_url";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:6:"height";i:676;s:5:"width";i:1015;}s:18:"nav_menu_locations";a:1:{s:11:"primary-nav";i:2;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382524381;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:7:"sidebar";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:6:"footer";a:0:{}}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (307, 'new_admin_email', 'info@micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (308, 'openid_required_for_registration', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (316, 'openid_no_require_name', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (322, 'post_count', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (326, 'category_children', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (331, 'nav_menu_options', 'a:2:{i:0;b:0;s:8:"auto_add";a:1:{i:0;i:2;}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (440, 'bwp_gxs_log', 'a:2:{s:3:"log";a:26:{i:0;a:3:{s:3:"log";s:79:"Cache file for module post is not found and will be built right away. ";s:4:"time";i:1382298187;s:5:"error";s:6:"notice";}i:1;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382298187;s:5:"error";b:0;}i:2;a:3:{s:3:"log";s:92:"Cache file for module taxonomy_category is not found and will be built right away. ";s:4:"time";i:1382298257;s:5:"error";s:6:"notice";}i:3;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";i:1382298257;s:5:"error";s:6:"notice";}i:4;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";i:1382298257;s:5:"error";b:0;}i:5;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382372916;s:5:"error";b:0;}i:6;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382374173;s:5:"error";b:0;}i:7;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";i:1382375692;s:5:"error";s:6:"notice";}i:8;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";i:1382375692;s:5:"error";b:0;}i:9;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382379945;s:5:"error";b:0;}i:10;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";i:1382393514;s:5:"error";b:0;}i:11;a:3:{s:3:"log";s:50:"Pinged Google with sitemapindex.xml successfully! ";s:4:"time";i:1382457355;s:5:"error";b:0;}i:12;a:3:{s:3:"log";s:48:"Pinged Bing with sitemapindex.xml successfully! ";s:4:"time";i:1382457356;s:5:"error";b:0;}i:13;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382457356;s:5:"error";b:0;}i:14;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382466703;s:5:"error";b:0;}i:15;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382524939;s:5:"error";b:0;}i:16;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";i:1382557762;s:5:"error";s:6:"notice";}i:17;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";i:1382557762;s:5:"error";b:0;}i:18;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382566363;s:5:"error";b:0;}i:19;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";i:1382567810;s:5:"error";b:0;}i:20;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382589298;s:5:"error";b:0;}i:21;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382668735;s:5:"error";b:0;}i:22;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382669377;s:5:"error";b:0;}i:23;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382723467;s:5:"error";b:0;}i:24;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382756868;s:5:"error";b:0;}i:25;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382767293;s:5:"error";b:0;}}s:7:"sitemap";a:5:{s:12:"sitemapindex";a:2:{s:4:"time";i:1382756868;s:3:"url";s:12:"sitemapindex";}s:4:"page";a:2:{s:4:"time";i:1382767293;s:3:"url";s:4:"page";}s:4:"site";a:2:{s:4:"time";i:1382567810;s:3:"url";s:4:"site";}s:4:"post";a:2:{s:4:"time";i:1382723467;s:3:"url";s:4:"post";}s:17:"taxonomy_category";a:2:{s:4:"time";i:1382557762;s:3:"url";s:17:"taxonomy_category";}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (850, 'bwp_gxs_ping_data', 'a:2:{s:11:"data_pinged";a:3:{s:6:"google";i:1;s:4:"bing";i:1;s:3:"ask";i:0;}s:16:"data_last_pinged";a:3:{s:6:"google";i:1382457355;s:4:"bing";i:1382457355;s:3:"ask";i:0;}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1158, 'theme_mods_responsive-childtheme-master', 'a:8:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:4:{s:8:"top-menu";i:0;s:11:"header-menu";i:0;s:15:"sub-header-menu";i:0;s:11:"footer-menu";i:0;}s:12:"header_image";s:13:"remove-header";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1164, 'theme_mods_esplanade', 'a:11:{i:0;b:0;s:16:"header_textcolor";s:3:"333";s:16:"background_color";s:6:"f9f9f9";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:1:{s:11:"primary_nav";i:0;}s:12:"header_image";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:119;s:3:"url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg";s:13:"thumbnail_url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg";s:6:"height";i:589;s:5:"width";i:1082;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382525438;s:4:"data";a:8:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;s:9:"sidebar-4";N;s:9:"sidebar-5";N;s:9:"sidebar-6";N;s:9:"sidebar-7";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1175, 'esplanade_theme_options', 'a:80:{s:16:"home_page_layout";s:4:"grid";s:18:"home_page_excerpts";i:2;s:6:"slider";b:1;s:8:"location";b:1;s:11:"breadcrumbs";b:1;s:8:"lightbox";b:1;s:26:"esplanade_archive_location";b:1;s:16:"posts_nav_labels";s:9:"next/prev";s:15:"fancy_dropdowns";b:1;s:8:"post_nav";b:0;s:8:"facebook";b:1;s:7:"twitter";b:1;s:6:"google";b:1;s:9:"pinterest";b:1;s:10:"author_box";b:1;s:16:"copyright_notice";s:20:"© %year% %blogname%";s:17:"theme_credit_link";b:1;s:18:"author_credit_link";b:0;s:21:"wordpress_credit_link";b:1;s:6:"layout";s:15:"content-sidebar";s:13:"header_height";i:100;s:12:"sidebar_size";s:8:""29.48%"";s:18:"sidebar_right_size";s:8:""12.75%"";s:17:"sidebar_left_size";s:7:""17.4%"";s:12:"color_scheme";s:7:"neutral";s:8:"user_css";s:0:"";s:9:"body_font";s:10:"droid-sans";s:13:"headings_font";s:10:"droid-sans";s:12:"content_font";s:10:"droid-sans";s:14:"body_font_size";s:2:"13";s:19:"body_font_size_unit";s:2:"px";s:16:"body_line_height";s:4:"1.62";s:21:"body_line_height_unit";s:2:"em";s:12:"h1_font_size";s:2:"32";s:17:"h1_font_size_unit";s:2:"px";s:12:"h2_font_size";s:2:"24";s:17:"h2_font_size_unit";s:2:"px";s:12:"h3_font_size";s:2:"18";s:17:"h3_font_size_unit";s:2:"px";s:12:"h4_font_size";s:2:"16";s:17:"h4_font_size_unit";s:2:"px";s:20:"headings_line_height";s:4:"1.62";s:25:"headings_line_height_unit";s:2:"em";s:17:"content_font_size";s:2:"15";s:22:"content_font_size_unit";s:2:"px";s:19:"content_line_height";s:4:"1.62";s:24:"content_line_height_unit";s:2:"em";s:16:"mobile_font_size";s:2:"17";s:21:"mobile_font_size_unit";s:2:"px";s:18:"mobile_line_height";s:4:"1.62";s:23:"mobile_line_height_unit";s:2:"em";s:10:"body_color";s:4:"#333";s:14:"headings_color";s:4:"#333";s:13:"content_color";s:4:"#333";s:11:"links_color";s:7:"#21759b";s:17:"links_hover_color";s:7:"#d54e21";s:10:"menu_color";s:7:"#f0f0f0";s:16:"menu_hover_color";s:4:"#fff";s:13:"sidebar_color";s:4:"#aaa";s:19:"sidebar_title_color";s:4:"#aaa";s:19:"sidebar_links_color";s:7:"#7799aa";s:12:"footer_color";s:7:"#e0e0e0";s:18:"footer_title_color";s:7:"#e0e0e0";s:15:"copyright_color";s:4:"#999";s:21:"copyright_links_color";s:7:"#7799aa";s:19:"home_site_title_tag";s:2:"h1";s:19:"home_desc_title_tag";s:3:"div";s:19:"home_post_title_tag";s:2:"h2";s:22:"archive_site_title_tag";s:3:"div";s:22:"archive_desc_title_tag";s:3:"div";s:26:"archive_location_title_tag";s:2:"h1";s:22:"archive_post_title_tag";s:2:"h2";s:21:"single_site_title_tag";s:3:"div";s:21:"single_desc_title_tag";s:3:"div";s:21:"single_post_title_tag";s:2:"h1";s:25:"single_comments_title_tag";s:2:"h2";s:24:"single_respond_title_tag";s:2:"h2";s:16:"widget_title_tag";s:2:"h3";s:13:"submit-design";s:13:"Save Settings";s:14:"submit-general";s:13:"Save Settings";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1236, '_transient_timeout_catcheverest_inline_css', '1382604532', 'no'); +INSERT INTO `wp_2_options` VALUES (1237, '_transient_catcheverest_inline_css', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1238, '_transient_timeout_catcheverest_favicon', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1239, '_transient_catcheverest_favicon', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1240, '_transient_timeout_catcheverest_webmaster', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1241, '_transient_catcheverest_webmaster', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1242, '_transient_timeout_catcheverest_web_clip', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1243, '_transient_catcheverest_web_clip', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1244, '_transient_timeout_catcheverest_default_sliders', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1245, '_transient_catcheverest_default_sliders', '\n
\n \n
\n <\n >\n
\n
\n
', 'no'); +INSERT INTO `wp_2_options` VALUES (1246, '_transient_timeout_catcheverest_homepage_headline', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1247, '_transient_catcheverest_homepage_headline', '

Homepage Headline. You can edit or disable it through Theme Options.

', 'no'); +INSERT INTO `wp_2_options` VALUES (1248, '_transient_timeout_catcheverest_footer_content', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1249, '_transient_catcheverest_footer_content', '
Powered by: [wp-link] | Theme: [theme-link]
', 'no'); +INSERT INTO `wp_2_options` VALUES (1250, '_transient_timeout_catcheverest_footercode', '1382604533', 'no'); +INSERT INTO `wp_2_options` VALUES (1251, '_transient_catcheverest_footercode', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1254, '_transient_timeout_catchevolution_favicon', '1382604544', 'no'); +INSERT INTO `wp_2_options` VALUES (1255, '_transient_catchevolution_favicon', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1256, '_transient_timeout_catchevolution_site_verification', '1382604544', 'no'); +INSERT INTO `wp_2_options` VALUES (1257, '_transient_catchevolution_site_verification', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1258, '_transient_timeout_catchevolution_web_clip', '1382604544', 'no'); +INSERT INTO `wp_2_options` VALUES (1259, '_transient_catchevolution_web_clip', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1260, '_transient_timeout_catchevolution_default_sliders', '1382604544', 'no'); +INSERT INTO `wp_2_options` VALUES (1261, '_transient_catchevolution_default_sliders', '\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
', 'no'); +INSERT INTO `wp_2_options` VALUES (1262, '_transient_timeout_catchevolution_footer_content', '1382604544', 'no'); +INSERT INTO `wp_2_options` VALUES (1263, '_transient_catchevolution_footer_content', '
Powered by: [wp-link] | Theme: [theme-link]
', 'no'); +INSERT INTO `wp_2_options` VALUES (1264, '_transient_timeout_catchevolution_footercode', '1382604544', 'no'); +INSERT INTO `wp_2_options` VALUES (1265, '_transient_catchevolution_footercode', '', 'no'); +INSERT INTO `wp_2_options` VALUES (1296, 'cyberchimps_options', 'a:125:{s:17:"responsive_design";s:1:"1";s:17:"responsive_videos";b:0;s:16:"gallery_lightbox";b:0;s:12:"wide_sidebar";b:0;s:9:"max_width";s:4:"1020";s:22:"cyberchimps_skin_color";s:7:"default";s:16:"text_colorpicker";s:0:"";s:16:"link_colorpicker";s:0:"";s:22:"link_hover_colorpicker";s:0:"";s:18:"typography_options";a:4:{s:4:"size";s:4:"14px";s:4:"face";s:58:""Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif";s:5:"style";s:6:"normal";s:5:"color";s:0:"";}s:17:"google_font_field";s:5:"Arial";s:14:"font_demo_text";s:0:"";s:20:"font_family_headings";a:4:{s:4:"size";a:63:{i:0;i:9;i:1;i:10;i:2;i:11;i:3;i:12;i:4;i:13;i:5;i:14;i:6;i:15;i:7;i:16;i:8;i:17;i:9;i:18;i:10;i:19;i:11;i:20;i:12;i:21;i:13;i:22;i:14;i:23;i:15;i:24;i:16;i:25;i:17;i:26;i:18;i:27;i:19;i:28;i:20;i:29;i:21;i:30;i:22;i:31;i:23;i:32;i:24;i:33;i:25;i:34;i:26;i:35;i:27;i:36;i:28;i:37;i:29;i:38;i:30;i:39;i:31;i:40;i:32;i:41;i:33;i:42;i:34;i:43;i:35;i:44;i:36;i:45;i:37;i:46;i:38;i:47;i:39;i:48;i:40;i:49;i:41;i:50;i:42;i:51;i:43;i:52;i:44;i:53;i:45;i:54;i:46;i:55;i:47;i:56;i:48;i:57;i:49;i:58;i:50;i:59;i:51;i:60;i:52;i:61;i:53;i:62;i:54;i:63;i:55;i:64;i:56;i:65;i:57;i:66;i:58;i:67;i:59;i:68;i:60;i:69;i:61;i:70;i:62;i:71;}s:4:"face";s:28:"Arial, Helvetica, sans-serif";s:5:"style";s:6:"Normal";s:5:"color";s:0:"";}s:20:"google_font_headings";s:5:"Arial";s:20:"header_section_order";a:1:{i:0;s:26:"cyberchimps_header_content";}s:15:"custom_logo_url";b:0;s:20:"custom_logo_url_link";s:30:"http://research.micropasts.org";s:11:"custom_logo";s:1:"1";s:20:"custom_logo_uploader";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:14:"custom_favicon";b:0;s:16:"favicon_uploader";s:0:"";s:12:"custom_apple";b:0;s:20:"apple_touch_uploader";s:0:"";s:16:"google_analytics";s:0:"";s:9:"searchbar";b:0;s:17:"theme_backgrounds";s:7:"default";s:15:"social_facebook";s:1:"1";s:12:"facebook_url";s:24:"http://www.facebook.com/";s:14:"social_twitter";s:1:"1";s:11:"twitter_url";s:23:"http://www.twitter.com/";s:13:"social_google";s:1:"1";s:10:"google_url";s:22:"http://www.google.com/";s:15:"social_linkedin";b:0;s:12:"linkedin_url";s:24:"http://www.linkedin.com/";s:14:"social_youtube";b:0;s:11:"youtube_url";s:23:"http://www.youtube.com/";s:13:"social_flickr";b:0;s:10:"flickr_url";s:22:"http://www.flickr.com/";s:16:"social_pinterest";b:0;s:13:"pinterest_url";s:25:"http://www.pinterest.com/";s:17:"social_googlemaps";b:0;s:14:"googlemaps_url";s:27:"http://www.maps.google.com/";s:12:"social_email";b:0;s:9:"email_url";s:0:"";s:10:"social_rss";b:0;s:7:"rss_url";s:40:"http://research.micropasts.org/feed/rss/";s:18:"blog_section_order";a:3:{i:0;s:11:"slider_lite";i:1;s:10:"boxes_lite";i:2;s:14:"blog_post_page";}s:14:"sidebar_images";s:13:"right_sidebar";s:10:"blog_title";b:0;s:15:"blog_title_text";s:8:"Our Blog";s:17:"post_format_icons";b:0;s:13:"post_excerpts";b:0;s:19:"blog_read_more_text";s:12:"Read More...";s:19:"blog_excerpt_length";s:2:"55";s:20:"post_featured_images";s:1:"1";s:18:"post_byline_author";s:1:"1";s:22:"post_byline_categories";s:1:"1";s:16:"post_byline_date";s:1:"1";s:20:"post_byline_comments";s:1:"1";s:16:"post_byline_tags";s:1:"1";s:13:"boxes_upgrade";s:0:"";s:37:"cyberchimps_blog_boxes_lite_image_one";s:95:"http://research.micropasts.org/wp-content/themes/neuro/elements/lib/images/boxes/slidericon.png";s:35:"cyberchimps_blog_boxes_link_url_one";s:20:"http://wordpress.org";s:42:"cyberchimps_blog_boxes_lite_image_one_text";s:298:"Alto ventos est coeptis utque fecit. Phoebe sine circumfuso arce. Tanto aliis. Matutinis cornua origo formaeque animal mundo. Chaos: fabricator. Natura mundo caesa addidit.\r\n Cuncta habendum meis omni ille formaeque emicuit septemque et. Lege fecit aethere porrexerat gentes horrifer formas.";s:37:"cyberchimps_blog_boxes_lite_image_two";s:94:"http://research.micropasts.org/wp-content/themes/neuro/elements/lib/images/boxes/blueprint.png";s:35:"cyberchimps_blog_boxes_link_url_two";s:20:"http://wordpress.org";s:42:"cyberchimps_blog_boxes_lite_image_two_text";s:298:"Alto ventos est coeptis utque fecit. Phoebe sine circumfuso arce. Tanto aliis. Matutinis cornua origo formaeque animal mundo. Chaos: fabricator. Natura mundo caesa addidit.\r\n Cuncta habendum meis omni ille formaeque emicuit septemque et. Lege fecit aethere porrexerat gentes horrifer formas.";s:39:"cyberchimps_blog_boxes_lite_image_three";s:89:"http://research.micropasts.org/wp-content/themes/neuro/elements/lib/images/boxes/docs.png";s:37:"cyberchimps_blog_boxes_link_url_three";s:20:"http://wordpress.org";s:44:"cyberchimps_blog_boxes_lite_image_three_text";s:298:"Alto ventos est coeptis utque fecit. Phoebe sine circumfuso arce. Tanto aliis. Matutinis cornua origo formaeque animal mundo. Chaos: fabricator. Natura mundo caesa addidit.\r\n Cuncta habendum meis omni ille formaeque emicuit septemque et. Lege fecit aethere porrexerat gentes horrifer formas.";s:17:"portfolio_upgrade";s:0:"";s:41:"cyberchimps_blog_portfolio_lite_image_one";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:49:"cyberchimps_blog_portfolio_lite_image_one_caption";s:11:"CyberChimps";s:42:"cyberchimps_blog_portfolio_link_toggle_one";b:0;s:39:"cyberchimps_blog_portfolio_link_url_one";s:22:"http://cyberchimps.com";s:41:"cyberchimps_blog_portfolio_lite_image_two";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:49:"cyberchimps_blog_portfolio_lite_image_two_caption";s:11:"CyberChimps";s:42:"cyberchimps_blog_portfolio_link_toggle_two";b:0;s:39:"cyberchimps_blog_portfolio_link_url_two";s:22:"http://cyberchimps.com";s:43:"cyberchimps_blog_portfolio_lite_image_three";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:51:"cyberchimps_blog_portfolio_lite_image_three_caption";s:11:"CyberChimps";s:44:"cyberchimps_blog_portfolio_link_toggle_three";b:0;s:41:"cyberchimps_blog_portfolio_link_url_three";s:22:"http://cyberchimps.com";s:42:"cyberchimps_blog_portfolio_lite_image_four";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:50:"cyberchimps_blog_portfolio_lite_image_four_caption";s:11:"CyberChimps";s:43:"cyberchimps_blog_portfolio_link_toggle_four";b:0;s:40:"cyberchimps_blog_portfolio_link_url_four";s:22:"http://cyberchimps.com";s:39:"cyberchimps_blog_portfolio_title_toggle";s:1:"1";s:32:"cyberchimps_blog_portfolio_title";s:9:"Portfolio";s:14:"slider_upgrade";s:0:"";s:15:"image_one_slide";s:81:"http://research.micropasts.org/wp-content/themes/neuro/images/branding/slide1.jpg";s:19:"image_one_slide_url";s:22:"http://cyberchimps.com";s:15:"image_two_slide";s:87:"http://research.micropasts.org/wp-content/themes/neuro/images/branding/defaultslide.jpg";s:19:"image_two_slide_url";s:22:"http://cyberchimps.com";s:17:"image_three_slide";s:87:"http://research.micropasts.org/wp-content/themes/neuro/images/branding/defaultslide.jpg";s:21:"image_three_slide_url";s:22:"http://cyberchimps.com";s:27:"single_post_sidebar_options";s:13:"right_sidebar";s:17:"single_post_title";s:1:"1";s:27:"single_post_featured_images";b:0;s:24:"single_post_format_icons";b:0;s:25:"single_post_byline_author";s:1:"1";s:29:"single_post_byline_categories";s:1:"1";s:23:"single_post_byline_date";s:1:"1";s:27:"single_post_byline_comments";s:1:"1";s:23:"single_post_byline_tags";s:1:"1";s:23:"archive_sidebar_options";s:13:"right_sidebar";s:20:"archive_format_icons";b:0;s:21:"archive_post_excerpts";b:0;s:23:"archive_featured_images";b:0;s:26:"archive_post_byline_author";s:1:"1";s:30:"archive_post_byline_categories";s:1:"1";s:24:"archive_post_byline_date";s:1:"1";s:28:"archive_post_byline_comments";s:1:"1";s:24:"archive_post_byline_tags";s:1:"1";s:22:"search_sidebar_options";s:13:"right_sidebar";s:20:"search_post_excerpts";b:0;s:21:"search_post_read_more";s:12:"Read More...";s:26:"search_post_excerpt_length";s:2:"55";s:21:"error_sidebar_options";s:10:"full_width";s:18:"error_custom_title";s:0:"";s:20:"error_custom_content";s:0:"";s:18:"footer_show_toggle";s:1:"1";s:21:"footer_copyright_text";s:42:"© Crowd and community-fuelled archaeology";s:11:"events_info";s:0:"";s:17:"digital_downloads";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1323, 'theme_mods_neuro', 'a:9:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:1:{s:7:"primary";i:0;}s:22:"cyberchimps_background";s:4:"none";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382523575;s:4:"data";a:4:{s:19:"wp_inactive_widgets";a:0:{}s:12:"sidebar-left";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:13:"sidebar-right";a:0:{}s:26:"cyberchimps-footer-widgets";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1359, 'theme_mods_the-bootstrap', 'a:10:{i:0;b:0;s:16:"header_textcolor";s:6:"565656";s:16:"background_color";s:6:"efefef";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:3:{s:11:"footer-menu";i:0;s:7:"primary";i:2;s:11:"header-menu";i:0;}s:12:"header_image";s:13:"remove-header";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382529686;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:4:"main";a:5:{i:0;s:17:"widget_sp_image-2";i:1;s:8:"search-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";i:4;s:6:"meta-2";}s:5:"image";a:0:{}}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1360, 'the_bootstrap_theme_options', 'a:5:{s:12:"theme_layout";s:15:"content-sidebar";s:16:"navbar_site_name";b:0;s:17:"navbar_searchform";b:0;s:14:"navbar_inverse";b:1;s:15:"navbar_position";s:16:"navbar-fixed-top";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1706, 'optionsframework_tiga', 'a:9:{s:19:"tiga_iframe_blocker";s:7:"disable";s:12:"tiga_layouts";s:8:"lcontent";s:17:"tiga_home_layouts";s:7:"one-col";s:12:"tiga_pattern";s:9:"pattern-0";s:23:"tiga_disable_typography";s:1:"1";s:17:"tiga_content_font";a:4:{s:4:"size";s:4:"13px";s:4:"face";s:23:""Open Sans", sans-serif";s:5:"style";s:6:"Normal";s:5:"color";s:7:"#333333";}s:17:"tiga_heading_font";a:4:{s:4:"size";s:4:"13px";s:4:"face";s:26:""Francois One", sans-serif";s:5:"style";s:6:"Normal";s:5:"color";s:7:"#333333";}s:17:"tiga_social_share";s:9:"tiga_post";s:15:"tiga_custom_css";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1709, 'theme_mods_tiga', 'a:10:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:69:"http://research.micropasts.org/wp-content/themes/tiga/img/pattern.png";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:2:{s:7:"primary";i:2;s:9:"secondary";i:0;}s:12:"header_image";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg";s:17:"header_image_data";a:5:{s:13:"attachment_id";i:123;s:3:"url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg";s:13:"thumbnail_url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg";s:5:"width";i:1015;s:6:"height";i:657;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382525801;s:4:"data";a:6:{s:19:"wp_inactive_widgets";a:0:{}s:7:"primary";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:10:"subsidiary";a:0:{}s:13:"above-content";N;s:13:"below-content";N;s:4:"home";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1829, 'widget_widget_sp_image', 'a:3:{i:2;a:12:{s:5:"title";s:0:"";s:11:"description";s:0:"";s:4:"link";s:0:"";s:10:"linktarget";s:5:"_self";s:5:"width";i:386;s:6:"height";i:250;s:4:"size";s:6:"medium";s:5:"align";s:6:"center";s:3:"alt";s:0:"";s:8:"imageurl";s:77:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_21.jpg";s:12:"aspect_ratio";d:1.544;s:13:"attachment_id";i:121;}i:3;a:12:{s:5:"title";s:0:"";s:11:"description";s:0:"";s:4:"link";s:0:"";s:10:"linktarget";s:5:"_self";s:5:"width";i:1015;s:6:"height";i:657;s:4:"size";s:4:"full";s:5:"align";s:4:"none";s:3:"alt";s:0:"";s:8:"imageurl";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs128.jpg";s:12:"aspect_ratio";d:1.5449010654490107;s:13:"attachment_id";i:127;}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2070, 'responsive_theme_options', 'a:33:{s:20:"blog_post_title_text";s:0:"";s:10:"front_page";i:1;s:13:"home_headline";s:39:"Crowd and community-fuelled archaeology";s:16:"home_subheadline";s:13:"Research blog";s:17:"home_content_area";N;s:7:"cta_url";N;s:8:"cta_text";N;s:16:"featured_content";N;s:26:"static_page_layout_default";s:20:"content-sidebar-page";s:26:"single_post_layout_default";s:20:"content-sidebar-page";s:31:"blog_posts_index_layout_default";s:20:"content-sidebar-page";s:11:"twitter_uid";s:30:"https://twitter.com/micropasts";s:12:"facebook_uid";s:35:"https://www.facebook.com/Micropasts";s:12:"linkedin_uid";s:0:"";s:11:"youtube_uid";s:0:"";s:11:"stumble_uid";s:0:"";s:7:"rss_uid";s:0:"";s:15:"google_plus_uid";s:0:"";s:13:"instagram_uid";s:0:"";s:13:"pinterest_uid";s:0:"";s:8:"yelp_uid";s:0:"";s:9:"vimeo_uid";s:0:"";s:14:"foursquare_uid";s:0:"";s:6:"submit";s:12:"Save Options";s:21:"responsive_inline_css";s:0:"";s:25:"responsive_inline_js_head";s:0:"";s:27:"responsive_inline_js_footer";s:0:"";s:24:"google_site_verification";s:0:"";s:22:"bing_site_verification";s:0:"";s:23:"yahoo_site_verification";s:0:"";s:23:"site_statistics_tracker";s:0:"";s:10:"breadcrumb";i:0;s:10:"cta_button";i:0;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2282, 'ga_enable_remarketing', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (2283, 'key_ga_track_login', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (2288, 'wsl_settings_Facebook_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2289, 'wsl_settings_Facebook_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2290, 'wsl_settings_Google_app_id', '158626934723.apps.googleusercontent.com', 'yes'); +INSERT INTO `wp_2_options` VALUES (2291, 'wsl_settings_Google_app_secret', 'xZAzymXqRTJoSuSamru3VTc0', 'yes'); +INSERT INTO `wp_2_options` VALUES (2292, 'wsl_settings_Twitter_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2293, 'wsl_settings_Twitter_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2294, 'wsl_settings_Live_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2295, 'wsl_settings_Live_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2296, 'wsl_settings_Live_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2297, 'wsl_settings_Yahoo_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2298, 'wsl_settings_MySpace_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2299, 'wsl_settings_MySpace_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2300, 'wsl_settings_MySpace_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2301, 'wsl_settings_Foursquare_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2302, 'wsl_settings_Foursquare_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2303, 'wsl_settings_Foursquare_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2304, 'wsl_settings_LinkedIn_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2305, 'wsl_settings_LinkedIn_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2306, 'wsl_settings_LinkedIn_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2307, 'wsl_settings_AOL_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2308, 'wsl_settings_Vkontakte_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2309, 'wsl_settings_Vkontakte_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2310, 'wsl_settings_Vkontakte_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2311, 'wsl_settings_LastFM_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2312, 'wsl_settings_LastFM_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2313, 'wsl_settings_LastFM_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2314, 'wsl_settings_Instagram_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2315, 'wsl_settings_Instagram_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2316, 'wsl_settings_Instagram_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2317, 'wsl_settings_Identica_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2318, 'wsl_settings_Identica_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2319, 'wsl_settings_Identica_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2320, 'wsl_settings_Tumblr_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2321, 'wsl_settings_Tumblr_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2322, 'wsl_settings_Tumblr_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2323, 'wsl_settings_Goodreads_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2324, 'wsl_settings_Goodreads_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2325, 'wsl_settings_Goodreads_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2326, 'wsl_settings_Stackoverflow_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2327, 'wsl_settings_GitHub_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2328, 'wsl_settings_GitHub_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2329, 'wsl_settings_GitHub_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2330, 'wsl_settings_500px_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2331, 'wsl_settings_500px_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2332, 'wsl_settings_500px_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2333, 'wsl_settings_Skyrock_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2334, 'wsl_settings_Skyrock_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2335, 'wsl_settings_Skyrock_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2336, 'wsl_settings_Mixi_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2337, 'wsl_settings_Steam_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2338, 'wsl_settings_TwitchTV_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2339, 'wsl_settings_TwitchTV_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2340, 'wsl_settings_TwitchTV_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2341, 'wsl_settings_Mailru_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2342, 'wsl_settings_Mailru_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2343, 'wsl_settings_Mailru_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2344, 'wsl_settings_Yandex_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2345, 'wsl_settings_Yandex_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2346, 'wsl_settings_Yandex_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2347, 'wsl_settings_Odnoklassniki_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2348, 'wsl_settings_Odnoklassniki_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2349, 'wsl_settings_Odnoklassniki_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2810, 'ep_exclude_pages', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2862, '_transient_timeout_feed_335a35241a7842ce03ebbe3194d0623b', '1382817070', 'no'); +INSERT INTO `wp_2_options` VALUES (2863, '_transient_feed_335a35241a7842ce03ebbe3194d0623b', '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:33:"\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:57:"link:http://research.micropasts.org/ - 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://research.micropasts.org/&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:88:"Your search - link:http://research.micropasts.org/ - did not match any documents.";s: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: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: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:10:{s:12:"content-type";s:28:"text/xml; charset=ISO-8859-1";s:4:"date";s:29:"Sat, 26 Oct 2013 07:51:35 GMT";s:7:"expires";s:2:"-1";s:13:"cache-control";s:18:"private, max-age=0";s:10:"set-cookie";a:2:{i:0;s:143:"PREF=ID=9d0c1cd95bc7942a:FF=0:TM=1382773895:LM=1382773895:S=6h54b0m84BoC1F-v; expires=Mon, 26-Oct-2015 07:51:35 GMT; path=/; domain=.google.com";i:1;s:212:"NID=67=qsMhavkBafPw0ZD-xJ9Z19ju5ECQbYGcO1kbEqWQXCBQzK7q2--qtNjGrDqx-XCQOGww2fPnmYNH8Q1zw7xZhzhaC1aYdF5w5eSFF0QR9k9lCaCytCI63_-FuRZPSp3e; expires=Sun, 27-Apr-2014 07:51:35 GMT; path=/; domain=.google.com; HttpOnly";}s:3:"p3p";s:122:"CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."";s:6:"server";s:3:"gws";s:16:"x-xss-protection";s:13:"1; mode=block";s:15:"x-frame-options";s:10:"SAMEORIGIN";s:18:"alternate-protocol";s:7:"80:quic";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_2_options` VALUES (2864, '_transient_timeout_feed_mod_335a35241a7842ce03ebbe3194d0623b', '1382817070', 'no'); +INSERT INTO `wp_2_options` VALUES (2865, '_transient_feed_mod_335a35241a7842ce03ebbe3194d0623b', '1382773870', 'no'); +INSERT INTO `wp_2_options` VALUES (2866, '_transient_timeout_dash_20494a3d90a6669585674ed0eb8dcd8f', '1382817070', 'no'); +INSERT INTO `wp_2_options` VALUES (2867, '_transient_dash_20494a3d90a6669585674ed0eb8dcd8f', '

This dashboard widget queries Google Blog Search so that when another blog links to your site it will show up here. It has found no incoming links… yet. It’s okay — there is no rush.

\n', 'no'); +INSERT INTO `wp_2_options` VALUES (2869, '_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1382817071', 'no'); +INSERT INTO `wp_2_options` VALUES (2870, '_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:51:"\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:"Thu, 24 Oct 2013 22:40:34 +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: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:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/?v=3.8-alpha";s: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:42:"\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:25:"WordPress 3.7 “Basieâ€";s: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://wordpress.org/news/2013/10/basie/";s: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:49:"http://wordpress.org/news/2013/10/basie/#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, 24 Oct 2013 22:35: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: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=2736";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:357:"Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones: Updates while you sleep: With WordPress 3.7, you don’t have to lift a finger 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: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:17229:"

Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones:

\n\n

For developers there are lots of options around how to control the new updates feature, including allowing it to handle major upgrades as well as minor ones, more sophisticated date query support, and multisite improvements. As always, if you’re hungry for more dive into the Codex or browse the over 400 closed tickets on Trac.

\n

A New Wave

\n

This release was led by Andrew Nacin, backed up by Dion Hulse and Jon Cave. This is our first release using the new plugin-first development process, with a much shorter timeframe than in the past. (3.6 was released in August.) The 3.8 release, due in December, will continue this plugin-led development cycle that gives much more autonomy to plugin leads and allows us to decouple feature development from a release. You can follow this grand experiment, and what we’re learning from it, on the make/core blog. There are 211 contributors with props in this release:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, adamsilverstein, Alexander Hoereth, Alex Mills (Viper007Bond), Amy Hendrix (sabreuse), andg, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Spittle, askapache, atimmer, Barry, Beau Lebens, ben.moody, Ben Miller, Bernhard Riedl, BFTrick, Billy (bananastalktome), bmb, Brandon Kraft, brianhogg, Brian Richards, Bryan Petty, Carl Danley, CharlesClarkson, Chip Bennett, Chouby, Chris Olbekson, Chris Rudzki, coderaaron, Coen Jacobs, Colin Robinson, cyonite, Daan Kortenbach, Daniel Bachhuber, Daniel Convissor, dartiss, Daryl Koopersmith, Dave Ross, David Laietta, Dion Hulse, dllh, Dominik Schilling (ocean90), dpash, Drew Jaynes, DrProtocols, Dustin Filippini, dzver, Edward Caissie, enej, Eric Andrew Lewis, Eric Mann, Evan Solomon, faishal, Faison, Foofy, Frankie Jarrett, Frank Klein, Gary Cao, Gary Pendergast, Gaya Kessler, George Stephanis, Gizburdt, goldenapples, gradyetc, Gregory Cornelius, Gustavo Bordoni, hakre, Helen Hou-Sandi, Ian Dunn, Ipstenu (Mika Epstein), itinerant, J.D. Grimes, jakub.tyrcha, James Collins, Jen Mylo, Jeremy Buller, Jeremy Felt, Jesper Johansen (jayjdk), Joe Hoyle, Joey Kudish, John Beales, John Blackbourn (johnbillion), John Fish, John James Jacoby, John P. Bloch, Jonas Bolinder (jond3r), Jonathan Christopher, Jonathan Desrosiers, Jon Cave, Jon Lynch, Joost de Valk, Joseph Scott, Josh Betz, Justin de Vesine, Justin Sainton, K.Adam White, Kailey (trepmal), Ketwaroo, kevinB, Kim Parsell, kitchin, Konstantin Kovshenin, Konstantin Obenland, koopersmith, Kurt Payne, Lance Willett, Lee Willis (leewillis77), lessbloat, Lew Ayotte, Luke Gedeon, Marcin Pietrzak, Marco Cimmino, Marco Galasso, Mark Jaquith, Mark McWilliams, Marko Heijnen, Mel Choyce, Michael Beckwith, Mike Hansen, Mike Schinkel, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mr Papa, Naoko Takano, Naomi, Nashwan Doaqan, NateJacobs, nathanrice, Niall Kennedy, Nick Daugherty, Nick Halsey, Nick Momrik, Nikhil Vimal (NikV), Nikolay Bachiyski, noahsilverstein, nofearinc, nukaga, nullvariable, Oleg Butuzov, Paolo Belcastro, Parham, Paul Biron, Paul de Wouters, pavelevap, peterjaap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, plocha, Pollett, Ptah Dunbar, Rami Yushuvaev, Rasheed Bydousi, RayBernard, rboren, Reuben Gunday, rfair404, Richard Tape, Rick Radko, Robert Chapin, Robert Dall, Rodrigo Primo, Ron Rennick, rpattillo, Ryan Boren, Ryan McCue, Sam Hotchkiss, Scott Reilly, scottsweb, Scott Taylor, scribu, scruffian, Seisuke Kuraishi (tenpura), Sergey Biryukov, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, Stephanie Leary, Stephen Edgar (@netweb), Stephen Harris, strangerstudios, sweetie089, swissspidy, Takayuki Miyauchi, Takuma Morikawa, Taylor Lovett, tivnet, TobiasBg, Tom Auger, toscho, Travis Smith, Ulrich Sossou, vericgar, Vinod Dalvi, Weston Ruter, wikicms, Will Norris, Wojtek Szkutnik, wycks, Yoav Farhi, and Yuri Victor.

\n

Enjoy what may be one of your last few manual updates. See you soon for version 3.8!

\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:45:"http://wordpress.org/news/2013/10/basie/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:45:"\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:33:"WordPress 3.7 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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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:"Wed, 23 Oct 2013 00:05:30 +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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2729";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:417:"The second release candidate of WordPress 3.7 is now available for testing! Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta […]";s: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:1183:"

The second release candidate of WordPress 3.7 is now available for testing!

\n

Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta area in the support forums if you think you’ve found a bug, and if any known issues are raised, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 3.7. If there is a compatibility issue, let us know as soon as possible so we can deal with it before the final release.

\n

For more on WordPress 3.7, check out the announcement post for Release Candidate 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:73:"http://wordpress.org/news/2013/10/wordpress-3-7-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:2;a:6:{s:4:"data";s:45:"\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:18:"Upcoming WordCamps";s: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/2013/10/upcoming-wordcamps-4/";s: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/2013/10/upcoming-wordcamps-4/#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, 22 Oct 2013 19:25: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: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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2723";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:368:"WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s […]";s: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:"Jen Mylo";s: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:3584:"

WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s over. If there’s one near you, check it out! In addition to getting to know your local WordPress community, most WordCamps attract some traveling visitors a well, giving you the chance to meet contributors to the WordPress open source project and get involved yourself.

\n

Here are the WordCamps on the schedule for the rest of this year.

\n

October 25-27: WordCamp Boston, Boston, MA, USA
\nOctober 25-26: WordCamp Malaga, Spain
\nOctober 26: WordCamp Nepal, Kathmandu, Nepal
\nOctober 26: WordCamp Sofia, Bulgaria
\nNovember 7: WordCamp Cape Town, South Africa
\nNovember 9: WordCamp Porto, Portugal
\nNovember 9-10: WordCamp Kenya, Nairobi, Kenya
\nNovember 15: WordCamp Edmonton, AB, Canada
\nNovember 16-17: WordCamp Orlando, FL, USA
\nNovember 16: WordCamp Denver, CO, USA
\nNovember 23-24: WordCamp London, UK
\nNovember 23-24: WordCamp Raleigh, NC, USA
\nNovember 23: WordCamp São Paulo, Brazil
\nDecember 14: WordCamp Las Vegas, NV, USA
\nDecember 14-15: WordCamp Sevilla, Spain

\n

No WordCamps on this list in your area? Not to worry! There are thriving WordPress meetups all over the world where you can meet like-minded people, and we maintain a library of WordCamp videos at WordPress.tv.

\n

Get Involved

\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: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/2013/10/upcoming-wordcamps-4/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:45:"\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.7 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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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:"Fri, 18 Oct 2013 19:52: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:8:"category";a:2:{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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2718";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:331:"The first release candidate for WordPress 3.7 is now available! In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, […]";s: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:2237:"

The first release candidate for WordPress 3.7 is now available!

\n

In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

WordPress 3.7 introduces automatic background updates for security and minor releases (like updating from 3.7 to 3.7.1). These are really easy to test  — RC 1 will update every 12 hours or so to the latest development version, and then email you the results. (You may get two emails: one for debugging, and one all users of 3.7 will receive.) If something went wrong, you can report it.

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 3.7 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 3.7, visit the awesome About screen in your dashboard ( → About in the toolbar). There, you can also see if your install is eligible for background updates. WordPress won’t automatically update, for example, if you’re using version control like Subversion or Git.

\n

Developers, please test your plugins and themes against WordPress 3.7, so that if there is a compatibility issue, we can figure it out before the final release. Make sure you post any issues to the support forums.

\n

WordPress three seven
\nA self-updating engine
\nLies beneath the hood

\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/2013/10/wordpress-3-7-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:4;a:6:{s:4:"data";s:45:"\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:20:"WordPress 3.7 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:55:"http://wordpress.org/news/2013/10/wordpress-3-7-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:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/news/2013/10/wordpress-3-7-beta-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:"Thu, 10 Oct 2013 21:28: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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2706";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:357:"WordPress 3.7 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. This has been a quiet beta period. We’re hoping to get some more testers for automatic background updates, which will occur for security and minor releases (like updating […]";s: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:2108:"

WordPress 3.7 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site.

\n

This has been a quiet beta period. We’re hoping to get some more testers for automatic background updates, which will occur for security and minor releases (like updating from 3.7 to 3.7.1). It’s really easy to test this, as Beta 2 will update each day to the latest development version and then email you the results. If something goes wrong, you can report it — it’s that simple. To get the beta, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip). Check out Dashboard → Updates to see if your install is eligible for background updates. WordPress won’t update if, for example, you’re using version control like SVN or Git.

\n

For more of what’s new in version 3.7, check out the Beta 1 blog post. In Beta 2, we further increased the stability of background updates and also added about 50 bug fixes, including a fix for Internet Explorer 11 in the visual editor.

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed.

\n

Happy testing!

\n

Beta 2 released
\nDotting i’s and crossing t’s

\nExpect RC next

\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/2013/10/wordpress-3-7-beta-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:5;a:6:{s:4:"data";s:45:"\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:20:"WordPress 3.7 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/2013/09/wordpress-3-7-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/2013/09/wordpress-3-7-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:"Sat, 28 Sep 2013 07:25: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:8:"category";a:2:{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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2688";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:339:"I’m pleased to announce the availability of WordPress 3.7 Beta 1. For WordPress 3.7 we decided to shorten the development cycle and focus on a few key improvements. We plan to release the final product in October, and then follow it in December with a jam-packed WordPress 3.8 release, which is already in development. Some […]";s: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:3684:"

I’m pleased to announce the availability of WordPress 3.7 Beta 1.

\n

For WordPress 3.7 we decided to shorten the development cycle and focus on a few key improvements. We plan to release the final product in October, and then follow it in December with a jam-packed WordPress 3.8 release, which is already in development. Some of the best stuff in WordPress 3.7 is subtle — by design! So let’s walk through what we’d love for you to test, just in time for the weekend.

\n

Automatic, background updates. 3.7 Beta 1 will keep itself updated. That’s right — you’ll be updated each night to the newest development build, and eventually to Beta 2. We’re working to provide as many installs as possible with fast updates to security releases of WordPress — and you can help us test by just installing Beta 1 on your server and seeing how it works!

\n

When you go to Dashboard → Updates, you’ll see a note letting you know whether your install is working for automatic updates. There are a few situations where WordPress can’t reliably and securely update itself. But if it can, you’ll get an email (sent to the ‘Admin Email’ on the General Settings page) after each update letting you know what worked and what didn’t. If it worked, great! If something failed, the email will suggest you make a post in the support forums or create a bug report.

\n

Here are some other things you should test out:

\n\n

This software is still in development, so we don’t recommend you run it on a production site. I’d suggest setting up a test site just to play with the new version. To test WordPress 3.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

As always, if you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a reproducible bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed so far.

\n

Happy testing!

\n

WordPress three seven
\nSaves your weary hand a click
\nUpdates while you sleep

\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/2013/09/wordpress-3-7-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:45:"\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:48:"WordPress 3.6.1 Maintenance and Security Release";s: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/2013/09/wordpress-3-6-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/2013/09/wordpress-3-6-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:"Wed, 11 Sep 2013 20:48: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: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=2675";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:353:"After nearly 7 million downloads of WordPress 3.6, we are pleased to announce the availability of version 3.6.1. This maintenance release fixes 13 bugs in version 3.6, which was a very smooth release. WordPress 3.6.1 is also a security release for all previous WordPress versions and we strongly encourage you to update your sites immediately. […]";s: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:2033:"

After nearly 7 million downloads of WordPress 3.6, we are pleased to announce the availability of version 3.6.1. This maintenance release fixes 13 bugs in version 3.6, which was a very smooth release.

\n

WordPress 3.6.1 is also a security release for all previous WordPress versions and we strongly encourage you to update your sites immediately. It addresses three issues fixed by the WordPress security team:

\n\n

Additionally, we’ve adjusted security restrictions around file uploads to mitigate the potential for cross-site scripting.

\n

We appreciated responsible disclosure of these issues directly to our security team. For more information on the changes, see the release notes or consult the list of changes.

\n

Download WordPress 3.6.1 or update now 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/2013/09/wordpress-3-6-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:7;a:6:{s:4:"data";s:42:"\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:25:"WordPress 3.6 “Oscarâ€";s: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://wordpress.org/news/2013/08/oscar/";s: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:49:"http://wordpress.org/news/2013/08/oscar/#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, 01 Aug 2013 21:43: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: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=2661";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:368:"The latest and greatest WordPress, version 3.6, is now live to the world and includes a beautiful new blog-centric theme, bullet-proof autosave and post locking, a revamped revision browser, native support for audio and video embeds, and improved integrations with Spotify, Rdio, and SoundCloud. Here’s a video that shows off some of the features using […]";s: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:18626:"

The latest and greatest WordPress, version 3.6, is now live to the world and includes a beautiful new blog-centric theme, bullet-proof autosave and post locking, a revamped revision browser, native support for audio and video embeds, and improved integrations with Spotify, Rdio, and SoundCloud. Here’s a video that shows off some of the features using our cast of professional actors:

\n
\n

We’re calling this release “Oscar” in honor of the great jazz pianist Oscar Peterson. Here’s a bit more about some of the new features, which you can also find on the about page in your dashboard after you upgrade.

\n

User Features

\n

\n\n

Developer features

\n\n

The Band

\n

This release was led by Mark Jaquith and Aaron Campbell, and included contributions from the following fine folks. Pull up some Oscar Peterson on your music service of choice, or vinyl if you have it, and check out some of their profiles:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, Adam Harley, adamsilverstein, AK Ted, Alex Concha, Alex King, Alex Mills (Viper007Bond), Amaury Balmer, Amy Hendrix (sabreuse), Anatol Broder, Andrew Nacin, Andrew Ozz, Andrew Ryno, Andy Skelton, Antonio, apimlott, awellis13, Barry, Beau Lebens, BelloSwan, bilalcoder, Billy (bananastalktome), bobbingwide, Bob Gregor, bradparbs, Brady Vercher, Brandon Kraft, Brian Layman, Brian Zeligson, Bryan Petty, Callum Macdonald, Carl Danley, Caspie, Charleston Software Associates, cheeserolls, Chip Bennett, Chris Olbekson, Christopher Cochran, Christopher Finke, Chris Wallace, Cor van Noorloos, crazycoders, Daniel Bachhuber, Daniel Dvorkin (MZAWeb), Daniel Jalkut (Red Sweater), daniloercoli, Danny de Haan, Dave Ross, David Favor, David Trower, David Williamson, Dion Hulse, dllh, Dominik Schilling (ocean90), dovyp, Drew Jaynes (DrewAPicture), dvarga, Edward Caissie, elfin, Empireoflight, Eric Andrew Lewis, Erick Hitter, Eric Mann, Evan Solomon, faishal, feedmeastraycat, Frank Klein, Franz Josef Kaiser, FStop, Gabriel Koen, Gary Cao, Gary Jones, gcorne, GeertDD, Gennady Kovshenin, George Stephanis, gish, Gregory Karpinsky, hakre, hbanken, hebbet, Helen Hou-Sandi, helgatheviking, hirozed, hurtige, hypertextranch, Ian Dunn, Ipstenu (Mika Epstein), jakub, James Michael DuPont, jbutkus, Jeremy Felt, Jerry Bates (JerrySarcastic), Jesper Johansen (Jayjdk), Joe Hoyle, Joen Asmussen, Joey Kudish, John Blackbourn (johnbillion), John James Jacoby, Jonas Bolinder (jond3r), Jonathan Desrosiers, Jon Bishop, Jon Cave, Jose Castaneda, Joseph Scott, Josh Visick, jrbeilke, jrf, Justin de Vesine, Justin Sainton, kadamwhite, Kailey (trepmal), karmatosed, Kelly Dwan, keoshi, Konstantin Kovshenin, Konstantin Obenland, ktdreyer, Kurt Payne, kwight, Lance Willett, Lee Willis (leewillis77), lessbloat, Mantas Malcius, Maor Chasen, Marcel Brinkkemper, MarcusPope, Mark-k, Mark Jaquith, Mark McWilliams, Marko Heijnen, Matt Banks, Matthew Boynes, MatthewRuddy, Matt Wiebe, Max Cutler, Mel Choyce, mgibbs189, Michael, Michael Adams (mdawaffe), Michael Beckwith, Michael Fields, Mike Hansen, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mohammad Jangda, najamelan, Naoko Takano, Nashwan Doaqan, Niall Kennedy, Nick Daugherty, Nick Halsey, ninnypants, norcross, ParadisePorridge, Paul, Paul Clark, pavelevap, Pete Mall, Peter Westwood, Phill Brown, Pippin Williamson, Pollett, Prasath Nadarajah, programmin, rachelbaker, Rami Yushuvaev, redpixelstudios, reidburke, retlehs, Reuben Gunday, rlerdorf, Rodrigo Primo, roulandf, rovo89, Ryan Duff, Ryan Hellyer, Ryan McCue, Safirul Alredha, sara cannon, scholesmafia, Scott Kingsley Clark, Scott Reilly, Scott Taylor, scribu, Seisuke Kuraishi (tenpura), Sergej, Sergey Biryukov, Simon Hampel, Simon Wheatley, Siobhan, sirzooro, slene, solarissmoke, SriniG, Stephen Harris, storkontheroof, Sunny Ratilal, sweetie089, Tar, Taylor Lovett, Thomas van der Beek, Tim Carr, tjsingleton, TobiasBg, toscho, Tracy Rotton, TravisHoffman, uuf6429, Vitor Carvalho, wojtek, wpewill, WraithKenny, wycks, Xavier Borderie, Yoav Farhi, Zachary Brown, Zack Tollman, zekeweeks, ziegenberg, and viniciusmassuchetto.

\n

Time to upgrade!

\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:45:"http://wordpress.org/news/2013/08/oscar/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:45:"\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:33:"WordPress 3.6 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/2013/07/wordpress-3-6-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/2013/07/wordpress-3-6-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:"Wed, 24 Jul 2013 07:25: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:8:"category";a:2:{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: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=2649";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 second release candidate for WordPress 3.6 is now available for download and testing. We’re down to only a few remaining issues, and the final release should be available in a matter of days. In RC2, we’ve tightened up some aspects of revisions, autosave, and the media player, and fixed some bugs that were spotted […]";s: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:1325:"

The second release candidate for WordPress 3.6 is now available for download and testing.

\n

We’re down to only a few remaining issues, and the final release should be available in a matter of days. In RC2, we’ve tightened up some aspects of revisions, autosave, and the media player, and fixed some bugs that were spotted in RC1. Please test this release candidate as much as you can, so we can deliver a smooth final release!

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums.

\n

Developers, please continue to test your plugins and themes, so that if there is a compatibility issue, we can figure it out before the final release. You can find our list of known issues here.

\n

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

\n

Revisions so smooth
\nWe autosave your changes
\nData loss begone!

\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/2013/07/wordpress-3-6-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:9;a:6:{s:4:"data";s:45:"\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.6 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/2013/07/wordpress-3-6-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/2013/07/wordpress-3-6-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:"Sat, 13 Jul 2013 03:23: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:8:"category";a:2:{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: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=2639";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:344:"The first release candidate for WordPress 3.6 is now available. We hope to ship WordPress 3.6 in a couple weeks. But to do that, we really need your help! If you haven’t tested 3.6 yet, there’s no time like the present. (But please: not on a live production site, unless you’re feeling especially adventurous.) Think […]";s: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:1504:"

The first release candidate for WordPress 3.6 is now available.

\n

We hope to ship WordPress 3.6 in a couple weeks. But to do that, we really need your help! If you haven’t tested 3.6 yet, there’s no time like the present. (But please: not on a live production site, unless you’re feeling especially adventurous.)

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here. Developers, please test your plugins and themes, so that if there is a compatibility issue, we can sort it out before the final release.

\n

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

\n

As you may have heard, we backed the Post Format UI feature out of the release. On the other hand, our slick new revisions browser had some extra time to develop. You should see it with 200+ revisions loaded — scrubbing back and forth at lightning speed is a thing of beauty.

\n

Delayed, but still loved
\nThe release will be out soon
\nTest it, por favor

\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/2013/07/wordpress-3-6-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:"";}}}}}}}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:"Sat, 26 Oct 2013 07:51:36 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:"Thu, 24 Oct 2013 22:40:34 GMT";s:4:"x-nc";s:11:"HIT lax 249";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_2_options` VALUES (2871, '_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1382817071', 'no'); +INSERT INTO `wp_2_options` VALUES (2872, '_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1382773871', 'no'); +INSERT INTO `wp_2_options` VALUES (2873, '_transient_timeout_dash_4077549d03da2e451c8b5f002294ff51', '1382817071', 'no'); +INSERT INTO `wp_2_options` VALUES (2874, '_transient_dash_4077549d03da2e451c8b5f002294ff51', '
', 'no'); +INSERT INTO `wp_2_options` VALUES (2876, '_transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c', '1382817072', 'no'); +INSERT INTO `wp_2_options` VALUES (2877, '_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:61:"WordPress.tv: Coen Jacobs and Scott Basgaard: WooCommerce 2.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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24109";s: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:78:"http://wordpress.tv/2013/10/25/coen-jacobs-and-scott-basgaard-woocommerce-2-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:678:"
\n
\n
Coen Jacobs and Scott Basgaard: WooCommerce 2.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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 04:16: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:12:"WordPress.tv";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:73:"WPTavern: WPWeekly Episode 125 – Alex Denning And The Future Of WPShout";s: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:32:"http://www.wptavern.com/?p=10488";s: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:121:"http://feedproxy.google.com/~r/WordpressTavern/~3/BrQjYeCM2K0/wpweekly-episode-125-alex-denning-and-the-future-of-wpshout";s: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:3402:"

WordPress Weekly Cover ArtOn this weeks edition of the show, Alex Denning was my special guest along with the new owners of WPShout.com, Fred and David of PressUp Inc. In the show, Alex and I talk about the last four years of publishing content on WPShout.com, what types of opportunities it’s opened up for him, and what it took to put together his annual webhosting review posts. Later in the show, I was joined by David and Fred. We talked about their plans for WPShout.com, their WordPress background and if they have any plans to monetize the site. Since Alex is now going to be focusing on school and has sold his website, I want to take this opportunity to thank him personally for spending his time making WPShout a great resource in the WordPress community.

\n

If you will be attending WordCamp London in November, be sure to attend Alex’s session or at least say hi to him. It’s his first WordCamp and he’s speaking!

\n

Stories Discussed:

\n

WordPress 3.7 Released
\nDefinitive Guide For Disabling Updates
\nThe Menace Of Theme Creep
\nHow to find live examples of just about any WordPress theme

\n

WPWeekly Meta:

\n

Next Episode: Friday, November 1st 3 P.M. Eastern – Our special guest for next week’s episode will be Cory Miller of iThemes.com to talk about his experience of leading one of the most successful commercial WordPress theme businesses on the web.

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #125:
\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 01:10: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: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: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:92:"WordPress.tv: Nic Haralambous: Nicsocks: Selling Limited Edition Socks Online With 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:28:"http://wordpress.tv/?p=24156";s: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:108:"http://wordpress.tv/2013/10/25/nic-haralambous-nicsocks-selling-limited-edition-socks-online-with-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:733:"
\n
\n
Nic Haralambous: Nicsocks: Selling Limited Edition Socks Online With 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Oct 2013 20:38: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:12:"WordPress.tv";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:58:"WPTavern: WordPress Distraction Free Writing Mode Enhanced";s: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:32:"http://www.wptavern.com/?p=10409";s: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:110:"http://feedproxy.google.com/~r/WordpressTavern/~3/HM_lJnooDn8/wordpress-distraction-free-writing-mode-enhanced";s: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:4656:"

It’s easy to get distracted while writing posts. You’re in a browser and you probably have a few other tabs open with notifications beeping at you from every direction. On top of that, the WordPress post editor has a ton of meta boxes competing for your attention. With all of this going on, how can you focus on crafting beautiful words?

\n

The Distraction Free Writing Mode (DFWM) feature was introduced in WordPress 3.2, giving users the opportunity to find a zen place for writing while staying within the dashboard. It’s launched via the “fullscreen” button in the editor, whisking you away to a screen with an intentionally-limited button selection. These buttons fade away in the top menu as you begin composing. Here’s the default DFWM screen:

\n
WordPress Distraction Free Writing Mode

WordPress Distraction Free Writing Mode

\n

Enhance Distraction Free Writing Mode with the Visual Editor

\n

Many users love the minimalism of this screen and will write the text of their post but format it later within the regular post editor. Just Writing is a new plugin that aims to keep you in the DFWM for the entire writing and formatting process.

\n

Essentially, the plugin enhances DFWM by adding the visual editor to the top with the other buttons. It also disappears as per the normal behavior. Here’s a look at the enhanced version with all the extra buttons turned on:

\n

allthebuttons

\n

With the plugin installed you gain the “Undo” and “Redo” functions, text align, underline. proofreading and everything that you would expect with the visual editor. Beyond that, Just Writing also performs a few more subtle functions:

\n\n

Even if you’re not a fan of the visual editor buttons, the extra Preview button is a definite improvement over the DFWM in its default form. Installing the plugin also doesn’t universally apply the settings to all users. Each user is able to choose the buttons he wants to display to create his own zen writing place.

\n

Customize Your Distraction Free Writing Mode Experience

\n

Enhanced? Isn’t the point of the distraction free writing mode to get rid of everything and just write? Sure there are some of you out there who hate the visual editor with a passion, but there are also many who currently depend upon it.

\n

Just Writing isn’t an all-or-nothing plugin. It has an options panel where you can add or remove support for any of the visual editor buttons:

\n
Just Writing plugin options

Just Writing plugin options

\n

These options allow you to select the buttons that help you to stay in the flow while composing posts.

\n

Just Writing is available for free in the WordPress plugin repository. If you feel like the Distraction Free Writing Mode is missing a few functions, give this plugin a spin and see if it enhances your writing experience.

\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, 25 Oct 2013 20:21: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:67:"WPTavern: How to Configure Automatic Core Updates for WordPress 3.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:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10437";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/Bl1O4Pw_P3c/how-to-configure-automatic-core-updates-for-wordpress-3-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4272:"

So, how does this work?

So, how does this work?

Today following the release of WordPress 3.7 many users are wondering where the settings page is to configure these options. The answer is that there is no settings page in the WordPress admin. If you upgrade to WordPress 3.7, the default behavior is that you’ll be automatically upgraded for security and minor releases.

\n

The fact that it’s security and minor releases only is a very important distinction here. These generally do not break anyone’s website, plugin or themes. If you’re using a plugin that gets broken due to a security release, then that raises a red flag and a few questions about how that plugin is interacting with the WordPress core.

\n

If you want to make changes to WordPress default behavior of keeping your site current with security/minor releases, you will need to edit your wp-config.php file.

\n

I asked Andrew Nacin if there is a plan to expose the core update configuration options to the UI in the future. He replied that there is “no good reason for an opt-out UI now, but as we grow more confident, I imagine an opt-in UI for major versions could be next.” So maybe this is around the corner, but for now, read on to learn how to configure your updates.

\n

3 Basic Options for Core Updates in WordPress 3.7

\n

Let’s simplify things here. You basically have three options for WordPress core updates:

\n

1. Update the core for minor versions (on by default):

\n

If you’re running WordPress 3.7, there’s nothing you need to do to turn this on. You’ll be automatically updated for security and minor releases. Here’s what it would look like in wp-config.php:

\n
define( \'WP_AUTO_UPDATE_CORE\', \'minor\' );
\n

2. Disable all core updates:

\n

If you’re uncomfortable with WordPress keeping your site current with minor releases and security updates, here’s how you turn it off. Add this to your wp-config.php file:

\n
define( \'WP_AUTO_UPDATE_CORE\', false );
\n

However, I would encourage you to read this definitive guide from Nacin before turning off core updates completely.

\n

3. Get all updates, including development, major and minor releases:

\n

This is the cowboy option that is probably more likely something you’d want to enable on a personal blog. If you turn this on in wp-config.php, you’ll be automatically updated for every release that WordPress puts out:

\n
define( \'WP_AUTO_UPDATE_CORE\', true );
\n

You can also apply all of the above via new filters added in WordPress 3.7, as outlined in the codex article on Configuring Automatic Background Updates. Filters are also available for plugin, theme and translation updates should you want to add those in the mix, too.

\n

If you’re scratching your head and trying to get your brain around all of these options, wondering what to do, then just leave the default options in place and don’t mess with it. WordPress strongly discourages disabling the automatic security updates. These updates have been heavily tested and are quite safe. Getting hacked because you didn’t want to take security updates would be really lame. The best option is to leave security updates in place.

\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, 25 Oct 2013 16:37: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:62:"WPTavern: WordPress 3.7 Released: WordPress Now Updates Itself";s: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:32:"http://www.wptavern.com/?p=10414";s: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:113:"http://feedproxy.google.com/~r/WordpressTavern/~3/l-3I_2jNRJ4/wordpress-3-7-released-wordpress-now-updates-itself";s: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:4510:"

WordPress 3.7 has been released and the big news is that WordPress now has the ability to update itself. This begins a new era of automatic background updates for security and minor releases. Web hosts around the world have been eagerly awaiting this release and are cheering its arrival. The upgrade process has been greatly improved and boy is it ever solid:

\n

We ended the WordPress 3.7 beta cycle with 112,434 automatic background updates attempted and not a single critical failure.

\n

— Andrew Nacin (@nacin) October 25, 2013

\n

\n

Not a single critical failure. Try blaming Nacin for that, folks.

\n

WordPress 3.7 is dubbed Basie, after Count Basie, an American jazz pianist with an unparalleled talent for improvisation. He learned to improvise while playing along to silent films for a local movie theater. Before he was famous, Basie sharpened his improv skills by playing jazz piano at parties and resorts. He went on to create his own jazz orchestra and mentor many other musicians along the way.

\n

Count Basie

Count Basie

It seems fitting that this release honors Basie. The web is full of hackers who seek to exploit any vulnerability they can find in WordPress. Users have to be quick to improvise and secure our sites as soon as minor releases are shipped out. Automatic background updates give millions of users the ability to stay current with each security update. The beautiful thing is that it’s totally effortless on the part of the user.

\n

On the surface you won’t see too many flashy UI improvements, but under the hood you’ll find a better engine. When you search WordPress you’ll see better and more relevant results. Developers will be happy to find improved support for multisite, advanced date queries and a ton of new functions to play with. You can review every last detail on the dedicated 3.7 release page.

\n

wp-admin/about.php

wp-admin/about.php

WordPress 3.7 has a beautiful about.php page that you can only see if you upgrade. Hint, hint. It includes a live demo of the new password strength meter that will help you to create stronger passwords.

\n

This release also includes better global support for translations, meaning that it will automatically install language files and silently keep them up to date. There’s a trend here: WordPress is doing a lot more for you in the background so that you can focus on creating content. This sets the bar pretty high for what users can expect from their publishing software in the future.

\n

Now that WordPress can update itself, I am once again reminded that this software is a living, breathing thing. Andrew Nacin, Dion Hulse and Jon Cave had the help of 211 contributors in shipping 3.7. Hats off to these folks – they’ve worked hard and done well.

\n

Time to celebrate with a few tunes from Count Basie and his jazz orchestra to kick off your upgrades. By the way, if you’re configuring automatic updates for everything, this is the last time you’ll ever have to update WordPress manually.

\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Oct 2013 05:09: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:35:"Dev Blog: WordPress 3.7 “Basieâ€";s: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=2736";s: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://wordpress.org/news/2013/10/basie/";s: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:17220:"

Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones:

\n\n

For developers there are lots of options around how to control the new updates feature, including allowing it to handle major upgrades as well as minor ones, more sophisticated date query support, and multisite improvements. As always, if you’re hungry for more dive into the Codex or browse the over 400 closed tickets on Trac.

\n

A New Wave

\n

This release was led by Andrew Nacin, backed up by Dion Hulse and Jon Cave. This is our first release using the new plugin-first development process, with a much shorter timeframe than in the past. (3.6 was released in August.) The 3.8 release, due in December, will continue this plugin-led development cycle that gives much more autonomy to plugin leads and allows us to decouple feature development from a release. You can follow this grand experiment, and what we’re learning from it, on the make/core blog. There are 211 contributors with props in this release:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, adamsilverstein, Alexander Hoereth, Alex Mills (Viper007Bond), Amy Hendrix (sabreuse), andg, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Spittle, askapache, atimmer, Barry, Beau Lebens, ben.moody, Ben Miller, Bernhard Riedl, BFTrick, Billy (bananastalktome), bmb, Brandon Kraft, brianhogg, Brian Richards, Bryan Petty, Carl Danley, CharlesClarkson, Chip Bennett, Chouby, Chris Olbekson, Chris Rudzki, coderaaron, Coen Jacobs, Colin Robinson, cyonite, Daan Kortenbach, Daniel Bachhuber, Daniel Convissor, dartiss, Daryl Koopersmith, Dave Ross, David Laietta, Dion Hulse, dllh, Dominik Schilling (ocean90), dpash, Drew Jaynes, DrProtocols, Dustin Filippini, dzver, Edward Caissie, enej, Eric Andrew Lewis, Eric Mann, Evan Solomon, faishal, Faison, Foofy, Frankie Jarrett, Frank Klein, Gary Cao, Gary Pendergast, Gaya Kessler, George Stephanis, Gizburdt, goldenapples, gradyetc, Gregory Cornelius, Gustavo Bordoni, hakre, Helen Hou-Sandi, Ian Dunn, Ipstenu (Mika Epstein), itinerant, J.D. Grimes, jakub.tyrcha, James Collins, Jen Mylo, Jeremy Buller, Jeremy Felt, Jesper Johansen (jayjdk), Joe Hoyle, Joey Kudish, John Beales, John Blackbourn (johnbillion), John Fish, John James Jacoby, John P. Bloch, Jonas Bolinder (jond3r), Jonathan Christopher, Jonathan Desrosiers, Jon Cave, Jon Lynch, Joost de Valk, Joseph Scott, Josh Betz, Justin de Vesine, Justin Sainton, K.Adam White, Kailey (trepmal), Ketwaroo, kevinB, Kim Parsell, kitchin, Konstantin Kovshenin, Konstantin Obenland, koopersmith, Kurt Payne, Lance Willett, Lee Willis (leewillis77), lessbloat, Lew Ayotte, Luke Gedeon, Marcin Pietrzak, Marco Cimmino, Marco Galasso, Mark Jaquith, Mark McWilliams, Marko Heijnen, Mel Choyce, Michael Beckwith, Mike Hansen, Mike Schinkel, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mr Papa, Naoko Takano, Naomi, Nashwan Doaqan, NateJacobs, nathanrice, Niall Kennedy, Nick Daugherty, Nick Halsey, Nick Momrik, Nikhil Vimal (NikV), Nikolay Bachiyski, noahsilverstein, nofearinc, nukaga, nullvariable, Oleg Butuzov, Paolo Belcastro, Parham, Paul Biron, Paul de Wouters, pavelevap, peterjaap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, plocha, Pollett, Ptah Dunbar, Rami Yushuvaev, Rasheed Bydousi, RayBernard, rboren, Reuben Gunday, rfair404, Richard Tape, Rick Radko, Robert Chapin, Robert Dall, Rodrigo Primo, Ron Rennick, rpattillo, Ryan Boren, Ryan McCue, Sam Hotchkiss, Scott Reilly, scottsweb, Scott Taylor, scribu, scruffian, Seisuke Kuraishi (tenpura), Sergey Biryukov, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, Stephanie Leary, Stephen Edgar (@netweb), Stephen Harris, strangerstudios, sweetie089, swissspidy, Takayuki Miyauchi, Takuma Morikawa, Taylor Lovett, tivnet, TobiasBg, Tom Auger, toscho, Travis Smith, Ulrich Sossou, vericgar, Vinod Dalvi, Weston Ruter, wikicms, Will Norris, Wojtek Szkutnik, wycks, Yoav Farhi, and Yuri Victor.

\n

Enjoy what may be one of your last few manual updates. See you soon for version 3.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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 24 Oct 2013 22:35: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: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: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:83:"WPTavern: Disrupting The WordPress Commercial Theme Market – A 3themes Experiment";s: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:32:"http://www.wptavern.com/?p=10398";s: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:121:"http://feedproxy.google.com/~r/WordpressTavern/~3/w5xTWijIX1o/disrupting-the-commercial-theme-market-a-3themes-experiment";s: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:3501:"

3 themes splash pageThe questions are simple but the answers are not. Can a theme that is built for developers using best practices be successful in the commercial space? Can a commercial theme add value without adding functionality and bloat? Those are the questions that a trio of WordPress developers are going to try to answer with their 3them.es experiment.

\n

Michelle Schulp of Marktimemedia has published her experience at Pressnomics 2013 and the reasoning behind the new experiment. While at the event, she attended the Commercialization in the WordPress ecosystem panel session featuring business owners Pippin Williamson, Carl Hancock, Cory Miller, and Helen Souness. In that discussion, the following question was asked. How do you build a commercial digital product, especially one built using the GPL, that adds value in a way that is distinguishable from its competitors? According to Michelle, the panel was quick to dismiss commercial themes as being easily commoditized.

\n

After talking with a number of people at the conference, Michelle decided to partner with Kiko Doran, and Josh Broton to start the 3themes experiment.

\n

3themes is a unique collaboration because we will also be documenting it every step of the way: recording our weekly meetings on Google Hangout in the form of a podcast, blogging about our process on the website, hosting code on GitHub, voicing our thoughts on Twitter, etc. We want this not only to be a case study in the commercial theme marketplace, but in working as a small distributed team and problem solving just as we would for a client. The hope is to create some dialogue in the WordPress community, as well as just have some fun and see what great things we can build together.

\n

If you’re interested to see where this goes, check out the live Google hangout at 8:30 PM CST on Tuesday nights as they begin the process of experimentation by first building their website and brand.

\n

This is going to be an excellent experiment and I bet many are curious as to what the end result will be. If you remember, Justin Tadlock performed a similar experiment via ThemeForest with mildly successful results.

\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, 24 Oct 2013 21:21: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: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: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:105:"WordPress.tv: Brian Krogsgard and Pippin Williamson: WordPress Plugins, Code And The Ecosystem In General";s: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:28:"http://wordpress.tv/?p=24111";s: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:121:"http://wordpress.tv/2013/10/24/brian-krogsgard-and-pippin-williamson-wordpress-plugins-code-and-the-ecosystem-in-general/";s: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:759:"
\n
\n
Brian Krogsgard and Pippin Williamson: WordPress Plugins, Code And The Ecosystem In General
";s: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, 24 Oct 2013 20:37: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:"WordPress.tv";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:78:"WPTavern: Add Your Meetup Group to the Central WordPress Account on Meetup.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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10313";s: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:130:"http://feedproxy.google.com/~r/WordpressTavern/~3/o_k5yMGxjF4/add-your-meetup-group-to-the-central-wordpress-account-on-meetup-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2127:"

meetupsIf you run a local WordPress meetup, you’re invited to move it under the central WordPress account on meetup.com. Jen Mylo created a form where meetup coordinators can submit their meetup to be included. The awesome benefit is that WordPress will cover the meetup.com dues for your listing.

\n

Jen posted a number of simple guidelines that were created by active meetup group volunteers. Your group will have to fulfill these before submitting to the central account. I won’t list them all here, but this is a summary: Essentially, you can’t use your local meetup to pimp out your business or yourself. Leave Mr. Salesman at home and join a meetup to connect with other WordPress fans. Meetups are for the benefit of the community and polite and respectful behavior is expected. If you organize a meetup that qualifies, use the form to get in touch with Jen Mylo.

\n

A some point in the future, meetup group listings will most likely switch over to using SupportPress, as they do for WordCamps. For now, they’ll be consolidating all the meetups on meetup.com. Please note that the meetup interest form is not just for new meetup groups but is also available for existing WordPress meetups that want to transfer the group over to the central account.

\n

It’s very cool that WordPress is supporting local meetups by covering their meetup.com dues. Help spread the word to get this information out there to local meetup organizers that you know.

\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, 24 Oct 2013 19:33: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:69:"WPTavern: Jarvis: A Free Quicksearch Tool for the WordPress Dashboard";s: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:32:"http://www.wptavern.com/?p=10359";s: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://feedproxy.google.com/~r/WordpressTavern/~3/ntFV7bakzqY/jarvis-a-free-quicksearch-tool-for-the-wordpress-dashboard";s: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:3233:"

If you’ve ever used a WordPress site with thousands of posts and/or hundreds of pages, you might have found it a challenge to quickly navigate to the content you’re looking for. Jarvis is a new dashboard quicksearch plugin that addresses this very problem.

\n

jarvis

\n

Created by the folks at The Web Development Group, the Jarvis plugin lets you easily search anything that you’re looking for inside the WordPress admin area, including plugins, themes, content, settings pages and everything else.

\n

Jarvis is available on WordPress.org but it also has its own homepage where you can find a demo that shows how it works:

\n

jarvis-preview

\n

While different areas of the WordPress dashboard do include a search option, i.e. installed plugins or post content, there is no centralized search form to search everything. Ever install a plugin and then can’t, for the life of you, find its settings page? The Jarvis search helps you to instantly locate it. I can see how this could be very useful for a new user. For example, one might not know that the import feature is located under Tools. Using Jarvis he can quickly search and navigate to the import screen.

\n

There’s another similar tool out there called WP Butler, which also launches from the admin bar. I don’t know if Jarvis grabbed some inspiration from its code or not but the tools seem somewhat similar in that they both make it easier to get to pages in the WordPress admin.

\n

Beyond just helping you find things, the Jarvis plugin allows you to quickly zoom through the WordPress dashboard. For many, typing in a search box is second nature and much quicker than mousing around to the correct menu. Jarvis search appears to be lightning fast. This is one plugin that seems to be universally beneficial to both new and experienced WordPress users.

\n

The folks at The Web Development Group created Jarvis to fill a need they saw in the WordPress admin area. This tool is the first of many that they plan to release. You can download it for free at the WP Jarvis homepage or via the Add New plugins page within the WordPress admin.

\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, 24 Oct 2013 17:35: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:77:"WordPress.tv: Daniel Espinoza: Creating and Selling Premium WordPress 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:28:"http://wordpress.tv/?p=23010";s: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://wordpress.tv/2013/10/24/daniel-espinoza-creating-and-selling-premium-wordpress-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:710:"
\n
\n
Daniel Espinoza: Creating and Selling Premium WordPress 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:"Thu, 24 Oct 2013 14:33: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:68:"WPTavern: Pulse: An Example WordPress Plugin Using the Heartbeat API";s: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:32:"http://www.wptavern.com/?p=10304";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/HuYeePJabQ4/pulse-an-example-wordpress-plugin-using-the-heartbeat-api";s: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:3401:"

I’ve long been a fan of WordPress developer Jeffrey Pearce, better known online as Jeffikus. He’s created several educational resources for WordPress over the past few years. Today he released Pulse on github. Pulse is an open source plugin that will help developers get started with Heartbeat API development.

\n

photo credit: Lars P. via photopin cc

photo credit: Lars P. via photopin cc

\n

What is the WordPress Heartbeat API?

\n

The Heartbeat API was a new feature as of WordPress 3.6. It currently powers the autosave, post locking and log-in expiration warning that users receive while writing posts. This API works in the background to manage communication between a user’s browser and the server, enabling the creation of WordPress-powered asynchronous apps.

\n

Jeffikus’ Pulse plugin example demonstrates how to do two simple things:

\n\n

This plugin doesn’t actually perform any specific function, except to show you how you can interact with the WordPress Heartbeat API. It’s a learning tool to help developers get started building their own plugins.

\n

At the bottom of the Pulse plugin readme file on github Jeffikus includes a list of all the tutorials on the Heartbeat API that helped him to learn about it in the first place. If it wasn’t for other developers writing about what they are learning, he probably wouldn’t have had the inspiration to create this handy starter plugin. Hopefully, developers can use it to build something cool and help contribute back to the Heartbeat API documentation.

\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, 23 Oct 2013 22:04:46 +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:"Sarah Gooding";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:73:"WPTavern: Your Members Plugin Closes Its Doors, Releases Assets Under GPL";s: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:32:"http://www.wptavern.com/?p=10307";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/YCmv-tDNTiU/your-members-plugin-closes-its-doors-releases-assets-under-gpl";s: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:3069:"

Your Members LogoThe membership plugin Your Members has announced that they are ceasing operations. Your Members, which has been around since 2008, was one of the early successful commercial plugins in the membership space. The tale of the plugin’s demise is an interesting one because it has more to do with development than anything else.

\n

We started work on YM13 early this year and it became clear the new version wasn’t going to work with our current codebase. Indeed it reached the stage where even little changes are causing massive issues. So in August it was decided that we needed to make YM13 the last release on the current codebase and start on YMv2. I was rereading the blog posts that are sitting in drafts explaining where we were going and why, we never published them.

\n

It became clear it was just not financially feasible to build YMv2 we estimated it was 6 to 9 months work to do what we wanted to do properly and to do it we need to do it properly. We also believe we can’t continue to support and update the existing codebase.

\n

While the developers of Your Members received offers to be purchased, they declined them as they didn’t feel the buyer would provide the community with genuine support and were after their email list instead. Thus, it was decided that Your Members be withdrawn from the market and would no longer be for sale.

\n

One of the unique aspects of Your Members is that it contained a sunset clause. Now that the plugin has been withdrawn from the market, that clause has been invoked meaning everything in the Your Members download, including assets are available under the GPL license. Prior to closing, Your Members operated under a split license with the PHP licensed under the GPL and all other files under a different license. The plugin as well as the documentation will now live on Github.

\n

Is This The Way To Close a Business?

\n

It’s disappointing to see any business fold but I have to hand it to the folks behind Your Members. They are making everything open source and laying the ground work for anyone else who wants to try to pick up where they left off. How do you feel about the way they closed up shop?

\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, 23 Oct 2013 21:00: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: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: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:80:"WPTavern: WordPress Host WP Engine Will Not Support Automatic Background Updates";s: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:32:"http://www.wptavern.com/?p=10293";s: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:132:"http://feedproxy.google.com/~r/WordpressTavern/~3/1vIBBXFTK7M/wordpress-host-wp-engine-will-not-support-automatic-background-updates";s: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:5152:"

wpengineManaged updates have always been one of the main selling points for WP Engine’s WordPress hosting packages. Customers have the luxury of never having to update their own sites because WP Engine keeps them on the cutting edge:

\n

We keep your site secure without you having to think about it. Whenever WordPress issues a security update, we test it, and then proactively apply it to your site.

\n

However, the company announced today that it will not be offering support for WordPress’ new ability to update itself.

\n

WP Engine will not be supporting the background updates for WordPress. We will continue managing the updates for your installs, testing each release on our infrastructure, and fully managing the releases of the minor updates. For example, when there is a security update to WordPress, as soon as the patch is released, we’ll update all customer sites to ensure we continue to keep your sites safe and sound.

\n

\n

I asked WP Engine to clarify this statement. Does this mean that customers cannot enable automatic updates via the WP_AUTO_UPDATE_CORE define in wp-config.php? It seems that is the case. Their official policy is that automatic background updates will be disabled and customers will not be able to turn them on:

\n

The function will be disabled because when we update we also automatically create site backups for you.

\n

WP Engine will still continue to update customer sites as they always have. There’s no change here, but it is always interesting to note when a company restricts access to something that will soon be native to WordPress.

\n

Playing it Safe

\n

One huge advantage of enabling automatic background updates for WordPress is that a site can get those security improvements the very same day they are released with no waiting time. The same applies with major releases, plugins and themes, if one wants to live adventurously. However, if you host with WP Engine, you’ll have to settle with living on the safe side.

\n

WP Engine customers will either need to manually update their sites through the dashboard or wait for WP Engine to initiate those updates. The company tries to ship security updates out as soon as possible and these updates are usually applied within the same day. The reason for this is to keep customers from accidentally breaking their own sites without backing them up. WP Engine customers will be upgraded within a week or two of the 3.7 release, as per their announcement today. For many customers, this is exactly why they have chosen WP Engine. Not having to worry about testing major updates is a huge relief for WordPress site admins.

\n

The Future of Managed WordPress Hosting: A Growing List of Restrictions

\n

I am surprised that this popular WordPress hosting company is preventing its customers from taking advantage of one of the most exciting new features of WordPress 3.7. Although customers always have the freedom to manually update their sites early, they will not be permitted to allow WordPress to update itself. This makes sense as a company policy, but as a developer I can’t help but see it as a limitation.

\n

Why not allow developers to override the WP Engine restrictions via WP_AUTO_UPDATE_CORE in wp-config.php? Your average user isn’t likely to venture into this file to make any modifications, so it would be safe to assume that anyone who applied those settings knew what they were doing. The WP Engine infrastructure, however, does not allow for this.

\n

WP Engine does a lot of things right when it comes to speed and prioritizing the customer’s ability to have a development environment. The company is a proven and reliable WordPress host that I would recommend to anyone. For many customers, trading freedom for security is well worth it in order to have their sites fully “managed.”

\n

But what about the others who may want the freedom to let WordPress update itself? The company has very good reasons for limiting developers from doing this. But will the number of restrictions continue to grow? Managed WordPress hosts are a relatively new development in the marketplace of WordPress services. It will be interesting to see how their policies develop in relationship to WordPress core enhancements, which more often than not err on the side of giving more freedom to the user.

\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, 23 Oct 2013 19:13: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:13:"Sarah Gooding";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:63:"WPTavern: How To Navigate The WordPress Ecosystem As a New User";s: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:32:"http://www.wptavern.com/?p=10237";s: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:115:"http://feedproxy.google.com/~r/WordpressTavern/~3/gJiQc_Kl5ZA/how-to-navigate-the-wordpress-ecosystem-as-a-new-user";s: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:6305:"

The WordPress ecosystem is made up of thousands of websites, code repositories, blogs, forums, etc. To a new WordPress user, it can be intimidating or downright frustrating figuring out where to go. My goal with this post is to provide a map for those who are brand new to the world of WordPress to be able to navigate with confidence. I’ve personally experienced being in a city I’ve never been to before and not knowing which direction to travel to reach my destination. It’s a frustrating experience. This guide ought to alleviate those frustrations for WordPress first timers.

\n

Themes

\n

So the default theme isn’t your cup of tea. Before going to Google and searching for “free WordPress themes” head over to the WordPress Theme Repository. It’s the safest place to obtain a new design for your site. Themes that are added to the repository are scanned and go through a thorough checklist before they are accepted. All of the themes hosted on the repository are free of charge. If you want to know the reasons why using Google to find free WordPress themes is bad, watch this video by Leland of Themelab.com.

\n
\n

Plugins

\n

Much like the theme repository, WordPress has its own plugin repository filled to the brim with plugins to add functionality to your WordPress powered website. The WordPress plugin repository is the safest place to get code to add features to your website. Plugins are scanned and reviewed by volunteers before they are accepted into the repository. However, this does not guarantee that the code will function properly or is 100% secure for your website.

\n

Support

\n

The WordPress.org support forums enable the community to help each other. Creating an account is free of charge as is the support. The forums are staffed by volunteer moderators that do their best to help as many people as possibly every day. With so many people seeking help, you should exercise patience when using the forums.

\n

Documentation

\n

If you feel a little adventurous and want to try helping yourself first, you can visit the Codex. This Codex is like a repository for all of the detailed information for how WordPress works, inside and out. The main page of the Codex provides a number of great links to those starting out with WordPress.

\n

Learning WordPress Through Video

\n

While there is no official classroom to learn WordPress material, WordPress.org has the next best thing in WordPress.tv. WordPress.tv is the official website dedicated to WordPress that contains recorded sessions from WordCamps held all over the world. In fact, there is an entire how to section on the website dedicated to tutorial type videos.

\n
\n

Creative Inspiration

\n

If you’re not sure what WordPress is capable of or have run into a creative block, you should browse through the WordPress showcase. The showcase is a collection of websites that have taken WordPress to the next level. There are a lot of great looking designs as well to help provide inspiration.

\n

bbc on the WordPress showcase

\n

WordPress Face to Face

\n

While not officially a part of the WordPress.org project, Meetup.com is used by WordPress users all across the world to put together local meetups that bring like-minded people together. I’ve attended multiple WordPress meetups in my area and I’ve helped a lot of new WordPress users find their way. It’s one of the best forms of learning and getting WordPress help that I can imagine.

\n

Keeping Tabs On WordPress Development

\n

While there are not many posts on the official WordPress blog, it is where official news of releases are published.

\n

Installing WordPress On Your Phone

\n

There is an official WordPress app for most of the smart phone devices currently out on the market such as iOS devices, BlackBerry, and Android. If you’d like to install WordPress on your phone, be sure to check out the mobile section of the WordPress.org website to see if there is one available for your device.

\n

Wrap Up

\n

Now you might be wondering, why didn’t I include this site or that site when putting this guide together. The purpose of the guide is to provide a map that contains the essential information new users need to know. Using this knowledge as your foundation, you should find yourself more comfortable in the WordPress ecosystem. After getting to grips with WordPress, new users will expand beyond these pillars and discover the other resources that are on the web dedicated to WordPress. It doesn’t make sense to point new users into different directions when the above information is all they really need to get started.

\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, 23 Oct 2013 16:59: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: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: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:100:"WordPress.tv: Greg Douglas: Designing Awesome WordPress Websites For Small To Medium Size Businesses";s: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:28:"http://wordpress.tv/?p=23212";s: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/2013/10/23/greg-douglas-designing-awesome-wordpress-websites-for-small-to-medium-size-businesses/";s: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:750:"
\n
\n
Greg Douglas: Designing Awesome WordPress Websites For Small To Medium Size Businesses
";s: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, 23 Oct 2013 13:37: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:12:"WordPress.tv";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:65:"WordPress.tv: Ben Lobaugh: Taking Flight With JetPack 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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24051";s: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/2013/10/23/ben-lobaugh-taking-flight-with-jetpack-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:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:686:"
\n
\n
Ben Lobaugh: Taking Flight With JetPack 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:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Oct 2013 13:24:07 +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:"WordPress.tv";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:51:"WPTavern: Monitor WordCamps Online with WP Armchair";s: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:32:"http://www.wptavern.com/?p=10260";s: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:103:"http://feedproxy.google.com/~r/WordpressTavern/~3/fDHtRUBVmHs/monitor-wordcamps-online-with-wp-armchair";s: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:7386:"

WordCamp San Francisco on WP ArmchairDavid Bisset may have been the first person to coin the term “Armchair WordCampersâ€, referring to those who live vicariously through WordCamp attendees via Twitter. The concept sparked an idea for him and he decided to create WP Armchair for this very audience.

\n

His first version was actually created for the WordPress 10th Anniversary, a site he collaborated on with the WordPress Foundation.

\n

Bisset is a WordPress and BuddyPress developer. He also helps to organize WordCamp Miami. The inspiration for creating WP Armchair came from his experiences as an organizer and an attendee at WordCamps.

\n

I monitor WordCamps and conferences via Twitter hashtags and simply thought there was a better way. I notice that a lot of people are interested in monitoring conference activity as well. Even those that attend conferences – I see many of them with their laptops open to Tweetdeck or some Twitter client. I figured there should be a better way, especially since social networks like Instagram are becoming more popular.

\n

On top of that, as a WordPress developer, I wanted the solution running on WordPress. And instead of passively showing pictures and tweets, the site would naturally store these as custom post types. So it serves as an archive of the conference.

\n

In a way, the WP Armchair websites are chronicling the history of these WordPress events as seen through their respective hashtags on Twitter, Instagram, Vine and Flickr. Right now, each event is a separate site but Bisset said that he’s likely to combine them all into a multisite installation somewhere in the near future.

\n

WP Armchair Monitoring WordCamp Europe

WP Armchair Monitoring WordCamp Europe

When WP Armchair monitored WordCamp San Francisco the site was able to aggregate 1,600 tweets and 1,020 photos. For WordCamp Europe, the site captured even more – in the end it was 4,223 tweets and 1,500 photos. WordPress fans monitoring from afar were able to get a taste of how awesome these events were and perhaps even resolve to attend next year.

\n

What Plugins Make WP Armchair Work?

\n

If you visit any of the WP Armchair sites you’ll see support for videos, pictures, embedded tweets, post favoriting and more. There’s a lot going on behind the scenes to bring all of this event information into the site.

\n

I asked Bisset to tell me about some of the important plugins he uses to make WP Armchair work and he gave us a look behind the scenes.

\n

I wrote three plugins that scanned Twitter, Instagram, and Flickr for tweets, photos, and videos based on a hashtag and saved them as custom post types. These make up the bulk of the site, but I also used the following plugins:

\n

Bulk Delete – comes in handy when you want to get rid of alot of tweets or instragram posts that aren’t related to the conference (maybe you used a bad keyword or hashtag). Since tweets can come in 30 or 40 at a time, this plugin does save a little bit of time.

\n

Love It Pro – was great to drop in and give site visitors the ability to mark posts as favorites. It was a fun experiment during WordCamp San Francisco.

\n

Gravity Forms – on some installs, it allows us to quickly get forms (surprise!) in place for user registration, so some people could upload their own photos to the site via the WordPress Mobile app or a custom form.

\n

Search Everything – allowed the cool ability to search for tweets, instagram photos, etc that were created by a specific user or via keyword. As an example, you could search for your own name and see if anyone mentioned you on whatever social networks the WPArmchair site was scanning. Unfortunately, it looks like Search Everything isn’t being supported as of now, so I recommend switching over to SearchWP.com.

\n

WP Armchair Theme and Plugins are GPL and Available on github

\n

Bisset has made both the WP Armchair Theme and plugins available on his github account. He invites contribution to the project. “There are no doubt better and different ways to do what the site does, and I welcome anyone who wants to improve it,” he said.

\n

The WordPress Foundation has also made some of the WP Armchair functionality available to its officially hosted WordCamp site using a new plugin called Tagregator, which is also open to contribution.

\n

Bisset believes that WP Armchair is a valuable resource for both those at home and those who are attending WordCamp events. It has even been used by The Front-End Design Conference, a non-WordPress event, to aggregate the references to the event on social media. Ultimately, WP Armchair is about bringing people and ideas together.

\n

Even if you did go to the conference, you would be able to see everyone’s photos there instead of a gallery of a smaller group of photos the site admin posted a few days later. You also get to see who authored interesting tweets and potentially find new people to follow this way… people that are in theory just as motivated by WordPress as you are.

\n

Monitoring posts from WordCamps online is by no means a replacement for actually attending the event. Realistically, you won’t be able to attend every WordCamp in the world, but WP Armchair gives you a better way to monitor online from wherever you may be. Many thanks to David Bisset for taking us behind the scenes and for creating a way for WordPress fans around the world to join in on events together.

\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, 23 Oct 2013 13:01: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:27:"Donncha: WP Super Cache 1.4";s: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:29:"http://ocaoimh.ie/?p=89498597";s: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://ocaoimh.ie/2013/10/23/wp-super-cache-1-4/";s: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:1932:"

WP Super Cache version 1.4 is out now. This release finally removes the mfunc, mclude and dynamic-cached-content tags as I warned about three months ago.

\n

If your site uses that dynamic cached content functionality do not upgrade yet. There is a replacement dynamic cached content system but it’s not compatible so you’ll need to update your themes and helper plugins. It’s not difficult but there’s a lot to take in. I hope the example plugin and explanation in that post gets you most of the way there.

\n

If you don’t use mfunc and it’s friends then you should upgrade immediately and it should be painless.

\n

This release also has a few bug fixes and other features. It will now try to repair broken installs after a site migrates. It will update the wp-config.php and rebuild wp-content/advanced-cache.php. It will also delete tags and category cache files when a post publish status changes.

\n\n

Related Posts

WP Super Cache 1.4 originally appeared on Holy Shmoly!.

";s: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, 23 Oct 2013 11:14: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"Donncha";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:43:"Dev Blog: WordPress 3.7 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=2729";s: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/2013/10/wordpress-3-7-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:1182:"

The second release candidate of WordPress 3.7 is now available for testing!

\n

Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta area in the support forums if you think you’ve found a bug, and if any known issues are raised, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 3.7. If there is a compatibility issue, let us know as soon as possible so we can deal with it before the final release.

\n

For more on WordPress 3.7, check out the announcement post for Release Candidate 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Oct 2013 00:05:30 +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: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:56:"WPTavern: WordPress 3.7 Introduces Advanced Date Queries";s: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:32:"http://www.wptavern.com/?p=10239";s: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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/SBf0LiyU_A4/wordpress-3-7-introduces-advanced-date-queries";s: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:3933:"

WordPress 3.7 should be arriving any day now. Everyone is excited about WordPress’ new ability to update itself for security and minor releases (and even themes and plugins, if you’re adventurous). The new password strength meter is highlighted on the About page for the release with a live demo that users can play with after they upgrade. But there’s one cool new feature that hasn’t received as much fanfare: advanced date queries.

\n

photo credit: Andrew Morrell Photography via photopin cc

photo credit: Andrew Morrell Photography via photopin cc

\n

You might be wondering what’s so exciting about advanced date queries. Alex Mills, better known online as “Viper007Bond” was the originator of the patch to improve date arguments for WP_Query, a class for querying the database for specific content. Up until now, WordPress had no easy way to get a set of posts that fall within a specific date range.

\n

A few months ago, Alex introduced a patch that adds the ability to get complex date-based queries when fetching both posts and comments from the WordPress database. Code examples can be found on his post where he roughly outlines a few ways one might implement date-based queries.

\n

There are virtually unlimited combinations. Here are a few examples of what is possible with the new advanced date queries:

\n\n

You can check out all the date parameters in the codex and browse a few of the examples. Imagine all the fun that could be had here! The advanced date queries should enable developers to do some interesting things with displaying timelines, custom archives, selectively random post widgets and anything else imaginable with date ranges.

\n

Advanced date queries replaces bulkier methods used in the past, such as adding a filter to posts_where. How did we ever live without it? Check out the canonical discussion on Trac to explore the evolution of this feature and put it to good use in WordPress 3.7.

\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, 22 Oct 2013 23:28: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:"Sarah Gooding";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:57:"WordPress.tv: Topher DeRosia: Intro To Plugin 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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=23066";s: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:74:"http://wordpress.tv/2013/10/22/topher-derosia-intro-to-plugin-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:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:670:"
\n
\n
Topher DeRosia: Intro To Plugin 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:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 22 Oct 2013 21:43: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:12:"WordPress.tv";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:58:"WordPress.tv: Tharon Rodriguez: Getting Familiar With PODS";s: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:28:"http://wordpress.tv/?p=23060";s: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.tv/2013/10/22/tharon-rodriguez-getting-familiar-with-pods/";s: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:666:"
\n
\n
Tharon Rodriguez: Getting Familiar With PODS
";s: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, 22 Oct 2013 21:20: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:12:"WordPress.tv";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:72:"WPTavern: ForumEngine Turns WordPress Into a Forum Via Custom Post Types";s: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:32:"http://www.wptavern.com/?p=10158";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/5-EF68Mw45g/forumengine-turns-wordpress-into-a-forum-via-custom-post-types";s: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:4745:"

EngineThemes Logo EngineThemes.com recently released version 1.0 of their latest project, ForumEngine. ForumEngine is a theme that uses Custom Post Types to turn WordPress into a forum. I caught wind of this new theme via a review published on WPLift by Joe Fylan. It’s nice to finally see theme companies thinking outside the box for once instead of whipping up the next boring portfolio theme. I have not had the opportunity to try out the theme but based on Joe’s review, there is one thing in particular that may be a showstopper for a lot of people.

\n

Writing A Post In ForumEngine

\n

Unfortunately, in order to use this theme, you’ll either need a brand new WordPress install, separate WordPress install, or be willing to see your existing content disappear.

\n

With ForumEngine installed on your site, the site now functions as a forum, which the threads accessed directly from the homepage. Any existing posts that might’ve been on the site or those you create afterward activating the theme will now no longer be accessible, essentially removing the main functionality of WordPress: creating posts so bare that in mind if you wish to use this alongside a regular blog – you would need a separate installation. – Joe Fylan

\n

I remember when the discussion around bbPress 2.0 was taking place. It was suggested that using a plugin that utilizes custom post types be used. At the time, bbPress was transitioning from being stand alone software into a WordPress plugin. Now we have a theme that is using custom post types and if I remember correctly, community members like Justin Tadlock frown on this practice. I reached out to John James Jacoby to get his thoughts on this theme as well as how its implementation compares with bbPress.

\n

bbPress 2.x does use custom post types, and actually uses three of them. Forums is only a post type because of a lack of taxonomy term meta, otherwise it would be a custom taxonomy. CPT’s are fine, though it’s too bad it completely overrides the blog. Seems pretty pointless to make users decide to have either a blog or a forum, and not both.

\n

bbPress takes other things into consideration, like forum profiles VS blog author archives, separate roles for the forums VS the blog, and goes the extra mile so forums only intersect with the blog when you want it to. If a theme was really going to do this “correctly†it should probably use a CPT for topics, and comments (with a custom comment form template) for replies; that way the behavior is familiar.

\n

Forums are such an integral part of online communities, if I were looking for forums inside of WordPress, baking it into a commercial theme that won’t work with my existing blog doesn’t sound very appealing.

\n

While I like the design and the thinking out of the box idea in this theme, not being able to use it with an existing blog is a huge blow towards it ever becoming a popular alternative to bbPress or other forum solutions. However, thanks to the advice provided by John James Jacoby above, there are ways of going about it that make sense. I hope to see other theme providers give it a shot. At the very least, it would be good to see theme providers list native bbPress support as one of their selling points.

\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, 22 Oct 2013 20:30: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: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: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:28:"Dev Blog: Upcoming WordCamps";s: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=2723";s: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/2013/10/upcoming-wordcamps-4/";s: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:3583:"

WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s over. If there’s one near you, check it out! In addition to getting to know your local WordPress community, most WordCamps attract some traveling visitors a well, giving you the chance to meet contributors to the WordPress open source project and get involved yourself.

\n

Here are the WordCamps on the schedule for the rest of this year.

\n

October 25-27: WordCamp Boston, Boston, MA, USA
\nOctober 25-26: WordCamp Malaga, Spain
\nOctober 26: WordCamp Nepal, Kathmandu, Nepal
\nOctober 26: WordCamp Sofia, Bulgaria
\nNovember 7: WordCamp Cape Town, South Africa
\nNovember 9: WordCamp Porto, Portugal
\nNovember 9-10: WordCamp Kenya, Nairobi, Kenya
\nNovember 15: WordCamp Edmonton, AB, Canada
\nNovember 16-17: WordCamp Orlando, FL, USA
\nNovember 16: WordCamp Denver, CO, USA
\nNovember 23-24: WordCamp London, UK
\nNovember 23-24: WordCamp Raleigh, NC, USA
\nNovember 23: WordCamp São Paulo, Brazil
\nDecember 14: WordCamp Las Vegas, NV, USA
\nDecember 14-15: WordCamp Sevilla, Spain

\n

No WordCamps on this list in your area? Not to worry! There are thriving WordPress meetups all over the world where you can meet like-minded people, and we maintain a library of WordCamp videos at WordPress.tv.

\n

Get Involved

\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, 22 Oct 2013 19:25: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"Jen Mylo";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:67:"WPTavern: BuddyPress Theme Development Book Now Available on Amazon";s: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:32:"http://www.wptavern.com/?p=10213";s: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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/I9fzJHc5q1c/buddypress-theming-book-now-available-on-amazon";s: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:3233:"

bpthemedevIf you want to grow in your BuddyPress skills, there’s a new book on the market that you’ll want to get your hands on. BuddyPress Theme Development has just hit Amazon. The digital version is out now and you’ll be able to get a printed copy on October 24th, 2013. Packt will also have a version of the book that includes access to code for those who want to “follow along at home” with the code examples.

\n

Written by expert BuddyPress theme developer and contributor, Tammie Lister, this book will help you learn how to create BuddyPress themes from start to finish. BuddyPress Theme Development provides a comprehensive guide to BuddyPress theming with practical, hands-on tutorials that will put you on the path to building your own themes.

\n

Tammie walks you through the basics, such as how to use CSS to make changes to themes. She also includes more advanced topics like creating custom templates for BuddyPress components. You’ll learn how to add functionality to enhance your community, including how to build your own widgets into your theme. Once your theme is finished, Tammie shows you how to run theme-checks to ensure that it’s ready for launch.

\n

I checked in with Tammie for a mini Twitter interview on the details of the book. She has been working on it since just after BuddyCamp Miami, which took place in early April of this year. Many theming books are outdated even before they hit the shelves, but Tammie has made sure that everything in her book is up to date with the upcoming BuddyPress 1.9 release. She is the developer heading up the work on the new template pack that will ship with BuddyPress 1.9.

\n

If you’re a BuddyPress developer looking for resources to keep your skills sharp, BuddyPress Theme Development is a good one to add to your collection. Packt Publishing couldn’t have found a better person to write this book. Get your copy today on Amazon or pre-order the printed edition from Packt Publishing to get the eBook and PacktLib access thrown in for free.

\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, 22 Oct 2013 18:46: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:13:"Sarah Gooding";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:56:"WPTavern: Seamless Integration for WordPress and Magento";s: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:32:"http://www.wptavern.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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/F6uyX3Wt0E8/seamless-integration-for-wordpress-and-magento";s: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:6448:"

Believe it or not, there are a lot of WordPress fans in the Magento community. While Magento provides supremely robust e-commerce capabilities with support for complex product variations and multiple shipping options, it’s entirely lacking in CMS features. As a result, many sites merge WordPress and Magento in order to take advantage of each platform’s unique strengths.

\n

However, it is unbelievably difficult to make WordPress and Magento work together in a seamless fashion without some sort of bridge. That’s where James Kemp‘s Magento WordPress Integration plugin comes in. It does all the fancy footwork necessary to make your Magento store look like part of your WordPress site.

\n

mwi

\n

The Magento WordPress Integration plugin (MWI), is a solution that Kemp has been developing for several years. It provides the easiest way to get blocks, sessions and products from your Magento store and is capable of doing the following:

\n\n

Think there’s no demand for this? Think again. Kemp’s plugin has been downloaded more than 10,000 times. To celebrate, Kemp has made the code available on BitBucket. He’s hoping that having the code available to the public will help to spark more contribution.

\n

James Kemp, creator of the Magento WordPress Integration plugin

James Kemp, creator of the Magento WordPress Integration plugin

I’ve been following James Kemp’s work for several years and finally had the chance to chat with him about how the plugin is doing.

\n

He continues to develop the plugin due to the demand, which comes from both “light” users and developers. “The demand for MWI is fairly consistent,” he said. “On a calm day the mwi-plugin site gets ~30 unique visits, and mid-week on a busier day it will get ~100. It’s a very niche plugin, so I don’t expect thousands! The core plugin is mainly useful for developers I’d say, but I also get “light” users who are interested in the add-ons, so they can display products within their blogs. The demand for it is fairly steady at the moment.”

\n

The Magento and WordPress communities are fairly disconnected, which is understandable. You don’t see too many developers wanting to specialize in both platforms. Yet many users want them to work together. When building sites with a bridge, Kemp relies on WordPress for the more content-heavy aspects of the site:

\n

Each system has solutions for the other, but none of them are quite as good as WordPress or Magento. I personally prefer to use WP for all aspects of content management; pages, news, callouts – using Magento for this is a bit of a nightmare. I use Magento for large stores, with complex product set-ups and discount systems, purely for the product catalogue and back-end ecommerce system.

\n

Although he is an expert Magento developer, he has also built many sites using WooCommerce and Jigoshop. I asked him when he might opt for Magento over a WordPress-based e-commerce solution and he replied:

\n

I tend to use Magento for larger sites, where there are thousands of products and likely to be a lot of activity. This is because of the back-end system of Magento; it offers so much more in terms of tax rules, discounts, product set-up, import/export, order history, invoicing, etc. it’s just a full, heavy-duty, ecommerce system. The WordPress solutions are great, but not for bigger ecommerce store owners who need more control.

\n

The Magento WordPress Integration plugin provides a much needed bridge between the two open source projects and enables them to work together seamlessly. It can also save you from having to do too much theming to Magento, which is quite a pain because all the files are located about 10 directories deep. MWI allows you to feature your categories and products on your WordPress pages, as well as any blocks created within Magento. If you want to synchronize your sites even further, Kemp has also developed a plugin providing Single Sign-On For Magento And WordPress.

\n

Kemp and his colleague Jay Pick have formed a new WordPress development company called Platførm, based out of their rural office in Lutterworth, England. He plans to continue supporting the MWI plugin for as long as it’s needed. You can find documentation at the Magento WordPress Integration homepage and can download the plugin from the WordPress repository. If you want to get involved contributing, check out MWI on BitBucket.

\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, 22 Oct 2013 14: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:13:"Sarah Gooding";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:50:"WPTavern: New Holiday – Talk Like a Spammer 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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10181";s: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:97:"http://feedproxy.google.com/~r/WordpressTavern/~3/7J40V67FxqE/new-holiday-talk-like-a-spammer-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:1683:"

WPForce Logo Jonathan Dingman over at WPForce.com has published a funny piece that illustrates how comment spammers are able to be so randomly creative with their posts. One of his spam comments contained the entire template of text used to generate random comments. How many combinations of spam can you make with the following template?

\n

I {want to|wish to|desire to} read {more|even more} things about it!|
\n{It is|It’s} {appropriate|perfect|the best} time to make {a few|some} plans
\nfor {the future|the longer term|the long run} and {it is|it’s} time to be happy.

\n

Check out the long list of different replies on his post. I think this calls for a new holiday. Talk like a spammer day! We humans have to guess which combination is the correct one! But giving this some more thought, if there was a talk like a spammer day and we were legitimately using templates like the ones presented in the post to generate our comments and those comments were published even though Akismet thinks they are spam, how big of an impact would we have on screwing up the Akismet spam algorithm? Maybe this holiday is not such a good idea!

\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, 22 Oct 2013 13:00: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: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: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:56:"Donncha: The shiny new dynamic content in WP Super 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:"guid";a:1:{i:0;a:5:{s:4:"data";s:29:"http://ocaoimh.ie/?p=89498568";s: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://ocaoimh.ie/2013/10/21/shiny-new-dynamic-content-wp-super-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:9301:"

With the next release of WP Super Cache in a day or two the long awaited move away from mfunc, mclude and friends will be complete.

\n

This means that if you have been using mfunc, mclude or dynamic-cached-content the dynamic portions of your sites will go blank if you upgrade WP Super Cache without updating that dynamic code. This may seem complicated but there’s an example script included and detailed explanations below. A lot of effort was made to make this backwards compatible but unfortunately it wasn’t possible.

\n

In their place is a new cacheaction filter called wpsc_cachedata and it’s sidekick wpsc_cachedata_safety. In the future when a site owner using WP Super Cache wants to make part of their website dynamic they will use those filters to modify pre-defined text strings and replace them with the data they want displayed to the end user. There’s an example script ready to be ripped apart to help you figure all this out.

\n

There are two ways of using this:

\n
    \n
  1. The dynamic content is the return value of a simple process, be it date() or any of the numerous get_*() functions in WordPress. That data can simply be slotted in place of the pre-defined text mentioned above.
  2. \n
  3. The more difficult bit comes when you need to use an output buffer to collect the data for display. Due to a limitation in PHP it’s impossible to run an output buffer in the callback function of another output buffer, which is when the wpsc_cachedata filter runs. We need to collect that data before the callback function executes.
  4. \n
\n

The first way above is easy. Simply add a text string of random characters to your theme where you want the dynamic content to appear, then hook a function on to the wpsc_cachedata filter to str_replace() it with your dynamic content. These functions in this script do that:\n

\n

You’ll have to hook on to the wpsc_cachedata_safety action and return the numeral 1 to actually run the wpsc_cachedata filter. This is a fail safe used by the plugin to make sure things are ok when the filter runs.

\n

Unfortunately if you want to use an output buffer it’s a lot harder. As stated above an output buffer can’t run in the callback function of another output buffer. This means you have to generate your dynamic content earlier in the PHP process.
\nThis could be as easy as calling your dynamic content function (dynamic_output_buffer_test() in the example script) from the wp_footer action, or calling it from any action before shutdown, whichever is appropriate. You’ll also need to add a template tag of your own choosing to your theme.
\nYour dynamic content function will run just fine for cached pages, so after the new page has run it store the output in a constant or global variable that the same function can look for when the wpsc_cacheaction runs it. If it finds that information, it can do the search and replace of your template tag without running the output buffer again.
\nSome pages won’t run the dynamic content function however. This includes feeds and sitemaps. Those pages will generate a PHP error because the output buffer will try to run in the callback!

\n

“PHP Fatal error: ob_start(): Cannot use output buffering in output buffering display handlers in…”

\n

To stop that happening you must check that there’s text to shove in the cached page. That’s what happens in the function dynamic_output_buffer_test_safety() in the example script. It fires on the wpsc_cachedata_safety filter and returns the numeral 1 if successful.

\n

Anatomy of an Output Buffer

\n

I’m going to try and explain the output buffer functions in more detail here. They’re only example functions and if you spot a bug or can suggest improvements please do!

\n
define( \'DYNAMIC_OUTPUT_BUFFER_TAG\', \'\' ); // CHANGE THIS!
\n

This is the string you add to your theme where your dynamic content will appear. The plugin will replace this string with the code generated by your dynamic content function.

\n
function dynamic_output_buffer_test( &$cachedata = 0 ) {\n	if ( defined( \'DYNAMIC_OB_TEXT\' ) )\n		return str_replace( DYNAMIC_OUTPUT_BUFFER_TAG, DYNAMIC_OB_TEXT, $cachedata );\n	ob_start();\n	// call the sidebar function, do something dynamic\n	echo "<p>This is a test. The current time on the server is: " . date( \'H:i:s\' ) . "</p>";\n	$text = ob_get_contents();\n	ob_end_clean();\n\n	if ( $cachedata === 0 ) // called directly from the theme so store the output\n		define( \'DYNAMIC_OB_TEXT\', $text );\n	else // called via the wpsc_cachedata filter. We only get here in cached pages in wp-cache-phase1.php\n		return str_replace( DYNAMIC_OUTPUT_BUFFER_TAG, $text, $cachedata );\n\n}\nadd_cacheaction( \'wpsc_cachedata\', \'dynamic_output_buffer_test\' );
\n\n
function dynamic_output_buffer_test_safety( $safety ) {\n	if ( defined( \'DYNAMIC_OB_TEXT\' ) )\n		return 1; // ready to replace tag with dynamic content.\n	else\n		return 0; // tag cannot be replaced.\n}\nadd_cacheaction( \'wpsc_cachedata_safety\', \'dynamic_output_buffer_test_safety\' );
\n\n

sidebar.php

\n

As an example, if I wanted to display my dynamic content in the sidebar of my blog I would load sidebar.php in my theme’s directory and add the following code.

\n
if ( function_exists( \'dynamic_output_buffer_test\' ) )\n    dynamic_output_buffer_test();\n?>WORDPRESS ROCKS THE WORLD<?php
\n

I had previously edited the example script, uncommented it and changed the appropriate tag:

\n
define( \'DYNAMIC_OUTPUT_BUFFER_TAG\', \'WORDPRESS ROCKS THE WORLD\' ); // CHANGE THIS!
\n

Final Note and Download Link

\n

Please grab the development version of the plugin and try it on a staging server before you put it live. Feedback would be appreciated!

\n

Warning! Keep the tags you use secret. You don’t want someone leaving a comment on your blog with that string! Do not use the same function names or constant names as in this post or example script. They’re in this very public post. Someone is bound to use them and cause you problems when you install their plugin.

\n

Finally, barring any last minute major bugs this version of WP Super Cache will be released on Wednesday. Be careful upgrading. Pass the word around if you know someone is using mfunc as their site will stop working!

\n\n

Related Posts

The shiny new dynamic content in WP Super Cache originally appeared on Holy Shmoly!.

";s: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, 21 Oct 2013 22:06: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"Donncha";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:45:"WordPress.tv: WordCamp Europe 2013 Interviews";s: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:28:"http://wordpress.tv/?p=23966";s: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.tv/2013/10/21/wordcamp-europe-2013-interviews/";s: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:641:"
\n
\n
WordCamp Europe 2013 Interviews
";s: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, 21 Oct 2013 20:07: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:50:"WPTavern: Why Are We Paying For GPL Licensed Code?";s: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:32:"http://www.wptavern.com/?p=10128";s: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:99:"http://feedproxy.google.com/~r/WordpressTavern/~3/zYcZG5ycFZE/gpl-ethics-right-wrong-winners-losers";s: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:5653:"

Kevin Muldoon has published a great post that may change the mindset of both WordPress end users and developers. In his post, he talks about WordPress, GPL, and ethics but further into the post, he mentions that perhaps we should not be thinking about what sites like GPL Avengers or GPL Club are doing as right or wrong but rather, good or bad.

\n

When you start talking about premium GPL products, the line between what is right or wrong gets a little blurred. Perhaps the terms “Right†and “Wrong†should not be used in this debate at all. “Good†and “Bad†are more suitable. GPL is supposed to benefit the WordPress community. So we need to consider what is good and what is bad for the community?

\n

Ethics is subjective so let’s skip that word. It’s as bad as saying “spirit” when talking about the GPL. What GPL Avengers and GPL CLub are doing is not illegal and I don’t think anyone will argue that point. Let’s take the good and bad approach.

\n

The Good:

\n

Both are offering commercial products either for free or for a substantially lower price. This is good because those who don’t need support can make do with the lower price. It’s also good in that it exposes the commercial offerings to a larger market segment that perhaps otherwise wouldn’t be able to afford purchasing from the original developer.

\n

The Bad:

\n

GPL Club points out that support is only provided by the original product authors. Meanwhile, WP Avengers provides automatic updates and premium support via forums and support credits. I am not sure how this works but their forum is not publicly accessible. In general, the best people to provide support for the product are the people who created it. By acquiring products through either of these two sites, unknowing customers will either be out of luck in getting support, or may not get the best support money can buy.

\n

There are a number of great comments about this situation that I encourage you to read like, this one from Paul, or Andrew. What is boils down to is these two sites have started a race to the bottom but I think that race has been going on for a long time.

\n

One of the scenarios that Kevin laid out was the following:

\n

With regards to where the buck stops :) WP Avengers and GPL Club are charging money for premium plugins that other people developed. Here’s a thought….what if someone went one step further and released all premium plugins free. For example, a plugin and theme directory that allowed every single premium WordPress theme and plugin to be downloaded free of charge. No malware, no hidden agenda. Simply someone who wanted to share all premium plugins with the world.

\n

How do you think the WordPress community would react to this? Would it kill the market for premium WordPress products or would developers have to focus on support? – Kevin Muldoon

\n

I think it would be fantastic. On paper, it seems pretty stupid to pay for GPL code. We hear the phrase “paying for support and product updates” repeatedly but it still seems as though we’re paying for the code first. So let’s make all code free. If we pay money, we’re actually paying for upgrades and support of that free code. But I know exactly what this would do to commercial themes and plugins. We’d end up with free code that only has one purpose. To serve up a prompt asking for an API key. In a way, I’d be ok with this because it would be less code running on my site but on the flip side, I’d then be relying on an increasing number of third-party sites to be online to make sure my forms worked. If all commercial themes and plugins were free, it wouldn’t be the end of the world. We would just rapidly make the transition to purchasing support and upgrades or service add-ons. Also, if commercial themes and plugins were free, sites like GPL Club and WP Avengers suddenly become the losers as they would then be charging for GPL code without the support to back it.

\n

A Few Questions For My Commercial WordPress Developer Friends

\n

It’s fascinating to think about all GPL licensed code in themes and plugins being free as in beer. How would this change the way vendors today do business? If the real value is in support and upgrades, then the question I have for commercial plugin and theme developers is why are they charging for their GPL licensed code? The GPL license says you can do it, but what’s the point? I’ll guess and say that it would then be too confusing for customers to figure this all out so it’s easier to bundle everything in one purchase. At the end of the day, WP Avengers, GPL Club and sites like them are not going to put the original vendors out of business. All they are is an inconvenience.

\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, 21 Oct 2013 19: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: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: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:65:"WPTavern: WordPress 3.7 Automatic Upgrades Proving to Be Reliable";s: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:32:"http://www.wptavern.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:117:"http://feedproxy.google.com/~r/WordpressTavern/~3/4c1b_4P7CE8/wordpress-3-7-automatic-upgrades-proving-to-be-reliable";s: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:2957:"

The first WordPress 3.7 Release Candidate was sent out into the wild last Friday. So far it’s been testing very well. The flagship feature of this release is the ability for WordPress to automatically update itself, as highlighted in the customary haiku:

\n

\nWordPress three seven
\nA self-updating engine
\nLies beneath the hood\n

\n

Automatic background updates seems like a daunting feature to launch across millions of blogs, but WordPress 3.7 includes code to roll back a failed automatic upgrade. Even so, Nacin tweeted yesterday that after 25,000 updates to RC1, there hasn’t been one single rollback. So far it looks like the automatic background updates for security and minor releases is proving to be remarkably reliable.

\n

Nacin has done everything in his power to determine points of failure within the feature but so far it’s been holding up nicely:

\n

We’ve tried all sorts of things to trip up the updater in WP 3.7, like changing file perms, simulating network issues, having no disk space.

\n

— Andrew Nacin (@nacin) October 18, 2013

\n

\n

Short of unplugging the server halfway through, I’m not actually sure it’s possible for a background update in WP 3.7 to critically fail.

\n

— Andrew Nacin (@nacin) October 18, 2013

\n

\n

Currently two emails are being sent out when the automatic upgrades are successful: one for debugging and the other standard email that all users of 3.7 will receive. Once 3.7 is officially released you will no longer get the debugging email. However, there is a filter that you can use to keep it turned on if you like.

\n

Jeff recently polled Tavern readers to see how they will be implementing the automatic updates on their sites, as many readers previously had expressed reservations. At this time it seems that only 1 in 4 people polled will be disabling automatic updates completely, while the remaining 75% are open to using them to varying degrees. The results of Nacin’s testing of RC1 should inspire even more confidence. If all goes well, it looks like we should have the official WordPress 3.7 release sometime this week.

\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, 21 Oct 2013 17:56: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:13:"Sarah Gooding";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:97:"WordPress.tv: Justin Jones: WordPress Security or Why Google Says You Shouldn’t Visit My Church";s: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:28:"http://wordpress.tv/?p=23080";s: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:111:"http://wordpress.tv/2013/10/21/justin-jones-wordpress-security-or-why-google-says-you-shouldnt-visit-my-church/";s: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:747:"
\n
\n
Justin Jones: WordPress Security or Why Google Says You Shouldn’t Visit My Church
";s: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, 21 Oct 2013 17:19: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:12:"WordPress.tv";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:61:"WPTavern: New Grid View Coming to the WordPress Media Library";s: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=9218";s: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:113:"http://feedproxy.google.com/~r/WordpressTavern/~3/qM4VP9q4HBo/new-grid-view-coming-to-the-wordpress-media-library";s: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:3915:"

Your experience in the WordPress media library is about to get a whole lot better. Very soon you’ll have the option to display media items in a grid view. An exciting project to enhance the media library is well underway and will eventually be added to the WordPress core. The good news is that you don’t have to wait. This new feature, although still in development, is now available as a plugin.

\n

Media Grid, developed by Shaun Andrews, just showed up in the WordPress plugin repository this weekend. Shaun has been a busy bee lately and he’s on a roll. The Media Grid plugin is the second plugin he’s released with improvements for the WordPress core UI. His first was the Widgets Area Chooser plugin that we featured earlier today.

\n

When combined with the MP6 plugin, the Media Grid plugin currently lets you select between seeing the library displayed in the old list style or with the new grid view:

\n
WordPress Media Library Grid View

WordPress Media Library Grid View

\n

What’s cool about this plugin? It lets you toggle the thumbnails to a larger size for ease of browsing. Pagination is handled beautifully via infinite scroll. The search is also very responsive and returns results instantly as you type, even if you only enter one letter.

\n

We’ve seen a lot of changes lately when it comes to WordPress user interface design. These rapid changes have been set in motion to arrange information in a way that is easier to use and understand.

\n

Scientific studies of neural memory encoding have shown that the human brain remembers pictures better than words. If you’re searching for an image you recently uploaded, browsing through thumbnails is likely to be much more helpful than trying to use words to search for your image. An optional grid view makes a lot of sense for this interface and I’m hoping it will become the default view.

\n

When Will We See the Media Grid in the WordPress Core?

\n

Of course, the burning question everyone wants to know, is when can we see this added to the WordPress core? The Media Library Grid View project is led by Helen Hou-Sandi. The plugin is part of the “Features as Plugins” initiative that enables developers to propose new features to core in the form of a plugin. Last time I checked with Shaun he said that they would love to have it ready for 3.8 or 3.9 but really it comes down to whenever it’s ready.

\n

This plugin is the future of the WordPress media library. I’m convinced that once you try the grid view you won’t ever want to go back to the boring list style. Although the Media Grid plugin is still being actively developed, it’s working quite nicely already. Shaun Andrews welcomes your suggestions and patches. If you’d like to help test it you can download Media Grid from the WordPress plugin repository.

\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, 21 Oct 2013 17: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:13:"Sarah Gooding";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:37:"Joseph: Books: The Year Without Pants";s: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:"https://josephscott.org/?p=9213";s: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:"https://josephscott.org/archives/2013/10/books-the-year-without-pants/";s: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:10188:"

I finished reading Scott Berkun’s book The Year Without Pants. The book tells the tale of Scott’s time at Automattic as the lead of Team Social, which worked on WordPress.com. I’ve never read a book about a place that I’ve worked at, so I was curious to see things from his point of view.

\n

I’ve worked at Automattic for over six years, well before Scott started there. We were always on separate teams and I never worked directly with Scott on any projects. As a result some of the things Scott talks about in the book take on a different angle than my own. While reading through the book I made notes on things that I wanted to expand on a bit, provide a different point of reference for, or just struck me as interesting. I’m including the page number for easy reference.

\n

Page 10, talking about how for many people Automattic was the largest company they had ever worked for. I definitely didn’t fall into that camp. Oddly enough I’ve alternated between large and small companies, though not on purpose. Before Automattic I worked at a university that had thousands of employees. Before that I was at small regional ISP that never had more than 10 full time employees. Going back one more job I was at a large international company with more than 10,000 people across the planet. And the job before that was at a company with 20 people. That pretty much covers all of the jobs I’ve had as an adult.

\n

Page 15, about IRC being an ancient chat program. When I mention to other people that we use IRC I’ll often describe it as being “as old as dirt”, meaning 1988. Being old doesn’t change the fact that it is still one of the best solutions to the problem of text based chat.

\n

Page 16, about Automattic demanding great communication skills. In some ways we have to overcommunicate in order to make up for not all being in the same building.

\n

Page 20, Caturday. Long running thing at Automattic from the world of LOLcats. On page 25 Scott shows a screenshot of some stats, and the week ends with Caturday. Some time ago a new hire at Automattic “fixed” the typo by changing it to Saturday. We had to explain the joke, then had them revert it back to Caturday :-)

\n

Page 25, experts don’t go back to regular jobs because regular jobs are hard. This is worth keeping in mind the next time you read an article or book from a professional expert.

\n

Page 28, on jamming practices from one culture into another. This is a hard lesson to learn and I think most who have learned it have only done so through experience. Culture isn’t something you can easily transplant. Culture, like trust, is hard to build and easy to destroy.

\n

Page 29, about trust. Trust is a really big deal in any company culture. The lack of it usually results in grinding political structures. High degrees of trust can result in the whole being so much more than the sum of the parts.

\n

Page 42, remember how I mentioned that I described IRC being as old as dirt? I’m not the only one who thinks that way :-)

\n

Page 43, about many things at Automattic being inherited from the open source WordPress project. I don’t think it is an overstatement to say that this is one of the core attributes in the formation of Automattic. In many ways it looks like a group of people working on an open source project that just happens to also involve money, sometimes.

\n

Page 46, about the WordPress theme P2. One day I’ll write a separate post about how P2 came to be. Naming things can be hard, and sometimes beyond your control.

\n

Page 48, on the communication break down between P2, IRC, Skype, and email. The ratio varies between teams. For my experience I’d say P2 and IRC are closer to 50 / 50, Skype and email nearly rounding errors. IRC was good for talking about something right now ( synchronous ) and P2 was good for things that weren’t nearly so time sensitive ( asynchronous ) or needed a better way to be tracked.

\n

Page 54, about the size of a company being the ultimate goal. I’ve had conversations with people about companies that stay intentionally small. In the technology field it isn’t often that you come across people who want to have a limit to how big their company gets. I think there is an idea worth exploring in there.

\n

Page 61, regarding killing a project or experiment. It isn’t easy to shutdown something that you’ve put energy into. That said, we could be better about letting go.

\n

Page 104, data-influenced culture versus a data-driven one. I’ll give an example of one experience I had that shows how this worked. A new A / B test was launched around a signup flow and I was fairly certain that the new version was going to do worse because the resulting experience was so bad for the user. It quickly became clear that the new version resulted in more revenue. As a team we talked it over and decided against using the new version, even though it meant giving up some of that increase in revenue. I was happy we were able to agree on that because the user experience in the new version was one I’d never want to use. The results of the A / B test were one part of our decision making process, but it wasn’t the only consideration.

\n

Page 111, vision. Someone having a clear vision of where things are going as a whole is a different dynamic in a company that focuses on individuals being super proactive about coming up with their own ideas on what to work on next. Not that you can’t have it, just that at some point you realize everyone can’t do everything. See also page 126 regarding clarity vs. quantity of ideas.

\n

Page 132, “Without the time machine, all choices have the possibility of being wrong.” I need to put that on a t-shirt. Sometimes the value of making a decision outweighs any of the potential outcomes of the decision itself.

\n

Page 134, on not being tied down too much by a pre-selected process. I’ve been asked before if Automattic uses [ insert current trendy methodology here ]. My answer has always been no. We work out what works best for us as a team, then start moving forward, adjusting along the way as needed.

\n

Page 136, “To start big projects, you must have the capacity for delusion.” Probably also worth a t-shirt. At some point after going through enough big projects you learn that you always underestimate them at the beginning. Then after even more of them you learn that under estimating them is sometimes a good thing, because if you didn’t you would never actually start them.

\n

Page 152, about work environments. When I talk with people about Automattic being a distributed company, I usually end up explaining that like most things it is about trade offs. Distributed vs. non-distributed is often less about which one is better and more about which trade offs you want to work with. The same is true of individuals. Not everyone is going to excel in a distributed situation, and that is fine, it doesn’t make them bad at what they do or who they are.

\n

Page 171, talking about Team Social being stretched even further. When Scott joined Automattic I started working on the Akismet team. Our team was always stretched, with people in Melbourne ( Australia ), California, Utah, North Carolina, and England. From UTC that is +11, -7, -6, -4, and +1 for everyone playing along at home. Not the same broad and even distribution that Team Social ended up with, but not always easy either. But we made it work.

\n

Page 198, a reference to the bike shed problem. Long time FreeBSD users will remember the bike shed post by PHK.

\n

Page 200, on few people being willing to dive in and make changes. That is pretty much the opposite of my experience.

\n

Page 200, about broken windows for good and bad. I think our ability to fix a bug that came up quickly is a good thing. There obviously has to be some balance with other things, but I would never want to lose our ability to go from getting a ping from a friend about something on our service being broken, to being able to reply that it has now been fixed, often in a matter of minutes.

\n

Page 201, some people being afraid to post on a P2 because they think it is a megaphone and everyone is reading it. What is funny about reading that is that before we had P2, there was just one internal blog for all of Automattic and it was rarely used. It was common for it to only get one post per month. P2 changed that dramatically.

\n

Page 225, “No one should be expected to carry the burden of a secret their peers would love to know.” Not worth putting on a t-shirt, but something that every leader should remember.

\n
\n

I could comment on every page in the book, but these were the points that I noted specifically as I read through it.

\n

The book itself is an enjoyable read, and easy to get through. If you’ve ever wondered what things are like at Automattic, The Year Without Pants, is a pretty good window. Just keep in mind that it is from one point of view and that each team has a high degree of flexibility in doing things in a way that works best for them.

\n

If you would rather live it than read about it, Automattic is hiring.

";s: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, 21 Oct 2013 15:05: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"Joseph Scott";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:61:"WPTavern: After Four Years – WPShout Is Under New Ownership";s: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:32:"http://www.wptavern.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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/sUm_0G9JveY/after-four-years-wpshout-is-under-new-ownership";s: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:2615:"

wpshout logoLong time WordPress community member Alex Denning has announced that his WordPress centric site WPShout is now under new ownership. Alex has reached the point where his job combined with his university study work has made it impossible for him to keep the site going. Thankfully, Alex has found a great home for the site. New owners Fred and David of Press Up will be taking over the site. According to their introductions within the announcement post, they seem to fit in naturally with providing the type of content WPShout readers have come to expect.

\n

We’re really excited to be taking over WPShout, and glad that we were able to talk Alex into sticking around in an advising role for the transitional period. He’s built a great resource here, and we’re eager to keep his vision alive and make it even better.

\n

Kudos to Alex for finding the right individuals to take over the site. I know from experience that giving up something that was built from the ground up is not an easy task but handing it over to the right individuals makes the process a lot easier to cope with. For those of you that would like to keep in touch with Alex, you can follow him on Twitter or keep an eye on his personal site Sevenironcows.

\n

Before I let you go, please check out Alex Denning’s Webhosting Review 2013 Results that he published two weeks ago. Also, I’ll have Alex, Fred, and David on this week’s episode of WordPress Weekly to discuss the transition of the WPShout website. Considering how busy Alex will be with university, this may be the only opportunity we get to talk to him about his experience in the WordPress community.

\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, 21 Oct 2013 15: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: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: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:72:"WPTavern: WordPress Widgets Area Chooser Plugin: A Handy Addition to MP6";s: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:32:"http://www.wptavern.com/?p=10090";s: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://feedproxy.google.com/~r/WordpressTavern/~3/mvgunDECZL0/wordpress-widgets-area-chooser-plugin-a-handy-addition-to-mp6";s: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:3160:"

If you’ve ever worked on a WordPress site with a long list of widget areas and dozens of widgets, then you know how crowded this page can become. In this scenario the drag-and-drop interface becomes virtually useless, as you struggle to drag the widget to the right area while trying to force your browser window to scroll down.

\n

Widgets Area Chooser

Widgets Area Chooser

While the new widgets page design in MP6 makes it easier to manage widgets, the drag-and-drop doesn’t always provide the best experience. That’s where the Widgets Area Chooser plugin comes in handy.

\n

Created by MP6 member Shaun Andrews, this plugin lets you click a widget in order to choose where it should be placed. According to Shaun, the plugin is really just a bit of CSS and JS, so it would be an easy addition to MP6.

\n

Here’s a quick demo of the Widgets Area Chooser in action:

\n
(note: The experience is actually not as jumpy as it appears in the screencast)

(note: The experience is actually not as jumpy as it appears in the screencast)

\n

After testing this plugin on my desktop as well as mobile devices, I believe there are several merits which should be considered in the discussion about whether or not this should be a part of MP6 and eventually WordPress 3.8:

\n\n

It’s important to recognize that this doesn’t actually remove drag-and-drop capabilities. The Widgets Area Chooser simply adds a new way to move widgets around, and users will still have the option of dragging and dropping if they prefer. Please note that you will need to have MP6 installed and activated in order to test this plugin.

\n

So what do you think? Should the Widgets Area Chooser be included in MP6?

\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, 21 Oct 2013 13:01: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:44:"WordPress.tv: Paul Kortman: Stop Selling SEO";s: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:28:"http://wordpress.tv/?p=23072";s: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.tv/2013/10/20/paul-kortman-stop-selling-seo/";s: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:638:"
\n
\n
Paul Kortman: Stop Selling SEO
";s: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, 20 Oct 2013 14:17: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:12:"WordPress.tv";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:73:"WordPress.tv: K. Adam White: Building Apps With Backbone.js and 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:28:"http://wordpress.tv/?p=23856";s: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:89:"http://wordpress.tv/2013/10/20/k-adam-white-building-apps-with-backbone-js-and-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:695:"
\n
\n
K. Adam White: Building Apps With Backbone.js and 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sun, 20 Oct 2013 13:26: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:12:"WordPress.tv";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:100:"WordPress.tv: Panel Discussion: WordPress Face-to-Face: Fostering Your Local (And Digital) 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:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=23858";s: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:114:"http://wordpress.tv/2013/10/19/panel-discussion-wordpress-face-to-face-fostering-your-local-and-digital-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:747:"
\n
\n
Panel Discussion: WordPress Face-to-Face: Fostering Your Local (And Digital) 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:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 19 Oct 2013 13:16: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:12:"WordPress.tv";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:53:"WordPress.tv: Jeremy Felt: Hi WordPress, Meet Vagrant";s: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:28:"http://wordpress.tv/?p=23872";s: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.tv/2013/10/19/jeremy-felt-hi-wordpress-meet-vagrant/";s: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:655:"
\n
\n
Jeremy Felt: Hi WordPress, Meet Vagrant
";s: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, 19 Oct 2013 12:26: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:60:"WPTavern: WPWeekly Episode 124 – The Three WordPressteers";s: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:32:"http://www.wptavern.com/?p=10085";s: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://feedproxy.google.com/~r/WordpressTavern/~3/yfRhBSLaWZk/wpweekly-episode-124-the-three-wordpressteers";s: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:3545:"

WordPress Weekly Cover Art For the first time since returning to the airwaves, we had all three contributing authors to WordPress Tavern on the show at once. While we originally scheduled Alex Denning for this episode, we needed to reschedule him for October 25th. So in this episode, we each took turns discussing this weeks headlines. As a bonus, we got a live version of Marcus’ plugin roundup post. I had a blast on this show and hope to do more of these in the future.

\n

Stories Discussed:

\n

ManageWP Launches Community-Curated WordPress News Site
\nBuddyPress 1.9 Will Include Dynamic Menu Links
\nHow Will You Configure Auto Updates In WordPress 3.7?
\nBook Review: The Year Without Pants
\nDashboard Makeover Removes Incoming Links Widget
\nMark Jaquith on WordPress 3.6 Postmortem and Post Formats UI

\n

Plugins Mentioned By Marcus:

\n

Quick WP Setup
\nPreview Posts Everywhere
\nCustom Background for Post and Page

\n

WPWeekly Meta:

\n

Next Episode: Friday, October 25th 3 P.M. Eastern – Special Guest Alex Denning Of WPShout.com

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #124:
\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 19 Oct 2013 06:37: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: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: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:31:"Matt: Fast Company on Simperium";s: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=43141";s: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://ma.tt/2013/10/fast-company-on-simperium/";s: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:230:"

Fast Company’s Co.Labs writes a great article on Why WordPress[.com] Gobbled Up This Scrappy iCloud Alternative.

";s: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, 18 Oct 2013 23:56: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: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: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:76:"WPTavern: WordSesh 2013: Live Streaming 24 Hours of Free WordPress Education";s: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=9992";s: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:127:"http://feedproxy.google.com/~r/WordpressTavern/~3/HjNrHEFpulo/wordsesh-2013-live-streaming-24-hours-of-free-wordpress-education";s: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:2232:"

Mark your calenders for December 6th and 7th, 2013. WordSesh will be back in session! In case you missed the first WordSesh, the basic idea is very similar to a WordCamp, except everything is streamed live on the web. The event is totally free and anyone can attend by tuning in from home. WordSesh is comprised of 24 sessions that cater to every type of WordPress user. There will be one session every hour, on the hour, for 24 hours.

\n

wordsesh

\n

If you haven’t been able to make it to as many WordCamps as you’d like, here’s your chance to get in on some awesome free WordPress sessions. WordSesh offers a community learning experience that you can enjoy with other WordPress fans around the world. The event utilizes Google Hangouts to broadcast sessions from wherever the speakers are located.

\n

In case you missed last year’s event, all of the sessions were recorded and are available on youtube. This should give you an idea of the high quality speakers you can expect when you tune in. The DradCast podcast will be kicking off WordSesh 2, ushering in “24 hours of non-stop WordPress knowledge and fun.”

\n

WordSesh is still taking applications for speakers and you can submit directly on the website. If you want to join in, make sure to add the dates to your calender, follow WordSesh on Twitter, and subscribe to WordSesh news and announcements. You don’t want to miss a minute of this awesome event.

\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, 18 Oct 2013 21:23: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:41:"Dev Blog: WordPress 3.7 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=2718";s: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/2013/10/wordpress-3-7-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:2236:"

The first release candidate for WordPress 3.7 is now available!

\n

In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

WordPress 3.7 introduces automatic background updates for security and minor releases (like updating from 3.7 to 3.7.1). These are really easy to test  — RC 1 will update every 12 hours or so to the latest development version, and then email you the results. (You may get two emails: one for debugging, and one all users of 3.7 will receive.) If something went wrong, you can report it.

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 3.7 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 3.7, visit the awesome About screen in your dashboard ( → About in the toolbar). There, you can also see if your install is eligible for background updates. WordPress won’t automatically update, for example, if you’re using version control like Subversion or Git.

\n

Developers, please test your plugins and themes against WordPress 3.7, so that if there is a compatibility issue, we can figure it out before the final release. Make sure you post any issues to the support forums.

\n

WordPress three seven
\nA self-updating engine
\nLies beneath the hood

";s: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, 18 Oct 2013 19:52: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: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: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:57:"WordPress.tv: Chad Warner: WordPress Admin: A Guided Tour";s: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:28:"http://wordpress.tv/?p=23082";s: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://wordpress.tv/2013/10/18/chad-warner-wordpress-admin-a-guided-tour/";s: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:663:"
\n
\n
Chad Warner: WordPress Admin: A Guided Tour
";s: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, 18 Oct 2013 16:35: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:12:"WordPress.tv";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:78:"WPTavern: WordPress MP6 Plugin Adds New Widgets Page and Midnight Color Scheme";s: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:32:"http://www.wptavern.com/?p=10040";s: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:130:"http://feedproxy.google.com/~r/WordpressTavern/~3/34x8ppLkyUY/wordpress-mp6-plugin-adds-new-widgets-page-and-midnight-color-scheme";s: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:3425:"

Although MP6 may sound like the code name of a covert spy mission, it’s actually one of the most exciting WordPress plugins in the repository right now. MP6 is part of the “features as plugins” initiative and houses the intended design updates to the WordPress admin. The plan is to include the changes in the core with the upcoming WordPress 3.8 release.

\n

Many WordPress sites are already using MP6 to transform their dashboards and there are several dozen reasons to upgrade to the latest version. Here are just a few of the highlights:

\n\n

You may have seen a poll floating around about extra color schemes for MP6. The Midnight color scheme must have proven the most popular, as it has now been included in the latest MP6 update. This bold skin for the dashboard sports red highlights:

\n
MP6 Midnight Color Scheme

MP6 Midnight Color Scheme

\n

The new widgets page design is much cleaner, allows you to see more widgets at once and is easier to navigate if you’re using a theme with many different widgetized areas.

\n
New widgets page design

New widgets page design

\n

In order to achieve this cleaner look, the widgets page had to sacrifice the widget descriptions, which seems to be a main point of concern for those who have already upgraded MP6. Plugin authors can be rather generic in how they name their widgets, so descriptions are helpful for knowing which widget you’re looking at. The scrollbar within the widgets section is also a point of contention. Overall, the MP6 2.1 updates have been very well received and there’s still plenty of time to work through any challenges.

\n

Your feedback is important! If you want to be a part of testing or you’re just curious about where the WordPress admin is going, install MP6 and put it through the paces of your daily routine. If you’re already using MP6, you can take advantage of all the new features and bug fixes by upgrading the plugin through your dashboard.

\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, 18 Oct 2013 13:21: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:64:"WordPress.tv: Ross Johnson: The Overlap Of Emotion And Usability";s: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:28:"http://wordpress.tv/?p=23074";s: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:83:"http://wordpress.tv/2013/10/18/ross-johnson-the-overlap-of-emotion-and-usability-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:686:"
\n
\n
Ross Johnson: The Overlap Of Emotion And Usability
";s: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, 18 Oct 2013 12:32: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:70:"WPTavern: Mark Jaquith on WordPress 3.6 Postmortem and Post Formats UI";s: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:32:"http://www.wptavern.com/?p=10034";s: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:122:"http://feedproxy.google.com/~r/WordpressTavern/~3/TrujuHuq6co/mark-jaquith-on-wordpress-3-6-postmortem-and-post-formats-ui";s: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:3783:"

One of the most anticipated features of WordPress 3.6 was the new Post Formats UI which would have exposed the feature to users who may not have known of its existence. Unfortunately, near the tail end of development for 3.6, Mark Jaquith made the announcement that the feature would be exiting core and that the work involved would most likely end up as a plugin. This generated a lot of mixed reviews from developers. In the midst of all the discussion, Mark Jaquith stated that he would publish a postmortem to explain the lessons learned.

\n

WordPress 3.7 is around the corner and we have yet to see the postmortem post, or a post formats UI plugin for that matter. I managed to get in touch with Mark Jaquith, who is an incredibly busy man, to find out what the status was on the post as well as the plugin. Mark tells me that he is working on the blog post that will explain the WordPress 3.6 development cycle, the lessons learned, and the struggles the team had during this time. The post will also cover the new approach to feature development that WordPress is now embracing with features being developed as plugins first. For those that will be attending WordCamp London on November 23 and 24th, Mark will be giving a presentation that shares the lessons learned in 3.6.

\n

Post Formats UI

\n

The reason for the delay in getting this information out to the public is that Mark is not an employee that gets to work on WordPress full-time. He was the lead developer for 3.6 and while trying to ensure the project stayed on time, he also had to make a living through his consultancy business. Some of his projects were even pushed back to make room for 3.6 development. To put it mildly, the 3.6 development process took a lot out of the man and he’s been playing catch up ever since.

\n

Mark concluded the email with his main takeaway of the post formats UI.

\n

With regards to post formats UI, the main takeaway I had was that the approach we took was the wrong approach and I didn’t really see that until very late in the process. So if or when the post formats UI feature gets taken back up in plugin form (in 3.9 or later), it will be a fresh effort, not one based on the work we did in 3.6. I am also watching the content creation experience efforts to see how that might play in.

\n

We’ll be keeping an eye out for the post and will link to it once it’s published. Thanks to Mark Jaquith for not only providing me with this update, but for all the hard work he did to lead the team to get 3.6 out the door.

\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, 17 Oct 2013 22:53: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: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:"";}}}}}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:9:{s:6:"server";s:5:"nginx";s:4:"date";s:29:"Sat, 26 Oct 2013 07:51:37 GMT";s:12:"content-type";s:8:"text/xml";s:14:"content-length";s:6:"206652";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:29:"Sat, 26 Oct 2013 07:30:14 GMT";s:4:"x-nc";s:11:"HIT lax 249";s:13:"accept-ranges";s:5:"bytes";}s:5:"build";s:14:"20130708171016";}', 'no'); +INSERT INTO `wp_2_options` VALUES (2878, '_transient_timeout_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1382817072', 'no'); +INSERT INTO `wp_2_options` VALUES (2879, '_transient_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1382773872', 'no'); +INSERT INTO `wp_2_options` VALUES (2880, '_transient_timeout_dash_aa95765b5cc111c56d5993d476b1c2f0', '1382817072', 'no'); +INSERT INTO `wp_2_options` VALUES (2881, '_transient_dash_aa95765b5cc111c56d5993d476b1c2f0', '
', 'no'); +INSERT INTO `wp_2_options` VALUES (2883, 'wp_db_backup_excs', 'a:2:{s:9:"revisions";a:0:{}s:4:"spam";a:0:{}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2884, 'rewrite_rules', 'a:79:{s:13:"sitemap\\.xml$";s:33:"index.php?gxs_module=sitemapindex";s:18:"sitemapindex\\.xml$";s:33:"index.php?gxs_module=sitemapindex";s:10:"site\\.xml$";s:25:"index.php?gxs_module=site";s:10:"page\\.xml$";s:25:"index.php?gxs_module=page";s:10:"post\\.xml$";s:25:"index.php?gxs_module=post";s:12:"author\\.xml$";s:27:"index.php?gxs_module=author";s:31:"([a-z0-9]+)_([a-z0-9_-]+)\\.xml$";s:59:"index.php?gxs_module=$matches[1]&gxs_sub_module=$matches[2]";s:11:"openid/(.+)";s:28:"index.php?openid=$matches[1]";s:47:"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:42:"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:35:"category/(.+?)/page/?([0-9]{1,})/?$";s:53:"index.php?category_name=$matches[1]&paged=$matches[2]";s:17:"category/(.+?)/?$";s:35:"index.php?category_name=$matches[1]";s:44:"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?tag=$matches[1]&feed=$matches[2]";s:39:"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?tag=$matches[1]&feed=$matches[2]";s:32:"tag/([^/]+)/page/?([0-9]{1,})/?$";s:43:"index.php?tag=$matches[1]&paged=$matches[2]";s:14:"tag/([^/]+)/?$";s:25:"index.php?tag=$matches[1]";s:45:"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?post_format=$matches[1]&feed=$matches[2]";s:40:"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?post_format=$matches[1]&feed=$matches[2]";s:33:"type/([^/]+)/page/?([0-9]{1,})/?$";s:51:"index.php?post_format=$matches[1]&paged=$matches[2]";s:15:"type/([^/]+)/?$";s:33:"index.php?post_format=$matches[1]";s:12:"robots\\.txt$";s:18:"index.php?robots=1";s:48:".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$";s:18:"index.php?feed=old";s:20:".*wp-app\\.php(/.*)?$";s:19:"index.php?error=403";s:18:".*wp-register.php$";s:23:"index.php?register=true";s:32:"feed/(feed|rdf|rss|rss2|atom)/?$";s:27:"index.php?&feed=$matches[1]";s:27:"(feed|rdf|rss|rss2|atom)/?$";s:27:"index.php?&feed=$matches[1]";s:20:"page/?([0-9]{1,})/?$";s:28:"index.php?&paged=$matches[1]";s:41:"comments/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?&feed=$matches[1]&withcomments=1";s:36:"comments/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?&feed=$matches[1]&withcomments=1";s:44:"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:40:"index.php?s=$matches[1]&feed=$matches[2]";s:39:"search/(.+)/(feed|rdf|rss|rss2|atom)/?$";s:40:"index.php?s=$matches[1]&feed=$matches[2]";s:32:"search/(.+)/page/?([0-9]{1,})/?$";s:41:"index.php?s=$matches[1]&paged=$matches[2]";s:14:"search/(.+)/?$";s:23:"index.php?s=$matches[1]";s:47:"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?author_name=$matches[1]&feed=$matches[2]";s:42:"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?author_name=$matches[1]&feed=$matches[2]";s:35:"author/([^/]+)/page/?([0-9]{1,})/?$";s:51:"index.php?author_name=$matches[1]&paged=$matches[2]";s:17:"author/([^/]+)/?$";s:33:"index.php?author_name=$matches[1]";s:69:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$";s:80:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]";s:64:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$";s:80:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$";s:81:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]";s:39:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$";s:63:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]";s:56:"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$";s:64:"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]";s:51:"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$";s:64:"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]";s:44:"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$";s:65:"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]";s:26:"([0-9]{4})/([0-9]{1,2})/?$";s:47:"index.php?year=$matches[1]&monthnum=$matches[2]";s:43:"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?year=$matches[1]&feed=$matches[2]";s:38:"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?year=$matches[1]&feed=$matches[2]";s:31:"([0-9]{4})/page/?([0-9]{1,})/?$";s:44:"index.php?year=$matches[1]&paged=$matches[2]";s:13:"([0-9]{4})/?$";s:26:"index.php?year=$matches[1]";s:58:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:68:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:88:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:83:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:83:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$";s:85:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1";s:77:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]";s:72:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]";s:65:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$";s:98:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]";s:72:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$";s:98:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(/[0-9]+)?/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]";s:47:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:57:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:77:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:72:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:72:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:64:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$";s:81:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]";s:51:"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$";s:65:"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]";s:38:"([0-9]{4})/comment-page-([0-9]{1,})/?$";s:44:"index.php?year=$matches[1]&cpage=$matches[2]";s:27:".?.+?/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:37:".?.+?/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:57:".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:52:".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:52:".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:20:"(.?.+?)/trackback/?$";s:35:"index.php?pagename=$matches[1]&tb=1";s:40:"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:47:"index.php?pagename=$matches[1]&feed=$matches[2]";s:35:"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$";s:47:"index.php?pagename=$matches[1]&feed=$matches[2]";s:28:"(.?.+?)/page/?([0-9]{1,})/?$";s:48:"index.php?pagename=$matches[1]&paged=$matches[2]";s:35:"(.?.+?)/comment-page-([0-9]{1,})/?$";s:48:"index.php?pagename=$matches[1]&cpage=$matches[2]";s:20:"(.?.+?)(/[0-9]+)?/?$";s:47:"index.php?pagename=$matches[1]&page=$matches[2]";}', 'yes'); +# +# End of data contents of table `wp_2_options` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_postmeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_postmeta` +# + +DROP TABLE IF EXISTS `wp_2_postmeta`; + + +# +# Table structure of table `wp_2_postmeta` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=305 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_postmeta` +# + +INSERT INTO `wp_2_postmeta` VALUES (1, 2, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (2, 1, '_edit_lock', '1382114523:2'); +INSERT INTO `wp_2_postmeta` VALUES (3, 8, '_wp_attached_file', '2013/10/cs1.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (4, 8, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:15:"2013/10/cs1.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:15:"cs1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:15:"cs1-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:15:"cs1-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (5, 9, '_wp_attached_file', '2013/10/cs11.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (6, 9, '_wp_attachment_context', 'custom-background'); +INSERT INTO `wp_2_postmeta` VALUES (7, 9, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:16:"2013/10/cs11.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:16:"cs11-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:16:"cs11-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:16:"cs11-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (8, 9, '_wp_attachment_is_custom_background', 'activetab'); +INSERT INTO `wp_2_postmeta` VALUES (9, 10, '_menu_item_type', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (10, 10, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (11, 10, '_menu_item_object_id', '10'); +INSERT INTO `wp_2_postmeta` VALUES (12, 10, '_menu_item_object', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (13, 10, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (14, 10, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (15, 10, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (16, 10, '_menu_item_url', 'http://research.micropasts.org/'); +INSERT INTO `wp_2_postmeta` VALUES (17, 10, '_menu_item_orphaned', '1382103958'); +INSERT INTO `wp_2_postmeta` VALUES (18, 11, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (19, 11, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (20, 11, '_menu_item_object_id', '2'); +INSERT INTO `wp_2_postmeta` VALUES (21, 11, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (22, 11, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (23, 11, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (24, 11, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (25, 11, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (26, 11, '_menu_item_orphaned', '1382103958'); +INSERT INTO `wp_2_postmeta` VALUES (27, 12, '_wp_attached_file', '2013/10/cropped-cs12.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (28, 12, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (29, 12, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:24:"2013/10/cropped-cs12.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:24:"cropped-cs12-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:24:"cropped-cs12-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:24:"cropped-cs12-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (30, 12, '_wp_attachment_is_custom_header', 'activetab'); +INSERT INTO `wp_2_postmeta` VALUES (31, 13, '_wp_attached_file', '2013/10/cs12.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (32, 13, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (33, 13, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:16:"2013/10/cs12.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:16:"cs12-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:16:"cs12-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:16:"cs12-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (34, 13, '_wp_attachment_is_custom_header', 'activetab'); +INSERT INTO `wp_2_postmeta` VALUES (35, 2, '_edit_lock', '1382114605:2'); +INSERT INTO `wp_2_postmeta` VALUES (36, 2, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (37, 16, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (38, 16, '_edit_lock', '1382725754:2'); +INSERT INTO `wp_2_postmeta` VALUES (39, 16, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (40, 26, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (41, 26, '_edit_lock', '1382724785:2'); +INSERT INTO `wp_2_postmeta` VALUES (42, 26, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (43, 1, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (50, 34, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (51, 34, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (52, 34, '_edit_lock', '1382107960:2'); +INSERT INTO `wp_2_postmeta` VALUES (53, 34, '_wp_trash_meta_status', 'draft'); +INSERT INTO `wp_2_postmeta` VALUES (54, 34, '_wp_trash_meta_time', '1382108093'); +INSERT INTO `wp_2_postmeta` VALUES (55, 36, '_edit_lock', '1382644634:2'); +INSERT INTO `wp_2_postmeta` VALUES (56, 36, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (57, 36, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (58, 43, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (59, 43, '_edit_lock', '1382644798:2'); +INSERT INTO `wp_2_postmeta` VALUES (60, 43, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (61, 45, '_wp_attached_file', '2013/10/UCL-logo-small-use-blk-300x88.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (62, 45, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:300;s:6:"height";i:88;s:4:"file";s:41:"2013/10/UCL-logo-small-use-blk-300x88.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:40:"UCL-logo-small-use-blk-300x88-150x88.jpg";s:5:"width";i:150;s:6:"height";i:88;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (63, 46, '_wp_attached_file', '2013/10/ahrc-logo-2.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (64, 46, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:279;s:6:"height";i:298;s:4:"file";s:23:"2013/10/ahrc-logo-2.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:23:"ahrc-logo-2-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (65, 47, '_wp_attached_file', '2013/10/LOGO_AHRC.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (66, 47, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:586;s:6:"height";i:133;s:4:"file";s:21:"2013/10/LOGO_AHRC.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:21:"LOGO_AHRC-150x133.jpg";s:5:"width";i:150;s:6:"height";i:133;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:20:"LOGO_AHRC-300x68.jpg";s:5:"width";i:300;s:6:"height";i:68;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (67, 48, '_wp_attached_file', '2013/10/bmlogo-150x73.png'); +INSERT INTO `wp_2_postmeta` VALUES (68, 48, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:150;s:6:"height";i:73;s:4:"file";s:25:"2013/10/bmlogo-150x73.png";s:5:"sizes";a:0:{}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (69, 49, '_wp_attached_file', '2013/10/paslogo-150x104.gif'); +INSERT INTO `wp_2_postmeta` VALUES (70, 49, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:150;s:6:"height";i:104;s:4:"file";s:27:"2013/10/paslogo-150x104.gif";s:5:"sizes";a:0:{}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (71, 50, '_wp_attached_file', '2013/10/ahrclogo.gif'); +INSERT INTO `wp_2_postmeta` VALUES (72, 50, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:796;s:6:"height";i:191;s:4:"file";s:20:"2013/10/ahrclogo.gif";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:20:"ahrclogo-150x150.gif";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/gif";}s:6:"medium";a:4:{s:4:"file";s:19:"ahrclogo-300x71.gif";s:5:"width";i:300;s:6:"height";i:71;s:9:"mime-type";s:9:"image/gif";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (73, 55, '_wp_attached_file', '2013/10/bmlogo_print.png'); +INSERT INTO `wp_2_postmeta` VALUES (74, 55, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:367;s:6:"height";i:130;s:4:"file";s:24:"2013/10/bmlogo_print.png";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:24:"bmlogo_print-150x130.png";s:5:"width";i:150;s:6:"height";i:130;s:9:"mime-type";s:9:"image/png";}s:6:"medium";a:4:{s:4:"file";s:24:"bmlogo_print-300x106.png";s:5:"width";i:300;s:6:"height";i:106;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (75, 49, '_edit_lock', '1382110563:2'); +INSERT INTO `wp_2_postmeta` VALUES (76, 58, '_wp_attached_file', '2013/10/portable_antiquities_scheme_logo.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (77, 58, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:213;s:6:"height";i:104;s:4:"file";s:44:"2013/10/portable_antiquities_scheme_logo.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:44:"portable_antiquities_scheme_logo-150x104.jpg";s:5:"width";i:150;s:6:"height";i:104;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (80, 69, '_menu_item_type', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (81, 69, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (82, 69, '_menu_item_object_id', '69'); +INSERT INTO `wp_2_postmeta` VALUES (83, 69, '_menu_item_object', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (84, 69, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (85, 69, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (86, 69, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (87, 69, '_menu_item_url', 'http://research.micropasts.org/'); +INSERT INTO `wp_2_postmeta` VALUES (89, 70, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (90, 70, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (91, 70, '_menu_item_object_id', '26'); +INSERT INTO `wp_2_postmeta` VALUES (92, 70, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (93, 70, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (94, 70, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (95, 70, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (96, 70, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (98, 71, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (99, 71, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (100, 71, '_menu_item_object_id', '36'); +INSERT INTO `wp_2_postmeta` VALUES (101, 71, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (102, 71, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (103, 71, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (104, 71, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (105, 71, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (107, 72, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (108, 72, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (109, 72, '_menu_item_object_id', '16'); +INSERT INTO `wp_2_postmeta` VALUES (110, 72, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (111, 72, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (112, 72, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (113, 72, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (114, 72, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (125, 74, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (126, 74, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (127, 74, '_menu_item_object_id', '43'); +INSERT INTO `wp_2_postmeta` VALUES (128, 74, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (129, 74, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (130, 74, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (131, 74, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (132, 74, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (134, 75, '_edit_last', '1'); +INSERT INTO `wp_2_postmeta` VALUES (135, 75, '_edit_lock', '1382644749:2'); +INSERT INTO `wp_2_postmeta` VALUES (136, 75, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (137, 80, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (138, 80, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (139, 80, '_menu_item_object_id', '75'); +INSERT INTO `wp_2_postmeta` VALUES (140, 80, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (141, 80, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (142, 80, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (143, 80, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (144, 80, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (191, 50, '_edit_lock', '1382345036:2'); +INSERT INTO `wp_2_postmeta` VALUES (192, 91, '_edit_lock', '1382457247:2'); +INSERT INTO `wp_2_postmeta` VALUES (193, 91, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (196, 1, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (197, 1, '_wp_trash_meta_time', '1382457399'); +INSERT INTO `wp_2_postmeta` VALUES (198, 1, '_wp_trash_meta_comments_status', 'a:1:{i:1;s:5:"trash";}'); +INSERT INTO `wp_2_postmeta` VALUES (199, 108, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (200, 108, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (201, 108, '_menu_item_object_id', '75'); +INSERT INTO `wp_2_postmeta` VALUES (202, 108, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (203, 108, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (204, 108, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (205, 108, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (206, 108, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (207, 108, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (208, 109, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (209, 109, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (210, 109, '_menu_item_object_id', '43'); +INSERT INTO `wp_2_postmeta` VALUES (211, 109, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (212, 109, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (213, 109, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (214, 109, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (215, 109, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (216, 109, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (217, 110, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (218, 110, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (219, 110, '_menu_item_object_id', '36'); +INSERT INTO `wp_2_postmeta` VALUES (220, 110, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (221, 110, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (222, 110, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (223, 110, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (224, 110, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (225, 110, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (226, 111, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (227, 111, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (228, 111, '_menu_item_object_id', '26'); +INSERT INTO `wp_2_postmeta` VALUES (229, 111, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (230, 111, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (231, 111, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (232, 111, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (233, 111, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (234, 111, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (235, 112, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (236, 112, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (237, 112, '_menu_item_object_id', '16'); +INSERT INTO `wp_2_postmeta` VALUES (238, 112, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (239, 112, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (240, 112, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (241, 112, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (242, 112, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (243, 112, '_menu_item_orphaned', '1382522995'); +INSERT INTO `wp_2_postmeta` VALUES (244, 113, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (245, 113, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (246, 113, '_menu_item_object_id', '2'); +INSERT INTO `wp_2_postmeta` VALUES (247, 113, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (248, 113, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (249, 113, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (250, 113, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (251, 113, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (252, 113, '_menu_item_orphaned', '1382522995'); +INSERT INTO `wp_2_postmeta` VALUES (253, 114, '_wp_attached_file', '2013/10/cs121.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (254, 114, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (255, 114, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs121.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs121-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs121-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (256, 114, '_wp_attachment_is_custom_header', 'the-bootstrap'); +INSERT INTO `wp_2_postmeta` VALUES (257, 115, '_wp_attached_file', '2013/10/cs12_2.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (258, 115, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (259, 115, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:386;s:6:"height";i:250;s:4:"file";s:18:"2013/10/cs12_2.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:18:"cs12_2-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:18:"cs12_2-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (260, 115, '_wp_attachment_is_custom_header', 'the-bootstrap'); +INSERT INTO `wp_2_postmeta` VALUES (261, 117, '_wp_attached_file', '2013/10/cs122.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (262, 117, '_wp_attachment_context', 'custom-background'); +INSERT INTO `wp_2_postmeta` VALUES (263, 117, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs122.jpg";s:5:"sizes";a:8:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs122-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs122-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:12:"slider-thumb";a:4:{s:4:"file";s:17:"cs122-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:10:"blog-thumb";a:4:{s:4:"file";s:17:"cs122-268x200.jpg";s:5:"width";i:268;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:12:"teaser-thumb";a:4:{s:4:"file";s:17:"cs122-310x190.jpg";s:5:"width";i:310;s:6:"height";i:190;s:9:"mime-type";s:10:"image/jpeg";}s:13:"gallery-thumb";a:4:{s:4:"file";s:17:"cs122-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:11:"video-thumb";a:4:{s:4:"file";s:17:"cs122-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:16:"attachment-thumb";a:4:{s:4:"file";s:17:"cs122-700x453.jpg";s:5:"width";i:700;s:6:"height";i:453;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (264, 117, '_wp_attachment_is_custom_background', 'esplanade'); +INSERT INTO `wp_2_postmeta` VALUES (265, 118, '_wp_attached_file', '2013/10/cs123.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (266, 118, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (267, 118, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs123.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs123-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs123-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:17:"cs123-624x403.jpg";s:5:"width";i:624;s:6:"height";i:403;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (268, 118, '_wp_attachment_is_custom_header', 'twentytwelve'); +INSERT INTO `wp_2_postmeta` VALUES (269, 119, '_wp_attached_file', '2013/10/cs124.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (270, 119, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (271, 119, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs124.jpg";s:5:"sizes";a:8:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs124-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs124-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:12:"slider-thumb";a:4:{s:4:"file";s:17:"cs124-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:10:"blog-thumb";a:4:{s:4:"file";s:17:"cs124-268x200.jpg";s:5:"width";i:268;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:12:"teaser-thumb";a:4:{s:4:"file";s:17:"cs124-310x190.jpg";s:5:"width";i:310;s:6:"height";i:190;s:9:"mime-type";s:10:"image/jpeg";}s:13:"gallery-thumb";a:4:{s:4:"file";s:17:"cs124-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:11:"video-thumb";a:4:{s:4:"file";s:17:"cs124-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:16:"attachment-thumb";a:4:{s:4:"file";s:17:"cs124-700x453.jpg";s:5:"width";i:700;s:6:"height";i:453;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (272, 119, '_wp_attachment_is_custom_header', 'esplanade'); +INSERT INTO `wp_2_postmeta` VALUES (273, 114, '_edit_lock', '1382525564:1'); +INSERT INTO `wp_2_postmeta` VALUES (274, 120, '_wp_attached_file', '2013/10/400pxWideMicropasts.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (275, 120, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:400;s:6:"height";i:259;s:4:"file";s:31:"2013/10/400pxWideMicropasts.jpg";s:5:"sizes";a:4:{s:9:"thumbnail";a:4:{s:4:"file";s:31:"400pxWideMicropasts-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:31:"400pxWideMicropasts-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:31:"400pxWideMicropasts-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:31:"400pxWideMicropasts-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (276, 121, '_wp_attached_file', '2013/10/cs12_21.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (277, 121, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (278, 121, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:386;s:6:"height";i:250;s:4:"file";s:19:"2013/10/cs12_21.jpg";s:5:"sizes";a:4:{s:9:"thumbnail";a:4:{s:4:"file";s:19:"cs12_21-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:19:"cs12_21-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:19:"cs12_21-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:19:"cs12_21-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (279, 121, '_wp_attachment_is_custom_header', 'tiga'); +INSERT INTO `wp_2_postmeta` VALUES (280, 122, '_wp_attached_file', '2013/10/cs125.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (281, 122, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (282, 122, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs125.jpg";s:5:"sizes";a:7:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs125-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs125-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:17:"cs125-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:17:"cs125-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-700px";a:4:{s:4:"file";s:17:"cs125-700x300.jpg";s:5:"width";i:700;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-620px";a:4:{s:4:"file";s:17:"cs125-620x350.jpg";s:5:"width";i:620;s:6:"height";i:350;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-460px";a:4:{s:4:"file";s:17:"cs125-460x300.jpg";s:5:"width";i:460;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (283, 122, '_wp_attachment_is_custom_header', 'tiga'); +INSERT INTO `wp_2_postmeta` VALUES (284, 123, '_wp_attached_file', '2013/10/cs126.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (285, 123, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (286, 123, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs126.jpg";s:5:"sizes";a:7:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs126-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs126-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:17:"cs126-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:17:"cs126-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-700px";a:4:{s:4:"file";s:17:"cs126-700x300.jpg";s:5:"width";i:700;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-620px";a:4:{s:4:"file";s:17:"cs126-620x350.jpg";s:5:"width";i:620;s:6:"height";i:350;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-460px";a:4:{s:4:"file";s:17:"cs126-460x300.jpg";s:5:"width";i:460;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (287, 123, '_wp_attachment_is_custom_header', 'tiga'); +INSERT INTO `wp_2_postmeta` VALUES (288, 2, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (289, 2, '_wp_trash_meta_time', '1382527192'); +INSERT INTO `wp_2_postmeta` VALUES (290, 126, '_wp_attached_file', '2013/10/cs127.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (291, 126, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (292, 126, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs127.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs127-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs127-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (293, 126, '_wp_attachment_is_custom_header', 'responsive-childtheme-master'); +INSERT INTO `wp_2_postmeta` VALUES (294, 127, '_wp_attached_file', '2013/10/cs128.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (295, 127, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs128.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs128-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs128-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (296, 75, '_responsive_layout', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (297, 26, '_responsive_layout', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (298, 16, '_responsive_layout', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (299, 36, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (300, 36, '_wp_trash_meta_time', '1382644833'); +INSERT INTO `wp_2_postmeta` VALUES (301, 75, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (302, 75, '_wp_trash_meta_time', '1382644866'); +INSERT INTO `wp_2_postmeta` VALUES (303, 43, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (304, 43, '_wp_trash_meta_time', '1382645080'); +# +# End of data contents of table `wp_2_postmeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_posts` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_posts` +# + +DROP TABLE IF EXISTS `wp_2_posts`; + + +# +# Table structure of table `wp_2_posts` +# + +CREATE TABLE `wp_2_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` longtext 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=InnoDB AUTO_INCREMENT=141 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_posts` +# + +INSERT INTO `wp_2_posts` VALUES (1, 4, '2013-10-09 18:47:16', '2013-10-09 18:47:16', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'trash', 'open', 'open', '', 'hello-world', '', '', '2013-10-22 15:56:39', '2013-10-22 15:56:39', '', 0, 'http://research.micropasts.org/?p=1', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (2, 4, '2013-10-09 18:47:16', '2013-10-09 18:47:16', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'trash', 'open', 'open', '', 'sample-page', '', '', '2013-10-23 11:19:52', '2013-10-23 11:19:52', '', 0, 'http://research.micropasts.org/?page_id=2', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (8, 2, '2013-10-18 13:35:57', '2013-10-18 13:35:57', '', 'cs1', '', 'inherit', 'open', 'open', '', 'cs1', '', '', '2013-10-18 13:35:57', '2013-10-18 13:35:57', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs1.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (9, 2, '2013-10-18 13:43:17', '2013-10-18 13:43:17', '', 'cs1', '', 'inherit', 'open', 'open', '', 'cs1-2', '', '', '2013-10-18 13:43:17', '2013-10-18 13:43:17', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs11.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (10, 2, '2013-10-18 13:45:57', '0000-00-00 00:00:00', '', 'Home', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-18 13:45:57', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=10', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (11, 2, '2013-10-18 13:45:58', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-18 13:45:58', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=11', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (12, 2, '2013-10-18 13:49:18', '2013-10-18 13:49:18', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cropped-cs12.jpg', 'cropped-cs12.jpg', '', 'inherit', 'closed', 'open', '', 'cropped-cs12-jpg', '', '', '2013-10-18 13:49:18', '2013-10-18 13:49:18', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cropped-cs12.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (13, 2, '2013-10-18 13:49:33', '2013-10-18 13:49:33', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg', 'cs12.jpg', '', 'inherit', 'closed', 'open', '', 'cs12-jpg', '', '', '2013-10-18 13:49:33', '2013-10-18 13:49:33', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (14, 2, '2013-10-18 14:48:50', '2013-10-18 14:48:50', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-autosave-v1', '', '', '2013-10-18 14:48:50', '2013-10-18 14:48:50', '', 2, 'http://research.micropasts.org/2013/10/18/2-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (15, 2, '2013-10-18 14:04:05', '2013-10-18 14:04:05', '', 'About the project', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 14:04:05', '2013-10-18 14:04:05', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (16, 2, '2013-10-18 14:29:29', '2013-10-18 14:29:29', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDaniel Lombraña González, Citizen Cyberscience Centre\r\n\r\n, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'publish', 'open', 'open', '', 'people', '', '', '2013-10-25 18:30:25', '2013-10-25 18:30:25', '', 0, 'http://research.micropasts.org/?page_id=16', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (17, 2, '2013-10-18 14:16:01', '2013-10-18 14:16:01', 'Dr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:16:01', '2013-10-18 14:16:01', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (18, 2, '2013-10-18 14:16:55', '2013-10-18 14:16:55', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:16:55', '2013-10-18 14:16:55', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (19, 2, '2013-10-18 14:29:27', '2013-10-18 14:29:27', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:29:27', '2013-10-18 14:29:27', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (21, 2, '2013-10-18 14:33:08', '2013-10-18 14:33:08', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:33:08', '2013-10-18 14:33:08', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (22, 2, '2013-10-18 14:37:15', '2013-10-18 14:37:15', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:37:15', '2013-10-18 14:37:15', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (23, 2, '2013-10-18 14:38:00', '2013-10-18 14:38:00', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:38:00', '2013-10-18 14:38:00', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (25, 2, '2013-10-18 14:42:09', '2013-10-18 14:42:09', '', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 14:42:09', '2013-10-18 14:42:09', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (26, 2, '2013-10-18 14:43:58', '2013-10-18 14:43:58', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'publish', 'open', 'open', '', 'about-the-project', '', '', '2013-10-24 20:03:56', '2013-10-24 20:03:56', '', 0, 'http://research.micropasts.org/?page_id=26', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (27, 2, '2013-10-18 14:42:49', '2013-10-18 14:42:49', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\n \r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 14:42:49', '2013-10-18 14:42:49', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (28, 2, '2013-10-18 14:43:56', '2013-10-18 14:43:56', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 14:43:56', '2013-10-18 14:43:56', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (30, 2, '2013-10-18 14:48:54', '2013-10-18 14:48:54', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 14:48:54', '2013-10-18 14:48:54', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (31, 2, '2013-10-18 14:52:49', '2013-10-18 14:52:49', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!\r\n\r\n
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 14:52:49', '2013-10-18 14:52:49', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (32, 2, '2013-10-18 14:53:05', '2013-10-18 14:53:05', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 14:53:05', '2013-10-18 14:53:05', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (33, 2, '2013-10-18 14:53:20', '2013-10-18 14:53:20', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 14:53:20', '2013-10-18 14:53:20', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (34, 2, '2013-10-18 14:54:32', '2013-10-18 14:54:32', '', 'd', '', 'trash', 'open', 'open', '', 'd', '', '', '2013-10-18 14:54:53', '2013-10-18 14:54:53', '', 0, 'http://research.micropasts.org/?page_id=34', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (35, 2, '2013-10-18 14:54:32', '2013-10-18 14:54:32', '', 'd', '', 'inherit', 'open', 'open', '', '34-revision-v1', '', '', '2013-10-18 14:54:32', '2013-10-18 14:54:32', '', 34, 'http://research.micropasts.org/2013/10/18/34-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (36, 2, '2013-10-18 15:05:00', '2013-10-18 15:05:00', 'Through this project, we hope to achieve five key objectives and particularly to:\r\n\r\nEnhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nDevelop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nCapture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nExplore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nScope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'trash', 'open', 'open', '', 'our-objectives', '', '', '2013-10-24 20:00:33', '2013-10-24 20:00:33', '', 0, 'http://research.micropasts.org/?page_id=36', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (37, 2, '2013-10-18 15:04:45', '2013-10-18 15:04:45', 'Through this project, we hope...\r\n\r\nTo enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nTo develop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nTo capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nTo explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nTo scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'inherit', 'open', 'open', '', '36-revision-v1', '', '', '2013-10-18 15:04:45', '2013-10-18 15:04:45', '', 36, 'http://research.micropasts.org/2013/10/18/36-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (38, 2, '2013-10-18 15:06:37', '2013-10-18 15:06:37', 'Through this project, we hope to achieve five key objectives:\r\n\r\nTo enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nTo develop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nTo capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nTo explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nTo scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'inherit', 'open', 'open', '', '36-revision-v1', '', '', '2013-10-18 15:06:37', '2013-10-18 15:06:37', '', 36, 'http://research.micropasts.org/2013/10/18/36-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (40, 2, '2013-10-18 15:08:15', '2013-10-18 15:08:15', 'Through this project, we hope to achieve five key objectives and particularly to:\r\n\r\nEnhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nDevelop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nCapture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nExplore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nScope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'inherit', 'open', 'open', '', '36-revision-v1', '', '', '2013-10-18 15:08:15', '2013-10-18 15:08:15', '', 36, 'http://research.micropasts.org/2013/10/18/36-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (43, 2, '2013-10-18 15:26:56', '2013-10-18 15:26:56', 'The project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'trash', 'open', 'open', '', 'who-is-funding-us', '', '', '2013-10-24 20:04:40', '2013-10-24 20:04:40', '', 0, 'http://research.micropasts.org/?page_id=43', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (44, 2, '2013-10-18 15:14:15', '2013-10-18 15:14:15', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:14:15', '2013-10-18 15:14:15', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (45, 2, '2013-10-18 15:17:29', '2013-10-18 15:17:29', '', 'UCL-logo-small-use-blk-300x88', '', 'inherit', 'open', 'open', '', 'ucl-logo-small-use-blk-300x88', '', '', '2013-10-18 15:17:29', '2013-10-18 15:17:29', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/UCL-logo-small-use-blk-300x88.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (46, 2, '2013-10-18 15:17:46', '2013-10-18 15:17:46', '', 'ahrc-logo-2', '', 'inherit', 'open', 'open', '', 'ahrc-logo-2', '', '', '2013-10-18 15:17:46', '2013-10-18 15:17:46', '', 43, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/ahrc-logo-2.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (47, 2, '2013-10-18 15:17:50', '2013-10-18 15:17:50', '', 'LOGO_AHRC', '', 'inherit', 'open', 'open', '', 'logo_ahrc', '', '', '2013-10-18 15:17:50', '2013-10-18 15:17:50', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/LOGO_AHRC.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (48, 2, '2013-10-18 15:19:11', '2013-10-18 15:19:11', '', 'bmlogo-150x73', '', 'inherit', 'open', 'open', '', 'bmlogo-150x73', '', '', '2013-10-18 15:19:11', '2013-10-18 15:19:11', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/bmlogo-150x73.png', 0, 'attachment', 'image/png', 0); +INSERT INTO `wp_2_posts` VALUES (49, 2, '2013-10-18 15:19:13', '2013-10-18 15:19:13', '', 'paslogo-150x104', '', 'inherit', 'open', 'open', '', 'paslogo-150x104', '', '', '2013-10-18 15:19:13', '2013-10-18 15:19:13', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/paslogo-150x104.gif', 0, 'attachment', 'image/gif', 0); +INSERT INTO `wp_2_posts` VALUES (50, 2, '2013-10-18 15:21:02', '2013-10-18 15:21:02', '', 'ahrclogo', '', 'inherit', 'open', 'open', '', 'ahrclogo', '', '', '2013-10-18 15:21:02', '2013-10-18 15:21:02', '', 43, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/ahrclogo.gif', 0, 'attachment', 'image/gif', 0); +INSERT INTO `wp_2_posts` VALUES (51, 2, '2013-10-18 15:21:36', '2013-10-18 15:21:36', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n \r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:21:36', '2013-10-18 15:21:36', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (52, 2, '2013-10-18 15:26:56', '2013-10-18 15:26:56', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:26:56', '2013-10-18 15:26:56', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (53, 2, '2013-10-18 15:28:15', '2013-10-18 15:28:15', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:28:15', '2013-10-18 15:28:15', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (54, 2, '2013-10-18 16:40:58', '2013-10-18 16:40:58', 'Through the Micropasts platform, this project uses crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\n\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\n\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\n\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\n\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-autosave-v1', '', '', '2013-10-18 16:40:58', '2013-10-18 16:40:58', '', 26, 'http://research.micropasts.org/2013/10/18/26-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (55, 2, '2013-10-18 15:32:55', '2013-10-18 15:32:55', '', 'bmlogo_print', '', 'inherit', 'open', 'open', '', 'bmlogo_print', '', '', '2013-10-18 15:32:55', '2013-10-18 15:32:55', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/bmlogo_print.png', 0, 'attachment', 'image/png', 0); +INSERT INTO `wp_2_posts` VALUES (56, 2, '2013-10-18 15:33:47', '2013-10-18 15:33:47', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:33:47', '2013-10-18 15:33:47', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (57, 2, '2013-10-18 15:36:59', '2013-10-18 15:36:59', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:36:59', '2013-10-18 15:36:59', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (58, 2, '2013-10-18 15:38:05', '2013-10-18 15:38:05', '', 'portable_antiquities_scheme_logo', '', 'inherit', 'open', 'open', '', 'portable_antiquities_scheme_logo', '', '', '2013-10-18 15:38:05', '2013-10-18 15:38:05', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/portable_antiquities_scheme_logo.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (59, 2, '2013-10-18 15:38:11', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-18 15:38:11', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?page_id=59', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (60, 2, '2013-10-18 15:38:53', '2013-10-18 15:38:53', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:38:53', '2013-10-18 15:38:53', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (61, 2, '2013-10-18 15:39:22', '2013-10-18 15:39:22', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:39:22', '2013-10-18 15:39:22', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (62, 2, '2013-10-18 15:40:54', '2013-10-18 15:40:54', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:40:54', '2013-10-18 15:40:54', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (63, 2, '2013-10-25 18:30:18', '2013-10-25 18:30:18', 'Project team\n\nAndrew Bevan, UCL Institute of Archaeology\nPrincipal investigator\n\n\nDaniel Pett, The British Museum\nCo-investigator\n\nRachael Sparks, UCL Institute of Archaeology\nCo-investigator\n\nChiara Bonacchi, UCL Institute of Archaeology\nResearch Associate\n\nAdi Keinan, UCL Institute of Archaeology\nResearch Associate\n\nIan Carroll, UCL Institute of Archaeology\nArchival Collections Liaison\n\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\nArchival Collections Liaison\n\n \n\nAdvisory group\n\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\n\nTim Causer, UCL Laws\n\nNathalie Cohen, Thames Discovery Project\n\nStuart Dunn, King\'s College London, Digital Humanities\n\nSusie Green, UCL Institute of Archaeology\n\nDaniel Lombraña González, Citizen Cyberscience\n\n\n\nLorna Richardson, Waveney Valley Community Archaeology Group\n\nMia Ridge, Open University\n\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\n\nMelissa Terras, UCL Centre for Digital Humanities\n\n \n\n ', 'People', '', 'inherit', 'open', 'open', '', '16-autosave-v1', '', '', '2013-10-25 18:30:18', '2013-10-25 18:30:18', '', 16, 'http://research.micropasts.org/2013/10/18/16-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (64, 2, '2013-10-18 16:09:55', '2013-10-18 16:09:55', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 16:09:55', '2013-10-18 16:09:55', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (65, 2, '2013-10-18 16:35:43', '2013-10-18 16:35:43', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 16:35:43', '2013-10-18 16:35:43', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (66, 2, '2013-10-18 16:41:36', '2013-10-18 16:41:36', 'Through the Micropasts platform, this project uses crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 16:41:36', '2013-10-18 16:41:36', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (67, 2, '2013-10-18 16:43:10', '2013-10-18 16:43:10', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 16:43:10', '2013-10-18 16:43:10', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (68, 2, '2013-10-18 16:43:51', '2013-10-18 16:43:51', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 16:43:51', '2013-10-18 16:43:51', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (69, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', '', 'Home', '', 'publish', 'open', 'open', '', 'home', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=69', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (70, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '70', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=70', 2, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (71, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '71', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=71', 3, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (72, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '72', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=72', 5, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (74, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '74', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=74', 6, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (75, 2, '2013-10-18 17:11:08', '2013-10-18 17:11:08', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to:\r\n
    \r\n
  1. help with the co-production of open archaeological data through crowd-sourcing
  2. \r\n
  3. co-design new research agendas using the community forum
  4. \r\n
  5. micro-fund entirely new research agendas via crowd-funding.
  6. \r\n
\r\n ', 'Micropasts platform', '', 'trash', 'open', 'open', '', 'the-micropasts-platform', '', '', '2013-10-24 20:01:06', '2013-10-24 20:01:06', '', 0, 'http://research.micropasts.org/?page_id=75', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (76, 2, '2013-10-18 17:11:08', '2013-10-18 17:11:08', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'The Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:11:08', '2013-10-18 17:11:08', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (77, 2, '2013-10-18 17:11:46', '2013-10-18 17:11:46', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:11:46', '2013-10-18 17:11:46', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (78, 2, '2013-10-18 17:12:45', '2013-10-18 17:12:45', 'This project uses the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 17:12:45', '2013-10-18 17:12:45', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (79, 2, '2013-10-18 17:13:24', '2013-10-18 17:13:24', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'The Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:13:24', '2013-10-18 17:13:24', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (80, 2, '2013-10-18 17:14:42', '2013-10-18 17:14:42', ' ', '', '', 'publish', 'open', 'open', '', '80', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=80', 4, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (86, 2, '2013-10-18 17:17:56', '2013-10-18 17:17:56', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:17:56', '2013-10-18 17:17:56', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (87, 2, '2013-10-18 17:21:22', '2013-10-18 17:21:22', 'This project uses the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 17:21:22', '2013-10-18 17:21:22', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (88, 2, '2013-10-18 17:24:07', '2013-10-18 17:24:07', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing space; **co-design new research agendas using the community forum; ***micro-fund entirely new research agendas on a dedicated crowd-funding space.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:24:07', '2013-10-18 17:24:07', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (89, 2, '2013-10-18 17:25:48', '2013-10-18 17:25:48', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through crowd-sourcing; **co-design new research agendas using the community forum; ***micro-fund entirely new research agendas via crowd-funding.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:25:48', '2013-10-18 17:25:48', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (90, 2, '2013-10-18 17:27:11', '2013-10-18 17:27:11', 'The project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 17:27:11', '2013-10-18 17:27:11', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (91, 2, '2013-10-22 15:55:55', '2013-10-22 15:55:55', '

Hello!

\r\n

We are a team of researchers from University College London and the British Museum. In the past few years, we have been looking into the new opportunities provided by digital technologies for public engagement in archaeology, through several seminar series and a recent edited volume on the topic. We are now lucky enough to have funds from the AHRC to work on a project entitled Crowd and Community Fuelled Archaeological Research which has started this month.

\r\n

The core of our efforts day-to-day will go into enabling a more general online platform for crowd-sourcing and crowd-funding that we have called Micropasts. The platform’s goal is to bring archaeological enthusiasts of all kinds -- traditional academics, archaeological societies, interested individual members of the public -- together to create new, high quality archaeological and historical data about the human past.

\r\n

This research blog also allows some of us to indulge our more navel-gazing tendencies (!) and to post about themes ranging from public archaeology to research ethics to the technical aspects of crowd-sourcing and crowd-funding. We will be aiming to write for a wide audience including those working in public archaeology, cultural heritage, museum studies, computational archaeology and the digital humanities, as well as practitioners in the heritage and creative sectors.

\r\n

But in this first blog post, let’s start by setting out the context for our research. Recently, increasing attention has been dedicated to the potential of digital technologies for supporting more egalitarian and transparent practice, as well as wider participation.  One fairly well-known digital method to pursue these goals has been ‘crowd-sourcing’, the practice of seeking information, services or funds in small chunks from a ‘crowd’ of people including as yet wholly anonymous members of the public as well as those already belonging to relevant communities of interest. Archaeology and crowd-sourcing should make for a great fit, because, while archaeology enjoys widespread appeal, it tries to protect, document and understand a massive dwindling resource, traditionally supported by tiny pots of money.

\r\n

Early examples of crowd-sourcing in archaeology and related disciplines have focused on things like inspecting imagery to detect archaeological features, pooling wartime tangible heritage, transcribing papyri, interrogating built architecture and public recording of metal artefacts. In other cases, appeals to the ‘crowd’ have been made to micro-finance student dissertations, major excavations and long-term community projects all over the globe. What past crowd-sourcing and crowd-funding experiments have in common is that they mainly embraced ‘contributory’ models, where members of the public were asked to contribute their skills or their money in support of research agendas that were typically designed by academics.

\r\n

We too wish to create a community space where anyone with an interest in archaeology and history can help build archaeological knowledge by contributing to existing projects, but perhaps more ambitiously we also want to have a crack at proper ‘co-producton’ (to tack on yet more jargon!) and offer serious opportunities for traditional academics, volunteer societies and other enthusiasts to dream up new research initiatives collectively, and then to fund them via crowd-funding appeals.

\r\n

What will be the ethical implications of online community co-production like this? What should be the consequences of crowd-funding for heritage policy? How, technically speaking, do we best build a multi-purpose, wide-range web platform of this kind? How can we best encourage fun, productive and inclusive online communities? How should we evaluate whether our approaches are effective or not?

\r\n

These are possible subjects of future posts, but we promise to throw in some more light-hearted and serendipitous stuff too, so please do keep following!

\r\n

Chiara, Andy & Dan

', 'Crowd-sourcing, crowd-funding and archaeology', '', 'publish', 'open', 'open', '', 'crowd-sourcing-crowd-funding-and-archaeology', '', '\nhttp://research.micropasts.org/people/', '2013-10-22 15:55:55', '2013-10-22 15:55:55', '', 0, 'http://research.micropasts.org/?p=91', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (92, 2, '2013-10-22 15:55:55', '2013-10-22 15:55:55', '

Hello!

\r\n

We are a team of researchers from University College London and the British Museum. In the past few years, we have been looking into the new opportunities provided by digital technologies for public engagement in archaeology, through several seminar series and a recent edited volume on the topic. We are now lucky enough to have funds from the AHRC to work on a project entitled Crowd and Community Fuelled Archaeological Research which has started this month.

\r\n

The core of our efforts day-to-day will go into enabling a more general online platform for crowd-sourcing and crowd-funding that we have called Micropasts. The platform’s goal is to bring archaeological enthusiasts of all kinds -- traditional academics, archaeological societies, interested individual members of the public -- together to create new, high quality archaeological and historical data about the human past.

\r\n

This research blog also allows some of us to indulge our more navel-gazing tendencies (!) and to post about themes ranging from public archaeology to research ethics to the technical aspects of crowd-sourcing and crowd-funding. We will be aiming to write for a wide audience including those working in public archaeology, cultural heritage, museum studies, computational archaeology and the digital humanities, as well as practitioners in the heritage and creative sectors.

\r\n

But in this first blog post, let’s start by setting out the context for our research. Recently, increasing attention has been dedicated to the potential of digital technologies for supporting more egalitarian and transparent practice, as well as wider participation.  One fairly well-known digital method to pursue these goals has been ‘crowd-sourcing’, the practice of seeking information, services or funds in small chunks from a ‘crowd’ of people including as yet wholly anonymous members of the public as well as those already belonging to relevant communities of interest. Archaeology and crowd-sourcing should make for a great fit, because, while archaeology enjoys widespread appeal, it tries to protect, document and understand a massive dwindling resource, traditionally supported by tiny pots of money.

\r\n

Early examples of crowd-sourcing in archaeology and related disciplines have focused on things like inspecting imagery to detect archaeological features, pooling wartime tangible heritage, transcribing papyri, interrogating built architecture and public recording of metal artefacts. In other cases, appeals to the ‘crowd’ have been made to micro-finance student dissertations, major excavations and long-term community projects all over the globe. What past crowd-sourcing and crowd-funding experiments have in common is that they mainly embraced ‘contributory’ models, where members of the public were asked to contribute their skills or their money in support of research agendas that were typically designed by academics.

\r\n

We too wish to create a community space where anyone with an interest in archaeology and history can help build archaeological knowledge by contributing to existing projects, but perhaps more ambitiously we also want to have a crack at proper ‘co-producton’ (to tack on yet more jargon!) and offer serious opportunities for traditional academics, volunteer societies and other enthusiasts to dream up new research initiatives collectively, and then to fund them via crowd-funding appeals.

\r\n

What will be the ethical implications of online community co-production like this? What should be the consequences of crowd-funding for heritage policy? How, technically speaking, do we best build a multi-purpose, wide-range web platform of this kind? How can we best encourage fun, productive and inclusive online communities? How should we evaluate whether our approaches are effective or not?

\r\n

These are possible subjects of future posts, but we promise to throw in some more light-hearted and serendipitous stuff too, so please do keep following!

\r\n

Chiara, Andy & Dan

', 'Crowd-sourcing, crowd-funding and archaeology', '', 'inherit', 'open', 'open', '', '91-revision-v1', '', '', '2013-10-22 15:55:55', '2013-10-22 15:55:55', '', 91, 'http://research.micropasts.org/2013/10/22/91-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (93, 2, '2013-10-23 08:34:42', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 08:34:42', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=93', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (94, 1, '2013-10-23 08:54:42', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 08:54:42', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=94', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (95, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Custom Logo Uploader', '', 'draft', 'closed', 'closed', '', 'of-custom_logo_uploader', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=95', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (96, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Favicon Uploader', '', 'draft', 'closed', 'closed', '', 'of-favicon_uploader', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=96', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (97, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Apple Touch Uploader', '', 'draft', 'closed', 'closed', '', 'of-apple_touch_uploader', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=97', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (98, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Image One Slide', '', 'draft', 'closed', 'closed', '', 'of-image_one_slide', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=98', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (99, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Image Two Slide', '', 'draft', 'closed', 'closed', '', 'of-image_two_slide', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=99', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (100, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Image Three Slide', '', 'draft', 'closed', 'closed', '', 'of-image_three_slide', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=100', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (101, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image One', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_one', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=101', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (102, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image Two', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_two', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=102', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (103, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image Three', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_three', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=103', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (104, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image Four', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_four', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=104', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (105, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Boxes Lite Image One', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_boxes_lite_image_one', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=105', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (106, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Boxes Lite Image Two', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_boxes_lite_image_two', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=106', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (107, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Boxes Lite Image Three', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_boxes_lite_image_three', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=107', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (108, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=108', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (109, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=109', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (110, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=110', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (111, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=111', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (112, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=112', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (113, 2, '2013-10-23 10:09:55', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:55', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=113', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (114, 2, '2013-10-23 10:14:32', '2013-10-23 10:14:32', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs121.jpg', 'cs121.jpg', '', 'inherit', 'closed', 'open', '', 'cs121-jpg', '', '', '2013-10-23 10:14:32', '2013-10-23 10:14:32', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs121.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (115, 2, '2013-10-23 10:16:26', '2013-10-23 10:16:26', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_2.jpg', 'cs12_2.jpg', '', 'inherit', 'closed', 'open', '', 'cs12_2-jpg', '', '', '2013-10-23 10:16:26', '2013-10-23 10:16:26', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_2.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (116, 1, '2013-10-23 10:20:40', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 10:20:40', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=116', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (117, 2, '2013-10-23 10:21:17', '2013-10-23 10:21:17', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs122.jpg', 'cs122.jpg', '', 'inherit', 'open', 'open', '', 'cs122-jpg', '', '', '2013-10-23 10:21:17', '2013-10-23 10:21:17', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs122.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (118, 2, '2013-10-23 10:28:39', '2013-10-23 10:28:39', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg', 'cs123.jpg', '', 'inherit', 'closed', 'open', '', 'cs123-jpg', '', '', '2013-10-23 10:28:39', '2013-10-23 10:28:39', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (119, 2, '2013-10-23 10:37:40', '2013-10-23 10:37:40', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg', 'cs124.jpg', '', 'inherit', 'closed', 'open', '', 'cs124-jpg', '', '', '2013-10-23 10:37:40', '2013-10-23 10:37:40', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (120, 1, '2013-10-23 10:53:06', '2013-10-23 10:53:06', '', '400pxWideMicropasts', '', 'inherit', 'open', 'open', '', '400pxwidemicropasts', '', '', '2013-10-23 10:53:06', '2013-10-23 10:53:06', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/400pxWideMicropasts.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (121, 2, '2013-10-23 10:53:45', '2013-10-23 10:53:45', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_21.jpg', 'cs12_21.jpg', '', 'inherit', 'closed', 'open', '', 'cs12_21-jpg', '', '', '2013-10-23 10:53:45', '2013-10-23 10:53:45', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_21.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (122, 2, '2013-10-23 10:54:24', '2013-10-23 10:54:24', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs125.jpg', 'cs125.jpg', '', 'inherit', 'closed', 'open', '', 'cs125-jpg', '', '', '2013-10-23 10:54:24', '2013-10-23 10:54:24', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs125.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (123, 2, '2013-10-23 10:55:33', '2013-10-23 10:55:33', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg', 'cs126.jpg', '', 'inherit', 'closed', 'open', '', 'cs126-jpg', '', '', '2013-10-23 10:55:33', '2013-10-23 10:55:33', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (124, 1, '2013-10-23 11:11:17', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 11:11:17', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=124', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (125, 1, '2013-10-23 11:13:55', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 11:13:55', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=125', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (126, 2, '2013-10-23 12:02:57', '2013-10-23 12:02:57', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs127.jpg', 'cs127.jpg', '', 'inherit', 'closed', 'open', '', 'cs127-jpg', '', '', '2013-10-23 12:02:57', '2013-10-23 12:02:57', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs127.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (127, 2, '2013-10-23 12:04:22', '2013-10-23 12:04:22', '', 'cs12', '', 'inherit', 'open', 'open', '', 'cs12', '', '', '2013-10-23 12:04:22', '2013-10-23 12:04:22', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs128.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (128, 1, '2013-10-23 22:05:40', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 22:05:40', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=128', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (129, 1, '2013-10-23 22:09:01', '2013-10-23 22:09:01', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to:\r\n
    \r\n
  1. help with the co-production of open archaeological data through crowd-sourcing
  2. \r\n
  3. co-design new research agendas using the community forum
  4. \r\n
  5. micro-fund entirely new research agendas via crowd-funding.
  6. \r\n
\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-23 22:09:01', '2013-10-23 22:09:01', '', 75, 'http://research.micropasts.org/2013/10/23/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (130, 1, '2013-10-24 06:56:18', '2013-10-24 06:56:18', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to:\r\n
    \r\n
  1. help with the co-production of open archaeological data through crowd-sourcing
  2. \r\n
  3. co-design new research agendas using the community forum
  4. \r\n
  5. micro-fund entirely new research agendas via crowd-funding.
  6. \r\n
\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-24 06:56:18', '2013-10-24 06:56:18', '', 75, 'http://research.micropasts.org/2013/10/24/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (131, 1, '2013-10-24 06:56:55', '2013-10-24 06:56:55', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 06:56:55', '2013-10-24 06:56:55', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (132, 2, '2013-10-24 14:03:59', '2013-10-24 14:03:59', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-24 14:03:59', '2013-10-24 14:03:59', '', 16, 'http://research.micropasts.org/2013/10/24/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (133, 2, '2013-10-24 20:02:55', '2013-10-24 20:02:55', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:02:55', '2013-10-24 20:02:55', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (134, 2, '2013-10-24 20:03:17', '2013-10-24 20:03:17', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:03:17', '2013-10-24 20:03:17', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (135, 2, '2013-10-24 20:03:27', '2013-10-24 20:03:27', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods\r\n\r\n \r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:03:27', '2013-10-24 20:03:27', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (136, 2, '2013-10-24 20:03:56', '2013-10-24 20:03:56', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:03:56', '2013-10-24 20:03:56', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (137, 2, '2013-10-25 18:12:48', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-25 18:12:48', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=137', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (138, 2, '2013-10-25 18:13:31', '2013-10-25 18:13:31', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-25 18:13:31', '2013-10-25 18:13:31', '', 16, 'http://research.micropasts.org/2013/10/25/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (139, 2, '2013-10-25 18:30:25', '2013-10-25 18:30:25', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDaniel Lombraña González, Citizen Cyberscience Centre\r\n\r\n, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-25 18:30:25', '2013-10-25 18:30:25', '', 16, 'http://research.micropasts.org/2013/10/25/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (140, 1, '2013-10-26 07:51:07', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-26 07:51:07', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=140', 0, 'post', '', 0); +# +# End of data contents of table `wp_2_posts` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_term_relationships` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_term_relationships` +# + +DROP TABLE IF EXISTS `wp_2_term_relationships`; + + +# +# Table structure of table `wp_2_term_relationships` +# + +CREATE TABLE `wp_2_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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_term_relationships` +# + +INSERT INTO `wp_2_term_relationships` VALUES (1, 1, 0); +INSERT INTO `wp_2_term_relationships` VALUES (69, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (70, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (71, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (72, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (74, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (80, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (91, 1, 0); +# +# End of data contents of table `wp_2_term_relationships` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_term_taxonomy` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_term_taxonomy` +# + +DROP TABLE IF EXISTS `wp_2_term_taxonomy`; + + +# +# Table structure of table `wp_2_term_taxonomy` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_term_taxonomy` +# + +INSERT INTO `wp_2_term_taxonomy` VALUES (1, 1, 'category', '', 0, 1); +INSERT INTO `wp_2_term_taxonomy` VALUES (2, 2, 'nav_menu', '', 0, 6); +# +# End of data contents of table `wp_2_term_taxonomy` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_terms` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_terms` +# + +DROP TABLE IF EXISTS `wp_2_terms`; + + +# +# Table structure of table `wp_2_terms` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_terms` +# + +INSERT INTO `wp_2_terms` VALUES (1, 'Research', 'uncategorized', 0); +INSERT INTO `wp_2_terms` VALUES (2, 'Menu 1', 'menu-1', 0); +# +# End of data contents of table `wp_2_terms` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_usermeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_usermeta` +# + +DROP TABLE IF EXISTS `wp_usermeta`; + + +# +# Table structure of table `wp_usermeta` +# + +CREATE TABLE `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=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_usermeta` +# + +INSERT INTO `wp_usermeta` VALUES (1, 1, 'first_name', 'The Admin'); +INSERT INTO `wp_usermeta` VALUES (2, 1, 'last_name', 'Account'); +INSERT INTO `wp_usermeta` VALUES (3, 1, 'nickname', 'theboss'); +INSERT INTO `wp_usermeta` VALUES (4, 1, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (5, 1, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (6, 1, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (7, 1, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (8, 1, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (9, 1, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (10, 1, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (11, 1, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (12, 1, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (13, 1, 'show_welcome_panel', '1'); +INSERT INTO `wp_usermeta` VALUES (14, 1, 'wp_dashboard_quick_press_last_post_id', '256'); +INSERT INTO `wp_usermeta` VALUES (15, 2, 'first_name', 'Chiara'); +INSERT INTO `wp_usermeta` VALUES (16, 2, 'last_name', 'Bonacchi'); +INSERT INTO `wp_usermeta` VALUES (17, 2, 'nickname', 'chiara'); +INSERT INTO `wp_usermeta` VALUES (18, 2, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (19, 2, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (20, 2, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (21, 2, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (22, 2, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (23, 2, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (24, 2, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (25, 2, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (26, 2, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (27, 3, 'first_name', 'Andrew'); +INSERT INTO `wp_usermeta` VALUES (28, 3, 'last_name', 'Bevan'); +INSERT INTO `wp_usermeta` VALUES (29, 3, 'nickname', 'abevan'); +INSERT INTO `wp_usermeta` VALUES (30, 3, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (31, 3, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (32, 3, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (33, 3, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (34, 3, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (35, 3, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (36, 3, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (37, 3, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (38, 3, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (39, 1, 'wporg_favorites', ''); +INSERT INTO `wp_usermeta` VALUES (40, 2, 'wp_dashboard_quick_press_last_post_id', '257'); +INSERT INTO `wp_usermeta` VALUES (41, 2, 'wp_user-settings', 'editor=tinymce&libraryContent=browse'); +INSERT INTO `wp_usermeta` VALUES (42, 2, 'wp_user-settings-time', '1382025780'); +INSERT INTO `wp_usermeta` VALUES (43, 2, 'closedpostboxes_page', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (44, 2, 'metaboxhidden_page', 'a:4:{i:0;s:10:"postcustom";i:1;s:16:"commentstatusdiv";i:2;s:7:"slugdiv";i:3;s:9:"authordiv";}'); +INSERT INTO `wp_usermeta` VALUES (45, 1, 'wp_user-settings', 'editor=tinymce&unfold=1&mfold=o'); +INSERT INTO `wp_usermeta` VALUES (46, 1, 'wp_user-settings-time', '1381874810'); +INSERT INTO `wp_usermeta` VALUES (47, 3, 'wp_dashboard_quick_press_last_post_id', '198'); +INSERT INTO `wp_usermeta` VALUES (48, 1, 'source_domain', 'micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (49, 1, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (50, 4, 'first_name', ''); +INSERT INTO `wp_usermeta` VALUES (51, 4, 'last_name', ''); +INSERT INTO `wp_usermeta` VALUES (52, 4, 'nickname', 'research'); +INSERT INTO `wp_usermeta` VALUES (53, 4, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (54, 4, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (55, 4, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (56, 4, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (57, 4, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (58, 4, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (61, 4, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (62, 4, 'show_welcome_panel', '2'); +INSERT INTO `wp_usermeta` VALUES (63, 4, 'primary_blog', '2'); +INSERT INTO `wp_usermeta` VALUES (64, 4, 'source_domain', 'research.micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (65, 4, 'wp_2_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (66, 4, 'wp_2_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (67, 2, 'primary_blog', '2'); +INSERT INTO `wp_usermeta` VALUES (68, 2, 'source_domain', 'research.micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (69, 2, 'wp_2_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (70, 2, 'wp_2_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (71, 1, 'wsl_user', 'Google'); +INSERT INTO `wp_usermeta` VALUES (72, 1, 'wsl_user_gender', 'male'); +INSERT INTO `wp_usermeta` VALUES (73, 1, 'wsl_user_age', ''); +INSERT INTO `wp_usermeta` VALUES (74, 1, 'wsl_user_image', 'https://lh3.googleusercontent.com/-AK-Hs658Ju0/AAAAAAAAAAI/AAAAAAAAEvg/hVWdC1XohRo/photo.jpg'); +INSERT INTO `wp_usermeta` VALUES (75, 2, 'wp_2_dashboard_quick_press_last_post_id', '137'); +INSERT INTO `wp_usermeta` VALUES (76, 3, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (77, 2, 'wp_2_user-settings', 'libraryContent=browse&editor=tinymce'); +INSERT INTO `wp_usermeta` VALUES (78, 2, 'wp_2_user-settings-time', '1382114711'); +INSERT INTO `wp_usermeta` VALUES (79, 2, '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";}'); +INSERT INTO `wp_usermeta` VALUES (80, 2, 'metaboxhidden_nav-menus', 'a:2:{i:0;s:8:"add-post";i:1;s:12:"add-post_tag";}'); +INSERT INTO `wp_usermeta` VALUES (81, 2, 'nav_menu_recently_edited', '2'); +INSERT INTO `wp_usermeta` VALUES (82, 3, '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";}'); +INSERT INTO `wp_usermeta` VALUES (83, 3, 'metaboxhidden_nav-menus', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (84, 3, 'wp_user-settings', 'editor=tinymce&libraryContent=browse&imgsize=thumbnail&hidetb=1&wplink=1&urlbutton=none'); +INSERT INTO `wp_usermeta` VALUES (85, 3, 'wp_user-settings-time', '1382180449'); +INSERT INTO `wp_usermeta` VALUES (86, 3, 'webIdLocation', 'localWebId'); +INSERT INTO `wp_usermeta` VALUES (87, 3, 'webId', ''); +INSERT INTO `wp_usermeta` VALUES (88, 3, 'publicKeyModulus', ''); +INSERT INTO `wp_usermeta` VALUES (89, 3, 'publicKeyExponent', ''); +INSERT INTO `wp_usermeta` VALUES (90, 3, 'additionalRdf', ''); +INSERT INTO `wp_usermeta` VALUES (91, 5, 'first_name', 'Katharine'); +INSERT INTO `wp_usermeta` VALUES (92, 5, 'last_name', 'Kelland'); +INSERT INTO `wp_usermeta` VALUES (93, 5, 'nickname', 'katharine_kelland'); +INSERT INTO `wp_usermeta` VALUES (94, 5, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (95, 5, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (96, 5, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (97, 5, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (98, 5, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (99, 5, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (100, 5, 'wp_capabilities', 'a:1:{s:10:"subscriber";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (101, 5, 'wp_user_level', '0'); +INSERT INTO `wp_usermeta` VALUES (102, 5, 'Google', '114760327985646315403'); +INSERT INTO `wp_usermeta` VALUES (103, 5, 'wsl_user', 'Google'); +INSERT INTO `wp_usermeta` VALUES (104, 5, 'wsl_user_gender', 'female'); +INSERT INTO `wp_usermeta` VALUES (105, 5, 'wsl_user_age', ''); +INSERT INTO `wp_usermeta` VALUES (106, 5, 'wsl_user_image', ''); +INSERT INTO `wp_usermeta` VALUES (107, 5, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (108, 3, 'closedpostboxes_page', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (109, 3, 'metaboxhidden_page', 'a:3:{i:0;s:10:"postcustom";i:1;s:7:"slugdiv";i:2;s:9:"authordiv";}'); +INSERT INTO `wp_usermeta` VALUES (110, 3, 'closedpostboxes_nav-menus', 'a:0:{}'); +# +# End of data contents of table `wp_usermeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_users` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_users` +# + +DROP TABLE IF EXISTS `wp_users`; + + +# +# Table structure of table `wp_users` +# + +CREATE TABLE `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 '', + `spam` tinyint(2) NOT NULL DEFAULT '0', + `deleted` tinyint(2) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_users` +# + +INSERT INTO `wp_users` VALUES (1, 'theboss', '$P$BcDoeIClhaQqKUUPXoC629q/Lrkiaq/', 'theboss', 'danielpett@gmail.com', '', '2013-09-26 21:18:49', '', 0, 'theboss', 0, 0); +INSERT INTO `wp_users` VALUES (2, 'chiara', '$P$ByGuyuCvwkS9EL2LBlM.X2F5cAvu/R.', 'chiara', 'chiara.bonacchi@googlemail.com', '', '2013-09-26 21:20:25', '', 0, 'Chiara Bonacchi', 0, 0); +INSERT INTO `wp_users` VALUES (3, 'abevan', '$P$BRxIIKGiFDA9oPZxh38cznh5ncWdcY1', 'abevan', 'a.bevan@ucl.ac.uk', '', '2013-09-26 21:21:18', '', 0, 'Andrew Bevan', 0, 0); +INSERT INTO `wp_users` VALUES (4, 'research', '$P$BYyjcFSUgMa7hcoxafzzQYcOF0Zo/O/', 'research', 'info@micropasts.org', '', '2013-10-09 18:47:13', '', 0, 'research', 0, 0); +INSERT INTO `wp_users` VALUES (5, 'katharine_kelland', '$P$BlwTzCeewVU2y/5PgCcSnXqpAOwDy./', 'katharine_kelland', 'katekelland@googlemail.com', 'https://profiles.google.com/114760327985646315403', '2013-10-20 14:53:44', '', 0, 'Katharine Kelland', 0, 0); +# +# End of data contents of table `wp_users` +# -------------------------------------------------------- + diff --git a/wp-content/backup-a3f42/micropastsWordpresss_wp_2_20131029_030.sql b/wp-content/backup-a3f42/micropastsWordpresss_wp_2_20131029_030.sql new file mode 100644 index 0000000..8c99625 --- /dev/null +++ b/wp-content/backup-a3f42/micropastsWordpresss_wp_2_20131029_030.sql @@ -0,0 +1,1228 @@ +# WordPress MySQL database backup +# +# Generated: Tuesday 29. October 2013 23:44 UTC +# Hostname: localhost +# Database: `micropastsWordpresss` +# -------------------------------------------------------- +# -------------------------------------------------------- +# Table: `wp_2_commentmeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_commentmeta` +# + +DROP TABLE IF EXISTS `wp_2_commentmeta`; + + +# +# Table structure of table `wp_2_commentmeta` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_commentmeta` +# + +INSERT INTO `wp_2_commentmeta` VALUES (1, 1, 'akismet_history', 'a:4:{s:4:"time";d:1382108215.484642;s:7:"message";s:42:"chiara changed the comment status to trash";s:5:"event";s:12:"status-trash";s:4:"user";s:6:"chiara";}'); +INSERT INTO `wp_2_commentmeta` VALUES (2, 1, '_wp_trash_meta_status', '1'); +INSERT INTO `wp_2_commentmeta` VALUES (3, 1, '_wp_trash_meta_time', '1382108215'); +INSERT INTO `wp_2_commentmeta` VALUES (4, 2, 'akismet_error', '1382457358'); +INSERT INTO `wp_2_commentmeta` VALUES (5, 2, 'akismet_history', 'a:4:{s:4:"time";d:1382457358.5131071;s:7:"message";s:92:"Akismet was unable to check this comment (response: ), will automatically retry again later.";s:5:"event";s:11:"check-error";s:4:"user";s:0:"";}'); +INSERT INTO `wp_2_commentmeta` VALUES (6, 2, 'akismet_as_submitted', 'a:42:{s:15:"comment_post_ID";i:16;s:14:"comment_author";s:87:"Crowd-sourcing, crowd-funding and archaeology | Crowd and community-fuelled archaeology";s:18:"comment_author_url";s:87:"http://research.micropasts.org/2013/10/22/crowd-sourcing-crowd-funding-and-archaeology/";s:20:"comment_author_email";s:0:"";s:15:"comment_content";s:26:"[…] People […]";s:12:"comment_type";s:8:"pingback";s:7:"user_ip";s:12:"81.29.66.139";s:10:"user_agent";s:50:"The Incutio XML-RPC PHP Library -- WordPress/3.6.1";s:8:"referrer";N;s:4:"blog";s:30:"http://research.micropasts.org";s:9:"blog_lang";s:5:"en_US";s:12:"blog_charset";s:5:"UTF-8";s:9:"permalink";s:38:"http://research.micropasts.org/people/";s:21:"akismet_comment_nonce";s:6:"failed";s:15:"SERVER_SOFTWARE";s:22:"Apache/2.2.22 (Ubuntu)";s:11:"REQUEST_URI";s:11:"/xmlrpc.php";s:10:"SCRIPT_URL";s:11:"/xmlrpc.php";s:10:"SCRIPT_URI";s:41:"http://research.micropasts.org/xmlrpc.php";s:15:"HTTP_USER_AGENT";s:50:"The Incutio XML-RPC PHP Library -- WordPress/3.6.1";s:9:"HTTP_HOST";s:23:"research.micropasts.org";s:11:"HTTP_ACCEPT";s:3:"*/*";s:12:"CONTENT_TYPE";s:8:"text/xml";s:20:"HTTP_ACCEPT_ENCODING";s:29:"deflate;q=1.0, compress;q=0.5";s:14:"CONTENT_LENGTH";s:3:"326";s:4:"PATH";s:28:"/usr/local/bin:/usr/bin:/bin";s:16:"SERVER_SIGNATURE";s:84:"
Apache/2.2.22 (Ubuntu) Server at research.micropasts.org Port 80
\n";s:11:"SERVER_NAME";s:23:"research.micropasts.org";s:11:"SERVER_ADDR";s:12:"81.29.66.139";s:11:"SERVER_PORT";s:2:"80";s:11:"REMOTE_ADDR";s:12:"81.29.66.139";s:13:"DOCUMENT_ROOT";s:19:"/var/www/micropasts";s:12:"SERVER_ADMIN";s:23:"dpett@britishmuseum.org";s:15:"SCRIPT_FILENAME";s:30:"/var/www/micropasts/xmlrpc.php";s:11:"REMOTE_PORT";s:5:"49197";s:17:"GATEWAY_INTERFACE";s:7:"CGI/1.1";s:15:"SERVER_PROTOCOL";s:8:"HTTP/1.0";s:14:"REQUEST_METHOD";s:4:"POST";s:12:"QUERY_STRING";s:0:"";s:11:"SCRIPT_NAME";s:11:"/xmlrpc.php";s:8:"PHP_SELF";s:11:"/xmlrpc.php";s:12:"REQUEST_TIME";s:10:"1382457356";s:25:"comment_post_modified_gmt";s:19:"2013-10-18 16:09:55";}'); +INSERT INTO `wp_2_commentmeta` VALUES (7, 2, 'akismet_history', 'a:4:{s:4:"time";d:1382458227.9200201;s:7:"message";s:43:"theboss changed the comment status to trash";s:5:"event";s:12:"status-trash";s:4:"user";s:7:"theboss";}'); +INSERT INTO `wp_2_commentmeta` VALUES (8, 2, '_wp_trash_meta_status', '0'); +INSERT INTO `wp_2_commentmeta` VALUES (9, 2, '_wp_trash_meta_time', '1382458227'); +# +# End of data contents of table `wp_2_commentmeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_comments` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_comments` +# + +DROP TABLE IF EXISTS `wp_2_comments`; + + +# +# Table structure of table `wp_2_comments` +# + +CREATE TABLE `wp_2_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_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=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_comments` +# + +INSERT INTO `wp_2_comments` VALUES (1, 1, 'Mr WordPress', '', 'http://micropasts.org/', '', '2013-10-09 18:47:16', '2013-10-09 18:47:16', 'Hi, this is a comment.\nTo delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.', 0, 'post-trashed', '', '', 0, 0); +INSERT INTO `wp_2_comments` VALUES (2, 16, 'Crowd-sourcing, crowd-funding and archaeology | Crowd and community-fuelled archaeology', '', 'http://research.micropasts.org/2013/10/22/crowd-sourcing-crowd-funding-and-archaeology/', '81.29.66.139', '2013-10-22 15:55:58', '2013-10-22 15:55:58', '[…] People […]', 0, 'trash', 'The Incutio XML-RPC PHP Library -- WordPress/3.6.1', 'pingback', 0, 0); +# +# End of data contents of table `wp_2_comments` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_links` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_links` +# + +DROP TABLE IF EXISTS `wp_2_links`; + + +# +# Table structure of table `wp_2_links` +# + +CREATE TABLE `wp_2_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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_links` +# + +# +# End of data contents of table `wp_2_links` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_options` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_options` +# + +DROP TABLE IF EXISTS `wp_2_options`; + + +# +# Table structure of table `wp_2_options` +# + +CREATE TABLE `wp_2_options` ( + `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, + `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=InnoDB AUTO_INCREMENT=3311 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_options` +# + +INSERT INTO `wp_2_options` VALUES (1, 'siteurl', 'http://research.micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (2, 'blogname', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (3, 'blogdescription', 'Research blog', 'yes'); +INSERT INTO `wp_2_options` VALUES (4, 'users_can_register', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (5, 'admin_email', 'info@micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (6, 'start_of_week', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (7, 'use_balanceTags', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (8, 'use_smilies', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (9, 'require_name_email', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (10, 'comments_notify', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (11, 'posts_per_rss', '10', 'yes'); +INSERT INTO `wp_2_options` VALUES (12, 'rss_use_excerpt', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (13, 'mailserver_url', 'mail.example.com', 'yes'); +INSERT INTO `wp_2_options` VALUES (14, 'mailserver_login', 'login@example.com', 'yes'); +INSERT INTO `wp_2_options` VALUES (15, 'mailserver_pass', 'password', 'yes'); +INSERT INTO `wp_2_options` VALUES (16, 'mailserver_port', '110', 'yes'); +INSERT INTO `wp_2_options` VALUES (17, 'default_category', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (18, 'default_comment_status', 'open', 'yes'); +INSERT INTO `wp_2_options` VALUES (19, 'default_ping_status', 'open', 'yes'); +INSERT INTO `wp_2_options` VALUES (20, 'default_pingback_flag', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (21, 'posts_per_page', '10', 'yes'); +INSERT INTO `wp_2_options` VALUES (22, 'date_format', 'j F, Y', 'yes'); +INSERT INTO `wp_2_options` VALUES (23, 'time_format', 'g:i a', 'yes'); +INSERT INTO `wp_2_options` VALUES (24, 'links_updated_date_format', 'F j, Y g:i a', 'yes'); +INSERT INTO `wp_2_options` VALUES (25, 'links_recently_updated_prepend', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (26, 'links_recently_updated_append', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (27, 'links_recently_updated_time', '120', 'yes'); +INSERT INTO `wp_2_options` VALUES (28, 'comment_moderation', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (29, 'moderation_notify', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (30, 'permalink_structure', '/%year%/%monthnum%/%day%/%postname%/', 'yes'); +INSERT INTO `wp_2_options` VALUES (31, 'gzipcompression', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (32, 'hack_file', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (33, 'blog_charset', 'UTF-8', 'yes'); +INSERT INTO `wp_2_options` VALUES (34, 'moderation_keys', '', 'no'); +INSERT INTO `wp_2_options` VALUES (35, 'active_plugins', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (36, 'home', 'http://research.micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (37, 'category_base', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (38, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'); +INSERT INTO `wp_2_options` VALUES (39, 'advanced_edit', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (40, 'comment_max_links', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (41, 'gmt_offset', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (42, 'default_email_category', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (43, 'recently_edited', '', 'no'); +INSERT INTO `wp_2_options` VALUES (44, 'template', 'responsive', 'yes'); +INSERT INTO `wp_2_options` VALUES (45, 'stylesheet', 'responsive-childtheme-master', 'yes'); +INSERT INTO `wp_2_options` VALUES (46, 'comment_whitelist', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (47, 'blacklist_keys', '', 'no'); +INSERT INTO `wp_2_options` VALUES (48, 'comment_registration', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (49, 'html_type', 'text/html', 'yes'); +INSERT INTO `wp_2_options` VALUES (50, 'use_trackback', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (51, 'default_role', 'subscriber', 'yes'); +INSERT INTO `wp_2_options` VALUES (52, 'db_version', '25824', 'yes'); +INSERT INTO `wp_2_options` VALUES (53, 'uploads_use_yearmonth_folders', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (54, 'upload_path', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (55, 'blog_public', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (56, 'default_link_category', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (57, 'show_on_front', 'page', 'yes'); +INSERT INTO `wp_2_options` VALUES (58, 'tag_base', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (59, 'show_avatars', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (60, 'avatar_rating', 'G', 'yes'); +INSERT INTO `wp_2_options` VALUES (61, 'upload_url_path', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (62, 'thumbnail_size_w', '150', 'yes'); +INSERT INTO `wp_2_options` VALUES (63, 'thumbnail_size_h', '150', 'yes'); +INSERT INTO `wp_2_options` VALUES (64, 'thumbnail_crop', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (65, 'medium_size_w', '300', 'yes'); +INSERT INTO `wp_2_options` VALUES (66, 'medium_size_h', '300', 'yes'); +INSERT INTO `wp_2_options` VALUES (67, 'avatar_default', 'mystery', 'yes'); +INSERT INTO `wp_2_options` VALUES (68, 'large_size_w', '1024', 'yes'); +INSERT INTO `wp_2_options` VALUES (69, 'large_size_h', '1024', 'yes'); +INSERT INTO `wp_2_options` VALUES (70, 'image_default_link_type', 'file', 'yes'); +INSERT INTO `wp_2_options` VALUES (71, 'image_default_size', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (72, 'image_default_align', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (73, 'close_comments_for_old_posts', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (74, 'close_comments_days_old', '30', 'yes'); +INSERT INTO `wp_2_options` VALUES (75, 'thread_comments', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (76, 'thread_comments_depth', '10', 'yes'); +INSERT INTO `wp_2_options` VALUES (77, 'page_comments', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (78, 'comments_per_page', '50', 'yes'); +INSERT INTO `wp_2_options` VALUES (79, 'default_comments_page', 'newest', 'yes'); +INSERT INTO `wp_2_options` VALUES (80, 'comment_order', 'asc', 'yes'); +INSERT INTO `wp_2_options` VALUES (81, 'sticky_posts', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (82, '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'); +INSERT INTO `wp_2_options` VALUES (83, 'widget_text', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (84, 'widget_rss', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (85, 'uninstall_plugins', 'a:2:{s:17:"openid/openid.php";s:23:"openid_uninstall_plugin";s:33:"rotating-posts/rotating-posts.php";s:12:"rp_uninstall";}', 'no'); +INSERT INTO `wp_2_options` VALUES (86, 'timezone_string', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (87, 'page_for_posts', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (88, 'page_on_front', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (89, 'default_post_format', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (90, 'link_manager_enabled', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (91, 'wp_2_user_roles', 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:63:{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:19:"use_openid_provider";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'); +INSERT INTO `wp_2_options` VALUES (92, 'widget_search', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (93, 'widget_recent-posts', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (94, 'widget_recent-comments', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (95, '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'); +INSERT INTO `wp_2_options` VALUES (96, 'widget_meta', 'a:2:{i:2;a:1:{s:5:"title";s:0:"";}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (97, 'sidebars_widgets', 'a:13:{s:19:"wp_inactive_widgets";a:1:{i:0;s:17:"widget_sp_image-2";}s:12:"main-sidebar";a:5:{i:0;s:17:"widget_sp_image-3";i:1;s:8:"search-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";i:4;s:6:"meta-2";}s:13:"right-sidebar";a:0:{}s:12:"left-sidebar";a:0:{}s:17:"left-sidebar-half";a:0:{}s:18:"right-sidebar-half";a:0:{}s:13:"home-widget-1";a:0:{}s:13:"home-widget-2";a:0:{}s:13:"home-widget-3";a:0:{}s:14:"gallery-widget";a:0:{}s:15:"colophon-widget";a:0:{}s:10:"top-widget";a:0:{}s:13:"array_version";i:3;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (99, 'WPLANG', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (101, 'cron', 'a:7:{i:1383093409;a:1:{s:29:"akismet_schedule_cron_recheck";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:2:{s:8:"schedule";b:0;s:4:"args";a:0:{}}}}i:1383093549;a:1:{s:14:"cleanup_openid";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}}i:1383126034;a:1:{s:30:"wp_scheduled_auto_draft_delete";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1383148558;a:1:{s:24:"akismet_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;}}}i:1383159014;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;}}}i:1383378710;a:1:{s:17:"wp_db_backup_cron";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (103, 'theme_mods_twentythirteen', 'a:1:{s:16:"sidebars_widgets";a:2:{s:4:"time";i:1381344620;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (104, 'current_theme', 'Responsive Child Theme', 'yes'); +INSERT INTO `wp_2_options` VALUES (105, 'theme_mods_responsive', 'a:2:{i:0;b:0;s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382089118;s:4:"data";a:12:{s:19:"wp_inactive_widgets";a:0:{}s:12:"main-sidebar";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:13:"right-sidebar";a:0:{}s:12:"left-sidebar";N;s:17:"left-sidebar-half";N;s:18:"right-sidebar-half";N;s:13:"home-widget-1";N;s:13:"home-widget-2";N;s:13:"home-widget-3";N;s:14:"gallery-widget";N;s:15:"colophon-widget";N;s:10:"top-widget";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (106, 'theme_switched', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (107, '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://research.micropasts.org";s:4:"link";s:106:"http://blogsearch.google.com/blogsearch?scoring=d&partner=wordpress&q=link:http://research.micropasts.org/";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://research.micropasts.org/";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:14:"WordPress Blog";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:20:"Other WordPress News";s:5:"items";i:5;s:12:"show_summary";i:0;s:11:"show_author";i:0;s:9:"show_date";i:0;}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (129, 'recently_activated', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (130, 'openid_associations', 'a:0:{}', 'no'); +INSERT INTO `wp_2_options` VALUES (131, 'openid_nonces', 'a:0:{}', 'no'); +INSERT INTO `wp_2_options` VALUES (132, 'wsl_database_migration_version', '4', 'yes'); +INSERT INTO `wp_2_options` VALUES (133, 'openid_enable_commentform', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (134, 'openid_plugin_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (135, 'openid_plugin_revision', '519', 'yes'); +INSERT INTO `wp_2_options` VALUES (136, 'openid_db_revision', '24426', 'yes'); +INSERT INTO `wp_2_options` VALUES (137, 'openid_enable_approval', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (138, 'openid_xrds_returnto', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (139, 'openid_comment_displayname_length', '12', 'yes'); +INSERT INTO `wp_2_options` VALUES (141, 'wsl_components_core_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (142, 'wsl_components_networks_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (143, 'wsl_components_login-widget_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (144, 'wsl_components_bouncer_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (145, 'wsl_components_diagnostics_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (146, 'wsl_settings_welcome_panel_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (147, 'wsl_settings_redirect_url', 'http://research.micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (148, 'wsl_settings_connect_with_label', 'Connect with:', 'yes'); +INSERT INTO `wp_2_options` VALUES (149, 'wsl_settings_use_popup', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (150, 'wsl_settings_widget_display', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (151, 'wsl_settings_authentication_widget_css', '#wp-social-login-connect-with {font-weight: bold;}\r\n#wp-social-login-connect-options {padding:10px;}\r\n#wp-social-login-connect-options a {text-decoration: none;}\r\n#wp-social-login-connect-options img {border:0 none;}\r\n.wsl_connect_with_provider {}', 'yes'); +INSERT INTO `wp_2_options` VALUES (152, 'wsl_settings_bouncer_registration_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (153, 'wsl_settings_bouncer_authentication_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (154, 'wsl_settings_bouncer_linking_accounts_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (155, 'wsl_settings_bouncer_profile_completion_require_email', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (156, 'wsl_settings_bouncer_profile_completion_change_email', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (157, 'wsl_settings_bouncer_profile_completion_change_username', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (158, 'wsl_settings_bouncer_profile_completion_text_notice', 'Almost there, we just need to check a couple of things', 'yes'); +INSERT INTO `wp_2_options` VALUES (159, 'wsl_settings_bouncer_profile_completion_text_submit_button', 'Continue', 'yes'); +INSERT INTO `wp_2_options` VALUES (160, 'wsl_settings_bouncer_profile_completion_text_email', 'E-mail', 'yes'); +INSERT INTO `wp_2_options` VALUES (161, 'wsl_settings_bouncer_profile_completion_text_username', 'Username', 'yes'); +INSERT INTO `wp_2_options` VALUES (162, 'wsl_settings_bouncer_profile_completion_text_email_invalid', 'E-mail is not valid!', 'yes'); +INSERT INTO `wp_2_options` VALUES (163, 'wsl_settings_bouncer_profile_completion_text_username_invalid', 'Username is not valid!', 'yes'); +INSERT INTO `wp_2_options` VALUES (164, 'wsl_settings_bouncer_profile_completion_text_email_exists', 'That E-mail is already registered!', 'yes'); +INSERT INTO `wp_2_options` VALUES (165, 'wsl_settings_bouncer_profile_completion_text_username_exists', 'That Username is already registered!', 'yes'); +INSERT INTO `wp_2_options` VALUES (166, 'wsl_settings_bouncer_profile_completion_text_connected_with', 'You are now connected via', 'yes'); +INSERT INTO `wp_2_options` VALUES (167, 'wsl_settings_bouncer_new_users_moderation_level', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (168, 'wsl_settings_bouncer_new_users_membership_default_role', 'default', 'yes'); +INSERT INTO `wp_2_options` VALUES (169, 'wsl_settings_bouncer_new_users_restrict_domain_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (170, 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce', 'Bouncer says no.', 'yes'); +INSERT INTO `wp_2_options` VALUES (171, 'wsl_settings_bouncer_new_users_restrict_email_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (172, 'wsl_settings_bouncer_new_users_restrict_email_text_bounce', 'Bouncer say he refuses.', 'yes'); +INSERT INTO `wp_2_options` VALUES (173, 'wsl_settings_bouncer_new_users_restrict_profile_enabled', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (174, 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce', 'Bouncer say only Mundo can go where he pleases!', 'yes'); +INSERT INTO `wp_2_options` VALUES (175, 'wsl_settings_contacts_import_facebook', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (176, 'wsl_settings_contacts_import_google', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (177, 'wsl_settings_contacts_import_twitter', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (178, 'wsl_settings_contacts_import_live', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (179, 'wsl_settings_contacts_import_linkedin', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (180, 'wsl_settings_Facebook_enabled', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (181, 'wsl_settings_Google_enabled', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (182, 'wsl_settings_Twitter_enabled', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (207, 'ga_version', '6.4.5', 'yes'); +INSERT INTO `wp_2_options` VALUES (208, 'ga_status', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (209, 'ga_uid', 'UA-298202-17', 'yes'); +INSERT INTO `wp_2_options` VALUES (210, 'ga_admin_status', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (211, 'ga_admin_disable', 'remove', 'yes'); +INSERT INTO `wp_2_options` VALUES (212, 'ga_admin_role', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (213, 'ga_dashboard_role', 'a:1:{i:0;s:13:"administrator";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (214, 'key_ga_show_ad', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (215, 'ga_adsense', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (216, 'ga_extra', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (217, 'ga_extra_after', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (218, 'ga_event', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (219, 'ga_outbound', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (220, 'ga_outbound_prefix', 'outgoing', 'yes'); +INSERT INTO `wp_2_options` VALUES (221, 'ga_downloads', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (222, 'ga_downloads_prefix', 'download', 'yes'); +INSERT INTO `wp_2_options` VALUES (223, 'ga_widgets', 'enabled', 'yes'); +INSERT INTO `wp_2_options` VALUES (224, 'ga_annon', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (225, 'ga_defaults', 'no', 'yes'); +INSERT INTO `wp_2_options` VALUES (226, 'ga_google_token', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (227, 'wp_awld_js_i_accept', 'yes', 'yes'); +INSERT INTO `wp_2_options` VALUES (228, 'wp_awld_js_scope', 'post', 'yes'); +INSERT INTO `wp_2_options` VALUES (229, 'wp_awld_js_widget_implement', 'none', 'yes'); +INSERT INTO `wp_2_options` VALUES (230, 'wp_awld_js_button', 'yes', 'yes'); +INSERT INTO `wp_2_options` VALUES (231, 'wp_awld_js_quicktags', 'no', 'yes'); +INSERT INTO `wp_2_options` VALUES (232, 'wp_awld_js_db_version', '0.1.3', 'yes'); +INSERT INTO `wp_2_options` VALUES (252, 'allowedthemes', 'a:3:{s:6:"adamos";b:1;s:15:"catch-evolution";b:1;s:12:"twentytwelve";b:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (254, 'blog_upload_space', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (257, 'theme_mods_adamos', 'a:18:{i:0;b:0;s:16:"header_textcolor";s:3:"FFF";s:16:"background_color";s:3:"EEE";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:11:"adamos_logo";s:0:"";s:16:"featured_textbox";s:21:"Default featured text";s:21:"featured_textbox_text";s:21:"Default featured text";s:27:"featured_textbox_header_one";s:28:"Default featured text Header";s:25:"featured_textbox_text_one";s:21:"Default featured text";s:27:"featured_textbox_header_two";s:28:"Default featured text Header";s:25:"featured_textbox_text_two";s:21:"Default featured text";s:29:"featured_textbox_header_three";s:28:"Default featured text Header";s:27:"featured_textbox_text_three";s:21:"Default featured text";s:18:"nav_menu_locations";a:1:{s:7:"primary";i:0;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382523970;s:4:"data";a:6:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:11:"left_column";N;s:13:"center_column";N;s:12:"right_column";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (270, 'theme_mods_catch-evolution', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382089174;s:4:"data";a:7:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:20:"catchevolution_third";a:0:{}s:35:"catchevolution_header_right_sidebar";N;s:9:"sidebar-2";N;s:9:"sidebar-3";N;s:9:"sidebar-4";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (272, 'theme_mods_twentytwelve', 'a:11:{i:0;b:0;s:16:"header_textcolor";s:6:"515151";s:16:"background_color";s:6:"e6e6e6";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:1:{s:7:"primary";i:0;}s:12:"header_image";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:118;s:3:"url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg";s:13:"thumbnail_url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg";s:6:"height";i:250;s:5:"width";i:960;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382524211;s:4:"data";a:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (292, 'theme_mods_catch-everest', 'a:8:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:0:"";s:16:"background_image";s:79:"http://research.micropasts.org/wp-content/themes/catch-everest/images/noise.png";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382102975;s:4:"data";a:5:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;s:9:"sidebar-4";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (294, 'optionsframework', 'a:2:{s:2:"id";s:21:"optionsframework_tiga";s:12:"knownoptions";a:3:{i:0;s:23:"optionsframework_coller";i:1;s:17:"activetab_options";i:2;s:21:"optionsframework_tiga";}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (295, 'optionsframework_coller', 'a:20:{s:9:"headcode1";s:0:"";s:9:"footcode1";s:0:"";s:11:"footertext2";s:0:"";s:10:"customcss1";s:0:"";s:14:"slider_enabled";b:0;s:11:"slidetitle1";s:0:"";s:9:"slideurl1";s:0:"";s:11:"slidetitle2";s:0:"";s:9:"slideurl2";s:0:"";s:11:"slidetitle3";s:0:"";s:9:"slideurl3";s:0:"";s:11:"slidetitle4";s:0:"";s:9:"slideurl4";s:0:"";s:11:"slidetitle5";s:0:"";s:9:"slideurl5";s:0:"";s:8:"facebook";s:0:"";s:7:"twitter";s:0:"";s:6:"google";s:0:"";s:10:"feedburner";s:0:"";s:7:"credit1";b:0;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (296, 'suffusion_options', 'a:796:{s:16:"suf_color_scheme";s:18:"light-theme-gray-1";s:11:"suf_iconset";s:9:"iconset-0";s:24:"suf_little_icons_enabled";s:49:"author,date,category,tags,permalink,comments,edit";s:22:"suf_navt_skin_def_cust";s:5:"theme";s:25:"suf_navt_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:32:"suf_navt_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:30:"suf_navt_skin_settings_bg_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:22:"suf_navt_skin_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:29:"suf_navt_skin_settings_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:27:"suf_navt_skin_settings_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:28:"suf_navt_skin_settings_hover";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_navt_skin_settings_hover_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:33:"suf_navt_skin_settings_hover_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:30:"suf_navt_skin_settings_visited";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:37:"suf_navt_skin_settings_visited_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:35:"suf_navt_skin_settings_visited_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:25:"suf_navt_skin_settings_hl";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:32:"suf_navt_skin_settings_hl_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:30:"suf_navt_skin_settings_hl_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:24:"suf_header_style_setting";s:5:"theme";s:21:"suf_header_image_type";s:5:"image";s:27:"suf_header_background_image";s:0:"";s:28:"suf_header_background_repeat";s:6:"repeat";s:30:"suf_header_background_position";s:8:"top left";s:32:"suf_header_background_rot_folder";s:0:"";s:25:"suf_header_gradient_style";s:8:"top-down";s:31:"suf_header_gradient_start_color";s:6:"FFFFFF";s:29:"suf_header_gradient_end_color";s:6:"000000";s:24:"suf_header_fg_image_type";s:4:"text";s:19:"suf_header_fg_image";s:0:"";s:20:"suf_blog_title_color";s:7:"#000000";s:20:"suf_blog_title_style";s:4:"none";s:26:"suf_blog_title_hover_color";s:7:"#528f6c";s:26:"suf_blog_title_hover_style";s:4:"none";s:26:"suf_blog_description_color";s:7:"#000000";s:18:"suf_wrapper_margin";s:2:"20";s:17:"suf_header_height";s:2:"55";s:21:"suf_nav_skin_def_cust";s:5:"theme";s:24:"suf_nav_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:31:"suf_nav_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#ffffff;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:29:"suf_nav_skin_settings_bg_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:21:"suf_nav_skin_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:28:"suf_nav_skin_settings_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:26:"suf_nav_skin_settings_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:27:"suf_nav_skin_settings_hover";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:34:"suf_nav_skin_settings_hover_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:32:"suf_nav_skin_settings_hover_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:29:"suf_nav_skin_settings_visited";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:36:"suf_nav_skin_settings_visited_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:34:"suf_nav_skin_settings_visited_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:24:"suf_nav_skin_settings_hl";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:31:"suf_nav_skin_settings_hl_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:29:"suf_nav_skin_settings_hl_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:22:"suf_body_style_setting";s:5:"theme";s:25:"suf_body_background_color";s:7:"#444444";s:25:"suf_body_background_image";s:0:"";s:26:"suf_body_background_repeat";s:6:"repeat";s:30:"suf_body_background_attachment";s:6:"scroll";s:28:"suf_body_background_position";s:8:"top left";s:29:"suf_wrapper_settings_def_cust";s:5:"theme";s:23:"suf_wrapper_bg_settings";s:96:"color=#EDF3E6;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:16:"suf_show_shadows";s:4:"hide";s:29:"suf_post_bg_settings_def_cust";s:5:"theme";s:20:"suf_post_bg_settings";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:17:"suf_date_box_show";s:11:"hide-search";s:30:"suf_date_box_settings_def_cust";s:5:"theme";s:21:"suf_date_box_settings";s:101:"color=#FFFFFF;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=transparent;";s:18:"suf_date_box_mfont";s:140:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=50;font-size-type=%;";s:18:"suf_date_box_dfont";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=100;font-size-type=%;";s:18:"suf_date_box_yfont";s:140:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=50;font-size-type=%;";s:26:"suf_emphasis_customization";s:5:"theme";s:23:"suf_download_font_color";s:7:"#000000";s:29:"suf_download_background_color";s:7:"#bbe7f9";s:25:"suf_download_border_color";s:7:"#0000ff";s:27:"suf_announcement_font_color";s:7:"#000000";s:33:"suf_announcement_background_color";s:7:"#b8f9d5";s:29:"suf_announcement_border_color";s:7:"#088c43";s:19:"suf_note_font_color";s:7:"#000000";s:25:"suf_note_background_color";s:7:"#f9f6a7";s:21:"suf_note_border_color";s:7:"#e7d605";s:22:"suf_warning_font_color";s:7:"#000000";s:28:"suf_warning_background_color";s:7:"#ffdbea";s:24:"suf_warning_border_color";s:7:"#ff0000";s:16:"suf_favicon_path";s:0:"";s:17:"suf_navt_contents";s:4:"hide";s:18:"suf_navt_bar_style";s:5:"align";s:15:"suf_navt_dd_pos";s:4:"left";s:18:"suf_navt_item_type";s:3:"tab";s:14:"suf_navt_delay";s:3:"500";s:15:"suf_navt_effect";s:4:"fade";s:18:"suf_navt_show_home";s:4:"none";s:18:"suf_navt_home_text";s:4:"Home";s:21:"suf_navt_entity_order";s:22:"pages,categories,links";s:23:"suf_navt_text_transform";s:10:"capitalize";s:20:"suf_navt_pages_style";s:9:"rolled-up";s:23:"suf_navt_page_tab_title";s:5:"Pages";s:22:"suf_navt_page_tab_link";s:0:"";s:22:"suf_navt_pages_all_sel";s:11:"exclude-all";s:14:"suf_navt_pages";s:0:"";s:18:"suf_navt_cat_style";s:9:"rolled-up";s:22:"suf_navt_cat_tab_title";s:10:"Categories";s:21:"suf_navt_cat_tab_link";s:0:"";s:21:"suf_navt_cats_all_sel";s:11:"exclude-all";s:13:"suf_navt_cats";s:0:"";s:20:"suf_navt_links_style";s:9:"rolled-up";s:24:"suf_navt_links_tab_title";s:5:"Links";s:23:"suf_navt_links_tab_link";s:0:"";s:22:"suf_navt_links_all_sel";s:8:"selected";s:14:"suf_navt_links";s:0:"";s:22:"suf_navt_menus_all_sel";s:8:"selected";s:14:"suf_navt_menus";s:0:"";s:23:"suf_header_layout_style";s:8:"in-align";s:20:"suf_header_alignment";s:4:"left";s:24:"suf_sub_header_alignment";s:5:"right";s:33:"suf_sub_header_vertical_alignment";s:9:"same-line";s:16:"suf_nav_contents";s:5:"pages";s:17:"suf_nav_bar_style";s:5:"align";s:14:"suf_nav_dd_pos";s:4:"left";s:17:"suf_nav_item_type";s:3:"tab";s:13:"suf_nav_delay";s:3:"500";s:14:"suf_nav_effect";s:4:"fade";s:13:"suf_show_home";s:4:"none";s:13:"suf_home_text";s:4:"Home";s:20:"suf_nav_entity_order";s:22:"pages,categories,links";s:22:"suf_nav_text_transform";s:10:"capitalize";s:19:"suf_nav_pages_style";s:9:"rolled-up";s:22:"suf_nav_page_tab_title";s:5:"Pages";s:21:"suf_nav_page_tab_link";s:0:"";s:21:"suf_nav_pages_all_sel";s:11:"exclude-all";s:13:"suf_nav_pages";s:0:"";s:17:"suf_nav_cat_style";s:9:"rolled-up";s:21:"suf_nav_cat_tab_title";s:10:"Categories";s:20:"suf_nav_cat_tab_link";s:0:"";s:20:"suf_nav_cats_all_sel";s:11:"exclude-all";s:12:"suf_nav_cats";s:0:"";s:19:"suf_nav_links_style";s:9:"rolled-up";s:23:"suf_nav_links_tab_title";s:5:"Links";s:22:"suf_nav_links_tab_link";s:0:"";s:21:"suf_nav_links_all_sel";s:8:"selected";s:13:"suf_nav_links";s:0:"";s:21:"suf_nav_menus_all_sel";s:8:"selected";s:13:"suf_nav_menus";s:0:"";s:21:"suf_nav_strip_a_title";s:4:"hide";s:23:"suf_footer_layout_style";s:8:"in-align";s:15:"suf_footer_left";s:81:"© 2013 Micropasts research blog";s:17:"suf_footer_center";s:0:"";s:22:"suf_post_meta_position";s:7:"corners";s:18:"suf_post_show_perm";s:10:"show-tleft";s:29:"suf_post_with_title_show_perm";s:4:"hide";s:18:"suf_post_show_cats";s:4:"show";s:21:"suf_post_show_comment";s:4:"show";s:23:"suf_post_show_posted_by";s:4:"show";s:25:"suf_post_posted_by_format";s:5:"by-at";s:18:"suf_post_show_tags";s:4:"show";s:22:"suf_page_meta_position";s:7:"corners";s:21:"suf_page_show_comment";s:4:"show";s:23:"suf_page_show_posted_by";s:4:"show";s:25:"suf_page_posted_by_format";s:5:"by-at";s:25:"suf_post_aside_show_title";s:4:"hide";s:28:"suf_post_aside_meta_position";s:7:"corners";s:24:"suf_post_aside_show_perm";s:10:"show-tleft";s:33:"suf_post_aside_no_title_show_perm";s:4:"show";s:24:"suf_post_aside_show_cats";s:4:"show";s:27:"suf_post_aside_show_comment";s:4:"show";s:29:"suf_post_aside_show_posted_by";s:4:"show";s:31:"suf_post_aside_posted_by_format";s:5:"by-at";s:24:"suf_post_aside_show_tags";s:4:"show";s:27:"suf_post_gallery_show_title";s:4:"show";s:30:"suf_post_gallery_meta_position";s:7:"corners";s:26:"suf_post_gallery_show_perm";s:10:"show-tleft";s:37:"suf_post_gallery_with_title_show_perm";s:4:"hide";s:26:"suf_post_gallery_show_cats";s:4:"show";s:29:"suf_post_gallery_show_comment";s:4:"show";s:31:"suf_post_gallery_show_posted_by";s:4:"show";s:33:"suf_post_gallery_posted_by_format";s:5:"by-at";s:26:"suf_post_gallery_show_tags";s:4:"show";s:26:"suf_gallery_format_disable";s:0:"";s:30:"suf_gallery_format_thumb_count";i:6;s:39:"suf_gallery_format_thumb_panel_position";s:5:"right";s:36:"suf_gallery_format_thumb_panel_width";s:3:"250";s:34:"suf_gallery_format_thumbnail_width";s:2:"96";s:35:"suf_gallery_format_thumbnail_height";s:2:"96";s:21:"suf_gallery_format_zc";s:1:"1";s:33:"suf_gallery_random_thumbs_disable";s:0:"";s:24:"suf_post_link_show_title";s:4:"show";s:27:"suf_post_link_meta_position";s:7:"corners";s:23:"suf_post_link_show_perm";s:10:"show-tleft";s:34:"suf_post_link_with_title_show_perm";s:4:"hide";s:23:"suf_post_link_show_cats";s:4:"show";s:26:"suf_post_link_show_comment";s:4:"show";s:28:"suf_post_link_show_posted_by";s:4:"show";s:30:"suf_post_link_posted_by_format";s:5:"by-at";s:23:"suf_post_link_show_tags";s:4:"show";s:25:"suf_post_image_show_title";s:4:"show";s:28:"suf_post_image_meta_position";s:7:"corners";s:24:"suf_post_image_show_perm";s:10:"show-tleft";s:35:"suf_post_image_with_title_show_perm";s:4:"hide";s:24:"suf_post_image_show_cats";s:4:"show";s:27:"suf_post_image_show_comment";s:4:"show";s:29:"suf_post_image_show_posted_by";s:4:"show";s:31:"suf_post_image_posted_by_format";s:5:"by-at";s:24:"suf_post_image_show_tags";s:4:"show";s:25:"suf_post_quote_show_title";s:4:"hide";s:28:"suf_post_quote_meta_position";s:7:"corners";s:24:"suf_post_quote_show_perm";s:10:"show-tleft";s:35:"suf_post_quote_with_title_show_perm";s:4:"show";s:24:"suf_post_quote_show_cats";s:4:"show";s:27:"suf_post_quote_show_comment";s:4:"show";s:29:"suf_post_quote_show_posted_by";s:4:"show";s:31:"suf_post_quote_posted_by_format";s:5:"by-at";s:24:"suf_post_quote_show_tags";s:4:"show";s:26:"suf_post_status_show_title";s:4:"hide";s:29:"suf_post_status_meta_position";s:7:"corners";s:25:"suf_post_status_show_perm";s:10:"show-tleft";s:34:"suf_post_status_no_title_show_perm";s:4:"show";s:25:"suf_post_status_show_cats";s:4:"show";s:28:"suf_post_status_show_comment";s:4:"show";s:30:"suf_post_status_show_posted_by";s:4:"show";s:32:"suf_post_status_posted_by_format";s:5:"by-at";s:25:"suf_post_status_show_tags";s:4:"show";s:25:"suf_post_video_show_title";s:4:"show";s:28:"suf_post_video_meta_position";s:7:"corners";s:24:"suf_post_video_show_perm";s:10:"show-tleft";s:35:"suf_post_video_with_title_show_perm";s:4:"hide";s:24:"suf_post_video_show_cats";s:4:"show";s:27:"suf_post_video_show_comment";s:4:"show";s:29:"suf_post_video_show_posted_by";s:4:"show";s:31:"suf_post_video_posted_by_format";s:5:"by-at";s:24:"suf_post_video_show_tags";s:4:"show";s:25:"suf_post_audio_show_title";s:4:"show";s:26:"suf_enable_audio_shortcode";s:0:"";s:28:"suf_post_audio_meta_position";s:7:"corners";s:24:"suf_post_audio_show_perm";s:10:"show-tleft";s:35:"suf_post_audio_with_title_show_perm";s:4:"hide";s:24:"suf_post_audio_show_cats";s:4:"show";s:27:"suf_post_audio_show_comment";s:4:"show";s:29:"suf_post_audio_show_posted_by";s:4:"show";s:31:"suf_post_audio_posted_by_format";s:5:"by-at";s:24:"suf_post_audio_show_tags";s:4:"show";s:24:"suf_post_chat_show_title";s:4:"show";s:27:"suf_post_chat_meta_position";s:7:"corners";s:23:"suf_post_chat_show_perm";s:10:"show-tleft";s:34:"suf_post_chat_with_title_show_perm";s:4:"hide";s:23:"suf_post_chat_show_cats";s:4:"show";s:26:"suf_post_chat_show_comment";s:4:"show";s:28:"suf_post_chat_show_posted_by";s:4:"show";s:30:"suf_post_chat_posted_by_format";s:5:"by-at";s:23:"suf_post_chat_show_tags";s:4:"show";s:26:"suf_byline_before_category";s:0:"";s:25:"suf_byline_after_category";s:0:"";s:21:"suf_byline_before_tag";s:13:"Tagged with: ";s:20:"suf_byline_after_tag";s:0:"";s:27:"suf_byline_before_permalink";s:0:"";s:26:"suf_byline_after_permalink";s:0:"";s:22:"suf_byline_before_edit";s:0:"";s:21:"suf_byline_after_edit";s:0:"";s:22:"suf_byline_before_date";s:0:"";s:21:"suf_byline_after_date";s:0:"";s:38:"suf_byline_before_after_cpt_taxonomies";s:0:"";s:23:"suf_featured_index_view";s:8:"disabled";s:26:"suf_featured_category_view";s:8:"disabled";s:21:"suf_featured_tag_view";s:8:"disabled";s:24:"suf_featured_author_view";s:8:"disabled";s:24:"suf_featured_search_view";s:8:"disabled";s:22:"suf_featured_time_view";s:8:"disabled";s:28:"suf_featured_view_first_only";s:5:"first";s:26:"suf_featured_pages_with_fc";s:0:"";s:22:"suf_featured_num_posts";s:2:"10";s:23:"suf_featured_show_dupes";s:4:"hide";s:25:"suf_featured_allow_sticky";s:4:"show";s:24:"suf_featured_show_latest";s:4:"hide";s:29:"suf_featured_num_latest_posts";i:5;s:32:"suf_featured_selected_categories";s:0:"";s:27:"suf_featured_selected_pages";s:0:"";s:27:"suf_featured_selected_posts";s:0:"";s:26:"suf_featured_selected_tags";s:0:"";s:21:"suf_featured_img_pref";s:55:"custom-featured,native,custom-thumb,attachment,embedded";s:15:"suf_featured_fx";s:4:"fade";s:17:"suf_featured_sync";s:1:"0";s:21:"suf_featured_interval";s:4:"4000";s:29:"suf_featured_transition_speed";s:4:"1000";s:27:"suf_featured_override_theme";s:0:"";s:19:"suf_featured_height";s:3:"250";s:24:"suf_featured_show_border";s:4:"show";s:23:"suf_featured_image_size";s:4:"full";s:31:"suf_featured_image_custom_width";s:3:"200";s:32:"suf_featured_image_custom_height";s:3:"200";s:15:"suf_featured_zc";s:7:"default";s:22:"suf_featured_stretch_w";s:0:"";s:25:"suf_featured_excerpt_type";s:13:"title-excerpt";s:29:"suf_featured_excerpt_position";s:6:"rotate";s:26:"suf_featured_center_slides";s:0:"";s:26:"suf_featured_excerpt_width";s:3:"250";s:29:"suf_featured_excerpt_bg_color";s:6:"222222";s:31:"suf_featured_excerpt_font_color";s:6:"FFFFFF";s:31:"suf_featured_excerpt_link_color";s:6:"FFFFFF";s:18:"suf_featured_pager";s:4:"show";s:24:"suf_featured_pager_style";s:7:"numbers";s:28:"suf_featured_pager_alignment";s:4:"left";s:23:"suf_featured_controller";s:4:"hide";s:33:"suf_featured_controller_alignment";s:5:"right";s:18:"suf_nav_breadcrumb";s:10:"breadcrumb";s:23:"suf_show_breadcrumbs_in";s:0:"";s:16:"suf_show_home_in";s:0:"";s:29:"suf_nav_exclude_in_breadcrumb";s:4:"hide";s:24:"suf_breadcrumb_separator";s:7:"»";s:19:"suf_pagination_type";s:7:"old-new";s:20:"suf_pagination_index";s:4:"show";s:24:"suf_pagination_prev_next";s:4:"show";s:23:"suf_pagination_show_all";s:4:"dots";s:25:"suf_prev_next_above_below";s:5:"below";s:24:"suf_prev_next_categories";s:8:"restrict";s:20:"suf_cpagination_type";s:7:"old-new";s:21:"suf_cpagination_index";s:4:"show";s:25:"suf_cpagination_prev_next";s:4:"show";s:24:"suf_cpagination_show_all";s:4:"dots";s:24:"suf_show_rounded_corners";s:4:"show";s:20:"suf_fix_aspect_ratio";s:8:"preserve";s:23:"suf_use_photon_resizing";s:0:"";s:23:"suf_disable_auto_thumbs";s:0:"";s:22:"suf_jq_masonry_enabled";s:8:"disabled";s:17:"suf_wa_tbrh_style";s:4:"tiny";s:19:"suf_header_for_trbh";s:5:"plain";s:21:"suf_wa_tbrh_open_text";s:4:"Open";s:22:"suf_wa_tbrh_close_text";s:5:"Close";s:19:"suf_wa_tbrh_columns";s:1:"3";s:26:"suf_wa_tbrh_override_theme";s:0:"";s:23:"suf_wa_tbrh_panel_color";s:7:"#040D0F";s:30:"suf_wa_tbrh_panel_border_color";s:7:"#222222";s:28:"suf_wa_tbrh_panel_font_color";s:7:"#AAAAAA";s:15:"suf_wah_columns";s:1:"1";s:20:"suf_wah_layout_style";s:10:"full-align";s:15:"suf_wih_columns";s:1:"1";s:13:"suf_wih_width";s:3:"300";s:15:"suf_show_search";s:4:"show";s:16:"suf_wa_sb1_style";s:5:"boxed";s:25:"suf_sidebar_1_def_widgets";s:4:"show";s:17:"suf_sidebar_1_dnd";s:8:"disabled";s:21:"suf_sidebar_1_expcoll";s:7:"enabled";s:18:"suf_sidebar_header";s:5:"plain";s:25:"suf_sb_font_style_setting";s:5:"theme";s:17:"suf_sb_font_color";s:7:"#666666";s:17:"suf_sb_link_color";s:7:"#000000";s:17:"suf_sb_link_style";s:4:"none";s:25:"suf_sb_visited_link_color";s:7:"#000000";s:25:"suf_sb_visited_link_style";s:4:"none";s:23:"suf_sb_link_hover_color";s:7:"#528f6c";s:23:"suf_sb_link_hover_style";s:9:"underline";s:17:"suf_wa_sb1b_style";s:5:"boxed";s:16:"suf_wa_sb2_style";s:5:"boxed";s:17:"suf_sidebar_2_dnd";s:8:"disabled";s:21:"suf_sidebar_2_expcoll";s:7:"enabled";s:17:"suf_wa_sb2b_style";s:5:"boxed";s:16:"suf_wa_wst_style";s:5:"boxed";s:16:"suf_wa_wsb_style";s:5:"boxed";s:36:"suf_widget_area_below_header_enabled";s:8:"disabled";s:36:"suf_widget_area_below_header_columns";s:1:"1";s:17:"suf_wa_wabh_style";s:5:"boxed";s:35:"suf_header_for_widgets_below_header";s:5:"plain";s:27:"suf_wabh_font_style_setting";s:5:"theme";s:19:"suf_wabh_font_color";s:7:"#000000";s:19:"suf_wabh_link_color";s:7:"#000000";s:19:"suf_wabh_link_style";s:4:"none";s:27:"suf_wabh_visited_link_color";s:7:"#000000";s:27:"suf_wabh_visited_link_style";s:4:"none";s:25:"suf_wabh_link_hover_color";s:7:"#ffffff";s:25:"suf_wabh_link_hover_style";s:9:"underline";s:36:"suf_widget_area_above_footer_enabled";s:8:"disabled";s:36:"suf_widget_area_above_footer_columns";s:1:"1";s:17:"suf_wa_waaf_style";s:5:"boxed";s:35:"suf_header_for_widgets_above_footer";s:5:"plain";s:27:"suf_waaf_font_style_setting";s:5:"theme";s:19:"suf_waaf_font_color";s:7:"#000000";s:19:"suf_waaf_link_color";s:7:"#000000";s:19:"suf_waaf_link_style";s:4:"none";s:27:"suf_waaf_visited_link_color";s:7:"#000000";s:27:"suf_waaf_visited_link_style";s:4:"none";s:25:"suf_waaf_link_hover_color";s:7:"#ffffff";s:25:"suf_waaf_link_hover_style";s:9:"underline";s:18:"suf_adhoc1_columns";s:1:"1";s:18:"suf_adhoc2_columns";s:1:"1";s:18:"suf_adhoc3_columns";s:1:"1";s:18:"suf_adhoc4_columns";s:1:"1";s:18:"suf_adhoc5_columns";s:1:"1";s:17:"suf_sbtab_enabled";s:8:"disabled";s:19:"suf_sbtab_alignment";s:5:"right";s:17:"suf_sbtab_widgets";s:0:"";s:22:"suf_sbtab_widget_order";s:213:"archives,categories,Links,meta,pages,recent_comments,recent_posts,search,tag_cloud,custom_tab_1,custom_tab_2,custom_tab_3,custom_tab_4,custom_tab_5,custom_tab_6,custom_tab_7,custom_tab_8,custom_tab_9,custom_tab_10";s:26:"suf_sbtab_categories_title";s:10:"Categories";s:33:"suf_sbtab_categories_hierarchical";s:12:"hierarchical";s:31:"suf_sbtab_categories_post_count";s:4:"hide";s:24:"suf_sbtab_archives_title";s:8:"Archives";s:23:"suf_sbtab_archives_type";s:7:"monthly";s:28:"suf_sbtab_archives_list_type";s:4:"html";s:29:"suf_sbtab_archives_post_count";s:4:"hide";s:21:"suf_sbtab_Links_title";s:5:"Links";s:20:"suf_sbtab_meta_title";s:4:"Meta";s:21:"suf_sbtab_pages_title";s:5:"Pages";s:31:"suf_sbtab_recent_comments_title";s:15:"Recent Comments";s:28:"suf_sbtab_recent_posts_title";s:12:"Recent Posts";s:22:"suf_sbtab_search_title";s:6:"Search";s:25:"suf_sbtab_tag_cloud_title";s:9:"Tag Cloud";s:28:"suf_sbtab_custom_tab_1_title";s:12:"Custom Tab 1";s:31:"suf_sbtab_custom_tab_1_contents";s:0:"";s:28:"suf_sbtab_custom_tab_2_title";s:12:"Custom Tab 2";s:31:"suf_sbtab_custom_tab_2_contents";s:0:"";s:28:"suf_sbtab_custom_tab_3_title";s:12:"Custom Tab 3";s:31:"suf_sbtab_custom_tab_3_contents";s:0:"";s:28:"suf_sbtab_custom_tab_4_title";s:12:"Custom Tab 4";s:31:"suf_sbtab_custom_tab_4_contents";s:0:"";s:28:"suf_sbtab_custom_tab_5_title";s:12:"Custom Tab 5";s:31:"suf_sbtab_custom_tab_5_contents";s:0:"";s:28:"suf_sbtab_custom_tab_6_title";s:12:"Custom Tab 6";s:31:"suf_sbtab_custom_tab_6_contents";s:0:"";s:28:"suf_sbtab_custom_tab_7_title";s:12:"Custom Tab 7";s:31:"suf_sbtab_custom_tab_7_contents";s:0:"";s:28:"suf_sbtab_custom_tab_8_title";s:12:"Custom Tab 8";s:31:"suf_sbtab_custom_tab_8_contents";s:0:"";s:28:"suf_sbtab_custom_tab_9_title";s:12:"Custom Tab 9";s:31:"suf_sbtab_custom_tab_9_contents";s:0:"";s:29:"suf_sbtab_custom_tab_10_title";s:13:"Custom Tab 10";s:32:"suf_sbtab_custom_tab_10_contents";s:0:"";s:21:"suf_ie7_compatibility";s:8:"no-force";s:15:"suf_seo_enabled";s:7:"enabled";s:20:"suf_seo_all_settings";s:0:"";s:19:"suf_seo_title_style";s:9:"page-blog";s:23:"suf_seo_title_separator";s:7:"»";s:21:"suf_seo_show_subtitle";s:4:"hide";s:21:"suf_seo_show_page_num";s:4:"show";s:24:"suf_seo_meta_description";s:0:"";s:21:"suf_seo_meta_keywords";s:0:"";s:29:"suf_comments_disabled_all_sel";s:3:"all";s:35:"suf_comments_disabled_msg_for_posts";s:4:"show";s:19:"suf_show_track_ping";s:4:"show";s:34:"suf_show_hide_reply_link_for_pings";s:8:"disallow";s:24:"suf_comment_display_type";s:5:"plain";s:24:"suf_comment_label_styles";s:5:"plain";s:22:"suf_comment_label_name";s:4:"Name";s:26:"suf_comment_label_name_req";s:10:"(required)";s:23:"suf_comment_label_email";s:6:"E-mail";s:27:"suf_comment_label_email_req";s:10:"(required)";s:21:"suf_comment_label_uri";s:3:"URI";s:30:"suf_comment_label_your_comment";s:12:"Your Comment";s:26:"suf_comment_show_html_tags";s:4:"show";s:18:"suf_uprof_networks";s:0:"";s:27:"suf_uprof_post_info_enabled";s:4:"hide";s:26:"suf_uprof_post_info_header";s:22:"[suffusion-the-author]";s:28:"suf_uprof_post_info_gravatar";s:4:"show";s:33:"suf_uprof_post_info_gravatar_size";s:2:"64";s:38:"suf_uprof_post_info_gravatar_alignment";s:4:"left";s:27:"suf_uprof_post_info_content";s:44:"[suffusion-the-author display=\'description\']";s:21:"suf_analytics_enabled";s:11:"not-enabled";s:25:"suf_custom_analytics_code";s:0:"";s:18:"suf_openid_enabled";s:11:"not-enabled";s:17:"suf_openid_server";s:0:"";s:19:"suf_openid_delegate";s:0:"";s:19:"suf_custom_css_code";s:0:"";s:21:"suf_custom_css_link_1";s:0:"";s:21:"suf_custom_css_link_2";s:0:"";s:21:"suf_custom_css_link_3";s:0:"";s:20:"suf_custom_js_file_1";s:0:"";s:20:"suf_custom_js_file_2";s:0:"";s:20:"suf_custom_js_file_3";s:0:"";s:20:"suf_custom_header_js";s:0:"";s:20:"suf_custom_footer_js";s:0:"";s:30:"suf_custom_default_rss_enabled";s:7:"enabled";s:21:"suf_custom_rss_feed_1";s:0:"";s:22:"suf_custom_rss_title_1";s:0:"";s:21:"suf_custom_rss_feed_2";s:0:"";s:22:"suf_custom_rss_title_2";s:0:"";s:21:"suf_custom_rss_feed_3";s:0:"";s:22:"suf_custom_rss_title_3";s:0:"";s:22:"suf_custom_atom_feed_1";s:0:"";s:23:"suf_custom_atom_title_1";s:0:"";s:22:"suf_custom_atom_feed_2";s:0:"";s:23:"suf_custom_atom_title_2";s:0:"";s:22:"suf_custom_atom_feed_3";s:0:"";s:23:"suf_custom_atom_title_3";s:0:"";s:18:"suf_module_widgets";s:0:"";s:15:"suf_autogen_css";s:12:"autogen-file";s:14:"suf_minify_css";s:9:"no-minify";s:21:"suf_featured_use_lite";s:7:"regular";s:21:"suf_style_inheritance";s:10:"everything";s:20:"suf_mag_entity_order";s:29:"headlines,excerpts,categories";s:24:"suf_mag_featured_enabled";s:7:"enabled";s:23:"suf_mag_content_enabled";s:4:"hide";s:25:"suf_mag_headlines_enabled";s:4:"show";s:22:"suf_mag_headline_title";s:9:"Headlines";s:37:"suf_mag_headline_main_title_alignment";s:6:"center";s:24:"suf_mag_headlines_height";s:3:"250";s:38:"suf_mag_headline_image_container_width";s:3:"225";s:25:"suf_mag_headline_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:27:"suf_mag_headline_image_size";s:7:"excerpt";s:36:"suf_mag_headline_image_custom_height";s:3:"200";s:35:"suf_mag_headline_image_custom_width";s:3:"200";s:19:"suf_mag_headline_zc";s:7:"default";s:22:"suf_mag_headline_limit";i:10;s:24:"suf_mag_excerpts_enabled";s:4:"show";s:22:"suf_mag_excerpts_title";s:17:"Other Big Stories";s:37:"suf_mag_excerpts_main_title_alignment";s:6:"center";s:22:"suf_mag_total_excerpts";s:2:"10";s:24:"suf_mag_excerpts_per_row";s:1:"3";s:31:"suf_mag_excerpts_images_enabled";s:4:"show";s:33:"suf_mag_excerpts_image_box_height";s:3:"100";s:24:"suf_mag_excerpt_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:26:"suf_mag_excerpt_image_size";s:7:"excerpt";s:35:"suf_mag_excerpt_image_custom_height";s:3:"200";s:34:"suf_mag_excerpt_image_custom_width";s:3:"200";s:18:"suf_mag_excerpt_zc";s:7:"default";s:31:"suf_mag_excerpt_title_alignment";s:6:"center";s:31:"suf_mag_excerpt_full_story_text";s:10:"Full Story";s:31:"suf_mag_excerpt_bylines_enabled";s:4:"show";s:33:"suf_mag_excerpt_bylines_post_date";s:4:"show";s:33:"suf_mag_excerpt_bylines_posted_by";s:4:"show";s:34:"suf_mag_excerpt_bylines_categories";s:4:"show";s:28:"suf_mag_excerpt_bylines_tags";s:4:"show";s:32:"suf_mag_excerpt_bylines_comments";s:4:"show";s:34:"suf_mag_excerpt_bylines_permalinks";s:4:"show";s:26:"suf_mag_categories_enabled";s:4:"show";s:23:"suf_mag_catblocks_title";s:13:"Other Stories";s:38:"suf_mag_catblocks_main_title_alignment";s:6:"center";s:25:"suf_mag_catblocks_per_row";s:1:"3";s:33:"suf_mag_catblocks_title_alignment";s:6:"center";s:32:"suf_mag_catblocks_images_enabled";s:4:"hide";s:34:"suf_mag_catblocks_image_box_height";s:3:"100";s:30:"suf_mag_catblocks_desc_enabled";s:4:"hide";s:31:"suf_mag_catblocks_posts_enabled";s:4:"show";s:27:"suf_mag_catblocks_num_posts";s:1:"5";s:30:"suf_mag_catblocks_see_all_text";s:13:"See all posts";s:28:"suf_mag_catblocks_post_style";s:17:"thumbnail-excerpt";s:32:"suf_mag_catblocks_thumbnail_size";s:2:"32";s:32:"suf_mag_catblocks_excerpt_length";s:2:"15";s:35:"suf_mag_excerpt_full_story_position";s:5:"below";s:15:"suf_pop_excerpt";s:7:"content";s:17:"suf_pop_fc_number";s:1:"0";s:20:"suf_cat_info_enabled";s:11:"not-enabled";s:26:"suf_temp_cats_hierarchical";s:12:"hierarchical";s:17:"suf_temp_cats_rss";s:4:"show";s:24:"suf_temp_cats_post_count";s:4:"hide";s:20:"suf_tag_info_enabled";s:11:"not-enabled";s:23:"suf_author_info_enabled";s:7:"enabled";s:23:"suf_search_info_enabled";s:7:"enabled";s:18:"suf_image_comments";s:0:"";s:20:"suf_image_show_sizes";s:4:"hide";s:19:"suf_image_show_exif";s:4:"hide";s:21:"suf_image_exif_pieces";s:0:"";s:18:"suf_audio_comments";s:0:"";s:18:"suf_audio_att_type";s:4:"link";s:27:"suf_audio_att_player_height";s:2:"30";s:26:"suf_audio_att_player_width";s:3:"300";s:24:"suf_application_comments";s:0:"";s:24:"suf_application_att_type";s:4:"link";s:32:"suf_application_att_player_width";s:3:"300";s:17:"suf_text_comments";s:0:"";s:17:"suf_text_att_type";s:4:"link";s:25:"suf_text_att_player_width";s:3:"300";s:18:"suf_video_comments";s:0:"";s:18:"suf_video_att_type";s:4:"link";s:27:"suf_video_att_player_height";s:3:"225";s:26:"suf_video_att_player_width";s:3:"300";s:20:"suf_sitemap_contents";s:0:"";s:23:"suf_sitemap_label_pages";s:5:"Pages";s:28:"suf_sitemap_label_categories";s:10:"Categories";s:25:"suf_sitemap_label_authors";s:7:"Authors";s:27:"suf_sitemap_label_yarchives";s:15:"Yearly Archives";s:27:"suf_sitemap_label_marchives";s:16:"Monthly Archives";s:27:"suf_sitemap_label_warchives";s:15:"Weekly Archives";s:27:"suf_sitemap_label_darchives";s:14:"Daily Archives";s:22:"suf_sitemap_label_tags";s:4:"Tags";s:23:"suf_sitemap_label_posts";s:10:"Blog Posts";s:24:"suf_sitemap_entity_order";s:64:"pages,categories,authors,years,months,weeks,days,tag-cloud,posts";s:20:"suf_nr_books_per_row";s:1:"4";s:19:"suf_nr_main_cover_w";s:3:"108";s:19:"suf_nr_main_cover_h";s:3:"160";s:20:"suf_nr_no_books_text";s:4:"None";s:16:"suf_nr_lib_title";s:7:"Library";s:20:"suf_nr_lib_curr_show";s:4:"show";s:21:"suf_nr_lib_curr_title";s:17:"Currently Reading";s:20:"suf_nr_lib_curr_text";s:0:"";s:22:"suf_nr_lib_unread_show";s:4:"show";s:23:"suf_nr_lib_unread_title";s:7:"Up Next";s:22:"suf_nr_lib_unread_text";s:0:"";s:25:"suf_nr_lib_completed_show";s:4:"show";s:26:"suf_nr_lib_completed_title";s:16:"Finished Reading";s:25:"suf_nr_lib_completed_text";s:0:"";s:16:"suf_nr_lib_order";s:24:"current,unread,completed";s:24:"suf_nr_single_added_show";s:4:"show";s:24:"suf_nr_single_added_text";s:10:"Added on: ";s:26:"suf_nr_single_started_show";s:4:"show";s:26:"suf_nr_single_started_text";s:9:"Started: ";s:27:"suf_nr_single_finished_show";s:4:"show";s:27:"suf_nr_single_finished_text";s:10:"Finished: ";s:23:"suf_nr_single_meta_show";s:4:"show";s:22:"suf_nr_wid_search_show";s:6:"bottom";s:20:"suf_nr_wid_curr_show";s:4:"show";s:21:"suf_nr_wid_curr_title";s:17:"Currently Reading";s:22:"suf_nr_wid_unread_show";s:4:"show";s:23:"suf_nr_wid_unread_title";s:7:"Up Next";s:25:"suf_nr_wid_completed_show";s:4:"show";s:26:"suf_nr_wid_completed_title";s:16:"Finished Reading";s:16:"suf_nr_wid_order";s:24:"current,unread,completed";s:13:"suf_404_title";s:21:"Error 404 - Not Found";s:15:"suf_404_content";s:56:"Sorry, the page that you are looking for does not exist.";s:16:"suf_clt_wa1_cols";s:1:"1";s:25:"suf_clt_wa1_widget_height";s:7:"all-row";s:24:"suf_clt_wa1_skin_setting";s:0:"";s:28:"suf_clt_wa1_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa1_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa2_cols";s:1:"1";s:25:"suf_clt_wa2_widget_height";s:7:"all-row";s:24:"suf_clt_wa2_skin_setting";s:0:"";s:28:"suf_clt_wa2_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa2_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa3_cols";s:1:"1";s:25:"suf_clt_wa3_widget_height";s:7:"all-row";s:24:"suf_clt_wa3_skin_setting";s:0:"";s:28:"suf_clt_wa3_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa3_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa4_cols";s:1:"1";s:25:"suf_clt_wa4_widget_height";s:7:"all-row";s:24:"suf_clt_wa4_skin_setting";s:0:"";s:28:"suf_clt_wa4_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa4_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:16:"suf_clt_wa5_cols";s:1:"1";s:25:"suf_clt_wa5_widget_height";s:7:"all-row";s:24:"suf_clt_wa5_skin_setting";s:0:"";s:28:"suf_clt_wa5_skin_settings_bg";s:96:"color=#ffffff;image=;trans=0;position=top left;repeat=repeat;attachment=scroll;colortype=custom;";s:35:"suf_clt_wa5_skin_settings_bg_border";s:361:"top::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||right::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||bottom::colortype=custom;color=#cccccc;style=none;border-width=1;border-width-type=px;||left::colortype=transparent;color=#cccccc;style=none;border-width=0;border-width-type=px;||";s:15:"suf_cpt_layouts";s:0:"";s:17:"suf_sidebar_count";s:1:"1";s:21:"suf_sidebar_alignment";s:5:"right";s:23:"suf_sidebar_2_alignment";s:5:"right";s:16:"suf_size_options";s:6:"custom";s:22:"suf_wrapper_width_type";s:5:"fixed";s:22:"suf_wrapper_width_flex";i:75;s:26:"suf_wrapper_width_flex_max";s:4:"1200";s:26:"suf_wrapper_width_flex_min";s:3:"600";s:24:"suf_wrapper_width_preset";s:4:"1000";s:17:"suf_wrapper_width";s:4:"1000";s:18:"suf_main_col_width";s:3:"725";s:14:"suf_sb_1_width";s:3:"260";s:14:"suf_sb_2_width";s:3:"260";s:19:"suf_ns_wabh_enabled";s:7:"enabled";s:19:"suf_ns_waaf_enabled";s:7:"enabled";s:25:"suf_1l_wrapper_width_type";s:5:"fixed";s:25:"suf_1l_wrapper_width_flex";i:75;s:29:"suf_1l_wrapper_width_flex_max";s:4:"1200";s:29:"suf_1l_wrapper_width_flex_min";s:3:"600";s:27:"suf_1l_wrapper_width_preset";s:4:"1000";s:20:"suf_1l_wrapper_width";s:4:"1000";s:21:"suf_1l_main_col_width";s:3:"725";s:17:"suf_1l_sb_1_width";s:3:"260";s:25:"suf_1r_wrapper_width_type";s:5:"fixed";s:25:"suf_1r_wrapper_width_flex";i:75;s:29:"suf_1r_wrapper_width_flex_max";s:4:"1200";s:29:"suf_1r_wrapper_width_flex_min";s:3:"600";s:27:"suf_1r_wrapper_width_preset";s:4:"1000";s:20:"suf_1r_wrapper_width";s:4:"1000";s:21:"suf_1r_main_col_width";s:3:"725";s:17:"suf_1r_sb_1_width";s:3:"260";s:27:"suf_1l1r_wrapper_width_type";s:5:"fixed";s:27:"suf_1l1r_wrapper_width_flex";i:75;s:31:"suf_1l1r_wrapper_width_flex_max";s:4:"1200";s:31:"suf_1l1r_wrapper_width_flex_min";s:3:"600";s:29:"suf_1l1r_wrapper_width_preset";s:4:"1000";s:22:"suf_1l1r_wrapper_width";s:4:"1000";s:23:"suf_1l1r_main_col_width";s:3:"725";s:19:"suf_1l1r_sb_1_width";s:3:"260";s:19:"suf_1l1r_sb_2_width";s:3:"260";s:25:"suf_2l_wrapper_width_type";s:5:"fixed";s:25:"suf_2l_wrapper_width_flex";i:75;s:29:"suf_2l_wrapper_width_flex_max";s:4:"1200";s:29:"suf_2l_wrapper_width_flex_min";s:3:"600";s:27:"suf_2l_wrapper_width_preset";s:4:"1000";s:20:"suf_2l_wrapper_width";s:4:"1000";s:21:"suf_2l_main_col_width";s:3:"725";s:17:"suf_2l_sb_1_width";s:3:"260";s:17:"suf_2l_sb_2_width";s:3:"260";s:25:"suf_2r_wrapper_width_type";s:5:"fixed";s:25:"suf_2r_wrapper_width_flex";i:75;s:29:"suf_2r_wrapper_width_flex_max";s:4:"1200";s:29:"suf_2r_wrapper_width_flex_min";s:3:"600";s:27:"suf_2r_wrapper_width_preset";s:4:"1000";s:20:"suf_2r_wrapper_width";s:4:"1000";s:21:"suf_2r_main_col_width";s:3:"725";s:17:"suf_2r_sb_1_width";s:3:"260";s:17:"suf_2r_sb_2_width";s:3:"260";s:21:"suf_enable_responsive";s:0:"";s:20:"suf_responsive_stops";s:29:"980px,650px,480px,320px,240px";s:35:"suf_responsive_prevent_user_scaling";s:0:"";s:27:"suf_responsive_scale_header";s:0:"";s:25:"suf_responsive_nav_switch";s:5:"480px";s:27:"suf_responsive_thumb_switch";s:5:"480px";s:29:"suf_responsive_pullout_switch";s:5:"480px";s:21:"suf_responsive_240_sb";s:5:"below";s:21:"suf_responsive_320_sb";s:5:"below";s:21:"suf_responsive_480_sb";s:5:"below";s:26:"suf_responsive_480_columns";s:0:"";s:21:"suf_responsive_650_sb";s:12:"below-beside";s:26:"suf_responsive_650_columns";s:0:"";s:21:"suf_responsive_980_sb";s:11:"in-position";s:26:"suf_responsive_980_columns";s:0:"";s:22:"suf_blog_sidebar_count";s:7:"default";s:17:"suf_index_excerpt";s:7:"content";s:19:"suf_index_fc_number";s:1:"0";s:26:"suf_category_sidebar_count";s:7:"default";s:20:"suf_category_excerpt";s:7:"content";s:22:"suf_category_fc_number";s:1:"0";s:21:"suf_tag_sidebar_count";s:7:"default";s:15:"suf_tag_excerpt";s:7:"content";s:17:"suf_tag_fc_number";s:1:"0";s:24:"suf_author_sidebar_count";s:7:"default";s:18:"suf_author_excerpt";s:7:"content";s:20:"suf_author_fc_number";s:1:"0";s:22:"suf_date_sidebar_count";s:7:"default";s:19:"suf_archive_excerpt";s:7:"content";s:21:"suf_archive_fc_number";s:1:"0";s:24:"suf_search_sidebar_count";s:7:"default";s:18:"suf_search_excerpt";s:7:"content";s:20:"suf_search_fc_number";s:1:"0";s:22:"suf_fc_view_first_only";s:5:"first";s:25:"suf_excerpt_custom_length";s:2:"55";s:27:"suf_excerpt_read_more_style";s:7:"replace";s:28:"suf_excerpt_custom_more_text";s:5:"[...]";s:26:"suf_show_excerpt_thumbnail";s:4:"show";s:26:"suf_show_content_thumbnail";s:4:"show";s:20:"suf_excerpt_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:17:"suf_excerpt_tt_zc";s:1:"1";s:22:"suf_excerpt_tt_quality";i:75;s:31:"suf_excerpt_thumbnail_alignment";s:4:"left";s:26:"suf_excerpt_thumbnail_size";s:9:"thumbnail";s:34:"suf_excerpt_thumbnail_custom_width";s:3:"200";s:35:"suf_excerpt_thumbnail_custom_height";s:3:"200";s:22:"suf_excerpt_list_count";s:3:"all";s:22:"suf_excerpt_list_style";s:2:"ul";s:25:"suf_tile_excerpts_per_row";s:1:"3";s:23:"suf_tile_images_enabled";s:4:"show";s:25:"suf_tile_image_box_height";s:3:"100";s:23:"suf_tile_image_settings";s:7:"inherit";s:17:"suf_tile_img_pref";s:55:"native,custom-thumb,attachment,embedded,custom-featured";s:19:"suf_tile_image_size";s:7:"excerpt";s:28:"suf_tile_image_custom_height";s:3:"200";s:27:"suf_tile_image_custom_width";s:3:"200";s:11:"suf_tile_zc";s:7:"default";s:24:"suf_tile_title_alignment";s:4:"left";s:31:"suf_tile_layout_bylines_enabled";s:4:"show";s:33:"suf_tile_layout_bylines_post_date";s:4:"show";s:33:"suf_tile_layout_bylines_posted_by";s:4:"show";s:34:"suf_tile_layout_bylines_categories";s:4:"show";s:28:"suf_tile_layout_bylines_tags";s:4:"show";s:32:"suf_tile_layout_bylines_comments";s:4:"show";s:34:"suf_tile_layout_bylines_permalinks";s:4:"show";s:26:"suf_mosaic_thumbnail_width";s:2:"96";s:27:"suf_mosaic_thumbnail_height";s:2:"96";s:13:"suf_mosaic_zc";s:1:"1";s:24:"suf_mosaic_constrain_row";s:7:"padding";s:31:"suf_mosaic_constrain_by_padding";s:2:"50";s:29:"suf_mosaic_constrain_by_count";i:5;s:15:"suf_mosaic_zoom";s:4:"zoom";s:23:"suf_mosaic_zoom_library";s:8:"fancybox";s:21:"suf_mosaic_show_title";s:4:"hide";s:27:"suf_body_font_style_setting";s:5:"theme";s:20:"suf_body_font_family";s:28:"Arial, Helvetica, sans-serif";s:14:"suf_font_color";s:7:"#000000";s:14:"suf_link_color";s:7:"#528f6c";s:14:"suf_link_style";s:4:"none";s:22:"suf_visited_link_color";s:7:"#528f6c";s:22:"suf_visited_link_style";s:4:"none";s:20:"suf_link_hover_color";s:7:"#528f6c";s:20:"suf_link_hover_style";s:9:"underline";s:27:"suf_main_font_style_setting";s:0:"";s:18:"suf_main_font_size";s:31:"font-size=14;font-size-type=px;";s:28:"suf_title_font_style_setting";s:0:"";s:19:"suf_post_title_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:24:"suf_post_title_link_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:30:"suf_post_title_link_hover_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:23:"suf_header_font_setting";s:0:"";s:16:"suf_post_h1_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:16:"suf_post_h2_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=26;font-size-type=px;";s:16:"suf_post_h3_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=23;font-size-type=px;";s:16:"suf_post_h4_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=21;font-size-type=px;";s:16:"suf_post_h5_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=19;font-size-type=px;";s:16:"suf_post_h6_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=16;font-size-type=px;";s:26:"suf_clt_title_font_setting";s:0:"";s:18:"suf_clt_title_font";s:141:"color=#444444;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=24;font-size-type=px;";s:24:"suf_comment_font_setting";s:0:"";s:23:"suf_comment_header_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=16;font-size-type=px;";s:21:"suf_comment_body_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=14;font-size-type=px;";s:23:"suf_footer_font_setting";s:0:"";s:20:"suf_footer_text_font";s:141:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;font-size=28;font-size-type=px;";s:20:"suf_footer_link_font";s:110:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;";s:26:"suf_footer_link_hover_font";s:110:"color=#FFFFFF;font-face=Arial, Helvetica, sans-serif;font-weight=normal;font-style=normal;font-variant=normal;";s:23:"suf_drop_cap_post_views";s:0:"";s:25:"suf_drop_cap_post_formats";s:0:"";s:13:"theme-version";s:5:"4.4.7";s:11:"option-date";s:24:"October 18, 2013 1:30 pm";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (297, 'suffusion_generated_css', 'a:3:{s:3:"css";s:24524:"/* October 18, 2013 1:30 pm */\r\n.page-template-1l-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1l-sidebar-php #container { padding-left: 275px; padding-right: 0px; }\r\n.page-template-1l-sidebar-php #main-col { width: 725px; }\r\n#ie6 .page-template-1l-sidebar-php #main-col { width: 695px }\r\n.page-template-1l-sidebar-php #nav-top, .page-template-1l-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l-sidebar-php #nav-top .col-control, .page-template-1l-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1l-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1l-sidebar-php .postdata .category {\r\n max-width: 450px;\r\n}\r\n.page-template-1l-sidebar-php .tags {\r\n max-width: 450px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar, .page-template-1l-sidebar-php #sidebar-b, .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar.flattened, .page-template-1l-sidebar-php #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar-shell-1 {\r\n margin-left: -100%;\r\n margin-right: 15px;\r\n left: auto;\r\n right: 275px;\r\n}\r\n.page-template-1l-sidebar-php #sidebar-container { width: 275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-left { right: 275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-right { margin-right: -275px; }\r\n.page-template-1l-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1l-sidebar-php #wsidebar-top, .page-template-1l-sidebar-php #wsidebar-bottom { width: 273px; }\r\n.page-template-1l-sidebar-php #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1l-sidebar-php .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar, #ie6 .page-template-1l-sidebar-php #sidebar-b, #ie6 .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1l-sidebar-php #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n.page-template-1l-sidebar-php .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-1r-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1r-sidebar-php #container { padding-left: 0px; padding-right: 275px; }\r\n.page-template-1r-sidebar-php #main-col { width: 725px; }\r\n#ie6 .page-template-1r-sidebar-php #main-col { width: 695px }\r\n.page-template-1r-sidebar-php #nav-top, .page-template-1r-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1r-sidebar-php #nav-top .col-control, .page-template-1r-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1r-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1r-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1r-sidebar-php .postdata .category {\r\n max-width: 450px;\r\n}\r\n.page-template-1r-sidebar-php .tags {\r\n max-width: 450px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar, .page-template-1r-sidebar-php #sidebar-b, .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar.flattened, .page-template-1r-sidebar-php #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n.page-template-1r-sidebar-php #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -275px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1r-sidebar-php #sidebar-container { width: 275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-left { right: 275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-right { margin-right: -275px; }\r\n.page-template-1r-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1r-sidebar-php #wsidebar-top, .page-template-1r-sidebar-php #wsidebar-bottom { width: 273px; }\r\n.page-template-1r-sidebar-php #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1r-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1r-sidebar-php .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar, #ie6 .page-template-1r-sidebar-php #sidebar-b, #ie6 .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1r-sidebar-php #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n.page-template-1r-sidebar-php .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-1l1r-sidebar-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-1l1r-sidebar-php #container { padding-left: 185px; padding-right: 185px; }\r\n.page-template-1l1r-sidebar-php #main-col { width: 630px; }\r\n#ie6 .page-template-1l1r-sidebar-php #main-col { width: 600px }\r\n.page-template-1l1r-sidebar-php #nav-top, .page-template-1l1r-sidebar-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l1r-sidebar-php #nav-top .col-control, .page-template-1l1r-sidebar-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-1l1r-sidebar-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-1l1r-sidebar-php #nav .col-control { width: 1000px }\n\r\n.page-template-1l1r-sidebar-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-1l1r-sidebar-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar, .page-template-1l1r-sidebar-php #sidebar-b, .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar.flattened, .page-template-1l1r-sidebar-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -185px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-2, .page-template-1l1r-sidebar-php #sidebar-2-b, .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-1l1r-sidebar-php #sidebar-2.flattened, .page-template-1l1r-sidebar-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n margin-left: -100%;\r\n margin-right: 0px;\r\n left: auto;\r\n right: 185px;\r\n}\r\n\r\n.page-template-1l1r-sidebar-php #sidebar-container { width: 185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-left { right: 185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-right { margin-right: -185px; }\r\n.page-template-1l1r-sidebar-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-1l1r-sidebar-php #wsidebar-top, .page-template-1l1r-sidebar-php #wsidebar-bottom { width: 353px; }\r\n.page-template-1l1r-sidebar-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-1l1r-sidebar-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-1l1r-sidebar-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar, #ie6 .page-template-1l1r-sidebar-php #sidebar-b, #ie6 .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-2, #ie6 .page-template-1l1r-sidebar-php #sidebar-2-b, #ie6 .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-shell-2 {\r\n left: 200px;\r\n right: 185px;\r\n}\r\n\r\n#ie6 .page-template-1l1r-sidebar-php #sidebar-container {\r\n width: 175px;\r\n}\r\n\r\n.page-template-1l1r-sidebar-php .tab-box {\r\n width: 170px;\r\n}\r\n.page-template-2l-sidebars-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-2l-sidebars-php #container { padding-left: 370px; padding-right: 0px; }\r\n.page-template-2l-sidebars-php #main-col { width: 630px; }\r\n#ie6 .page-template-2l-sidebars-php #main-col { width: 600px }\r\n.page-template-2l-sidebars-php #nav-top, .page-template-2l-sidebars-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2l-sidebars-php #nav-top .col-control, .page-template-2l-sidebars-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-2l-sidebars-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2l-sidebars-php #nav .col-control { width: 1000px }\n\r\n.page-template-2l-sidebars-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-2l-sidebars-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar, .page-template-2l-sidebars-php #sidebar-b, .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar.flattened, .page-template-2l-sidebars-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-shell-1 {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-2, .page-template-2l-sidebars-php #sidebar-2-b, .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-2l-sidebars-php #sidebar-2.flattened, .page-template-2l-sidebars-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2l-sidebars-php #sidebar-shell-2 {\r\n margin-left: 15px;\r\n margin-right: -185px;\r\n left: auto;\r\n right: auto;\r\n}\r\n\r\n.page-template-2l-sidebars-php #sidebar-container { width: 370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-left { right: 370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-right { margin-right: -370px; }\r\n.page-template-2l-sidebars-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-2l-sidebars-php #wsidebar-top, .page-template-2l-sidebars-php #wsidebar-bottom { width: 353px; }\r\n.page-template-2l-sidebars-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: 370px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-wrap {\r\n left: auto;\r\n right: 200px;\r\n}\r\n.page-template-2l-sidebars-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-2l-sidebars-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar, #ie6 .page-template-2l-sidebars-php #sidebar-b, #ie6 .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-2, #ie6 .page-template-2l-sidebars-php #sidebar-2-b, #ie6 .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2l-sidebars-php #sidebar-shell-2 {\r\n}\r\n\r\n#ie6 .page-template-2l-sidebars-php #sidebar-container {\r\n width: 360px;\r\n}\r\n\r\n.page-template-2l-sidebars-php .tab-box {\r\n width: 353px;\r\n}\r\n.page-template-2r-sidebars-php #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n.page-template-2r-sidebars-php #container { padding-left: 0px; padding-right: 370px; }\r\n.page-template-2r-sidebars-php #main-col { width: 630px; }\r\n#ie6 .page-template-2r-sidebars-php #main-col { width: 600px }\r\n.page-template-2r-sidebars-php #nav-top, .page-template-2r-sidebars-php #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2r-sidebars-php #nav-top .col-control, .page-template-2r-sidebars-php #top-bar-right-spanel .col-control { width: 1000px }\r\n.page-template-2r-sidebars-php #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n.page-template-2r-sidebars-php #nav .col-control { width: 1000px }\n\r\n.page-template-2r-sidebars-php .postdata .category {\r\n max-width: 355px;\r\n}\r\n.page-template-2r-sidebars-php .tags {\r\n max-width: 355px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar, .page-template-2r-sidebars-php #sidebar-b, .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n width: 170px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar.flattened, .page-template-2r-sidebars-php #sidebar-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-shell-1 {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-2, .page-template-2r-sidebars-php #sidebar-2-b, .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n width: 170px;\r\n }\r\n.page-template-2r-sidebars-php #sidebar-2.flattened, .page-template-2r-sidebars-php #sidebar-2-b.flattened {\r\n width: 168px;\r\n}\r\n.page-template-2r-sidebars-php #sidebar-shell-2 {\r\n margin-left: -185px;\r\n margin-right: 15px;\r\n left: auto;\r\n right: auto;\r\n}\r\n\r\n.page-template-2r-sidebars-php #sidebar-container { width: 370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-left { right: 370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-right { margin-right: -370px; }\r\n.page-template-2r-sidebars-php .sidebar-container-left #sidebar-wrap { right: auto; }\r\n.page-template-2r-sidebars-php #wsidebar-top, .page-template-2r-sidebars-php #wsidebar-bottom { width: 353px; }\r\n.page-template-2r-sidebars-php #sidebar-wrap {\r\n width: 370px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n.page-template-2r-sidebars-php .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n.page-template-2r-sidebars-php .sidebar-wrap-right {\r\n margin-right: -370px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar, #ie6 .page-template-2r-sidebars-php #sidebar-b, #ie6 .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-shell-1 {\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-2, #ie6 .page-template-2r-sidebars-php #sidebar-2-b, #ie6 .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n width: 162px;\r\n}\r\n#ie6 .page-template-2r-sidebars-php #sidebar-shell-2 {\r\n}\r\n\r\n#ie6 .page-template-2r-sidebars-php #sidebar-container {\r\n width: 360px;\r\n}\r\n\r\n.page-template-2r-sidebars-php .tab-box {\r\n width: 353px;\r\n}\r\n #wrapper { width: 1000px; max-width: 1000px; min-width: 1000px; }\n\r\n #container { padding-left: 0px; padding-right: 275px; }\r\n #main-col { width: 725px; }\r\n#ie6 #main-col { width: 695px }\r\n #nav-top, #top-bar-right-spanel { width: 1000px; max-width: 1000px; min-width: 1000px; }\n #nav-top .col-control, #top-bar-right-spanel .col-control { width: 1000px }\r\n #widgets-above-header .col-control { width: 1000px; max-width: 1000px; min-width: 1000px; }\n #nav .col-control { width: 1000px }\n\r\n .postdata .category {\r\n max-width: 450px;\r\n}\r\n .tags {\r\n max-width: 450px;\r\n}\r\n #sidebar, #sidebar-b, #sidebar-shell-1 {\r\n width: 260px;\r\n}\r\n #sidebar.flattened, #sidebar-b.flattened {\r\n width: 258px;\r\n}\r\n #sidebar-shell-1 {\r\n margin-left: 15px;\r\n margin-right: -275px;\r\n left: auto;\r\n right: auto;\r\n}\r\n #sidebar-container { width: 275px; }\r\n .sidebar-container-left { right: 275px; }\r\n .sidebar-container-right { margin-right: -275px; }\r\n .sidebar-container-left #sidebar-wrap { right: auto; }\r\n #wsidebar-top, #wsidebar-bottom { width: 273px; }\r\n #sidebar-wrap {\r\n width: 290px;\r\n left: auto;\r\n right: auto;\r\n}\r\n#ie6 #sidebar-wrap {\r\n left: auto;\r\n right: auto;\r\n}\r\n .sidebar-wrap-left {\r\n margin-left: -100%;\r\n}\r\n .sidebar-wrap-right {\r\n margin-right: -290px;\r\n}\r\n#ie6 #sidebar, #ie6 #sidebar-b, #ie6 #sidebar-shell-1 {\r\n width: 252px;\r\n}\r\n#ie6 #sidebar-shell-1 {\r\n}\r\n#ie6 #sidebar-container {\r\n width: 265px;\r\n}\r\n\r\n .tab-box {\r\n width: 260px;\r\n}\r\n.page-template-no-sidebars-php #container { padding-left: 0; padding-right: 0; }\r\n.page-template-no-sidebars-php #main-col { width: 100%; }\r\n.suf-mag-headlines {\r\n padding-left: 225px;\r\n}\r\n.suf-mag-headline-photo-box { width: 225px; right: 225px; }\r\n.suf-mag-headline-block { width: 100%; }\r\n#ie6 .suf-mag-headline-block { width: 100%; }\r\n.suf-mag-headlines { min-height: 250px; height: auto; }\r\n.suf-mag-excerpt-image {\r\n height: 100px;\r\n}\r\n.suf-mag-category-image {\r\n width: 221px;\r\n height: 100px;\r\n}\r\n#ie6 .suf-mag-category-image { width: 218px; }\r\nh2.suf-mag-headlines-title { text-align: center; }\r\n.search-results .post .date { display: none; }\r\n.search-results .title-container { padding-left: 0; padding-right: 0; }\r\n.search-results .post .title { padding-left: 0; }\r\n\r\n.postdata .category{ float: left; }\r\n.post .postdata .comments { float: right; }\r\n.tags { float: right; text-align: right; }\r\n.post span.author { float: left; padding-right: 10px; }\r\narticle.page .postdata .comments { float: right; }\r\narticle.page span.author { float: left; padding-right: 10px; }\r\n\r\n.format-aside h1.posttitle, .format-aside h2.posttitle, .post.format-aside .date { display: none; }\r\n.format-aside .title-container { padding-left: 0; }\r\n\r\n.format-aside .postdata .category{ float: left; }\r\n.post.format-aside .postdata .comments { float: right; }\r\n.format-aside .tags { float: right; text-align: right; }\r\n.format-aside .permalink { float: left; text-align: left; }\r\n.post.format-aside span.author { float: left; padding-right: 10px; }\r\n\r\n.format-gallery .postdata .category{ float: left; }\r\n.post.format-gallery .postdata .comments { float: right; }\r\n.format-gallery .tags { float: right; text-align: right; }\r\n.format-gallery .permalink { float: left; text-align: left; }\r\n.post.format-gallery span.author { float: left; padding-right: 10px; }\r\n\r\n.format-link .postdata .category{ float: left; }\r\n.post.format-link .postdata .comments { float: right; }\r\n.format-link .tags { float: right; text-align: right; }\r\n.format-link .permalink { float: left; text-align: left; }\r\n.post.format-link span.author { float: left; padding-right: 10px; }\r\n\r\n.format-image .postdata .category{ float: left; }\r\n.post.format-image .postdata .comments { float: right; }\r\n.format-image .tags { float: right; text-align: right; }\r\n.format-image .permalink { float: left; text-align: left; }\r\n.post.format-image span.author { float: left; padding-right: 10px; }\r\n\r\n.format-quote h1.posttitle, .format-quote h2.posttitle, .post.format-quote .date { display: none; }\r\n.format-quote .title-container { padding-left: 0; }\r\n\r\n.format-quote .postdata .category{ float: left; }\r\n.post.format-quote .postdata .comments { float: right; }\r\n.format-quote .tags { float: right; text-align: right; }\r\n.format-quote .permalink { float: left; text-align: left; }\r\n.post.format-quote span.author { float: left; padding-right: 10px; }\r\n\r\n.format-status h1.posttitle, .format-status h2.posttitle, .post.format-status .date { display: none; }\r\n.format-status .title-container { padding-left: 0; }\r\n\r\n.format-status .postdata .category{ float: left; }\r\n.post.format-status .postdata .comments { float: right; }\r\n.format-status .tags { float: right; text-align: right; }\r\n.format-status .permalink { float: left; text-align: left; }\r\n.post.format-status span.author { float: left; padding-right: 10px; }\r\n\r\n.format-video .postdata .category{ float: left; }\r\n.post.format-video .postdata .comments { float: right; }\r\n.format-video .tags { float: right; text-align: right; }\r\n.format-video .permalink { float: left; text-align: left; }\r\n.post.format-video span.author { float: left; padding-right: 10px; }\r\n\r\n.format-audio .postdata .category{ float: left; }\r\n.post.format-audio .postdata .comments { float: right; }\r\n.format-audio .tags { float: right; text-align: right; }\r\n.format-audio .permalink { float: left; text-align: left; }\r\n.post.format-audio span.author { float: left; padding-right: 10px; }\r\n\r\n.format-chat .postdata .category{ float: left; }\r\n.post.format-chat .postdata .comments { float: right; }\r\n.format-chat .tags { float: right; text-align: right; }\r\n.format-chat .permalink { float: left; text-align: left; }\r\n.post.format-chat span.author { float: left; padding-right: 10px; }\r\n\r\n#slider, #sliderContent { max-height: 250px; }\r\n #slider .left, #slider .right { height: 250px; max-height: 250px; width: 250px !important; }\r\n .sliderImage .top, .sliderImage .bottom { max-width: none; }\r\n.sliderImage { height: 250px; }\r\n.controller-icons #sliderControl { top: -125px; }\r\n.controller-icons.index-overlaid #sliderControl { top: -110px; }\r\n .sliderImage div { background-image: none; background-color: #222222; color: #FFFFFF; }\r\n .sliderImage div a { color: #FFFFFF; }\r\n#featured-posts { border-width: 1px; border-style: solid; }\r\n#ie6 table.suf-tiles { width: 700px }\r\n.suf-tile-image { height: 100px; }\r\nh2.suf-tile-title { text-align: left; }\r\n#nav-top, #top-bar-right-spanel { margin: 0 auto; }\r\n#nav ul { text-transform: capitalize; }\r\n#nav-top ul { text-transform: capitalize; float: left; }\r\n#widgets-above-header { width: auto; }\r\n#nav { margin: 0 auto; width: 100%; }\r\ndiv.booklisting img, div.bookentry img { width: 108px; height: 160px; }\r\ndiv.bookentry .stats { width: 142px; }\r\ndiv.bookentry .review { width: 537px; }\r\n#ie6 div.bookentry .review { width: 517px; }\r\ncol.nr-shelf-slot { width: 25%; }\r\n#nav .mm-warea {\r\n transition: opacity 500ms linear;\r\n -moz-transition: opacity 500ms linear;\r\n -webkit-transition: opacity 500ms linear;\r\n -khtml-transition: opacity 500ms linear;\r\n}\r\n\r\n#nav-top .mm-warea {\r\n transition: opacity 500ms linear;\r\n -moz-transition: opacity 500ms linear;\r\n -webkit-transition: opacity 500ms linear;\r\n -khtml-transition: opacity 500ms linear;\r\n}\r\n\r\n.attachment object.audio { width: 300px; height: 30px; }\r\n.attachment object.application { width: 300px; }\r\n.attachment object.text { width: 300px; }\r\n.attachment object.video { width: 300px; height: 225px; }\r\n.author-info img.avatar { float: left; padding: 5px; }\r\n.suf-mosaic-thumb-container { margin-left: 50px; margin-right: 50px; }\r\n.sidebar-wrap-right #sidebar-shell-1 { float: right; margin-left: 0; margin-right: 0;}\r\n.sidebar-wrap-right #sidebar-shell-2 { float: right; margin-right: 15px; margin-left: 0;}\r\n.sidebar-wrap-left #sidebar-shell-1 { float: left; margin-left: 0; margin-right: 0;}\r\n.sidebar-wrap-left #sidebar-shell-2 { float: left; margin-left: 15px; margin-right: 0;}\r\n.sidebar-container-left #sidebar-wrap { margin-left: 0; margin-right: 0; left: auto; right: auto; }\r\n.sidebar-container-right #sidebar-wrap { margin-left: 0; margin-right: 0; left: auto; right: auto; }\r\n#sidebar-container .tab-box { margin-left: 0; margin-right: 0; }\r\n#sidebar-container.sidebar-container-left { margin-left: -100%; }\r\n#ie6 #sidebar-container #sidebar-shell-1, #ie6 #sidebar-container #sidebar-shell-2 { left: auto; right: auto; }\r\n#ie6 .sidebar-container-left #sidebar-wrap, #ie6 .sidebar-container-right #sidebar-wrap { left: auto; right: auto; }\r\n.postdata .category .icon, .postdata .author .icon, .postdata .tax .icon, .postdata .permalink .icon, .postdata .comments .icon, .postdata .edit .icon, .postdata .line-date .icon,\r\n.previous-entries .icon, .next-entries .icon, .post-nav .previous .icon, .post-nav .next .icon, h3.comments .icon, #reply-title .icon, input.inside, .exif-button .icon,\r\n.bookdata .edit .icon, .bookdata .manage .icon, .page-nav-left a, .page-nav-right a, .mosaic-page-nav-right a, .mosaic-page-nav-left a, .mosaic-overlay a span,\r\n.meta-pullout .category .icon, .meta-pullout .author .icon, .meta-pullout .tax .icon, .meta-pullout .permalink .icon, .meta-pullout .comments .icon, .meta-pullout .edit .icon, .meta-pullout .pullout-date .icon,\r\n.controller-icons #sliderControl .sliderPrev, .controller-icons #sliderControl .sliderNext, .controller-icons .sliderControl .sliderPrev, .controller-icons .sliderControl .sliderNext, .user-profiles .icon {\r\n background-image: url(http://research.micropasts.org/wp-content/themes/suffusion/images/iconset-0.png);\r\n}\r\n.postdata .author .icon,.meta-pullout .author .icon,.postdata .line-date .icon,.meta-pullout .pullout-date .icon,.postdata .category .icon,.meta-pullout .category .icon,.postdata .tags .icon,.meta-pullout .tags .icon,.postdata .permalink .icon,.meta-pullout .permalink .icon,.postdata .comments .icon,.meta-pullout .comments .icon,.postdata .edit .icon,.meta-pullout .edit .icon,.postdata .tax .icon,.meta-pullout .tax .icon { display: inline-block; }\n.gallery-container { padding-right: 266px }.gallery-contents { width: 250px }.gallery-contents.left { left: -266px }.gallery-contents.right { margin-right: -266px }\n";s:11:"option-date";s:24:"October 18, 2013 1:30 pm";s:13:"theme-version";s:5:"4.4.7";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (298, 'theme_mods_suffusion', 'a:9:{i:0;b:0;s:16:"header_textcolor";s:3:"000";s:16:"background_color";s:6:"444444";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:2:{s:3:"top";i:0;s:4:"main";i:0;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382517713;s:4:"data";a:35:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-9";a:0:{}s:9:"sidebar-2";N;s:10:"sidebar-10";N;s:10:"sidebar-18";N;s:10:"sidebar-19";N;s:10:"sidebar-11";N;s:10:"sidebar-12";N;s:9:"sidebar-3";N;s:9:"sidebar-4";N;s:9:"sidebar-5";N;s:9:"sidebar-6";N;s:9:"sidebar-7";N;s:9:"sidebar-8";N;s:10:"sidebar-13";N;s:10:"sidebar-14";N;s:10:"sidebar-15";N;s:10:"sidebar-16";N;s:10:"sidebar-17";N;s:12:"sidebar-cl-1";N;s:12:"sidebar-cl-2";N;s:12:"sidebar-cl-3";N;s:12:"sidebar-cl-4";N;s:12:"sidebar-cl-5";N;s:12:"sidebar-mm-1";N;s:12:"sidebar-mm-2";N;s:12:"sidebar-mm-3";N;s:12:"sidebar-mm-4";N;s:12:"sidebar-mm-5";N;s:12:"sidebar-mm-6";N;s:12:"sidebar-mm-7";N;s:12:"sidebar-mm-8";N;s:12:"sidebar-mm-9";N;s:13:"sidebar-mm-10";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (299, 'wp_opulus_options', 'a:87:{s:15:"reminder_images";s:2:"on";s:15:"example_widgets";s:2:"on";s:10:"image_logo";s:0:"";s:9:"text_logo";s:24:"Micropasts research blog";s:7:"favicon";s:0:"";s:8:"gravatar";s:0:"";s:9:"read_more";s:16:"Read More →";s:9:"copyright";s:37:"© 2013, Micropasts research blog";s:16:"toggle_side_menu";s:1:"0";s:12:"public_phone";s:0:"";s:12:"public_email";s:0:"";s:10:"public_fax";s:0:"";s:7:"address";s:0:"";s:13:"banner_option";s:17:"full_image_border";s:11:"action_text";s:139:"Welcome to theWP Opulus Theme. To edit this text please login to the dashboard and selectWP Opulus Theme Options under the Appearance menu.";s:15:"toggle_featured";s:1:"1";s:22:"toggle_featured_exerpt";s:1:"0";s:13:"left_featured";i:2;s:15:"center_featured";i:2;s:14:"right_featured";i:2;s:14:"fp_content_pos";s:4:"none";s:11:"toggle_blog";s:1:"1";s:15:"blog_feed_title";s:25:"Latest News From the Blog";s:10:"blog_title";s:4:"Blog";s:13:"posts_on_blog";s:1:"5";s:23:"nimbus_post_meta_single";a:6:{s:5:"title";s:1:"1";s:10:"post_thumb";s:1:"1";s:6:"author";s:1:"1";s:4:"date";s:1:"1";s:10:"categories";s:1:"1";s:4:"tags";s:1:"1";}s:14:"post_meta_blog";a:5:{s:5:"title";s:1:"1";s:10:"post_thumb";s:1:"1";s:6:"author";s:1:"1";s:4:"date";s:1:"1";s:10:"categories";s:1:"1";}s:11:"display_bio";s:1:"1";s:15:"header_bg_color";s:7:"#f0f0f0";s:11:"dd_bg_color";s:7:"#464646";s:15:"dd_border_color";s:7:"#535353";s:15:"ribbon_bg_color";s:7:"#ffffff";s:27:"ribbon_content_shadow_color";s:7:"#555555";s:19:"action_bg_color_top";s:7:"#ffffff";s:22:"action_bg_color_bottom";s:7:"#f1f1f1";s:26:"action_border_color_bottom";s:7:"#e8e8e8";s:18:"image_stroke_color";s:7:"#b6b6b6";s:18:"image_border_color";s:7:"#ffffff";s:17:"image_border_type";s:5:"solid";s:18:"image_shadow_color";s:7:"#c5c5c5";s:25:"banner_image_stroke_color";s:7:"#b6b6b6";s:25:"banner_image_border_color";s:7:"#ffffff";s:24:"banner_image_border_type";s:5:"solid";s:25:"banner_image_shadow_color";s:7:"#c5c5c5";s:22:"nimbus_footer_bg_color";s:7:"#ffffff";s:10:"body_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:10:"link_color";s:7:"#0077ff";s:16:"link_hover_color";s:7:"#0077ff";s:10:"logo_style";a:6:{s:4:"size";s:4:"33px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Bebas";s:5:"style";s:6:"normal";s:5:"color";s:7:"#262626";s:9:"fonttrans";s:4:"none";}s:18:"head_contact_style";a:6:{s:4:"size";s:4:"11px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:15:"main_menu_style";a:6:{s:4:"size";s:4:"20px";s:4:"line";s:3:"1em";s:4:"face";s:14:"PT Sans Narrow";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:9:"uppercase";}s:14:"sub_menu_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:3:"1em";s:4:"face";s:14:"PT Sans Narrow";s:5:"style";s:6:"normal";s:5:"color";s:7:"#e1e1e1";s:9:"fonttrans";s:4:"none";}s:12:"action_style";a:6:{s:4:"size";s:4:"22px";s:4:"line";s:5:"1.5em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:21:"nimbus_typography_one";a:1:{s:4:"face";s:7:"PT Sans";}s:21:"nimbus_typography_two";a:1:{s:4:"face";s:7:"PT Sans";}s:23:"nimbus_typography_three";a:1:{s:4:"face";s:7:"PT Sans";}s:12:"button_style";a:1:{s:4:"face";s:7:"PT Sans";}s:8:"h1_style";a:6:{s:4:"size";s:4:"25px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h2_style";a:6:{s:4:"size";s:4:"22px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h3_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:8:"h4_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:8:"h5_style";a:6:{s:4:"size";s:4:"16px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:8:"h6_style";a:6:{s:4:"size";s:4:"16px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:16:"blockquote_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.4em";s:4:"face";s:7:"PT Sans";s:5:"style";s:6:"normal";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:4:"none";}s:15:"pullquote_style";a:6:{s:4:"size";s:4:"20px";s:4:"line";s:5:"1.2em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#0078FF";s:9:"fonttrans";s:4:"none";}s:10:"code_style";a:2:{s:4:"face";s:11:"Courier New";s:5:"color";s:7:"#535353";}s:8:"th_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#0078ff";s:9:"fonttrans";s:9:"uppercase";}s:8:"td_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:8:"tc_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:3:"1em";s:4:"face";s:7:"PT Sans";s:5:"style";s:11:"bold italic";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:9:"uppercase";}s:19:"sidebar_title_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:18:"footer_title_style";a:6:{s:4:"size";s:4:"18px";s:4:"line";s:5:"1.3em";s:4:"face";s:7:"PT Sans";s:5:"style";s:4:"bold";s:5:"color";s:7:"#454545";s:9:"fonttrans";s:9:"uppercase";}s:17:"footer_text_style";a:6:{s:4:"size";s:4:"13px";s:4:"line";s:5:"1.4em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#535353";s:9:"fonttrans";s:4:"none";}s:15:"copyright_style";a:6:{s:4:"size";s:4:"11px";s:4:"line";s:3:"1em";s:4:"face";s:5:"Arial";s:5:"style";s:6:"normal";s:5:"color";s:7:"#a6a6a6";s:9:"fonttrans";s:4:"none";}s:12:"facebook_url";s:0:"";s:11:"twitter_url";s:0:"";s:12:"linkedin_url";s:0:"";s:11:"youtube_url";s:0:"";s:15:"google_plus_url";s:0:"";s:22:"display_social_buttons";s:1:"1";s:20:"display_like_buttons";s:1:"0";s:12:"scripts_head";s:0:"";s:19:"scripts_top_content";s:0:"";s:17:"top_scripts_multi";a:6:{s:4:"home";s:1:"0";s:5:"pages";s:1:"0";s:4:"blog";s:1:"0";s:5:"posts";s:1:"0";s:9:"portfolio";s:1:"0";s:14:"portfolio_item";s:1:"0";}s:22:"scripts_bottom_content";s:0:"";s:20:"bottom_scripts_multi";a:6:{s:4:"home";s:1:"0";s:5:"pages";s:1:"0";s:4:"blog";s:1:"0";s:5:"posts";s:1:"0";s:9:"portfolio";s:1:"0";s:14:"portfolio_item";s:1:"0";}s:12:"scripts_foot";s:0:"";s:10:"custom_css";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (301, 'activetab_options', 'a:8:{s:18:"menu_position_type";s:5:"fixed";s:8:"logo_url";s:0:"";s:15:"show_site_title";s:1:"1";s:21:"show_site_description";s:1:"1";s:9:"code_head";s:0:"";s:11:"code_footer";s:0:"";s:31:"excerpt_or_full_content_in_list";s:7:"excerpt";s:11:"favicon_url";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (302, 'theme_mods_activetab', 'a:10:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:12:"header_image";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:13;s:3:"url";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:13:"thumbnail_url";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:6:"height";i:676;s:5:"width";i:1015;}s:18:"nav_menu_locations";a:1:{s:11:"primary-nav";i:2;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382524381;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:7:"sidebar";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:6:"footer";a:0:{}}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (307, 'new_admin_email', 'info@micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (308, 'openid_required_for_registration', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (316, 'openid_no_require_name', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (322, 'post_count', '2', 'yes'); +INSERT INTO `wp_2_options` VALUES (326, 'category_children', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (331, 'nav_menu_options', 'a:2:{i:0;b:0;s:8:"auto_add";a:1:{i:0;i:2;}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (440, 'bwp_gxs_log', 'a:2:{s:3:"log";a:26:{i:0;a:3:{s:3:"log";s:48:"Pinged Bing with sitemapindex.xml successfully! ";s:4:"time";i:1382457356;s:5:"error";b:0;}i:1;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382457356;s:5:"error";b:0;}i:2;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382466703;s:5:"error";b:0;}i:3;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382524939;s:5:"error";b:0;}i:4;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";i:1382557762;s:5:"error";s:6:"notice";}i:5;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";i:1382557762;s:5:"error";b:0;}i:6;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382566363;s:5:"error";b:0;}i:7;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";i:1382567810;s:5:"error";b:0;}i:8;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382589298;s:5:"error";b:0;}i:9;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382668735;s:5:"error";b:0;}i:10;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382669377;s:5:"error";b:0;}i:11;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382723467;s:5:"error";b:0;}i:12;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382756868;s:5:"error";b:0;}i:13;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382767293;s:5:"error";b:0;}i:14;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382815229;s:5:"error";b:0;}i:15;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382843575;s:5:"error";b:0;}i:16;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382849983;s:5:"error";b:0;}i:17;a:3:{s:3:"log";s:177:"Sub-module file: taxonomy_category.php is not available in both default and custom module directory. The plugin will now try loading the parent module instead. ";s:4:"time";i:1382903029;s:5:"error";s:6:"notice";}i:18;a:3:{s:3:"log";s:90:"Successfully generated taxonomy_category.xml using module taxonomy.php. ";s:4:"time";i:1382903029;s:5:"error";b:0;}i:19;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1382903579;s:5:"error";b:0;}i:20;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1382935349;s:5:"error";b:0;}i:21;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1382944777;s:5:"error";b:0;}i:22;a:3:{s:3:"log";s:73:"Successfully generated site.xml using module site.php. ";s:4:"time";i:1382965406;s:5:"error";b:0;}i:23;a:3:{s:3:"log";s:73:"Successfully generated post.xml using module post.php. ";s:4:"time";i:1383013574;s:5:"error";b:0;}i:24;a:3:{s:3:"log";s:89:"Successfully generated sitemapindex.xml using module sitemapindex.php. ";s:4:"time";i:1383044649;s:5:"error";b:0;}i:25;a:3:{s:3:"log";s:73:"Successfully generated page.xml using module page.php. ";s:4:"time";i:1383048937;s:5:"error";b:0;}}s:7:"sitemap";a:5:{s:12:"sitemapindex";a:2:{s:4:"time";i:1383044649;s:3:"url";s:12:"sitemapindex";}s:4:"page";a:2:{s:4:"time";i:1383048937;s:3:"url";s:4:"page";}s:4:"site";a:2:{s:4:"time";i:1382965406;s:3:"url";s:4:"site";}s:4:"post";a:2:{s:4:"time";i:1383013574;s:3:"url";s:4:"post";}s:17:"taxonomy_category";a:2:{s:4:"time";i:1382903029;s:3:"url";s:17:"taxonomy_category";}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (850, 'bwp_gxs_ping_data', 'a:2:{s:11:"data_pinged";a:3:{s:6:"google";i:1;s:4:"bing";i:1;s:3:"ask";i:0;}s:16:"data_last_pinged";a:3:{s:6:"google";i:1382457355;s:4:"bing";i:1382457355;s:3:"ask";i:0;}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1158, 'theme_mods_responsive-childtheme-master', 'a:8:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:4:{s:8:"top-menu";i:0;s:11:"header-menu";i:0;s:15:"sub-header-menu";i:0;s:11:"footer-menu";i:0;}s:12:"header_image";s:13:"remove-header";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1164, 'theme_mods_esplanade', 'a:11:{i:0;b:0;s:16:"header_textcolor";s:3:"333";s:16:"background_color";s:6:"f9f9f9";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:1:{s:11:"primary_nav";i:0;}s:12:"header_image";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:119;s:3:"url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg";s:13:"thumbnail_url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg";s:6:"height";i:589;s:5:"width";i:1082;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382525438;s:4:"data";a:8:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";N;s:9:"sidebar-4";N;s:9:"sidebar-5";N;s:9:"sidebar-6";N;s:9:"sidebar-7";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1175, 'esplanade_theme_options', 'a:80:{s:16:"home_page_layout";s:4:"grid";s:18:"home_page_excerpts";i:2;s:6:"slider";b:1;s:8:"location";b:1;s:11:"breadcrumbs";b:1;s:8:"lightbox";b:1;s:26:"esplanade_archive_location";b:1;s:16:"posts_nav_labels";s:9:"next/prev";s:15:"fancy_dropdowns";b:1;s:8:"post_nav";b:0;s:8:"facebook";b:1;s:7:"twitter";b:1;s:6:"google";b:1;s:9:"pinterest";b:1;s:10:"author_box";b:1;s:16:"copyright_notice";s:20:"© %year% %blogname%";s:17:"theme_credit_link";b:1;s:18:"author_credit_link";b:0;s:21:"wordpress_credit_link";b:1;s:6:"layout";s:15:"content-sidebar";s:13:"header_height";i:100;s:12:"sidebar_size";s:8:""29.48%"";s:18:"sidebar_right_size";s:8:""12.75%"";s:17:"sidebar_left_size";s:7:""17.4%"";s:12:"color_scheme";s:7:"neutral";s:8:"user_css";s:0:"";s:9:"body_font";s:10:"droid-sans";s:13:"headings_font";s:10:"droid-sans";s:12:"content_font";s:10:"droid-sans";s:14:"body_font_size";s:2:"13";s:19:"body_font_size_unit";s:2:"px";s:16:"body_line_height";s:4:"1.62";s:21:"body_line_height_unit";s:2:"em";s:12:"h1_font_size";s:2:"32";s:17:"h1_font_size_unit";s:2:"px";s:12:"h2_font_size";s:2:"24";s:17:"h2_font_size_unit";s:2:"px";s:12:"h3_font_size";s:2:"18";s:17:"h3_font_size_unit";s:2:"px";s:12:"h4_font_size";s:2:"16";s:17:"h4_font_size_unit";s:2:"px";s:20:"headings_line_height";s:4:"1.62";s:25:"headings_line_height_unit";s:2:"em";s:17:"content_font_size";s:2:"15";s:22:"content_font_size_unit";s:2:"px";s:19:"content_line_height";s:4:"1.62";s:24:"content_line_height_unit";s:2:"em";s:16:"mobile_font_size";s:2:"17";s:21:"mobile_font_size_unit";s:2:"px";s:18:"mobile_line_height";s:4:"1.62";s:23:"mobile_line_height_unit";s:2:"em";s:10:"body_color";s:4:"#333";s:14:"headings_color";s:4:"#333";s:13:"content_color";s:4:"#333";s:11:"links_color";s:7:"#21759b";s:17:"links_hover_color";s:7:"#d54e21";s:10:"menu_color";s:7:"#f0f0f0";s:16:"menu_hover_color";s:4:"#fff";s:13:"sidebar_color";s:4:"#aaa";s:19:"sidebar_title_color";s:4:"#aaa";s:19:"sidebar_links_color";s:7:"#7799aa";s:12:"footer_color";s:7:"#e0e0e0";s:18:"footer_title_color";s:7:"#e0e0e0";s:15:"copyright_color";s:4:"#999";s:21:"copyright_links_color";s:7:"#7799aa";s:19:"home_site_title_tag";s:2:"h1";s:19:"home_desc_title_tag";s:3:"div";s:19:"home_post_title_tag";s:2:"h2";s:22:"archive_site_title_tag";s:3:"div";s:22:"archive_desc_title_tag";s:3:"div";s:26:"archive_location_title_tag";s:2:"h1";s:22:"archive_post_title_tag";s:2:"h2";s:21:"single_site_title_tag";s:3:"div";s:21:"single_desc_title_tag";s:3:"div";s:21:"single_post_title_tag";s:2:"h1";s:25:"single_comments_title_tag";s:2:"h2";s:24:"single_respond_title_tag";s:2:"h2";s:16:"widget_title_tag";s:2:"h3";s:13:"submit-design";s:13:"Save Settings";s:14:"submit-general";s:13:"Save Settings";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1296, 'cyberchimps_options', 'a:125:{s:17:"responsive_design";s:1:"1";s:17:"responsive_videos";b:0;s:16:"gallery_lightbox";b:0;s:12:"wide_sidebar";b:0;s:9:"max_width";s:4:"1020";s:22:"cyberchimps_skin_color";s:7:"default";s:16:"text_colorpicker";s:0:"";s:16:"link_colorpicker";s:0:"";s:22:"link_hover_colorpicker";s:0:"";s:18:"typography_options";a:4:{s:4:"size";s:4:"14px";s:4:"face";s:58:""Open Sans", Helvetica, Arial, "Lucida Grande", sans-serif";s:5:"style";s:6:"normal";s:5:"color";s:0:"";}s:17:"google_font_field";s:5:"Arial";s:14:"font_demo_text";s:0:"";s:20:"font_family_headings";a:4:{s:4:"size";a:63:{i:0;i:9;i:1;i:10;i:2;i:11;i:3;i:12;i:4;i:13;i:5;i:14;i:6;i:15;i:7;i:16;i:8;i:17;i:9;i:18;i:10;i:19;i:11;i:20;i:12;i:21;i:13;i:22;i:14;i:23;i:15;i:24;i:16;i:25;i:17;i:26;i:18;i:27;i:19;i:28;i:20;i:29;i:21;i:30;i:22;i:31;i:23;i:32;i:24;i:33;i:25;i:34;i:26;i:35;i:27;i:36;i:28;i:37;i:29;i:38;i:30;i:39;i:31;i:40;i:32;i:41;i:33;i:42;i:34;i:43;i:35;i:44;i:36;i:45;i:37;i:46;i:38;i:47;i:39;i:48;i:40;i:49;i:41;i:50;i:42;i:51;i:43;i:52;i:44;i:53;i:45;i:54;i:46;i:55;i:47;i:56;i:48;i:57;i:49;i:58;i:50;i:59;i:51;i:60;i:52;i:61;i:53;i:62;i:54;i:63;i:55;i:64;i:56;i:65;i:57;i:66;i:58;i:67;i:59;i:68;i:60;i:69;i:61;i:70;i:62;i:71;}s:4:"face";s:28:"Arial, Helvetica, sans-serif";s:5:"style";s:6:"Normal";s:5:"color";s:0:"";}s:20:"google_font_headings";s:5:"Arial";s:20:"header_section_order";a:1:{i:0;s:26:"cyberchimps_header_content";}s:15:"custom_logo_url";b:0;s:20:"custom_logo_url_link";s:30:"http://research.micropasts.org";s:11:"custom_logo";s:1:"1";s:20:"custom_logo_uploader";s:74:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg";s:14:"custom_favicon";b:0;s:16:"favicon_uploader";s:0:"";s:12:"custom_apple";b:0;s:20:"apple_touch_uploader";s:0:"";s:16:"google_analytics";s:0:"";s:9:"searchbar";b:0;s:17:"theme_backgrounds";s:7:"default";s:15:"social_facebook";s:1:"1";s:12:"facebook_url";s:24:"http://www.facebook.com/";s:14:"social_twitter";s:1:"1";s:11:"twitter_url";s:23:"http://www.twitter.com/";s:13:"social_google";s:1:"1";s:10:"google_url";s:22:"http://www.google.com/";s:15:"social_linkedin";b:0;s:12:"linkedin_url";s:24:"http://www.linkedin.com/";s:14:"social_youtube";b:0;s:11:"youtube_url";s:23:"http://www.youtube.com/";s:13:"social_flickr";b:0;s:10:"flickr_url";s:22:"http://www.flickr.com/";s:16:"social_pinterest";b:0;s:13:"pinterest_url";s:25:"http://www.pinterest.com/";s:17:"social_googlemaps";b:0;s:14:"googlemaps_url";s:27:"http://www.maps.google.com/";s:12:"social_email";b:0;s:9:"email_url";s:0:"";s:10:"social_rss";b:0;s:7:"rss_url";s:40:"http://research.micropasts.org/feed/rss/";s:18:"blog_section_order";a:3:{i:0;s:11:"slider_lite";i:1;s:10:"boxes_lite";i:2;s:14:"blog_post_page";}s:14:"sidebar_images";s:13:"right_sidebar";s:10:"blog_title";b:0;s:15:"blog_title_text";s:8:"Our Blog";s:17:"post_format_icons";b:0;s:13:"post_excerpts";b:0;s:19:"blog_read_more_text";s:12:"Read More...";s:19:"blog_excerpt_length";s:2:"55";s:20:"post_featured_images";s:1:"1";s:18:"post_byline_author";s:1:"1";s:22:"post_byline_categories";s:1:"1";s:16:"post_byline_date";s:1:"1";s:20:"post_byline_comments";s:1:"1";s:16:"post_byline_tags";s:1:"1";s:13:"boxes_upgrade";s:0:"";s:37:"cyberchimps_blog_boxes_lite_image_one";s:95:"http://research.micropasts.org/wp-content/themes/neuro/elements/lib/images/boxes/slidericon.png";s:35:"cyberchimps_blog_boxes_link_url_one";s:20:"http://wordpress.org";s:42:"cyberchimps_blog_boxes_lite_image_one_text";s:298:"Alto ventos est coeptis utque fecit. Phoebe sine circumfuso arce. Tanto aliis. Matutinis cornua origo formaeque animal mundo. Chaos: fabricator. Natura mundo caesa addidit.\r\n Cuncta habendum meis omni ille formaeque emicuit septemque et. Lege fecit aethere porrexerat gentes horrifer formas.";s:37:"cyberchimps_blog_boxes_lite_image_two";s:94:"http://research.micropasts.org/wp-content/themes/neuro/elements/lib/images/boxes/blueprint.png";s:35:"cyberchimps_blog_boxes_link_url_two";s:20:"http://wordpress.org";s:42:"cyberchimps_blog_boxes_lite_image_two_text";s:298:"Alto ventos est coeptis utque fecit. Phoebe sine circumfuso arce. Tanto aliis. Matutinis cornua origo formaeque animal mundo. Chaos: fabricator. Natura mundo caesa addidit.\r\n Cuncta habendum meis omni ille formaeque emicuit septemque et. Lege fecit aethere porrexerat gentes horrifer formas.";s:39:"cyberchimps_blog_boxes_lite_image_three";s:89:"http://research.micropasts.org/wp-content/themes/neuro/elements/lib/images/boxes/docs.png";s:37:"cyberchimps_blog_boxes_link_url_three";s:20:"http://wordpress.org";s:44:"cyberchimps_blog_boxes_lite_image_three_text";s:298:"Alto ventos est coeptis utque fecit. Phoebe sine circumfuso arce. Tanto aliis. Matutinis cornua origo formaeque animal mundo. Chaos: fabricator. Natura mundo caesa addidit.\r\n Cuncta habendum meis omni ille formaeque emicuit septemque et. Lege fecit aethere porrexerat gentes horrifer formas.";s:17:"portfolio_upgrade";s:0:"";s:41:"cyberchimps_blog_portfolio_lite_image_one";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:49:"cyberchimps_blog_portfolio_lite_image_one_caption";s:11:"CyberChimps";s:42:"cyberchimps_blog_portfolio_link_toggle_one";b:0;s:39:"cyberchimps_blog_portfolio_link_url_one";s:22:"http://cyberchimps.com";s:41:"cyberchimps_blog_portfolio_lite_image_two";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:49:"cyberchimps_blog_portfolio_lite_image_two_caption";s:11:"CyberChimps";s:42:"cyberchimps_blog_portfolio_link_toggle_two";b:0;s:39:"cyberchimps_blog_portfolio_link_url_two";s:22:"http://cyberchimps.com";s:43:"cyberchimps_blog_portfolio_lite_image_three";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:51:"cyberchimps_blog_portfolio_lite_image_three_caption";s:11:"CyberChimps";s:44:"cyberchimps_blog_portfolio_link_toggle_three";b:0;s:41:"cyberchimps_blog_portfolio_link_url_three";s:22:"http://cyberchimps.com";s:42:"cyberchimps_blog_portfolio_lite_image_four";s:91:"http://research.micropasts.org/wp-content/themes/neuro/cyberchimps/lib/images/portfolio.jpg";s:50:"cyberchimps_blog_portfolio_lite_image_four_caption";s:11:"CyberChimps";s:43:"cyberchimps_blog_portfolio_link_toggle_four";b:0;s:40:"cyberchimps_blog_portfolio_link_url_four";s:22:"http://cyberchimps.com";s:39:"cyberchimps_blog_portfolio_title_toggle";s:1:"1";s:32:"cyberchimps_blog_portfolio_title";s:9:"Portfolio";s:14:"slider_upgrade";s:0:"";s:15:"image_one_slide";s:81:"http://research.micropasts.org/wp-content/themes/neuro/images/branding/slide1.jpg";s:19:"image_one_slide_url";s:22:"http://cyberchimps.com";s:15:"image_two_slide";s:87:"http://research.micropasts.org/wp-content/themes/neuro/images/branding/defaultslide.jpg";s:19:"image_two_slide_url";s:22:"http://cyberchimps.com";s:17:"image_three_slide";s:87:"http://research.micropasts.org/wp-content/themes/neuro/images/branding/defaultslide.jpg";s:21:"image_three_slide_url";s:22:"http://cyberchimps.com";s:27:"single_post_sidebar_options";s:13:"right_sidebar";s:17:"single_post_title";s:1:"1";s:27:"single_post_featured_images";b:0;s:24:"single_post_format_icons";b:0;s:25:"single_post_byline_author";s:1:"1";s:29:"single_post_byline_categories";s:1:"1";s:23:"single_post_byline_date";s:1:"1";s:27:"single_post_byline_comments";s:1:"1";s:23:"single_post_byline_tags";s:1:"1";s:23:"archive_sidebar_options";s:13:"right_sidebar";s:20:"archive_format_icons";b:0;s:21:"archive_post_excerpts";b:0;s:23:"archive_featured_images";b:0;s:26:"archive_post_byline_author";s:1:"1";s:30:"archive_post_byline_categories";s:1:"1";s:24:"archive_post_byline_date";s:1:"1";s:28:"archive_post_byline_comments";s:1:"1";s:24:"archive_post_byline_tags";s:1:"1";s:22:"search_sidebar_options";s:13:"right_sidebar";s:20:"search_post_excerpts";b:0;s:21:"search_post_read_more";s:12:"Read More...";s:26:"search_post_excerpt_length";s:2:"55";s:21:"error_sidebar_options";s:10:"full_width";s:18:"error_custom_title";s:0:"";s:20:"error_custom_content";s:0:"";s:18:"footer_show_toggle";s:1:"1";s:21:"footer_copyright_text";s:42:"© Crowd and community-fuelled archaeology";s:11:"events_info";s:0:"";s:17:"digital_downloads";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1323, 'theme_mods_neuro', 'a:9:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:1:{s:7:"primary";i:0;}s:22:"cyberchimps_background";s:4:"none";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382523575;s:4:"data";a:4:{s:19:"wp_inactive_widgets";a:0:{}s:12:"sidebar-left";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:13:"sidebar-right";a:0:{}s:26:"cyberchimps-footer-widgets";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1359, 'theme_mods_the-bootstrap', 'a:10:{i:0;b:0;s:16:"header_textcolor";s:6:"565656";s:16:"background_color";s:6:"efefef";s:16:"background_image";s:0:"";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:3:{s:11:"footer-menu";i:0;s:7:"primary";i:2;s:11:"header-menu";i:0;}s:12:"header_image";s:13:"remove-header";s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382529686;s:4:"data";a:3:{s:19:"wp_inactive_widgets";a:0:{}s:4:"main";a:5:{i:0;s:17:"widget_sp_image-2";i:1;s:8:"search-2";i:2;s:10:"archives-2";i:3;s:12:"categories-2";i:4;s:6:"meta-2";}s:5:"image";a:0:{}}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1360, 'the_bootstrap_theme_options', 'a:5:{s:12:"theme_layout";s:15:"content-sidebar";s:16:"navbar_site_name";b:0;s:17:"navbar_searchform";b:0;s:14:"navbar_inverse";b:1;s:15:"navbar_position";s:16:"navbar-fixed-top";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1706, 'optionsframework_tiga', 'a:9:{s:19:"tiga_iframe_blocker";s:7:"disable";s:12:"tiga_layouts";s:8:"lcontent";s:17:"tiga_home_layouts";s:7:"one-col";s:12:"tiga_pattern";s:9:"pattern-0";s:23:"tiga_disable_typography";s:1:"1";s:17:"tiga_content_font";a:4:{s:4:"size";s:4:"13px";s:4:"face";s:23:""Open Sans", sans-serif";s:5:"style";s:6:"Normal";s:5:"color";s:7:"#333333";}s:17:"tiga_heading_font";a:4:{s:4:"size";s:4:"13px";s:4:"face";s:26:""Francois One", sans-serif";s:5:"style";s:6:"Normal";s:5:"color";s:7:"#333333";}s:17:"tiga_social_share";s:9:"tiga_post";s:15:"tiga_custom_css";s:0:"";}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1709, 'theme_mods_tiga', 'a:10:{i:0;b:0;s:16:"background_color";s:0:"";s:16:"background_image";s:69:"http://research.micropasts.org/wp-content/themes/tiga/img/pattern.png";s:17:"background_repeat";s:6:"repeat";s:21:"background_position_x";s:4:"left";s:21:"background_attachment";s:5:"fixed";s:18:"nav_menu_locations";a:2:{s:7:"primary";i:2;s:9:"secondary";i:0;}s:12:"header_image";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg";s:17:"header_image_data";a:5:{s:13:"attachment_id";i:123;s:3:"url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg";s:13:"thumbnail_url";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg";s:5:"width";i:1015;s:6:"height";i:657;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1382525801;s:4:"data";a:6:{s:19:"wp_inactive_widgets";a:0:{}s:7:"primary";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:10:"subsidiary";a:0:{}s:13:"above-content";N;s:13:"below-content";N;s:4:"home";N;}}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (1829, 'widget_widget_sp_image', 'a:3:{i:2;a:12:{s:5:"title";s:0:"";s:11:"description";s:0:"";s:4:"link";s:0:"";s:10:"linktarget";s:5:"_self";s:5:"width";i:386;s:6:"height";i:250;s:4:"size";s:6:"medium";s:5:"align";s:6:"center";s:3:"alt";s:0:"";s:8:"imageurl";s:77:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_21.jpg";s:12:"aspect_ratio";d:1.544;s:13:"attachment_id";i:121;}i:3;a:12:{s:5:"title";s:0:"";s:11:"description";s:0:"";s:4:"link";s:0:"";s:10:"linktarget";s:5:"_self";s:5:"width";i:1015;s:6:"height";i:657;s:4:"size";s:4:"full";s:5:"align";s:4:"none";s:3:"alt";s:0:"";s:8:"imageurl";s:75:"http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs128.jpg";s:12:"aspect_ratio";d:1.5449010654490107;s:13:"attachment_id";i:127;}s:12:"_multiwidget";i:1;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2070, 'responsive_theme_options', 'a:33:{s:20:"blog_post_title_text";s:0:"";s:10:"front_page";i:1;s:13:"home_headline";s:39:"Crowd and community-fuelled archaeology";s:16:"home_subheadline";s:13:"Research blog";s:17:"home_content_area";N;s:7:"cta_url";N;s:8:"cta_text";N;s:16:"featured_content";N;s:26:"static_page_layout_default";s:20:"content-sidebar-page";s:26:"single_post_layout_default";s:20:"content-sidebar-page";s:31:"blog_posts_index_layout_default";s:20:"content-sidebar-page";s:11:"twitter_uid";s:30:"https://twitter.com/micropasts";s:12:"facebook_uid";s:35:"https://www.facebook.com/Micropasts";s:12:"linkedin_uid";s:0:"";s:11:"youtube_uid";s:0:"";s:11:"stumble_uid";s:0:"";s:7:"rss_uid";s:0:"";s:15:"google_plus_uid";s:0:"";s:13:"instagram_uid";s:0:"";s:13:"pinterest_uid";s:0:"";s:8:"yelp_uid";s:0:"";s:9:"vimeo_uid";s:0:"";s:14:"foursquare_uid";s:0:"";s:6:"submit";s:12:"Save Options";s:21:"responsive_inline_css";s:0:"";s:25:"responsive_inline_js_head";s:0:"";s:27:"responsive_inline_js_footer";s:0:"";s:24:"google_site_verification";s:0:"";s:22:"bing_site_verification";s:0:"";s:23:"yahoo_site_verification";s:0:"";s:23:"site_statistics_tracker";s:0:"";s:10:"breadcrumb";i:0;s:10:"cta_button";i:0;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2282, 'ga_enable_remarketing', '0', 'yes'); +INSERT INTO `wp_2_options` VALUES (2283, 'key_ga_track_login', '1', 'yes'); +INSERT INTO `wp_2_options` VALUES (2288, 'wsl_settings_Facebook_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2289, 'wsl_settings_Facebook_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2290, 'wsl_settings_Google_app_id', '158626934723.apps.googleusercontent.com', 'yes'); +INSERT INTO `wp_2_options` VALUES (2291, 'wsl_settings_Google_app_secret', 'xZAzymXqRTJoSuSamru3VTc0', 'yes'); +INSERT INTO `wp_2_options` VALUES (2292, 'wsl_settings_Twitter_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2293, 'wsl_settings_Twitter_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2294, 'wsl_settings_Live_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2295, 'wsl_settings_Live_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2296, 'wsl_settings_Live_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2297, 'wsl_settings_Yahoo_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2298, 'wsl_settings_MySpace_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2299, 'wsl_settings_MySpace_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2300, 'wsl_settings_MySpace_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2301, 'wsl_settings_Foursquare_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2302, 'wsl_settings_Foursquare_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2303, 'wsl_settings_Foursquare_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2304, 'wsl_settings_LinkedIn_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2305, 'wsl_settings_LinkedIn_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2306, 'wsl_settings_LinkedIn_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2307, 'wsl_settings_AOL_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2308, 'wsl_settings_Vkontakte_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2309, 'wsl_settings_Vkontakte_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2310, 'wsl_settings_Vkontakte_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2311, 'wsl_settings_LastFM_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2312, 'wsl_settings_LastFM_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2313, 'wsl_settings_LastFM_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2314, 'wsl_settings_Instagram_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2315, 'wsl_settings_Instagram_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2316, 'wsl_settings_Instagram_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2317, 'wsl_settings_Identica_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2318, 'wsl_settings_Identica_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2319, 'wsl_settings_Identica_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2320, 'wsl_settings_Tumblr_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2321, 'wsl_settings_Tumblr_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2322, 'wsl_settings_Tumblr_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2323, 'wsl_settings_Goodreads_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2324, 'wsl_settings_Goodreads_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2325, 'wsl_settings_Goodreads_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2326, 'wsl_settings_Stackoverflow_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2327, 'wsl_settings_GitHub_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2328, 'wsl_settings_GitHub_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2329, 'wsl_settings_GitHub_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2330, 'wsl_settings_500px_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2331, 'wsl_settings_500px_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2332, 'wsl_settings_500px_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2333, 'wsl_settings_Skyrock_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2334, 'wsl_settings_Skyrock_app_key', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2335, 'wsl_settings_Skyrock_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2336, 'wsl_settings_Mixi_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2337, 'wsl_settings_Steam_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2338, 'wsl_settings_TwitchTV_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2339, 'wsl_settings_TwitchTV_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2340, 'wsl_settings_TwitchTV_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2341, 'wsl_settings_Mailru_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2342, 'wsl_settings_Mailru_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2343, 'wsl_settings_Mailru_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2344, 'wsl_settings_Yandex_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2345, 'wsl_settings_Yandex_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2346, 'wsl_settings_Yandex_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2347, 'wsl_settings_Odnoklassniki_enabled', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2348, 'wsl_settings_Odnoklassniki_app_id', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2349, 'wsl_settings_Odnoklassniki_app_secret', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2810, 'ep_exclude_pages', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2883, 'wp_db_backup_excs', 'a:2:{s:9:"revisions";a:0:{}s:4:"spam";a:0:{}}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2886, 'wp_cron_backup_schedule', 'weekly', 'yes'); +INSERT INTO `wp_2_options` VALUES (2887, 'wp_cron_backup_tables', 'a:0:{}', 'yes'); +INSERT INTO `wp_2_options` VALUES (2888, 'wp_cron_backup_recipient', 'info@micropasts.org', 'yes'); +INSERT INTO `wp_2_options` VALUES (2890, 'db_upgraded', '', 'yes'); +INSERT INTO `wp_2_options` VALUES (2894, 'plugin_mss_settings', 'a:7:{s:20:"mss_solr_initialized";i:1;s:16:"mss_connect_type";s:10:"selfhosted";s:13:"mss_solr_host";s:9:"localhost";s:13:"mss_solr_port";i:8983;s:13:"mss_solr_path";s:5:"/solr";s:15:"mss_num_results";i:10;s:20:"mss_max_display_tags";i:5;}', 'yes'); +INSERT INTO `wp_2_options` VALUES (3289, '_transient_timeout_feed_335a35241a7842ce03ebbe3194d0623b', '1383133462', 'no'); +INSERT INTO `wp_2_options` VALUES (3290, '_transient_feed_335a35241a7842ce03ebbe3194d0623b', '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:33:"\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:57:"link:http://research.micropasts.org/ - 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://research.micropasts.org/&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:88:"Your search - link:http://research.micropasts.org/ - did not match any documents.";s: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: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: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:10:{s:12:"content-type";s:28:"text/xml; charset=ISO-8859-1";s:4:"date";s:29:"Tue, 29 Oct 2013 23:45:02 GMT";s:7:"expires";s:2:"-1";s:13:"cache-control";s:18:"private, max-age=0";s:10:"set-cookie";a:2:{i:0;s:143:"PREF=ID=dcf2e87f70a69cd5:FF=0:TM=1383090302:LM=1383090302:S=3kaYPqkGeqfjze2_; expires=Thu, 29-Oct-2015 23:45:02 GMT; path=/; domain=.google.com";i:1;s:212:"NID=67=WhBiDWqohql0g7No3s11IMwtiAtGivnGQS0lJKJGy8YyW-F2VFLFpUaqB4YlAv11G2IRXHrM9LzD8gnAk0AhD8Yu64CsFINHDEe1WaKf6XR1N9mc8YQvcHQhgKlAKvXh; expires=Wed, 30-Apr-2014 23:45:02 GMT; path=/; domain=.google.com; HttpOnly";}s:3:"p3p";s:122:"CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."";s:6:"server";s:3:"gws";s:16:"x-xss-protection";s:13:"1; mode=block";s:15:"x-frame-options";s:10:"SAMEORIGIN";s:18:"alternate-protocol";s:7:"80:quic";}s:5:"build";s:14:"20131026075432";}', 'no'); +INSERT INTO `wp_2_options` VALUES (3291, '_transient_timeout_feed_mod_335a35241a7842ce03ebbe3194d0623b', '1383133462', 'no'); +INSERT INTO `wp_2_options` VALUES (3292, '_transient_feed_mod_335a35241a7842ce03ebbe3194d0623b', '1383090262', 'no'); +INSERT INTO `wp_2_options` VALUES (3293, '_transient_timeout_dash_20494a3d90a6669585674ed0eb8dcd8f', '1383133462', 'no'); +INSERT INTO `wp_2_options` VALUES (3294, '_transient_dash_20494a3d90a6669585674ed0eb8dcd8f', '

This dashboard widget queries Google Blog Search so that when another blog links to your site it will show up here. It has found no incoming links… yet. It’s okay — there is no rush.

\n', 'no'); +INSERT INTO `wp_2_options` VALUES (3296, '_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1383133463', 'no'); +INSERT INTO `wp_2_options` VALUES (3297, '_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:51:"\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:"Tue, 29 Oct 2013 21:04: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: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:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/?v=3.8-alpha";s: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:42:"\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:35:"WordPress 3.7.1 Maintenance Release";s: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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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, 29 Oct 2013 21:04: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: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=2745";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:371:"WordPress 3.7.1 is now available! This maintenance release addresses 11 bugs in WordPress 3.7, including: Images with captions no longer appear broken in the visual editor. Allow some sites running on old or poorly configured servers to continue to check for updates from WordPress.org. Avoid fatal errors with certain plugins that were incorrectly calling some […]";s: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:1594:"

WordPress 3.7.1 is now available! This maintenance release addresses 11 bugs in WordPress 3.7, including:

\n\n

For a full list of changes, consult the list of tickets and the changelog.

\n

If you are one of the nearly two million already running WordPress 3.7, we will start rolling out the all-new automatic background updates for WordPress 3.7.1 in the next few hours. For sites that support them, of course.

\n

Download WordPress 3.7.1 or venture over to Dashboard → Updates and simply click “Update Now.”

\n

Just a few fixes
\nYour new update attitude:
\nZero clicks given

\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/2013/10/wordpress-3-7-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:1;a:6:{s:4:"data";s:42:"\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:25:"WordPress 3.7 “Basieâ€";s: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://wordpress.org/news/2013/10/basie/";s: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:49:"http://wordpress.org/news/2013/10/basie/#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, 24 Oct 2013 22:35: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: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=2736";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:357:"Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones: Updates while you sleep: With WordPress 3.7, you don’t have to lift a finger 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: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:17229:"

Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones:

\n\n

For developers there are lots of options around how to control the new updates feature, including allowing it to handle major upgrades as well as minor ones, more sophisticated date query support, and multisite improvements. As always, if you’re hungry for more dive into the Codex or browse the over 400 closed tickets on Trac.

\n

A New Wave

\n

This release was led by Andrew Nacin, backed up by Dion Hulse and Jon Cave. This is our first release using the new plugin-first development process, with a much shorter timeframe than in the past. (3.6 was released in August.) The 3.8 release, due in December, will continue this plugin-led development cycle that gives much more autonomy to plugin leads and allows us to decouple feature development from a release. You can follow this grand experiment, and what we’re learning from it, on the make/core blog. There are 211 contributors with props in this release:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, adamsilverstein, Alexander Hoereth, Alex Mills (Viper007Bond), Amy Hendrix (sabreuse), andg, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Spittle, askapache, atimmer, Barry, Beau Lebens, ben.moody, Ben Miller, Bernhard Riedl, BFTrick, Billy (bananastalktome), bmb, Brandon Kraft, brianhogg, Brian Richards, Bryan Petty, Carl Danley, CharlesClarkson, Chip Bennett, Chouby, Chris Olbekson, Chris Rudzki, coderaaron, Coen Jacobs, Colin Robinson, cyonite, Daan Kortenbach, Daniel Bachhuber, Daniel Convissor, dartiss, Daryl Koopersmith, Dave Ross, David Laietta, Dion Hulse, dllh, Dominik Schilling (ocean90), dpash, Drew Jaynes, DrProtocols, Dustin Filippini, dzver, Edward Caissie, enej, Eric Andrew Lewis, Eric Mann, Evan Solomon, faishal, Faison, Foofy, Frankie Jarrett, Frank Klein, Gary Cao, Gary Pendergast, Gaya Kessler, George Stephanis, Gizburdt, goldenapples, gradyetc, Gregory Cornelius, Gustavo Bordoni, hakre, Helen Hou-Sandi, Ian Dunn, Ipstenu (Mika Epstein), itinerant, J.D. Grimes, jakub.tyrcha, James Collins, Jen Mylo, Jeremy Buller, Jeremy Felt, Jesper Johansen (jayjdk), Joe Hoyle, Joey Kudish, John Beales, John Blackbourn (johnbillion), John Fish, John James Jacoby, John P. Bloch, Jonas Bolinder (jond3r), Jonathan Christopher, Jonathan Desrosiers, Jon Cave, Jon Lynch, Joost de Valk, Joseph Scott, Josh Betz, Justin de Vesine, Justin Sainton, K.Adam White, Kailey (trepmal), Ketwaroo, kevinB, Kim Parsell, kitchin, Konstantin Kovshenin, Konstantin Obenland, koopersmith, Kurt Payne, Lance Willett, Lee Willis (leewillis77), lessbloat, Lew Ayotte, Luke Gedeon, Marcin Pietrzak, Marco Cimmino, Marco Galasso, Mark Jaquith, Mark McWilliams, Marko Heijnen, Mel Choyce, Michael Beckwith, Mike Hansen, Mike Schinkel, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mr Papa, Naoko Takano, Naomi, Nashwan Doaqan, NateJacobs, nathanrice, Niall Kennedy, Nick Daugherty, Nick Halsey, Nick Momrik, Nikhil Vimal (NikV), Nikolay Bachiyski, noahsilverstein, nofearinc, nukaga, nullvariable, Oleg Butuzov, Paolo Belcastro, Parham, Paul Biron, Paul de Wouters, pavelevap, peterjaap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, plocha, Pollett, Ptah Dunbar, Rami Yushuvaev, Rasheed Bydousi, RayBernard, rboren, Reuben Gunday, rfair404, Richard Tape, Rick Radko, Robert Chapin, Robert Dall, Rodrigo Primo, Ron Rennick, rpattillo, Ryan Boren, Ryan McCue, Sam Hotchkiss, Scott Reilly, scottsweb, Scott Taylor, scribu, scruffian, Seisuke Kuraishi (tenpura), Sergey Biryukov, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, Stephanie Leary, Stephen Edgar (@netweb), Stephen Harris, strangerstudios, sweetie089, swissspidy, Takayuki Miyauchi, Takuma Morikawa, Taylor Lovett, tivnet, TobiasBg, Tom Auger, toscho, Travis Smith, Ulrich Sossou, vericgar, Vinod Dalvi, Weston Ruter, wikicms, Will Norris, Wojtek Szkutnik, wycks, Yoav Farhi, and Yuri Victor.

\n

Enjoy what may be one of your last few manual updates. See you soon for version 3.8!

\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:45:"http://wordpress.org/news/2013/10/basie/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:45:"\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:33:"WordPress 3.7 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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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:"Wed, 23 Oct 2013 00:05:30 +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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2729";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:417:"The second release candidate of WordPress 3.7 is now available for testing! Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta […]";s: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:1183:"

The second release candidate of WordPress 3.7 is now available for testing!

\n

Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta area in the support forums if you think you’ve found a bug, and if any known issues are raised, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 3.7. If there is a compatibility issue, let us know as soon as possible so we can deal with it before the final release.

\n

For more on WordPress 3.7, check out the announcement post for Release Candidate 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:73:"http://wordpress.org/news/2013/10/wordpress-3-7-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:3;a:6:{s:4:"data";s:45:"\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:18:"Upcoming WordCamps";s: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/2013/10/upcoming-wordcamps-4/";s: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/2013/10/upcoming-wordcamps-4/#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, 22 Oct 2013 19:25: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: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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2723";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:368:"WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s […]";s: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:"Jen Mylo";s: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:3584:"

WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s over. If there’s one near you, check it out! In addition to getting to know your local WordPress community, most WordCamps attract some traveling visitors a well, giving you the chance to meet contributors to the WordPress open source project and get involved yourself.

\n

Here are the WordCamps on the schedule for the rest of this year.

\n

October 25-27: WordCamp Boston, Boston, MA, USA
\nOctober 25-26: WordCamp Malaga, Spain
\nOctober 26: WordCamp Nepal, Kathmandu, Nepal
\nOctober 26: WordCamp Sofia, Bulgaria
\nNovember 7: WordCamp Cape Town, South Africa
\nNovember 9: WordCamp Porto, Portugal
\nNovember 9-10: WordCamp Kenya, Nairobi, Kenya
\nNovember 15: WordCamp Edmonton, AB, Canada
\nNovember 16-17: WordCamp Orlando, FL, USA
\nNovember 16: WordCamp Denver, CO, USA
\nNovember 23-24: WordCamp London, UK
\nNovember 23-24: WordCamp Raleigh, NC, USA
\nNovember 23: WordCamp São Paulo, Brazil
\nDecember 14: WordCamp Las Vegas, NV, USA
\nDecember 14-15: WordCamp Sevilla, Spain

\n

No WordCamps on this list in your area? Not to worry! There are thriving WordPress meetups all over the world where you can meet like-minded people, and we maintain a library of WordCamp videos at WordPress.tv.

\n

Get Involved

\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: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/2013/10/upcoming-wordcamps-4/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:45:"\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.7 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/2013/10/wordpress-3-7-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/2013/10/wordpress-3-7-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:"Fri, 18 Oct 2013 19:52: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:8:"category";a:2:{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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2718";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:331:"The first release candidate for WordPress 3.7 is now available! In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, […]";s: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:2237:"

The first release candidate for WordPress 3.7 is now available!

\n

In RC 1, we’ve made some adjustments to the update process to make it more reliable than ever. We hope to ship WordPress 3.7 next week, but we need your help to get there. If you haven’t tested 3.7 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)

\n

WordPress 3.7 introduces automatic background updates for security and minor releases (like updating from 3.7 to 3.7.1). These are really easy to test  — RC 1 will update every 12 hours or so to the latest development version, and then email you the results. (You may get two emails: one for debugging, and one all users of 3.7 will receive.) If something went wrong, you can report it.

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums. If any known issues come up, you’ll be able to find them here.

\n

To test WordPress 3.7 RC1, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€). Or you can download the release candidate here (zip). If you’d like to learn more about what’s new in WordPress 3.7, visit the awesome About screen in your dashboard ( → About in the toolbar). There, you can also see if your install is eligible for background updates. WordPress won’t automatically update, for example, if you’re using version control like Subversion or Git.

\n

Developers, please test your plugins and themes against WordPress 3.7, so that if there is a compatibility issue, we can figure it out before the final release. Make sure you post any issues to the support forums.

\n

WordPress three seven
\nA self-updating engine
\nLies beneath the hood

\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/2013/10/wordpress-3-7-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:5;a:6:{s:4:"data";s:45:"\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:20:"WordPress 3.7 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:55:"http://wordpress.org/news/2013/10/wordpress-3-7-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:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:64:"http://wordpress.org/news/2013/10/wordpress-3-7-beta-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:"Thu, 10 Oct 2013 21:28: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: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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2706";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:357:"WordPress 3.7 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. This has been a quiet beta period. We’re hoping to get some more testers for automatic background updates, which will occur for security and minor releases (like updating […]";s: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:2108:"

WordPress 3.7 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site.

\n

This has been a quiet beta period. We’re hoping to get some more testers for automatic background updates, which will occur for security and minor releases (like updating from 3.7 to 3.7.1). It’s really easy to test this, as Beta 2 will update each day to the latest development version and then email you the results. If something goes wrong, you can report it — it’s that simple. To get the beta, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip). Check out Dashboard → Updates to see if your install is eligible for background updates. WordPress won’t update if, for example, you’re using version control like SVN or Git.

\n

For more of what’s new in version 3.7, check out the Beta 1 blog post. In Beta 2, we further increased the stability of background updates and also added about 50 bug fixes, including a fix for Internet Explorer 11 in the visual editor.

\n

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed.

\n

Happy testing!

\n

Beta 2 released
\nDotting i’s and crossing t’s

\nExpect RC next

\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/2013/10/wordpress-3-7-beta-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:6;a:6:{s:4:"data";s:45:"\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:20:"WordPress 3.7 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/2013/09/wordpress-3-7-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/2013/09/wordpress-3-7-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:"Sat, 28 Sep 2013 07:25: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:8:"category";a:2:{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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:33:"http://wordpress.org/news/?p=2688";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:339:"I’m pleased to announce the availability of WordPress 3.7 Beta 1. For WordPress 3.7 we decided to shorten the development cycle and focus on a few key improvements. We plan to release the final product in October, and then follow it in December with a jam-packed WordPress 3.8 release, which is already in development. Some […]";s: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:3684:"

I’m pleased to announce the availability of WordPress 3.7 Beta 1.

\n

For WordPress 3.7 we decided to shorten the development cycle and focus on a few key improvements. We plan to release the final product in October, and then follow it in December with a jam-packed WordPress 3.8 release, which is already in development. Some of the best stuff in WordPress 3.7 is subtle — by design! So let’s walk through what we’d love for you to test, just in time for the weekend.

\n

Automatic, background updates. 3.7 Beta 1 will keep itself updated. That’s right — you’ll be updated each night to the newest development build, and eventually to Beta 2. We’re working to provide as many installs as possible with fast updates to security releases of WordPress — and you can help us test by just installing Beta 1 on your server and seeing how it works!

\n

When you go to Dashboard → Updates, you’ll see a note letting you know whether your install is working for automatic updates. There are a few situations where WordPress can’t reliably and securely update itself. But if it can, you’ll get an email (sent to the ‘Admin Email’ on the General Settings page) after each update letting you know what worked and what didn’t. If it worked, great! If something failed, the email will suggest you make a post in the support forums or create a bug report.

\n

Here are some other things you should test out:

\n\n

This software is still in development, so we don’t recommend you run it on a production site. I’d suggest setting up a test site just to play with the new version. To test WordPress 3.7, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip).

\n

As always, if you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. Or, if you’re comfortable writing a reproducible bug report, file one on the WordPress Trac. There, you can also find a list of known bugs and everything we’ve fixed so far.

\n

Happy testing!

\n

WordPress three seven
\nSaves your weary hand a click
\nUpdates while you sleep

\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/2013/09/wordpress-3-7-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:7;a:6:{s:4:"data";s:45:"\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:48:"WordPress 3.6.1 Maintenance and Security Release";s: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/2013/09/wordpress-3-6-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/2013/09/wordpress-3-6-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:"Wed, 11 Sep 2013 20:48: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: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=2675";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:353:"After nearly 7 million downloads of WordPress 3.6, we are pleased to announce the availability of version 3.6.1. This maintenance release fixes 13 bugs in version 3.6, which was a very smooth release. WordPress 3.6.1 is also a security release for all previous WordPress versions and we strongly encourage you to update your sites immediately. […]";s: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:2033:"

After nearly 7 million downloads of WordPress 3.6, we are pleased to announce the availability of version 3.6.1. This maintenance release fixes 13 bugs in version 3.6, which was a very smooth release.

\n

WordPress 3.6.1 is also a security release for all previous WordPress versions and we strongly encourage you to update your sites immediately. It addresses three issues fixed by the WordPress security team:

\n\n

Additionally, we’ve adjusted security restrictions around file uploads to mitigate the potential for cross-site scripting.

\n

We appreciated responsible disclosure of these issues directly to our security team. For more information on the changes, see the release notes or consult the list of changes.

\n

Download WordPress 3.6.1 or update now 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/2013/09/wordpress-3-6-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:8;a:6:{s:4:"data";s:42:"\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:25:"WordPress 3.6 “Oscarâ€";s: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://wordpress.org/news/2013/08/oscar/";s: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:49:"http://wordpress.org/news/2013/08/oscar/#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, 01 Aug 2013 21:43: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: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=2661";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:368:"The latest and greatest WordPress, version 3.6, is now live to the world and includes a beautiful new blog-centric theme, bullet-proof autosave and post locking, a revamped revision browser, native support for audio and video embeds, and improved integrations with Spotify, Rdio, and SoundCloud. Here’s a video that shows off some of the features using […]";s: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:18626:"

The latest and greatest WordPress, version 3.6, is now live to the world and includes a beautiful new blog-centric theme, bullet-proof autosave and post locking, a revamped revision browser, native support for audio and video embeds, and improved integrations with Spotify, Rdio, and SoundCloud. Here’s a video that shows off some of the features using our cast of professional actors:

\n
\n

We’re calling this release “Oscar” in honor of the great jazz pianist Oscar Peterson. Here’s a bit more about some of the new features, which you can also find on the about page in your dashboard after you upgrade.

\n

User Features

\n

\n\n

Developer features

\n\n

The Band

\n

This release was led by Mark Jaquith and Aaron Campbell, and included contributions from the following fine folks. Pull up some Oscar Peterson on your music service of choice, or vinyl if you have it, and check out some of their profiles:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, Adam Harley, adamsilverstein, AK Ted, Alex Concha, Alex King, Alex Mills (Viper007Bond), Amaury Balmer, Amy Hendrix (sabreuse), Anatol Broder, Andrew Nacin, Andrew Ozz, Andrew Ryno, Andy Skelton, Antonio, apimlott, awellis13, Barry, Beau Lebens, BelloSwan, bilalcoder, Billy (bananastalktome), bobbingwide, Bob Gregor, bradparbs, Brady Vercher, Brandon Kraft, Brian Layman, Brian Zeligson, Bryan Petty, Callum Macdonald, Carl Danley, Caspie, Charleston Software Associates, cheeserolls, Chip Bennett, Chris Olbekson, Christopher Cochran, Christopher Finke, Chris Wallace, Cor van Noorloos, crazycoders, Daniel Bachhuber, Daniel Dvorkin (MZAWeb), Daniel Jalkut (Red Sweater), daniloercoli, Danny de Haan, Dave Ross, David Favor, David Trower, David Williamson, Dion Hulse, dllh, Dominik Schilling (ocean90), dovyp, Drew Jaynes (DrewAPicture), dvarga, Edward Caissie, elfin, Empireoflight, Eric Andrew Lewis, Erick Hitter, Eric Mann, Evan Solomon, faishal, feedmeastraycat, Frank Klein, Franz Josef Kaiser, FStop, Gabriel Koen, Gary Cao, Gary Jones, gcorne, GeertDD, Gennady Kovshenin, George Stephanis, gish, Gregory Karpinsky, hakre, hbanken, hebbet, Helen Hou-Sandi, helgatheviking, hirozed, hurtige, hypertextranch, Ian Dunn, Ipstenu (Mika Epstein), jakub, James Michael DuPont, jbutkus, Jeremy Felt, Jerry Bates (JerrySarcastic), Jesper Johansen (Jayjdk), Joe Hoyle, Joen Asmussen, Joey Kudish, John Blackbourn (johnbillion), John James Jacoby, Jonas Bolinder (jond3r), Jonathan Desrosiers, Jon Bishop, Jon Cave, Jose Castaneda, Joseph Scott, Josh Visick, jrbeilke, jrf, Justin de Vesine, Justin Sainton, kadamwhite, Kailey (trepmal), karmatosed, Kelly Dwan, keoshi, Konstantin Kovshenin, Konstantin Obenland, ktdreyer, Kurt Payne, kwight, Lance Willett, Lee Willis (leewillis77), lessbloat, Mantas Malcius, Maor Chasen, Marcel Brinkkemper, MarcusPope, Mark-k, Mark Jaquith, Mark McWilliams, Marko Heijnen, Matt Banks, Matthew Boynes, MatthewRuddy, Matt Wiebe, Max Cutler, Mel Choyce, mgibbs189, Michael, Michael Adams (mdawaffe), Michael Beckwith, Michael Fields, Mike Hansen, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mohammad Jangda, najamelan, Naoko Takano, Nashwan Doaqan, Niall Kennedy, Nick Daugherty, Nick Halsey, ninnypants, norcross, ParadisePorridge, Paul, Paul Clark, pavelevap, Pete Mall, Peter Westwood, Phill Brown, Pippin Williamson, Pollett, Prasath Nadarajah, programmin, rachelbaker, Rami Yushuvaev, redpixelstudios, reidburke, retlehs, Reuben Gunday, rlerdorf, Rodrigo Primo, roulandf, rovo89, Ryan Duff, Ryan Hellyer, Ryan McCue, Safirul Alredha, sara cannon, scholesmafia, Scott Kingsley Clark, Scott Reilly, Scott Taylor, scribu, Seisuke Kuraishi (tenpura), Sergej, Sergey Biryukov, Simon Hampel, Simon Wheatley, Siobhan, sirzooro, slene, solarissmoke, SriniG, Stephen Harris, storkontheroof, Sunny Ratilal, sweetie089, Tar, Taylor Lovett, Thomas van der Beek, Tim Carr, tjsingleton, TobiasBg, toscho, Tracy Rotton, TravisHoffman, uuf6429, Vitor Carvalho, wojtek, wpewill, WraithKenny, wycks, Xavier Borderie, Yoav Farhi, Zachary Brown, Zack Tollman, zekeweeks, ziegenberg, and viniciusmassuchetto.

\n

Time to upgrade!

\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:45:"http://wordpress.org/news/2013/08/oscar/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:45:"\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:33:"WordPress 3.6 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/2013/07/wordpress-3-6-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/2013/07/wordpress-3-6-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:"Wed, 24 Jul 2013 07:25: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:8:"category";a:2:{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: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=2649";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 second release candidate for WordPress 3.6 is now available for download and testing. We’re down to only a few remaining issues, and the final release should be available in a matter of days. In RC2, we’ve tightened up some aspects of revisions, autosave, and the media player, and fixed some bugs that were spotted […]";s: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:1325:"

The second release candidate for WordPress 3.6 is now available for download and testing.

\n

We’re down to only a few remaining issues, and the final release should be available in a matter of days. In RC2, we’ve tightened up some aspects of revisions, autosave, and the media player, and fixed some bugs that were spotted in RC1. Please test this release candidate as much as you can, so we can deliver a smooth final release!

\n

Think you’ve found a bug? Please post to the Alpha/Beta area in the support forums.

\n

Developers, please continue to test your plugins and themes, so that if there is a compatibility issue, we can figure it out before the final release. You can find our list of known issues here.

\n

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

\n

Revisions so smooth
\nWe autosave your changes
\nData loss begone!

\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/2013/07/wordpress-3-6-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:"";}}}}}}}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, 29 Oct 2013 23:45:03 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:"Tue, 29 Oct 2013 21:04:59 GMT";s:4:"x-nc";s:11:"HIT lax 249";}s:5:"build";s:14:"20131026075432";}', 'no'); +INSERT INTO `wp_2_options` VALUES (3298, '_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1383133463', 'no'); +INSERT INTO `wp_2_options` VALUES (3299, '_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1383090263', 'no'); +INSERT INTO `wp_2_options` VALUES (3300, '_transient_timeout_dash_4077549d03da2e451c8b5f002294ff51', '1383133463', 'no'); +INSERT INTO `wp_2_options` VALUES (3301, '_transient_dash_4077549d03da2e451c8b5f002294ff51', '
', 'no'); +INSERT INTO `wp_2_options` VALUES (3303, '_transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c', '1383133464', 'no'); +INSERT INTO `wp_2_options` VALUES (3304, '_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:18:"Matt: Akismet 100B";s: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=43151";s: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/2013/10/akismet-100b/";s: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:189:"

Today Akismet blocked its 100 billionth spam. 100,000,000,000. Billion with a B. We had to tweak the counter on the homepage to handle more numbers.

";s: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, 29 Oct 2013 22:22: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: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: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:59:"WPTavern: WordPress 3.7.1: A Historical Maintenance Release";s: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:32:"http://www.wptavern.com/?p=10664";s: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:110:"http://feedproxy.google.com/~r/WordpressTavern/~3/Mr-_9NV-UoE/wordpress-3-7-1-a-historical-maintenance-release";s: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:2680:"

Zero Clicks Given tshirt - courtesy of @dimensionmedia

“Zero Clicks Given” tshirt – courtesy of @dimensionmedia

Most WordPress maintenance releases are nothing to write home about, but WordPress 3.7.1 is one for the history books. This is the first maintenance release where users don’t have to lift a finger to get their sites upgraded.

\n

Sites already running WordPress 3.7 will soon be automatically upgraded to the latest and greatest.

\n

The release haiku, created by Mark Jaquith, sums it up nicely:

\n

Just a few fixes
\nYour new update attitude:
\nZero clicks given

\n

\n

WordPress 3.7 is rapidly approaching two million downloads. That’s a huge number of site admins who don’t have to worry about logging in to perform updates. WordPress core developer Andrew Nacin said that maintenance and security releases are likely to be a more frequent occurrence now that they don’t have to worry about update fatigue. If you’re wondering how long your site will take to update to WordPress 3.7.1, Nacin estimated 24 seconds. He’s probably done this a thousand times while testing:

\n

Installs take about 24 seconds to update on average, but that includes downloading and unzipping the package. A core update should put your site into maintenance mode for only a few seconds.

\n

This release includes 10 fixes for small bugs in 3.7. Check out the full changelog to get the details.

\n

You can update your site immediately or wait until the core team starts rolling out the automatic background updates. I suggest you go crack yourself a cold one and let WordPress do the work for you.

\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, 29 Oct 2013 22:09: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:13:"Sarah Gooding";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:73:"WPTavern: Why You Should Never Add Analytics Code to Your WordPress Theme";s: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:32:"http://www.wptavern.com/?p=10602";s: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:125:"http://feedproxy.google.com/~r/WordpressTavern/~3/Cgbk-X7PiGg/why-you-should-never-add-analytics-code-to-your-wordpress-theme";s: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:4189:"

gaThis is a simple thing but it bears mentioning. Nearly every major WordPress theme provider offers the ability to easily add Google Analytics or other tracking code via the theme’s options panel.

\n

The idea stems from wanting to market a theme with everything needed to create the website that you see in the demo. Theme developers have been successful at selling themselves as one stop shops. To that end, they often pack WordPress themes full of code that is better suited to the realm of plugins.

\n

One common example is a theme option to add tracking code. It’s likely one of the last options listed in your theme’s dashboard panel. It’s a really easy place to add Google Analytics code, but please resist the temptation to paste your code in here.

\n

Analytics Code is Not a Theme Feature

\n

Site analytics are not a theme feature and simply do not belong in your theme. Analytics has nothing to do with your website’s design. Even if Google tells you to add this to the header of your site, do not directly edit your theme.

\n

The reason for this is that WordPress themes were made to be easily swapped out. More than likely you’re not going to use the same theme forever. But if your analytics code is in your theme options, then you’ll lose it when you change themes. By the time you realize it, you may already have large gaps in your analytics.

\n

Do yourself a favor. Instead of adding the code to your theme every time you change themes, just drop it in a plugin. There are plenty available on wordpress.org. You’ll only have to add it once and it will be safe when you change the design of your website.

\n

Theme Developers: Stop Tying Data to Themes

\n

Portability - I has it

Portability – I has it

This discussion boils down to data portability, a topic of recent conversation on Justin Tadlock’s blog: Why custom post types belong in plugins. If you’re a theme developer, please do not tie any form of data or content to the themes you create. This includes analytics, shortcodes, custom post types, booking and event management, testimonials, fundraising functionality, portfolios, etc. The list could go on and on.

\n

If a user cannot quickly pack up his data and go after using your theme, then your product has become a dead weight. In a perfect world, WordPress consumers will start looking at themes with this question in mind: “If I wanted to stop using this theme tomorrow, could all my data go with me?” If you’re selling a product that doesn’t pass that test, then you might want to make a few changes for the sake of data portability.

\n

Better options would be to include functionality plugins with the purchase of the theme or recommend a high quality plugin to accompany it. Keeping those functions separate from the theme itself will help users to take their data with them when they change themes. As a bonus, it’s also easier to troubleshoot when providing support. Let’s just keep themes clean. We’ve all been guilty of hindering data portability in the past, but now is good time to start building WordPress products differently.

\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, 29 Oct 2013 21:30: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:37:"Matt: New Virgin America Safety Video";s: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=43146";s: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:53:"http://ma.tt/2013/10/new-virgin-america-safety-video/";s: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:288:"

\n

Virgin America is giving Delta a run for their money with this amazing safety video — who has ever said that before? — directed by Jon Chu, who also did two of the Step Up movies. (Which sound cheesy but are actually awesome.)

";s: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, 29 Oct 2013 21:27: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: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: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:"Dev Blog: WordPress 3.7.1 Maintenance Release";s: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=2745";s: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/2013/10/wordpress-3-7-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:1589:"

WordPress 3.7.1 is now available! This maintenance release addresses 11 bugs in WordPress 3.7, including:

\n\n

For a full list of changes, consult the list of tickets and the changelog.

\n

If you are one of the nearly two million already running WordPress 3.7, we will start rolling out the all-new automatic background updates for WordPress 3.7.1 in the next few hours. For sites that support them, of course.

\n

Download WordPress 3.7.1 or venture over to Dashboard → Updates and simply click “Update Now.”

\n

Just a few fixes
\nYour new update attitude:
\nZero clicks given

";s: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, 29 Oct 2013 21:04: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:"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: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:57:"WPTavern: Akismet Celebrates Huge Spam Blocking Milestone";s: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:32:"http://www.wptavern.com/?p=10641";s: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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/wZZvO0gdnRM/akismet-celebrates-huge-spam-blocking-milestone";s: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:3397:"

Akismet Spam Counter

\n

Akismet is celebrating a huge milestone today. According to its spam counter, it has now blocked over 100,000,000,000 spam messages. Not all of that spam has originated from WordPress powered websites. Thanks to a number of libraries and an API, Akismet can be used on different content management systems as well as services.

\n

Installing Akismet Helpers

\n

While Akismet has saved me a ton of time, ever since I added two plugins to this website to go in front of Akismet, it’s been much more effective. I’ve installed Cookies for comments and Simple Trackback Validation. The results speak for themselves. But don’t take my word for it. Justin Tadlock wrote about his experience using these two plugins and he considered Cookies for comments one of his top 5. Another plugin worthy of trying is WP-Hashcash. While you may notice the two-year update notice on the WP-Hashcash and Simple Trackback Validation plugin pages, I can assure you that both work with WordPress 3.7.

\n

Share How Much Spam Akismet Has Blocked

\n

If you use the Jetpack plugin by Automattic, you’ll be able to use the Akismet widget. Browse to Appearance – Widgets and locate the Akismet Widget under the available widgets area. There are no options since the only thing it does is show people visiting your site how much spam has been blocked. While green is the color of Akismet, it doesn’t look great on every website. Also, since there is no padding underneath the spam count, it gives the appearance that the widget is broken.

\n

Spam Blocked On WPTavern

\n

Don’t mind the number because it’s wrong. Since the launch of WPTavern, the counter has been reset a few times. With WordPress powering 20% of the web and multiple services able to tie into Akismet, it shouldn’t take nearly as long to reach 200,000,000,000. I just hope this site doesn’t take the brunt of that number!

\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, 29 Oct 2013 21:00:46 +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: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:64:"WPTavern: Why The WordPress Plugin Version Pie Chart Disappeared";s: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:32:"http://www.wptavern.com/?p=10634";s: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:116:"http://feedproxy.google.com/~r/WordpressTavern/~3/LiKDt2xGB94/why-the-wordpress-plugin-version-pie-chart-disappeared";s: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:1605:"

Plugin Version ChartAbout three years ago, WordPress introduced pie charts and a stats API to the plugin repository. These stats gave plugin authors a chance to see which versions of their plugin were activated while also giving a glimpse into how many actual users the plugin had. The API provided a method to getting access to the data. Unfortunately, the API along with the Pie charts have been temporarily removed.

\n

According to ticket #107 which states that the pie charts were reporting erroneous data, Otto responded “until we can sort out the stats gathering system, this was no better than random numbers“. I sent an email to the WordPress.org team to see if any progress had been made on this problem. Their response is that they have not looked into it yet. It will be worked on at some point, but it’s not high on the priority list at the moment.

\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, 29 Oct 2013 20:00: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: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: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:57:"WPTavern: How To Add A ManageWP Button To Jetpack Sharing";s: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:32:"http://www.wptavern.com/?p=10611";s: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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/kG3zYYYBhm4/how-to-add-a-managewp-button-to-jetpack-sharing";s: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:4801:"

Manage WordPress.org LogoManageWP.org has been live since October 14th and has already accumulated over 1,000 registered users. The site has also been in the top 5 of traffic referrals to WPTavern.com, thanks in large part to the unsolicited submission of articles and upvotes. We extend a huge thank you to all who have shared and voted on WPTavern articles on the site. Read on to learn how you can easily tap into this traffic source.

\n

Jetpack Sharing moduleWhile ManageWP.org offers two different button styles you can display within the content, I prefer not to have anything within the content block that serves as a distraction. That’s why I use the Sharing module within Jetpack. Using this module, I can add or subtract services for sharing content. I can also configure where they are displayed. ManageWP is not one of the supported services by default but you can easily add the service by following these instructions.

\n

Browse to the sharing module in Jetpack and click the add new service link under available services.

\n\n

Then click on the create share button. This is where it becomes confusing. After clicking the create share button, you’ll see a spinning circle indicating that something is happening. When it stops, the add new service pop-up stays on the screen. This gives the appearance that it is broken or something is hanging, preventing the button from being created. In my experience, I closed the pop-up window and when I tried to add the new service again, the fields were filled with the data I supplied earlier but the create share button was stuck in the pressed position. However, when I refreshed the sharing button admin page, the ManageWP button showed up. I hope you have a smoother experience when creating the button.

\n

Adding New Service In Jetpack

\n

Once the button is created, just drag it to the enabled services section and arrange it to your liking. When a visitor clicks on the button and that article has not yet been submitted to the site, that visitor will be asked to log-in if they don’t have an account or are logged out. Next, the user will be presented with a screen to share the article. If the article has already been submitted, they will be taken to the article on ManageWP.org where they can upvote it. A little known feature with this button is that the submitter also has the ability to supply an editorial comment which is viewed when visitors hover over the article title on ManageWP.org.

\n

Why Adding The Button Is Important

\n

Adding a ManageWP button to your site makes it easy for visitors to share and vote articles. It also helps them generate traffic, which helps other articles submitted on the site. I’ve been using ManageWP.org since its launch and have found myself browsing around discovering different articles and providing a number of upvotes. The one thing I’ve discovered is that an article with a high number of upvotes on the front page does not mean it’s the freshest article. I’ve seen a few articles published months ago that are showing up on the front page with over 20 upvotes. So keep that in mind when browsing the site.

\n

I’m interested in hearing from other WordPress content centric website owners. Has your traffic levels been any higher since the launch of ManageWP.org?

\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, 29 Oct 2013 18:30:58 +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: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:68:"WPTavern: WordPress Style Guide: A Reference For Admin UI Components";s: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:32:"http://www.wptavern.com/?p=10604";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/so0jFriSR-M/wordpress-style-guide-a-reference-for-admin-ui-components";s: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:2670:"

style-guideWordPress is getting its own style guide. Helen Hou-Sandí is working on a new plugin called WordPress Style Guide to serve as a reference for building WordPress admin UI components. This is very much a work in progress and its purpose will evolve, as Helen notes on the plugin’s github page: “This plugin is not planned to be distributed through the WordPress.org repository, as its anticipated final form will take over a site completely.” The end result will be a guide similar to what you see with front end development frameworks such as Twitter Bootstrap or Zurb Foundation.

\n

So far the plugin includes three sections:

\n\n

These appear in the form of HTML pages within the admin and contain a few rough style examples:

\n

color-helper-classes

\n

This style guide has the potential to greatly improve the way plugin and theme developers create UI components that fit into the WordPress admin. It will also help to speed up that process when developers can quickly get the appropriate styles from the reference.

\n

Custom admin UI done wrong can be a scary thing. How many times have you seen a plugin with visually jarring alerts and mismatched styles in the admin? That Sore Thumb plugin is a hazard to the eyes. If only there was a guide to help put them on the right path. That’s where this project can benefit the community.

\n

Contribution to the WordPress Style Guide is open to all. If you’d like to help build it, feel free to send a pull request and/or leave feedback in the issues queue.

\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, 29 Oct 2013 17:42: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:13:"Sarah Gooding";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:69:"WordPress.tv: Kane Jamison: 30 Ways to Move Beyond Basic Blog 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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24403";s: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:86:"http://wordpress.tv/2013/10/29/kane-jamison-30-ways-to-move-beyond-basic-blog-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:688:"
\n
\n
Kane Jamison: 30 Ways to Move Beyond Basic Blog 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 29 Oct 2013 15:15:30 +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:"WordPress.tv";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:73:"WordPress.tv: Steve Zussino: How To Optimize Your Blog For Mobile Traffic";s: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:28:"http://wordpress.tv/?p=24405";s: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/2013/10/29/steve-zussino-how-to-optimize-your-blog-for-mobile-traffic/";s: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:696:"
\n
\n
Steve Zussino: How To Optimize Your Blog For Mobile Traffic
";s: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, 29 Oct 2013 14:56:01 +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:"WordPress.tv";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:65:"WPTavern: Major Update Coming to the WordPress Plugin Boilerplate";s: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:32:"http://www.wptavern.com/?p=10542";s: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://feedproxy.google.com/~r/WordpressTavern/~3/6panc40_WvQ/major-update-coming-to-the-wordpress-plugin-boilerplate";s: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:5211:"

When Tom McFarlin released his WordPress Plugin Boilerplate on github last November, he has no idea how many developers would jump on board to contribute to this open source learning resource. The plugin has received a ton of support from the community, including commits from more than 26 contributors. McFarlin will soon be putting out a major release that will make the boilerplate better than ever.

\n

An Introduction to the WordPress Plugin Boilerplate

\n
photo credit: Mr. Greenjeans via photopin cc

photo credit: Mr. Greenjeans via photopin cc

\n

The plugin boilerplate provides the foundation for building a WordPress plugin. Based on the WordPress Plugin API, it provides example values for a basic plugin, so you can learn how to structure your own. All the basics are nicely documented within the plugin using PHPDoc conventions.

\n

File organization matters.

\n

Sometimes you find WordPress plugins with files scattered all over throughout random directories with no rhyme or reason. The WordPress Plugin Boilerplate provides a standardized directory structure for maintaining your plugin’s assets.

\n

Here’s just a quick sampling of what you can learn from starting with the boilerplate:

\n\n

All of the above and so much more is documented inside the plugin boilerplate with links to where you can find more information. This is a very valuable resource for anyone who wants to get started with best practices in developing WordPress plugins.

\n

WordPress Plugin Boilerplate 2.8.0 Will Be a Major Update

\n

Many developers have been eager to contribute to the project and McFarlin announced that a major release of the accumulated community efforts is coming soon. Highlighted additions to this release include:

\n\n

How Developers Can Help

\n

McFarlin has a number of outstanding issues and discussions that he’d like to address before pushing out the next release. These include questions such as whether or not to move class files to their own subdirectory, the possibility of moving the assets directory, and more. If you can lend any wisdom on these issues, you’re invited to comment on McFarlin’s post, issue a pull request or get in touch with him on Twitter. This is a community effort that can only help to raise the standards for WordPress plugin development.

\n

Have any of you used this boilerplate to get started building plugins? Is there anything you would change about how it is structured?

\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, 28 Oct 2013 22:18:36 +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:"Sarah Gooding";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:63:"WPTavern: How to Install WordPress Plugins Directly From Github";s: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:32:"http://www.wptavern.com/?p=10037";s: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:115:"http://feedproxy.google.com/~r/WordpressTavern/~3/tRC1n_fg3jk/how-to-install-wordpress-plugins-directly-from-github";s: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:6687:"

github-logoIt’s amazing how much WordPress code is available on github. Many developers choose not to place their plugins on WordPress.org for one reason or another, but this makes their code less convenient for others to find. Using a plugin from github traditionally requires you to visit github, search for the plugin, download the zip file and upload it to your site to install.

\n

An Easier Way to Find and Install WordPress Plugins Hosted on github

\n

Paul Clark has created a plugin called Github Plugin Search that will allow you to access and install WordPress plugins directly from your dashboard. He found a way to connect the github code search API to the WordPress plugin installer API. Here’s a quick demo of how this works:

\n

\n

How does the plugin detect WordPress plugins hosted on github?

\n

Intrigued by the idea, I tested the plugin and checked in with Paul to find out how the plugin is able to detect WordPress plugins hosted on github. He replied:

\n

Github’s code search API is fairly new (like… it’s still in preview. You have to send a special header just to access it.). They don’t *exactly* provide enough power in their search to truly query for WordPress plugins or to aggressively search the contents of each individual plugin.

\n

To get around their limitations (limits on number of queries, no ability to match exact text like “Plugin Name”), I’m using a combination of two searches, comparing the results, and then filtering down to repositories I’m confident are installable WordPress plugins.

\n

Paul outlined three requirements a repository must meet in order to be found by his github search plugin:

\n\n

Right now, the plugin full-on replaces the search with results from github. It’s not such a big deal because of the github wp-plugins mirror, but Paul would like to add an option to toggle between wordpress.org and github results in the future.

\n
Example results from searching github

Example results from searching github

\n

Currently, the results returned are very basic, but Paul said that this is due to working within the confines of the API in preview:

\n

When the Github API comes out of preview, I expect to be able to make results more accurate. Right now, logged in users can only make 20 queries every few minutes. All their other APIs allow 5000. I expect they’ll change it over when it’s final. When they do, the plugin could go crazy getting exact details on plugin files, running checks, and providing richer data from the readme and screenshots.

\n

How Can Users Get Updates For New Stable Versions of Plugins Hosted on github?

\n

I asked Paul if users would still be able to get updates for their plugins if they install from github. This is imperative, because a user wouldn’t want to unknowingly exclude himself from future updates. “The WordPress update API works based on the plugin name, not the source,” Paul explained. “So, if a user were to *install* wp-seo from Github right now, updates from wordpress.org would still work.”

\n

Paul wrote a plugin a year or so ago that updates plugins from Github, Bitbucket, or generic Git repositories (public or private), if the URL is mentioned in the plugin header. It works nicely for him on client sites but in the current version of the Github Plugin Search he has it turned off. He outlines his concerns and the reasons why:

\n\n

The Future of Github Plugin Search

\n

So as you can see, the plugin is still a work in progress but a very solid proof of concept so far. Paul plans to continue improvements to the plugin. In the future he may add in the fork and star count for the github repos in order to provide more data for users when selecting plugins. He’s created a list of enhancements that may come further down the road.

\n

If you’d like to fork the Github Search Plugin or suggest changes, check it out on github or get in touch with Paul via Twitter.

\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, 28 Oct 2013 18:31: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:13:"Sarah Gooding";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:61:"WPTavern: WordPress Automatic Updates – No Options 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:32:"http://www.wptavern.com/?p=10527";s: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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/rVDGIkXIPyc/wordpress-automatic-updates-no-options-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:8074:"

WordPress 3.7 Development ScheduleNow that WordPress 3.7 is out in the wild and has already accumulated over 1.5 million downloads, the complaints are starting to roll in concerning the automatic update feature. On the Make.WordPress.core website where Andrew Nacin published a great guide on the different ways of configuring auto updates, users started questioning why there wasn’t an option in the back-end to either opt-out of auto updates or to configure how they operate.

\n

The answer to that question is simple as pointed out by Andrew Nacin.

\n

For the betterment of the web, we made a conscious decision to avoid a UI option. You’d be out of your mind to consciously avoid updating to fix a critical bug or security issue. We think the vast majority of users (many who don’t even know what PHP is) will celebrate this as a win in usability and security.

\n

We very strongly pride in our core philosophies, including designing for the majority, making WordPress work out of the box with little configuration or setup, choosing decisions instead of adding options, and striving for simplicity. (Incidentally, that last section needs updating to emphasize we’ve now made updates even simpler.)\n

\n

No Auto Updates For Desktop Software But Enabled For WordPress

\n

I don’t have a single piece of software on my desktop or notebook that has been configured to automatically update itself. Instead, I always make sure I’m notified before any updates are to be installed. I usually review the changelog and then update as needed. With WordPress however, I’m willing to allow auto updates for minor and security releases to be enabled for two reasons. The first is that this site is constantly being backed up by VaultPress. I’m not worried if the site breaks during or after an upgrade. The second, I’ve rarely ever had a problem with WordPress upgrades.

\n

There Are No Guarantees

\n

The same concerns that were brought up when automatic updates were announced are still being voiced. The biggest concern users have is not being able to easily go back to a working version of WordPress should something break. At the crux of this particular concern is that automatic updates prevent people from creating backups immediately before the update process. The update process has failsafe after failsafe to prevent catastrophes from happening but there is no guarantee. By default in WordPress 3.7 and above, the only updates that will happen automatically are minor and security releases. Although they have different names, these releases can sometimes be the same thing. Andrew Nacin explained the differences.

\n

It’s been stressed that these minor and security updates rarely break anything dealing with the core of WordPress. However, sometimes these minor changes cause a plugin or theme to break. Rarely doesn’t mean never. It’s this slight possibility of a site breaking that has prevented people from jumping on board to support the feature.

\n

How To Make Upgrading Less Fearful

\n

The best article I’ve read so far on this topic is from Mika Epstein entitled, Don’t Fear The Auto Update. While she doesn’t dismiss the fact that a site can break during an auto update, she provides a number of great tips that you can use so that upgrading is less of a frightful experience.

\n

Yes, it’s defaulted to “on†because after intensive testing, and careful thought, WordPress core devs are pretty darn sure that these minor updates, which are more often than not security related, will not break a site. I’ll get back to breaking sites in a second. The point is that minor updates were picked specifically because it’s known that major upgrades can often break things.

\n

If every time you upgrade WordPress, your site breaks, please follow her advice and do a plugin/theme audit.

\n

My Thoughts

\n

Normally, I’d be in support of adding an option to allow users to configure how auto updates work. In this case however, I understand the big picture. With WordPress being used on 20% of the web, the team owes it to the web in general to help users as best they can, keep their sites up to date. This tweet by Andrew Nacin is a good example of the big picture.

\n

It will take a while to feel the true effects of WordPress 3.7. # sites running secure versions will go up. # localized installs will go up.

\n

— Andrew Nacin (@nacin) October 24, 2013

\n

\n

The concerns raised are warranted and it only takes one experience of an auto update breaking a site to ruin things. Meanwhile, there were over 100,000 auto updates applied during the WordPress 3.7 testing period and not a single one of them failed according to Andrew Nacin.

\n

We ended the WordPress 3.7 beta cycle with 112,434 automatic background updates attempted and not a single critical failure.

\n

— Andrew Nacin (@nacin) October 25, 2013

\n

\n

Many of the terrible scenarios discussed are hypothetical situations. I say we give 3.7 and 3.7.1 some time and let’s see if auto updates do more harm than good. After 3.7.1 is released, WordPress.org will have a lot of useful data which I hope the team shares with everyone.

\n

Update Control Gives You All The Automatic Update Options You Need

\n

If you are looking for a plugin that adds options to the WordPress back-end to easily configure how auto updates work, check out Update Control. This plugin provides all of the auto update options you could ever want! No need to hack WP-Config or use constants.

\n

Auto Update Plugin Options

\n

I can’t wait to revisit this topic after the release of 3.7.1. By then, the core team will have some real world data to analyze.

\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, 28 Oct 2013 17:30: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: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: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:67:"WPTavern: Changing The WordPress Admin Username During Installation";s: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:32:"http://www.wptavern.com/?p=10500";s: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://feedproxy.google.com/~r/WordpressTavern/~3/fKUQvr6kSnY/change-the-admin-username-during-installation";s: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:3326:"

One of the security tips you’ll come across often is immediately deleting the admin user after installation and creating a new user, then assigning that user the administrator role. This is something I wish the core team would address so that during the installation of WordPress, users would be able to choose their own username and select a strong password without having to go back and delete the initial admin account.

\n

Something New Learned At My WordPress Meetup

\n

While attending my local WordPress meetup, one of the new WordPress users in attendance mentioned the security tip of deleting the administrator account that is created during installation and creating a new user account that is then assigned the administrator role. The idea being that hackers try to login with admin as the username and then try multiple different passwords. I had mentioned that it would be great if WordPress enabled users to make this change during installation instead of having to do it after the fact.

\n

Turns Out You Can

\n

I discovered during a brand new WordPress 3.7 install that users were able to change the default username from admin, to something else. This is the first time I’ve installed WordPress in a long time which is why I didn’t know this change already took place. It also didn’t dawn on me because people are still sharing the security tip I mentioned above. This combination of the enhanced password strength meter and the ability to change the default admin user name during install saves new WordPress installation admins from having to go through a security step that has been preached about for years. As it turns out, users have been able to change the default username of admin for a number of versions. Based on research I conducted, this change has been in place since at least version 3.0.

\n

WordPress 3 point 0

\n

Why Are We Still Preaching This Security Tip?

\n

With that being the case, why have so many fresh installs decided to use admin as the default username? Why do we continue to preach the security tip of immediately deleting admin and replacing it with a different username? One of the suggestions at my local meetup was to not auto fill the username field with admin and instead, force new installers to create their own unique username. This sounds like a good suggestion to me. When we tried to do a fresh install of WordPress 3.6.1 to see what would happen, admin was automatically filled in for the username. It seems to me that making this simple change would make WordPress installs that much more secure right out of the gate.

\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, 28 Oct 2013 16:00: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: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: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:68:"WPTavern: How To Find Live Examples Of Sites Using A WordPress Theme";s: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:32:"http://www.wptavern.com/?p=10496";s: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:110:"http://feedproxy.google.com/~r/WordpressTavern/~3/u8aPo48AZcE/how-to-find-live-examples-of-sites-using-a-theme";s: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:2287:"

WP Shout LogoWPShout.com has a great article that explains how to easily find websites that are using the theme you’re thinking about buying or using. One of the first things I try to do before downloading or purchasing a theme is to find actual websites that are using the design. While some theme companies have a showcase area highlighting these sites, most of them do not. Using the technique shared by WPShout, I was able to discover this neat looking child theme of TwentyThirteen.

\n

Twenty Thirteen Child Theme

\n

According to WPShout, it’s as simple as a Google search. Simply type in “wp-content/themes/[theme-name]“ ,quotation marks and all, and look for a search result that looks like a PHP scripting error. WPShout explains that Google sometimes indexes these errors which is why the name of the theme shows up in search results. I’ll let you read the article to figure out the secondary way of viewing live sites with themes you’re interested in but I thought this was an ingenious way of finding them. It will still take a little work on the user’s part to find the sites using the theme they are looking for, but this is a good stepping stone towards finding them. If nothing else, it enables you to see some PHP fatal error messages.

\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, 28 Oct 2013 13:30: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: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: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:87:"WPTavern: WordPress Core Developers Release Plugin To Test Automatic Background Updates";s: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:32:"http://www.wptavern.com/?p=10506";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/u8nGxe5ugU4/wordpress-releases-plugin-to-test-automatic-background-updates";s: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:2616:"

Over the weekend, WordPress developers Andrew Nacin and Dion Hulse released an official WordPress.org plugin that enables users to test their sites’ compatibility with the background updates feature, introduced in WordPress 3.7.

\n

Background Update Tester is an official plugin, released under the WordPress.org account. It was created to help users diagnose problems that prevent WordPress from updating automatically. Once installed, a new menu is available at the Dashboard >> Update Tester screen. The plugin performs a test and displays results on this screen.

\n

Here’s an example of the plugin in action on a site where background updates fail:

\n

fail

\n

The plugin performs tests that will automatically answer the following questions for you:

\n\n

A non-technical user would have no idea how to answer these questions without the help of this plugin. As you can see in the example above, the tests found that WordPress was not able to edit files in the wp-admin folder and listed those files. This is something that’s easy enough to correct for a developer. If the user is less technically inclined, he can report the results of the test to his host to seek assistance for correcting the problem.

\n

If you’ve run into issues while trying to get background updates, this plugin is the key to finding your site’s incompatibility.

\n

Thankfully, most users won’t need this plugin, as a large majority of sites don’t have compatibility issues. If you’re eager to jump on the automatic updates train but have so far been prevented, install the Background Update Tester plugin to find out how to correct the problem.

\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, 28 Oct 2013 12:01: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:64:"WordPress.tv: Christine Rondeau: Put Some Shine In Your Back-End";s: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:28:"http://wordpress.tv/?p=24363";s: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.tv/2013/10/28/christine-rondeau-put-some-shine-in-your-back-end/";s: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:684:"
\n
\n
Christine Rondeau: Put Some Shine In Your Back-End
";s: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, 28 Oct 2013 08:56: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:12:"WordPress.tv";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:77:"WordPress.tv: Suzette Franck: Resources For Reaching Your WordPress Potential";s: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:28:"http://wordpress.tv/?p=24222";s: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://wordpress.tv/2013/10/28/suzette-franck-resources-for-reaching-your-wordpress-potential/";s: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:710:"
\n
\n
Suzette Franck: Resources For Reaching Your WordPress Potential
";s: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, 28 Oct 2013 07:36: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:71:"WordPress.tv: Chip Bennett: Custom Layouts Without Using Page Templates";s: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:28:"http://wordpress.tv/?p=24325";s: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:88:"http://wordpress.tv/2013/10/26/chip-bennett-custom-layouts-without-using-page-templates/";s: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:692:"
\n
\n
Chip Bennett: Custom Layouts Without Using Page Templates
";s: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, 26 Oct 2013 17: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:61:"WordPress.tv: Chris Wilcoxson: How to Build Your First 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:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24323";s: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:78:"http://wordpress.tv/2013/10/26/chris-wilcoxson-how-to-build-your-first-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:672:"
\n
\n
Chris Wilcoxson: How to Build Your First 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 17:50: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:53:"WordPress.tv: Dougal Campbell: Secure All The Things!";s: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:28:"http://wordpress.tv/?p=18726";s: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.tv/2013/10/26/dougal-campbell-secure-all-the-things/";s: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:655:"
\n
\n
Dougal Campbell: Secure All The Things!
";s: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, 26 Oct 2013 16:00:12 +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:"WordPress.tv";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:61:"WordPress.tv: Coen Jacobs and Scott Basgaard: WooCommerce 2.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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24109";s: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:78:"http://wordpress.tv/2013/10/25/coen-jacobs-and-scott-basgaard-woocommerce-2-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:678:"
\n
\n
Coen Jacobs and Scott Basgaard: WooCommerce 2.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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 04:16: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:12:"WordPress.tv";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:73:"WPTavern: WPWeekly Episode 125 – Alex Denning And The Future Of WPShout";s: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:32:"http://www.wptavern.com/?p=10488";s: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:121:"http://feedproxy.google.com/~r/WordpressTavern/~3/BrQjYeCM2K0/wpweekly-episode-125-alex-denning-and-the-future-of-wpshout";s: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:3402:"

WordPress Weekly Cover ArtOn this weeks edition of the show, Alex Denning was my special guest along with the new owners of WPShout.com, Fred and David of PressUp Inc. In the show, Alex and I talk about the last four years of publishing content on WPShout.com, what types of opportunities it’s opened up for him, and what it took to put together his annual webhosting review posts. Later in the show, I was joined by David and Fred. We talked about their plans for WPShout.com, their WordPress background and if they have any plans to monetize the site. Since Alex is now going to be focusing on school and has sold his website, I want to take this opportunity to thank him personally for spending his time making WPShout a great resource in the WordPress community.

\n

If you will be attending WordCamp London in November, be sure to attend Alex’s session or at least say hi to him. It’s his first WordCamp and he’s speaking!

\n

Stories Discussed:

\n

WordPress 3.7 Released
\nDefinitive Guide For Disabling Updates
\nThe Menace Of Theme Creep
\nHow to find live examples of just about any WordPress theme

\n

WPWeekly Meta:

\n

Next Episode: Friday, November 1st 3 P.M. Eastern – Our special guest for next week’s episode will be Cory Miller of iThemes.com to talk about his experience of leading one of the most successful commercial WordPress theme businesses on the web.

\n

Subscribe To WPWeekly Via Itunes: Click here to subscribe

\n

Subscribe To WPWeekly Via RSS: Click here to subscribe

\n

Subscribe To WPWeekly Via Stitcher Radio: Click here to subscribe

\n

Listen To Episode #125:
\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 26 Oct 2013 01:10: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: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: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:92:"WordPress.tv: Nic Haralambous: Nicsocks: Selling Limited Edition Socks Online With 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:28:"http://wordpress.tv/?p=24156";s: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:108:"http://wordpress.tv/2013/10/25/nic-haralambous-nicsocks-selling-limited-edition-socks-online-with-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:733:"
\n
\n
Nic Haralambous: Nicsocks: Selling Limited Edition Socks Online With 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Oct 2013 20:38: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:12:"WordPress.tv";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:58:"WPTavern: WordPress Distraction Free Writing Mode Enhanced";s: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:32:"http://www.wptavern.com/?p=10409";s: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:110:"http://feedproxy.google.com/~r/WordpressTavern/~3/HM_lJnooDn8/wordpress-distraction-free-writing-mode-enhanced";s: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:4656:"

It’s easy to get distracted while writing posts. You’re in a browser and you probably have a few other tabs open with notifications beeping at you from every direction. On top of that, the WordPress post editor has a ton of meta boxes competing for your attention. With all of this going on, how can you focus on crafting beautiful words?

\n

The Distraction Free Writing Mode (DFWM) feature was introduced in WordPress 3.2, giving users the opportunity to find a zen place for writing while staying within the dashboard. It’s launched via the “fullscreen” button in the editor, whisking you away to a screen with an intentionally-limited button selection. These buttons fade away in the top menu as you begin composing. Here’s the default DFWM screen:

\n
WordPress Distraction Free Writing Mode

WordPress Distraction Free Writing Mode

\n

Enhance Distraction Free Writing Mode with the Visual Editor

\n

Many users love the minimalism of this screen and will write the text of their post but format it later within the regular post editor. Just Writing is a new plugin that aims to keep you in the DFWM for the entire writing and formatting process.

\n

Essentially, the plugin enhances DFWM by adding the visual editor to the top with the other buttons. It also disappears as per the normal behavior. Here’s a look at the enhanced version with all the extra buttons turned on:

\n

allthebuttons

\n

With the plugin installed you gain the “Undo” and “Redo” functions, text align, underline. proofreading and everything that you would expect with the visual editor. Beyond that, Just Writing also performs a few more subtle functions:

\n\n

Even if you’re not a fan of the visual editor buttons, the extra Preview button is a definite improvement over the DFWM in its default form. Installing the plugin also doesn’t universally apply the settings to all users. Each user is able to choose the buttons he wants to display to create his own zen writing place.

\n

Customize Your Distraction Free Writing Mode Experience

\n

Enhanced? Isn’t the point of the distraction free writing mode to get rid of everything and just write? Sure there are some of you out there who hate the visual editor with a passion, but there are also many who currently depend upon it.

\n

Just Writing isn’t an all-or-nothing plugin. It has an options panel where you can add or remove support for any of the visual editor buttons:

\n
Just Writing plugin options

Just Writing plugin options

\n

These options allow you to select the buttons that help you to stay in the flow while composing posts.

\n

Just Writing is available for free in the WordPress plugin repository. If you feel like the Distraction Free Writing Mode is missing a few functions, give this plugin a spin and see if it enhances your writing experience.

\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, 25 Oct 2013 20:21: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:67:"WPTavern: How to Configure Automatic Core Updates for WordPress 3.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:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10437";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/Bl1O4Pw_P3c/how-to-configure-automatic-core-updates-for-wordpress-3-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:4272:"

So, how does this work?

So, how does this work?

Today following the release of WordPress 3.7 many users are wondering where the settings page is to configure these options. The answer is that there is no settings page in the WordPress admin. If you upgrade to WordPress 3.7, the default behavior is that you’ll be automatically upgraded for security and minor releases.

\n

The fact that it’s security and minor releases only is a very important distinction here. These generally do not break anyone’s website, plugin or themes. If you’re using a plugin that gets broken due to a security release, then that raises a red flag and a few questions about how that plugin is interacting with the WordPress core.

\n

If you want to make changes to WordPress default behavior of keeping your site current with security/minor releases, you will need to edit your wp-config.php file.

\n

I asked Andrew Nacin if there is a plan to expose the core update configuration options to the UI in the future. He replied that there is “no good reason for an opt-out UI now, but as we grow more confident, I imagine an opt-in UI for major versions could be next.” So maybe this is around the corner, but for now, read on to learn how to configure your updates.

\n

3 Basic Options for Core Updates in WordPress 3.7

\n

Let’s simplify things here. You basically have three options for WordPress core updates:

\n

1. Update the core for minor versions (on by default):

\n

If you’re running WordPress 3.7, there’s nothing you need to do to turn this on. You’ll be automatically updated for security and minor releases. Here’s what it would look like in wp-config.php:

\n
define( \'WP_AUTO_UPDATE_CORE\', \'minor\' );
\n

2. Disable all core updates:

\n

If you’re uncomfortable with WordPress keeping your site current with minor releases and security updates, here’s how you turn it off. Add this to your wp-config.php file:

\n
define( \'WP_AUTO_UPDATE_CORE\', false );
\n

However, I would encourage you to read this definitive guide from Nacin before turning off core updates completely.

\n

3. Get all updates, including development, major and minor releases:

\n

This is the cowboy option that is probably more likely something you’d want to enable on a personal blog. If you turn this on in wp-config.php, you’ll be automatically updated for every release that WordPress puts out:

\n
define( \'WP_AUTO_UPDATE_CORE\', true );
\n

You can also apply all of the above via new filters added in WordPress 3.7, as outlined in the codex article on Configuring Automatic Background Updates. Filters are also available for plugin, theme and translation updates should you want to add those in the mix, too.

\n

If you’re scratching your head and trying to get your brain around all of these options, wondering what to do, then just leave the default options in place and don’t mess with it. WordPress strongly discourages disabling the automatic security updates. These updates have been heavily tested and are quite safe. Getting hacked because you didn’t want to take security updates would be really lame. The best option is to leave security updates in place.

\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, 25 Oct 2013 16:37: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:62:"WPTavern: WordPress 3.7 Released: WordPress Now Updates Itself";s: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:32:"http://www.wptavern.com/?p=10414";s: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:113:"http://feedproxy.google.com/~r/WordpressTavern/~3/l-3I_2jNRJ4/wordpress-3-7-released-wordpress-now-updates-itself";s: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:4510:"

WordPress 3.7 has been released and the big news is that WordPress now has the ability to update itself. This begins a new era of automatic background updates for security and minor releases. Web hosts around the world have been eagerly awaiting this release and are cheering its arrival. The upgrade process has been greatly improved and boy is it ever solid:

\n

We ended the WordPress 3.7 beta cycle with 112,434 automatic background updates attempted and not a single critical failure.

\n

— Andrew Nacin (@nacin) October 25, 2013

\n

\n

Not a single critical failure. Try blaming Nacin for that, folks.

\n

WordPress 3.7 is dubbed Basie, after Count Basie, an American jazz pianist with an unparalleled talent for improvisation. He learned to improvise while playing along to silent films for a local movie theater. Before he was famous, Basie sharpened his improv skills by playing jazz piano at parties and resorts. He went on to create his own jazz orchestra and mentor many other musicians along the way.

\n

Count Basie

Count Basie

It seems fitting that this release honors Basie. The web is full of hackers who seek to exploit any vulnerability they can find in WordPress. Users have to be quick to improvise and secure our sites as soon as minor releases are shipped out. Automatic background updates give millions of users the ability to stay current with each security update. The beautiful thing is that it’s totally effortless on the part of the user.

\n

On the surface you won’t see too many flashy UI improvements, but under the hood you’ll find a better engine. When you search WordPress you’ll see better and more relevant results. Developers will be happy to find improved support for multisite, advanced date queries and a ton of new functions to play with. You can review every last detail on the dedicated 3.7 release page.

\n

wp-admin/about.php

wp-admin/about.php

WordPress 3.7 has a beautiful about.php page that you can only see if you upgrade. Hint, hint. It includes a live demo of the new password strength meter that will help you to create stronger passwords.

\n

This release also includes better global support for translations, meaning that it will automatically install language files and silently keep them up to date. There’s a trend here: WordPress is doing a lot more for you in the background so that you can focus on creating content. This sets the bar pretty high for what users can expect from their publishing software in the future.

\n

Now that WordPress can update itself, I am once again reminded that this software is a living, breathing thing. Andrew Nacin, Dion Hulse and Jon Cave had the help of 211 contributors in shipping 3.7. Hats off to these folks – they’ve worked hard and done well.

\n

Time to celebrate with a few tunes from Count Basie and his jazz orchestra to kick off your upgrades. By the way, if you’re configuring automatic updates for everything, this is the last time you’ll ever have to update WordPress manually.

\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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Oct 2013 05:09: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:35:"Dev Blog: WordPress 3.7 “Basieâ€";s: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=2736";s: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://wordpress.org/news/2013/10/basie/";s: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:17220:"

Version 3.7 of WordPress, named “Basie” in honor of Count Basie, is available for download or update in your WordPress dashboard. This release features some of the most important architectural updates we’ve made to date. Here are the big ones:

\n\n

For developers there are lots of options around how to control the new updates feature, including allowing it to handle major upgrades as well as minor ones, more sophisticated date query support, and multisite improvements. As always, if you’re hungry for more dive into the Codex or browse the over 400 closed tickets on Trac.

\n

A New Wave

\n

This release was led by Andrew Nacin, backed up by Dion Hulse and Jon Cave. This is our first release using the new plugin-first development process, with a much shorter timeframe than in the past. (3.6 was released in August.) The 3.8 release, due in December, will continue this plugin-led development cycle that gives much more autonomy to plugin leads and allows us to decouple feature development from a release. You can follow this grand experiment, and what we’re learning from it, on the make/core blog. There are 211 contributors with props in this release:

\n

Aaron Brazell, Aaron D. Campbell, Aaron Holbrook, Aaron Jorbin, adamsilverstein, Alexander Hoereth, Alex Mills (Viper007Bond), Amy Hendrix (sabreuse), andg, Andrew Nacin, Andrew Norcross, Andrew Ozz, Andrew Spittle, askapache, atimmer, Barry, Beau Lebens, ben.moody, Ben Miller, Bernhard Riedl, BFTrick, Billy (bananastalktome), bmb, Brandon Kraft, brianhogg, Brian Richards, Bryan Petty, Carl Danley, CharlesClarkson, Chip Bennett, Chouby, Chris Olbekson, Chris Rudzki, coderaaron, Coen Jacobs, Colin Robinson, cyonite, Daan Kortenbach, Daniel Bachhuber, Daniel Convissor, dartiss, Daryl Koopersmith, Dave Ross, David Laietta, Dion Hulse, dllh, Dominik Schilling (ocean90), dpash, Drew Jaynes, DrProtocols, Dustin Filippini, dzver, Edward Caissie, enej, Eric Andrew Lewis, Eric Mann, Evan Solomon, faishal, Faison, Foofy, Frankie Jarrett, Frank Klein, Gary Cao, Gary Pendergast, Gaya Kessler, George Stephanis, Gizburdt, goldenapples, gradyetc, Gregory Cornelius, Gustavo Bordoni, hakre, Helen Hou-Sandi, Ian Dunn, Ipstenu (Mika Epstein), itinerant, J.D. Grimes, jakub.tyrcha, James Collins, Jen Mylo, Jeremy Buller, Jeremy Felt, Jesper Johansen (jayjdk), Joe Hoyle, Joey Kudish, John Beales, John Blackbourn (johnbillion), John Fish, John James Jacoby, John P. Bloch, Jonas Bolinder (jond3r), Jonathan Christopher, Jonathan Desrosiers, Jon Cave, Jon Lynch, Joost de Valk, Joseph Scott, Josh Betz, Justin de Vesine, Justin Sainton, K.Adam White, Kailey (trepmal), Ketwaroo, kevinB, Kim Parsell, kitchin, Konstantin Kovshenin, Konstantin Obenland, koopersmith, Kurt Payne, Lance Willett, Lee Willis (leewillis77), lessbloat, Lew Ayotte, Luke Gedeon, Marcin Pietrzak, Marco Cimmino, Marco Galasso, Mark Jaquith, Mark McWilliams, Marko Heijnen, Mel Choyce, Michael Beckwith, Mike Hansen, Mike Schinkel, Mike Schroder, Milan Dinic, mitcho (Michael Yoshitaka Erlewine), Mr Papa, Naoko Takano, Naomi, Nashwan Doaqan, NateJacobs, nathanrice, Niall Kennedy, Nick Daugherty, Nick Halsey, Nick Momrik, Nikhil Vimal (NikV), Nikolay Bachiyski, noahsilverstein, nofearinc, nukaga, nullvariable, Oleg Butuzov, Paolo Belcastro, Parham, Paul Biron, Paul de Wouters, pavelevap, peterjaap, Peter Westwood, Philip Arthur Moore, Pippin Williamson, plocha, Pollett, Ptah Dunbar, Rami Yushuvaev, Rasheed Bydousi, RayBernard, rboren, Reuben Gunday, rfair404, Richard Tape, Rick Radko, Robert Chapin, Robert Dall, Rodrigo Primo, Ron Rennick, rpattillo, Ryan Boren, Ryan McCue, Sam Hotchkiss, Scott Reilly, scottsweb, Scott Taylor, scribu, scruffian, Seisuke Kuraishi (tenpura), Sergey Biryukov, ShinichiN, Simon Prosser, Simon Wheatley, Siobhan, Siobhan Bamber (siobhyb), sirzooro, solarissmoke, Stephanie Leary, Stephen Edgar (@netweb), Stephen Harris, strangerstudios, sweetie089, swissspidy, Takayuki Miyauchi, Takuma Morikawa, Taylor Lovett, tivnet, TobiasBg, Tom Auger, toscho, Travis Smith, Ulrich Sossou, vericgar, Vinod Dalvi, Weston Ruter, wikicms, Will Norris, Wojtek Szkutnik, wycks, Yoav Farhi, and Yuri Victor.

\n

Enjoy what may be one of your last few manual updates. See you soon for version 3.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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 24 Oct 2013 22:35: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: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: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:83:"WPTavern: Disrupting The WordPress Commercial Theme Market – A 3themes Experiment";s: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:32:"http://www.wptavern.com/?p=10398";s: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:121:"http://feedproxy.google.com/~r/WordpressTavern/~3/w5xTWijIX1o/disrupting-the-commercial-theme-market-a-3themes-experiment";s: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:3501:"

3 themes splash pageThe questions are simple but the answers are not. Can a theme that is built for developers using best practices be successful in the commercial space? Can a commercial theme add value without adding functionality and bloat? Those are the questions that a trio of WordPress developers are going to try to answer with their 3them.es experiment.

\n

Michelle Schulp of Marktimemedia has published her experience at Pressnomics 2013 and the reasoning behind the new experiment. While at the event, she attended the Commercialization in the WordPress ecosystem panel session featuring business owners Pippin Williamson, Carl Hancock, Cory Miller, and Helen Souness. In that discussion, the following question was asked. How do you build a commercial digital product, especially one built using the GPL, that adds value in a way that is distinguishable from its competitors? According to Michelle, the panel was quick to dismiss commercial themes as being easily commoditized.

\n

After talking with a number of people at the conference, Michelle decided to partner with Kiko Doran, and Josh Broton to start the 3themes experiment.

\n

3themes is a unique collaboration because we will also be documenting it every step of the way: recording our weekly meetings on Google Hangout in the form of a podcast, blogging about our process on the website, hosting code on GitHub, voicing our thoughts on Twitter, etc. We want this not only to be a case study in the commercial theme marketplace, but in working as a small distributed team and problem solving just as we would for a client. The hope is to create some dialogue in the WordPress community, as well as just have some fun and see what great things we can build together.

\n

If you’re interested to see where this goes, check out the live Google hangout at 8:30 PM CST on Tuesday nights as they begin the process of experimentation by first building their website and brand.

\n

This is going to be an excellent experiment and I bet many are curious as to what the end result will be. If you remember, Justin Tadlock performed a similar experiment via ThemeForest with mildly successful results.

\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, 24 Oct 2013 21:21: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: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: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:105:"WordPress.tv: Brian Krogsgard and Pippin Williamson: WordPress Plugins, Code And The Ecosystem In General";s: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:28:"http://wordpress.tv/?p=24111";s: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:121:"http://wordpress.tv/2013/10/24/brian-krogsgard-and-pippin-williamson-wordpress-plugins-code-and-the-ecosystem-in-general/";s: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:759:"
\n
\n
Brian Krogsgard and Pippin Williamson: WordPress Plugins, Code And The Ecosystem In General
";s: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, 24 Oct 2013 20:37: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:"WordPress.tv";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:78:"WPTavern: Add Your Meetup Group to the Central WordPress Account on Meetup.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:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:32:"http://www.wptavern.com/?p=10313";s: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:130:"http://feedproxy.google.com/~r/WordpressTavern/~3/o_k5yMGxjF4/add-your-meetup-group-to-the-central-wordpress-account-on-meetup-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:2127:"

meetupsIf you run a local WordPress meetup, you’re invited to move it under the central WordPress account on meetup.com. Jen Mylo created a form where meetup coordinators can submit their meetup to be included. The awesome benefit is that WordPress will cover the meetup.com dues for your listing.

\n

Jen posted a number of simple guidelines that were created by active meetup group volunteers. Your group will have to fulfill these before submitting to the central account. I won’t list them all here, but this is a summary: Essentially, you can’t use your local meetup to pimp out your business or yourself. Leave Mr. Salesman at home and join a meetup to connect with other WordPress fans. Meetups are for the benefit of the community and polite and respectful behavior is expected. If you organize a meetup that qualifies, use the form to get in touch with Jen Mylo.

\n

A some point in the future, meetup group listings will most likely switch over to using SupportPress, as they do for WordCamps. For now, they’ll be consolidating all the meetups on meetup.com. Please note that the meetup interest form is not just for new meetup groups but is also available for existing WordPress meetups that want to transfer the group over to the central account.

\n

It’s very cool that WordPress is supporting local meetups by covering their meetup.com dues. Help spread the word to get this information out there to local meetup organizers that you know.

\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, 24 Oct 2013 19:33: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:69:"WPTavern: Jarvis: A Free Quicksearch Tool for the WordPress Dashboard";s: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:32:"http://www.wptavern.com/?p=10359";s: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://feedproxy.google.com/~r/WordpressTavern/~3/ntFV7bakzqY/jarvis-a-free-quicksearch-tool-for-the-wordpress-dashboard";s: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:3233:"

If you’ve ever used a WordPress site with thousands of posts and/or hundreds of pages, you might have found it a challenge to quickly navigate to the content you’re looking for. Jarvis is a new dashboard quicksearch plugin that addresses this very problem.

\n

jarvis

\n

Created by the folks at The Web Development Group, the Jarvis plugin lets you easily search anything that you’re looking for inside the WordPress admin area, including plugins, themes, content, settings pages and everything else.

\n

Jarvis is available on WordPress.org but it also has its own homepage where you can find a demo that shows how it works:

\n

jarvis-preview

\n

While different areas of the WordPress dashboard do include a search option, i.e. installed plugins or post content, there is no centralized search form to search everything. Ever install a plugin and then can’t, for the life of you, find its settings page? The Jarvis search helps you to instantly locate it. I can see how this could be very useful for a new user. For example, one might not know that the import feature is located under Tools. Using Jarvis he can quickly search and navigate to the import screen.

\n

There’s another similar tool out there called WP Butler, which also launches from the admin bar. I don’t know if Jarvis grabbed some inspiration from its code or not but the tools seem somewhat similar in that they both make it easier to get to pages in the WordPress admin.

\n

Beyond just helping you find things, the Jarvis plugin allows you to quickly zoom through the WordPress dashboard. For many, typing in a search box is second nature and much quicker than mousing around to the correct menu. Jarvis search appears to be lightning fast. This is one plugin that seems to be universally beneficial to both new and experienced WordPress users.

\n

The folks at The Web Development Group created Jarvis to fill a need they saw in the WordPress admin area. This tool is the first of many that they plan to release. You can download it for free at the WP Jarvis homepage or via the Add New plugins page within the WordPress admin.

\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, 24 Oct 2013 17:35: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:77:"WordPress.tv: Daniel Espinoza: Creating and Selling Premium WordPress 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:28:"http://wordpress.tv/?p=23010";s: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://wordpress.tv/2013/10/24/daniel-espinoza-creating-and-selling-premium-wordpress-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:11:"description";a:1:{i:0;a:5:{s:4:"data";s:710:"
\n
\n
Daniel Espinoza: Creating and Selling Premium WordPress 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:"Thu, 24 Oct 2013 14:33: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:12:"WordPress.tv";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:68:"WPTavern: Pulse: An Example WordPress Plugin Using the Heartbeat API";s: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:32:"http://www.wptavern.com/?p=10304";s: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:119:"http://feedproxy.google.com/~r/WordpressTavern/~3/HuYeePJabQ4/pulse-an-example-wordpress-plugin-using-the-heartbeat-api";s: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:3401:"

I’ve long been a fan of WordPress developer Jeffrey Pearce, better known online as Jeffikus. He’s created several educational resources for WordPress over the past few years. Today he released Pulse on github. Pulse is an open source plugin that will help developers get started with Heartbeat API development.

\n

photo credit: Lars P. via photopin cc

photo credit: Lars P. via photopin cc

\n

What is the WordPress Heartbeat API?

\n

The Heartbeat API was a new feature as of WordPress 3.6. It currently powers the autosave, post locking and log-in expiration warning that users receive while writing posts. This API works in the background to manage communication between a user’s browser and the server, enabling the creation of WordPress-powered asynchronous apps.

\n

Jeffikus’ Pulse plugin example demonstrates how to do two simple things:

\n\n

This plugin doesn’t actually perform any specific function, except to show you how you can interact with the WordPress Heartbeat API. It’s a learning tool to help developers get started building their own plugins.

\n

At the bottom of the Pulse plugin readme file on github Jeffikus includes a list of all the tutorials on the Heartbeat API that helped him to learn about it in the first place. If it wasn’t for other developers writing about what they are learning, he probably wouldn’t have had the inspiration to create this handy starter plugin. Hopefully, developers can use it to build something cool and help contribute back to the Heartbeat API documentation.

\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, 23 Oct 2013 22:04:46 +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:"Sarah Gooding";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:73:"WPTavern: Your Members Plugin Closes Its Doors, Releases Assets Under GPL";s: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:32:"http://www.wptavern.com/?p=10307";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/YCmv-tDNTiU/your-members-plugin-closes-its-doors-releases-assets-under-gpl";s: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:3069:"

Your Members LogoThe membership plugin Your Members has announced that they are ceasing operations. Your Members, which has been around since 2008, was one of the early successful commercial plugins in the membership space. The tale of the plugin’s demise is an interesting one because it has more to do with development than anything else.

\n

We started work on YM13 early this year and it became clear the new version wasn’t going to work with our current codebase. Indeed it reached the stage where even little changes are causing massive issues. So in August it was decided that we needed to make YM13 the last release on the current codebase and start on YMv2. I was rereading the blog posts that are sitting in drafts explaining where we were going and why, we never published them.

\n

It became clear it was just not financially feasible to build YMv2 we estimated it was 6 to 9 months work to do what we wanted to do properly and to do it we need to do it properly. We also believe we can’t continue to support and update the existing codebase.

\n

While the developers of Your Members received offers to be purchased, they declined them as they didn’t feel the buyer would provide the community with genuine support and were after their email list instead. Thus, it was decided that Your Members be withdrawn from the market and would no longer be for sale.

\n

One of the unique aspects of Your Members is that it contained a sunset clause. Now that the plugin has been withdrawn from the market, that clause has been invoked meaning everything in the Your Members download, including assets are available under the GPL license. Prior to closing, Your Members operated under a split license with the PHP licensed under the GPL and all other files under a different license. The plugin as well as the documentation will now live on Github.

\n

Is This The Way To Close a Business?

\n

It’s disappointing to see any business fold but I have to hand it to the folks behind Your Members. They are making everything open source and laying the ground work for anyone else who wants to try to pick up where they left off. How do you feel about the way they closed up shop?

\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, 23 Oct 2013 21:00: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: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: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:80:"WPTavern: WordPress Host WP Engine Will Not Support Automatic Background Updates";s: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:32:"http://www.wptavern.com/?p=10293";s: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:132:"http://feedproxy.google.com/~r/WordpressTavern/~3/1vIBBXFTK7M/wordpress-host-wp-engine-will-not-support-automatic-background-updates";s: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:5152:"

wpengineManaged updates have always been one of the main selling points for WP Engine’s WordPress hosting packages. Customers have the luxury of never having to update their own sites because WP Engine keeps them on the cutting edge:

\n

We keep your site secure without you having to think about it. Whenever WordPress issues a security update, we test it, and then proactively apply it to your site.

\n

However, the company announced today that it will not be offering support for WordPress’ new ability to update itself.

\n

WP Engine will not be supporting the background updates for WordPress. We will continue managing the updates for your installs, testing each release on our infrastructure, and fully managing the releases of the minor updates. For example, when there is a security update to WordPress, as soon as the patch is released, we’ll update all customer sites to ensure we continue to keep your sites safe and sound.

\n

\n

I asked WP Engine to clarify this statement. Does this mean that customers cannot enable automatic updates via the WP_AUTO_UPDATE_CORE define in wp-config.php? It seems that is the case. Their official policy is that automatic background updates will be disabled and customers will not be able to turn them on:

\n

The function will be disabled because when we update we also automatically create site backups for you.

\n

WP Engine will still continue to update customer sites as they always have. There’s no change here, but it is always interesting to note when a company restricts access to something that will soon be native to WordPress.

\n

Playing it Safe

\n

One huge advantage of enabling automatic background updates for WordPress is that a site can get those security improvements the very same day they are released with no waiting time. The same applies with major releases, plugins and themes, if one wants to live adventurously. However, if you host with WP Engine, you’ll have to settle with living on the safe side.

\n

WP Engine customers will either need to manually update their sites through the dashboard or wait for WP Engine to initiate those updates. The company tries to ship security updates out as soon as possible and these updates are usually applied within the same day. The reason for this is to keep customers from accidentally breaking their own sites without backing them up. WP Engine customers will be upgraded within a week or two of the 3.7 release, as per their announcement today. For many customers, this is exactly why they have chosen WP Engine. Not having to worry about testing major updates is a huge relief for WordPress site admins.

\n

The Future of Managed WordPress Hosting: A Growing List of Restrictions

\n

I am surprised that this popular WordPress hosting company is preventing its customers from taking advantage of one of the most exciting new features of WordPress 3.7. Although customers always have the freedom to manually update their sites early, they will not be permitted to allow WordPress to update itself. This makes sense as a company policy, but as a developer I can’t help but see it as a limitation.

\n

Why not allow developers to override the WP Engine restrictions via WP_AUTO_UPDATE_CORE in wp-config.php? Your average user isn’t likely to venture into this file to make any modifications, so it would be safe to assume that anyone who applied those settings knew what they were doing. The WP Engine infrastructure, however, does not allow for this.

\n

WP Engine does a lot of things right when it comes to speed and prioritizing the customer’s ability to have a development environment. The company is a proven and reliable WordPress host that I would recommend to anyone. For many customers, trading freedom for security is well worth it in order to have their sites fully “managed.”

\n

But what about the others who may want the freedom to let WordPress update itself? The company has very good reasons for limiting developers from doing this. But will the number of restrictions continue to grow? Managed WordPress hosts are a relatively new development in the marketplace of WordPress services. It will be interesting to see how their policies develop in relationship to WordPress core enhancements, which more often than not err on the side of giving more freedom to the user.

\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, 23 Oct 2013 19:13: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:13:"Sarah Gooding";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:63:"WPTavern: How To Navigate The WordPress Ecosystem As a New User";s: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:32:"http://www.wptavern.com/?p=10237";s: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:115:"http://feedproxy.google.com/~r/WordpressTavern/~3/gJiQc_Kl5ZA/how-to-navigate-the-wordpress-ecosystem-as-a-new-user";s: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:6305:"

The WordPress ecosystem is made up of thousands of websites, code repositories, blogs, forums, etc. To a new WordPress user, it can be intimidating or downright frustrating figuring out where to go. My goal with this post is to provide a map for those who are brand new to the world of WordPress to be able to navigate with confidence. I’ve personally experienced being in a city I’ve never been to before and not knowing which direction to travel to reach my destination. It’s a frustrating experience. This guide ought to alleviate those frustrations for WordPress first timers.

\n

Themes

\n

So the default theme isn’t your cup of tea. Before going to Google and searching for “free WordPress themes” head over to the WordPress Theme Repository. It’s the safest place to obtain a new design for your site. Themes that are added to the repository are scanned and go through a thorough checklist before they are accepted. All of the themes hosted on the repository are free of charge. If you want to know the reasons why using Google to find free WordPress themes is bad, watch this video by Leland of Themelab.com.

\n
\n

Plugins

\n

Much like the theme repository, WordPress has its own plugin repository filled to the brim with plugins to add functionality to your WordPress powered website. The WordPress plugin repository is the safest place to get code to add features to your website. Plugins are scanned and reviewed by volunteers before they are accepted into the repository. However, this does not guarantee that the code will function properly or is 100% secure for your website.

\n

Support

\n

The WordPress.org support forums enable the community to help each other. Creating an account is free of charge as is the support. The forums are staffed by volunteer moderators that do their best to help as many people as possibly every day. With so many people seeking help, you should exercise patience when using the forums.

\n

Documentation

\n

If you feel a little adventurous and want to try helping yourself first, you can visit the Codex. This Codex is like a repository for all of the detailed information for how WordPress works, inside and out. The main page of the Codex provides a number of great links to those starting out with WordPress.

\n

Learning WordPress Through Video

\n

While there is no official classroom to learn WordPress material, WordPress.org has the next best thing in WordPress.tv. WordPress.tv is the official website dedicated to WordPress that contains recorded sessions from WordCamps held all over the world. In fact, there is an entire how to section on the website dedicated to tutorial type videos.

\n
\n

Creative Inspiration

\n

If you’re not sure what WordPress is capable of or have run into a creative block, you should browse through the WordPress showcase. The showcase is a collection of websites that have taken WordPress to the next level. There are a lot of great looking designs as well to help provide inspiration.

\n

bbc on the WordPress showcase

\n

WordPress Face to Face

\n

While not officially a part of the WordPress.org project, Meetup.com is used by WordPress users all across the world to put together local meetups that bring like-minded people together. I’ve attended multiple WordPress meetups in my area and I’ve helped a lot of new WordPress users find their way. It’s one of the best forms of learning and getting WordPress help that I can imagine.

\n

Keeping Tabs On WordPress Development

\n

While there are not many posts on the official WordPress blog, it is where official news of releases are published.

\n

Installing WordPress On Your Phone

\n

There is an official WordPress app for most of the smart phone devices currently out on the market such as iOS devices, BlackBerry, and Android. If you’d like to install WordPress on your phone, be sure to check out the mobile section of the WordPress.org website to see if there is one available for your device.

\n

Wrap Up

\n

Now you might be wondering, why didn’t I include this site or that site when putting this guide together. The purpose of the guide is to provide a map that contains the essential information new users need to know. Using this knowledge as your foundation, you should find yourself more comfortable in the WordPress ecosystem. After getting to grips with WordPress, new users will expand beyond these pillars and discover the other resources that are on the web dedicated to WordPress. It doesn’t make sense to point new users into different directions when the above information is all they really need to get started.

\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, 23 Oct 2013 16:59: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: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: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:100:"WordPress.tv: Greg Douglas: Designing Awesome WordPress Websites For Small To Medium Size Businesses";s: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:28:"http://wordpress.tv/?p=23212";s: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/2013/10/23/greg-douglas-designing-awesome-wordpress-websites-for-small-to-medium-size-businesses/";s: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:750:"
\n
\n
Greg Douglas: Designing Awesome WordPress Websites For Small To Medium Size Businesses
";s: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, 23 Oct 2013 13:37: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:12:"WordPress.tv";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:65:"WordPress.tv: Ben Lobaugh: Taking Flight With JetPack 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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=24051";s: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/2013/10/23/ben-lobaugh-taking-flight-with-jetpack-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:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:686:"
\n
\n
Ben Lobaugh: Taking Flight With JetPack 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:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Oct 2013 13:24:07 +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:"WordPress.tv";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:51:"WPTavern: Monitor WordCamps Online with WP Armchair";s: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:32:"http://www.wptavern.com/?p=10260";s: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:103:"http://feedproxy.google.com/~r/WordpressTavern/~3/fDHtRUBVmHs/monitor-wordcamps-online-with-wp-armchair";s: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:7386:"

WordCamp San Francisco on WP ArmchairDavid Bisset may have been the first person to coin the term “Armchair WordCampersâ€, referring to those who live vicariously through WordCamp attendees via Twitter. The concept sparked an idea for him and he decided to create WP Armchair for this very audience.

\n

His first version was actually created for the WordPress 10th Anniversary, a site he collaborated on with the WordPress Foundation.

\n

Bisset is a WordPress and BuddyPress developer. He also helps to organize WordCamp Miami. The inspiration for creating WP Armchair came from his experiences as an organizer and an attendee at WordCamps.

\n

I monitor WordCamps and conferences via Twitter hashtags and simply thought there was a better way. I notice that a lot of people are interested in monitoring conference activity as well. Even those that attend conferences – I see many of them with their laptops open to Tweetdeck or some Twitter client. I figured there should be a better way, especially since social networks like Instagram are becoming more popular.

\n

On top of that, as a WordPress developer, I wanted the solution running on WordPress. And instead of passively showing pictures and tweets, the site would naturally store these as custom post types. So it serves as an archive of the conference.

\n

In a way, the WP Armchair websites are chronicling the history of these WordPress events as seen through their respective hashtags on Twitter, Instagram, Vine and Flickr. Right now, each event is a separate site but Bisset said that he’s likely to combine them all into a multisite installation somewhere in the near future.

\n

WP Armchair Monitoring WordCamp Europe

WP Armchair Monitoring WordCamp Europe

When WP Armchair monitored WordCamp San Francisco the site was able to aggregate 1,600 tweets and 1,020 photos. For WordCamp Europe, the site captured even more – in the end it was 4,223 tweets and 1,500 photos. WordPress fans monitoring from afar were able to get a taste of how awesome these events were and perhaps even resolve to attend next year.

\n

What Plugins Make WP Armchair Work?

\n

If you visit any of the WP Armchair sites you’ll see support for videos, pictures, embedded tweets, post favoriting and more. There’s a lot going on behind the scenes to bring all of this event information into the site.

\n

I asked Bisset to tell me about some of the important plugins he uses to make WP Armchair work and he gave us a look behind the scenes.

\n

I wrote three plugins that scanned Twitter, Instagram, and Flickr for tweets, photos, and videos based on a hashtag and saved them as custom post types. These make up the bulk of the site, but I also used the following plugins:

\n

Bulk Delete – comes in handy when you want to get rid of alot of tweets or instragram posts that aren’t related to the conference (maybe you used a bad keyword or hashtag). Since tweets can come in 30 or 40 at a time, this plugin does save a little bit of time.

\n

Love It Pro – was great to drop in and give site visitors the ability to mark posts as favorites. It was a fun experiment during WordCamp San Francisco.

\n

Gravity Forms – on some installs, it allows us to quickly get forms (surprise!) in place for user registration, so some people could upload their own photos to the site via the WordPress Mobile app or a custom form.

\n

Search Everything – allowed the cool ability to search for tweets, instagram photos, etc that were created by a specific user or via keyword. As an example, you could search for your own name and see if anyone mentioned you on whatever social networks the WPArmchair site was scanning. Unfortunately, it looks like Search Everything isn’t being supported as of now, so I recommend switching over to SearchWP.com.

\n

WP Armchair Theme and Plugins are GPL and Available on github

\n

Bisset has made both the WP Armchair Theme and plugins available on his github account. He invites contribution to the project. “There are no doubt better and different ways to do what the site does, and I welcome anyone who wants to improve it,” he said.

\n

The WordPress Foundation has also made some of the WP Armchair functionality available to its officially hosted WordCamp site using a new plugin called Tagregator, which is also open to contribution.

\n

Bisset believes that WP Armchair is a valuable resource for both those at home and those who are attending WordCamp events. It has even been used by The Front-End Design Conference, a non-WordPress event, to aggregate the references to the event on social media. Ultimately, WP Armchair is about bringing people and ideas together.

\n

Even if you did go to the conference, you would be able to see everyone’s photos there instead of a gallery of a smaller group of photos the site admin posted a few days later. You also get to see who authored interesting tweets and potentially find new people to follow this way… people that are in theory just as motivated by WordPress as you are.

\n

Monitoring posts from WordCamps online is by no means a replacement for actually attending the event. Realistically, you won’t be able to attend every WordCamp in the world, but WP Armchair gives you a better way to monitor online from wherever you may be. Many thanks to David Bisset for taking us behind the scenes and for creating a way for WordPress fans around the world to join in on events together.

\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, 23 Oct 2013 13:01: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:13:"Sarah Gooding";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:27:"Donncha: WP Super Cache 1.4";s: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:29:"http://ocaoimh.ie/?p=89498597";s: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://ocaoimh.ie/2013/10/23/wp-super-cache-1-4/";s: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:1932:"

WP Super Cache version 1.4 is out now. This release finally removes the mfunc, mclude and dynamic-cached-content tags as I warned about three months ago.

\n

If your site uses that dynamic cached content functionality do not upgrade yet. There is a replacement dynamic cached content system but it’s not compatible so you’ll need to update your themes and helper plugins. It’s not difficult but there’s a lot to take in. I hope the example plugin and explanation in that post gets you most of the way there.

\n

If you don’t use mfunc and it’s friends then you should upgrade immediately and it should be painless.

\n

This release also has a few bug fixes and other features. It will now try to repair broken installs after a site migrates. It will update the wp-config.php and rebuild wp-content/advanced-cache.php. It will also delete tags and category cache files when a post publish status changes.

\n\n

Related Posts

WP Super Cache 1.4 originally appeared on Holy Shmoly!.

";s: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, 23 Oct 2013 11:14: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:7:"Donncha";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:43:"Dev Blog: WordPress 3.7 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=2729";s: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/2013/10/wordpress-3-7-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:1182:"

The second release candidate of WordPress 3.7 is now available for testing!

\n

Those of you already testing WordPress 3.7 will be updated automatically to RC2. (Nice.) If you’d like to start testing, there’s no time like the present! Try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightliesâ€) or download the release candidate here (zip). Please post to the Alpha/Beta area in the support forums if you think you’ve found a bug, and if any known issues are raised, you’ll be able to find them here.

\n

Developers, please test your plugins and themes against WordPress 3.7. If there is a compatibility issue, let us know as soon as possible so we can deal with it before the final release.

\n

For more on WordPress 3.7, check out the announcement post for Release Candidate 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:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 23 Oct 2013 00:05:30 +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: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:56:"WPTavern: WordPress 3.7 Introduces Advanced Date Queries";s: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:32:"http://www.wptavern.com/?p=10239";s: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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/SBf0LiyU_A4/wordpress-3-7-introduces-advanced-date-queries";s: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:3933:"

WordPress 3.7 should be arriving any day now. Everyone is excited about WordPress’ new ability to update itself for security and minor releases (and even themes and plugins, if you’re adventurous). The new password strength meter is highlighted on the About page for the release with a live demo that users can play with after they upgrade. But there’s one cool new feature that hasn’t received as much fanfare: advanced date queries.

\n

photo credit: Andrew Morrell Photography via photopin cc

photo credit: Andrew Morrell Photography via photopin cc

\n

You might be wondering what’s so exciting about advanced date queries. Alex Mills, better known online as “Viper007Bond” was the originator of the patch to improve date arguments for WP_Query, a class for querying the database for specific content. Up until now, WordPress had no easy way to get a set of posts that fall within a specific date range.

\n

A few months ago, Alex introduced a patch that adds the ability to get complex date-based queries when fetching both posts and comments from the WordPress database. Code examples can be found on his post where he roughly outlines a few ways one might implement date-based queries.

\n

There are virtually unlimited combinations. Here are a few examples of what is possible with the new advanced date queries:

\n\n

You can check out all the date parameters in the codex and browse a few of the examples. Imagine all the fun that could be had here! The advanced date queries should enable developers to do some interesting things with displaying timelines, custom archives, selectively random post widgets and anything else imaginable with date ranges.

\n

Advanced date queries replaces bulkier methods used in the past, such as adding a filter to posts_where. How did we ever live without it? Check out the canonical discussion on Trac to explore the evolution of this feature and put it to good use in WordPress 3.7.

\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, 22 Oct 2013 23:28: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:"Sarah Gooding";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:57:"WordPress.tv: Topher DeRosia: Intro To Plugin 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:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:28:"http://wordpress.tv/?p=23066";s: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:74:"http://wordpress.tv/2013/10/22/topher-derosia-intro-to-plugin-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:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:670:"
\n
\n
Topher DeRosia: Intro To Plugin 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:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 22 Oct 2013 21:43: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:12:"WordPress.tv";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:58:"WordPress.tv: Tharon Rodriguez: Getting Familiar With PODS";s: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:28:"http://wordpress.tv/?p=23060";s: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.tv/2013/10/22/tharon-rodriguez-getting-familiar-with-pods/";s: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:666:"
\n
\n
Tharon Rodriguez: Getting Familiar With PODS
";s: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, 22 Oct 2013 21:20: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:12:"WordPress.tv";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:72:"WPTavern: ForumEngine Turns WordPress Into a Forum Via Custom Post Types";s: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:32:"http://www.wptavern.com/?p=10158";s: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:124:"http://feedproxy.google.com/~r/WordpressTavern/~3/5-EF68Mw45g/forumengine-turns-wordpress-into-a-forum-via-custom-post-types";s: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:4745:"

EngineThemes Logo EngineThemes.com recently released version 1.0 of their latest project, ForumEngine. ForumEngine is a theme that uses Custom Post Types to turn WordPress into a forum. I caught wind of this new theme via a review published on WPLift by Joe Fylan. It’s nice to finally see theme companies thinking outside the box for once instead of whipping up the next boring portfolio theme. I have not had the opportunity to try out the theme but based on Joe’s review, there is one thing in particular that may be a showstopper for a lot of people.

\n

Writing A Post In ForumEngine

\n

Unfortunately, in order to use this theme, you’ll either need a brand new WordPress install, separate WordPress install, or be willing to see your existing content disappear.

\n

With ForumEngine installed on your site, the site now functions as a forum, which the threads accessed directly from the homepage. Any existing posts that might’ve been on the site or those you create afterward activating the theme will now no longer be accessible, essentially removing the main functionality of WordPress: creating posts so bare that in mind if you wish to use this alongside a regular blog – you would need a separate installation. – Joe Fylan

\n

I remember when the discussion around bbPress 2.0 was taking place. It was suggested that using a plugin that utilizes custom post types be used. At the time, bbPress was transitioning from being stand alone software into a WordPress plugin. Now we have a theme that is using custom post types and if I remember correctly, community members like Justin Tadlock frown on this practice. I reached out to John James Jacoby to get his thoughts on this theme as well as how its implementation compares with bbPress.

\n

bbPress 2.x does use custom post types, and actually uses three of them. Forums is only a post type because of a lack of taxonomy term meta, otherwise it would be a custom taxonomy. CPT’s are fine, though it’s too bad it completely overrides the blog. Seems pretty pointless to make users decide to have either a blog or a forum, and not both.

\n

bbPress takes other things into consideration, like forum profiles VS blog author archives, separate roles for the forums VS the blog, and goes the extra mile so forums only intersect with the blog when you want it to. If a theme was really going to do this “correctly†it should probably use a CPT for topics, and comments (with a custom comment form template) for replies; that way the behavior is familiar.

\n

Forums are such an integral part of online communities, if I were looking for forums inside of WordPress, baking it into a commercial theme that won’t work with my existing blog doesn’t sound very appealing.

\n

While I like the design and the thinking out of the box idea in this theme, not being able to use it with an existing blog is a huge blow towards it ever becoming a popular alternative to bbPress or other forum solutions. However, thanks to the advice provided by John James Jacoby above, there are ways of going about it that make sense. I hope to see other theme providers give it a shot. At the very least, it would be good to see theme providers list native bbPress support as one of their selling points.

\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, 22 Oct 2013 20:30: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: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: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:28:"Dev Blog: Upcoming WordCamps";s: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=2723";s: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/2013/10/upcoming-wordcamps-4/";s: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:3583:"

WordCamps are casual, locally-organized conferences that celebrate everything related to WordPress, and are a great opportunity to meet other WordPress users and professionals in your community. This has been a great year for WordCamps — there have been 56 so far in more than 20 countries, and there another 15 on the calendar before the year’s over. If there’s one near you, check it out! In addition to getting to know your local WordPress community, most WordCamps attract some traveling visitors a well, giving you the chance to meet contributors to the WordPress open source project and get involved yourself.

\n

Here are the WordCamps on the schedule for the rest of this year.

\n

October 25-27: WordCamp Boston, Boston, MA, USA
\nOctober 25-26: WordCamp Malaga, Spain
\nOctober 26: WordCamp Nepal, Kathmandu, Nepal
\nOctober 26: WordCamp Sofia, Bulgaria
\nNovember 7: WordCamp Cape Town, South Africa
\nNovember 9: WordCamp Porto, Portugal
\nNovember 9-10: WordCamp Kenya, Nairobi, Kenya
\nNovember 15: WordCamp Edmonton, AB, Canada
\nNovember 16-17: WordCamp Orlando, FL, USA
\nNovember 16: WordCamp Denver, CO, USA
\nNovember 23-24: WordCamp London, UK
\nNovember 23-24: WordCamp Raleigh, NC, USA
\nNovember 23: WordCamp São Paulo, Brazil
\nDecember 14: WordCamp Las Vegas, NV, USA
\nDecember 14-15: WordCamp Sevilla, Spain

\n

No WordCamps on this list in your area? Not to worry! There are thriving WordPress meetups all over the world where you can meet like-minded people, and we maintain a library of WordCamp videos at WordPress.tv.

\n

Get Involved

\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, 22 Oct 2013 19:25: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:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:8:"Jen Mylo";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:67:"WPTavern: BuddyPress Theme Development Book Now Available on Amazon";s: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:32:"http://www.wptavern.com/?p=10213";s: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:109:"http://feedproxy.google.com/~r/WordpressTavern/~3/I9fzJHc5q1c/buddypress-theming-book-now-available-on-amazon";s: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:3233:"

bpthemedevIf you want to grow in your BuddyPress skills, there’s a new book on the market that you’ll want to get your hands on. BuddyPress Theme Development has just hit Amazon. The digital version is out now and you’ll be able to get a printed copy on October 24th, 2013. Packt will also have a version of the book that includes access to code for those who want to “follow along at home” with the code examples.

\n

Written by expert BuddyPress theme developer and contributor, Tammie Lister, this book will help you learn how to create BuddyPress themes from start to finish. BuddyPress Theme Development provides a comprehensive guide to BuddyPress theming with practical, hands-on tutorials that will put you on the path to building your own themes.

\n

Tammie walks you through the basics, such as how to use CSS to make changes to themes. She also includes more advanced topics like creating custom templates for BuddyPress components. You’ll learn how to add functionality to enhance your community, including how to build your own widgets into your theme. Once your theme is finished, Tammie shows you how to run theme-checks to ensure that it’s ready for launch.

\n

I checked in with Tammie for a mini Twitter interview on the details of the book. She has been working on it since just after BuddyCamp Miami, which took place in early April of this year. Many theming books are outdated even before they hit the shelves, but Tammie has made sure that everything in her book is up to date with the upcoming BuddyPress 1.9 release. She is the developer heading up the work on the new template pack that will ship with BuddyPress 1.9.

\n

If you’re a BuddyPress developer looking for resources to keep your skills sharp, BuddyPress Theme Development is a good one to add to your collection. Packt Publishing couldn’t have found a better person to write this book. Get your copy today on Amazon or pre-order the printed edition from Packt Publishing to get the eBook and PacktLib access thrown in for free.

\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, 22 Oct 2013 18:46: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:13:"Sarah Gooding";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:56:"WPTavern: Seamless Integration for WordPress and Magento";s: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:32:"http://www.wptavern.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:108:"http://feedproxy.google.com/~r/WordpressTavern/~3/F6uyX3Wt0E8/seamless-integration-for-wordpress-and-magento";s: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:6448:"

Believe it or not, there are a lot of WordPress fans in the Magento community. While Magento provides supremely robust e-commerce capabilities with support for complex product variations and multiple shipping options, it’s entirely lacking in CMS features. As a result, many sites merge WordPress and Magento in order to take advantage of each platform’s unique strengths.

\n

However, it is unbelievably difficult to make WordPress and Magento work together in a seamless fashion without some sort of bridge. That’s where James Kemp‘s Magento WordPress Integration plugin comes in. It does all the fancy footwork necessary to make your Magento store look like part of your WordPress site.

\n

mwi

\n

The Magento WordPress Integration plugin (MWI), is a solution that Kemp has been developing for several years. It provides the easiest way to get blocks, sessions and products from your Magento store and is capable of doing the following:

\n\n

Think there’s no demand for this? Think again. Kemp’s plugin has been downloaded more than 10,000 times. To celebrate, Kemp has made the code available on BitBucket. He’s hoping that having the code available to the public will help to spark more contribution.

\n

James Kemp, creator of the Magento WordPress Integration plugin

James Kemp, creator of the Magento WordPress Integration plugin

I’ve been following James Kemp’s work for several years and finally had the chance to chat with him about how the plugin is doing.

\n

He continues to develop the plugin due to the demand, which comes from both “light” users and developers. “The demand for MWI is fairly consistent,” he said. “On a calm day the mwi-plugin site gets ~30 unique visits, and mid-week on a busier day it will get ~100. It’s a very niche plugin, so I don’t expect thousands! The core plugin is mainly useful for developers I’d say, but I also get “light” users who are interested in the add-ons, so they can display products within their blogs. The demand for it is fairly steady at the moment.”

\n

The Magento and WordPress communities are fairly disconnected, which is understandable. You don’t see too many developers wanting to specialize in both platforms. Yet many users want them to work together. When building sites with a bridge, Kemp relies on WordPress for the more content-heavy aspects of the site:

\n

Each system has solutions for the other, but none of them are quite as good as WordPress or Magento. I personally prefer to use WP for all aspects of content management; pages, news, callouts – using Magento for this is a bit of a nightmare. I use Magento for large stores, with complex product set-ups and discount systems, purely for the product catalogue and back-end ecommerce system.

\n

Although he is an expert Magento developer, he has also built many sites using WooCommerce and Jigoshop. I asked him when he might opt for Magento over a WordPress-based e-commerce solution and he replied:

\n

I tend to use Magento for larger sites, where there are thousands of products and likely to be a lot of activity. This is because of the back-end system of Magento; it offers so much more in terms of tax rules, discounts, product set-up, import/export, order history, invoicing, etc. it’s just a full, heavy-duty, ecommerce system. The WordPress solutions are great, but not for bigger ecommerce store owners who need more control.

\n

The Magento WordPress Integration plugin provides a much needed bridge between the two open source projects and enables them to work together seamlessly. It can also save you from having to do too much theming to Magento, which is quite a pain because all the files are located about 10 directories deep. MWI allows you to feature your categories and products on your WordPress pages, as well as any blocks created within Magento. If you want to synchronize your sites even further, Kemp has also developed a plugin providing Single Sign-On For Magento And WordPress.

\n

Kemp and his colleague Jay Pick have formed a new WordPress development company called Platførm, based out of their rural office in Lutterworth, England. He plans to continue supporting the MWI plugin for as long as it’s needed. You can find documentation at the Magento WordPress Integration homepage and can download the plugin from the WordPress repository. If you want to get involved contributing, check out MWI on BitBucket.

\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, 22 Oct 2013 14: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:13:"Sarah Gooding";s: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, 29 Oct 2013 23:45:04 GMT";s:12:"content-type";s:8:"text/xml";s:14:"content-length";s:6:"200446";s:10:"connection";s:5:"close";s:4:"vary";s:15:"Accept-Encoding";s:13:"last-modified";s:29:"Tue, 29 Oct 2013 23:30:16 GMT";s:4:"x-nc";s:11:"HIT lax 249";s:13:"accept-ranges";s:5:"bytes";}s:5:"build";s:14:"20131026075432";}', 'no'); +INSERT INTO `wp_2_options` VALUES (3305, '_transient_timeout_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1383133465', 'no'); +INSERT INTO `wp_2_options` VALUES (3306, '_transient_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1383090265', 'no'); +INSERT INTO `wp_2_options` VALUES (3307, '_transient_timeout_dash_aa95765b5cc111c56d5993d476b1c2f0', '1383133465', 'no'); +INSERT INTO `wp_2_options` VALUES (3308, '_transient_dash_aa95765b5cc111c56d5993d476b1c2f0', '
', 'no'); +INSERT INTO `wp_2_options` VALUES (3310, 'rewrite_rules', 'a:79:{s:13:"sitemap\\.xml$";s:33:"index.php?gxs_module=sitemapindex";s:18:"sitemapindex\\.xml$";s:33:"index.php?gxs_module=sitemapindex";s:10:"site\\.xml$";s:25:"index.php?gxs_module=site";s:10:"page\\.xml$";s:25:"index.php?gxs_module=page";s:10:"post\\.xml$";s:25:"index.php?gxs_module=post";s:12:"author\\.xml$";s:27:"index.php?gxs_module=author";s:31:"([a-z0-9]+)_([a-z0-9_-]+)\\.xml$";s:59:"index.php?gxs_module=$matches[1]&gxs_sub_module=$matches[2]";s:11:"openid/(.+)";s:28:"index.php?openid=$matches[1]";s:47:"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:42:"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:35:"category/(.+?)/page/?([0-9]{1,})/?$";s:53:"index.php?category_name=$matches[1]&paged=$matches[2]";s:17:"category/(.+?)/?$";s:35:"index.php?category_name=$matches[1]";s:44:"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?tag=$matches[1]&feed=$matches[2]";s:39:"tag/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?tag=$matches[1]&feed=$matches[2]";s:32:"tag/([^/]+)/page/?([0-9]{1,})/?$";s:43:"index.php?tag=$matches[1]&paged=$matches[2]";s:14:"tag/([^/]+)/?$";s:25:"index.php?tag=$matches[1]";s:45:"type/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?post_format=$matches[1]&feed=$matches[2]";s:40:"type/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?post_format=$matches[1]&feed=$matches[2]";s:33:"type/([^/]+)/page/?([0-9]{1,})/?$";s:51:"index.php?post_format=$matches[1]&paged=$matches[2]";s:15:"type/([^/]+)/?$";s:33:"index.php?post_format=$matches[1]";s:12:"robots\\.txt$";s:18:"index.php?robots=1";s:48:".*wp-(atom|rdf|rss|rss2|feed|commentsrss2)\\.php$";s:18:"index.php?feed=old";s:20:".*wp-app\\.php(/.*)?$";s:19:"index.php?error=403";s:18:".*wp-register.php$";s:23:"index.php?register=true";s:32:"feed/(feed|rdf|rss|rss2|atom)/?$";s:27:"index.php?&feed=$matches[1]";s:27:"(feed|rdf|rss|rss2|atom)/?$";s:27:"index.php?&feed=$matches[1]";s:20:"page/?([0-9]{1,})/?$";s:28:"index.php?&paged=$matches[1]";s:41:"comments/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?&feed=$matches[1]&withcomments=1";s:36:"comments/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?&feed=$matches[1]&withcomments=1";s:44:"search/(.+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:40:"index.php?s=$matches[1]&feed=$matches[2]";s:39:"search/(.+)/(feed|rdf|rss|rss2|atom)/?$";s:40:"index.php?s=$matches[1]&feed=$matches[2]";s:32:"search/(.+)/page/?([0-9]{1,})/?$";s:41:"index.php?s=$matches[1]&paged=$matches[2]";s:14:"search/(.+)/?$";s:23:"index.php?s=$matches[1]";s:47:"author/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?author_name=$matches[1]&feed=$matches[2]";s:42:"author/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:50:"index.php?author_name=$matches[1]&feed=$matches[2]";s:35:"author/([^/]+)/page/?([0-9]{1,})/?$";s:51:"index.php?author_name=$matches[1]&paged=$matches[2]";s:17:"author/([^/]+)/?$";s:33:"index.php?author_name=$matches[1]";s:69:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$";s:80:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]";s:64:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$";s:80:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&feed=$matches[4]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/page/?([0-9]{1,})/?$";s:81:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&paged=$matches[4]";s:39:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$";s:63:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]";s:56:"([0-9]{4})/([0-9]{1,2})/feed/(feed|rdf|rss|rss2|atom)/?$";s:64:"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]";s:51:"([0-9]{4})/([0-9]{1,2})/(feed|rdf|rss|rss2|atom)/?$";s:64:"index.php?year=$matches[1]&monthnum=$matches[2]&feed=$matches[3]";s:44:"([0-9]{4})/([0-9]{1,2})/page/?([0-9]{1,})/?$";s:65:"index.php?year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]";s:26:"([0-9]{4})/([0-9]{1,2})/?$";s:47:"index.php?year=$matches[1]&monthnum=$matches[2]";s:43:"([0-9]{4})/feed/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?year=$matches[1]&feed=$matches[2]";s:38:"([0-9]{4})/(feed|rdf|rss|rss2|atom)/?$";s:43:"index.php?year=$matches[1]&feed=$matches[2]";s:31:"([0-9]{4})/page/?([0-9]{1,})/?$";s:44:"index.php?year=$matches[1]&paged=$matches[2]";s:13:"([0-9]{4})/?$";s:26:"index.php?year=$matches[1]";s:58:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:68:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:88:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:83:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:83:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/trackback/?$";s:85:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&tb=1";s:77:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]";s:72:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&feed=$matches[5]";s:65:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/page/?([0-9]{1,})/?$";s:98:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&paged=$matches[5]";s:72:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)/comment-page-([0-9]{1,})/?$";s:98:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&cpage=$matches[5]";s:57:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/]+)(/[0-9]+)?/?$";s:97:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&name=$matches[4]&page=$matches[5]";s:47:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:57:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:77:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:72:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:72:"[0-9]{4}/[0-9]{1,2}/[0-9]{1,2}/[^/]+/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:64:"([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$";s:81:"index.php?year=$matches[1]&monthnum=$matches[2]&day=$matches[3]&cpage=$matches[4]";s:51:"([0-9]{4})/([0-9]{1,2})/comment-page-([0-9]{1,})/?$";s:65:"index.php?year=$matches[1]&monthnum=$matches[2]&cpage=$matches[3]";s:38:"([0-9]{4})/comment-page-([0-9]{1,})/?$";s:44:"index.php?year=$matches[1]&cpage=$matches[2]";s:27:".?.+?/attachment/([^/]+)/?$";s:32:"index.php?attachment=$matches[1]";s:37:".?.+?/attachment/([^/]+)/trackback/?$";s:37:"index.php?attachment=$matches[1]&tb=1";s:57:".?.+?/attachment/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:52:".?.+?/attachment/([^/]+)/(feed|rdf|rss|rss2|atom)/?$";s:49:"index.php?attachment=$matches[1]&feed=$matches[2]";s:52:".?.+?/attachment/([^/]+)/comment-page-([0-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";s:20:"(.?.+?)/trackback/?$";s:35:"index.php?pagename=$matches[1]&tb=1";s:40:"(.?.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:47:"index.php?pagename=$matches[1]&feed=$matches[2]";s:35:"(.?.+?)/(feed|rdf|rss|rss2|atom)/?$";s:47:"index.php?pagename=$matches[1]&feed=$matches[2]";s:28:"(.?.+?)/page/?([0-9]{1,})/?$";s:48:"index.php?pagename=$matches[1]&paged=$matches[2]";s:35:"(.?.+?)/comment-page-([0-9]{1,})/?$";s:48:"index.php?pagename=$matches[1]&cpage=$matches[2]";s:20:"(.?.+?)(/[0-9]+)?/?$";s:47:"index.php?pagename=$matches[1]&page=$matches[2]";}', 'yes'); +# +# End of data contents of table `wp_2_options` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_postmeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_postmeta` +# + +DROP TABLE IF EXISTS `wp_2_postmeta`; + + +# +# Table structure of table `wp_2_postmeta` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=305 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_postmeta` +# + +INSERT INTO `wp_2_postmeta` VALUES (1, 2, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (2, 1, '_edit_lock', '1382114523:2'); +INSERT INTO `wp_2_postmeta` VALUES (3, 8, '_wp_attached_file', '2013/10/cs1.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (4, 8, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:15:"2013/10/cs1.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:15:"cs1-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:15:"cs1-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:15:"cs1-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (5, 9, '_wp_attached_file', '2013/10/cs11.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (6, 9, '_wp_attachment_context', 'custom-background'); +INSERT INTO `wp_2_postmeta` VALUES (7, 9, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:16:"2013/10/cs11.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:16:"cs11-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:16:"cs11-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:16:"cs11-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (8, 9, '_wp_attachment_is_custom_background', 'activetab'); +INSERT INTO `wp_2_postmeta` VALUES (9, 10, '_menu_item_type', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (10, 10, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (11, 10, '_menu_item_object_id', '10'); +INSERT INTO `wp_2_postmeta` VALUES (12, 10, '_menu_item_object', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (13, 10, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (14, 10, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (15, 10, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (16, 10, '_menu_item_url', 'http://research.micropasts.org/'); +INSERT INTO `wp_2_postmeta` VALUES (17, 10, '_menu_item_orphaned', '1382103958'); +INSERT INTO `wp_2_postmeta` VALUES (18, 11, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (19, 11, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (20, 11, '_menu_item_object_id', '2'); +INSERT INTO `wp_2_postmeta` VALUES (21, 11, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (22, 11, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (23, 11, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (24, 11, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (25, 11, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (26, 11, '_menu_item_orphaned', '1382103958'); +INSERT INTO `wp_2_postmeta` VALUES (27, 12, '_wp_attached_file', '2013/10/cropped-cs12.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (28, 12, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (29, 12, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:24:"2013/10/cropped-cs12.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:24:"cropped-cs12-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:24:"cropped-cs12-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:24:"cropped-cs12-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (30, 12, '_wp_attachment_is_custom_header', 'activetab'); +INSERT INTO `wp_2_postmeta` VALUES (31, 13, '_wp_attached_file', '2013/10/cs12.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (32, 13, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (33, 13, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:676;s:4:"file";s:16:"2013/10/cs12.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:16:"cs12-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:16:"cs12-300x199.jpg";s:5:"width";i:300;s:6:"height";i:199;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:16:"cs12-800x532.jpg";s:5:"width";i:800;s:6:"height";i:532;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (34, 13, '_wp_attachment_is_custom_header', 'activetab'); +INSERT INTO `wp_2_postmeta` VALUES (35, 2, '_edit_lock', '1382114605:2'); +INSERT INTO `wp_2_postmeta` VALUES (36, 2, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (37, 16, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (38, 16, '_edit_lock', '1382725754:2'); +INSERT INTO `wp_2_postmeta` VALUES (39, 16, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (40, 26, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (41, 26, '_edit_lock', '1382724785:2'); +INSERT INTO `wp_2_postmeta` VALUES (42, 26, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (43, 1, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (50, 34, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (51, 34, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (52, 34, '_edit_lock', '1382107960:2'); +INSERT INTO `wp_2_postmeta` VALUES (53, 34, '_wp_trash_meta_status', 'draft'); +INSERT INTO `wp_2_postmeta` VALUES (54, 34, '_wp_trash_meta_time', '1382108093'); +INSERT INTO `wp_2_postmeta` VALUES (55, 36, '_edit_lock', '1382644634:2'); +INSERT INTO `wp_2_postmeta` VALUES (56, 36, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (57, 36, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (58, 43, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (59, 43, '_edit_lock', '1382644798:2'); +INSERT INTO `wp_2_postmeta` VALUES (60, 43, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (61, 45, '_wp_attached_file', '2013/10/UCL-logo-small-use-blk-300x88.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (62, 45, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:300;s:6:"height";i:88;s:4:"file";s:41:"2013/10/UCL-logo-small-use-blk-300x88.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:40:"UCL-logo-small-use-blk-300x88-150x88.jpg";s:5:"width";i:150;s:6:"height";i:88;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (63, 46, '_wp_attached_file', '2013/10/ahrc-logo-2.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (64, 46, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:279;s:6:"height";i:298;s:4:"file";s:23:"2013/10/ahrc-logo-2.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:23:"ahrc-logo-2-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (65, 47, '_wp_attached_file', '2013/10/LOGO_AHRC.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (66, 47, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:586;s:6:"height";i:133;s:4:"file";s:21:"2013/10/LOGO_AHRC.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:21:"LOGO_AHRC-150x133.jpg";s:5:"width";i:150;s:6:"height";i:133;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:20:"LOGO_AHRC-300x68.jpg";s:5:"width";i:300;s:6:"height";i:68;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (67, 48, '_wp_attached_file', '2013/10/bmlogo-150x73.png'); +INSERT INTO `wp_2_postmeta` VALUES (68, 48, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:150;s:6:"height";i:73;s:4:"file";s:25:"2013/10/bmlogo-150x73.png";s:5:"sizes";a:0:{}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (69, 49, '_wp_attached_file', '2013/10/paslogo-150x104.gif'); +INSERT INTO `wp_2_postmeta` VALUES (70, 49, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:150;s:6:"height";i:104;s:4:"file";s:27:"2013/10/paslogo-150x104.gif";s:5:"sizes";a:0:{}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (71, 50, '_wp_attached_file', '2013/10/ahrclogo.gif'); +INSERT INTO `wp_2_postmeta` VALUES (72, 50, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:796;s:6:"height";i:191;s:4:"file";s:20:"2013/10/ahrclogo.gif";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:20:"ahrclogo-150x150.gif";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:9:"image/gif";}s:6:"medium";a:4:{s:4:"file";s:19:"ahrclogo-300x71.gif";s:5:"width";i:300;s:6:"height";i:71;s:9:"mime-type";s:9:"image/gif";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (73, 55, '_wp_attached_file', '2013/10/bmlogo_print.png'); +INSERT INTO `wp_2_postmeta` VALUES (74, 55, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:367;s:6:"height";i:130;s:4:"file";s:24:"2013/10/bmlogo_print.png";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:24:"bmlogo_print-150x130.png";s:5:"width";i:150;s:6:"height";i:130;s:9:"mime-type";s:9:"image/png";}s:6:"medium";a:4:{s:4:"file";s:24:"bmlogo_print-300x106.png";s:5:"width";i:300;s:6:"height";i:106;s:9:"mime-type";s:9:"image/png";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (75, 49, '_edit_lock', '1382110563:2'); +INSERT INTO `wp_2_postmeta` VALUES (76, 58, '_wp_attached_file', '2013/10/portable_antiquities_scheme_logo.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (77, 58, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:213;s:6:"height";i:104;s:4:"file";s:44:"2013/10/portable_antiquities_scheme_logo.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:4:{s:4:"file";s:44:"portable_antiquities_scheme_logo-150x104.jpg";s:5:"width";i:150;s:6:"height";i:104;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (80, 69, '_menu_item_type', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (81, 69, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (82, 69, '_menu_item_object_id', '69'); +INSERT INTO `wp_2_postmeta` VALUES (83, 69, '_menu_item_object', 'custom'); +INSERT INTO `wp_2_postmeta` VALUES (84, 69, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (85, 69, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (86, 69, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (87, 69, '_menu_item_url', 'http://research.micropasts.org/'); +INSERT INTO `wp_2_postmeta` VALUES (89, 70, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (90, 70, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (91, 70, '_menu_item_object_id', '26'); +INSERT INTO `wp_2_postmeta` VALUES (92, 70, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (93, 70, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (94, 70, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (95, 70, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (96, 70, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (98, 71, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (99, 71, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (100, 71, '_menu_item_object_id', '36'); +INSERT INTO `wp_2_postmeta` VALUES (101, 71, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (102, 71, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (103, 71, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (104, 71, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (105, 71, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (107, 72, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (108, 72, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (109, 72, '_menu_item_object_id', '16'); +INSERT INTO `wp_2_postmeta` VALUES (110, 72, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (111, 72, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (112, 72, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (113, 72, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (114, 72, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (125, 74, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (126, 74, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (127, 74, '_menu_item_object_id', '43'); +INSERT INTO `wp_2_postmeta` VALUES (128, 74, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (129, 74, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (130, 74, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (131, 74, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (132, 74, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (134, 75, '_edit_last', '1'); +INSERT INTO `wp_2_postmeta` VALUES (135, 75, '_edit_lock', '1382644749:2'); +INSERT INTO `wp_2_postmeta` VALUES (136, 75, '_wp_page_template', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (137, 80, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (138, 80, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (139, 80, '_menu_item_object_id', '75'); +INSERT INTO `wp_2_postmeta` VALUES (140, 80, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (141, 80, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (142, 80, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (143, 80, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (144, 80, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (191, 50, '_edit_lock', '1382345036:2'); +INSERT INTO `wp_2_postmeta` VALUES (192, 91, '_edit_lock', '1382457247:2'); +INSERT INTO `wp_2_postmeta` VALUES (193, 91, '_edit_last', '2'); +INSERT INTO `wp_2_postmeta` VALUES (196, 1, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (197, 1, '_wp_trash_meta_time', '1382457399'); +INSERT INTO `wp_2_postmeta` VALUES (198, 1, '_wp_trash_meta_comments_status', 'a:1:{i:1;s:5:"trash";}'); +INSERT INTO `wp_2_postmeta` VALUES (199, 108, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (200, 108, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (201, 108, '_menu_item_object_id', '75'); +INSERT INTO `wp_2_postmeta` VALUES (202, 108, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (203, 108, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (204, 108, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (205, 108, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (206, 108, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (207, 108, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (208, 109, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (209, 109, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (210, 109, '_menu_item_object_id', '43'); +INSERT INTO `wp_2_postmeta` VALUES (211, 109, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (212, 109, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (213, 109, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (214, 109, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (215, 109, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (216, 109, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (217, 110, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (218, 110, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (219, 110, '_menu_item_object_id', '36'); +INSERT INTO `wp_2_postmeta` VALUES (220, 110, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (221, 110, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (222, 110, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (223, 110, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (224, 110, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (225, 110, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (226, 111, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (227, 111, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (228, 111, '_menu_item_object_id', '26'); +INSERT INTO `wp_2_postmeta` VALUES (229, 111, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (230, 111, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (231, 111, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (232, 111, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (233, 111, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (234, 111, '_menu_item_orphaned', '1382522994'); +INSERT INTO `wp_2_postmeta` VALUES (235, 112, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (236, 112, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (237, 112, '_menu_item_object_id', '16'); +INSERT INTO `wp_2_postmeta` VALUES (238, 112, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (239, 112, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (240, 112, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (241, 112, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (242, 112, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (243, 112, '_menu_item_orphaned', '1382522995'); +INSERT INTO `wp_2_postmeta` VALUES (244, 113, '_menu_item_type', 'post_type'); +INSERT INTO `wp_2_postmeta` VALUES (245, 113, '_menu_item_menu_item_parent', '0'); +INSERT INTO `wp_2_postmeta` VALUES (246, 113, '_menu_item_object_id', '2'); +INSERT INTO `wp_2_postmeta` VALUES (247, 113, '_menu_item_object', 'page'); +INSERT INTO `wp_2_postmeta` VALUES (248, 113, '_menu_item_target', ''); +INSERT INTO `wp_2_postmeta` VALUES (249, 113, '_menu_item_classes', 'a:1:{i:0;s:0:"";}'); +INSERT INTO `wp_2_postmeta` VALUES (250, 113, '_menu_item_xfn', ''); +INSERT INTO `wp_2_postmeta` VALUES (251, 113, '_menu_item_url', ''); +INSERT INTO `wp_2_postmeta` VALUES (252, 113, '_menu_item_orphaned', '1382522995'); +INSERT INTO `wp_2_postmeta` VALUES (253, 114, '_wp_attached_file', '2013/10/cs121.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (254, 114, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (255, 114, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs121.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs121-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs121-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (256, 114, '_wp_attachment_is_custom_header', 'the-bootstrap'); +INSERT INTO `wp_2_postmeta` VALUES (257, 115, '_wp_attached_file', '2013/10/cs12_2.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (258, 115, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (259, 115, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:386;s:6:"height";i:250;s:4:"file";s:18:"2013/10/cs12_2.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:18:"cs12_2-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:18:"cs12_2-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (260, 115, '_wp_attachment_is_custom_header', 'the-bootstrap'); +INSERT INTO `wp_2_postmeta` VALUES (261, 117, '_wp_attached_file', '2013/10/cs122.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (262, 117, '_wp_attachment_context', 'custom-background'); +INSERT INTO `wp_2_postmeta` VALUES (263, 117, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs122.jpg";s:5:"sizes";a:8:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs122-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs122-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:12:"slider-thumb";a:4:{s:4:"file";s:17:"cs122-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:10:"blog-thumb";a:4:{s:4:"file";s:17:"cs122-268x200.jpg";s:5:"width";i:268;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:12:"teaser-thumb";a:4:{s:4:"file";s:17:"cs122-310x190.jpg";s:5:"width";i:310;s:6:"height";i:190;s:9:"mime-type";s:10:"image/jpeg";}s:13:"gallery-thumb";a:4:{s:4:"file";s:17:"cs122-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:11:"video-thumb";a:4:{s:4:"file";s:17:"cs122-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:16:"attachment-thumb";a:4:{s:4:"file";s:17:"cs122-700x453.jpg";s:5:"width";i:700;s:6:"height";i:453;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (264, 117, '_wp_attachment_is_custom_background', 'esplanade'); +INSERT INTO `wp_2_postmeta` VALUES (265, 118, '_wp_attached_file', '2013/10/cs123.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (266, 118, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (267, 118, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs123.jpg";s:5:"sizes";a:3:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs123-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs123-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:14:"post-thumbnail";a:4:{s:4:"file";s:17:"cs123-624x403.jpg";s:5:"width";i:624;s:6:"height";i:403;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (268, 118, '_wp_attachment_is_custom_header', 'twentytwelve'); +INSERT INTO `wp_2_postmeta` VALUES (269, 119, '_wp_attached_file', '2013/10/cs124.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (270, 119, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (271, 119, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs124.jpg";s:5:"sizes";a:8:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs124-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs124-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:12:"slider-thumb";a:4:{s:4:"file";s:17:"cs124-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:10:"blog-thumb";a:4:{s:4:"file";s:17:"cs124-268x200.jpg";s:5:"width";i:268;s:6:"height";i:200;s:9:"mime-type";s:10:"image/jpeg";}s:12:"teaser-thumb";a:4:{s:4:"file";s:17:"cs124-310x190.jpg";s:5:"width";i:310;s:6:"height";i:190;s:9:"mime-type";s:10:"image/jpeg";}s:13:"gallery-thumb";a:4:{s:4:"file";s:17:"cs124-100x100.jpg";s:5:"width";i:100;s:6:"height";i:100;s:9:"mime-type";s:10:"image/jpeg";}s:11:"video-thumb";a:4:{s:4:"file";s:17:"cs124-640x395.jpg";s:5:"width";i:640;s:6:"height";i:395;s:9:"mime-type";s:10:"image/jpeg";}s:16:"attachment-thumb";a:4:{s:4:"file";s:17:"cs124-700x453.jpg";s:5:"width";i:700;s:6:"height";i:453;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (272, 119, '_wp_attachment_is_custom_header', 'esplanade'); +INSERT INTO `wp_2_postmeta` VALUES (273, 114, '_edit_lock', '1382525564:1'); +INSERT INTO `wp_2_postmeta` VALUES (274, 120, '_wp_attached_file', '2013/10/400pxWideMicropasts.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (275, 120, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:400;s:6:"height";i:259;s:4:"file";s:31:"2013/10/400pxWideMicropasts.jpg";s:5:"sizes";a:4:{s:9:"thumbnail";a:4:{s:4:"file";s:31:"400pxWideMicropasts-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:31:"400pxWideMicropasts-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:31:"400pxWideMicropasts-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:31:"400pxWideMicropasts-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (276, 121, '_wp_attached_file', '2013/10/cs12_21.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (277, 121, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (278, 121, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:386;s:6:"height";i:250;s:4:"file";s:19:"2013/10/cs12_21.jpg";s:5:"sizes";a:4:{s:9:"thumbnail";a:4:{s:4:"file";s:19:"cs12_21-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:19:"cs12_21-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:19:"cs12_21-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:19:"cs12_21-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (279, 121, '_wp_attachment_is_custom_header', 'tiga'); +INSERT INTO `wp_2_postmeta` VALUES (280, 122, '_wp_attached_file', '2013/10/cs125.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (281, 122, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (282, 122, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs125.jpg";s:5:"sizes";a:7:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs125-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs125-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:17:"cs125-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:17:"cs125-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-700px";a:4:{s:4:"file";s:17:"cs125-700x300.jpg";s:5:"width";i:700;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-620px";a:4:{s:4:"file";s:17:"cs125-620x350.jpg";s:5:"width";i:620;s:6:"height";i:350;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-460px";a:4:{s:4:"file";s:17:"cs125-460x300.jpg";s:5:"width";i:460;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (283, 122, '_wp_attachment_is_custom_header', 'tiga'); +INSERT INTO `wp_2_postmeta` VALUES (284, 123, '_wp_attached_file', '2013/10/cs126.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (285, 123, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (286, 123, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs126.jpg";s:5:"sizes";a:7:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs126-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs126-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-140px";a:4:{s:4:"file";s:17:"cs126-140x140.jpg";s:5:"width";i:140;s:6:"height";i:140;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-300px";a:4:{s:4:"file";s:17:"cs126-300x130.jpg";s:5:"width";i:300;s:6:"height";i:130;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-700px";a:4:{s:4:"file";s:17:"cs126-700x300.jpg";s:5:"width";i:700;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-620px";a:4:{s:4:"file";s:17:"cs126-620x350.jpg";s:5:"width";i:620;s:6:"height";i:350;s:9:"mime-type";s:10:"image/jpeg";}s:10:"tiga-460px";a:4:{s:4:"file";s:17:"cs126-460x300.jpg";s:5:"width";i:460;s:6:"height";i:300;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (287, 123, '_wp_attachment_is_custom_header', 'tiga'); +INSERT INTO `wp_2_postmeta` VALUES (288, 2, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (289, 2, '_wp_trash_meta_time', '1382527192'); +INSERT INTO `wp_2_postmeta` VALUES (290, 126, '_wp_attached_file', '2013/10/cs127.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (291, 126, '_wp_attachment_context', 'custom-header'); +INSERT INTO `wp_2_postmeta` VALUES (292, 126, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs127.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs127-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs127-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (293, 126, '_wp_attachment_is_custom_header', 'responsive-childtheme-master'); +INSERT INTO `wp_2_postmeta` VALUES (294, 127, '_wp_attached_file', '2013/10/cs128.jpg'); +INSERT INTO `wp_2_postmeta` VALUES (295, 127, '_wp_attachment_metadata', 'a:5:{s:5:"width";i:1015;s:6:"height";i:657;s:4:"file";s:17:"2013/10/cs128.jpg";s:5:"sizes";a:2:{s:9:"thumbnail";a:4:{s:4:"file";s:17:"cs128-150x150.jpg";s:5:"width";i:150;s:6:"height";i:150;s:9:"mime-type";s:10:"image/jpeg";}s:6:"medium";a:4:{s:4:"file";s:17:"cs128-300x194.jpg";s:5:"width";i:300;s:6:"height";i:194;s:9:"mime-type";s:10:"image/jpeg";}}s:10:"image_meta";a:10:{s:8:"aperture";i:0;s:6:"credit";s:5:"© PA";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";i:0;s:9:"copyright";s:0:"";s:12:"focal_length";i:0;s:3:"iso";i:0;s:13:"shutter_speed";i:0;s:5:"title";s:0:"";}}'); +INSERT INTO `wp_2_postmeta` VALUES (296, 75, '_responsive_layout', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (297, 26, '_responsive_layout', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (298, 16, '_responsive_layout', 'default'); +INSERT INTO `wp_2_postmeta` VALUES (299, 36, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (300, 36, '_wp_trash_meta_time', '1382644833'); +INSERT INTO `wp_2_postmeta` VALUES (301, 75, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (302, 75, '_wp_trash_meta_time', '1382644866'); +INSERT INTO `wp_2_postmeta` VALUES (303, 43, '_wp_trash_meta_status', 'publish'); +INSERT INTO `wp_2_postmeta` VALUES (304, 43, '_wp_trash_meta_time', '1382645080'); +# +# End of data contents of table `wp_2_postmeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_posts` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_posts` +# + +DROP TABLE IF EXISTS `wp_2_posts`; + + +# +# Table structure of table `wp_2_posts` +# + +CREATE TABLE `wp_2_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` longtext 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=InnoDB AUTO_INCREMENT=142 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_posts` +# + +INSERT INTO `wp_2_posts` VALUES (1, 4, '2013-10-09 18:47:16', '2013-10-09 18:47:16', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'trash', 'open', 'open', '', 'hello-world', '', '', '2013-10-22 15:56:39', '2013-10-22 15:56:39', '', 0, 'http://research.micropasts.org/?p=1', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (2, 4, '2013-10-09 18:47:16', '2013-10-09 18:47:16', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'trash', 'open', 'open', '', 'sample-page', '', '', '2013-10-23 11:19:52', '2013-10-23 11:19:52', '', 0, 'http://research.micropasts.org/?page_id=2', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (8, 2, '2013-10-18 13:35:57', '2013-10-18 13:35:57', '', 'cs1', '', 'inherit', 'open', 'open', '', 'cs1', '', '', '2013-10-18 13:35:57', '2013-10-18 13:35:57', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs1.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (9, 2, '2013-10-18 13:43:17', '2013-10-18 13:43:17', '', 'cs1', '', 'inherit', 'open', 'open', '', 'cs1-2', '', '', '2013-10-18 13:43:17', '2013-10-18 13:43:17', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs11.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (10, 2, '2013-10-18 13:45:57', '0000-00-00 00:00:00', '', 'Home', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-18 13:45:57', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=10', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (11, 2, '2013-10-18 13:45:58', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-18 13:45:58', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=11', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (12, 2, '2013-10-18 13:49:18', '2013-10-18 13:49:18', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cropped-cs12.jpg', 'cropped-cs12.jpg', '', 'inherit', 'closed', 'open', '', 'cropped-cs12-jpg', '', '', '2013-10-18 13:49:18', '2013-10-18 13:49:18', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cropped-cs12.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (13, 2, '2013-10-18 13:49:33', '2013-10-18 13:49:33', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg', 'cs12.jpg', '', 'inherit', 'closed', 'open', '', 'cs12-jpg', '', '', '2013-10-18 13:49:33', '2013-10-18 13:49:33', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (14, 2, '2013-10-18 14:48:50', '2013-10-18 14:48:50', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-autosave-v1', '', '', '2013-10-18 14:48:50', '2013-10-18 14:48:50', '', 2, 'http://research.micropasts.org/2013/10/18/2-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (15, 2, '2013-10-18 14:04:05', '2013-10-18 14:04:05', '', 'About the project', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 14:04:05', '2013-10-18 14:04:05', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (16, 2, '2013-10-18 14:29:29', '2013-10-18 14:29:29', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDaniel Lombraña González, Citizen Cyberscience Centre\r\n\r\n, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'publish', 'open', 'open', '', 'people', '', '', '2013-10-25 18:30:25', '2013-10-25 18:30:25', '', 0, 'http://research.micropasts.org/?page_id=16', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (17, 2, '2013-10-18 14:16:01', '2013-10-18 14:16:01', 'Dr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:16:01', '2013-10-18 14:16:01', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (18, 2, '2013-10-18 14:16:55', '2013-10-18 14:16:55', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:16:55', '2013-10-18 14:16:55', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (19, 2, '2013-10-18 14:29:27', '2013-10-18 14:29:27', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNatalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:29:27', '2013-10-18 14:29:27', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (21, 2, '2013-10-18 14:33:08', '2013-10-18 14:33:08', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:33:08', '2013-10-18 14:33:08', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (22, 2, '2013-10-18 14:37:15', '2013-10-18 14:37:15', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:37:15', '2013-10-18 14:37:15', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (23, 2, '2013-10-18 14:38:00', '2013-10-18 14:38:00', 'Project team\r\n\r\nDr Andrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nDr Rachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nDr Chiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nDr Adi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nDr Roger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nDr Stuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nProf. Stuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nProf. Melissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 14:38:00', '2013-10-18 14:38:00', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (25, 2, '2013-10-18 14:42:09', '2013-10-18 14:42:09', '', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 14:42:09', '2013-10-18 14:42:09', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (26, 2, '2013-10-18 14:43:58', '2013-10-18 14:43:58', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'publish', 'open', 'open', '', 'about-the-project', '', '', '2013-10-24 20:03:56', '2013-10-24 20:03:56', '', 0, 'http://research.micropasts.org/?page_id=26', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (27, 2, '2013-10-18 14:42:49', '2013-10-18 14:42:49', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\n \r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 14:42:49', '2013-10-18 14:42:49', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (28, 2, '2013-10-18 14:43:56', '2013-10-18 14:43:56', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 14:43:56', '2013-10-18 14:43:56', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (30, 2, '2013-10-18 14:48:54', '2013-10-18 14:48:54', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 14:48:54', '2013-10-18 14:48:54', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (31, 2, '2013-10-18 14:52:49', '2013-10-18 14:52:49', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!\r\n\r\n
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 14:52:49', '2013-10-18 14:52:49', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (32, 2, '2013-10-18 14:53:05', '2013-10-18 14:53:05', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 14:53:05', '2013-10-18 14:53:05', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (33, 2, '2013-10-18 14:53:20', '2013-10-18 14:53:20', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 14:53:20', '2013-10-18 14:53:20', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (34, 2, '2013-10-18 14:54:32', '2013-10-18 14:54:32', '', 'd', '', 'trash', 'open', 'open', '', 'd', '', '', '2013-10-18 14:54:53', '2013-10-18 14:54:53', '', 0, 'http://research.micropasts.org/?page_id=34', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (35, 2, '2013-10-18 14:54:32', '2013-10-18 14:54:32', '', 'd', '', 'inherit', 'open', 'open', '', '34-revision-v1', '', '', '2013-10-18 14:54:32', '2013-10-18 14:54:32', '', 34, 'http://research.micropasts.org/2013/10/18/34-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (36, 2, '2013-10-18 15:05:00', '2013-10-18 15:05:00', 'Through this project, we hope to achieve five key objectives and particularly to:\r\n\r\nEnhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nDevelop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nCapture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nExplore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nScope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'trash', 'open', 'open', '', 'our-objectives', '', '', '2013-10-24 20:00:33', '2013-10-24 20:00:33', '', 0, 'http://research.micropasts.org/?page_id=36', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (37, 2, '2013-10-18 15:04:45', '2013-10-18 15:04:45', 'Through this project, we hope...\r\n\r\nTo enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nTo develop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nTo capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nTo explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nTo scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'inherit', 'open', 'open', '', '36-revision-v1', '', '', '2013-10-18 15:04:45', '2013-10-18 15:04:45', '', 36, 'http://research.micropasts.org/2013/10/18/36-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (38, 2, '2013-10-18 15:06:37', '2013-10-18 15:06:37', 'Through this project, we hope to achieve five key objectives:\r\n\r\nTo enhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nTo develop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nTo capture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nTo explore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nTo scope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'inherit', 'open', 'open', '', '36-revision-v1', '', '', '2013-10-18 15:06:37', '2013-10-18 15:06:37', '', 36, 'http://research.micropasts.org/2013/10/18/36-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (40, 2, '2013-10-18 15:08:15', '2013-10-18 15:08:15', 'Through this project, we hope to achieve five key objectives and particularly to:\r\n\r\nEnhance the degree to which traditional academics, other organised communities of archaeological interest, and a wider ‘crowd’ of contributors can collaborate in the co-production of archaeological knowledge, using web technologies.\r\n\r\nDevelop a long-term crowd-sourcing platform for co-producing archaeological open data.\r\n\r\nCapture research-quality, 3D information about large numbers of archaeological objects via participatory methods.\r\n\r\nExplore, through crowd-sourcing, the co-design and sustainable micro-funding of projects that arise out of existing community collaborations and utilise co-produced data.\r\n\r\nScope what kinds of relationships in archaeology are forged or altered when established communities of interest, traditional academics and wholly new contributors collaborate in the above ways.', 'Our objectives', '', 'inherit', 'open', 'open', '', '36-revision-v1', '', '', '2013-10-18 15:08:15', '2013-10-18 15:08:15', '', 36, 'http://research.micropasts.org/2013/10/18/36-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (43, 2, '2013-10-18 15:26:56', '2013-10-18 15:26:56', 'The project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'trash', 'open', 'open', '', 'who-is-funding-us', '', '', '2013-10-24 20:04:40', '2013-10-24 20:04:40', '', 0, 'http://research.micropasts.org/?page_id=43', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (44, 2, '2013-10-18 15:14:15', '2013-10-18 15:14:15', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:14:15', '2013-10-18 15:14:15', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (45, 2, '2013-10-18 15:17:29', '2013-10-18 15:17:29', '', 'UCL-logo-small-use-blk-300x88', '', 'inherit', 'open', 'open', '', 'ucl-logo-small-use-blk-300x88', '', '', '2013-10-18 15:17:29', '2013-10-18 15:17:29', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/UCL-logo-small-use-blk-300x88.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (46, 2, '2013-10-18 15:17:46', '2013-10-18 15:17:46', '', 'ahrc-logo-2', '', 'inherit', 'open', 'open', '', 'ahrc-logo-2', '', '', '2013-10-18 15:17:46', '2013-10-18 15:17:46', '', 43, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/ahrc-logo-2.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (47, 2, '2013-10-18 15:17:50', '2013-10-18 15:17:50', '', 'LOGO_AHRC', '', 'inherit', 'open', 'open', '', 'logo_ahrc', '', '', '2013-10-18 15:17:50', '2013-10-18 15:17:50', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/LOGO_AHRC.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (48, 2, '2013-10-18 15:19:11', '2013-10-18 15:19:11', '', 'bmlogo-150x73', '', 'inherit', 'open', 'open', '', 'bmlogo-150x73', '', '', '2013-10-18 15:19:11', '2013-10-18 15:19:11', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/bmlogo-150x73.png', 0, 'attachment', 'image/png', 0); +INSERT INTO `wp_2_posts` VALUES (49, 2, '2013-10-18 15:19:13', '2013-10-18 15:19:13', '', 'paslogo-150x104', '', 'inherit', 'open', 'open', '', 'paslogo-150x104', '', '', '2013-10-18 15:19:13', '2013-10-18 15:19:13', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/paslogo-150x104.gif', 0, 'attachment', 'image/gif', 0); +INSERT INTO `wp_2_posts` VALUES (50, 2, '2013-10-18 15:21:02', '2013-10-18 15:21:02', '', 'ahrclogo', '', 'inherit', 'open', 'open', '', 'ahrclogo', '', '', '2013-10-18 15:21:02', '2013-10-18 15:21:02', '', 43, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/ahrclogo.gif', 0, 'attachment', 'image/gif', 0); +INSERT INTO `wp_2_posts` VALUES (51, 2, '2013-10-18 15:21:36', '2013-10-18 15:21:36', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n \r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:21:36', '2013-10-18 15:21:36', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (52, 2, '2013-10-18 15:26:56', '2013-10-18 15:26:56', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council, under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:26:56', '2013-10-18 15:26:56', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (53, 2, '2013-10-18 15:28:15', '2013-10-18 15:28:15', 'The project Crowd and Community-fuelled Archaeological Research is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 15:28:15', '2013-10-18 15:28:15', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (54, 2, '2013-10-18 16:40:58', '2013-10-18 16:40:58', 'Through the Micropasts platform, this project uses crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\n\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\n\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\n\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\n\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-autosave-v1', '', '', '2013-10-18 16:40:58', '2013-10-18 16:40:58', '', 26, 'http://research.micropasts.org/2013/10/18/26-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (55, 2, '2013-10-18 15:32:55', '2013-10-18 15:32:55', '', 'bmlogo_print', '', 'inherit', 'open', 'open', '', 'bmlogo_print', '', '', '2013-10-18 15:32:55', '2013-10-18 15:32:55', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/bmlogo_print.png', 0, 'attachment', 'image/png', 0); +INSERT INTO `wp_2_posts` VALUES (56, 2, '2013-10-18 15:33:47', '2013-10-18 15:33:47', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:33:47', '2013-10-18 15:33:47', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (57, 2, '2013-10-18 15:36:59', '2013-10-18 15:36:59', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:36:59', '2013-10-18 15:36:59', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (58, 2, '2013-10-18 15:38:05', '2013-10-18 15:38:05', '', 'portable_antiquities_scheme_logo', '', 'inherit', 'open', 'open', '', 'portable_antiquities_scheme_logo', '', '', '2013-10-18 15:38:05', '2013-10-18 15:38:05', '', 26, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/portable_antiquities_scheme_logo.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (60, 2, '2013-10-18 15:38:53', '2013-10-18 15:38:53', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:38:53', '2013-10-18 15:38:53', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (61, 2, '2013-10-18 15:39:22', '2013-10-18 15:39:22', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printpaslogo-150x104', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:39:22', '2013-10-18 15:39:22', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (62, 2, '2013-10-18 15:40:54', '2013-10-18 15:40:54', 'This project uses web-based, crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 15:40:54', '2013-10-18 15:40:54', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (63, 2, '2013-10-25 18:30:18', '2013-10-25 18:30:18', 'Project team\n\nAndrew Bevan, UCL Institute of Archaeology\nPrincipal investigator\n\n\nDaniel Pett, The British Museum\nCo-investigator\n\nRachael Sparks, UCL Institute of Archaeology\nCo-investigator\n\nChiara Bonacchi, UCL Institute of Archaeology\nResearch Associate\n\nAdi Keinan, UCL Institute of Archaeology\nResearch Associate\n\nIan Carroll, UCL Institute of Archaeology\nArchival Collections Liaison\n\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\nArchival Collections Liaison\n\n \n\nAdvisory group\n\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\n\nTim Causer, UCL Laws\n\nNathalie Cohen, Thames Discovery Project\n\nStuart Dunn, King\'s College London, Digital Humanities\n\nSusie Green, UCL Institute of Archaeology\n\nDaniel Lombraña González, Citizen Cyberscience\n\n\n\nLorna Richardson, Waveney Valley Community Archaeology Group\n\nMia Ridge, Open University\n\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\n\nMelissa Terras, UCL Centre for Digital Humanities\n\n \n\n ', 'People', '', 'inherit', 'open', 'open', '', '16-autosave-v1', '', '', '2013-10-25 18:30:18', '2013-10-25 18:30:18', '', 16, 'http://research.micropasts.org/2013/10/18/16-autosave-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (64, 2, '2013-10-18 16:09:55', '2013-10-18 16:09:55', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-18 16:09:55', '2013-10-18 16:09:55', '', 16, 'http://research.micropasts.org/2013/10/18/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (65, 2, '2013-10-18 16:35:43', '2013-10-18 16:35:43', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 16:35:43', '2013-10-18 16:35:43', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (66, 2, '2013-10-18 16:41:36', '2013-10-18 16:41:36', 'Through the Micropasts platform, this project uses crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 16:41:36', '2013-10-18 16:41:36', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (67, 2, '2013-10-18 16:43:10', '2013-10-18 16:43:10', 'We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts - Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '2-revision-v1', '', '', '2013-10-18 16:43:10', '2013-10-18 16:43:10', '', 2, 'http://research.micropasts.org/2013/10/18/2-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (68, 2, '2013-10-18 16:43:51', '2013-10-18 16:43:51', '
We are a team of researchers from University College London and The British Museum, and this is the platform where we will be discussing our current project Micropasts – Crowd and Community-fuelled Archaeological Research. We will post research updates and share ideas on public archaeology, community archaeology, crowdsourcing and crowdfunding. We hope that you will be interested in joining the discussion!
Andy, Chiara & Dan
', 'Welcome to the discussion!', '', 'inherit', 'open', 'open', '', '1-revision-v1', '', '', '2013-10-18 16:43:51', '2013-10-18 16:43:51', '', 1, 'http://research.micropasts.org/2013/10/18/1-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (69, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', '', 'Home', '', 'publish', 'open', 'open', '', 'home', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=69', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (70, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '70', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=70', 2, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (71, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '71', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=71', 3, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (72, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '72', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=72', 5, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (74, 2, '2013-10-18 16:48:31', '2013-10-18 16:48:31', ' ', '', '', 'publish', 'open', 'open', '', '74', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=74', 6, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (75, 2, '2013-10-18 17:11:08', '2013-10-18 17:11:08', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to:\r\n
    \r\n
  1. help with the co-production of open archaeological data through crowd-sourcing
  2. \r\n
  3. co-design new research agendas using the community forum
  4. \r\n
  5. micro-fund entirely new research agendas via crowd-funding.
  6. \r\n
\r\n ', 'Micropasts platform', '', 'trash', 'open', 'open', '', 'the-micropasts-platform', '', '', '2013-10-24 20:01:06', '2013-10-24 20:01:06', '', 0, 'http://research.micropasts.org/?page_id=75', 0, 'page', '', 0); +INSERT INTO `wp_2_posts` VALUES (76, 2, '2013-10-18 17:11:08', '2013-10-18 17:11:08', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'The Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:11:08', '2013-10-18 17:11:08', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (77, 2, '2013-10-18 17:11:46', '2013-10-18 17:11:46', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:11:46', '2013-10-18 17:11:46', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (78, 2, '2013-10-18 17:12:45', '2013-10-18 17:12:45', 'This project uses the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 17:12:45', '2013-10-18 17:12:45', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (79, 2, '2013-10-18 17:13:24', '2013-10-18 17:13:24', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'The Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:13:24', '2013-10-18 17:13:24', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (80, 2, '2013-10-18 17:14:42', '2013-10-18 17:14:42', ' ', '', '', 'publish', 'open', 'open', '', '80', '', '', '2013-10-23 11:20:32', '2013-10-23 11:20:32', '', 0, 'http://research.micropasts.org/?p=80', 4, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (86, 2, '2013-10-18 17:17:56', '2013-10-18 17:17:56', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing platform; **co-design new research agendas using our community forum; ***micro-fund entirely new research agendas on our dedicated crowd-funding space.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:17:56', '2013-10-18 17:17:56', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (87, 2, '2013-10-18 17:21:22', '2013-10-18 17:21:22', 'This project uses the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-18 17:21:22', '2013-10-18 17:21:22', '', 26, 'http://research.micropasts.org/2013/10/18/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (88, 2, '2013-10-18 17:24:07', '2013-10-18 17:24:07', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through our crowd-sourcing space; **co-design new research agendas using the community forum; ***micro-fund entirely new research agendas on a dedicated crowd-funding space.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:24:07', '2013-10-18 17:24:07', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (89, 2, '2013-10-18 17:25:48', '2013-10-18 17:25:48', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to: *help with the co-production of open archaeological data through crowd-sourcing; **co-design new research agendas using the community forum; ***micro-fund entirely new research agendas via crowd-funding.\r\n\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-18 17:25:48', '2013-10-18 17:25:48', '', 75, 'http://research.micropasts.org/2013/10/18/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (90, 2, '2013-10-18 17:27:11', '2013-10-18 17:27:11', 'The project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nahrclogo\r\n\r\n \r\n\r\n \r\n\r\n ', 'Who is funding us?', '', 'inherit', 'open', 'open', '', '43-revision-v1', '', '', '2013-10-18 17:27:11', '2013-10-18 17:27:11', '', 43, 'http://research.micropasts.org/2013/10/18/43-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (91, 2, '2013-10-22 15:55:55', '2013-10-22 15:55:55', '

Hello!

\r\n

We are a team of researchers from University College London and the British Museum. In the past few years, we have been looking into the new opportunities provided by digital technologies for public engagement in archaeology, through several seminar series and a recent edited volume on the topic. We are now lucky enough to have funds from the AHRC to work on a project entitled Crowd and Community Fuelled Archaeological Research which has started this month.

\r\n

The core of our efforts day-to-day will go into enabling a more general online platform for crowd-sourcing and crowd-funding that we have called Micropasts. The platform’s goal is to bring archaeological enthusiasts of all kinds -- traditional academics, archaeological societies, interested individual members of the public -- together to create new, high quality archaeological and historical data about the human past.

\r\n

This research blog also allows some of us to indulge our more navel-gazing tendencies (!) and to post about themes ranging from public archaeology to research ethics to the technical aspects of crowd-sourcing and crowd-funding. We will be aiming to write for a wide audience including those working in public archaeology, cultural heritage, museum studies, computational archaeology and the digital humanities, as well as practitioners in the heritage and creative sectors.

\r\n

But in this first blog post, let’s start by setting out the context for our research. Recently, increasing attention has been dedicated to the potential of digital technologies for supporting more egalitarian and transparent practice, as well as wider participation.  One fairly well-known digital method to pursue these goals has been ‘crowd-sourcing’, the practice of seeking information, services or funds in small chunks from a ‘crowd’ of people including as yet wholly anonymous members of the public as well as those already belonging to relevant communities of interest. Archaeology and crowd-sourcing should make for a great fit, because, while archaeology enjoys widespread appeal, it tries to protect, document and understand a massive dwindling resource, traditionally supported by tiny pots of money.

\r\n

Early examples of crowd-sourcing in archaeology and related disciplines have focused on things like inspecting imagery to detect archaeological features, pooling wartime tangible heritage, transcribing papyri, interrogating built architecture and public recording of metal artefacts. In other cases, appeals to the ‘crowd’ have been made to micro-finance student dissertations, major excavations and long-term community projects all over the globe. What past crowd-sourcing and crowd-funding experiments have in common is that they mainly embraced ‘contributory’ models, where members of the public were asked to contribute their skills or their money in support of research agendas that were typically designed by academics.

\r\n

We too wish to create a community space where anyone with an interest in archaeology and history can help build archaeological knowledge by contributing to existing projects, but perhaps more ambitiously we also want to have a crack at proper ‘co-producton’ (to tack on yet more jargon!) and offer serious opportunities for traditional academics, volunteer societies and other enthusiasts to dream up new research initiatives collectively, and then to fund them via crowd-funding appeals.

\r\n

What will be the ethical implications of online community co-production like this? What should be the consequences of crowd-funding for heritage policy? How, technically speaking, do we best build a multi-purpose, wide-range web platform of this kind? How can we best encourage fun, productive and inclusive online communities? How should we evaluate whether our approaches are effective or not?

\r\n

These are possible subjects of future posts, but we promise to throw in some more light-hearted and serendipitous stuff too, so please do keep following!

\r\n

Chiara, Andy & Dan

', 'Crowd-sourcing, crowd-funding and archaeology', '', 'publish', 'open', 'open', '', 'crowd-sourcing-crowd-funding-and-archaeology', '', '\nhttp://research.micropasts.org/people/', '2013-10-22 15:55:55', '2013-10-22 15:55:55', '', 0, 'http://research.micropasts.org/?p=91', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (92, 2, '2013-10-22 15:55:55', '2013-10-22 15:55:55', '

Hello!

\r\n

We are a team of researchers from University College London and the British Museum. In the past few years, we have been looking into the new opportunities provided by digital technologies for public engagement in archaeology, through several seminar series and a recent edited volume on the topic. We are now lucky enough to have funds from the AHRC to work on a project entitled Crowd and Community Fuelled Archaeological Research which has started this month.

\r\n

The core of our efforts day-to-day will go into enabling a more general online platform for crowd-sourcing and crowd-funding that we have called Micropasts. The platform’s goal is to bring archaeological enthusiasts of all kinds -- traditional academics, archaeological societies, interested individual members of the public -- together to create new, high quality archaeological and historical data about the human past.

\r\n

This research blog also allows some of us to indulge our more navel-gazing tendencies (!) and to post about themes ranging from public archaeology to research ethics to the technical aspects of crowd-sourcing and crowd-funding. We will be aiming to write for a wide audience including those working in public archaeology, cultural heritage, museum studies, computational archaeology and the digital humanities, as well as practitioners in the heritage and creative sectors.

\r\n

But in this first blog post, let’s start by setting out the context for our research. Recently, increasing attention has been dedicated to the potential of digital technologies for supporting more egalitarian and transparent practice, as well as wider participation.  One fairly well-known digital method to pursue these goals has been ‘crowd-sourcing’, the practice of seeking information, services or funds in small chunks from a ‘crowd’ of people including as yet wholly anonymous members of the public as well as those already belonging to relevant communities of interest. Archaeology and crowd-sourcing should make for a great fit, because, while archaeology enjoys widespread appeal, it tries to protect, document and understand a massive dwindling resource, traditionally supported by tiny pots of money.

\r\n

Early examples of crowd-sourcing in archaeology and related disciplines have focused on things like inspecting imagery to detect archaeological features, pooling wartime tangible heritage, transcribing papyri, interrogating built architecture and public recording of metal artefacts. In other cases, appeals to the ‘crowd’ have been made to micro-finance student dissertations, major excavations and long-term community projects all over the globe. What past crowd-sourcing and crowd-funding experiments have in common is that they mainly embraced ‘contributory’ models, where members of the public were asked to contribute their skills or their money in support of research agendas that were typically designed by academics.

\r\n

We too wish to create a community space where anyone with an interest in archaeology and history can help build archaeological knowledge by contributing to existing projects, but perhaps more ambitiously we also want to have a crack at proper ‘co-producton’ (to tack on yet more jargon!) and offer serious opportunities for traditional academics, volunteer societies and other enthusiasts to dream up new research initiatives collectively, and then to fund them via crowd-funding appeals.

\r\n

What will be the ethical implications of online community co-production like this? What should be the consequences of crowd-funding for heritage policy? How, technically speaking, do we best build a multi-purpose, wide-range web platform of this kind? How can we best encourage fun, productive and inclusive online communities? How should we evaluate whether our approaches are effective or not?

\r\n

These are possible subjects of future posts, but we promise to throw in some more light-hearted and serendipitous stuff too, so please do keep following!

\r\n

Chiara, Andy & Dan

', 'Crowd-sourcing, crowd-funding and archaeology', '', 'inherit', 'open', 'open', '', '91-revision-v1', '', '', '2013-10-22 15:55:55', '2013-10-22 15:55:55', '', 91, 'http://research.micropasts.org/2013/10/22/91-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (93, 2, '2013-10-23 08:34:42', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 08:34:42', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=93', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (94, 1, '2013-10-23 08:54:42', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 08:54:42', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=94', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (95, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Custom Logo Uploader', '', 'draft', 'closed', 'closed', '', 'of-custom_logo_uploader', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=95', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (96, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Favicon Uploader', '', 'draft', 'closed', 'closed', '', 'of-favicon_uploader', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=96', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (97, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Apple Touch Uploader', '', 'draft', 'closed', 'closed', '', 'of-apple_touch_uploader', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=97', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (98, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Image One Slide', '', 'draft', 'closed', 'closed', '', 'of-image_one_slide', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=98', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (99, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Image Two Slide', '', 'draft', 'closed', 'closed', '', 'of-image_two_slide', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=99', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (100, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Image Three Slide', '', 'draft', 'closed', 'closed', '', 'of-image_three_slide', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=100', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (101, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image One', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_one', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=101', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (102, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image Two', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_two', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=102', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (103, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image Three', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_three', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=103', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (104, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Portfolio Lite Image Four', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_portfolio_lite_image_four', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=104', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (105, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Boxes Lite Image One', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_boxes_lite_image_one', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=105', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (106, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Boxes Lite Image Two', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_boxes_lite_image_two', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=106', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (107, 2, '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 'Cyberchimps Blog Boxes Lite Image Three', '', 'draft', 'closed', 'closed', '', 'of-cyberchimps_blog_boxes_lite_image_three', '', '', '2013-10-23 10:00:23', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?post_type=cybrchmpsthmoption&p=107', 0, 'cybrchmpsthmoption', '', 0); +INSERT INTO `wp_2_posts` VALUES (108, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=108', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (109, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=109', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (110, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=110', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (111, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=111', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (112, 2, '2013-10-23 10:09:54', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:54', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=112', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (113, 2, '2013-10-23 10:09:55', '0000-00-00 00:00:00', ' ', '', '', 'draft', 'open', 'open', '', '', '', '', '2013-10-23 10:09:55', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=113', 1, 'nav_menu_item', '', 0); +INSERT INTO `wp_2_posts` VALUES (114, 2, '2013-10-23 10:14:32', '2013-10-23 10:14:32', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs121.jpg', 'cs121.jpg', '', 'inherit', 'closed', 'open', '', 'cs121-jpg', '', '', '2013-10-23 10:14:32', '2013-10-23 10:14:32', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs121.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (115, 2, '2013-10-23 10:16:26', '2013-10-23 10:16:26', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_2.jpg', 'cs12_2.jpg', '', 'inherit', 'closed', 'open', '', 'cs12_2-jpg', '', '', '2013-10-23 10:16:26', '2013-10-23 10:16:26', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_2.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (116, 1, '2013-10-23 10:20:40', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 10:20:40', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=116', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (117, 2, '2013-10-23 10:21:17', '2013-10-23 10:21:17', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs122.jpg', 'cs122.jpg', '', 'inherit', 'open', 'open', '', 'cs122-jpg', '', '', '2013-10-23 10:21:17', '2013-10-23 10:21:17', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs122.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (118, 2, '2013-10-23 10:28:39', '2013-10-23 10:28:39', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg', 'cs123.jpg', '', 'inherit', 'closed', 'open', '', 'cs123-jpg', '', '', '2013-10-23 10:28:39', '2013-10-23 10:28:39', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs123.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (119, 2, '2013-10-23 10:37:40', '2013-10-23 10:37:40', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg', 'cs124.jpg', '', 'inherit', 'closed', 'open', '', 'cs124-jpg', '', '', '2013-10-23 10:37:40', '2013-10-23 10:37:40', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs124.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (120, 1, '2013-10-23 10:53:06', '2013-10-23 10:53:06', '', '400pxWideMicropasts', '', 'inherit', 'open', 'open', '', '400pxwidemicropasts', '', '', '2013-10-23 10:53:06', '2013-10-23 10:53:06', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/400pxWideMicropasts.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (121, 2, '2013-10-23 10:53:45', '2013-10-23 10:53:45', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_21.jpg', 'cs12_21.jpg', '', 'inherit', 'closed', 'open', '', 'cs12_21-jpg', '', '', '2013-10-23 10:53:45', '2013-10-23 10:53:45', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs12_21.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (122, 2, '2013-10-23 10:54:24', '2013-10-23 10:54:24', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs125.jpg', 'cs125.jpg', '', 'inherit', 'closed', 'open', '', 'cs125-jpg', '', '', '2013-10-23 10:54:24', '2013-10-23 10:54:24', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs125.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (123, 2, '2013-10-23 10:55:33', '2013-10-23 10:55:33', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg', 'cs126.jpg', '', 'inherit', 'closed', 'open', '', 'cs126-jpg', '', '', '2013-10-23 10:55:33', '2013-10-23 10:55:33', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs126.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (124, 1, '2013-10-23 11:11:17', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 11:11:17', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=124', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (125, 1, '2013-10-23 11:13:55', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 11:13:55', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=125', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (126, 2, '2013-10-23 12:02:57', '2013-10-23 12:02:57', 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs127.jpg', 'cs127.jpg', '', 'inherit', 'closed', 'open', '', 'cs127-jpg', '', '', '2013-10-23 12:02:57', '2013-10-23 12:02:57', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs127.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (127, 2, '2013-10-23 12:04:22', '2013-10-23 12:04:22', '', 'cs12', '', 'inherit', 'open', 'open', '', 'cs12', '', '', '2013-10-23 12:04:22', '2013-10-23 12:04:22', '', 0, 'http://research.micropasts.org/wp-content/uploads/sites/2/2013/10/cs128.jpg', 0, 'attachment', 'image/jpeg', 0); +INSERT INTO `wp_2_posts` VALUES (128, 1, '2013-10-23 22:05:40', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-23 22:05:40', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=128', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (129, 1, '2013-10-23 22:09:01', '2013-10-23 22:09:01', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to:\r\n
    \r\n
  1. help with the co-production of open archaeological data through crowd-sourcing
  2. \r\n
  3. co-design new research agendas using the community forum
  4. \r\n
  5. micro-fund entirely new research agendas via crowd-funding.
  6. \r\n
\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-23 22:09:01', '2013-10-23 22:09:01', '', 75, 'http://research.micropasts.org/2013/10/23/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (130, 1, '2013-10-24 06:56:18', '2013-10-24 06:56:18', 'Micropasts is the web platform that we are using to create a place where \'traditional\' academics, established communities of interest in archaeology, other archaeological enthusiasts and curious can collaborate on projects about our human history.\r\n\r\nThe platform is designed to allow one or more of three kinds of engagement, which will be fostered both simultaneously and in sequence, for the whole duration of project. Contributors will be able to:\r\n
    \r\n
  1. help with the co-production of open archaeological data through crowd-sourcing
  2. \r\n
  3. co-design new research agendas using the community forum
  4. \r\n
  5. micro-fund entirely new research agendas via crowd-funding.
  6. \r\n
\r\n ', 'Micropasts platform', '', 'inherit', 'open', 'open', '', '75-revision-v1', '', '', '2013-10-24 06:56:18', '2013-10-24 06:56:18', '', 75, 'http://research.micropasts.org/2013/10/24/75-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (131, 1, '2013-10-24 06:56:55', '2013-10-24 06:56:55', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 06:56:55', '2013-10-24 06:56:55', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (132, 2, '2013-10-24 14:03:59', '2013-10-24 14:03:59', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland OBE, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-24 14:03:59', '2013-10-24 14:03:59', '', 16, 'http://research.micropasts.org/2013/10/24/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (133, 2, '2013-10-24 20:02:55', '2013-10-24 20:02:55', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\n"This call seeks to explore new research opportunities at the interface and intersections between the Connected Communities Programme, AHRC’s Digital Transformations in the Arts and Humanities Theme, the Cross-Council Digital Economy Programme and other AHRC activities relating to the Creative Economy. Building on the creative capacities of communities and their immense interest in exploring their cultures and heritage, the call aims to harness the transformative power of digital technologies to stimulate innovative engagements and research co-production between communities and researchers."\r\nArts and Humanities Research Council\r\n\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:02:55', '2013-10-24 20:02:55', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (134, 2, '2013-10-24 20:03:17', '2013-10-24 20:03:17', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:03:17', '2013-10-24 20:03:17', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (135, 2, '2013-10-24 20:03:27', '2013-10-24 20:03:27', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods\r\n\r\n \r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:03:27', '2013-10-24 20:03:27', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (136, 2, '2013-10-24 20:03:56', '2013-10-24 20:03:56', 'This project will be using the Micropasts platform and crowd-sourcing methods to allow traditional academics and other communities in archaeology to co-produce innovative open datasets, and thereafter pioneers a novel participatory model in which these same groups co-design and micro-fund follow-up research.\r\n\r\nArchaeology has long been successful in piquing the interest of ‘professional’ practitioners, organised ‘amateur’ societies and the wider public alike. In the UK especially, it has benefited from a tradition of public engagement, volunteer fieldwork and special interest groups. However, beyond the trench edge or gallery case, cooperation on the creation of archaeological knowledge is rare indeed.\r\n\r\nThis project explores the potential for massive online collaboration to create large numbers of 3D models of artefacts, enhance existing archaeological databases, add rich new content to images and micro-fund new collaboratively-developed research agendas.\r\n\r\nWe want to deepen and transform existing links between two major London-based research institutions, the UCL Institute of Archaeology and the British Museum, as well as with both well-established archaeological societies and the wider public. The future health of our archaeological heritage lies in research that is more collaboratively designed and funded, more efficient in generating data of widely-perceived value, and more open in sharing it. Our guiding rationale is that such goals are entirely achievable if we create enduring community and crowd connections and harness the right kinds of digital methods.\r\n\r\nThe project Crowd and Community-fuelled Archaeological Research (2013-2015) is funded by the Arts and Humanities Research Council (AHRC), under the Capital Funding Call for Digital Transformations in Community Research Co-Production in the Arts and Humanities.\r\n\r\nUCL-logo-small-use-blk-300x88bmlogo_printportable_antiquities_scheme_logoahrclogo', 'About the project', '', 'inherit', 'open', 'open', '', '26-revision-v1', '', '', '2013-10-24 20:03:56', '2013-10-24 20:03:56', '', 26, 'http://research.micropasts.org/2013/10/24/26-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (137, 2, '2013-10-25 18:12:48', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-25 18:12:48', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=137', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (138, 2, '2013-10-25 18:13:31', '2013-10-25 18:13:31', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nLorna Richardson, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-25 18:13:31', '2013-10-25 18:13:31', '', 16, 'http://research.micropasts.org/2013/10/25/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (139, 2, '2013-10-25 18:30:25', '2013-10-25 18:30:25', 'Project team\r\n\r\nAndrew Bevan, UCL Institute of Archaeology\r\nPrincipal investigator\r\n\r\n\r\nDaniel Pett, The British Museum\r\nCo-investigator\r\n\r\nRachael Sparks, UCL Institute of Archaeology\r\nCo-investigator\r\n\r\nChiara Bonacchi, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nAdi Keinan, UCL Institute of Archaeology\r\nResearch Associate\r\n\r\nIan Carroll, UCL Institute of Archaeology\r\nArchival Collections Liaison\r\n\r\nNeil Wilkin, The British Museum, Dept. of Prehistory and Europe\r\nArchival Collections Liaison\r\n\r\n \r\n\r\nAdvisory group\r\n\r\nRoger Bland, The British Museum, Dept. of Prehistory and Europe\r\n\r\nTim Causer, UCL Laws\r\n\r\nNathalie Cohen, Thames Discovery Project\r\n\r\nStuart Dunn, King\'s College London, Digital Humanities\r\n\r\nSusie Green, UCL Institute of Archaeology\r\n\r\nDaniel Lombraña González, Citizen Cyberscience Centre\r\n\r\n, Waveney Valley Community Archaeology Group\r\n\r\nMia Ridge, Open University\r\n\r\nStuart Robson, UCL Dept. of Civil, Environmental and Geomatic Engineering\r\n\r\nMelissa Terras, UCL Centre for Digital Humanities\r\n\r\n \r\n\r\n ', 'People', '', 'inherit', 'open', 'open', '', '16-revision-v1', '', '', '2013-10-25 18:30:25', '2013-10-25 18:30:25', '', 16, 'http://research.micropasts.org/2013/10/25/16-revision-v1/', 0, 'revision', '', 0); +INSERT INTO `wp_2_posts` VALUES (140, 1, '2013-10-26 07:51:07', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-26 07:51:07', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=140', 0, 'post', '', 0); +INSERT INTO `wp_2_posts` VALUES (141, 1, '2013-10-29 23:44:20', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2013-10-29 23:44:20', '0000-00-00 00:00:00', '', 0, 'http://research.micropasts.org/?p=141', 0, 'post', '', 0); +# +# End of data contents of table `wp_2_posts` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_term_relationships` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_term_relationships` +# + +DROP TABLE IF EXISTS `wp_2_term_relationships`; + + +# +# Table structure of table `wp_2_term_relationships` +# + +CREATE TABLE `wp_2_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=InnoDB DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_term_relationships` +# + +INSERT INTO `wp_2_term_relationships` VALUES (1, 1, 0); +INSERT INTO `wp_2_term_relationships` VALUES (69, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (70, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (71, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (72, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (74, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (80, 2, 0); +INSERT INTO `wp_2_term_relationships` VALUES (91, 1, 0); +# +# End of data contents of table `wp_2_term_relationships` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_term_taxonomy` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_term_taxonomy` +# + +DROP TABLE IF EXISTS `wp_2_term_taxonomy`; + + +# +# Table structure of table `wp_2_term_taxonomy` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_term_taxonomy` +# + +INSERT INTO `wp_2_term_taxonomy` VALUES (1, 1, 'category', '', 0, 1); +INSERT INTO `wp_2_term_taxonomy` VALUES (2, 2, 'nav_menu', '', 0, 6); +# +# End of data contents of table `wp_2_term_taxonomy` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_2_terms` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_2_terms` +# + +DROP TABLE IF EXISTS `wp_2_terms`; + + +# +# Table structure of table `wp_2_terms` +# + +CREATE TABLE `wp_2_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=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_2_terms` +# + +INSERT INTO `wp_2_terms` VALUES (1, 'Research', 'uncategorized', 0); +INSERT INTO `wp_2_terms` VALUES (2, 'Menu 1', 'menu-1', 0); +# +# End of data contents of table `wp_2_terms` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_usermeta` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_usermeta` +# + +DROP TABLE IF EXISTS `wp_usermeta`; + + +# +# Table structure of table `wp_usermeta` +# + +CREATE TABLE `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=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_usermeta` +# + +INSERT INTO `wp_usermeta` VALUES (1, 1, 'first_name', 'The Admin'); +INSERT INTO `wp_usermeta` VALUES (2, 1, 'last_name', 'Account'); +INSERT INTO `wp_usermeta` VALUES (3, 1, 'nickname', 'theboss'); +INSERT INTO `wp_usermeta` VALUES (4, 1, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (5, 1, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (6, 1, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (7, 1, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (8, 1, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (9, 1, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (10, 1, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (11, 1, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (12, 1, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (13, 1, 'show_welcome_panel', '1'); +INSERT INTO `wp_usermeta` VALUES (14, 1, 'wp_dashboard_quick_press_last_post_id', '256'); +INSERT INTO `wp_usermeta` VALUES (15, 2, 'first_name', 'Chiara'); +INSERT INTO `wp_usermeta` VALUES (16, 2, 'last_name', 'Bonacchi'); +INSERT INTO `wp_usermeta` VALUES (17, 2, 'nickname', 'chiara'); +INSERT INTO `wp_usermeta` VALUES (18, 2, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (19, 2, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (20, 2, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (21, 2, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (22, 2, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (23, 2, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (24, 2, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (25, 2, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (26, 2, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (27, 3, 'first_name', 'Andrew'); +INSERT INTO `wp_usermeta` VALUES (28, 3, 'last_name', 'Bevan'); +INSERT INTO `wp_usermeta` VALUES (29, 3, 'nickname', 'abevan'); +INSERT INTO `wp_usermeta` VALUES (30, 3, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (31, 3, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (32, 3, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (33, 3, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (34, 3, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (35, 3, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (36, 3, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (37, 3, 'wp_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (38, 3, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (39, 1, 'wporg_favorites', ''); +INSERT INTO `wp_usermeta` VALUES (40, 2, 'wp_dashboard_quick_press_last_post_id', '257'); +INSERT INTO `wp_usermeta` VALUES (41, 2, 'wp_user-settings', 'editor=tinymce&libraryContent=browse'); +INSERT INTO `wp_usermeta` VALUES (42, 2, 'wp_user-settings-time', '1382025780'); +INSERT INTO `wp_usermeta` VALUES (43, 2, 'closedpostboxes_page', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (44, 2, 'metaboxhidden_page', 'a:4:{i:0;s:10:"postcustom";i:1;s:16:"commentstatusdiv";i:2;s:7:"slugdiv";i:3;s:9:"authordiv";}'); +INSERT INTO `wp_usermeta` VALUES (45, 1, 'wp_user-settings', 'editor=tinymce&unfold=1&mfold=o'); +INSERT INTO `wp_usermeta` VALUES (46, 1, 'wp_user-settings-time', '1381874810'); +INSERT INTO `wp_usermeta` VALUES (47, 3, 'wp_dashboard_quick_press_last_post_id', '198'); +INSERT INTO `wp_usermeta` VALUES (48, 1, 'source_domain', 'micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (49, 1, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (50, 4, 'first_name', ''); +INSERT INTO `wp_usermeta` VALUES (51, 4, 'last_name', ''); +INSERT INTO `wp_usermeta` VALUES (52, 4, 'nickname', 'research'); +INSERT INTO `wp_usermeta` VALUES (53, 4, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (54, 4, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (55, 4, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (56, 4, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (57, 4, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (58, 4, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (61, 4, 'dismissed_wp_pointers', 'wp330_toolbar,wp330_saving_widgets,wp340_choose_image_from_library,wp340_customize_current_theme_link,wp350_media,wp360_revisions,wp360_locks'); +INSERT INTO `wp_usermeta` VALUES (62, 4, 'show_welcome_panel', '2'); +INSERT INTO `wp_usermeta` VALUES (63, 4, 'primary_blog', '2'); +INSERT INTO `wp_usermeta` VALUES (64, 4, 'source_domain', 'research.micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (65, 4, 'wp_2_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (66, 4, 'wp_2_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (67, 2, 'primary_blog', '2'); +INSERT INTO `wp_usermeta` VALUES (68, 2, 'source_domain', 'research.micropasts.org'); +INSERT INTO `wp_usermeta` VALUES (69, 2, 'wp_2_capabilities', 'a:1:{s:13:"administrator";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (70, 2, 'wp_2_user_level', '10'); +INSERT INTO `wp_usermeta` VALUES (71, 1, 'wsl_user', 'Google'); +INSERT INTO `wp_usermeta` VALUES (72, 1, 'wsl_user_gender', 'male'); +INSERT INTO `wp_usermeta` VALUES (73, 1, 'wsl_user_age', ''); +INSERT INTO `wp_usermeta` VALUES (74, 1, 'wsl_user_image', 'https://lh3.googleusercontent.com/-AK-Hs658Ju0/AAAAAAAAAAI/AAAAAAAAEvg/hVWdC1XohRo/photo.jpg'); +INSERT INTO `wp_usermeta` VALUES (75, 2, 'wp_2_dashboard_quick_press_last_post_id', '137'); +INSERT INTO `wp_usermeta` VALUES (76, 3, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (77, 2, 'wp_2_user-settings', 'libraryContent=browse&editor=tinymce'); +INSERT INTO `wp_usermeta` VALUES (78, 2, 'wp_2_user-settings-time', '1382114711'); +INSERT INTO `wp_usermeta` VALUES (79, 2, '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";}'); +INSERT INTO `wp_usermeta` VALUES (80, 2, 'metaboxhidden_nav-menus', 'a:2:{i:0;s:8:"add-post";i:1;s:12:"add-post_tag";}'); +INSERT INTO `wp_usermeta` VALUES (81, 2, 'nav_menu_recently_edited', '2'); +INSERT INTO `wp_usermeta` VALUES (82, 3, '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";}'); +INSERT INTO `wp_usermeta` VALUES (83, 3, 'metaboxhidden_nav-menus', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (84, 3, 'wp_user-settings', 'editor=tinymce&libraryContent=browse&imgsize=thumbnail&hidetb=1&wplink=1&urlbutton=none'); +INSERT INTO `wp_usermeta` VALUES (85, 3, 'wp_user-settings-time', '1382180449'); +INSERT INTO `wp_usermeta` VALUES (86, 3, 'webIdLocation', 'localWebId'); +INSERT INTO `wp_usermeta` VALUES (87, 3, 'webId', ''); +INSERT INTO `wp_usermeta` VALUES (88, 3, 'publicKeyModulus', ''); +INSERT INTO `wp_usermeta` VALUES (89, 3, 'publicKeyExponent', ''); +INSERT INTO `wp_usermeta` VALUES (90, 3, 'additionalRdf', ''); +INSERT INTO `wp_usermeta` VALUES (91, 5, 'first_name', 'Katharine'); +INSERT INTO `wp_usermeta` VALUES (92, 5, 'last_name', 'Kelland'); +INSERT INTO `wp_usermeta` VALUES (93, 5, 'nickname', 'katharine_kelland'); +INSERT INTO `wp_usermeta` VALUES (94, 5, 'description', ''); +INSERT INTO `wp_usermeta` VALUES (95, 5, 'rich_editing', 'true'); +INSERT INTO `wp_usermeta` VALUES (96, 5, 'comment_shortcuts', 'false'); +INSERT INTO `wp_usermeta` VALUES (97, 5, 'admin_color', 'fresh'); +INSERT INTO `wp_usermeta` VALUES (98, 5, 'use_ssl', '0'); +INSERT INTO `wp_usermeta` VALUES (99, 5, 'show_admin_bar_front', 'true'); +INSERT INTO `wp_usermeta` VALUES (100, 5, 'wp_capabilities', 'a:1:{s:10:"subscriber";b:1;}'); +INSERT INTO `wp_usermeta` VALUES (101, 5, 'wp_user_level', '0'); +INSERT INTO `wp_usermeta` VALUES (102, 5, 'Google', '114760327985646315403'); +INSERT INTO `wp_usermeta` VALUES (103, 5, 'wsl_user', 'Google'); +INSERT INTO `wp_usermeta` VALUES (104, 5, 'wsl_user_gender', 'female'); +INSERT INTO `wp_usermeta` VALUES (105, 5, 'wsl_user_age', ''); +INSERT INTO `wp_usermeta` VALUES (106, 5, 'wsl_user_image', ''); +INSERT INTO `wp_usermeta` VALUES (107, 5, 'primary_blog', '1'); +INSERT INTO `wp_usermeta` VALUES (108, 3, 'closedpostboxes_page', 'a:0:{}'); +INSERT INTO `wp_usermeta` VALUES (109, 3, 'metaboxhidden_page', 'a:3:{i:0;s:10:"postcustom";i:1;s:7:"slugdiv";i:2;s:9:"authordiv";}'); +INSERT INTO `wp_usermeta` VALUES (110, 3, 'closedpostboxes_nav-menus', 'a:0:{}'); +# +# End of data contents of table `wp_usermeta` +# -------------------------------------------------------- + +# -------------------------------------------------------- +# Table: `wp_users` +# -------------------------------------------------------- + + +# +# Delete any existing table `wp_users` +# + +DROP TABLE IF EXISTS `wp_users`; + + +# +# Table structure of table `wp_users` +# + +CREATE TABLE `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 '', + `spam` tinyint(2) NOT NULL DEFAULT '0', + `deleted` tinyint(2) NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `user_login_key` (`user_login`), + KEY `user_nicename` (`user_nicename`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ; + +# +# Data contents of table `wp_users` +# + +INSERT INTO `wp_users` VALUES (1, 'theboss', '$P$BcDoeIClhaQqKUUPXoC629q/Lrkiaq/', 'theboss', 'danielpett@gmail.com', '', '2013-09-26 21:18:49', '', 0, 'theboss', 0, 0); +INSERT INTO `wp_users` VALUES (2, 'chiara', '$P$ByGuyuCvwkS9EL2LBlM.X2F5cAvu/R.', 'chiara', 'chiara.bonacchi@googlemail.com', '', '2013-09-26 21:20:25', '', 0, 'Chiara Bonacchi', 0, 0); +INSERT INTO `wp_users` VALUES (3, 'abevan', '$P$BRxIIKGiFDA9oPZxh38cznh5ncWdcY1', 'abevan', 'a.bevan@ucl.ac.uk', '', '2013-09-26 21:21:18', '', 0, 'Andrew Bevan', 0, 0); +INSERT INTO `wp_users` VALUES (4, 'research', '$P$BYyjcFSUgMa7hcoxafzzQYcOF0Zo/O/', 'research', 'info@micropasts.org', '', '2013-10-09 18:47:13', '', 0, 'research', 0, 0); +INSERT INTO `wp_users` VALUES (5, 'katharine_kelland', '$P$BlwTzCeewVU2y/5PgCcSnXqpAOwDy./', 'katharine_kelland', 'katekelland@googlemail.com', 'https://profiles.google.com/114760327985646315403', '2013-10-20 14:53:44', '', 0, 'Katharine Kelland', 0, 0); +# +# End of data contents of table `wp_users` +# -------------------------------------------------------- + diff --git a/wp-content/index.php b/wp-content/index.php new file mode 100644 index 0000000..6220032 --- /dev/null +++ b/wp-content/index.php @@ -0,0 +1,2 @@ + + * ... + * $document->title = 'Something'; + * echo $document->title; + * ... + * + * + * Additionally, the field values can be iterated with foreach + * + * + * foreach ($document as $fieldName => $fieldValue) + * { + * ... + * } + * + */ +class Apache_Solr_Document implements IteratorAggregate +{ + /** + * SVN Revision meta data for this class + */ + const SVN_REVISION = '$Revision$'; + + /** + * SVN ID meta data for this class + */ + const SVN_ID = '$Id$'; + + /** + * Document boost value + * + * @var float + */ + protected $_documentBoost = false; + + /** + * Document field values, indexed by name + * + * @var array + */ + protected $_fields = array(); + + /** + * Document field boost values, indexed by name + * + * @var array array of floats + */ + protected $_fieldBoosts = array(); + + /** + * Clear all boosts and fields from this document + */ + public function clear() + { + $this->_documentBoost = false; + + $this->_fields = array(); + $this->_fieldBoosts = array(); + } + + /** + * Get current document boost + * + * @return mixed will be false for default, or else a float + */ + public function getBoost() + { + return $this->_documentBoost; + } + + /** + * Set document boost factor + * + * @param mixed $boost Use false for default boost, else cast to float that should be > 0 or will be treated as false + */ + public function setBoost($boost) + { + $boost = (float) $boost; + + if ($boost > 0.0) + { + $this->_documentBoost = $boost; + } + else + { + $this->_documentBoost = false; + } + } + + /** + * Add a value to a multi-valued field + * + * NOTE: the solr XML format allows you to specify boosts + * PER value even though the underlying Lucene implementation + * only allows a boost per field. To remedy this, the final + * field boost value will be the product of all specified boosts + * on field values - this is similar to SolrJ's functionality. + * + * + * $doc = new Apache_Solr_Document(); + * + * $doc->addField('foo', 'bar', 2.0); + * $doc->addField('foo', 'baz', 3.0); + * + * // resultant field boost will be 6! + * echo $doc->getFieldBoost('foo'); + * + * + * @param string $key + * @param mixed $value + * @param mixed $boost Use false for default boost, else cast to float that should be > 0 or will be treated as false + */ + public function addField($key, $value, $boost = false) + { + if (!isset($this->_fields[$key])) + { + // create holding array if this is the first value + $this->_fields[$key] = array(); + } + else if (!is_array($this->_fields[$key])) + { + // move existing value into array if it is not already an array + $this->_fields[$key] = array($this->_fields[$key]); + } + + if ($this->getFieldBoost($key) === false) + { + // boost not already set, set it now + $this->setFieldBoost($key, $boost); + } + else if ((float) $boost > 0.0) + { + // multiply passed boost with current field boost - similar to SolrJ implementation + $this->_fieldBoosts[$key] *= (float) $boost; + } + + // add value to array + $this->_fields[$key][] = $value; + } + + /** + * Handle the array manipulation for a multi-valued field + * + * @param string $key + * @param string $value + * @param mixed $boost Use false for default boost, else cast to float that should be > 0 or will be treated as false + * + * @deprecated Use addField(...) instead + */ + public function setMultiValue($key, $value, $boost = false) + { + $this->addField($key, $value, $boost); + } + + /** + * Get field information + * + * @param string $key + * @return mixed associative array of info if field exists, false otherwise + */ + public function getField($key) + { + if (isset($this->_fields[$key])) + { + return array( + 'name' => $key, + 'value' => $this->_fields[$key], + 'boost' => $this->getFieldBoost($key) + ); + } + + return false; + } + + /** + * Set a field value. Multi-valued fields should be set as arrays + * or instead use the addField(...) function which will automatically + * make sure the field is an array. + * + * @param string $key + * @param mixed $value + * @param mixed $boost Use false for default boost, else cast to float that should be > 0 or will be treated as false + */ + public function setField($key, $value, $boost = false) + { + $this->_fields[$key] = $value; + $this->setFieldBoost($key, $boost); + } + + /** + * Get the currently set field boost for a document field + * + * @param string $key + * @return float currently set field boost, false if one is not set + */ + public function getFieldBoost($key) + { + return isset($this->_fieldBoosts[$key]) ? $this->_fieldBoosts[$key] : false; + } + + /** + * Set the field boost for a document field + * + * @param string $key field name for the boost + * @param mixed $boost Use false for default boost, else cast to float that should be > 0 or will be treated as false + */ + public function setFieldBoost($key, $boost) + { + $boost = (float) $boost; + + if ($boost > 0.0) + { + $this->_fieldBoosts[$key] = $boost; + } + else + { + $this->_fieldBoosts[$key] = false; + } + } + + /** + * Return current field boosts, indexed by field name + * + * @return array + */ + public function getFieldBoosts() + { + return $this->_fieldBoosts; + } + + /** + * Get the names of all fields in this document + * + * @return array + */ + public function getFieldNames() + { + return array_keys($this->_fields); + } + + /** + * Get the values of all fields in this document + * + * @return array + */ + public function getFieldValues() + { + return array_values($this->_fields); + } + + /** + * IteratorAggregate implementation function. Allows usage: + * + * + * foreach ($document as $key => $value) + * { + * ... + * } + * + */ + public function getIterator() + { + $arrayObject = new ArrayObject($this->_fields); + + return $arrayObject->getIterator(); + } + + /** + * Magic get for field values + * + * @param string $key + * @return mixed + */ + public function __get($key) + { + if (isset($this->_fields[$key])) + { + return $this->_fields[$key]; + } + + return null; + } + + /** + * Magic set for field values. Multi-valued fields should be set as arrays + * or instead use the addField(...) function which will automatically + * make sure the field is an array. + * + * @param string $key + * @param mixed $value + */ + public function __set($key, $value) + { + $this->setField($key, $value); + } + + /** + * Magic isset for fields values. Do not call directly. Allows usage: + * + * + * isset($document->some_field); + * + * + * @param string $key + * @return boolean + */ + public function __isset($key) + { + return isset($this->_fields[$key]); + } + + /** + * Magic unset for field values. Do not call directly. Allows usage: + * + * + * unset($document->some_field); + * + * + * @param string $key + */ + public function __unset($key) + { + unset($this->_fields[$key]); + unset($this->_fieldBoosts[$key]); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Exception.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Exception.php new file mode 100644 index 0000000..969657b --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Exception.php @@ -0,0 +1,50 @@ +, Donovan Jimenez + */ + +/** + * Convenience class that implements the transport implementation. Can be extended by + * real implementations to do some of the common book keeping + */ +abstract class Apache_Solr_HttpTransport_Abstract implements Apache_Solr_HttpTransport_Interface +{ + /** + * Our default timeout value for requests that don't specify a timeout + * + * @var float + */ + private $_defaultTimeout = false; + + /** + * Get the current default timeout setting (initially the default_socket_timeout ini setting) + * in seconds + * + * @return float + */ + public function getDefaultTimeout() + { + // lazy load the default timeout from the ini settings + if ($this->_defaultTimeout === false) + { + $this->_defaultTimeout = (int) ini_get('default_socket_timeout'); + + // double check we didn't get 0 for a timeout + if ($this->_defaultTimeout <= 0) + { + $this->_defaultTimeout = 60; + } + } + + return $this->_defaultTimeout; + } + + /** + * Set the current default timeout for all HTTP requests + * + * @param float $timeout + */ + public function setDefaultTimeout($timeout) + { + $timeout = (float) $timeout; + + if ($timeout >= 0) + { + $this->_defaultTimeout = $timeout; + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Curl.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Curl.php new file mode 100644 index 0000000..73ee60a --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Curl.php @@ -0,0 +1,224 @@ +, Donovan Jimenez + */ + +// Require Apache_Solr_HttpTransport_Abstract +require_once(dirname(__FILE__) . '/Abstract.php'); + +/** + * A Curl based HTTP transport. Uses a single curl session for all requests. + */ +class Apache_Solr_HttpTransport_Curl extends Apache_Solr_HttpTransport_Abstract +{ + /** + * SVN Revision meta data for this class + */ + const SVN_REVISION = '$Revision:$'; + + /** + * SVN ID meta data for this class + */ + const SVN_ID = '$Id:$'; + + /** + * Curl Session Handle + * + * @var resource + */ + private $_curl; + + /** + * Initializes a curl session + */ + public function __construct() + { + // initialize a CURL session + $this->_curl = curl_init(); + + // set common options that will not be changed during the session + curl_setopt_array($this->_curl, array( + // return the response body from curl_exec + CURLOPT_RETURNTRANSFER => true, + + // get the output as binary data + CURLOPT_BINARYTRANSFER => true, + + // we do not need the headers in the output, we get everything we need from curl_getinfo + CURLOPT_HEADER => false + )); + } + + /** + * Closes a curl session + */ + function __destruct() + { + // close our curl session + curl_close($this->_curl); + } + + public function setAuthenticationCredentials($username, $password) + { + // add the options to our curl handle + curl_setopt_array($this->_curl, array( + CURLOPT_USERPWD => $username . ":" . $password, + CURLOPT_HTTPAUTH => CURLAUTH_BASIC + )); + } + + public function setProxy($proxy, $port, $username = '', $password = '') + { + // add the options to our curl handle + curl_setopt_array($this->_curl, array( + CURLOPT_PROXY => $proxy, + CURLOPT_PROXYPORT => $port + )); + + if ($username != '' && $password != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXYAUTH => CURLAUTH_BASIC, + CURLOPT_PROXYUSERPWD => "$username:$password" + )); + } + } + + public function performGetRequest($url, $timeout = false) + { + // check the timeout value + if ($timeout === false || $timeout <= 0.0) + { + // use the default timeout + $timeout = $this->getDefaultTimeout(); + } + + // set curl GET options + curl_setopt_array($this->_curl, array( + // make sure we're returning the body + CURLOPT_NOBODY => false, + + // make sure we're GET + CURLOPT_HTTPGET => true, + + // set the URL + CURLOPT_URL => $url, + + // set the timeout + CURLOPT_TIMEOUT => $timeout + )); + + // make the request + $responseBody = curl_exec($this->_curl); + + // get info from the transfer + $statusCode = curl_getinfo($this->_curl, CURLINFO_HTTP_CODE); + $contentType = curl_getinfo($this->_curl, CURLINFO_CONTENT_TYPE); + + return new Apache_Solr_HttpTransport_Response($statusCode, $contentType, $responseBody); + } + + public function performHeadRequest($url, $timeout = false) + { + // check the timeout value + if ($timeout === false || $timeout <= 0.0) + { + // use the default timeout + $timeout = $this->getDefaultTimeout(); + } + + // set curl HEAD options + curl_setopt_array($this->_curl, array( + // this both sets the method to HEAD and says not to return a body + CURLOPT_NOBODY => true, + + // set the URL + CURLOPT_URL => $url, + + // set the timeout + CURLOPT_TIMEOUT => $timeout + )); + + // make the request + $responseBody = curl_exec($this->_curl); + + // get info from the transfer + $statusCode = curl_getinfo($this->_curl, CURLINFO_HTTP_CODE); + $contentType = curl_getinfo($this->_curl, CURLINFO_CONTENT_TYPE); + + return new Apache_Solr_HttpTransport_Response($statusCode, $contentType, $responseBody); + } + + public function performPostRequest($url, $postData, $contentType, $timeout = false) + { + // check the timeout value + if ($timeout === false || $timeout <= 0.0) + { + // use the default timeout + $timeout = $this->getDefaultTimeout(); + } + + // set curl POST options + curl_setopt_array($this->_curl, array( + // make sure we're returning the body + CURLOPT_NOBODY => false, + + // make sure we're POST + CURLOPT_POST => true, + + // set the URL + CURLOPT_URL => $url, + + // set the post data + CURLOPT_POSTFIELDS => $postData, + + // set the content type + CURLOPT_HTTPHEADER => array("Content-Type: {$contentType}"), + + // set the timeout + CURLOPT_TIMEOUT => $timeout + )); + + // make the request + $responseBody = curl_exec($this->_curl); + + // get info from the transfer + $statusCode = curl_getinfo($this->_curl, CURLINFO_HTTP_CODE); + $contentType = curl_getinfo($this->_curl, CURLINFO_CONTENT_TYPE); + + return new Apache_Solr_HttpTransport_Response($statusCode, $contentType, $responseBody); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/CurlNoReuse.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/CurlNoReuse.php new file mode 100644 index 0000000..7fbfea7 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/CurlNoReuse.php @@ -0,0 +1,294 @@ +, Donovan Jimenez + */ + +// Require Apache_Solr_HttpTransport_Abstract +require_once(dirname(__FILE__) . '/Abstract.php'); + +/** + * An alternative Curl HTTP transport that opens and closes a curl session for + * every request. This isn't the recommended way to use curl, but some version of + * PHP have memory issues. + */ +class Apache_Solr_HttpTransport_CurlNoReuse extends Apache_Solr_HttpTransport_Abstract +{ + /** + * SVN Revision meta data for this class + */ + const SVN_REVISION = '$Revision:$'; + + /** + * SVN ID meta data for this class + */ + const SVN_ID = '$Id:$'; + + private $_authString = false; + private $_proxy = ''; + private $_proxyPort = ''; + private $_proxyUsername = ''; + private $_proxyPassword = ''; + + public function setAuthenticationCredentials($username, $password) + { + // this is how curl wants it for the CURLOPT_USERPWD + $this->_authString = $username . ":" . $password; + } + + public function setProxy($proxy, $port, $username = '', $password = '') + { + $this->_proxy = $proxy; + $this->_proxyPort = $port; + $this->_proxyUsername = $username; + $this->_proxyPassword = $password; + } + + public function performGetRequest($url, $timeout = false) + { + // check the timeout value + if ($timeout === false || $timeout <= 0.0) + { + // use the default timeout + $timeout = $this->getDefaultTimeout(); + } + + $curl = curl_init(); + + // set curl GET options + curl_setopt_array($curl, array( + // return the response body from curl_exec + CURLOPT_RETURNTRANSFER => true, + + // get the output as binary data + CURLOPT_BINARYTRANSFER => true, + + // we do not need the headers in the output, we get everything we need from curl_getinfo + CURLOPT_HEADER => false, + + // set the URL + CURLOPT_URL => $url, + + // set the timeout + CURLOPT_TIMEOUT => $timeout + )); + + // set auth if appropriate + if ($this->_authString !== false) + { + curl_setopt_array($curl, array( + CURLOPT_USERPWD => $this->_authString, + CURLOPT_HTTPAUTH => CURLAUTH_BASIC + )); + } + + // set proxy + if ($this->_proxy != '' && $this->_proxyPort != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXY => $this->_proxy, + CURLOPT_PROXYPORT => $this->_proxyPort + )); + + if ($this->_proxyUsername != '' && $this->_proxyPassword != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXYAUTH => CURLAUTH_BASIC, + CURLOPT_PROXYUSERPWD => "$this->_proxyUsername:$this->_proxyPassword" + )); + } + } + + // make the request + $responseBody = curl_exec($curl); + + // get info from the transfer + $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); + $contentType = curl_getinfo($curl, CURLINFO_CONTENT_TYPE); + + // close our curl session - we're done with it + curl_close($curl); + + return new Apache_Solr_HttpTransport_Response($statusCode, $contentType, $responseBody); + } + + public function performHeadRequest($url, $timeout = false) + { + // check the timeout value + if ($timeout === false || $timeout <= 0.0) + { + // use the default timeout + $timeout = $this->getDefaultTimeout(); + } + + $curl = curl_init(); + + // set curl HEAD options + curl_setopt_array($curl, array( + // return the response body from curl_exec + CURLOPT_RETURNTRANSFER => true, + + // get the output as binary data + CURLOPT_BINARYTRANSFER => true, + + // we do not need the headers in the output, we get everything we need from curl_getinfo + CURLOPT_HEADER => false, + + // this both sets the method to HEAD and says not to return a body + CURLOPT_NOBODY => true, + + // set the URL + CURLOPT_URL => $url, + + // set the timeout + CURLOPT_TIMEOUT => $timeout + )); + + // set auth if appropriate + if ($this->_authString !== false) + { + curl_setopt_array($curl, array( + CURLOPT_USERPWD => $this->_authString, + CURLOPT_HTTPAUTH => CURLAUTH_BASIC + )); + } + + // set proxy + if ($this->_proxy != '' && $this->_proxyPort != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXY => $this->_proxy, + CURLOPT_PROXYPORT => $this->_proxyPort + )); + + if ($this->_proxyUsername != '' && $this->_proxyPassword != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXYAUTH => CURLAUTH_BASIC, + CURLOPT_PROXYUSERPWD => "$this->_proxyUsername:$this->_proxyPassword" + )); + } + } + + // make the request + $responseBody = curl_exec($curl); + + // get info from the transfer + $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); + $contentType = curl_getinfo($curl, CURLINFO_CONTENT_TYPE); + + // close our curl session - we're done with it + curl_close($curl); + + return new Apache_Solr_HttpTransport_Response($statusCode, $contentType, $responseBody); + } + + public function performPostRequest($url, $postData, $contentType, $timeout = false) + { + // check the timeout value + if ($timeout === false || $timeout <= 0.0) + { + // use the default timeout + $timeout = $this->getDefaultTimeout(); + } + + $curl = curl_init(); + + // set curl POST options + curl_setopt_array($curl, array( + // return the response body from curl_exec + CURLOPT_RETURNTRANSFER => true, + + // get the output as binary data + CURLOPT_BINARYTRANSFER => true, + + // we do not need the headers in the output, we get everything we need from curl_getinfo + CURLOPT_HEADER => false, + + // make sure we're POST + CURLOPT_POST => true, + + // set the URL + CURLOPT_URL => $url, + + // set the post data + CURLOPT_POSTFIELDS => $postData, + + // set the content type + CURLOPT_HTTPHEADER => array("Content-Type: {$contentType}"), + + // set the timeout + CURLOPT_TIMEOUT => $timeout + )); + + // set auth if appropriate + if ($this->_authString !== false) + { + curl_setopt_array($curl, array( + CURLOPT_USERPWD => $this->_authString, + CURLOPT_HTTPAUTH => CURLAUTH_BASIC + )); + } + + // set proxy + if ($this->_proxy != '' && $this->_proxyPort != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXY => $this->_proxy, + CURLOPT_PROXYPORT => $this->_proxyPort + )); + + if ($this->_proxyUsername != '' && $this->_proxyPassword != '') + { + curl_setopt_array($this->_curl, array( + CURLOPT_PROXYAUTH => CURLAUTH_BASIC, + CURLOPT_PROXYUSERPWD => "$this->_proxyUsername:$this->_proxyPassword" + )); + } + } + + // make the request + $responseBody = curl_exec($curl); + + // get info from the transfer + $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); + $contentType = curl_getinfo($curl, CURLINFO_CONTENT_TYPE); + + // close our curl session - we're done with it + curl_close($curl); + + return new Apache_Solr_HttpTransport_Response($statusCode, $contentType, $responseBody); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/FileGetContents.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/FileGetContents.php new file mode 100644 index 0000000..817254e --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/FileGetContents.php @@ -0,0 +1,258 @@ +_getContext = stream_context_create(); + $this->_headContext = stream_context_create(); + $this->_postContext = stream_context_create(); + } + + public function setAuthenticationCredentials($username, $password) + { + // compute the Authorization header + $this->_authHeader = "Authorization: Basic " . base64_encode($username . ":" . $password); + + // set it now for get and head contexts + stream_context_set_option($this->_getContext, 'http', 'header', $this->_authHeader); + stream_context_set_option($this->_headContext, 'http', 'header', $this->_authHeader); + + // for post, it'll be set each time, so add an \r\n so it can be concatenated + // with the Content-Type + $this->_authHeader .= "\r\n"; + } + + public function setProxy($proxy, $port, $username = '', $password = '') + { + $proxy = "tcp://$proxy:$port"; + + // set it now for get and head contexts + stream_context_set_option($this->_getContext, 'http', 'proxy', $proxy); + stream_context_set_option($this->_headContext, 'http', 'proxy', $proxy); + + if ($username != '' && $password != '') + { + $authProxy = base64_encode("$username:$password"); + $proxyAutorization = "Proxy-Authorization: Basic $authProxy"; + + // set it now for get and head contexts + stream_context_set_option($this->_getContext, 'http', 'header', $proxyAutorization); + stream_context_set_option($this->_headContext, 'http', 'header', $proxyAutorization); + } + } + + public function performGetRequest($url, $timeout = false) + { + // set the timeout if specified + if ($timeout !== FALSE && $timeout > 0.0) + { + // timeouts with file_get_contents seem to need + // to be halved to work as expected + $timeout = (float) $timeout / 2; + + stream_context_set_option($this->_getContext, 'http', 'timeout', $timeout); + } + else + { + // use the default timeout pulled from default_socket_timeout otherwise + stream_context_set_option($this->_getContext, 'http', 'timeout', $this->getDefaultTimeout()); + } + + // $http_response_headers will be updated by the call to file_get_contents later + // see http://us.php.net/manual/en/wrappers.http.php for documentation + // Unfortunately, it will still create a notice in analyzers if we don't set it here + $http_response_header = null; + $responseBody = @file_get_contents($url, false, $this->_getContext); + + return $this->_getResponseFromParts($responseBody, $http_response_header); + } + + public function performHeadRequest($url, $timeout = false) + { + stream_context_set_option($this->_headContext, array( + 'http' => array( + // set HTTP method + 'method' => 'HEAD', + + // default timeout + 'timeout' => $this->getDefaultTimeout() + ) + ) + ); + + // set the timeout if specified + if ($timeout !== FALSE && $timeout > 0.0) + { + // timeouts with file_get_contents seem to need + // to be halved to work as expected + $timeout = (float) $timeout / 2; + + stream_context_set_option($this->_headContext, 'http', 'timeout', $timeout); + } + + // $http_response_headers will be updated by the call to file_get_contents later + // see http://us.php.net/manual/en/wrappers.http.php for documentation + // Unfortunately, it will still create a notice in analyzers if we don't set it here + $http_response_header = null; + $responseBody = @file_get_contents($url, false, $this->_headContext); + + return $this->_getResponseFromParts($responseBody, $http_response_header); + } + + public function performPostRequest($url, $rawPost, $contentType, $timeout = false) + { + stream_context_set_option($this->_postContext, array( + 'http' => array( + // set HTTP method + 'method' => 'POST', + + // Add our posted content type (and auth header - see setAuthentication) + 'header' => "{$this->_authHeader}Content-Type: {$contentType}", + + // the posted content + 'content' => $rawPost, + + // default timeout + 'timeout' => $this->getDefaultTimeout() + ) + ) + ); + + // set the timeout if specified + if ($timeout !== FALSE && $timeout > 0.0) + { + // timeouts with file_get_contents seem to need + // to be halved to work as expected + $timeout = (float) $timeout / 2; + + stream_context_set_option($this->_postContext, 'http', 'timeout', $timeout); + } + + // $http_response_header will be updated by the call to file_get_contents later + // see http://us.php.net/manual/en/wrappers.http.php for documentation + // Unfortunately, it will still create a notice in analyzers if we don't set it here + $http_response_header = null; + $responseBody = @file_get_contents($url, false, $this->_postContext); + + // reset content of post context to reclaim memory + stream_context_set_option($this->_postContext, 'http', 'content', ''); + + return $this->_getResponseFromParts($responseBody, $http_response_header); + } + + private function _getResponseFromParts($rawResponse, $httpHeaders) + { + //Assume 0, false as defaults + $status = 0; + $contentType = false; + + //iterate through headers for real status, type, and encoding + if (is_array($httpHeaders) && count($httpHeaders) > 0) + { + //look at the first headers for the HTTP status code + //and message (errors are usually returned this way) + // + //HTTP 100 Continue response can also be returned before + //the REAL status header, so we need look until we find + //the last header starting with HTTP + // + //the spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.1 + // + //Thanks to Daniel Andersson for pointing out this oversight + while (isset($httpHeaders[0]) && substr($httpHeaders[0], 0, 4) == 'HTTP') + { + // we can do a intval on status line without the "HTTP/1.X " to get the code + $status = intval(substr($httpHeaders[0], 9)); + + // remove this from the headers so we can check for more + array_shift($httpHeaders); + } + + //Look for the Content-Type response header and determine type + //and encoding from it (if possible - such as 'Content-Type: text/plain; charset=UTF-8') + foreach ($httpHeaders as $header) + { + // look for the header that starts appropriately + if (strncasecmp($header, 'Content-Type:', 13) == 0) + { + $contentType = substr($header, 13); + break; + } + } + } + + return new Apache_Solr_HttpTransport_Response($status, $contentType, $rawResponse); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Interface.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Interface.php new file mode 100644 index 0000000..df2f3cb --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Interface.php @@ -0,0 +1,116 @@ +, Donovan Jimenez + */ + +// require Apache_Solr_HttpTransport_Response +require_once(dirname(__FILE__) . '/Response.php'); + +/** + * Interface that all Transport (HTTP Requester) implementations must implement. These + * Implementations can then be plugged into the Service instance in order to user their + * the desired method for making HTTP requests + */ +interface Apache_Solr_HttpTransport_Interface +{ + /** + * Get the current default timeout for all HTTP requests + * + * @return float + */ + public function getDefaultTimeout(); + + /** + * Set the current default timeout for all HTTP requests + * + * @param float $timeout + */ + public function setDefaultTimeout($timeout); + + /** + * Set authentication credentials to pass along with the requests. + * + * These will be used to perform HTTP Basic authentication. + * + * @param string $username + * @param string $password + */ + public function setAuthenticationCredentials($username, $password); + + /** + * Set proxy. + * + * These will be used to perform HTTP connection througt proxy. + * + * @param string $proxy + * @param string $port + * @param string $username + * @param string $password + */ + public function setProxy($proxy, $port, $username = '', $password = ''); + + /** + * Perform a GET HTTP operation with an optional timeout and return the response + * contents, use getLastResponseHeaders to retrieve HTTP headers + * + * @param string $url + * @param float $timeout + * @return Apache_Solr_HttpTransport_Response HTTP response + */ + public function performGetRequest($url, $timeout = false); + + /** + * Perform a HEAD HTTP operation with an optional timeout and return the response + * headers - NOTE: head requests have no response body + * + * @param string $url + * @param float $timeout + * @return Apache_Solr_HttpTransport_Response HTTP response + */ + public function performHeadRequest($url, $timeout = false); + + /** + * Perform a POST HTTP operation with an optional timeout and return the response + * contents, use getLastResponseHeaders to retrieve HTTP headers + * + * @param string $url + * @param string $rawPost + * @param string $contentType + * @param float $timeout + * @return Apache_Solr_HttpTransport_Response HTTP response + */ + public function performPostRequest($url, $rawPost, $contentType, $timeout = false); +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Response.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Response.php new file mode 100644 index 0000000..f4a9411 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransport/Response.php @@ -0,0 +1,255 @@ + "Communication Error", + + // Informational 1XX + 100 => "Continue", + 101 => "Switching Protocols", + + // Successful 2XX + 200 => "OK", + 201 => "Created", + 202 => "Accepted", + 203 => "Non-Authoritative Information", + 204 => "No Content", + 205 => "Reset Content", + 206 => "Partial Content", + + // Redirection 3XX + 300 => "Multiple Choices", + 301 => "Moved Permanently", + 302 => "Found", + 303 => "See Other", + 304 => "Not Modified", + 305 => "Use Proxy", + 307 => "Temporary Redirect", + + // Client Error 4XX + 400 => "Bad Request", + 401 => "Unauthorized", + 402 => "Payment Required", + 403 => "Forbidden", + 404 => "Not Found", + 405 => "Method Not Allowed", + 406 => "Not Acceptable", + 407 => "Proxy Authentication Required", + 408 => "Request Timeout", + 409 => "Conflict", + 410 => "Gone", + 411 => "Length Required", + 412 => "Precondition Failed", + 413 => "Request Entity Too Large", + 414 => "Request-URI Too Long", + 415 => "Unsupported Media Type", + 416 => "Request Range Not Satisfiable", + 417 => "Expectation Failed", + + // Server Error 5XX + 500 => "Internal Server Error", + 501 => "Not Implemented", + 502 => "Bad Gateway", + 503 => "Service Unavailable", + 504 => "Gateway Timeout", + 505 => "HTTP Version Not Supported" + ); + + /** + * Get the HTTP status message based on status code + * + * @return string + */ + public static function getDefaultStatusMessage($statusCode) + { + $statusCode = (int) $statusCode; + + if (isset(self::$_defaultStatusMessages[$statusCode])) + { + return self::$_defaultStatusMessages[$statusCode]; + } + + return "Unknown Status"; + } + + /** + * The response's HTTP status code + * + * @var integer + */ + private $_statusCode; + + /** + * The response's HTTP status message + * + * @var string + */ + private $_statusMessage; + + /** + * The response's mime type + * + * @var string + */ + private $_mimeType; + + /** + * The response's character encoding + * + * @var string + */ + private $_encoding; + + /** + * The response's data + * + * @var string + */ + private $_responseBody; + + /** + * Construct a HTTP transport response + * + * @param integer $statusCode The HTTP status code + * @param string $contentType The VALUE of the Content-Type HTTP header + * @param string $responseBody The body of the HTTP response + */ + public function __construct($statusCode, $contentType, $responseBody) + { + // set the status code, make sure its an integer + $this->_statusCode = (int) $statusCode; + + // lookup up status message based on code + $this->_statusMessage = self::getDefaultStatusMessage($this->_statusCode); + + // set the response body, it should always be a string + $this->_responseBody = (string) $responseBody; + + // parse the content type header value for mimetype and encoding + // first set default values that will remain if we can't find + // what we're looking for in the content type + $this->_mimeType = "text/plain"; + $this->_encoding = "UTF-8"; + + if ($contentType) + { + // now break apart the header to see if there's character encoding + $contentTypeParts = explode(';', $contentType, 2); + + if (isset($contentTypeParts[0])) + { + $this->_mimeType = trim($contentTypeParts[0]); + } + + if (isset($contentTypeParts[1])) + { + // we have a second part, split it further + $contentTypeParts = explode('=', $contentTypeParts[1]); + + if (isset($contentTypeParts[1])) + { + $this->_encoding = trim($contentTypeParts[1]); + } + } + } + } + + /** + * Get the status code of the response + * + * @return integer + */ + public function getStatusCode() + { + return $this->_statusCode; + } + + /** + * Get the status message of the response + * + * @return string + */ + public function getStatusMessage() + { + return $this->_statusMessage; + } + + /** + * Get the mimetype of the response body + * + * @return string + */ + public function getMimeType() + { + return $this->_mimeType; + } + + /** + * Get the charset encoding of the response body. + * + * @return string + */ + public function getEncoding() + { + return $this->_encoding; + } + + /** + * Get the raw response body + * + * @return string + */ + public function getBody() + { + return $this->_responseBody; + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransportException.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransportException.php new file mode 100644 index 0000000..cba3d2d --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/HttpTransportException.php @@ -0,0 +1,79 @@ +getHttpStatus()}' Status: {$response->getHttpStatusMessage()}", $response->getHttpStatus()); + + $this->_response = $response; + } + + /** + * Get the response for which this exception was generated + * + * @return Apache_Solr_Response + */ + public function getResponse() + { + return $this->_response; + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/InvalidArgumentException.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/InvalidArgumentException.php new file mode 100644 index 0000000..be4e4e9 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/InvalidArgumentException.php @@ -0,0 +1,50 @@ += 5.2.0, Alternatively can be + * installed with PECL. Zend Framework also includes a purely PHP solution. + */ +class Apache_Solr_Response +{ + /** + * SVN Revision meta data for this class + */ + const SVN_REVISION = '$Revision$'; + + /** + * SVN ID meta data for this class + */ + const SVN_ID = '$Id$'; + + /** + * Holds the raw response used in construction + * + * @var Apache_Solr_HttpTransport_Response HTTP response + */ + protected $_response; + + /** + * Whether the raw response has been parsed + * + * @var boolean + */ + protected $_isParsed = false; + + /** + * Parsed representation of the data + * + * @var mixed + */ + protected $_parsedData; + + /** + * Data parsing flags. Determines what extra processing should be done + * after the data is initially converted to a data structure. + * + * @var boolean + */ + protected $_createDocuments = true, + $_collapseSingleValueArrays = true; + + /** + * Constructor. Takes the raw HTTP response body and the exploded HTTP headers + * + * @return Apache_Solr_HttpTransport_Response HTTP response + * @param boolean $createDocuments Whether to convert the documents json_decoded as stdClass instances to Apache_Solr_Document instances + * @param boolean $collapseSingleValueArrays Whether to make multivalued fields appear as single values + */ + public function __construct(Apache_Solr_HttpTransport_Response $response, $createDocuments = true, $collapseSingleValueArrays = true) + { + $this->_response = $response; + $this->_createDocuments = (bool) $createDocuments; + $this->_collapseSingleValueArrays = (bool) $collapseSingleValueArrays; + } + + /** + * Get the HTTP status code + * + * @return integer + */ + public function getHttpStatus() + { + return $this->_response->getStatusCode(); + } + + /** + * Get the HTTP status message of the response + * + * @return string + */ + public function getHttpStatusMessage() + { + return $this->_response->getStatusMessage(); + } + + /** + * Get content type of this Solr response + * + * @return string + */ + public function getType() + { + return $this->_response->getMimeType(); + } + + /** + * Get character encoding of this response. Should usually be utf-8, but just in case + * + * @return string + */ + public function getEncoding() + { + return $this->_response->getEncoding(); + } + + /** + * Get the raw response as it was given to this object + * + * @return string + */ + public function getRawResponse() + { + return $this->_response->getBody(); + } + + /** + * Magic get to expose the parsed data and to lazily load it + * + * @param string $key + * @return mixed + */ + public function __get($key) + { + if (!$this->_isParsed) + { + $this->_parseData(); + $this->_isParsed = true; + } + + if (isset($this->_parsedData->$key)) + { + return $this->_parsedData->$key; + } + + return null; + } + + /** + * Magic function for isset function on parsed data + * + * @param string $key + * @return boolean + */ + public function __isset($key) + { + if (!$this->_isParsed) + { + $this->_parseData(); + $this->_isParsed = true; + } + + return isset($this->_parsedData->$key); + } + + /** + * Parse the raw response into the parsed_data array for access + * + * @throws Apache_Solr_ParserException If the data could not be parsed + */ + protected function _parseData() + { + //An alternative would be to use Zend_Json::decode(...) + $data = json_decode($this->_response->getBody()); + + // check that we receive a valid JSON response - we should never receive a null + if ($data === null) + { + throw new Apache_Solr_ParserException('Solr response does not appear to be valid JSON, please examine the raw response with getRawResponse() method'); + } + + //if we're configured to collapse single valued arrays or to convert them to Apache_Solr_Document objects + //and we have response documents, then try to collapse the values and / or convert them now + if (($this->_createDocuments || $this->_collapseSingleValueArrays) && isset($data->response) && is_array($data->response->docs)) + { + $documents = array(); + + foreach ($data->response->docs as $originalDocument) + { + if ($this->_createDocuments) + { + $document = new Apache_Solr_Document(); + } + else + { + $document = $originalDocument; + } + + foreach ($originalDocument as $key => $value) + { + //If a result is an array with only a single + //value then its nice to be able to access + //it as if it were always a single value + if ($this->_collapseSingleValueArrays && is_array($value) && count($value) <= 1) + { + $value = array_shift($value); + } + + $document->$key = $value; + } + + $documents[] = $document; + } + + $data->response->docs = $documents; + } + + $this->_parsedData = $data; + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Service.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Service.php new file mode 100644 index 0000000..c19308f --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Service.php @@ -0,0 +1,1308 @@ + + * ... + * $solr = new Apache_Solr_Service(); //or explicitly new Apache_Solr_Service('localhost', 8180, '/solr') + * + * $solr->deleteByQuery('*:*'); //deletes ALL documents - be careful :) + * + * $document = new Apache_Solr_Document(); + * $document->id = uniqid(); //or something else suitably unique + * + * $document->title = 'Some Title'; + * $document->content = 'Some content for this wonderful document. Blah blah blah.'; + * + * $solr->addDocument($document); //if you're going to be adding documents in bulk using addDocuments + * //with an array of documents is faster + * + * $solr->commit(); //commit to see the deletes and the document + * $solr->optimize(); //merges multiple segments into one + * + * //and the one we all care about, search! + * //any other common or custom parameters to the request handler can go in the + * //optional 4th array argument. + * $solr->search('content:blah', 0, 10, array('sort' => 'timestamp desc')); + * ... + * + */ +class Apache_Solr_Service +{ + /** + * SVN Revision meta data for this class + */ + const SVN_REVISION = '$Revision$'; + + /** + * SVN ID meta data for this class + */ + const SVN_ID = '$Id$'; + + /** + * SVN HeadURL meta data for this class + */ + const SVN_URL = '$HeadURL$'; + + /** + * Response writer we'll request - JSON. See http://code.google.com/p/solr-php-client/issues/detail?id=6#c1 for reasoning + */ + const SOLR_WRITER = 'json'; + + /** + * NamedList Treatment constants + */ + const NAMED_LIST_FLAT = 'flat'; + const NAMED_LIST_MAP = 'map'; + + /** + * Search HTTP Methods + */ + const METHOD_GET = 'GET'; + const METHOD_POST = 'POST'; + + /** + * Servlet mappings + */ + const PING_SERVLET = 'admin/ping'; + const UPDATE_SERVLET = 'update'; + const SEARCH_SERVLET = 'select'; + const ELEVATE_SERVLET = 'elevate'; + const SYSTEM_SERVLET = 'admin/system'; + const THREADS_SERVLET = 'admin/threads'; + const EXTRACT_SERVLET = 'update/extract'; + + /** + * Server identification strings + * + * @var string + */ + protected $_host, $_port, $_path; + + /** + * Whether {@link Apache_Solr_Response} objects should create {@link Apache_Solr_Document}s in + * the returned parsed data + * + * @var boolean + */ + protected $_createDocuments = true; + + /** + * Whether {@link Apache_Solr_Response} objects should have multivalue fields with only a single value + * collapsed to appear as a single value would. + * + * @var boolean + */ + protected $_collapseSingleValueArrays = true; + + /** + * How NamedLists should be formatted in the output. This specifically effects facet counts. Valid values + * are {@link Apache_Solr_Service::NAMED_LIST_MAP} (default) or {@link Apache_Solr_Service::NAMED_LIST_FLAT}. + * + * @var string + */ + protected $_namedListTreatment = self::NAMED_LIST_MAP; + + /** + * Query delimiters. Someone might want to be able to change + * these (to use & instead of & for example), so I've provided them. + * + * @var string + */ + protected $_queryDelimiter = '?', $_queryStringDelimiter = '&', $_queryBracketsEscaped = true; + + /** + * Constructed servlet full path URLs + * + * @var string + */ + protected $_pingUrl, $_updateUrl, $_searchUrl, $_elevateUrl, $_systemUrl, $_threadsUrl; + + /** + * Keep track of whether our URLs have been constructed + * + * @var boolean + */ + protected $_urlsInited = false; + + /** + * HTTP Transport implementation (pluggable) + * + * @var Apache_Solr_HttpTransport_Interface + */ + protected $_httpTransport = false; + + /** + * Escape a value for special query characters such as ':', '(', ')', '*', '?', etc. + * + * NOTE: inside a phrase fewer characters need escaped, use {@link Apache_Solr_Service::escapePhrase()} instead + * + * @param string $value + * @return string + */ + static public function escape($value) + { + //list taken from http://lucene.apache.org/java/docs/queryparsersyntax.html#Escaping%20Special%20Characters + $pattern = '/(\+|-|&&|\|\||!|\(|\)|\{|}|\[|]|\^|"|~|\*|\?|:|\\\)/'; + $replace = '\\\$1'; + + return preg_replace($pattern, $replace, $value); + } + + /** + * Escape a value meant to be contained in a phrase for special query characters + * + * @param string $value + * @return string + */ + static public function escapePhrase($value) + { + $pattern = '/("|\\\)/'; + $replace = '\\\$1'; + + return preg_replace($pattern, $replace, $value); + } + + /** + * Convenience function for creating phrase syntax from a value + * + * @param string $value + * @return string + */ + static public function phrase($value) + { + return '"' . self::escapePhrase($value) . '"'; + } + + /** + * Constructor. All parameters are optional and will take on default values + * if not specified. + * + * @param string $host + * @param string $port + * @param string $path + * @param Apache_Solr_HttpTransport_Interface $httpTransport + */ + public function __construct($host = 'localhost', $port = 8180, $path = '/solr/', $httpTransport = false) + { + $this->setHost($host); + $this->setPort($port); + $this->setPath($path); + + $this->_initUrls(); + + if ($httpTransport) + { + $this->setHttpTransport($httpTransport); + } + + // check that our php version is >= 5.1.3 so we can correct for http_build_query behavior later + $this->_queryBracketsEscaped = version_compare(phpversion(), '5.1.3', '>='); + + $response = $this->system(); + $ar = json_decode($response->getRawResponse(), true); + $this->version = $ar["lucene"]["solr-spec-version"]; + } + + public function getSolrVersion() { + return $this->version; + } + + public function getSolrVersionMajor() { + return $this->version{0}; + } + + /** + * Return a valid http URL given this server's host, port and path and a provided servlet name + * + * @param string $servlet + * @return string + */ + protected function _constructUrl($servlet, $params = array()) + { + if (count($params)) + { + //escape all parameters appropriately for inclusion in the query string + $escapedParams = array(); + + foreach ($params as $key => $value) + { + $escapedParams[] = urlencode($key) . '=' . urlencode($value); + } + + $queryString = $this->_queryDelimiter . implode($this->_queryStringDelimiter, $escapedParams); + } + else + { + $queryString = ''; + } + + return 'http://' . $this->_host . ':' . $this->_port . $this->_path . $servlet . $queryString; + } + + /** + * Construct the Full URLs for the three servlets we reference + */ + protected function _initUrls() + { + //Initialize our full servlet URLs now that we have server information + $this->_extractUrl = $this->_constructUrl(self::EXTRACT_SERVLET); + $this->_pingUrl = $this->_constructUrl(self::PING_SERVLET); + $this->_searchUrl = $this->_constructUrl(self::SEARCH_SERVLET); + $this->_elevateUrl = $this->_constructUrl(self::ELEVATE_SERVLET); + $this->_systemUrl = $this->_constructUrl(self::SYSTEM_SERVLET, array('wt' => self::SOLR_WRITER)); + $this->_threadsUrl = $this->_constructUrl(self::THREADS_SERVLET, array('wt' => self::SOLR_WRITER )); + $this->_updateUrl = $this->_constructUrl(self::UPDATE_SERVLET, array('wt' => self::SOLR_WRITER )); + + $this->_urlsInited = true; + } + + protected function _generateQueryString($params) + { + // use http_build_query to encode our arguments because its faster + // than urlencoding all the parts ourselves in a loop + // + // because http_build_query treats arrays differently than we want to, correct the query + // string by changing foo[#]=bar (# being an actual number) parameter strings to just + // multiple foo=bar strings. This regex should always work since '=' will be urlencoded + // anywhere else the regex isn't expecting it + // + // NOTE: before php 5.1.3 brackets were not url encoded by http_build query - we've checked + // the php version in the constructor and put the results in the instance variable. Also, before + // 5.1.2 the arg_separator parameter was not available, so don't use it + if ($this->_queryBracketsEscaped) + { + $queryString = http_build_query($params, null, $this->_queryStringDelimiter); + return preg_replace('/%5B(?:[0-9]|[1-9][0-9]+)%5D=/', '=', $queryString); + } + else + { + $queryString = http_build_query($params); + return preg_replace('/\\[(?:[0-9]|[1-9][0-9]+)\\]=/', '=', $queryString); + } + } + + /** + * Central method for making a get operation against this Solr Server + * + * @param string $url + * @param float $timeout Read timeout in seconds + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If a non 200 response status is returned + */ + protected function _sendRawGet($url, $timeout = FALSE) + { + $httpTransport = $this->getHttpTransport(); + + $httpResponse = $httpTransport->performGetRequest($url, $timeout); + $solrResponse = new Apache_Solr_Response($httpResponse, $this->_createDocuments, $this->_collapseSingleValueArrays); + + if ($solrResponse->getHttpStatus() != 200) + { + throw new Apache_Solr_HttpTransportException($solrResponse); + } + + return $solrResponse; + } + + /** + * Central method for making a post operation against this Solr Server + * + * @param string $url + * @param string $rawPost + * @param float $timeout Read timeout in seconds + * @param string $contentType + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If a non 200 response status is returned + */ + protected function _sendRawPost($url, $rawPost, $timeout = FALSE, $contentType = 'text/xml; charset=UTF-8') + { + $httpTransport = $this->getHttpTransport(); + + $httpResponse = $httpTransport->performPostRequest($url, $rawPost, $contentType, $timeout); + $solrResponse = new Apache_Solr_Response($httpResponse, $this->_createDocuments, $this->_collapseSingleValueArrays); + + if ($solrResponse->getHttpStatus() != 200) + { + throw new Apache_Solr_HttpTransportException($solrResponse); + } + + return $solrResponse; + } + + /** + * Returns the set host + * + * @return string + */ + public function getHost() + { + return $this->_host; + } + + /** + * Set the host used. If empty will fallback to constants + * + * @param string $host + * + * @throws Apache_Solr_InvalidArgumentException If the host parameter is empty + */ + public function setHost($host) + { + //Use the provided host or use the default + if (empty($host)) + { + throw new Apache_Solr_InvalidArgumentException('Host parameter is empty'); + } + else + { + $this->_host = $host; + } + + if ($this->_urlsInited) + { + $this->_initUrls(); + } + } + + /** + * Get the set port + * + * @return integer + */ + public function getPort() + { + return $this->_port; + } + + /** + * Set the port used. If empty will fallback to constants + * + * @param integer $port + * + * @throws Apache_Solr_InvalidArgumentException If the port parameter is empty + */ + public function setPort($port) + { + //Use the provided port or use the default + $port = (int) $port; + + if ($port <= 0) + { + throw new Apache_Solr_InvalidArgumentException('Port is not a valid port number'); + } + else + { + $this->_port = $port; + } + + if ($this->_urlsInited) + { + $this->_initUrls(); + } + } + + /** + * Get the set path. + * + * @return string + */ + public function getPath() + { + return $this->_path; + } + + /** + * Set the path used. If empty will fallback to constants + * + * @param string $path + */ + public function setPath($path) + { + $path = trim($path, '/'); + + if (strlen($path) > 0) + { + $this->_path = '/' . $path . '/'; + } + else + { + $this->_path = '/'; + } + + if ($this->_urlsInited) + { + $this->_initUrls(); + } + } + + /** + * Get the current configured HTTP Transport + * + * @return HttpTransportInterface + */ + public function getHttpTransport() + { + // lazy load a default if one has not be set + if ($this->_httpTransport === false) + { + require_once(dirname(__FILE__) . '/HttpTransport/FileGetContents.php'); + + $this->_httpTransport = new Apache_Solr_HttpTransport_FileGetContents(); + } + + return $this->_httpTransport; + } + + /** + * Set the HTTP Transport implemenation that will be used for all HTTP requests + * + * @param Apache_Solr_HttpTransport_Interface + */ + public function setHttpTransport(Apache_Solr_HttpTransport_Interface $httpTransport) + { + $this->_httpTransport = $httpTransport; + } + + /** + * Set the create documents flag. This determines whether {@link Apache_Solr_Response} objects will + * parse the response and create {@link Apache_Solr_Document} instances in place. + * + * @param boolean $createDocuments + */ + public function setCreateDocuments($createDocuments) + { + $this->_createDocuments = (bool) $createDocuments; + } + + /** + * Get the current state of teh create documents flag. + * + * @return boolean + */ + public function getCreateDocuments() + { + return $this->_createDocuments; + } + + /** + * Set the collapse single value arrays flag. + * + * @param boolean $collapseSingleValueArrays + */ + public function setCollapseSingleValueArrays($collapseSingleValueArrays) + { + $this->_collapseSingleValueArrays = (bool) $collapseSingleValueArrays; + } + + /** + * Get the current state of the collapse single value arrays flag. + * + * @return boolean + */ + public function getCollapseSingleValueArrays() + { + return $this->_collapseSingleValueArrays; + } + + /** + * Get the current default timeout setting (initially the default_socket_timeout ini setting) + * in seconds + * + * @return float + * + * @deprecated Use the getDefaultTimeout method on the HTTP transport implementation + */ + public function getDefaultTimeout() + { + return $this->getHttpTransport()->getDefaultTimeout(); + } + + /** + * Set the default timeout for all calls that aren't passed a specific timeout + * + * @param float $timeout Timeout value in seconds + * + * @deprecated Use the setDefaultTimeout method on the HTTP transport implementation + */ + public function setDefaultTimeout($timeout) + { + $this->getHttpTransport()->setDefaultTimeout($timeout); + } + + /** + * Convenience method to set authentication credentials on the current HTTP transport implementation + * + * @param string $username + * @param string $password + */ + public function setAuthenticationCredentials($username, $password) + { + $this->getHttpTransport()->setAuthenticationCredentials($username, $password); + } + + /** + * Convenience method to set proxy + * + * @param string $username + * @param string $password + */ + public function setProxy($proxy, $port, $username = '', $password = '') + { + $this->getHttpTransport()->setProxy($proxy, $port, $username, $password); + } + + /** + * Set how NamedLists should be formatted in the response data. This mainly effects + * the facet counts format. + * + * @param string $namedListTreatment + * @throws Apache_Solr_InvalidArgumentException If invalid option is set + */ + public function setNamedListTreatment($namedListTreatment) + { + switch ((string) $namedListTreatment) + { + case Apache_Solr_Service::NAMED_LIST_FLAT: + $this->_namedListTreatment = Apache_Solr_Service::NAMED_LIST_FLAT; + break; + + case Apache_Solr_Service::NAMED_LIST_MAP: + $this->_namedListTreatment = Apache_Solr_Service::NAMED_LIST_MAP; + break; + + default: + throw new Apache_Solr_InvalidArgumentException('Not a valid named list treatement option'); + } + } + + /** + * Get the current setting for named list treatment. + * + * @return string + */ + public function getNamedListTreatment() + { + return $this->_namedListTreatment; + } + + /** + * Set the string used to separate the path form the query string. + * Defaulted to '?' + * + * @param string $queryDelimiter + */ + public function setQueryDelimiter($queryDelimiter) + { + $this->_queryDelimiter = $queryDelimiter; + } + + /** + * Set the string used to separate the parameters in thequery string + * Defaulted to '&' + * + * @param string $queryStringDelimiter + */ + public function setQueryStringDelimiter($queryStringDelimiter) + { + $this->_queryStringDelimiter = $queryStringDelimiter; + } + + /** + * Call the /admin/ping servlet, can be used to quickly tell if a connection to the + * server is able to be made. + * + * @param float $timeout maximum time to wait for ping in seconds, -1 for unlimited (default is 2) + * @return float Actual time taken to ping the server, FALSE if timeout or HTTP error status occurs + */ + public function ping($timeout = 2) + { + $start = microtime(true); + + $httpTransport = $this->getHttpTransport(); + + $httpResponse = $httpTransport->performHeadRequest($this->_pingUrl, $timeout); + $solrResponse = new Apache_Solr_Response($httpResponse, $this->_createDocuments, $this->_collapseSingleValueArrays); + + if ($solrResponse->getHttpStatus() == 200) + { + return microtime(true) - $start; + } + else + { + return false; + } + } + + /** + * Call the /admin/system servlet and retrieve system information about Solr + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function system() + { + return $this->_sendRawGet($this->_systemUrl); + } + + /** + * Call the /admin/threads servlet and retrieve information about all threads in the + * Solr servlet's thread group. Useful for diagnostics. + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function threads() + { + return $this->_sendRawGet($this->_threadsUrl); + } + + /** + * Raw Add Method. Takes a raw post body and sends it to the update service. Post body + * should be a complete and well formed "add" xml document. + * + * @param string $rawPost + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function add($rawPost) + { + return $this->_sendRawPost($this->_updateUrl, $rawPost); + } + + /** + * Add a Solr Document to the index + * + * @param Apache_Solr_Document $document + * @param boolean $allowDups + * @param boolean $overwritePending + * @param boolean $overwriteCommitted + * @param integer $commitWithin The number of milliseconds that a document must be committed within, see @{link http://wiki.apache.org/solr/UpdateXmlMessages#The_Update_Schema} for details. If left empty this property will not be set in the request. + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function addDocument(Apache_Solr_Document $document, $allowDups = false, $overwritePending = true, $overwriteCommitted = true, $commitWithin = 0) + { + $dupValue = $allowDups ? 'true' : 'false'; + $pendingValue = $overwritePending ? 'true' : 'false'; + $committedValue = $overwriteCommitted ? 'true' : 'false'; + + $commitWithin = (int) $commitWithin; + $commitWithinString = $commitWithin > 0 ? " commitWithin=\"{$commitWithin}\"" : ''; + + $rawPost = ""; + $rawPost .= $this->_documentToXmlFragment($document); + $rawPost .= ''; + + return $this->add($rawPost); + } + + /** + * Add an array of Solr Documents to the index all at once + * + * @param array $documents Should be an array of Apache_Solr_Document instances + * @param boolean $allowDups + * @param boolean $overwritePending + * @param boolean $overwriteCommitted + * @param integer $commitWithin The number of milliseconds that a document must be committed within, see @{link http://wiki.apache.org/solr/UpdateXmlMessages#The_Update_Schema} for details. If left empty this property will not be set in the request. + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function addDocuments($documents, $allowDups = false, $overwritePending = true, $overwriteCommitted = true, $commitWithin = 0) + { + $dupValue = $allowDups ? 'true' : 'false'; + $pendingValue = $overwritePending ? 'true' : 'false'; + $committedValue = $overwriteCommitted ? 'true' : 'false'; + + $commitWithin = (int) $commitWithin; + $commitWithinString = $commitWithin > 0 ? " commitWithin=\"{$commitWithin}\"" : ''; + + $rawPost = ""; + + foreach ($documents as $document) + { + if ($document instanceof Apache_Solr_Document) + { + $rawPost .= $this->_documentToXmlFragment($document); + } + } + + $rawPost .= ''; + + return $this->add($rawPost); + } + + /** + * Create an XML fragment from a {@link Apache_Solr_Document} instance appropriate for use inside a Solr add call + * + * @return string + */ + protected function _documentToXmlFragment(Apache_Solr_Document $document) + { + $xml = 'getBoost() !== false) + { + $xml .= ' boost="' . $document->getBoost() . '"'; + } + + $xml .= '>'; + + foreach ($document as $key => $value) + { + $fieldBoost = $document->getFieldBoost($key); + $key = htmlspecialchars($key, ENT_QUOTES, 'UTF-8'); + + if (is_array($value)) + { + foreach ($value as $multivalue) + { + $xml .= ''; + } + } + else + { + $xml .= ''; + } + } + + $xml .= ''; + + // replace any control characters to avoid Solr XML parser exception + return $this->_stripCtrlChars($xml); + } + + /** + * Replace control (non-printable) characters from string that are invalid to Solr's XML parser with a space. + * + * @param string $string + * @return string + */ + protected function _stripCtrlChars($string) + { + // See: http://w3.org/International/questions/qa-forms-utf-8.html + // Printable utf-8 does not include any of these chars below x7F + return preg_replace('@[\x00-\x08\x0B\x0C\x0E-\x1F]@', ' ', $string); + } + + /** + * Send a commit command. Will be synchronous unless both wait parameters are set to false. + * + * @param boolean $expungeDeletes Defaults to false, merge segments with deletes away + * @param boolean $waitFlush Defaults to true, block until index changes are flushed to disk + * @param boolean $waitSearcher Defaults to true, block until a new searcher is opened and registered as the main query searcher, making the changes visible + * @param float $timeout Maximum expected duration (in seconds) of the commit operation on the server (otherwise, will throw a communication exception). Defaults to 1 hour + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function commit($expungeDeletes = false, $waitFlush = true, $waitSearcher = true, $timeout = 3600) + { + $expungeValue = $expungeDeletes ? 'true' : 'false'; + $flushValue = $waitFlush ? 'true' : 'false'; + $searcherValue = $waitSearcher ? 'true' : 'false'; + + $rawPost = 'getSolrVersionMajor())<=3) { + $rawPost .= 'waitFlush="' . $flushValue . '" '; + } + $rawPost .= 'waitSearcher="' . $searcherValue . '" />'; + + return $this->_sendRawPost($this->_updateUrl, $rawPost, $timeout); + } + + /** + * Raw Delete Method. Takes a raw post body and sends it to the update service. Body should be + * a complete and well formed "delete" xml document + * + * @param string $rawPost Expected to be utf-8 encoded xml document + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function delete($rawPost, $timeout = 3600) + { + return $this->_sendRawPost($this->_updateUrl, $rawPost, $timeout); + } + + /** + * Create a delete document based on document ID + * + * @param string $id Expected to be utf-8 encoded + * @param boolean $fromPending + * @param boolean $fromCommitted + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function deleteById($id, $fromPending = true, $fromCommitted = true, $timeout = 3600) + { + $pendingValue = $fromPending ? 'true' : 'false'; + $committedValue = $fromCommitted ? 'true' : 'false'; + + //escape special xml characters + $id = htmlspecialchars($id, ENT_NOQUOTES, 'UTF-8'); + + $rawPost = '' . $id . ''; + + return $this->delete($rawPost, $timeout); + } + + /** + * Create and post a delete document based on multiple document IDs. + * + * @param array $ids Expected to be utf-8 encoded strings + * @param boolean $fromPending + * @param boolean $fromCommitted + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function deleteByMultipleIds($ids, $fromPending = true, $fromCommitted = true, $timeout = 3600) + { + $pendingValue = $fromPending ? 'true' : 'false'; + $committedValue = $fromCommitted ? 'true' : 'false'; + + $rawPost = ''; + + foreach ($ids as $id) + { + //escape special xml characters + $id = htmlspecialchars($id, ENT_NOQUOTES, 'UTF-8'); + + $rawPost .= '' . $id . ''; + } + + $rawPost .= ''; + + return $this->delete($rawPost, $timeout); + } + + /** + * Create a delete document based on a query and submit it + * + * @param string $rawQuery Expected to be utf-8 encoded + * @param boolean $fromPending + * @param boolean $fromCommitted + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function deleteByQuery($rawQuery, $fromPending = true, $fromCommitted = true, $timeout = 3600) + { + $pendingValue = $fromPending ? 'true' : 'false'; + $committedValue = $fromCommitted ? 'true' : 'false'; + + // escape special xml characters + $rawQuery = htmlspecialchars($rawQuery, ENT_NOQUOTES, 'UTF-8'); + + $rawPost = '' . $rawQuery . ''; + + return $this->delete($rawPost, $timeout); + } + + /** + * Use Solr Cell to extract document contents. See {@link http://wiki.apache.org/solr/ExtractingRequestHandler} for information on how + * to use Solr Cell and what parameters are available. + * + * NOTE: when passing an Apache_Solr_Document instance, field names and boosts will automatically be prepended by "literal." and "boost." + * as appropriate. Any keys from the $params array will NOT be treated this way. Any mappings from the document will overwrite key / value + * pairs in the params array if they have the same name (e.g. you pass a "literal.id" key and value in your $params array but you also + * pass in a document isntance with an "id" field" - the document's value(s) will take precedence). + * + * @param string $file Path to file to extract data from + * @param array $params optional array of key value pairs that will be sent with the post (see Solr Cell documentation) + * @param Apache_Solr_Document $document optional document that will be used to generate post parameters (literal.* and boost.* params) + * @param string $mimetype optional mimetype specification (for the file being extracted) + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_InvalidArgumentException if $file, $params, or $document are invalid. + */ + public function extract($file, $params = array(), $document = null, $mimetype = 'application/octet-stream') + { + // check if $params is an array (allow null for default empty array) + if (!is_null($params)) + { + if (!is_array($params)) + { + throw new Apache_Solr_InvalidArgumentException("\$params must be a valid array or null"); + } + } + else + { + $params = array(); + } + + // if $file is an http request, defer to extractFromUrl instead + if (substr($file, 0, 7) == 'http://' || substr($file, 0, 8) == 'https://') + { + return $this->extractFromUrl($file, $params, $document, $mimetype); + } + + // read the contents of the file + $contents = @file_get_contents($file); + + if ($contents !== false) + { + // add the resource.name parameter if not specified + if (!isset($params['resource.name'])) + { + $params['resource.name'] = basename($file); + } + + // delegate the rest to extractFromString + return $this->extractFromString($contents, $params, $document, $mimetype); + } + else + { + throw new Apache_Solr_InvalidArgumentException("File '{$file}' is empty or could not be read"); + } + } + + /** + * Use Solr Cell to extract document contents. See {@link http://wiki.apache.org/solr/ExtractingRequestHandler} for information on how + * to use Solr Cell and what parameters are available. + * + * NOTE: when passing an Apache_Solr_Document instance, field names and boosts will automatically be prepended by "literal." and "boost." + * as appropriate. Any keys from the $params array will NOT be treated this way. Any mappings from the document will overwrite key / value + * pairs in the params array if they have the same name (e.g. you pass a "literal.id" key and value in your $params array but you also + * pass in a document isntance with an "id" field" - the document's value(s) will take precedence). + * + * @param string $data Data that will be passed to Solr Cell + * @param array $params optional array of key value pairs that will be sent with the post (see Solr Cell documentation) + * @param Apache_Solr_Document $document optional document that will be used to generate post parameters (literal.* and boost.* params) + * @param string $mimetype optional mimetype specification (for the file being extracted) + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_InvalidArgumentException if $file, $params, or $document are invalid. + * + * @todo Should be using multipart/form-data to post parameter values, but I could not get my implementation to work. Needs revisisted. + */ + public function extractFromString($data, $params = array(), $document = null, $mimetype = 'application/octet-stream') + { + // check if $params is an array (allow null for default empty array) + if (!is_null($params)) + { + if (!is_array($params)) + { + throw new Apache_Solr_InvalidArgumentException("\$params must be a valid array or null"); + } + } + else + { + $params = array(); + } + + // make sure we receive our response in JSON and have proper name list treatment + $params['wt'] = self::SOLR_WRITER; + $params['json.nl'] = $this->_namedListTreatment; + + // check if $document is an Apache_Solr_Document instance + if (!is_null($document) && $document instanceof Apache_Solr_Document) + { + // iterate document, adding literal.* and boost.* fields to $params as appropriate + foreach ($document as $field => $fieldValue) + { + // check if we need to add a boost.* parameters + $fieldBoost = $document->getFieldBoost($field); + + if ($fieldBoost !== false) + { + $params["boost.{$field}"] = $fieldBoost; + } + + // add the literal.* parameter + $params["literal.{$field}"] = $fieldValue; + } + } + + // params will be sent to SOLR in the QUERY STRING + $queryString = $this->_generateQueryString($params); + + // the file contents will be sent to SOLR as the POST BODY - we use application/octect-stream as default mimetype + return $this->_sendRawPost($this->_extractUrl . $this->_queryDelimiter . $queryString, $data, false, $mimetype); + } + + /** + * Use Solr Cell to extract document contents. See {@link http://wiki.apache.org/solr/ExtractingRequestHandler} for information on how + * to use Solr Cell and what parameters are available. + * + * NOTE: when passing an Apache_Solr_Document instance, field names and boosts will automatically be prepended by "literal." and "boost." + * as appropriate. Any keys from the $params array will NOT be treated this way. Any mappings from the document will overwrite key / value + * pairs in the params array if they have the same name (e.g. you pass a "literal.id" key and value in your $params array but you also + * pass in a document isntance with an "id" field" - the document's value(s) will take precedence). + * + * @param string $url URL + * @param array $params optional array of key value pairs that will be sent with the post (see Solr Cell documentation) + * @param Apache_Solr_Document $document optional document that will be used to generate post parameters (literal.* and boost.* params) + * @param string $mimetype optional mimetype specification (for the file being extracted) + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_InvalidArgumentException if $url, $params, or $document are invalid. + */ + public function extractFromUrl($url, $params = array(), $document = null, $mimetype = 'application/octet-stream') + { + // check if $params is an array (allow null for default empty array) + if (!is_null($params)) + { + if (!is_array($params)) + { + throw new Apache_Solr_InvalidArgumentException("\$params must be a valid array or null"); + } + } + else + { + $params = array(); + } + + $httpTransport = $this->getHttpTransport(); + + // read the contents of the URL using our configured Http Transport and default timeout + $httpResponse = $httpTransport->performGetRequest($url); + + // check that its a 200 response + if ($httpResponse->getStatusCode() == 200) + { + // add the resource.name parameter if not specified + if (!isset($params['resource.name'])) + { + $params['resource.name'] = $url; + } + + // delegate the rest to extractFromString + return $this->extractFromString($httpResponse->getBody(), $params, $document, $mimetype); + } + else + { + throw new Apache_Solr_InvalidArgumentException("URL '{$url}' returned non 200 response code"); + } + } + + /** + * Send an optimize command. Will be synchronous unless both wait parameters are set + * to false. + * + * @param boolean $waitFlush + * @param boolean $waitSearcher + * @param float $timeout Maximum expected duration of the commit operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function optimize($waitFlush = true, $waitSearcher = true, $timeout = 3600) + { + $flushValue = $waitFlush ? 'true' : 'false'; + $searcherValue = $waitSearcher ? 'true' : 'false'; + + $rawPost = 'getSolrVersionMajor())<=3) { + $rawPost .= 'waitFlush="' . $flushValue . '" '; + } + $rawPost .= 'waitSearcher="' . $searcherValue . '" />'; + + return $this->_sendRawPost($this->_updateUrl, $rawPost, $timeout); + } + + /** + * Simple Search interface + * + * @param string $query The raw query string + * @param int $offset The starting offset for result documents + * @param int $limit The maximum number of result documents to return + * @param array $params key / value pairs for other query parameters (see Solr documentation), use arrays for parameter keys used more than once (e.g. facet.field) + * @param string $method The HTTP method (Apache_Solr_Service::METHOD_GET or Apache_Solr_Service::METHOD::POST) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + * @throws Apache_Solr_InvalidArgumentException If an invalid HTTP method is used + */ + public function search($query, $offset = 0, $limit = 10, $params = array(), $method = self::METHOD_GET) + { + // ensure params is an array + if (!is_null($params)) + { + if (!is_array($params)) + { + // params was specified but was not an array - invalid + throw new Apache_Solr_InvalidArgumentException("\$params must be a valid array or null"); + } + } + else + { + $params = array(); + } + + // construct our full parameters + + // common parameters in this interface + $params['wt'] = self::SOLR_WRITER; + $params['json.nl'] = $this->_namedListTreatment; + + $params['q'] = $query; + $params['start'] = $offset; + $params['rows'] = $limit; + + $queryString = $this->_generateQueryString($params); + + if (!empty($params['qt'])) { + $url = $this->_constructUrl($params['qt']); + unset($params['qt']); + } else { + $url = $this->_searchUrl; + } + + if ($method == self::METHOD_GET) + { + return $this->_sendRawGet($url . $this->_queryDelimiter . $queryString); + } + else if ($method == self::METHOD_POST) + { + return $this->_sendRawPost($url, $queryString, FALSE, 'application/x-www-form-urlencoded; charset=UTF-8'); + } + else + { + throw new Apache_Solr_InvalidArgumentException("Unsupported method '$method', please use the Apache_Solr_Service::METHOD_* constants"); + } + } + + /** + * Simple Elevate interface + * + * @param string $query The raw query string + * @param int $offset The starting offset for result documents + * @param int $limit The maximum number of result documents to return + * @param array $params key / value pairs for other query parameters (see Solr documentation), use arrays for parameter keys used more than once (e.g. facet.field) + * @param string $method The HTTP method (Apache_Solr_Service::METHOD_GET or Apache_Solr_Service::METHOD::POST) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + * @throws Apache_Solr_InvalidArgumentException If an invalid HTTP method is used + */ + public function elevate($query, $params = array(), $method = self::METHOD_GET) + { + // ensure params is an array + if (!is_null($params)) + { + if (!is_array($params)) + { + // params was specified but was not an array - invalid + throw new Apache_Solr_InvalidArgumentException("\$params must be a valid array or null"); + } + } + else + { + $params = array(); + } + + // construct our full parameters + + // common parameters in this interface + $params['wt'] = self::SOLR_WRITER; + $params['json.nl'] = $this->_namedListTreatment; + + $params['q'] = $query; + $params['enableElevation'] = 'true'; + //$params['exclusive'] = 'true'; + //$params['debugQuery'] = 'true'; + + $queryString = $this->_generateQueryString($params); + + if ($method == self::METHOD_GET) + { + return $this->_sendRawGet($this->_elevateUrl . $this->_queryDelimiter . $queryString); + } + else if ($method == self::METHOD_POST) + { + return $this->_sendRawPost($this->_elevateUrl, $queryString, FALSE, 'application/x-www-form-urlencoded; charset=UTF-8'); + } + else + { + throw new Apache_Solr_InvalidArgumentException("Unsupported method '$method', please use the Apache_Solr_Service::METHOD_* constants"); + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Service/Balancer.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Service/Balancer.php new file mode 100644 index 0000000..a5d2c88 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/Apache/Solr/Service/Balancer.php @@ -0,0 +1,918 @@ +addReadService($service); + } + + //setup writeable services + foreach ($writeableServices as $service) + { + $this->addWriteService($service); + } + } + + public function setReadPingTimeout($timeout) + { + $this->_readPingTimeout = $timeout; + } + + public function setWritePingTimeout($timeout) + { + $this->_writePingTimeout = $timeout; + } + + public function setUseBackoff($enable) + { + $this->_useBackoff = $enable; + } + + /** + * Generates a service ID + * + * @param string $host + * @param integer $port + * @param string $path + * @return string + */ + protected function _getServiceId($host, $port, $path) + { + return $host . ':' . $port . $path; + } + + /** + * Adds a service instance or service descriptor (if it is already + * not added) + * + * @param mixed $service + * + * @throws Apache_Solr_InvalidArgumentException If service descriptor is not valid + */ + public function addReadService($service) + { + if ($service instanceof Apache_Solr_Service) + { + $id = $this->_getServiceId($service->getHost(), $service->getPort(), $service->getPath()); + + $this->_readableServices[$id] = $service; + } + else if (is_array($service)) + { + if (isset($service['host']) && isset($service['port']) && isset($service['path'])) + { + $id = $this->_getServiceId((string)$service['host'], (int)$service['port'], (string)$service['path']); + + $this->_readableServices[$id] = $service; + } + else + { + throw new Apache_Solr_InvalidArgumentException('A Readable Service description array does not have all required elements of host, port, and path'); + } + } + } + + /** + * Removes a service instance or descriptor from the available services + * + * @param mixed $service + * + * @throws Apache_Solr_InvalidArgumentException If service descriptor is not valid + */ + public function removeReadService($service) + { + $id = ''; + + if ($service instanceof Apache_Solr_Service) + { + $id = $this->_getServiceId($service->getHost(), $service->getPort(), $service->getPath()); + } + else if (is_array($service)) + { + if (isset($service['host']) && isset($service['port']) && isset($service['path'])) + { + $id = $this->_getServiceId((string)$service['host'], (int)$service['port'], (string)$service['path']); + } + else + { + throw new Apache_Solr_InvalidArgumentException('A Readable Service description array does not have all required elements of host, port, and path'); + } + } + else if (is_string($service)) + { + $id = $service; + } + + if ($id && isset($this->_readableServices[$id])) + { + unset($this->_readableServices[$id]); + } + } + + /** + * Adds a service instance or service descriptor (if it is already + * not added) + * + * @param mixed $service + * + * @throws Apache_Solr_InvalidArgumentException If service descriptor is not valid + */ + public function addWriteService($service) + { + if ($service instanceof Apache_Solr_Service) + { + $id = $this->_getServiceId($service->getHost(), $service->getPort(), $service->getPath()); + + $this->_writeableServices[$id] = $service; + } + else if (is_array($service)) + { + if (isset($service['host']) && isset($service['port']) && isset($service['path'])) + { + $id = $this->_getServiceId((string)$service['host'], (int)$service['port'], (string)$service['path']); + + $this->_writeableServices[$id] = $service; + } + else + { + throw new Apache_Solr_InvalidArgumentException('A Writeable Service description array does not have all required elements of host, port, and path'); + } + } + } + + /** + * Removes a service instance or descriptor from the available services + * + * @param mixed $service + * + * @throws Apache_Solr_InvalidArgumentException If service descriptor is not valid + */ + public function removeWriteService($service) + { + $id = ''; + + if ($service instanceof Apache_Solr_Service) + { + $id = $this->_getServiceId($service->getHost(), $service->getPort(), $service->getPath()); + } + else if (is_array($service)) + { + if (isset($service['host']) && isset($service['port']) && isset($service['path'])) + { + $id = $this->_getServiceId((string)$service['host'], (int)$service['port'], (string)$service['path']); + } + else + { + throw new Apache_Solr_InvalidArgumentException('A Readable Service description array does not have all required elements of host, port, and path'); + } + } + else if (is_string($service)) + { + $id = $service; + } + + if ($id && isset($this->_writeableServices[$id])) + { + unset($this->_writeableServices[$id]); + } + } + + /** + * Iterate through available read services and select the first with a ping + * that satisfies configured timeout restrictions (or the default) + * + * @return Apache_Solr_Service + * + * @throws Apache_Solr_NoServiceAvailableException If there are no read services that meet requirements + */ + protected function _selectReadService($forceSelect = false) + { + if (!$this->_currentReadService || !isset($this->_readableServices[$this->_currentReadService]) || $forceSelect) + { + if ($this->_currentReadService && isset($this->_readableServices[$this->_currentReadService]) && $forceSelect) + { + // we probably had a communication error, ping the current read service, remove it if it times out + if ($this->_readableServices[$this->_currentReadService]->ping($this->_readPingTimeout) === false) + { + $this->removeReadService($this->_currentReadService); + } + } + + if (count($this->_readableServices)) + { + // select one of the read services at random + $ids = array_keys($this->_readableServices); + + $id = $ids[rand(0, count($ids) - 1)]; + $service = $this->_readableServices[$id]; + + if (is_array($service)) + { + //convert the array definition to a client object + $service = new Apache_Solr_Service($service['host'], $service['port'], $service['path']); + $this->_readableServices[$id] = $service; + } + + $service->setCreateDocuments($this->_createDocuments); + $this->_currentReadService = $id; + } + else + { + throw new Apache_Solr_NoServiceAvailableException('No read services were available'); + } + } + + return $this->_readableServices[$this->_currentReadService]; + } + + /** + * Iterate through available write services and select the first with a ping + * that satisfies configured timeout restrictions (or the default) + * + * @return Apache_Solr_Service + * + * @throws Apache_Solr_NoServiceAvailableException If there are no write services that meet requirements + */ + protected function _selectWriteService($forceSelect = false) + { + if($this->_useBackoff) + { + return $this->_selectWriteServiceSafe($forceSelect); + } + + if (!$this->_currentWriteService || !isset($this->_writeableServices[$this->_currentWriteService]) || $forceSelect) + { + if ($this->_currentWriteService && isset($this->_writeableServices[$this->_currentWriteService]) && $forceSelect) + { + // we probably had a communication error, ping the current read service, remove it if it times out + if ($this->_writeableServices[$this->_currentWriteService]->ping($this->_writePingTimeout) === false) + { + $this->removeWriteService($this->_currentWriteService); + } + } + + if (count($this->_writeableServices)) + { + // select one of the read services at random + $ids = array_keys($this->_writeableServices); + + $id = $ids[rand(0, count($ids) - 1)]; + $service = $this->_writeableServices[$id]; + + if (is_array($service)) + { + //convert the array definition to a client object + $service = new Apache_Solr_Service($service['host'], $service['port'], $service['path']); + $this->_writeableServices[$id] = $service; + } + + $this->_currentWriteService = $id; + } + else + { + throw new Apache_Solr_NoServiceAvailableException('No write services were available'); + } + } + + return $this->_writeableServices[$this->_currentWriteService]; + } + + /** + * Iterate through available write services and select the first with a ping + * that satisfies configured timeout restrictions (or the default). The + * timeout period will increase until a connection is made or the limit is + * reached. This will allow for increased reliability with heavily loaded + * server(s). + * + * @return Apache_Solr_Service + * + * @throws Apache_Solr_NoServiceAvailableException If there are no write services that meet requirements + */ + + protected function _selectWriteServiceSafe($forceSelect = false) + { + if (!$this->_currentWriteService || !isset($this->_writeableServices[$this->_currentWriteService]) || $forceSelect) + { + if (count($this->_writeableServices)) + { + $backoff = $this->_defaultBackoff; + + do { + // select one of the read services at random + $ids = array_keys($this->_writeableServices); + + $id = $ids[rand(0, count($ids) - 1)]; + $service = $this->_writeableServices[$id]; + + if (is_array($service)) + { + //convert the array definition to a client object + $service = new Apache_Solr_Service($service['host'], $service['port'], $service['path']); + $this->_writeableServices[$id] = $service; + } + + $this->_currentWriteService = $id; + + $backoff *= $this->_backoffEscalation; + + if($backoff > $this->_backoffLimit) + { + throw new Apache_Solr_NoServiceAvailableException('No write services were available. All timeouts exceeded.'); + } + + } while($this->_writeableServices[$this->_currentWriteService]->ping($backoff) === false); + } + else + { + throw new Apache_Solr_NoServiceAvailableException('No write services were available'); + } + } + + return $this->_writeableServices[$this->_currentWriteService]; + } + + /** + * Set the create documents flag. This determines whether {@link Apache_Solr_Response} objects will + * parse the response and create {@link Apache_Solr_Document} instances in place. + * + * @param boolean $createDocuments + */ + public function setCreateDocuments($createDocuments) + { + $this->_createDocuments = (bool) $createDocuments; + + // set on current read service + if ($this->_currentReadService) + { + $service = $this->_selectReadService(); + $service->setCreateDocuments($createDocuments); + } + } + + /** + * Get the current state of teh create documents flag. + * + * @return boolean + */ + public function getCreateDocuments() + { + return $this->_createDocuments; + } + + /** + * Raw Add Method. Takes a raw post body and sends it to the update service. Post body + * should be a complete and well formed "add" xml document. + * + * @param string $rawPost + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function add($rawPost) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->add($rawPost); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Add a Solr Document to the index + * + * @param Apache_Solr_Document $document + * @param boolean $allowDups + * @param boolean $overwritePending + * @param boolean $overwriteCommitted + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function addDocument(Apache_Solr_Document $document, $allowDups = false, $overwritePending = true, $overwriteCommitted = true) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->addDocument($document, $allowDups, $overwritePending, $overwriteCommitted); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Add an array of Solr Documents to the index all at once + * + * @param array $documents Should be an array of Apache_Solr_Document instances + * @param boolean $allowDups + * @param boolean $overwritePending + * @param boolean $overwriteCommitted + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function addDocuments($documents, $allowDups = false, $overwritePending = true, $overwriteCommitted = true) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->addDocuments($documents, $allowDups, $overwritePending, $overwriteCommitted); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Send a commit command. Will be synchronous unless both wait parameters are set + * to false. + * + * @param boolean $waitFlush + * @param boolean $waitSearcher + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function commit($optimize = true, $waitFlush = true, $waitSearcher = true, $timeout = 3600) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->commit($optimize, $waitFlush, $waitSearcher, $timeout); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Raw Delete Method. Takes a raw post body and sends it to the update service. Body should be + * a complete and well formed "delete" xml document + * + * @param string $rawPost + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function delete($rawPost, $timeout = 3600) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->delete($rawPost, $timeout); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Create a delete document based on document ID + * + * @param string $id + * @param boolean $fromPending + * @param boolean $fromCommitted + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function deleteById($id, $fromPending = true, $fromCommitted = true, $timeout = 3600) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->deleteById($id, $fromPending, $fromCommitted, $timeout); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Create and post a delete document based on multiple document IDs. + * + * @param array $ids Expected to be utf-8 encoded strings + * @param boolean $fromPending + * @param boolean $fromCommitted + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function deleteByMultipleIds($ids, $fromPending = true, $fromCommitted = true, $timeout = 3600) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->deleteByMultipleId($ids, $fromPending, $fromCommitted, $timeout); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Create a delete document based on a query and submit it + * + * @param string $rawQuery + * @param boolean $fromPending + * @param boolean $fromCommitted + * @param float $timeout Maximum expected duration of the delete operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function deleteByQuery($rawQuery, $fromPending = true, $fromCommitted = true, $timeout = 3600) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->deleteByQuery($rawQuery, $fromPending, $fromCommitted, $timeout); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Use Solr Cell to extract document contents. See {@link http://wiki.apache.org/solr/ExtractingRequestHandler} for information on how + * to use Solr Cell and what parameters are available. + * + * NOTE: when passing an Apache_Solr_Document instance, field names and boosts will automatically be prepended by "literal." and "boost." + * as appropriate. Any keys from the $params array will NOT be treated this way. Any mappings from the document will overwrite key / value + * pairs in the params array if they have the same name (e.g. you pass a "literal.id" key and value in your $params array but you also + * pass in a document isntance with an "id" field" - the document's value(s) will take precedence). + * + * @param string $file Path to file to extract data from + * @param array $params optional array of key value pairs that will be sent with the post (see Solr Cell documentation) + * @param Apache_Solr_Document $document optional document that will be used to generate post parameters (literal.* and boost.* params) + * @param string $mimetype optional mimetype specification (for the file being extracted) + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_InvalidArgumentException if $file, $params, or $document are invalid. + */ + public function extract($file, $params = array(), $document = null, $mimetype = 'application/octet-stream') + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->extract($file, $params, $document, $mimetype); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Use Solr Cell to extract document contents. See {@link http://wiki.apache.org/solr/ExtractingRequestHandler} for information on how + * to use Solr Cell and what parameters are available. + * + * NOTE: when passing an Apache_Solr_Document instance, field names and boosts will automatically be prepended by "literal." and "boost." + * as appropriate. Any keys from the $params array will NOT be treated this way. Any mappings from the document will overwrite key / value + * pairs in the params array if they have the same name (e.g. you pass a "literal.id" key and value in your $params array but you also + * pass in a document isntance with an "id" field" - the document's value(s) will take precedence). + * + * @param string $data Data that will be passed to Solr Cell + * @param array $params optional array of key value pairs that will be sent with the post (see Solr Cell documentation) + * @param Apache_Solr_Document $document optional document that will be used to generate post parameters (literal.* and boost.* params) + * @param string $mimetype optional mimetype specification (for the file being extracted) + * + * @return Apache_Solr_Response + * + * @throws Apache_Solr_InvalidArgumentException if $file, $params, or $document are invalid. + * + * @todo Should be using multipart/form-data to post parameter values, but I could not get my implementation to work. Needs revisisted. + */ + public function extractFromString($data, $params = array(), $document = null, $mimetype = 'application/octet-stream') + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->extractFromString($data, $params, $document, $mimetype); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Send an optimize command. Will be synchronous unless both wait parameters are set + * to false. + * + * @param boolean $waitFlush + * @param boolean $waitSearcher + * @param float $timeout Maximum expected duration of the optimize operation on the server (otherwise, will throw a communication exception) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function optimize($waitFlush = true, $waitSearcher = true, $timeout = 3600) + { + $service = $this->_selectWriteService(); + + do + { + try + { + return $service->optimize($waitFlush, $waitSearcher, $timeout); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectWriteService(true); + } while ($service); + + return false; + } + + /** + * Simple Search interface + * + * @param string $query The raw query string + * @param int $offset The starting offset for result documents + * @param int $limit The maximum number of result documents to return + * @param array $params key / value pairs for query parameters, use arrays for multivalued parameters + * @param string $method The HTTP method (Apache_Solr_Service::METHOD_GET or Apache_Solr_Service::METHOD::POST) + * @return Apache_Solr_Response + * + * @throws Apache_Solr_HttpTransportException If an error occurs during the service call + */ + public function search($query, $offset = 0, $limit = 10, $params = array(), $method = Apache_Solr_Service::METHOD_GET) + { + $service = $this->_selectReadService(); + + do + { + try + { + return $service->search($query, $offset, $limit, $params, $method); + } + catch (Apache_Solr_HttpTransportException $e) + { + if ($e->getCode() != 0) //IF NOT COMMUNICATION ERROR + { + throw $e; + } + } + + $service = $this->_selectReadService(true); + } while ($service); + + return false; + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/CHANGES b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/CHANGES new file mode 100644 index 0000000..28afe66 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/CHANGES @@ -0,0 +1,5 @@ +10/26/2012 +* Add elevate interface + +8/30/2012 +* Add proxy support diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/COPYING b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/COPYING new file mode 100644 index 0000000..acb2762 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/COPYING @@ -0,0 +1,26 @@ +Copyright (c) 2007-2012, Parametric Technology Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Servigistics, Inc. nor the names of + its contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/README b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/README new file mode 100644 index 0000000..efd171c --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/README @@ -0,0 +1,45 @@ += solr-php-client + +A PHP library for indexing and searching documents within an Apache Solr installation. + +Fork from http://code.google.com/p/solr-php-client/ + += License from the original COPYING file + +Copyright (c) 2007-2012, Parametric Technology Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Servigistics, Inc. nor the names of + its contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + += License from http://code.google.com/p/solr-php-client/ + +http://opensource.org/licenses/BSD-3-Clause + += Features + += Usage + += Build + diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/DocumentTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/DocumentTest.php new file mode 100644 index 0000000..92261c8 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/DocumentTest.php @@ -0,0 +1,439 @@ + + */ + +/** + * Apache_Solr_Document Unit Test + */ +class Apache_Solr_DocumentTest extends PHPUnit_Framework_TestCase +{ + /** + * Fixture used for testing + * + * @var Apache_Solr_Document + */ + private $_fixture; + + /** + * Setup for the fixture before each unit test - part of test case API + */ + protected function setup() + { + $this->_fixture = new Apache_Solr_Document(); + } + + /** + * Teardown after each unit test - part of test case API + */ + protected function tearDown() + { + unset($this->_fixture); + } + + public function testDefaultStateAfterConstructor() + { + // document boost should be false + $this->assertFalse($this->_fixture->getBoost()); + + // document fields should be empty + $this->assertEquals(0, count($this->_fixture->getFieldNames())); + $this->assertEquals(0, count($this->_fixture->getFieldValues())); + $this->assertEquals(0, count($this->_fixture->getFieldBoosts())); + + // document iterator should be empty + $this->assertEquals(0, iterator_count($this->_fixture)); + } + + public function testSetAndGetField() + { + $field = 'field'; + $value = 'value'; + $boost = 0.5; + + // set the field + $this->_fixture->setField($field, $value, $boost); + + $result = $this->_fixture->getField($field); + + // check the array values + $this->assertTrue(is_array($result)); + $this->assertEquals($field, $result['name']); + $this->assertEquals($value, $result['value']); + $this->assertEquals($boost, $result['boost']); + } + + public function testGetFieldReturnsFalseForNonExistentField() + { + $this->assertFalse($this->_fixture->getField('field')); + } + + public function testMagicGetForFieldValues() + { + $field = 'field'; + $value = 'value'; + + $this->_fixture->setField($field, $value); + + // test the __get value + $this->assertEquals($value, $this->_fixture->{$field}); + } + + /** + * Added for issue #48 (http://code.google.com/p/solr-php-client/issues/detail?id=48) + */ + public function testMagicGetReturnsNullForNonExistentField() + { + $this->assertNull($this->_fixture->nonExistent); + } + + public function testMagicSetForFieldValues() + { + $field = 'field'; + $value = 'value'; + + // set field value with magic __set + $this->_fixture->{$field} = $value; + + $fieldArray = $this->_fixture->getField($field); + + // set values + $this->assertEquals($field, $fieldArray['name']); + $this->assertEquals($value, $fieldArray['value']); + $this->assertTrue($fieldArray['boost'] === false); + } + + public function testMagicIssetForNonExistentField() + { + $this->assertFalse(isset($this->_fixture->field)); + } + + public function testMagicIssetForExistingField() + { + $field = 'field'; + $this->_fixture->{$field} = 'value'; + $this->assertTrue(isset($this->_fixture->{$field})); + } + + public function testMagicUnsetForExistingField() + { + $field = 'field'; + + $this->_fixture->{$field} = 'value'; + + // now unset the field + unset($this->_fixture->{$field}); + + // now test that its unset + $this->assertFalse(isset($this->_fixture->{$field})); + } + + public function testMagicUnsetForNonExistingField() + { + $field = 'field'; + unset($this->_fixture->{$field}); + + // now test that it still does not exist + $this->assertFalse(isset($this->_fixture->{$field})); + } + + public function testSetAndGetFieldBoostWithPositiveNumberSetsBoost() + { + $field = 'field'; + $boost = 0.5; + + $this->_fixture->setFieldBoost($field, $boost); + + // test the field boost + $this->assertEquals($boost, $this->_fixture->getFieldBoost($field)); + } + + public function testSetAndGetFieldBoostWithZeroRemovesBoost() + { + $field = 'field'; + $boost = 0; + + $this->_fixture->setFieldBoost($field, $boost); + + // test the field boost + $this->assertTrue($this->_fixture->getFieldBoost($field) === false); + } + + public function testSetAndGetFieldBoostWithNegativeNumberRemovesBoost() + { + $field = 'field'; + $boost = -1; + + $this->_fixture->setFieldBoost($field, $boost); + + // test the field boost + $this->assertTrue($this->_fixture->getFieldBoost($field) === false); + } + + public function testSetAndGetFieldBoostWithNonNumberRemovesBoost() + { + $field = 'field'; + $boost = "i am not a number"; + + $this->_fixture->setFieldBoost($field, $boost); + + // test the field boost + $this->assertTrue($this->_fixture->getFieldBoost($field) === false); + } + + public function testSetAndGetBoostWithPositiveNumberSetsBoost() + { + $boost = 0.5; + $this->_fixture->setBoost($boost); + + // the boost should now be set + $this->assertEquals($boost, $this->_fixture->getBoost()); + } + + public function testSetAndGetBoostWithZeroRemovesBoost() + { + $this->_fixture->setBoost(0); + + // should be boolean false + $this->assertTrue($this->_fixture->getBoost() === false); + } + + public function testSetAndGetBoostWithNegativeNumberRemovesBoost() + { + $this->_fixture->setBoost(-1); + + // should be boolean false + $this->assertTrue($this->_fixture->getBoost() === false); + } + + public function testSetAndGetBoostWithNonNumberRemovesBoost() + { + $this->_fixture->setBoost("i am not a number"); + + // should be boolean false + $this->assertTrue($this->_fixture->getBoost() === false); + } + + public function testAddFieldCreatesMultiValueWhenFieldDoesNotExist() + { + $field = 'field'; + $value = 'value'; + + $this->_fixture->addField($field, $value); + + // check that value is an array with correct values + $fieldValue = $this->_fixture->{$field}; + + $this->assertTrue(is_array($fieldValue)); + $this->assertEquals(1, count($fieldValue)); + $this->assertEquals($value, $fieldValue[0]); + } + + /** + * setMultiValue has been deprecated and defers to addField + * + * @deprecated + */ + public function testSetMultiValueCreateMultiValueWhenFieldDoesNotExist() + { + $field = 'field'; + $value = 'value'; + + $this->_fixture->setMultiValue($field, $value); + + // check that value is an array with correct values + $fieldValue = $this->_fixture->{$field}; + + $this->assertTrue(is_array($fieldValue)); + $this->assertEquals(1, count($fieldValue)); + $this->assertEquals($value, $fieldValue[0]); + } + + public function testAddFieldCreatesMultiValueWhenFieldDoesExistAsSingleValue() + { + $field = 'field'; + $value1 = 'value1'; + $value2 = 'value2'; + + // set first value as singular value + $this->_fixture->{$field} = $value1; + + // add a second value with addField + $this->_fixture->addField($field, $value2); + + // check that value is an array with correct values + $fieldValue = $this->_fixture->{$field}; + + $this->assertTrue(is_array($fieldValue)); + $this->assertEquals(2, count($fieldValue)); + $this->assertEquals($value1, $fieldValue[0]); + $this->assertEquals($value2, $fieldValue[1]); + } + + /** + * setMultiValue has been deprecated and defers to addField + * + * @deprecated + */ + public function testSetMultiValueCreatesMultiValueWhenFieldDoesExistAsSingleValue() + { + $field = 'field'; + $value1 = 'value1'; + $value2 = 'value2'; + + // set first value as singular value + $this->_fixture->{$field} = $value1; + + // add a second value with addField + $this->_fixture->setMultiValue($field, $value2); + + // check that value is an array with correct values + $fieldValue = $this->_fixture->{$field}; + + $this->assertTrue(is_array($fieldValue)); + $this->assertEquals(2, count($fieldValue)); + $this->assertEquals($value1, $fieldValue[0]); + $this->assertEquals($value2, $fieldValue[1]); + } + + public function testAddFieldWithBoostSetsFieldBoost() + { + $field = 'field'; + $boost = 0.5; + + $this->_fixture->addField($field, 'value', $boost); + + // check the field boost + $this->assertEquals($boost, $this->_fixture->getFieldBoost($field)); + } + + public function testAddFieldWithBoostMultipliesWithAPreexistingBoost() + { + $field = 'field'; + $boost = 0.5; + + // set a field with a boost + $this->_fixture->setField($field, 'value1', $boost); + + // now add another value with the same boost + $this->_fixture->addField($field, 'value2', $boost); + + // new boost should be $boost * $boost + $this->assertEquals($boost * $boost, $this->_fixture->getFieldBoost($field)); + } + + public function testGetFieldNamesIsInitiallyEmpty() + { + $fieldNames = $this->_fixture->getFieldNames(); + + $this->assertTrue(empty($fieldNames)); + } + + public function testGetFieldNamesAfterFieldIsSetIsNotEmpty() + { + $field = 'field'; + + $this->_fixture->{$field} = 'value'; + $fieldNames = $this->_fixture->getFieldNames(); + + $this->assertTrue(!empty($fieldNames)); + $this->assertEquals(1, count($fieldNames)); + $this->assertEquals($field, $fieldNames[0]); + } + + public function testGetFieldValuesIsInitiallyEmpty() + { + $fieldValues = $this->_fixture->getFieldValues(); + + $this->assertTrue(empty($fieldValues)); + } + + public function testGetFieldValuessAfterFieldIsSetIsNotEmpty() + { + $value = 'value'; + + $this->_fixture->field = $value; + $fieldValues = $this->_fixture->getFieldValues(); + + $this->assertTrue(!empty($fieldValues)); + $this->assertEquals(1, count($fieldValues)); + $this->assertEquals($value, $fieldValues[0]); + } + + public function testGetIteratorAfterFieldValueIsSet() + { + $field = 'field'; + $value = 'value'; + + $this->_fixture->{$field} = $value; + + $itemCount = 0; + + foreach ($this->_fixture as $iteratedField => $iteratedValue) + { + ++$itemCount; + + // test field and value + $this->assertEquals($field, $iteratedField); + $this->assertEquals($value, $iteratedValue); + } + + // test number of iterations is 1 + $this->assertEquals(1, $itemCount); + } + + public function testClearReturnsDocumentToDefaultState() + { + // set the document boost + $this->_fixture->setBoost(0.5); + + // set a field + $this->_fixture->someField = "some value"; + + // clear the document to remove boost and fields + $this->_fixture->clear(); + + // document boost should now be false + $this->assertFalse($this->_fixture->getBoost()); + + // document fields should now be empty + $this->assertEquals(0, count($this->_fixture->getFieldNames())); + $this->assertEquals(0, count($this->_fixture->getFieldValues())); + $this->assertEquals(0, count($this->_fixture->getFieldBoosts())); + + // document iterator should now be empty + $this->assertEquals(0, iterator_count($this->_fixture)); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/AbstractTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/AbstractTest.php new file mode 100644 index 0000000..987302b --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/AbstractTest.php @@ -0,0 +1,208 @@ + + */ + +/** + * Apache_Solr_HttpTransport_Abstract Unit Tests + */ +abstract class Apache_Solr_HttpTransport_AbstractTest extends PHPUnit_Framework_TestCase +{ + const TIMEOUT = 2; + + // request our copyright file from googlecode for GET and HEAD + const GET_URL = "http://solr-php-client.googlecode.com/svn/trunk/COPYING"; + const GET_RESPONSE_MIME_TYPE = 'text/plain'; + const GET_RESPONSE_ENCODING = 'UTF-8'; + const GET_RESPONSE_MATCH = 'Copyright (c) '; + + // post to the issue list page with a search for 'meh' + const POST_URL = "http://code.google.com/p/solr-php-client/issues/list"; + const POST_DATA = "can=2&q=meh&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&cells=tiles"; + const POST_REQUEST_CONTENT_TYPE = 'application/x-www-form-urlencoded; charset=UTF-8'; + + const POST_RESPONSE_MIME_TYPE = 'text/html'; + const POST_RESPONSE_ENCODING = 'UTF-8'; + //const POST_RESPONSE_MATCH = 'not sure'; + + abstract public function getFixture(); + + public function testGetDefaultTimeoutWithDefaultConstructor() + { + $fixture = $this->getFixture(); + $timeout = $fixture->getDefaultTimeout(); + + $this->assertGreaterThan(0, $timeout); + } + + public function testGetDefaultTimeoutSetToSixtyForBadValues() + { + // first set our default_socket_timeout ini setting + $previousValue = ini_get('default_socket_timeout'); + ini_set('default_socket_timeout', 0); + + $fixture = $this->getFixture(); + $timeout = $fixture->getDefaultTimeout(); + + // reset timeout + ini_set('default_socket_timeout', $previousValue); + + $this->assertEquals(60, $timeout); + } + + public function testSetDefaultTimeout() + { + $newTimeout = 1234; + + $fixture = $this->getFixture(); + $fixture->setDefaultTimeout($newTimeout); + $timeout = $fixture->getDefaultTimeout(); + + $this->assertEquals($newTimeout, $timeout); + } + + public function testPerformGetRequest() + { + $fixture = $this->getFixture(); + $fixture->setDefaultTimeout(self::TIMEOUT); + + $response = $fixture->performGetRequest(self::GET_URL); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Response', $response); + + $this->assertEquals(200, $response->getStatusCode(), 'Status code was not 200'); + $this->assertEquals(self::GET_RESPONSE_MIME_TYPE, $response->getMimeType(), 'mimetype was not correct'); + $this->assertEquals(self::GET_RESPONSE_ENCODING, $response->getEncoding(), 'character encoding was not correct'); + $this->assertStringStartsWith(self::GET_RESPONSE_MATCH, $response->getBody(), 'body did not start with match text'); + } + + public function testPerformGetRequestWithTimeout() + { + $fixture = $this->getFixture(); + $response = $fixture->performGetRequest(self::GET_URL, self::TIMEOUT); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Response', $response); + + $this->assertEquals(200, $response->getStatusCode(), 'Status code was not 200'); + $this->assertEquals(self::GET_RESPONSE_MIME_TYPE, $response->getMimeType(), 'mimetype was not correct'); + $this->assertEquals(self::GET_RESPONSE_ENCODING, $response->getEncoding(), 'character encoding was not correct'); + $this->assertStringStartsWith(self::GET_RESPONSE_MATCH, $response->getBody(), 'body did not start with match text'); + } + + public function testPerformHeadRequest() + { + $fixture = $this->getFixture(); + $fixture->setDefaultTimeout(self::TIMEOUT); + + $response = $fixture->performHeadRequest(self::GET_URL); + + // we should get everything the same as a get, except the body + $this->assertInstanceOf('Apache_Solr_HttpTransport_Response', $response); + + $this->assertEquals(200, $response->getStatusCode(), 'Status code was not 200'); + $this->assertEquals(self::GET_RESPONSE_MIME_TYPE, $response->getMimeType(), 'mimetype was not correct'); + $this->assertEquals(self::GET_RESPONSE_ENCODING, $response->getEncoding(), 'character encoding was not correct'); + $this->assertEquals("", $response->getBody(), 'body was not empty'); + } + + public function testPerformHeadRequestWithTimeout() + { + $fixture = $this->getFixture(); + $response = $fixture->performHeadRequest(self::GET_URL, self::TIMEOUT); + + // we should get everything the same as a get, except the body + $this->assertInstanceOf('Apache_Solr_HttpTransport_Response', $response); + + $this->assertEquals(200, $response->getStatusCode(), 'Status code was not 200'); + $this->assertEquals(self::GET_RESPONSE_MIME_TYPE, $response->getMimeType(), 'mimetype was not correct'); + $this->assertEquals(self::GET_RESPONSE_ENCODING, $response->getEncoding(), 'character encoding was not correct'); + $this->assertEquals("", $response->getBody(), 'body was not empty'); + } + + public function testPerformPostRequest() + { + $fixture = $this->getFixture(); + $fixture->setDefaultTimeout(self::TIMEOUT); + + $response = $fixture->performPostRequest(self::POST_URL, self::POST_DATA, self::POST_REQUEST_CONTENT_TYPE); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Response', $response); + + $this->assertEquals(200, $response->getStatusCode(), 'Status code was not 200'); + $this->assertEquals(self::POST_RESPONSE_MIME_TYPE, $response->getMimeType(), 'mimetype was not correct'); + $this->assertEquals(self::POST_RESPONSE_ENCODING, $response->getEncoding(), 'character encoding was not correct'); + //$this->assertStringStartsWith(self::POST_RESPONSE_MATCH, $response->getBody(), 'body did not start with match text'); + } + + public function testPerformPostRequestWithTimeout() + { + $fixture = $this->getFixture(); + $response = $fixture->performPostRequest(self::POST_URL, self::POST_DATA, self::POST_REQUEST_CONTENT_TYPE, self::TIMEOUT); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Response', $response); + + $this->assertEquals(200, $response->getStatusCode(), 'Status code was not 200'); + $this->assertEquals(self::POST_RESPONSE_MIME_TYPE, $response->getMimeType(), 'mimetype was not correct'); + $this->assertEquals(self::POST_RESPONSE_ENCODING, $response->getEncoding(), 'character encoding was not correct'); + //$this->assertStringStartsWith(self::POST_RESPONSE_MATCH, $response->getBody(), 'body did not start with match text'); + } + + /** + * Test one session doing multiple requests in multiple orders + */ + public function testMultipleRequests() + { + // initial get request + $this->testPerformGetRequest(); + + // head following get + $this->testPerformHeadRequest(); + + // post following head + $this->testPerformPostRequest(); + + // get following post + $this->testPerformGetRequest(); + + // post following get + $this->testPerformPostRequest(); + + // head following post + $this->testPerformHeadRequest(); + + // get following post + $this->testPerformGetRequest(); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/CurlNoReuseTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/CurlNoReuseTest.php new file mode 100644 index 0000000..0484dd4 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/CurlNoReuseTest.php @@ -0,0 +1,53 @@ + + */ + +/** + * Apache_Solr_HttpTransport_CurlNoReuse Unit Tests + */ +class Apache_Solr_HttpTransport_CurlNoReuseTest extends Apache_Solr_HttpTransport_AbstractTest +{ + public function getFixture() + { + // ensure curl is enabled + if (!extension_loaded('curl')) + { + $this->markTestSkipped("curl module is not enabled"); + } + + return new Apache_Solr_HttpTransport_CurlNoReuse(); + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/CurlTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/CurlTest.php new file mode 100644 index 0000000..070c164 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/CurlTest.php @@ -0,0 +1,53 @@ + + */ + +/** + * Apache_Solr_HttpTransport_Curl Unit Tests + */ +class Apache_Solr_HttpTransport_CurlTest extends Apache_Solr_HttpTransport_AbstractTest +{ + public function getFixture() + { + // ensure curl is enabled + if (!extension_loaded('curl')) + { + $this->markTestSkipped("curl module is not enabled"); + } + + return new Apache_Solr_HttpTransport_Curl(); + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/FileGetContentsTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/FileGetContentsTest.php new file mode 100644 index 0000000..2e4f8e9 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/FileGetContentsTest.php @@ -0,0 +1,53 @@ + + */ + +/** + * Apache_Solr_HttpTransport_FileGetContents Unit Tests + */ +class Apache_Solr_HttpTransport_FileGetContentsTest extends Apache_Solr_HttpTransport_AbstractTest +{ + public function getFixture() + { + // make sure allow_url_fopen is on + if (!ini_get("allow_url_fopen")) + { + $this->markTestSkipped("allow_url_fopen is not enabled"); + } + + return new Apache_Solr_HttpTransport_FileGetContents(); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/ResponseTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/ResponseTest.php new file mode 100644 index 0000000..f3c1127 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransport/ResponseTest.php @@ -0,0 +1,164 @@ + + */ + +/** + * Apache_Solr_HttpTransport_Response Unit Tests + */ +class Apache_Solr_HttpTransport_ResponseTest extends PHPUnit_Framework_TestCase +{ + // generated with the following query string: select?q=solr&wt=json + const STATUS_CODE_200 = 200; + const STATUS_MESSAGE_200 = "OK"; + const BODY_200 = '{"responseHeader":{"status":0,"QTime":0,"params":{"q":"solr","wt":"json"}},"response":{"numFound":0,"start":0,"docs":[]}}'; + const BODY_200_WITH_DOCUMENTS = '{"responseHeader":{"status":0,"QTime":0,"params":{"q":"*:*","wt":"json"}},"response":{"numFound":1,"start":0,"docs":[{"guid":"dev/2/products/45410/1236981","cit_domain":"products","cit_client":"2","cit_instance":"dev","cit_timestamp":"2010-10-06T18:16:51.573Z","product_code_t":["235784"],"product_id":[1236981],"dealer_id":[45410],"category_id":[1030],"manufacturer_id":[0],"vendor_id":[472],"catalog_id":[202]}]}}'; + const CONTENT_TYPE_200 = "text/plain; charset=utf-8"; + const MIME_TYPE_200 = "text/plain"; + const ENCODING_200 = "utf-8"; + + // generated with the following query string: select?qt=standad&q=solr&wt=json + // NOTE: the intentional mispelling of the standard in the qt parameter + const STATUS_CODE_400 = 400; + const STATUS_MESSAGE_400 = "Bad Request"; + const BODY_400 = 'Apache Tomcat/6.0.24 - Error report

HTTP Status 400 - unknown handler: standad


type Status report

message unknown handler: standad

description The request sent by the client was syntactically incorrect (unknown handler: standad).


Apache Tomcat/6.0.24

'; + const CONTENT_TYPE_400 = "text/html; charset=utf-8"; + const MIME_TYPE_400 = "text/html"; + const ENCODING_400 = "utf-8"; + + // generated with the following query string: select?q=solr&wt=json on a core that does not exist + const STATUS_CODE_404 = 404; + const STATUS_MESSAGE_404 = "Not Found"; + const BODY_404 = 'Apache Tomcat/6.0.24 - Error report

HTTP Status 404 - /solr/doesnotexist/select


type Status report

message /solr/doesnotexist/select

description The requested resource (/solr/doesnotexist/select) is not available.


Apache Tomcat/6.0.24

'; + const CONTENT_TYPE_404 = "text/html; charset=utf-8"; + const MIME_TYPE_404 = "text/html"; + const ENCODING_404 = "utf-8"; + + public static function get0Response() + { + return new Apache_Solr_HttpTransport_Response(null, null, null); + } + + public static function get200Response() + { + return new Apache_Solr_HttpTransport_Response(self::STATUS_CODE_200, self::CONTENT_TYPE_200, self::BODY_200); + } + + public static function get200ResponseWithDocuments() + { + return new Apache_Solr_HttpTransport_Response(self::STATUS_CODE_200, self::CONTENT_TYPE_200, self::BODY_200_WITH_DOCUMENTS); + } + + public static function get400Response() + { + return new Apache_Solr_HttpTransport_Response(self::STATUS_CODE_400, self::CONTENT_TYPE_400, self::BODY_400); + } + + public static function get404Response() + { + return new Apache_Solr_HttpTransport_Response(self::STATUS_CODE_404, self::CONTENT_TYPE_404, self::BODY_404); + } + + public function testGetStatusCode() + { + $fixture = self::get200Response(); + + $statusCode = $fixture->getStatusCode(); + + $this->assertEquals(self::STATUS_CODE_200, $statusCode); + } + + public function testGetStatusMessage() + { + $fixture = self::get200Response(); + + $statusMessage = $fixture->getStatusMessage(); + + $this->assertEquals(self::STATUS_MESSAGE_200, $statusMessage); + } + + public function testGetStatusMessageWithUnknownCode() + { + $fixture = new Apache_Solr_HttpTransport_Response(499, null, null); + + $statusMessage = $fixture->getStatusMessage(); + $this->assertEquals("Unknown Status", $statusMessage); + } + + public function testGetBody() + { + $fixture = self::get200Response(); + + $body = $fixture->getBody(); + + $this->assertEquals(self::BODY_200, $body); + } + + public function testGetMimeType() + { + $fixture = self::get200Response(); + + $mimeType = $fixture->getMimeType(); + + $this->assertEquals(self::MIME_TYPE_200, $mimeType); + } + + public function testGetEncoding() + { + $fixture = self::get200Response(); + + $encoding = $fixture->getEncoding(); + + $this->assertEquals(self::ENCODING_200, $encoding); + } + + public function testGetStatusMessageWhenNotProvided() + { + // test 4 of the most common status code responses, probably don't need + // to test all the codes we have + + $fixture = new Apache_Solr_HttpTransport_Response(null, null, null, null, null); + $this->assertEquals("Communication Error", $fixture->getStatusMessage(), 'Did not get correct default status message for status code 0'); + + $fixture = new Apache_Solr_HttpTransport_Response(200, null, null, null, null); + $this->assertEquals("OK", $fixture->getStatusMessage(), 'Did not get correct default status message for status code 200'); + + $fixture = new Apache_Solr_HttpTransport_Response(400, null, null, null, null); + $this->assertEquals("Bad Request", $fixture->getStatusMessage(), 'Did not get correct default status message for status code 400'); + + $fixture = new Apache_Solr_HttpTransport_Response(404, null, null, null, null); + $this->assertEquals("Not Found", $fixture->getStatusMessage(), 'Did not get correct default status message for status code 404'); + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransportExceptionTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransportExceptionTest.php new file mode 100644 index 0000000..a095875 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/HttpTransportExceptionTest.php @@ -0,0 +1,58 @@ + + */ + +/** + * Apache_Solr_HttpTransportException Unit Tests + */ +class Apache_Solr_HttpTransportExceptionTest extends PHPUnit_Framework_TestCase +{ + /** + * @expectedException PHPUnit_Framework_Error + */ + public function testConstructorRequiresResponse() + { + $fixture = new Apache_Solr_HttpTransportException(); + } + + public function testGetResponse() + { + $response = Apache_Solr_ResponseTest::get0Response(); + $fixture = new Apache_Solr_HttpTransportException($response); + + $this->assertEquals($response, $fixture->getResponse()); + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ResponseTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ResponseTest.php new file mode 100644 index 0000000..63b679a --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ResponseTest.php @@ -0,0 +1,194 @@ + + */ + +/** + * Apache_Solr_Response Unit Test + */ +class Apache_Solr_ResponseTest extends PHPUnit_Framework_TestCase +{ + static public function get0Response($createDocuments = true, $collapseSingleValueArrays = true) + { + return new Apache_Solr_Response(Apache_Solr_HttpTransport_ResponseTest::get0Response(), $createDocuments, $collapseSingleValueArrays); + } + + static public function get200Response($createDocuments = true, $collapseSingleValueArrays = true) + { + return new Apache_Solr_Response(Apache_Solr_HttpTransport_ResponseTest::get200Response(), $createDocuments, $collapseSingleValueArrays); + } + + static public function get200ResponseWithDocuments($createDocuments = true, $collapseSingleValueArrays = true) + { + return new Apache_Solr_Response(Apache_Solr_HttpTransport_ResponseTest::get200ResponseWithDocuments(), $createDocuments, $collapseSingleValueArrays); + } + + static public function get400Response($createDocuments = true, $collapseSingleValueArrays = true) + { + return new Apache_Solr_Response(Apache_Solr_HttpTransport_ResponseTest::get400Response(), $createDocuments, $collapseSingleValueArrays); + } + + static public function get404Response($createDocuments = true, $collapseSingleValueArrays = true) + { + return new Apache_Solr_Response(Apache_Solr_HttpTransport_ResponseTest::get404Response(), $createDocuments, $collapseSingleValueArrays); + } + + public function testConstuctorWithValidBodyAndHeaders() + { + $fixture = self::get200Response(); + + // check that we parsed the HTTP status correctly + $this->assertEquals(Apache_Solr_HttpTransport_ResponseTest::STATUS_CODE_200, $fixture->getHttpStatus()); + + // check that we received the body correctly + $this->assertEquals(Apache_Solr_HttpTransport_ResponseTest::BODY_200, $fixture->getRawResponse()); + + // check that our defaults are correct + $this->assertEquals(Apache_Solr_HttpTransport_ResponseTest::ENCODING_200, $fixture->getEncoding()); + $this->assertEquals(Apache_Solr_HttpTransport_ResponseTest::MIME_TYPE_200, $fixture->getType()); + } + + public function testConstructorWithBadBodyAndHeaders() + { + $fixture = self::get0Response(); + + // check that our defaults are correct + $this->assertEquals(0, $fixture->getHttpStatus()); + $this->assertEquals("UTF-8", $fixture->getEncoding()); + $this->assertEquals("text/plain", $fixture->getType()); + } + + public function testMagicGetWithValidBodyAndHeaders() + { + $fixture = self::get200Response(); + + // test top level gets + $this->assertInstanceOf('stdClass', $fixture->responseHeader); + $this->assertEquals(0, $fixture->responseHeader->status); + $this->assertEquals(0, $fixture->responseHeader->QTime); + + $this->assertInstanceOf('stdClass', $fixture->response); + $this->assertEquals(0, $fixture->response->numFound); + + $this->assertTrue(is_array($fixture->response->docs)); + $this->assertEquals(0, count($fixture->response->docs)); + } + + /** + * @expectedException Apache_Solr_ParserException + */ + public function testMagicGetWith0Response() + { + $fixture = self::get0Response(); + + // attempting to magic get a part of the response + // should throw a ParserException + $fixture->responseHeader; + + $this->fail("Expected Apache_Solr_ParserException was not raised"); + } + + /** + * @expectedException Apache_Solr_ParserException + */ + public function testMagicGetWith400Response() + { + $fixture = self::get400Response(); + + // attempting to magic get a part of the response + // should throw a ParserException + $fixture->responseHeader; + + $this->fail("Expected Apache_Solr_ParserException was not raised"); + } + + /** + * @expectedException Apache_Solr_ParserException + */ + public function testMagicGetWith404Response() + { + $fixture = self::get404Response(); + + // attempting to magic get a part of the response + // should throw a ParserException + $fixture->responseHeader; + + $this->fail("Expected Apache_Solr_ParserException was not raised"); + } + + public function testCreateDocuments() + { + $fixture = self::get200ResponseWithDocuments(); + + $this->assertTrue(count($fixture->response->docs) > 0, 'There are not 1 or more documents, cannot test'); + $this->assertInstanceOf('Apache_Solr_Document', $fixture->response->docs[0], 'The first document is not of type Apache_Solr_Document'); + } + + public function testDontCreateDocuments() + { + $fixture = self::get200ResponseWithDocuments(false); + + $this->assertTrue(count($fixture->response->docs) > 0, 'There are not 1 or more documents, cannot test'); + $this->assertInstanceOf('stdClass', $fixture->response->docs[0], 'The first document is not of type stdClass'); + } + + public function testGetHttpStatusMessage() + { + $fixture = self::get200Response(); + + $this->assertEquals("OK", $fixture->getHttpStatusMessage()); + } + + public function testMagicGetReturnsNullForUndefinedData() + { + $fixture = self::get200Response(); + + $this->assertNull($fixture->doesnotexist); + } + + public function testMagicIssetForDefinedProperty() + { + $fixture = self::get200Response(); + + $this->assertTrue(isset($fixture->responseHeader)); + } + + public function testMagicIssetForUndefinedProperty() + { + $fixture = self::get200Response(); + + $this->assertFalse(isset($fixture->doesnotexist)); + } +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/Service/BalancerTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/Service/BalancerTest.php new file mode 100644 index 0000000..df39874 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/Service/BalancerTest.php @@ -0,0 +1,47 @@ + + */ + +/** + * Apache_Solr_Service_Balancer Unit Tests + */ +class Apache_Solr_Service_BalancerTest extends Apache_Solr_ServiceAbstractTest +{ + public function getFixture() + { + return new Apache_Solr_Service_Balancer(); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ServiceAbstractTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ServiceAbstractTest.php new file mode 100644 index 0000000..0e8fdf5 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ServiceAbstractTest.php @@ -0,0 +1,139 @@ + + */ + +/** + * Provides base funcationality test for both Apache_Solr_Service and the + * Apache_Solr_Service_Balancer classes. + */ +abstract class Apache_Solr_ServiceAbstractTest extends PHPUnit_Framework_TestCase +{ + /** + * Method that gets the appropriate instance for testing + */ + abstract public function getFixture(); + + /** + * @dataProvider testEscapeDataProvider + */ + public function testEscape($input, $expectedOutput) + { + $fixture = $this->getFixture(); + + $this->assertEquals($expectedOutput, $fixture->escape($input)); + } + + public function testEscapeDataProvider() + { + return array( + array( + "I should look the same", + "I should look the same" + ), + + array( + "(There) are: ^lots \\ && of spec!al charaters", + "\\(There\\) are\\: \\^lots \\\\ \\&& of spec\\!al charaters" + ) + ); + } + + /** + * @dataProvider testEscapePhraseDataProvider + */ + public function testEscapePhrase($input, $expectedOutput) + { + $fixture = $this->getFixture(); + + $this->assertEquals($expectedOutput, $fixture->escapePhrase($input)); + } + + public function testEscapePhraseDataProvider() + { + return array( + array( + "I'm a simple phrase", + "I'm a simple phrase" + ), + + array( + "I have \"phrase\" characters", + 'I have \\"phrase\\" characters' + ) + ); + } + + /** + * @dataProvider testPhraseDataProvider + */ + public function testPhrase($input, $expectedOutput) + { + $fixture = $this->getFixture(); + + $this->assertEquals($expectedOutput, $fixture->phrase($input)); + } + + public function testPhraseDataProvider() + { + return array( + array( + "I'm a simple phrase", + '"I\'m a simple phrase"' + ), + + array( + "I have \"phrase\" characters", + '"I have \\"phrase\\" characters"' + ) + ); + } + + public function testGetCreateDocumentWithDefaultConstructor() + { + $fixture = $this->getFixture(); + + $this->assertTrue($fixture->getCreateDocuments()); + } + + public function testSetCreateDocuments() + { + $fixture = $this->getFixture(); + + $fixture->setCreateDocuments(false); + + $this->assertFalse($fixture->getCreateDocuments()); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ServiceTest.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ServiceTest.php new file mode 100644 index 0000000..651c303 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/Apache/Solr/ServiceTest.php @@ -0,0 +1,1180 @@ + + */ + +/** + * Apache_Solr_Service Unit Test + */ +class Apache_Solr_ServiceTest extends Apache_Solr_ServiceAbstractTest +{ + public function getFixture() + { + return new Apache_Solr_Service(); + } + + public function getMockHttpTransportInterface() + { + return $this->getMock( + 'Apache_Solr_HttpTransport_Interface', + array( + 'getDefaultTimeout', + 'setDefaultTimeout', + 'setAuthenticationCredentials', + 'performGetRequest', + 'performHeadRequest', + 'performPostRequest', + ) + ); + } + + //================================================================// + // ATTEMPT TO MOVE THESE TO ServiceAbstractTest AT SOME POINT // + // Apache_Solr_Service_Balancer will need functions added // + //================================================================// + public function testGetHttpTransportWithDefaultConstructor() + { + $fixture = new Apache_Solr_Service(); + + $httpTransport = $fixture->getHttpTransport(); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Interface', $httpTransport, 'Default http transport does not implement interface'); + $this->assertInstanceOf('Apache_Solr_HttpTransport_FileGetContents', $httpTransport, 'Default http transport is not URL Wrapper implementation'); + } + + + public function testSetHttpTransport() + { + $newTransport = new Apache_Solr_HttpTransport_Curl(); + $fixture = new Apache_Solr_Service(); + + $fixture->setHttpTransport($newTransport); + $httpTransport = $fixture->getHttpTransport(); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Interface', $httpTransport); + $this->assertInstanceOf('Apache_Solr_HttpTransport_Curl', $httpTransport); + $this->assertEquals($newTransport, $httpTransport); + + } + + public function testSetHttpTransportWithConstructor() + { + $newTransport = new Apache_Solr_HttpTransport_Curl(); + + $fixture = new Apache_Solr_Service('localhost', 8180, '/solr/', $newTransport); + + $fixture->setHttpTransport($newTransport); + $httpTransport = $fixture->getHttpTransport(); + + $this->assertInstanceOf('Apache_Solr_HttpTransport_Interface', $httpTransport); + $this->assertInstanceOf('Apache_Solr_HttpTransport_Curl', $httpTransport); + $this->assertEquals($newTransport, $httpTransport); + } + + public function testGetCollapseSingleValueArraysWithDefaultConstructor() + { + $fixture = $this->getFixture(); + + $this->assertTrue($fixture->getCollapseSingleValueArrays()); + } + + public function testSetCollapseSingleValueArrays() + { + $fixture = $this->getFixture(); + + $fixture->setCollapseSingleValueArrays(false); + $this->assertFalse($fixture->getCollapseSingleValueArrays()); + } + + public function testGetNamedListTreatmetnWithDefaultConstructor() + { + $fixture = $this->getFixture(); + + $this->assertEquals(Apache_Solr_Service::NAMED_LIST_MAP, $fixture->getNamedListTreatment()); + } + + public function testSetNamedListTreatment() + { + $fixture = $this->getFixture(); + + $fixture->setNamedListTreatment(Apache_Solr_Service::NAMED_LIST_FLAT); + $this->assertEquals(Apache_Solr_Service::NAMED_LIST_FLAT, $fixture->getNamedListTreatment()); + + $fixture->setNamedListTreatment(Apache_Solr_Service::NAMED_LIST_MAP); + $this->assertEquals(Apache_Solr_Service::NAMED_LIST_MAP, $fixture->getNamedListTreatment()); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testSetNamedListTreatmentInvalidArgumentException() + { + $fixture = $this->getFixture(); + + $fixture->setNamedListTreatment("broken"); + } + + //================================================================// + // END SECTION OF CODE THAT SHOULD BE MOVED // + // Apache_Solr_Service_Balancer will need functions added // + //================================================================// + + + public function testConstructorDefaultArguments() + { + $fixture = new Apache_Solr_Service(); + + $this->assertInstanceOf('Apache_Solr_Service', $fixture); + } + + public function testGetHostWithDefaultConstructor() + { + $fixture = new Apache_Solr_Service(); + $host = $fixture->getHost(); + + $this->assertEquals("localhost", $host); + } + + public function testSetHost() + { + $newHost = "example.com"; + + $fixture = new Apache_Solr_Service(); + $fixture->setHost($newHost); + $host = $fixture->getHost(); + + $this->assertEquals($newHost, $host); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testSetEmptyHost() + { + $fixture = new Apache_Solr_Service(); + + // should throw an invalid argument exception + $fixture->setHost(""); + } + + public function testSetHostWithConstructor() + { + $newHost = "example.com"; + + $fixture = new Apache_Solr_Service($newHost); + $host = $fixture->getHost(); + + $this->assertEquals($newHost, $host); + } + + public function testGetPortWithDefaultConstructor() + { + $fixture = new Apache_Solr_Service(); + $port = $fixture->getPort(); + + $this->assertEquals(8180, $port); + } + + public function testSetPort() + { + $newPort = 12345; + + $fixture = new Apache_Solr_Service(); + $fixture->setPort($newPort); + $port = $fixture->getPort(); + + $this->assertEquals($newPort, $port); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testSetPortWithInvalidArgument() + { + $fixture = new Apache_Solr_Service(); + + $fixture->setPort("broken"); + } + + public function testSetPortWithConstructor() + { + $newPort = 12345; + + $fixture = new Apache_Solr_Service('locahost', $newPort); + $port = $fixture->getPort(); + + $this->assertEquals($newPort, $port); + } + + public function testGetPathWithDefaultConstructor() + { + $fixture = new Apache_Solr_Service(); + $path = $fixture->getPath(); + + $this->assertEquals("/solr/", $path); + } + + public function testSetPath() + { + $newPath = "/new/path/"; + + $fixture = new Apache_Solr_Service(); + $fixture->setPath($newPath); + $path = $fixture->getPath(); + + $this->assertEquals($path, $newPath); + } + + public function testSetPathWillAddContainingSlashes() + { + $newPath = "new/path"; + $containedPath = "/{$newPath}/"; + + $fixture = new Apache_Solr_Service(); + $fixture->setPath($newPath); + $path = $fixture->getPath(); + + $this->assertEquals($containedPath, $path, 'setPath did not ensure propertly wrapped with slashes'); + } + + public function testSetPathWithConstructor() + { + $newPath = "/new/path/"; + + $fixture = new Apache_Solr_Service('localhost', 8180, $newPath); + $path = $fixture->getPath(); + + $this->assertEquals($newPath, $path); + } + + + public function testGetDefaultTimeoutCallsThroughToTransport() + { + $fixture = new Apache_Solr_Service(); + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call + $mockTransport->expects($this->once())->method('getDefaultTimeout'); + + $fixture->setHttpTransport($mockTransport); + + $fixture->getDefaultTimeout(); + } + + public function testSetDefaultTimeoutCallsThroughToTransport() + { + $timeout = 12345; + $fixture = new Apache_Solr_Service(); + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call + $mockTransport->expects($this->once())->method('setDefaultTimeout')->with($this->equalTo($timeout)); + + $fixture->setHttpTransport($mockTransport); + $fixture->setDefaultTimeout($timeout); + } + + public function testSetAuthenticationCredentialsCallsThroughToTransport() + { + $username = "user"; + $password = "password"; + + $fixture = new Apache_Solr_Service(); + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call + $mockTransport->expects($this->once())->method('setAuthenticationCredentials')->with($this->equalTo($username), $this->equalTo($password)); + + $fixture->setHttpTransport($mockTransport); + $fixture->setAuthenticationCredentials($username, $password); + } + + public function testPing() + { + $expectedUrl = "http://localhost:8180/solr/admin/ping"; + $expectedTimeout = 2; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performHeadRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + // call ping + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $time = $fixture->ping(); + + $this->assertGreaterThan(0, $time); + } + + public function testPingReturnsFalse() + { + $expectedUrl = "http://localhost:8180/solr/admin/ping"; + $expectedTimeout = 2; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performHeadRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get0Response())); + + // call ping + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $this->assertFalse($fixture->ping()); + } + + public function testSystem() + { + $expectedUrl = "http://localhost:8180/solr/admin/system?wt=json"; + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + // call system + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->system(); + } + + /** + * @expectedException Apache_Solr_HttpTransportException + */ + public function testSystem404() + { + $expectedUrl = "http://localhost:8180/solr/admin/system?wt=json"; + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get404Response())); + + // call system + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->system(); + } + + public function testThreads() + { + $expectedUrl = "http://localhost:8180/solr/admin/threads?wt=json"; + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + // call threads + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->threads(); + } + + /** + * @expectedException Apache_Solr_HttpTransportException + */ + public function testThreads404() + { + $expectedUrl = "http://localhost:8180/solr/admin/threads?wt=json"; + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get404Response())); + + // call threads + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->threads(); + } + + public function testAdd() + { + $postData = "does not have to be valid"; + + $expectedUrl = "http://localhost:8180/solr/update?wt=json"; + $expectedTimeout = false; + $expectedPostData = $postData; + $expectedContentType = "text/xml; charset=UTF-8"; // default for _sendRawPost + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($postData), $this->equalTo($expectedContentType), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + // call add + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->add($postData); + } + + /** + * @expectedException Apache_Solr_HttpTransportException + */ + public function testAdd400() + { + $postData = "does not have to be valid"; + + $expectedUrl = "http://localhost:8180/solr/update?wt=json"; + $expectedTimeout = false; + $expectedPostData = $postData; + $expectedContentType = "text/xml; charset=UTF-8"; // default for _sendRawPost + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($postData), $this->equalTo($expectedContentType), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get400Response())); + + // call add + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->add($postData); + } + + public function testAddDocument() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo(''), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $document = new Apache_Solr_Document(); + + $fixture->addDocument($document); + } + + public function testAddDocumentWithNonDefaultParameters() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo(''), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $document = new Apache_Solr_Document(); + + $fixture->addDocument($document, true, false, false, 3600); + } + + public function testAddDocumentWithFields() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo('global unique idvaluevalue 1value 2'), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $document = new Apache_Solr_Document(); + + $document->guid = "global unique id"; + $document->field = "value"; + $document->multivalue = array("value 1", "value 2"); + + $fixture->addDocument($document); + } + + public function testAddDocumentWithFieldBoost() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo('global unique idvaluevalue 1value 2'), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $document = new Apache_Solr_Document(); + + $document->guid = "global unique id"; + + $document->field = "value"; + $document->setFieldBoost('field', 2); + + $document->multivalue = array("value 1", "value 2"); + $document->setFieldBoost('multivalue', 3); + + $fixture->addDocument($document); + } + + public function testAddDocumentWithDocumentBoost() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo('global unique idvalue'), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $document = new Apache_Solr_Document(); + $document->setBoost(2); + + $document->guid = "global unique id"; + $document->field = "value"; + + $fixture->addDocument($document); + } + + public function testAddDocuments() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo(''), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $documents = array( + new Apache_Solr_Document(), + new Apache_Solr_Document() + ); + + $fixture->addDocuments($documents); + } + + public function testAddDocumentsWithNonDefaultParameters() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo(''), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(false) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $documents = array( + new Apache_Solr_Document(), + new Apache_Solr_Document() + ); + + $fixture->addDocuments($documents, true, false, false, 3600); + } + + public function testCommit() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo(''), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(3600) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->commit(); + } + + public function testCommitWithNonDefaultParameters() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + // url + $this->equalTo('http://localhost:8180/solr/update?wt=json'), + + // raw post + $this->equalTo(''), + + // content type + $this->equalTo('text/xml; charset=UTF-8'), + + // timeout + $this->equalTo(7200) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->commit(true, false, false, 7200); + } + + public function testDelete() + { + $postData = "does not have to be valid"; + + $expectedUrl = "http://localhost:8180/solr/update?wt=json"; + $expectedTimeout = 3600; // default for delete + $expectedPostData = $postData; + $expectedContentType = "text/xml; charset=UTF-8"; // default for _sendRawPost + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($postData), $this->equalTo($expectedContentType), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + // call add + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + $fixture->delete($postData); + } + + public function testDeleteById() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->deleteById("does not exist"); + } + + public function testDeleteByMultipleIds() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->deleteByMultipleIds(array(1, 2, 3)); + } + + public function testDeleteByQuery() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->deleteByQuery("*:*"); + } + + public function testExtracts() + { + $extractFile = __FILE__; + + $expectedUrl = "http://localhost:8180/solr/update/extract?resource.name=ServiceTest.php&wt=json&json.nl=map"; + $expectedPostData = file_get_contents($extractFile); + $expectedContentType = 'application/octet-stream'; // default for extract + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedPostData), $this->equalTo($expectedContentType), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extract($extractFile); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testExtractWithInvalidParams() + { + $extractFile = __FILE__; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extract($extractFile, "invalid"); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testExtractFromStringWithInvalidParams() + { + $extractFileData = "does not matter what it is"; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extractFromString($extractFileData, "invalid"); + } + + public function testExtractsWithNullParams() + { + $extractFile = __FILE__; + + $expectedUrl = "http://localhost:8180/solr/update/extract?resource.name=ServiceTest.php&wt=json&json.nl=map"; + $expectedPostData = file_get_contents($extractFile); + $expectedContentType = 'application/octet-stream'; // default for extract + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedPostData), $this->equalTo($expectedContentType), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extract($extractFile, null); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testExtractWithEmptyFile() + { + $extractFile = "iDontExist.txt"; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extract($extractFile); + } + + public function testExtractsWithDocument() + { + $extractFile = __FILE__; + + $expectedUrl = "http://localhost:8180/solr/update/extract?resource.name=ServiceTest.php&wt=json&json.nl=map&boost.field=2&literal.field=literal+value"; + $expectedPostData = file_get_contents($extractFile); + $expectedContentType = 'application/octet-stream'; // default for extract + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with($this->equalTo($expectedUrl), $this->equalTo($expectedPostData), $this->equalTo($expectedContentType), $this->equalTo($expectedTimeout)) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $literals = new Apache_Solr_Document(); + $literals->field = "literal value"; + $literals->setFieldBoost('field', 2); + + $fixture->extract($extractFile, null, $literals); + } + + public function testExtractWithUrlDefers() + { + $extractUrl = "http://example.com"; + + $expectedUrl = "http://localhost:8180/solr/update/extract?resource.name=http%3A%2F%2Fexample.com&wt=json&json.nl=map"; + $expectedPostData = Apache_Solr_HttpTransport_ResponseTest::BODY_200; + $expectedContentType = 'application/octet-stream'; // default for extract + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->with( + $this->equalTo($extractUrl) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + $this->equalTo($expectedUrl), + $this->equalTo($expectedPostData), + $this->equalTo($expectedContentType), + $this->equalTo($expectedTimeout) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extract($extractUrl); + } + + public function testExtractFromUrl() + { + $extractUrl = "http://example.com"; + + $expectedUrl = "http://localhost:8180/solr/update/extract?resource.name=http%3A%2F%2Fexample.com&wt=json&json.nl=map"; + $expectedPostData = Apache_Solr_HttpTransport_ResponseTest::BODY_200; + $expectedContentType = 'application/octet-stream'; // default for extract + $expectedTimeout = false; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->with( + $this->equalTo($extractUrl) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->with( + $this->equalTo($expectedUrl), + $this->equalTo($expectedPostData), + $this->equalTo($expectedContentType), + $this->equalTo($expectedTimeout) + ) + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extractFromUrl($extractUrl); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testExtractFromUrlWithInvalidParams() + { + $extractUrl = "http://example.com"; + + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->extractFromUrl($extractUrl, "invalid"); + } + + public function testOptimize() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_Service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->optimize(); + } + + public function testSearch() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->search("solr"); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testSearchWithInvalidParams() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->search("solr", 0, 10, "invalid"); + + $this->fail("Should have through InvalidArgumentException"); + } + + public function testSearchWithEmptyParams() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performGetRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->search("solr", 0, 10, null); + } + + public function testSearchWithPostMethod() + { + // set a mock transport + $mockTransport = $this->getMockHttpTransportInterface(); + + // setup expected call and response + $mockTransport->expects($this->once()) + ->method('performPostRequest') + ->will($this->returnValue(Apache_Solr_HttpTransport_ResponseTest::get200Response())); + + $fixture = new Apache_Solr_service(); + $fixture->setHttpTransport($mockTransport); + + $fixture->search("solr", 0, 10, array(), Apache_Solr_Service::METHOD_POST); + } + + /** + * @expectedException Apache_Solr_InvalidArgumentException + */ + public function testSearchWithInvalidMethod() + { + $fixture = new Apache_Solr_service(); + + $fixture->search("solr", 0, 10, array(), "INVALID METHOD"); + } +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/README b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/README new file mode 100644 index 0000000..39ede2e --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/README @@ -0,0 +1,20 @@ +Use the run.php script included in this directory to run all unit tests for the +Solr PHP Client library. Your system will require phpunit PEAR package - which +you can get install instructions for at: + +http://www.phpunit.de/ + +To generate the code coverage report, you will also need the XDebug pecl package +installed, typically this can be done with a simple: + +pecl install xdebug + +If you need more information on installation, then please see the official website: + +http://www.xdebug.org + +The scripts, configuration, and test files in this directory have been confirmed to +work with the following versions: + +phpunit: 3.3.16 +xdebug: 2.0.4 \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/phpunit.bootstrap.inc b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/phpunit.bootstrap.inc new file mode 100644 index 0000000..237a0ec --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/phpunit.bootstrap.inc @@ -0,0 +1,28 @@ + + + + + + + + + ../Apache + + ./run.php + + + + diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/run.php b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/run.php new file mode 100644 index 0000000..b744548 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/SolrPhpClient/tests/run.php @@ -0,0 +1,42 @@ +#! /usr/bin/php + + +
+

+
+

Advanced Search by My Solr Server Settings

+

Advanced Search by My Solr Server plugin replaces the default WordPress search with powerfull Solr search.

+ +
+ +

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

+ +
+
+ +
+ +
+

+ +

+ +

+ +

+ + + +
+
+
+ +
+
+ +

+ + + + + + + + + + + + + + + + + + + + + +
+ /> Posts   + /> Pages   + true, + '_builtin' => false + ); + $output = 'names'; // names or objects, note names is the default + $operator = 'and'; // 'and' or 'or' + $post_types=get_post_types($args,$output,$operator); + if ($post_types) { + foreach ($post_types as $post_type) { + ?> + />    + + +
+ true, + '_builtin' => false + + ); + $output = 'names'; // or objects + $operator = 'and'; // 'and' or 'or' + $taxonomies=get_taxonomies($args,$output,$operator); + if ($taxonomies) { + foreach ($taxonomies as $taxonomy ) { + ?> + />    + +none + + +
+get_col( " + SELECT meta_key + FROM $wpdb->postmeta + GROUP BY meta_key + HAVING meta_key NOT LIKE '\_%' + ORDER BY meta_key" ); + + if ($keys) { + foreach ( $keys as $key ) { + ?> + />    + +none + + +
/>
(comma separated ids list)') ?>
+ +
+

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

+ + + + + +
+

Available items for facets

+
+
+

Selected items for facets

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

+ + + + + + + + + + + +
+ + + + + +
+
\ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.inc.php b/wp-content/plugins/advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.inc.php new file mode 100644 index 0000000..74f0d23 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.inc.php @@ -0,0 +1,434 @@ +encrypt("mysolrserver", $value, strlen($value)); +} + +function decrypt($value) { + $crypt = new encryption_class; + return $crypt->decrypt("mysolrserver", $value); + +} + +function mss_get_option() { + return get_option('plugin_mss_settings'); +} + +function mss_update_option($optval) { + update_option('plugin_mss_settings', $optval); +} + +function POSTGET($param){ + if (isset($_POST[$param]) && $_POST[$param]!="") + return $_POST[$param]; + if (isset($_GET[$param]) && $_GET[$param]!="") + return $_GET[$param]; + return ""; +} + +function getMssAccountInfo($url_mysolrserver, $url_extraparam, $mss_id, $mss_passwd, $proxy, $proxyport, $proxyusername, $proxypassword) { + $url = $url_mysolrserver . '?action=accountgetinfo&name=' . $mss_id . '&passwd=' . $mss_passwd . '&type=wp' . $url_extraparam; + log_message("getMssAccountInfo - url = " . $url_mysolrserver); + + if ($proxy!='' && $proxyport!='') { + + if ($proxyusername!='' && $proxypassword!='') { + + // Encodage de l'autentification + $authProxy = base64_encode("$proxyusername:$proxypassword"); + // Création des options de la requête + $opts = array( + 'http' => array ( + 'method'=>'GET', + 'proxy'=>"tcp://$proxy:$proxyport", + 'request_fulluri' => true, + 'header'=>"Proxy-Authorization: Basic $authProxy" + ) + ); + } else { + + // Création des options de la requête + $opts = array( + 'http' => array ( + 'proxy'=>"tcp://$proxy:$proxyport", + 'method'=>'GET', + 'request_fulluri' => true + ) + ); + } + // Création du contexte de transaction + $ctx = stream_context_create($opts); + $json = file_get_contents($url,false,$ctx); + + } else { + $json = file_get_contents($url); + } + log_message("getMssAccountInfo - json = " . $json); + return $json; +} + +function log_message($message) { + if (WP_DEBUG === true) { + if (is_array($message) || is_object($message)) { + error_log(print_r($message, true)); + } else { + error_log($message); + } + } +} + +/* + * Indexing functions +*/ + +function mss_load_all($options, $prev) { + global $wpdb; + $documents = array(); + $cnt = 0; + $batchsize = 100; + $last = ""; + $found = FALSE; + $end = FALSE; + $percent = 0; + + $post_type = $options['mss_post_types']; + if ($post_type=='') { + printf("{\"last\": \"0\", \"end\": true, \"percent\": \"100\"}"); + return; + } + $aPostType=explode(',', $post_type); + $wherePostType = ''; + for ($i=0;$iget_results("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' AND ($wherePostType) ORDER BY ID;" ); + $postcount = count($posts); + for ($idx = 0; $idx < $postcount; $idx++) { + $postid = $posts[$idx]->ID; + $last = $postid; + $percent = (floatval($idx) / floatval($postcount)) * 100; + if ($prev && !$found) { + if ($postid === $prev) { + $found = TRUE; + } + continue; + } + + if ($idx === $postcount - 1) { + $end = TRUE; + } + + $documents[] = mss_build_document($options, get_post($postid) ); + $cnt++; + if ($cnt == $batchsize) { + mss_post( $options, $documents, FALSE, FALSE); + $cnt = 0; + $documents = array(); + break; + } + } + + if ( $documents ) { + mss_post( $options, $documents , FALSE, FALSE); + } + + if ($end) { + mss_post($options, FALSE, TRUE, FALSE); + printf("{\"last\": \"%s\", \"end\": true, \"percent\": \"%.2f\"}", $last, $percent); + } else { + printf("{\"last\": \"%s\", \"end\": false, \"percent\": \"%.2f\"}", $last, $percent); + } +} + +function mss_build_document( $options, $post_info ) { + global $current_site, $current_blog; + $doc = NULL; + $exclude_ids = $options['mss_exclude_pages']; + $categoy_as_taxonomy = $options['mss_cat_as_taxo']; + $index_comments = $options['mss_index_comments']; + + if ($post_info) { + // check if we need to exclude this document + if (in_array($post_info->ID, (array)$exclude_ids) ) { + return NULL; + } + $doc = new Apache_Solr_Document(); + $auth_info = get_userdata( $post_info->post_author ); + + $doc->setField( 'id', $post_info->ID ); + $doc->setField( 'permalink', get_permalink( $post_info->ID ) ); + $doc->setField( 'wp', 'wp'); + + $numcomments = 0; + if ($index_comments) { + $comments = get_comments("status=approve&post_id={$post_info->ID}"); + foreach ($comments as $comment) { + $doc->addField( 'comments', $comment->comment_content ); + $numcomments += 1; + } + } + + $doc->setField( 'title', $post_info->post_title ); + $doc->setField( 'content', strip_tags($post_info->post_content) ); + $doc->setField( 'numcomments', $numcomments ); + $doc->setField( 'author', $auth_info->display_name ); + $doc->setField( 'author_s', get_author_posts_url($auth_info->ID, $auth_info->user_nicename)); + $doc->setField( 'type', $post_info->post_type ); + $doc->setField( 'date', mss_format_date($post_info->post_date_gmt) ); + $doc->setField( 'modified', mss_format_date($post_info->post_modified_gmt) ); + $doc->setField( 'displaydate', $post_info->post_date ); + $doc->setField( 'displaymodified', $post_info->post_modified ); + + $categories = get_the_category($post_info->ID); + if ( ! $categories == NULL ) { + foreach( $categories as $category ) { + if ($categoy_as_taxonomy) { + $doc->addField('categories', get_category_parents($category->cat_ID, FALSE, '^^')); + } else { + $doc->addField('categories', $category->cat_name); + } + } + } + + $tags = get_the_tags($post_info->ID); + if ( ! $tags == NULL ) { + foreach( $tags as $tag ) { + $doc->addField('tags', $tag->name); + } + } + + // custom taxonomies + $taxo = $options['mss_custom_taxonomies']; + $aTaxo = explode(',', $taxo); + $taxonomies = (array)get_taxonomies(array('_builtin'=>FALSE),'names'); + foreach($taxonomies as $parent) { + if (in_array($parent, $aTaxo)) { + $terms = get_the_terms( $post_info->ID, $parent ); + if ((array) $terms === $terms) { + $parent = strtolower(str_replace(' ', '_', $parent)); + foreach ($terms as $term) { + $doc->addField($parent . '_str', $term->name); + $doc->addField($parent . '_srch', $term->name); + } + } + } + } + + // custom fields + $custom = $options['mss_custom_fields']; + $aCustom = explode(',', $custom); + if (count($aCustom)>0) { + if (count($custom_fields = get_post_custom($post_info->ID))) { + foreach ((array)$aCustom as $field_name ) { + $field = (array)$custom_fields[$field_name]; + $field_name = strtolower(str_replace(' ', '_', $field_name)); + foreach ( $field as $key => $value ) { + $doc->addField($field_name . '_str', $value); + $doc->addField($field_name . '_srch', $value); + } + } + } + } + + } else { + _e('Post Information is NULL', 'solrmss'); + } + + return $doc; +} + +function mss_format_date( $thedate ) { + $datere = '/(\d{4}-\d{2}-\d{2})\s(\d{2}:\d{2}:\d{2})/'; + $replstr = '${1}T${2}Z'; + return preg_replace($datere, $replstr, $thedate); +} + +function mss_post( $options, $documents, $commit = true, $optimize = false) { + try { + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + + if ($documents) { + $solr->addDocuments( $documents ); + } + + if ($commit) { + $solr->commit(); + } + + if ($optimize) { + $solr->optimize(); + } + } + } catch ( Exception $e ) { + echo $e->getMessage(); + } +} + +/* + * Search functions +*/ +function mss_query( $qry, $offset, $count, $fq, $sortby, $options) { + $response = NULL; + $facet_fields = array(); + $options = mss_get_option(); // uncommented in 2.0.3 + + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + + $facets = $options['mss_facets']; + $aFacets = explode(',', $facets); + + foreach($aFacets as $facet_field) { + $facet_field_add = $facet_field . "_str"; + if ($facet_field=='category') $facet_field_add = 'categories'; + if ($facet_field=='tag') $facet_field_add = 'tags'; + if ($facet_field=='author') $facet_field_add = 'author'; + if ($facet_field=='type') $facet_field_add = 'type'; + $facet_field_add = strtolower(str_replace(' ', '_', $facet_field_add)); + $facet_fields[] = $facet_field_add; + } + + $params = array(); + $params['defType'] = 'dismax'; + $params['qf'] = 'tagssrch^5 title^10 categoriessrch^5 content^3.5 comments^1.5'; // TODO : Add "_srch" custom fields ? + /* + 2.0.3 change: + added this section to _srch versions for each custom field and each custom taxonomy that's checked in the plugin options area + */ + //$facet_search = $options['mss_facets_search']; + //if ($facet_search) { + $cust_array = array(); + $aCustom = explode(',', $options["mss_custom_fields"]); + if (count($aCustom)>0) { + foreach($aCustom as $aCustom_item){ + $cust_array[] = $aCustom_item . '_srch'; + } + } + $aCustom = explode(',', $options["mss_custom_taxonomies"]); + if (count($aCustom)>0) { + foreach($aCustom as $aCustom_item){ + $cust_array[] = $aCustom_item . '_srch'; + } + } + if (count($cust_array)>0) { + foreach($cust_array as $custom_item){ + $params['qf'] .= " $custom_item^3"; + } + } + //} + + if (empty($qry) || $qry=='*' || $qry=='*:*') { + $params['q.alt']="*:*"; + $qry = ''; + } + + /* end 2.0.3 change added section */ + //var_dump($params['qf']); + $params['pf'] = 'title^15 text^10'; + $params['facet'] = 'true'; + $params['facet.field'] = $facet_fields; + $params['facet.mincount'] = '1'; + $params['fq'] = $fq; + $params['fl'] = '*,score'; + $params['hl'] = 'on'; + $params['hl.fl'] = 'content'; + $params['hl.snippets'] = '3'; + $params['hl.fragsize'] = '50'; + $params['sort'] = $sortby; + $params['spellcheck.onlyMorePopular'] = 'true'; + $params['spellcheck.extendedResults'] = 'false'; + $params['spellcheck.collate'] = 'true'; + $params['spellcheck.count'] = '1'; + $params['spellcheck'] = 'true'; + //$params['debug'] = 'true'; + + //if ($facet_on_tags) { + // $number_of_tags = $options['mss_max_display_tags']; + // $params['f.tags.facet.limit'] = $number_of_tags; + //} + + $response = $solr->search($qry, $offset, $count, $params); + //print($response->getRawResponse()); + if ( ! $response->getHttpStatus() == 200 ) { + $response = NULL; + } + } + return $response; +} + +function mss_autocomplete($q, $limit) { + $options = mss_get_option(); + + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + $params = array(); + $params['terms'] = 'true'; + $params['terms.fl'] = 'spell'; + $params['terms.lower'] = $q; + $params['terms.prefix'] = $q; + $params['terms.lower.incl'] = 'false'; + $params['terms.limit'] = $limit; + $params['qt'] = '/terms'; + + $response = $solr->search($q, 0, $limit, $params); + if ( ! $response->getHttpStatus() == 200 ) { + return; + } + + $terms = get_object_vars($response->terms->spell); + foreach($terms as $term => $count) { + printf("%s\n", $term); + } + } +} + + +?> \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.php b/wp-content/plugins/advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.php new file mode 100644 index 0000000..0cb6c0e --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/advanced-search-by-my-solr-server.php @@ -0,0 +1,1162 @@ +Couldn't locate the options page.

", 'solrmss'); + } +} + +function mss_admin_head() { + global $this_plugin_dir_url; + // include css + + if (file_exists(dirname(__FILE__) . '/admin.css')) { + printf(__("\n"), $this_plugin_dir_url . 'admin.css'); + } + ?> + + + + + + + +\n"), bloginfo('template_url') . '/mss_search.css'); + // } else if (file_exists(dirname(__FILE__) . '/template/mss_search.css')) { + // // use plugin supplied file + // printf(__("\n"), $this_plugin_dir_url . 'template/mss_search.css'); + // } + + if (file_exists(TEMPLATEPATH . '/mss_search_custom.css')) { + // use theme file + printf(__("\n"), get_template_directory_uri() . '/mss_search_custom.css'); + } else if (file_exists(dirname(__FILE__) . '/template/mss_search_custom.css')) { + // use plugin custom file + printf(__("\n"), this_plugin_dir_url . 'template/mss_search_custom.css'); + } else if (file_exists(dirname(__FILE__) . '/template/mss_search.css')) { + // use plugin supplied file + printf(__("\n"), $this_plugin_dir_url . 'template/mss_search.css'); + } + + +} + +function mss_autosuggest_head() { + global $this_plugin_dir_url; + + // if (file_exists(TEMPLATEPATH . '/mss_autocomplete.css')) { + // // use theme file + // printf(__("\n"), bloginfo('template_url') . '/mss_autocomplete.css'); + // } else if (file_exists(dirname(__FILE__) . '/template/mss_autocomplete.css')) { + // // use plugin supplied file + // printf(__("\n"), $this_plugin_dir_url . 'template/mss_autocomplete.css'); + // } + + if (file_exists(TEMPLATEPATH . '/mss_autocomplete_custom.css')) { + // use theme file + printf(__("\n"), get_template_directory_uri() . '/mss_autocomplete_custom.css'); + } else if (file_exists(dirname(__FILE__) . '/template/mss_autocomplete_custom.css')) { + // use plugin custom file + printf(__("\n"), $this_plugin_dir_url . 'template/mss_autocomplete_custom.css'); + } else if (file_exists(dirname(__FILE__) . '/template/mss_autocomplete.css')) { + // use plugin supplied file + printf(__("\n"), $this_plugin_dir_url . 'template/mss_autocomplete.css'); + } + + ?> + + + +post_status=='auto-draft' || $post_info->post_status=='draft') return; + $options = mss_get_option(); + $post_type = $options['mss_post_types']; + $aPostTypes = explode(',', $post_type); + + if (in_array($post_info->post_type, $aPostTypes)) { + $docs = array(); + $doc = mss_build_document( $options, $post_info ); + if ( $doc ) { + $docs[] = $doc; + mss_post( $options, $docs ); + } + } +} + +function mss_handle_modified( $post_id ) { + global $current_blog; + $post_info = get_post( $post_id ); + $options = mss_get_option(); + $post_type = $options['mss_post_types']; + $aPostTypes = explode(',', $post_type); + + if (in_array($post_info->post_type, $aPostTypes)) { + $docs = array(); + $doc = mss_build_document( $options, $post_info ); + if ( $doc ) { + $docs[] = $doc; + mss_post( $options, $docs ); + } + } +} + +function mss_handle_status_change( $post_id ) { + global $current_blog; + $post_info = get_post( $post_id ); + $options = mss_get_option(); + $post_type = $options['mss_post_types']; + $aPostTypes = explode(',', $post_type); + + if (in_array($post_info->post_type, $aPostTypes)) { + if ( ($_POST['prev_status'] == 'publish' || $_POST['original_post_status'] == 'publish') && ($post_info->post_status == 'draft' || $post_info->post_status == 'private') ) { + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + $solr->deleteById( $post_info->ID ); + } + } + } +} + +function mss_handle_delete( $post_id ) { + global $current_blog; + $post_info = get_post( $post_id ); + $options = mss_get_option(); + $post_type = $options['mss_post_types']; + $aPostTypes = explode(',', $post_type); + + if (in_array($post_info->post_type, $aPostTypes)) { + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + $solr->deleteById( $post_info->ID ); + } + } +} + +function mss_search_form() { + $sort = $_GET['sort']; + $order = $_GET['order']; + + if ($sort == 'date') { + $sortval = __(''); + } else if ($sort == 'modified') { + $sortval = __(''); + } else { + $sortval = __(''); + } + + if ($order == 'asc') { + $orderval = __(''); + } else { + $orderval = __(''); + } + + $form = __(''); + + printf($form, htmlspecialchars(stripslashes($_GET['s'])), $sortval, $orderval); +} + +function mss_search_results() { + $plugin_mss_settings = mss_get_option(); + $output_info = (isset($plugin_mss_settings['mss_output_info'])) ? $plugin_mss_settings['mss_output_info'] : false; + $output_facets = (isset($plugin_mss_settings['mss_output_facets'])) ? $plugin_mss_settings['mss_output_facets'] : false; + $results_per_page = $plugin_mss_settings['mss_num_results']; + $categoy_as_taxonomy = (isset($plugin_mss_settings['mss_cat_as_taxo'])) ? $plugin_mss_settings['mss_cat_as_taxo'] : false; + $dym_enabled = $plugin_mss_settings['mss_enable_dym']; + + $qry = stripslashes($_GET['s']); + $offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; + $count = (isset($_GET['count'])) ? $_GET['count'] : $results_per_page; + $fq = (isset($_GET['fq'])) ? $_GET['fq'] : ''; + $sort = (isset($_GET['sort'])) ? $_GET['sort'] : ''; + $order = (isset($_GET['order'])) ? $_GET['order'] : ''; + $isdym = (isset($_GET['isdym'])) ? $_GET['isdym'] : 0; + + $out = array(); + + if ( ! $qry ) { + $qry = ''; + } + + if ( $sort && $order ) { + $sortby = $sort . ' ' . $order; + } else { + $sortby = ''; + $order = ''; + } + + $fqstr = ''; + $fqitms = split('\|\|', stripslashes($fq)); + $selectedfacets = array(); + foreach ($fqitms as $fqitem) { + if ($fqitem) { + $splititm = split(':', $fqitem, 2); + $selectedfacet = array(); + $label = $splititm[1]; + if (mss_endswith($label, '^^"')) $label = substr($label, 0, -3) . '"'; + $selectedfacet['name'] = sprintf(__("%s: %s"), ucwords(str_replace('_', ' ', preg_replace('/_str$/i', '', $splititm[0]))), str_replace("^^", "/", $label)); + $removelink = ''; + foreach($fqitms as $fqitem2) { + if ($fqitem2 && !($fqitem2 === $fqitem)) { + $splititm2 = split(':', $fqitem2, 2); + $removelink = $removelink . urlencode('||') . $splititm2[0] . ':' . urlencode($splititm2[1]); + } + } + + if ($removelink) { + $selectedfacet['removelink'] = htmlspecialchars(sprintf(__("?s=%s&fq=%s"), urlencode($qry), $removelink)); + } else { + $selectedfacet['removelink'] = htmlspecialchars(sprintf(__("?s=%s"), urlencode($qry))); + } + + $fqstr = $fqstr . urlencode('||') . $splititm[0] . ':' . urlencode($splititm[1]); + + $selectedfacets[] = $selectedfacet; + } + } + + if ($qry) { + $results = mss_query( $qry, $offset, $count, $fqitms, $sortby, $plugin_mss_settings ); + + if ($results) { + $response = $results->response; + //echo $results->getRawResponse(); + $header = $results->responseHeader; + $teasers = get_object_vars($results->highlighting); + if (is_object($results->spellcheck)) + $didyoumean = $results->spellcheck->suggestions->collation; + else + $didyoumean= false; + + $out['hits'] = sprintf(__("%d"), $response->numFound); + $out['qtime'] = false; + if ($output_info) { + $out['qtime'] = sprintf(__("%.3f"), $header->QTime/1000); + } + $out['dym'] = false; + if ($didyoumean && !$isdym && $dym_enabled) { + $dymout = array(); + $dymout['term'] = htmlspecialchars($didyoumean); + $dymout['link'] = htmlspecialchars(sprintf(__("?s=%s&isdym=1"), urlencode($didyoumean))); + $out['dym'] = $dymout; + } + + // calculate the number of pages + $numpages = ceil($response->numFound / $count); + $currentpage = ceil($offset / $count) + 1; + $pagerout = array(); + + if ($numpages == 0) { + $numpages = 1; + } + + foreach (range(1, $numpages) as $pagenum) { + if ( $pagenum != $currentpage ) { + $offsetnum = ($pagenum - 1) * $count; + $pageritm = array(); + $pageritm['page'] = sprintf(__("%d"), $pagenum); + //$pageritm['link'] = htmlspecialchars(sprintf(__("?s=%s&offset=%d&count=%d"), urlencode($qry), $offsetnum, $count)); + $pagerlink = sprintf(__("?s=%s&offset=%d&count=%d"), urlencode($qry), $offsetnum, $count); + if($fqstr) $pagerlink .= '&fq=' . $fqstr; + $pageritm['link'] = htmlspecialchars($pagerlink); + $pagerout[] = $pageritm; + } else { + $pageritm = array(); + $pageritm['page'] = sprintf(__("%d"), $pagenum); + $pageritm['link'] = ""; + $pagerout[] = $pageritm; + } + } + + $out['pager'] = $pagerout; + + if ($output_facets) { + // handle facets + $facetout = array(); + + if($results->facet_counts) { + foreach ($results->facet_counts->facet_fields as $facetfield => $facet) { + if ( ! get_object_vars($facet) ) { + continue; + } + + $facetinfo = array(); + $facetitms = array(); + $facetinfo['name'] = ucwords(str_replace('_', ' ', preg_replace('/_str$/i', '', $facetfield))); + + // categories is a taxonomy + if ($categoy_as_taxonomy && $facetfield == 'categories') { + // generate taxonomy and counts + $taxo = array(); + foreach ($facet as $facetval => $facetcnt) { + $taxovals = explode('^^', rtrim($facetval, '^^')); + $taxo = mss_gen_taxo_array($taxo, $taxovals); + } + + $facetitms = mss_get_output_taxo($facet, $taxo, '', $fqstr, $facetfield); + + } else { + foreach ($facet as $facetval => $facetcnt) { + $facetitm = array(); + $facetitm['count'] = sprintf(__("%d"), $facetcnt); + $facetitm['link'] = htmlspecialchars(sprintf(__('?s=%s&fq=%s:%s%s', 'solrmss'), urlencode($qry), $facetfield, urlencode('"' . $facetval . '"'), $fqstr)); + $facetitm['name'] = $facetval; + $facetitms[] = $facetitm; + } + } + + $facetinfo['items'] = $facetitms; + $facetout[$facetfield] = $facetinfo; + } + } + + $facetout['selected'] = $selectedfacets; + $out['facets'] = $facetout; + $out['facets']['output']=true; + } + else { + $out['facets']['output']=false; + } + + $resultout = array(); + + if ($response->numFound != 0) { + foreach ( $response->docs as $doc ) { + $resultinfo = array(); + $docid = strval($doc->id); + + foreach ( $doc as $key=>$value ) { + $resultinfo[$key] = $value; + } + + $resultinfo['permalink'] = $doc->permalink; + $resultinfo['title'] = $doc->title; + $resultinfo['author'] = $doc->author; + $resultinfo['authorlink'] = htmlspecialchars($doc->author_s); + $resultinfo['numcomments'] = $doc->numcomments; + $resultinfo['date'] = $doc->displaydate; + + if ($doc->numcomments === 0) { + $resultinfo['comment_link'] = $doc->permalink . "#respond"; + } else { + $resultinfo['comment_link'] = $doc->permalink . "#comments"; + } + + $resultinfo['score'] = $doc->score; + $resultinfo['id'] = $docid; + $docteaser = $teasers[$docid]; + if ($docteaser->content) { + $resultinfo['teaser'] = sprintf(__("...%s..."), implode("...", $docteaser->content)); + } else { + $words = split(' ', $doc->content); + $teaser = implode(' ', array_slice($words, 0, 30)); + $resultinfo['teaser'] = sprintf(__("%s..."), $teaser); + } + $resultout[] = $resultinfo; + } + } + $out['results'] = $resultout; + } + } else { + $out['hits'] = "0"; + } + + # pager and results count helpers + $out['query'] = htmlspecialchars($qry); + $out['offset'] = strval($offset); + $out['count'] = strval($count); + $out['firstresult'] = strval($offset + 1); + $out['lastresult'] = strval(min($offset + $count, $out['hits'])); + $out['sortby'] = $sortby; + $out['order'] = $order; + $out['sorting'] = array( + 'scoreasc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=score&order=asc', urlencode($qry), stripslashes($fq))), + 'scoredesc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=score&order=desc', urlencode($qry), stripslashes($fq))), + 'dateasc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=date&order=asc', urlencode($qry), stripslashes($fq))), + 'datedesc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=date&order=desc', urlencode($qry), stripslashes($fq))), + 'modifiedasc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=modified&order=asc', urlencode($qry), stripslashes($fq))), + 'modifieddesc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=modified&order=desc', urlencode($qry), stripslashes($fq))), + 'commentsasc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=numcomments&order=asc', urlencode($qry), stripslashes($fq))), + 'commentsdesc' => htmlspecialchars(sprintf('?s=%s&fq=%s&sort=numcomments&order=desc', urlencode($qry), stripslashes($fq))) + ); + + return $out; +} + +function mss_print_facet_items($items, $pre = "
    ", $post = "
", $before = "
  • ", $after = "
  • ", +$nestedpre = "
      ", $nestedpost = "
    ", $nestedbefore = "
  • ", $nestedafter = "
  • ") { + if (!$items) { + return; + } + printf(__("%s\n"), $pre); + foreach ($items as $item) { + printf(__("%s%s (%s)%s\n"), $before, $item["link"], $item["name"], $item["count"], $after); + } + printf(__("%s\n"), $post); +} + +function mss_get_output_taxo($facet, $taxo, $prefix, $fqstr, $field) { + $qry = stripslashes($_GET['s']); + + if (count($taxo) == 0) { + return; + } else { + $facetitms = array(); + foreach ($taxo as $taxoname => $taxoval) { + $newprefix = $prefix . $taxoname . '^^'; + $facetvars = get_object_vars($facet); + $facetitm = array(); + $facetitm['count'] = sprintf(__("%d"), $facetvars[$newprefix]); + $facetitm['link'] = htmlspecialchars(sprintf(__('?s=%s&fq=%s:%s%s', 'solrmss'), $qry, $field, urlencode('"' . $newprefix . '"'), $fqstr)); + $facetitm['name'] = $taxoname; + $outitms = mss_get_output_taxo($facet, $taxoval, $newprefix, $fqstr, $field); + if ($outitms) { + $facetitm['items'] = $outitms; + } + $facetitms[] = $facetitm; + } + + return $facetitms; + } +} + +function mss_gen_taxo_array($in, $vals) { + if (count($vals) == 1) { + if ( ! $in[$vals[0]]) { + $in[$vals[0]] = array(); + } + return $in; + } else { + $in[$vals[0]] = mss_gen_taxo_array($in[$vals[0]], array_slice($vals, 1)); + return $in; + } +} + + +function mss_options_init() { + + $action = strtolower(POSTGET("action")); + + if ($action=="accountgetinfo") { + Global $url_mysolrserver, $url_extraparam; + $name = POSTGET("name"); + $passwd = POSTGET("passwd"); + + $proxy=POSTGET("proxy"); + $proxyport=POSTGET("proxyport"); + $proxyusername=POSTGET("proxyusername"); + $proxypassword=POSTGET("proxypassword"); + + print ($account_info_json = getMssAccountInfo($url_mysolrserver, $url_extraparam, $name, $passwd, $proxy, $proxyport, $proxyusername, $proxypassword)); + exit(); + } + + if ($action=="save") { + $options = mss_get_option(); + + $options['mss_id']=POSTGET("name"); + $options['mss_passwd']=encrypt(POSTGET("passwd")); + $options['mss_url']=POSTGET("url"); + + // update mss parameters + $u = parse_url($options['mss_url']); + if ($u) { + $port = ($u['port']=="") ? "80" : $u['port']; + if ($u['host']=="") $port = ""; + + $options['mss_solr_host']=$u['host']; + $options['mss_solr_port']=$port; + $options['mss_solr_path']=$u['path']; + } + + $options['mss_connect_type'] = 'mysolrserver'; + + mss_update_option($options); + + $arr = array(); + $arr['status']='ok'; + print(json_encode($arr)); + exit(); + } + + if ($action=="save_proxy") { + $options = mss_get_option(); + + + $options['mss_solr_proxy']=POSTGET("proxy"); + $options['mss_solr_proxyport']=POSTGET("proxyport"); + $options['mss_solr_proxyusername']=POSTGET("proxyusername"); + $options['mss_solr_proxypassword']=encrypt(POSTGET("proxypassword")); + + mss_update_option($options); + + $arr = array(); + $arr['status']='ok'; + print(json_encode($arr)); + exit(); + } + + if ($action=="saveall") { + $options = mss_get_option(); + + $options['mss_id']=$_POST['settings']['mss_id']; + $options['mss_passwd']=$_POST['settings']['mss_passwd']; + $options['mss_url']=$_POST['settings']['mss_url']; + + $options['mss_solr_proxy']=$_POST['settings']['mss_solr_proxy']; + $options['mss_solr_proxyport']=$_POST['settings']['mss_solr_proxyport']; + $options['mss_solr_proxyusername']=$_POST['settings']['mss_solr_proxyusername']; + $options['mss_solr_proxypassword']=$_POST['settings']['mss_solr_proxypassword']; + + if ($_POST['settings']['mss_connect_type']=='mysolrserver') { + + // update mss parameters + $u = parse_url($options['mss_url']); + if ($u) { + $port = (!isset($u['port']) || $u['port']=="") ? "80" : $u['port']; + if ($u['host']=="") $port = ""; + + $options['mss_solr_host']=$u['host']; + $options['mss_solr_port']=$port; + $options['mss_solr_path']=$u['path']; + } + } + + // lets loop through our options already in database + foreach ($options as $option => $old_value ) { + if (!(($_POST['settings']['mss_connect_type']=='mysolrserver') && ($option == 'mss_solr_host' || $option == 'mss_solr_port' || $option == 'mss_solr_path'))) { + if ($option == 'mss_index_all_sites' || $option == 'mss_solr_initialized') { + $value = trim($old_value); + } else { + if (isset($_POST['settings'][$option])) + $value = $_POST['settings'][$option]; + else + $value = ''; + } + if ($option == 'mss_passwd') $value=encrypt($value); + if ($option == 'mss_solr_proxypassword') $value=encrypt($value); + if ( !is_array($value) ) $value = trim($value); + $value = stripslashes_deep($value); + $options[$option] = $value; + } + } + + // lets loops to the posted options $_POST['settings'] and eventualy add new created options (plugin upgrade) + foreach ($_POST['settings'] as $option => $value ) { + if (!isset($options[$option])) + $options[$option] = $value; + } + + mss_update_option($options); + + $arr = array(); + $arr['status']='ok'; + print(json_encode($arr)); + exit(); + } + + if ($action=="ping") { + $options = mss_get_option(); + $arr = array(); + + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + $arr['status']='ok'; + } + else { + $arr['status']='ko'; + } + print(json_encode($arr)); + exit(); + } + + if ($action=="optimize") { + $options = mss_get_option(); + $arr = array(); + + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + if ($solr->optimize()) { + $arr['status']='ok'; + } + else { + $arr['status']='ko'; + } + } + else { + $arr['status']='ko'; + $arr['code']=$solr->getLastErrorCode(); + $arr['message']=$solr->getLastErrorMessage(); + } + + print(json_encode($arr)); + exit(); + } + + if ($action=="deleteall") { + $options = mss_get_option(); + $arr = array(); + + $solr = new Mss_Solr(); + if ($solr->connect($options, true)) { + if ($solr->deleteall()) { + $arr['status']='ok'; + } + else { + $arr['status']='ko'; + } + } + else { + $arr['status']='ko'; + $arr['code']=$solr->getLastErrorCode(); + $arr['message']=$solr->getLastErrorMessage(); + } + + print(json_encode($arr)); + exit(); + } + if ($action=="index") { + $options = mss_get_option(); + + $prev = POSTGET('prev'); + mss_load_all($options, $prev); + exit(); + } + } + + add_action( 'template_redirect', 'mss_template_redirect', 1 ); + add_action( 'publish_post', 'mss_handle_modified' ); + add_action( 'publish_page', 'mss_handle_modified' ); + add_action( 'save_post', 'mss_handle_save' ); + add_action( 'edit_post', 'mss_handle_status_change' ); + add_action( 'delete_post', 'mss_handle_delete' ); + add_action( 'admin_init', 'mss_options_init'); + + add_action( 'wp_head', 'mss_autosuggest_head'); + ?> \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/ajax-circle.gif b/wp-content/plugins/advanced-search-by-my-solr-server/images/ajax-circle.gif new file mode 100644 index 0000000..1560b64 Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/ajax-circle.gif differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-down-12.png b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-down-12.png new file mode 100644 index 0000000..dcfc08b Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-down-12.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-right-12.gif b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-right-12.gif new file mode 100644 index 0000000..0cd1d9d Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-right-12.gif differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-right-12.png b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-right-12.png new file mode 100644 index 0000000..bd0e72a Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-right-12.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-up-12.png b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-up-12.png new file mode 100644 index 0000000..3fc4be7 Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/arrow-up-12.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/cross-red-12.png b/wp-content/plugins/advanced-search-by-my-solr-server/images/cross-red-12.png new file mode 100644 index 0000000..65dfa8d Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/cross-red-12.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/success.png b/wp-content/plugins/advanced-search-by-my-solr-server/images/success.png new file mode 100644 index 0000000..3bde53b Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/success.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/images/warning.png b/wp-content/plugins/advanced-search-by-my-solr-server/images/warning.png new file mode 100644 index 0000000..070685c Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/images/warning.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/lib/std.encryption.class.inc.php b/wp-content/plugins/advanced-search-by-my-solr-server/lib/std.encryption.class.inc.php new file mode 100644 index 0000000..2b73913 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/lib/std.encryption.class.inc.php @@ -0,0 +1,301 @@ + +// Distributed under the GNU General Public Licence +// Modification: May 2007, M. Kolar : +// No need for repeating the first character of scramble strings at the end; +// instead using the exact inverse function transforming $num2 to $num1. +// Modification: Jan 2009, A J Marston : +// Use mb_substr() if it is available (for multibyte characters). +// ****************************************************************************** + +// Sample at +// http://www.tonymarston.net/php-mysql/encryption.html +// http://www.tonymarston.net/php-mysql/showsource.php?file=encryption.php + +/* +require 'std.encryption.class.inc'; +$crypt = new encryption_class; + +ini_set('session.bug_compat_warn', 0); + +$crypt->setAdjustment($adj); +$crypt->setModulus($mod); + +$errors = array(); + +$encrypt_result = $crypt->encrypt($key, $password, $pswdlen); +$errors = $crypt->errors; + +$decrypt_result = $crypt->decrypt($key, $password); +$encrypt_result = $password; +$password = $decrypt_result; +*/ + +class encryption_class { + + var $scramble1; // 1st string of ASCII characters + var $scramble2; // 2nd string of ASCII characters + + var $errors; // array of error messages + var $adj; // 1st adjustment value (optional) + var $mod; // 2nd adjustment value (optional) + + // **************************************************************************** + // class constructor + // **************************************************************************** + function encryption_class () + { + $this->errors = array(); + + // Each of these two strings must contain the same characters, but in a different order. + // Use only printable characters from the ASCII table. + // Do not use single quote, double quote or backslash as these have special meanings in PHP. + // Each character can only appear once in each string. + $this->scramble1 = '! #$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~'; + $this->scramble2 = 'f^jAE]okIOzU[2&q1{3`h5w_794p@6s8?BgP>dFV=m Dscramble1) <> strlen($this->scramble2)) { + trigger_error('** SCRAMBLE1 is not same length as SCRAMBLE2 **', E_USER_ERROR); + } // if + + $this->adj = 1.75; // this value is added to the rolling fudgefactors + $this->mod = 3; // if divisible by this the adjustment is made negative + + } // constructor + + // **************************************************************************** + function decrypt ($key, $source) + // decrypt string into its original form + { + $this->errors = array(); + + // convert $key into a sequence of numbers + $fudgefactor = $this->_convertKey($key); + if ($this->errors) return; + + if (empty($source)) { + $this->errors[] = 'No value has been supplied for decryption'; + return; + } // if + + $target = null; + $factor2 = 0; + + for ($i = 0; $i < strlen($source); $i++) { + // extract a (multibyte) character from $source + if (function_exists('mb_substr')) { + $char2 = mb_substr($source, $i, 1); + } else { + $char2 = substr($source, $i, 1); + } // if + + // identify its position in $scramble2 + $num2 = strpos($this->scramble2, $char2); + if ($num2 === false) { + $this->errors[] = "Source string contains an invalid character ($char2)"; + return; + } // if + + // get an adjustment value using $fudgefactor + $adj = $this->_applyFudgeFactor($fudgefactor); + + $factor1 = $factor2 + $adj; // accumulate in $factor1 + $num1 = $num2 - round($factor1); // generate offset for $scramble1 + $num1 = $this->_checkRange($num1); // check range + $factor2 = $factor1 + $num2; // accumulate in $factor2 + + // extract (multibyte) character from $scramble1 + if (function_exists('mb_substr')) { + $char1 = mb_substr($this->scramble1, $num1, 1); + } else { + $char1 = substr($this->scramble1, $num1, 1); + } // if + + // append to $target string + $target .= $char1; + + //echo "char1=$char1, num1=$num1, adj= $adj, factor1= $factor1, num2=$num2, char2=$char2, factor2= $factor2
    \n"; + + } // for + + return rtrim($target); + + } // decrypt + + // **************************************************************************** + function encrypt ($key, $source, $sourcelen = 0) + // encrypt string into a garbled form + { + $this->errors = array(); + + // convert $key into a sequence of numbers + $fudgefactor = $this->_convertKey($key); + if ($this->errors) return; + + if (empty($source)) { + $this->errors[] = 'No value has been supplied for encryption'; + return; + } // if + + // pad $source with spaces up to $sourcelen + $source = str_pad($source, $sourcelen); + + $target = null; + $factor2 = 0; + + for ($i = 0; $i < strlen($source); $i++) { + // extract a (multibyte) character from $source + if (function_exists('mb_substr')) { + $char1 = mb_substr($source, $i, 1); + } else { + $char1 = substr($source, $i, 1); + } // if + + // identify its position in $scramble1 + $num1 = strpos($this->scramble1, $char1); + if ($num1 === false) { + $this->errors[] = "Source string contains an invalid character ($char1)"; + return; + } // if + + // get an adjustment value using $fudgefactor + $adj = $this->_applyFudgeFactor($fudgefactor); + + $factor1 = $factor2 + $adj; // accumulate in $factor1 + $num2 = round($factor1) + $num1; // generate offset for $scramble2 + $num2 = $this->_checkRange($num2); // check range + $factor2 = $factor1 + $num2; // accumulate in $factor2 + + // extract (multibyte) character from $scramble2 + if (function_exists('mb_substr')) { + $char2 = mb_substr($this->scramble2, $num2, 1); + } else { + $char2 = substr($this->scramble2, $num2, 1); + } // if + + // append to $target string + $target .= $char2; + + //echo "char1=$char1, num1=$num1, adj= $adj, factor1= $factor1, num2=$num2, char2=$char2, factor2= $factor2
    \n"; + + } // for + + return $target; + + } // encrypt + + // **************************************************************************** + function getAdjustment () + // return the adjustment value + { + return $this->adj; + + } // setAdjustment + + // **************************************************************************** + function getModulus () + // return the modulus value + { + return $this->mod; + + } // setModulus + + // **************************************************************************** + function setAdjustment ($adj) + // set the adjustment value + { + $this->adj = (float)$adj; + + } // setAdjustment + + // **************************************************************************** + function setModulus ($mod) + // set the modulus value + { + $this->mod = (int)abs($mod); // must be a positive whole number + + } // setModulus + + // **************************************************************************** + // private methods + // **************************************************************************** + function _applyFudgeFactor (&$fudgefactor) + // return an adjustment value based on the contents of $fudgefactor + // NOTE: $fudgefactor is passed by reference so that it can be modified + { + $fudge = array_shift($fudgefactor); // extract 1st number from array + $fudge = $fudge + $this->adj; // add in adjustment value + $fudgefactor[] = $fudge; // put it back at end of array + + if (!empty($this->mod)) { // if modifier has been supplied + if ($fudge % $this->mod == 0) { // if it is divisible by modifier + $fudge = $fudge * -1; // make it negative + } // if + } // if + + return $fudge; + + } // _applyFudgeFactor + + // **************************************************************************** + function _checkRange ($num) + // check that $num points to an entry in $this->scramble1 + { + $num = round($num); // round up to nearest whole number + + $limit = strlen($this->scramble1); + + while ($num >= $limit) { + $num = $num - $limit; // value too high, so reduce it + } // while + while ($num < 0) { + $num = $num + $limit; // value too low, so increase it + } // while + + return $num; + + } // _checkRange + + // **************************************************************************** + function _convertKey ($key) + // convert $key into an array of numbers + { + if (empty($key)) { + $this->errors[] = 'No value has been supplied for the encryption key'; + return; + } // if + + $array[] = strlen($key); // first entry in array is length of $key + + $tot = 0; + for ($i = 0; $i < strlen($key); $i++) { + // extract a (multibyte) character from $key + if (function_exists('mb_substr')) { + $char = mb_substr($key, $i, 1); + } else { + $char = substr($key, $i, 1); + } // if + + // identify its position in $scramble1 + $num = strpos($this->scramble1, $char); + if ($num === false) { + $this->errors[] = "Key contains an invalid character ($char)"; + return; + } // if + + $array[] = $num; // store in output array + $tot = $tot + $num; // accumulate total for later + } // for + + $array[] = $tot; // insert total as last entry in array + + return $array; + + } // _convertKey + +// **************************************************************************** +} // end encryption_class +// **************************************************************************** +?> \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/readme.txt b/wp-content/plugins/advanced-search-by-my-solr-server/readme.txt new file mode 100644 index 0000000..4542183 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/readme.txt @@ -0,0 +1,139 @@ +=== Advanced Search by My Solr Server === +Contributors: www.mysolrserver.com +Author URI: http://www.mysolrserver.com +Plugin URI: http://wordpress.org/extend/plugins/advanced-search-by-my-solr-server/ +Tags: solr, search, search results, search integration, custom search, better search, search replacement, category search, comment search, tag search, page search, post search, search highlight, seo +Requires at least: 3.0.0 +Tested up to: 3.5.1 +Stable tag: 2.0.5 + + +A WordPress plugin that replaces the default WordPress search with a lot of benefits + + +== Description == + +Advanced Search by My Solr Server plugin replaces the default WordPress search. Features and benefits include: + +* Index pages, posts and custom post types +* Enable search and faceting on fields such as tags, categories, author, page type, custom fields and custom taxonomies +* Add special template tags so you can create your own custom result pages to match your theme. +* Search term suggestions (AutoComplete) +* Provides better search results based on relevancy +* Create custom summaries with the search terms highlighted +* Completely integrated into default WordPress theme and search widget. +* Configuration options allow you to select pages to ignore + +Note : In order to make Advanced Search by My Solr Server plugin work, you need a Solr server installed and configured with the provided schema.xml file. + +== Installation == + += Prerequisite = + +A Solr server 3.6.0 or > installed and configured with the provided schema.xml file. This file is configured for English content. Update this file according to your content language. + +In order to have spell checking work, in your solrconfig.xml file, check : + +1. the spellchecker component have to be correctly configured : + + <lst name="spellchecker"> + <str name="name">default</str> + <str name="field">spell</str> + <str name="spellcheckIndexDir">spellchecker</str> + <str name="buildOnOptimize">true</str> + </lst> + +2. the request handler includes the spellchecker component + + <arr name="last-components"> + <str>spellcheck</str> + </arr> + +If you are using "Solr for Wordpress" Wordpress plugin, deactivate and uninstall it. + + += Installation = + +1. Upload the `advanced-search-by-my-solr-server` folder to the `/wp-content/plugins/` directory +2. Activate the plugin through the 'Plugins' menu in WordPress +3. Go in Advanced Search by My Solr Server settings page ("Advanced Search by My Solr Server"), configure the plugin and Load your blog content in Solr ("Load Content" button) + += Customize the plugin display = + +The plugin uses the template files located in the `template` directory. You can implement your own template files by copying theses files with a new name terminating by "_custom" (for instance, the file mss_search.php is copied as mss_search_custom.php). These new files can be located in the plugin's template directory or in your theme's main directory. + + +== Frequently Asked Questions == + += What version of WordPress does Advanced Search by My Solr Server plugin work with? = + +Advanced Search by My Solr Server plugin works with WordPress 3.0.0 and greater. + += What version of Solr does Advanced Search by My Solr Server plugin work with? = + +Advanced Search by My Solr Server plugin works with Solr 3.6.x or 4.0.x; + += How to manage Custom Post type, custom taxonomies and custom fields? = + +Advanced Search by My Solr Server plugin was tested with: +* "Custom Post Type UI" plugin for Custom Post type and custom taxonomies management +* "Custom Field Template" plugin for custom fields management +* WP-Types plugin for Custom Post type and custom taxonomies management and for custom fields management + +== Screenshots == + +1. Configuration page + + +2. Configuration page (facets) + + +== Changelog == + += 2.0.5 = + +* update schema.xml for Solr 3.6.x +* add schema.xml for Solr 4.0.x +* SolrPhpClient upgrade for Solr 4.0.x compatibility + += 2.0.4 = + +* Search result display bug fix + += 2.0.3 = + +* Bug fix jQuery conflict +* Tests with WP-Types plugin +* Include custom fields and custom taxonomies in searched data +* SolrPhpClient upgrade +* Add proxy support + += 2.0.2 = + +* Bug fix while checking Solr connection + += 2.0.1 = + +* Update installation prerequisites in order to have spell checking work. + += 2.0.0 = + +* Includes all indexing and searching features +* "Solr for Wordpress" plugin is not a pre-requisite anymore +* Add support for custom post types and custom taxonomies +* Settings page refactoring +* Bug fixing + += 1.0.2 = + +* Bug fixing + += 1.0.1 = + +* Bug fixing + += 1.0.0 = + +* Initial version just for My Solr Server connection management. +* "Solr for Wordpress" plugin is a pre-requisite + diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/schema-4xx.xml b/wp-content/plugins/advanced-search-by-my-solr-server/schema-4xx.xml new file mode 100644 index 0000000..614f30d --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/schema-4xx.xml @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + text + + + + + + + + + + + diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/schema.xml b/wp-content/plugins/advanced-search-by-my-solr-server/schema.xml new file mode 100644 index 0000000..913eeda --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/schema.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + text + + + + + + + + + + + diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/screenshot-1.png b/wp-content/plugins/advanced-search-by-my-solr-server/screenshot-1.png new file mode 100644 index 0000000..2861ad7 Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/screenshot-1.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/screenshot-2.png b/wp-content/plugins/advanced-search-by-my-solr-server/screenshot-2.png new file mode 100644 index 0000000..97b679b Binary files /dev/null and b/wp-content/plugins/advanced-search-by-my-solr-server/screenshot-2.png differ diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/solr.class.inc.php b/wp-content/plugins/advanced-search-by-my-solr-server/solr.class.inc.php new file mode 100644 index 0000000..cedfe09 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/solr.class.inc.php @@ -0,0 +1,131 @@ +_lastErrorCode; + } + + public function getLastErrorMessage() { + return $this->_lastErrorMessage; + } + + public function connect($options, $ping = false) { + // get the connection options + $this->_solrHost = $options['mss_solr_host']; + $this->_solrPort = $options['mss_solr_port']; + $this->_solrPath = $options['mss_solr_path']; + + // double check everything has been set + if ( ! ($this->_solrHost and $this->_solrPort and $this->_solrPath) ) { + $this->_lastErrorCode = -1; + $this->_lastErrorMessage = "Invalid options"; + return false; + } + + // create the solr service object + try { + require_once("SolrPhpClient/Apache/Solr/HttpTransport/Curl.php"); + $httpTransport = new Apache_Solr_HttpTransport_Curl(); + $this->_solr = new Apache_Solr_Service($this->_solrHost, $this->_solrPort, $this->_solrPath, $httpTransport); + + if ($options['mss_solr_proxy']!='' && $options['mss_solr_proxyport']!='') { + $this->_solr->setProxy($options['mss_solr_proxy'], $options['mss_solr_proxyport'], $options['mss_slor_proxyusername'], decrypt($options['mss_solr_proxypassword'])); + } + + } catch ( Exception $e ) { + $this->_lastErrorCode = $e->getCode(); + $this->_lastErrorMessage = $e->getMessage(); + return false; + } + + // if we want to check if the server is alive, ping it + if ($ping) { + try { + if (!$this->_solr->ping()) { + //$this->_solr = null; + $this->_lastErrorCode = -1; + $this->_lastErrorMessage = "Ping failed"; + return false; + } + } catch ( Exception $e ) { + $this->_lastErrorCode = $e->getCode(); + $this->_lastErrorMessage = $e->getMessage(); + return false; + } + } + return true; + } + + public function commit() { + try { + $this->_solr->commit(); + return true; + } catch ( Exception $e ) { + $this->_lastErrorCode = $e->getCode(); + $this->_lastErrorMessage = $e->getMessage(); + return false; + } + } + + public function optimize() { + try { + $this->_solr->optimize(); + return true; + } catch ( Exception $e ) { + $this->_lastErrorCode = $e->getCode(); + $this->_lastErrorMessage = $e->getMessage(); + return false; + } + } + + public function addDocuments($documents) { + try { + $this->_solr->addDocuments($documents); + return true; + } catch ( Exception $e ) { + $this->_lastErrorCode = $e->getCode(); + $this->_lastErrorMessage = $e->getMessage(); + return false; + } + } + + + public function deleteAll($optimize = false) { + try { + $this->_solr->deleteByQuery('*:*'); + if (!$this->commit()) return false; + if (optimize) return $this->optimize(); + return true; + } catch ( Exception $e ) { + $this->_lastErrorCode = $e->getCode(); + $this->_lastErrorMessage = $e->getMessage(); + return false; + } + } + + public function deleteById( $doc_id ) { + try { + $this->_solr->deleteById( $doc_id ); + $this->_solr->commit(); + } catch ( Exception $e ) { + echo $e->getMessage(); + } + } + + public function search($qry, $offset, $count, $params) { + return $this->_solr->search($qry, $offset, $count, $params); + } +} + + +?> \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_autocomplete.css b/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_autocomplete.css new file mode 100644 index 0000000..1346245 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_autocomplete.css @@ -0,0 +1,27 @@ +.ac_results { + border: 1px solid gray; + background-color: white; + padding: 0; + margin: 0; + list-style: none; + position: absolute; + z-index: 10000; + display: none; +} + +.ac_results li { + padding: 2px 5px; + white-space: nowrap; + color: #101010; + text-align: left; +} + +.ac_over { + cursor: pointer; + background-color: #F0F0B8; +} + +.ac_match { + text-decoration: underline; + color: black; +} \ No newline at end of file diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_search.css b/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_search.css new file mode 100644 index 0000000..6433b18 --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_search.css @@ -0,0 +1,255 @@ +#content { + width: auto !important; +} + +*+ html clearfix { + display: inline-block !important; +} +*+ html ul,ol { + list-style-position: outside !important; +} + + +.solr * { + line-height: 1 !important; + padding: 0 !important; + margin: 0 !important; + text-align: left !important; +} +.solr ol, .solr ul, .solr ol li, .solr ul li { + background: none !important; + list-style-type: none !important; + overflow: hidden !important; /* IE7 */ +} +.solr h2 {font-size:16px !important;} +.solr h3 {font-size:14px !important;} +.solr { + font-size: 12px !important; + line-height: 1 !important; + margin: 0 !important; + padding: 20px !important; + width: auto !important; +} +div.solr1 { + border-bottom: 1px solid #cccccc !important; + padding: 0 0 6px !important; +} +div.solr_search { + clear: both !important; + padding: 0 0 12px !important; +} +div.solr_search input { + font-size: 18px !important; +} +.solr_field { + border: 1px solid #b7b7b7 !important; + border-top: 2px solid #999999 !important; + padding: 3px !important; + margin: 0 8px 0 0 !important; + width: 330px !important; +} +ol.solr_auto { + background: #ffffff !important; + border: 1px solid #b7b7b7 !important; + width: 336px !important; + padding: 6px 0 !important; + position: absolute !important; + clear: both !important; /* IE6 */ + z-index: 100 !important; +} +.solr_auto li { + padding: 2px 8px !important; +} +.solr_auto li:hover { + background: #efffb0 !important; +} +div.solr_suggest { + padding: 0 0 5px !important; +} +label.solr_response { + font-size: 10px !important; + color: #666666 !important; + float: right !important; + position: relative !important; + top: 13px !important; +} +div.solr3 { + float: left !important; + padding: 18px 2% 0 0 !important; + width: 23% !important; +} +.solr_active span { + border-top: 4px solid #ffffff !important; + border-left: 5px solid #999999 !important; + border-bottom: 4px solid #ffffff !important; + font-size: 0 !important; + line-height: 0 !important; + width: 0 !important; + margin: 0 4px 0 0 !important; + position: relative !important; + bottom: 4px !important; + zoom: 1 !important; /* IE7 */ +} +.solr_active b { + font-family: Arial, Verdana, Helvetica, sans-serif !important; + font-weight: bold !important; + color: #999999 !important; +} +.solr_active a { + text-decoration: none !important; +} +.solr_facets ol li { + padding: 3px 0 3px !important; +} +.solr_facets ol li ol { + padding: 3px 0 0 10px !important; +} +.solr_facets h3 { + padding: 10px 0 3px !important; +} +.solr_active ol li { + padding: 3px 0 !important; +} +.solr_active a { + color: #000000 !important; +} +div.solr2 { + float: right !important; + padding: 8px 0 0 !important; + width: 70% !important; +} +div.solr2_nofacets { + padding: 8px 0 0 !important; + width: 100% !important; +} +div.solr_results_header { + font-size: 10px !important; + color: #666666 !important; + padding: 0 0 4px !important; +} +div.solr_results_headerL { + width: 55% !important; + float: left !important; + padding: 0 0 0 12px !important; +} +div.solr_results_headerR { + width: 40% !important; + font-weight: bold !important; + float: right !important; +} +.solr_sort { + margin: 4px 4px 0 0 !important; + float: right !important; +} +ol.solr_sort2 { + background: #ffffff !important; + text-decoration: none !important; + border: 1px solid #cccccc !important; + padding: 2px 0 1px !important; + float: right !important; +} +.solr_sort2 li { + display: block !important; /* FF3 */ + padding: 2px 2px 2px 4px !important; +} +.solr_sort2 li:hover { + background: #efffb0 !important; +} +.solr_sort2 a { + text-decoration: none !important; +} +.solr_sort_drop span { + border-top: 4px solid #999999 !important; + border-right: 4px solid #ffffff !important; + border-left: 5px solid #ffffff !important; + font-size: 0 !important; + line-height: 0 !important; + width: 0 !important; + margin: 0 0 0 2px !important; + position: relative !important; + bottom: 1px !important; + zoom: 1 !important; /* IE7 */ +} + +.solr_results ol { + font-size: 12px !important; + padding: 0 0 14px !important; + clear: both !important; /* IE7 */ +} +.solr_results li { + border-bottom: 1px solid #e6e6e6 !important; + padding: 14px 12px !important; +} +.solr_results li:hover { + background: #efffb0 !important; +} +.solr_results img { + height: 50px !important; + border: 1px solid #cccccc !important; + float: right !important; + display: block; + margin: 0 0 0 5px !important; +} +.solr_results h2 { + font-weight: normal !important; + line-height: 1.1 !important; + padding: 0 0 5px !important; +} +.solr_results label { + font-size: 10px !important; + color: #666666 !important; + padding: 5px 0 0 !important; + display: block !important; +} +.solr_pages { + font-size: 14px !important; + font-weight: bold !important; + text-align: right !important; +} +.solr_pages a { + margin: 0 0 0 5px !important; +} +.solr_pages_on { + color: #000000 !important; +} +div.solr_noresult { + padding: 20px 5% 40px 0 !important; +} +.solr_noresult h2 { + font-weight: normal !important; + line-height: 1.2 !important; + padding: 0 0 14px !important; +} +.solr_noresult h3 { + font-weight: normal !important; + line-height: 1.2 !important; + padding: 0 0 14px !important; +} +.solr_noresult p { + font-weight: normal !important; + line-height: 1.2 !important; +} + + +.solr_HL { + background: #efffb0 !important; +} + + +/*CLEARFIX*/ +.clearfix:after { + content: " "; + display: block; + height: 0; + clear: both; + visibility: hidden; + font-size: 0; +} +.clearfix { + display: block;/*the holly hack for a bug in IE6 for Windows*/ +} +* html .clearfix {height: 1%;}/* Hides from IE-mac \*/ +/* END CLEARFIX*/ +.clear { + clear: both; +} diff --git a/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_search.php b/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_search.php new file mode 100644 index 0000000..f1e51ee --- /dev/null +++ b/wp-content/plugins/advanced-search-by-my-solr-server/template/mss_search.php @@ -0,0 +1,207 @@ +'; + } + return ''; +} + + +?> + + +
    + +
    + + + +
    + + + Did you mean: %s ?
    ", $results['dym']['link'], $results['dym']['term']); + } ?> + +
    + + +
    + +
    + +
    +
    + + %s hits", $results['firstresult'], $results['hits']); + } else { + printf("Displaying results %s-%s of %s hits", $results['firstresult'], $results['lastresult'], $results['hits']); + } + } ?> + +
    + + +
    +
      +
    1. Relevance
    2. +
    3. Newest
    4. +
    5. Oldest
    6. +
    7. Most Comments
    8. +
    9. Least Comments
    10. +
    +
    Sort by:
    +
    +
    + +
    + + +

    Sorry, no results were found.

    +

    Perhaps you mispelled your search query, or need to try using broader search terms.

    +

    For example, instead of searching for 'Apple iPhone 3.0 3GS', try something simple like 'iPhone'.

    +
    \n"); + } else { + printf("
      \n"); + foreach($results['results'] as $result) { + printf("
    1. \n", $result['permalink']); + printf("

      %s

      \n", $result['permalink'], $result['title']); + printf("

      %s (comment match)

      \n", $result['teaser'], $result['comment_link']); + printf("\n", + $result['authorlink'], + $result['author'], + get_the_category_list( ', ', '', $result['id']), + date('m/d/Y', strtotime($result['date'])), + $result['comment_link'], + $result['numcomments']); + printf("
    2. \n"); + } + printf("
    \n"); + } ?> + + "); + $itemlinks = array(); + $pagecnt = 0; + $pagemax = 10; + $next = ''; + $prev = ''; + $found = false; + foreach($results['pager'] as $pageritm) { + if ($pageritm['link']) { + if ($found && $next === '') { + $next = $pageritm['link']; + } else if ($found == false) { + $prev = $pageritm['link']; + } + + $itemlinks[] = sprintf("%s", $pageritm['link'], $pageritm['page']); + } else { + $found = true; + $itemlinks[] = sprintf("%s", $pageritm['link'], $pageritm['page']); + } + + $pagecnt += 1; + if ($pagecnt == $pagemax) { + break; + } + } + + if ($prev !== '') { + printf("Previous", $prev); + } + + foreach ($itemlinks as $itemlink) { + echo $itemlink; + } + + if ($next !== '') { + printf("Next", $next); + } + + printf("
    \n"); + } ?> + + +
    +
    + + +
    +
      + + + 1) { #don't display facets with only 1 value + if (isset($facet['name'])) { + printf("
    • \n

      %s

      \n", $facet['name']); + mss_print_facet_items($facet["items"], "
        ", "
      ", "
    • ", "
    • ", "
      1. ", "
    • ", "
    • ", "
    • "); + printf("\n"); + } + //} + } + //} + ?> +
    +
    + + + + + diff --git a/wp-content/plugins/akismet/admin.php b/wp-content/plugins/akismet/admin.php new file mode 100644 index 0000000..56d8c92 --- /dev/null +++ b/wp-content/plugins/akismet/admin.php @@ -0,0 +1,943 @@ +

    '.sprintf(__('Akismet %s requires WordPress 3.0 or higher.'), AKISMET_VERSION) .' '.sprintf(__('Please upgrade WordPress to a current version, or downgrade to version 2.4 of the Akismet plugin.'), 'http://codex.wordpress.org/Upgrading_WordPress', 'http://wordpress.org/extend/plugins/akismet/download/'). '

    + '; + } + add_action('admin_notices', 'akismet_version_warning'); + + return; + } + + if ( function_exists( 'get_plugin_page_hook' ) ) + $hook = get_plugin_page_hook( 'akismet-stats-display', 'index.php' ); + else + $hook = 'dashboard_page_akismet-stats-display'; + add_meta_box('akismet-status', __('Comment History'), 'akismet_comment_status_meta_box', 'comment', 'normal'); +} +add_action('admin_init', 'akismet_admin_init'); + +add_action( 'admin_enqueue_scripts', 'akismet_load_js_and_css' ); +function akismet_load_js_and_css() { + global $hook_suffix; + + if ( in_array( $hook_suffix, array( + 'index.php', # dashboard + 'edit-comments.php', + 'comment.php', + 'post.php', + 'plugins_page_akismet-key-config', + 'jetpack_page_akismet-key-config', + ) ) ) { + wp_register_style( 'akismet.css', AKISMET_PLUGIN_URL . 'akismet.css', array(), AKISMET_VERSION ); + wp_enqueue_style( 'akismet.css'); + + wp_register_script( 'akismet.js', AKISMET_PLUGIN_URL . 'akismet.js', array('jquery'), AKISMET_VERSION ); + wp_enqueue_script( 'akismet.js' ); + wp_localize_script( 'akismet.js', 'WPAkismet', array( + 'comment_author_url_nonce' => wp_create_nonce( 'comment_author_url_nonce' ), + 'strings' => array( + 'Remove this URL' => __( 'Remove this URL' ), + 'Removing...' => __( 'Removing...' ), + 'URL removed' => __( 'URL removed' ), + '(undo)' => __( '(undo)' ), + 'Re-adding...' => __( 'Re-adding...' ), + ) + ) ); + } +} + + +function akismet_nonce_field($action = -1) { return wp_nonce_field($action); } +$akismet_nonce = 'akismet-update-key'; + +function akismet_plugin_action_links( $links, $file ) { + if ( $file == plugin_basename( dirname(__FILE__).'/akismet.php' ) ) { + $links[] = ''.__( 'Settings' ).''; + } + + return $links; +} + +add_filter( 'plugin_action_links', 'akismet_plugin_action_links', 10, 2 ); + +function akismet_conf() { + global $akismet_nonce, $current_user; + + $new_key_link = 'https://akismet.com/get/'; + $config_link = esc_url( add_query_arg( array( 'page' => 'akismet-key-config', 'show' => 'enter-api-key' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'plugins.php' ) ) ); + $stats_link = esc_url( add_query_arg( array( 'page' => 'akismet-stats-display' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'index.php' ) ) ); + $api_key = akismet_get_key(); + $show_key_form = $api_key; + $key_status = 'empty'; + $saved_ok = false; + $key_status_text = ''; + + $ms = array(); + + if ( isset( $_POST['submit'] ) ) { + if ( function_exists('current_user_can') && !current_user_can('manage_options') ) + die(__('Cheatin’ uh?')); + + $show_key_form = true; + + check_admin_referer( $akismet_nonce ); + $key = preg_replace( '/[^a-h0-9]/i', '', $_POST['key'] ); + $home_url = parse_url( get_bloginfo('url') ); + + if ( empty( $home_url['host'] ) ) + $ms[] = 'bad_home_url'; + + if ( empty( $key ) ) { + if ( $api_key ) { + delete_option('wordpress_api_key'); + $saved_ok = true; + $ms[] = 'new_key_empty'; + } + else + $ms[] = 'key_empty'; + } + else + $key_status = akismet_verify_key( $key ); + + if ( $key != $api_key && $key_status == 'valid' ) { + $ms[] = 'new_key_valid'; + update_option('wordpress_api_key', $key); + } + elseif ( $key_status == 'invalid' ) + $ms[] = 'new_key_invalid'; + elseif ( $key_status == 'failed' ) + $ms[] = 'new_key_failed'; + + $api_key = $key_status == 'valid' ? $key : false; + + if ( isset( $_POST['akismet_discard_month'] ) ) + update_option( 'akismet_discard_month', 'true' ); + else + update_option( 'akismet_discard_month', 'false' ); + + if ( isset( $_POST['akismet_show_user_comments_approved'] ) ) + update_option( 'akismet_show_user_comments_approved', 'true' ); + else + update_option( 'akismet_show_user_comments_approved', 'false' ); + + if ( empty( $ms ) ) + $saved_ok = true; + + } + elseif ( isset( $_POST['check'] ) ) { + $show_key_form = true; + check_admin_referer( $akismet_nonce ); + akismet_get_server_connectivity(0); + } + elseif ( isset( $_GET['show'] ) && $_GET['show'] == 'enter-api-key' ) { + $show_key_form = true; + } + + if ( $show_key_form ) { + //check current key status + //only get this if showing the key form otherwise takes longer for page to load for new user + //no need to get it if we already know it and its valid + if ( in_array( $key_status, array( 'invalid', 'failed', 'empty' ) ) ) { + $key = get_option('wordpress_api_key'); + if ( empty( $key ) ) { + //no key saved yet - maybe connection to Akismet down? + if ( in_array( $key_status, array( 'invalid', 'empty' ) ) ) { + if ( akismet_verify_key( '1234567890ab' ) == 'failed' ) + $ms[] = 'no_connection'; + } + } + else + $key_status = akismet_verify_key( $key ); + } + + if ( !isset( $_POST['submit'] ) ) { + if ( $key_status == 'invalid' ) + $ms[] = 'key_invalid'; + elseif ( !empty( $key ) && $key_status == 'failed' ) + $ms[] = 'key_failed'; + } + } + + $key_status_strings = array( + 'empty' => __( 'Empty' ), + 'valid' => __( 'Valid' ), + 'invalid' => __( 'Invalid' ), + 'failed' => __( 'Failed' ), + ); + + $messages = array( + 'new_key_empty' => array( 'class' => 'updated fade', 'text' => __('Your key has been cleared.' ) ), + 'new_key_valid' => array( 'class' => 'updated fade', 'text' => __('Your Akismet account has been successfully set up and activated. Happy blogging!' ) ), + 'new_key_invalid' => array( 'class' => 'error', 'text' => __('The key you entered is invalid. Please double-check it.' ) ), + 'new_key_failed' => array( 'class' => 'error', 'text' => __('The key you entered could not be verified because a connection to akismet.com could not be established. Please check your server configuration.' ) ), + 'no_connection' => array( 'class' => 'error', 'text' => __('There was a problem connecting to the Akismet server. Please check your server configuration.' ) ), + 'key_empty' => array( 'class' => 'updated fade', 'text' => __('Please enter an API key' ) ), + 'key_invalid' => array( 'class' => 'error', 'text' => __('This key is invalid.' ) ), + 'key_failed' => array( 'class' => 'error', 'text' => __('The key below was previously validated but a connection to akismet.com can not be established at this time. Please check your server configuration.' ) ), + 'bad_home_url' => array( 'class' => 'error', 'text' => sprintf( __('Your WordPress home URL %s is invalid. Please fix the home option.'), esc_html( get_bloginfo('url') ), admin_url('options.php#home') ) ) + ); +?> + + +
    + +

    + +

    Stats' ), $stats_link ); ?>

    + +
    +

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

    + + +

    Sign up success! Please check your email for your Akismet API Key and enter it below.') ?>

    + + +

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

    create one here'), '#' );?>

    +
    +
    +
    + +
    +
    + +

    + +

    +
    + + +

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

    +

    fsockopen or gethostbynamel functions. Akismet cannot work correctly until this is fixed. Please contact your web host or firewall administrator and give them this information about Akismet\'s system requirements.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?>

    + 0 ) { + if ( $fail_count > 0 && $fail_count < count( $servers ) ) { // some connections work, some fail ?> +

    +

    this information about Akismet and firewalls.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?>

    + 0 ) { // all connections fail ?> +

    +

    Akismet cannot work correctly until this is fixed. Please contact your web host or firewall administrator and give them this information about Akismet and firewalls.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?>

    + +

    +

    + +

    +

    Akismet cannot work correctly until this is fixed. Please contact your web host or firewall administrator and give them this information about Akismet and firewalls.'), 'http://blog.akismet.com/akismet-hosting-faq/'); ?>

    + +
    + + + + + + $status ) : ?> + + + + + + +
    +
    + +
    +

    +

    clicking here.'), 'http://status.automattic.com/9931/136079/Akismet-API' ); ?>

    +
    + +
    + +
    +
    + 'akismet-key-config' ), class_exists( 'Jetpack' ) ? admin_url( 'admin.php' ) : admin_url( 'plugins.php' ) ) );?> + +
    +

    enter your Akismet API key for it to work.' ), $config_link );?>

    + +
    ' . _x( 'Spam', 'comments' ) . ''; + global $submenu; + echo '

    '.sprintf( _n( 'Akismet has protected your site from %3$s spam comments.', 'Akismet has protected your site from %3$s spam comments.', $count ), 'http://akismet.com/?return=true', esc_url( add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( isset( $submenu['edit-comments.php'] ) ? 'edit-comments.php' : 'edit.php' ) ) ), number_format_i18n($count) ).'

    '; +} +add_action('activity_box_end', 'akismet_stats'); + +function akismet_admin_warnings() { + global $wpcom_api_key, $pagenow; + + if ( + $pagenow == 'edit-comments.php' + || ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-key-config' ) + || ( !empty( $_GET['page'] ) && $_GET['page'] == 'akismet-stats-display' ) + ) { + if ( get_option( 'akismet_alert_code' ) ) { + function akismet_alert() { + $alert = array( + 'code' => (int) get_option( 'akismet_alert_code' ), + 'msg' => get_option( 'akismet_alert_msg' ) + ); + ?> +
    +

    :

    +

    +

    %s' , 'https://akismet.com/errors/'.$alert['code'], 'https://akismet.com/errors/'.$alert['code'] );?> +

    +
    + + +
    + + + +
    +
    A
    +
    +
    +
    '.__('Activate your Akismet account').'
    +
    +
    +
    '.__('Almost done - activate your account and say goodbye to comment spam').'
    +
    +
    + + '; + } + } + + add_action('admin_notices', 'akismet_warning'); + return; + } elseif ( ( empty($_SERVER['SCRIPT_FILENAME']) || basename($_SERVER['SCRIPT_FILENAME']) == 'edit-comments.php' ) && wp_next_scheduled('akismet_schedule_cron_recheck') ) { + function akismet_warning() { + global $wpdb; + akismet_fix_scheduled_recheck(); + $waiting = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" ); + $next_check = wp_next_scheduled('akismet_schedule_cron_recheck'); + if ( $waiting > 0 && $next_check > time() ) + echo ' +

    '.__('Akismet has detected a problem.').' '.sprintf(__('Some comments have not yet been checked for spam by Akismet. They have been temporarily held for moderation. Please check your Akismet configuration and contact your web host if problems persist.'), 'admin.php?page=akismet-key-config').'

    + '; + } + add_action('admin_notices', 'akismet_warning'); + return; + } +} + +// FIXME placeholder + +function akismet_comment_row_action( $a, $comment ) { + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return $a; + + $akismet_result = get_comment_meta( $comment->comment_ID, 'akismet_result', true ); + $akismet_error = get_comment_meta( $comment->comment_ID, 'akismet_error', true ); + $user_result = get_comment_meta( $comment->comment_ID, 'akismet_user_result', true); + $comment_status = wp_get_comment_status( $comment->comment_ID ); + $desc = null; + if ( $akismet_error ) { + $desc = __( 'Awaiting spam check' ); + } elseif ( !$user_result || $user_result == $akismet_result ) { + // Show the original Akismet result if the user hasn't overridden it, or if their decision was the same + if ( $akismet_result == 'true' && $comment_status != 'spam' && $comment_status != 'trash' ) + $desc = __( 'Flagged as spam by Akismet' ); + elseif ( $akismet_result == 'false' && $comment_status == 'spam' ) + $desc = __( 'Cleared by Akismet' ); + } else { + $who = get_comment_meta( $comment->comment_ID, 'akismet_user', true ); + if ( $user_result == 'true' ) + $desc = sprintf( __('Flagged as spam by %s'), $who ); + else + $desc = sprintf( __('Un-spammed by %s'), $who ); + } + + // add a History item to the hover links, just after Edit + if ( $akismet_result ) { + $b = array(); + foreach ( $a as $k => $item ) { + $b[ $k ] = $item; + if ( + $k == 'edit' + || ( $k == 'unspam' && $GLOBALS['wp_version'] >= 3.4 ) + ) { + $b['history'] = ' '. __('History') . ''; + } + } + + $a = $b; + } + + if ( $desc ) + echo ''.esc_html( $desc ).''; + + if ( apply_filters( 'akismet_show_user_comments_approved', get_option('akismet_show_user_comments_approved') ) == 'true' ) { + $comment_count = akismet_get_user_comments_approved( $comment->user_id, $comment->comment_author_email, $comment->comment_author, $comment->comment_author_url ); + $comment_count = intval( $comment_count ); + echo ''; + } + + return $a; +} + +add_filter( 'comment_row_actions', 'akismet_comment_row_action', 10, 2 ); + +function akismet_comment_status_meta_box($comment) { + $history = akismet_get_comment_history( $comment->comment_ID ); + + if ( $history ) { + echo '
    '; + foreach ( $history as $row ) { + $time = date( 'D d M Y @ h:i:m a', $row['time'] ) . ' GMT'; + echo '
    ' . sprintf( __('%s ago'), human_time_diff( $row['time'] ) ) . ' - '; + echo esc_html( $row['message'] ) . '
    '; + } + + echo '
    '; + + } +} + + +// add an extra column header to the comments screen +function akismet_comments_columns( $columns ) { + $columns[ 'akismet' ] = __( 'Akismet' ); + return $columns; +} + +#add_filter( 'manage_edit-comments_columns', 'akismet_comments_columns' ); + +// Show stuff in the extra column +function akismet_comment_column_row( $column, $comment_id ) { + if ( $column != 'akismet' ) + return; + + $history = akismet_get_comment_history( $comment_id ); + + if ( $history ) { + echo '
    '; + foreach ( $history as $row ) { + echo '
    ' . sprintf( __('%s ago'), human_time_diff( $row['time'] ) ) . '
    '; + echo '
    ' . esc_html( $row['message'] ) . '
    '; + } + + echo '
    '; + } +} + +#add_action( 'manage_comments_custom_column', 'akismet_comment_column_row', 10, 2 ); + +// END FIXME + +// call out URLS in comments +function akismet_text_add_link_callback( $m ) { + // bare link? + if ( $m[4] == $m[2] ) + return ''.$m[4].''; + else + return ''.$m[4].''; +} + +function akismet_text_add_link_class( $comment_text ) { + return preg_replace_callback( '#]*)href="([^"]+)"([^>]*)>(.*?)#i', 'akismet_text_add_link_callback', $comment_text ); +} + +add_filter('comment_text', 'akismet_text_add_link_class'); + + +// WP 2.5+ +function akismet_rightnow() { + global $submenu, $wp_db_version; + + if ( 8645 < $wp_db_version ) // 2.7 + $link = add_query_arg( array( 'comment_status' => 'spam' ), admin_url( 'edit-comments.php' ) ); + elseif ( isset( $submenu['edit-comments.php'] ) ) + $link = add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( 'edit-comments.php' ) ); + else + $link = add_query_arg( array( 'page' => 'akismet-admin' ), admin_url( 'edit.php' ) ); + + if ( $count = get_option('akismet_spam_count') ) { + $intro = sprintf( _n( + 'Akismet has protected your site from %2$s spam comment already. ', + 'Akismet has protected your site from %2$s spam comments already. ', + $count + ), 'http://akismet.com/?return=true', number_format_i18n( $count ) ); + } else { + $intro = sprintf( __('Akismet blocks spam from getting to your blog. '), 'http://akismet.com/?return=true' ); + } + + $link = function_exists( 'esc_url' ) ? esc_url( $link ) : clean_url( $link ); + if ( $queue_count = akismet_spam_count() ) { + $queue_text = sprintf( _n( + 'There\'s %1$s comment in your spam queue right now.', + 'There are %1$s comments in your spam queue right now.', + $queue_count + ), number_format_i18n( $queue_count ), $link ); + } else { + $queue_text = sprintf( __( "There's nothing in your spam queue at the moment." ), $link ); + } + + $text = $intro . '
    ' . $queue_text; + echo "

    $text

    \n"; +} + +add_action('rightnow_end', 'akismet_rightnow'); + + +// For WP >= 2.5 +function akismet_check_for_spam_button( $comment_status ) { + if ( 'approved' == $comment_status ) + return; + + if ( function_exists('plugins_url') ) + $link = add_query_arg( array( 'action' => 'akismet_recheck_queue' ), admin_url( 'admin.php' ) ); + else + $link = add_query_arg( array( 'page' => 'akismet-admin', 'recheckqueue' => 'true', 'noheader' => 'true' ), admin_url( 'edit-comments.php' ) ); + + echo '
    ' . esc_html__('Check for Spam') . ''; + echo ''; +} +add_action('manage_comments_nav', 'akismet_check_for_spam_button'); + +function akismet_submit_nonspam_comment ( $comment_id ) { + global $wpdb, $akismet_api_host, $akismet_api_port, $current_user, $current_site; + $comment_id = (int) $comment_id; + + $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID = '$comment_id'"); + if ( !$comment ) // it was deleted + return; + + // use the original version stored in comment_meta if available + $as_submitted = get_comment_meta( $comment_id, 'akismet_as_submitted', true); + if ( $as_submitted && is_array($as_submitted) && isset($as_submitted['comment_content']) ) { + $comment = (object) array_merge( (array)$comment, $as_submitted ); + } + + $comment->blog = get_bloginfo('url'); + $comment->blog_lang = get_locale(); + $comment->blog_charset = get_option('blog_charset'); + $comment->permalink = get_permalink($comment->comment_post_ID); + if ( is_object($current_user) ) { + $comment->reporter = $current_user->user_login; + } + if ( is_object($current_site) ) { + $comment->site_domain = $current_site->domain; + } + + $comment->user_role = ''; + if ( isset( $comment->user_ID ) ) + $comment->user_role = akismet_get_user_roles($comment->user_ID); + + if ( akismet_test_mode() ) + $comment->is_test = 'true'; + + $post = get_post( $comment->comment_post_ID ); + $comment->comment_post_modified_gmt = $post->post_modified_gmt; + + $query_string = ''; + foreach ( $comment as $key => $data ) + $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&'; + + $response = akismet_http_post($query_string, $akismet_api_host, "/1.1/submit-ham", $akismet_api_port); + if ( $comment->reporter ) { + akismet_update_comment_history( $comment_id, sprintf( __('%s reported this comment as not spam'), $comment->reporter ), 'report-ham' ); + update_comment_meta( $comment_id, 'akismet_user_result', 'false' ); + update_comment_meta( $comment_id, 'akismet_user', $comment->reporter ); + } + + do_action('akismet_submit_nonspam_comment', $comment_id, $response[1]); +} + +function akismet_submit_spam_comment ( $comment_id ) { + global $wpdb, $akismet_api_host, $akismet_api_port, $current_user, $current_site; + $comment_id = (int) $comment_id; + + $comment = $wpdb->get_row("SELECT * FROM $wpdb->comments WHERE comment_ID = '$comment_id'"); + if ( !$comment ) // it was deleted + return; + if ( 'spam' != $comment->comment_approved ) + return; + + // use the original version stored in comment_meta if available + $as_submitted = get_comment_meta( $comment_id, 'akismet_as_submitted', true); + if ( $as_submitted && is_array($as_submitted) && isset($as_submitted['comment_content']) ) { + $comment = (object) array_merge( (array)$comment, $as_submitted ); + } + + $comment->blog = get_bloginfo('url'); + $comment->blog_lang = get_locale(); + $comment->blog_charset = get_option('blog_charset'); + $comment->permalink = get_permalink($comment->comment_post_ID); + if ( is_object($current_user) ) { + $comment->reporter = $current_user->user_login; + } + if ( is_object($current_site) ) { + $comment->site_domain = $current_site->domain; + } + + $comment->user_role = ''; + if ( isset( $comment->user_ID ) ) + $comment->user_role = akismet_get_user_roles($comment->user_ID); + + if ( akismet_test_mode() ) + $comment->is_test = 'true'; + + $post = get_post( $comment->comment_post_ID ); + $comment->comment_post_modified_gmt = $post->post_modified_gmt; + + $query_string = ''; + foreach ( $comment as $key => $data ) + $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&'; + + $response = akismet_http_post($query_string, $akismet_api_host, "/1.1/submit-spam", $akismet_api_port); + if ( $comment->reporter ) { + akismet_update_comment_history( $comment_id, sprintf( __('%s reported this comment as spam'), $comment->reporter ), 'report-spam' ); + update_comment_meta( $comment_id, 'akismet_user_result', 'true' ); + update_comment_meta( $comment_id, 'akismet_user', $comment->reporter ); + } + do_action('akismet_submit_spam_comment', $comment_id, $response[1]); +} + +// For WP 2.7+ +function akismet_transition_comment_status( $new_status, $old_status, $comment ) { + if ( $new_status == $old_status ) + return; + + # we don't need to record a history item for deleted comments + if ( $new_status == 'delete' ) + return; + + if ( !is_admin() ) + return; + + if ( !current_user_can( 'edit_post', $comment->comment_post_ID ) && !current_user_can( 'moderate_comments' ) ) + return; + + if ( defined('WP_IMPORTING') && WP_IMPORTING == true ) + return; + + // if this is present, it means the status has been changed by a re-check, not an explicit user action + if ( get_comment_meta( $comment->comment_ID, 'akismet_rechecking' ) ) + return; + + global $current_user; + $reporter = ''; + if ( is_object( $current_user ) ) + $reporter = $current_user->user_login; + + // Assumption alert: + // We want to submit comments to Akismet only when a moderator explicitly spams or approves it - not if the status + // is changed automatically by another plugin. Unfortunately WordPress doesn't provide an unambiguous way to + // determine why the transition_comment_status action was triggered. And there are several different ways by which + // to spam and unspam comments: bulk actions, ajax, links in moderation emails, the dashboard, and perhaps others. + // We'll assume that this is an explicit user action if POST or GET has an 'action' key. + if ( isset($_POST['action']) || isset($_GET['action']) ) { + if ( $new_status == 'spam' && ( $old_status == 'approved' || $old_status == 'unapproved' || !$old_status ) ) { + return akismet_submit_spam_comment( $comment->comment_ID ); + } elseif ( $old_status == 'spam' && ( $new_status == 'approved' || $new_status == 'unapproved' ) ) { + return akismet_submit_nonspam_comment( $comment->comment_ID ); + } + } + + akismet_update_comment_history( $comment->comment_ID, sprintf( __('%s changed the comment status to %s'), $reporter, $new_status ), 'status-' . $new_status ); +} + +add_action( 'transition_comment_status', 'akismet_transition_comment_status', 10, 3 ); + +// Total spam in queue +// get_option( 'akismet_spam_count' ) is the total caught ever +function akismet_spam_count( $type = false ) { + global $wpdb; + + if ( !$type ) { // total + $count = wp_cache_get( 'akismet_spam_count', 'widget' ); + if ( false === $count ) { + if ( function_exists('wp_count_comments') ) { + $count = wp_count_comments(); + $count = $count->spam; + } else { + $count = (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 'spam'"); + } + wp_cache_set( 'akismet_spam_count', $count, 'widget', 3600 ); + } + return $count; + } elseif ( 'comments' == $type || 'comment' == $type ) { // comments + $type = ''; + } else { // pingback, trackback, ... + $type = $wpdb->escape( $type ); + } + + return (int) $wpdb->get_var("SELECT COUNT(comment_ID) FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_type='$type'"); +} + + +function akismet_recheck_queue() { + global $wpdb, $akismet_api_host, $akismet_api_port; + + akismet_fix_scheduled_recheck(); + + if ( ! ( isset( $_GET['recheckqueue'] ) || ( isset( $_REQUEST['action'] ) && 'akismet_recheck_queue' == $_REQUEST['action'] ) ) ) + return; + + $paginate = ''; + if ( isset( $_POST['limit'] ) && isset( $_POST['offset'] ) ) { + $paginate = $wpdb->prepare( " LIMIT %d OFFSET %d", array( $_POST['limit'], $_POST['offset'] ) ); + } + $moderation = $wpdb->get_results( "SELECT * FROM {$wpdb->comments} WHERE comment_approved = '0'{$paginate}", ARRAY_A ); + foreach ( (array) $moderation as $c ) { + $c['user_ip'] = $c['comment_author_IP']; + $c['user_agent'] = $c['comment_agent']; + $c['referrer'] = ''; + $c['blog'] = get_bloginfo('url'); + $c['blog_lang'] = get_locale(); + $c['blog_charset'] = get_option('blog_charset'); + $c['permalink'] = get_permalink($c['comment_post_ID']); + + $c['user_role'] = ''; + if ( isset( $c['user_ID'] ) ) + $c['user_role'] = akismet_get_user_roles($c['user_ID']); + + if ( akismet_test_mode() ) + $c['is_test'] = 'true'; + + $id = (int) $c['comment_ID']; + + $query_string = ''; + foreach ( $c as $key => $data ) + $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&'; + + add_comment_meta( $c['comment_ID'], 'akismet_rechecking', true ); + $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port); + if ( 'true' == $response[1] ) { + wp_set_comment_status($c['comment_ID'], 'spam'); + update_comment_meta( $c['comment_ID'], 'akismet_result', 'true' ); + delete_comment_meta( $c['comment_ID'], 'akismet_error' ); + akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and caught this comment as spam'), 'check-spam' ); + + } elseif ( 'false' == $response[1] ) { + update_comment_meta( $c['comment_ID'], 'akismet_result', 'false' ); + delete_comment_meta( $c['comment_ID'], 'akismet_error' ); + akismet_update_comment_history( $c['comment_ID'], __('Akismet re-checked and cleared this comment'), 'check-ham' ); + // abnormal result: error + } else { + update_comment_meta( $c['comment_ID'], 'akismet_result', 'error' ); + akismet_update_comment_history( $c['comment_ID'], sprintf( __('Akismet was unable to re-check this comment (response: %s)'), substr($response[1], 0, 50)), 'check-error' ); + } + + delete_comment_meta( $c['comment_ID'], 'akismet_rechecking' ); + } + if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) { + wp_send_json( array( + 'processed' => count((array) $moderation), + )); + } + else { + $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : admin_url( 'edit-comments.php' ); + wp_safe_redirect( $redirect_to ); + exit; + } +} + +add_action('admin_action_akismet_recheck_queue', 'akismet_recheck_queue'); +add_action('wp_ajax_akismet_recheck_queue', 'akismet_recheck_queue'); + +// Adds an 'x' link next to author URLs, clicking will remove the author URL and show an undo link +function akismet_remove_comment_author_url() { + if ( !empty($_POST['id'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) { + global $wpdb; + $comment = get_comment( intval($_POST['id']), ARRAY_A ); + if (current_user_can('edit_comment', $comment['comment_ID'])) { + $comment['comment_author_url'] = ''; + do_action( 'comment_remove_author_url' ); + print(wp_update_comment( $comment )); + die(); + } + } +} + +add_action('wp_ajax_comment_author_deurl', 'akismet_remove_comment_author_url'); + +function akismet_add_comment_author_url() { + if ( !empty( $_POST['id'] ) && !empty( $_POST['url'] ) && check_admin_referer( 'comment_author_url_nonce' ) ) { + global $wpdb; + $comment = get_comment( intval($_POST['id']), ARRAY_A ); + if (current_user_can('edit_comment', $comment['comment_ID'])) { + $comment['comment_author_url'] = esc_url($_POST['url']); + do_action( 'comment_add_author_url' ); + print(wp_update_comment( $comment )); + die(); + } + } +} + +add_action('wp_ajax_comment_author_reurl', 'akismet_add_comment_author_url'); + +// Check connectivity between the WordPress blog and Akismet's servers. +// Returns an associative array of server IP addresses, where the key is the IP address, and value is true (available) or false (unable to connect). +function akismet_check_server_connectivity() { + global $akismet_api_host, $akismet_api_port, $wpcom_api_key; + + $test_host = 'rest.akismet.com'; + + // Some web hosts may disable one or both functions + if ( !function_exists('fsockopen') || !function_exists('gethostbynamel') ) + return array(); + + $ips = gethostbynamel($test_host); + if ( !$ips || !is_array($ips) || !count($ips) ) + return array(); + + $servers = array(); + foreach ( $ips as $ip ) { + $response = akismet_verify_key( akismet_get_key(), $ip ); + // even if the key is invalid, at least we know we have connectivity + if ( $response == 'valid' || $response == 'invalid' ) + $servers[$ip] = true; + else + $servers[$ip] = false; + } + + return $servers; +} + +// Check the server connectivity and store the results in an option. +// Cached results will be used if not older than the specified timeout in seconds; use $cache_timeout = 0 to force an update. +// Returns the same associative array as akismet_check_server_connectivity() +function akismet_get_server_connectivity( $cache_timeout = 86400 ) { + $servers = get_option('akismet_available_servers'); + if ( (time() - get_option('akismet_connectivity_time') < $cache_timeout) && $servers !== false ) + return $servers; + + // There's a race condition here but the effect is harmless. + $servers = akismet_check_server_connectivity(); + update_option('akismet_available_servers', $servers); + update_option('akismet_connectivity_time', time()); + return $servers; +} + +// Returns true if server connectivity was OK at the last check, false if there was a problem that needs to be fixed. +function akismet_server_connectivity_ok() { + // skip the check on WPMU because the status page is hidden + global $wpcom_api_key; + if ( $wpcom_api_key ) + return true; + $servers = akismet_get_server_connectivity(); + return !( empty($servers) || !count($servers) || count( array_filter($servers) ) < count($servers) ); +} + +function akismet_admin_menu() { + if ( class_exists( 'Jetpack' ) ) { + add_action( 'jetpack_admin_menu', 'akismet_load_menu' ); + } else { + akismet_load_menu(); + } +} + +function akismet_load_menu() { + if ( class_exists( 'Jetpack' ) ) { + add_submenu_page( 'jetpack', __( 'Akismet' ), __( 'Akismet' ), 'manage_options', 'akismet-key-config', 'akismet_conf' ); + add_submenu_page( 'jetpack', __( 'Akismet Stats' ), __( 'Akismet Stats' ), 'manage_options', 'akismet-stats-display', 'akismet_stats_display' ); + } else { + add_submenu_page('plugins.php', __('Akismet'), __('Akismet'), 'manage_options', 'akismet-key-config', 'akismet_conf'); + add_submenu_page('index.php', __('Akismet Stats'), __('Akismet Stats'), 'manage_options', 'akismet-stats-display', 'akismet_stats_display'); + } +} diff --git a/wp-content/plugins/akismet/akismet.css b/wp-content/plugins/akismet/akismet.css new file mode 100644 index 0000000..5126449 --- /dev/null +++ b/wp-content/plugins/akismet/akismet.css @@ -0,0 +1 @@ +#submitted-on{position:relative}#the-comment-list .author .akismet-user-comment-count{display:inline}#the-comment-list .author a span{text-decoration:none;color:#999}#the-comment-list .remove_url{margin-left:3px;color:#999;padding:2px 3px 2px 0}#the-comment-list .remove_url:hover{color:#A7301F;font-weight:bold;padding:2px 2px 2px 0}#dashboard_recent_comments .akismet-status{display:none}.akismet-status{float:right}.akismet-status a{color:#AAA;font-style:italic}span.comment-link a{text-decoration:underline}span.comment-link:after{content:" "attr(title) " ";color:#aaa;text-decoration:none}.mshot-arrow{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #5C5C5C;position:absolute;left:-6px;top:91px}.mshot-container{background:#5C5C5C;position:absolute;top:-94px;padding:7px;width:450px;height:338px;z-index:20000;-moz-border-radius:6px;border-radius:6px;-webkit-border-radius:6px}h2.ak-header{padding-left:38px;background:url('img/logo.png') no-repeat 0 9px;margin-bottom:14px;line-height:32px}.key-status{padding:0.4em 1em;color:#fff;font-weight:bold;text-align:center;-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;max-width:23.3em}input#key{width:25.3em !important}input#key.valid{border-color:#4F800D}input#key.invalid,input#key.failed{border-color:#888}.key-status.under-input{margin-top:-5px;padding-bottom:0px}.key-status.invalid,.key-status.failed{background-color:#888}.key-status.valid{background-color:#4F800D}.key-status.some{background-color:#993300}.key-status.empty{display:none}table.network-status th,table.network-status td{padding:0.4em;margin:0;text-align:center}table.network-status{border-color:#dfdfdf;border-width:0 0 1px 1px;border-style:solid;border-spacing:0;width:25.6em}table.network-status th,table.network-status td{border-color:#dfdfdf;border-width:1px 1px 0 0;border-style:solid;margin:0;border-spacing:0}table.network-status td.key-status{border-radius:0px;-webkit-border-radius:0px}.checkforspam{display:inline-block !important;}.checkforspam-spinner{display:none;margin-top:10px;} \ No newline at end of file diff --git a/wp-content/plugins/akismet/akismet.gif b/wp-content/plugins/akismet/akismet.gif new file mode 100644 index 0000000..0b93a89 Binary files /dev/null and b/wp-content/plugins/akismet/akismet.gif differ diff --git a/wp-content/plugins/akismet/akismet.js b/wp-content/plugins/akismet/akismet.js new file mode 100644 index 0000000..2db61eb --- /dev/null +++ b/wp-content/plugins/akismet/akismet.js @@ -0,0 +1,159 @@ +jQuery( function ( $ ) { + $( '.switch-have-key' ).click( function() { + var no_key = $( this ).parents().find('div.no-key'); + var have_key = $( this ).parents().find('div.have-key'); + + no_key.addClass( 'hidden' ); + have_key.removeClass( 'hidden' ); + + return false; + }); + $( 'p.need-key a' ).click( function(){ + document.akismet_activate.submit(); + }); + $('.akismet-status').each(function () { + var thisId = $(this).attr('commentid'); + $(this).prependTo('#comment-' + thisId + ' .column-comment div:first-child'); + }); + $('.akismet-user-comment-count').each(function () { + var thisId = $(this).attr('commentid'); + $(this).insertAfter('#comment-' + thisId + ' .author strong:first').show(); + }); + $('#the-comment-list').find('tr.comment, tr[id ^= "comment-"]').find('.column-author a[title ^= "http://"]').each(function () { + var thisTitle = $(this).attr('title'); + thisCommentId = $(this).parents('tr:first').attr('id').split("-"); + + $(this).attr("id", "author_comment_url_"+ thisCommentId[1]); + + if (thisTitle) { + $(this).after( + $( 'x' ) + .attr( 'commentid', thisCommentId[1] ) + .attr( 'title', WPAkismet.strings['Remove this URL'] ) + ); + } + }); + $('.remove_url').live('click', function () { + var thisId = $(this).attr('commentid'); + var data = { + action: 'comment_author_deurl', + _wpnonce: WPAkismet.comment_author_url_nonce, + id: thisId + }; + $.ajax({ + url: ajaxurl, + type: 'POST', + data: data, + beforeSend: function () { + // Removes "x" link + $("a[commentid='"+ thisId +"']").hide(); + // Show temp status + $("#author_comment_url_"+ thisId).html( $( '' ).text( WPAkismet.strings['Removing...'] ) ); + }, + success: function (response) { + if (response) { + // Show status/undo link + $("#author_comment_url_"+ thisId) + .attr('cid', thisId) + .addClass('akismet_undo_link_removal') + .html( + $( '' ).text( WPAkismet.strings['URL removed'] ) + ) + .append( ' ' ) + .append( + $( '' ) + .text( WPAkismet.strings['(undo)'] ) + .addClass( 'akismet-span-link' ) + ); + } + } + }); + + return false; + }); + $('.akismet_undo_link_removal').live('click', function () { + var thisId = $(this).attr('cid'); + var thisUrl = $(this).attr('href').replace("http://www.", "").replace("http://", ""); + var data = { + action: 'comment_author_reurl', + _wpnonce: WPAkismet.comment_author_url_nonce, + id: thisId, + url: thisUrl + }; + $.ajax({ + url: ajaxurl, + type: 'POST', + data: data, + beforeSend: function () { + // Show temp status + $("#author_comment_url_"+ thisId).html( $( '' ).text( WPAkismet.strings['Re-adding...'] ) ); + }, + success: function (response) { + if (response) { + // Add "x" link + $("a[commentid='"+ thisId +"']").show(); + // Show link + $("#author_comment_url_"+ thisId).removeClass('akismet_undo_link_removal').html(thisUrl); + } + } + }); + + return false; + }); + $('a[id^="author_comment_url"], tr.pingback td.column-author a:first-of-type').mouseover(function () { + var wpcomProtocol = ( 'https:' === location.protocol ) ? 'https://' : 'http://'; + // Need to determine size of author column + var thisParentWidth = $(this).parent().width(); + // It changes based on if there is a gravatar present + thisParentWidth = ($(this).parent().find('.grav-hijack').length) ? thisParentWidth - 42 + 'px' : thisParentWidth + 'px'; + if ($(this).find('.mShot').length == 0 && !$(this).hasClass('akismet_undo_link_removal')) { + var self = $( this ); + $('.widefat td').css('overflow', 'visible'); + $(this).css('position', 'relative'); + var thisHref = $.URLEncode( $(this).attr('href') ); + $(this).append('
    '); + setTimeout(function () { + self.find( '.mshot-image' ).attr('src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=2'); + }, 6000); + setTimeout(function () { + self.find( '.mshot-image' ).attr('src', '//s0.wordpress.com/mshots/v1/'+thisHref+'?w=450&r=3'); + }, 12000); + } else { + $(this).find('.mShot').css('left', thisParentWidth).show(); + } + }).mouseout(function () { + $(this).find('.mShot').hide(); + }); + $('.checkforspam:not(.button-disabled)').click( function(e) { + $('.checkforspam:not(.button-disabled)').addClass('button-disabled'); + $('.checkforspam-spinner').show(); + akismet_check_for_spam(0, 100); + e.preventDefault(); + }); + + function akismet_check_for_spam(offset, limit) { + $.post( + ajaxurl, + { + 'action': 'akismet_recheck_queue', + 'offset': offset, + 'limit': limit + }, + function(result) { + if (result.processed < limit) { + window.location.reload(); + } + else { + akismet_check_for_spam(offset + limit, limit); + } + } + ); + } +}); +// URL encode plugin +jQuery.extend({URLEncode:function(c){var o='';var x=0;c=c.toString();var r=/(^[a-zA-Z0-9_.]*)/; + while(x1 && m[1]!=''){o+=m[1];x+=m[1].length; + }else{if(c[x]==' ')o+='+';else{var d=c.charCodeAt(x);var h=d.toString(16); + o+='%'+(h.length<2?'0':'')+h.toUpperCase();}x++;}}return o;} +}); diff --git a/wp-content/plugins/akismet/akismet.php b/wp-content/plugins/akismet/akismet.php new file mode 100644 index 0000000..4fff8bb --- /dev/null +++ b/wp-content/plugins/akismet/akismet.php @@ -0,0 +1,700 @@ +protect your blog from comment and trackback spam. It keeps your site protected from spam even while you sleep. To get started: 1) Click the "Activate" link to the left of this description, 2) Sign up for an Akismet API key, and 3) Go to your Akismet configuration page, and save your API key. +Version: 2.6.0 +Author: Automattic +Author URI: http://automattic.com/wordpress-plugins/ +License: GPLv2 or later +*/ + +/* +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. +*/ + +// Make sure we don't expose any info if called directly +if ( !function_exists( 'add_action' ) ) { + echo 'Hi there! I\'m just a plugin, not much I can do when called directly.'; + exit; +} + +define('AKISMET_VERSION', '2.6.0'); +define('AKISMET_PLUGIN_URL', plugin_dir_url( __FILE__ )); +define('AKISMET_DELETE_LIMIT', 10000); + +/** If you hardcode a WP.com API key here, all key config screens will be hidden */ +if ( defined('WPCOM_API_KEY') ) + $wpcom_api_key = constant('WPCOM_API_KEY'); +else + $wpcom_api_key = ''; + +if ( isset($wp_db_version) && $wp_db_version <= 9872 ) + include_once dirname( __FILE__ ) . '/legacy.php'; + +include_once dirname( __FILE__ ) . '/widget.php'; + +if ( is_admin() ) + require_once dirname( __FILE__ ) . '/admin.php'; + +function akismet_init() { + global $wpcom_api_key, $akismet_api_host, $akismet_api_port; + + if ( $wpcom_api_key ) + $akismet_api_host = $wpcom_api_key . '.rest.akismet.com'; + else + $akismet_api_host = get_option('wordpress_api_key') . '.rest.akismet.com'; + + $akismet_api_port = 80; +} +add_action('init', 'akismet_init'); + +function akismet_get_key() { + global $wpcom_api_key; + if ( !empty($wpcom_api_key) ) + return $wpcom_api_key; + return get_option('wordpress_api_key'); +} + +function akismet_check_key_status( $key, $ip = null ) { + global $akismet_api_host, $akismet_api_port, $wpcom_api_key; + $blog = urlencode( get_option('home') ); + if ( $wpcom_api_key ) + $key = $wpcom_api_key; + $response = akismet_http_post("key=$key&blog=$blog", 'rest.akismet.com', '/1.1/verify-key', $akismet_api_port, $ip); + return $response; +} + +// given a response from an API call like akismet_check_key_status(), update the alert code options if an alert is present. +function akismet_update_alert( $response ) { + $code = $msg = null; + if ( isset($response[0]['x-akismet-alert-code']) ) { + $code = $response[0]['x-akismet-alert-code']; + $msg = $response[0]['x-akismet-alert-msg']; + } + + // only call update_option() if the value has changed + if ( $code != get_option( 'akismet_alert_code' ) ) { + update_option( 'akismet_alert_code', $code ); + update_option( 'akismet_alert_msg', $msg ); + } +} + +function akismet_verify_key( $key, $ip = null ) { + $response = akismet_check_key_status( $key, $ip ); + akismet_update_alert( $response ); + if ( !is_array($response) || !isset($response[1]) || $response[1] != 'valid' && $response[1] != 'invalid' ) + return 'failed'; + return $response[1]; +} + +// if we're in debug or test modes, use a reduced service level so as not to polute training or stats data +function akismet_test_mode() { + if ( defined('AKISMET_TEST_MODE') && AKISMET_TEST_MODE ) + return true; + return false; +} + +// return a comma-separated list of role names for the given user +function akismet_get_user_roles( $user_id ) { + $roles = false; + + if ( !class_exists('WP_User') ) + return false; + + if ( $user_id > 0 ) { + $comment_user = new WP_User($user_id); + if ( isset($comment_user->roles) ) + $roles = join(',', $comment_user->roles); + } + + if ( is_multisite() && is_super_admin( $user_id ) ) { + if ( empty( $roles ) ) { + $roles = 'super_admin'; + } else { + $comment_user->roles[] = 'super_admin'; + $roles = join( ',', $comment_user->roles ); + } + } + + return $roles; +} + +// Returns array with headers in $response[0] and body in $response[1] +function akismet_http_post($request, $host, $path, $port = 80, $ip=null) { + global $wp_version; + + $akismet_ua = "WordPress/{$wp_version} | "; + $akismet_ua .= 'Akismet/' . constant( 'AKISMET_VERSION' ); + + $akismet_ua = apply_filters( 'akismet_ua', $akismet_ua ); + + $content_length = strlen( $request ); + + $http_host = $host; + // use a specific IP if provided + // needed by akismet_check_server_connectivity() + if ( $ip && long2ip( ip2long( $ip ) ) ) { + $http_host = $ip; + } else { + $http_host = $host; + } + + // use the WP HTTP class if it is available + if ( function_exists( 'wp_remote_post' ) ) { + $http_args = array( + 'body' => $request, + 'headers' => array( + 'Content-Type' => 'application/x-www-form-urlencoded; ' . + 'charset=' . get_option( 'blog_charset' ), + 'Host' => $host, + 'User-Agent' => $akismet_ua + ), + 'httpversion' => '1.0', + 'timeout' => 15 + ); + $akismet_url = "http://{$http_host}{$path}"; + $response = wp_remote_post( $akismet_url, $http_args ); + if ( is_wp_error( $response ) ) + return ''; + + return array( $response['headers'], $response['body'] ); + } else { + $http_request = "POST $path HTTP/1.0\r\n"; + $http_request .= "Host: $host\r\n"; + $http_request .= 'Content-Type: application/x-www-form-urlencoded; charset=' . get_option('blog_charset') . "\r\n"; + $http_request .= "Content-Length: {$content_length}\r\n"; + $http_request .= "User-Agent: {$akismet_ua}\r\n"; + $http_request .= "\r\n"; + $http_request .= $request; + + $response = ''; + if( false != ( $fs = @fsockopen( $http_host, $port, $errno, $errstr, 10 ) ) ) { + fwrite( $fs, $http_request ); + + while ( !feof( $fs ) ) + $response .= fgets( $fs, 1160 ); // One TCP-IP packet + fclose( $fs ); + $response = explode( "\r\n\r\n", $response, 2 ); + } + return $response; + } +} + +// filter handler used to return a spam result to pre_comment_approved +function akismet_result_spam( $approved ) { + static $just_once = false; + if ( $just_once ) + return $approved; + + // bump the counter here instead of when the filter is added to reduce the possibility of overcounting + if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) + update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); + + // this is a one-shot deal + $just_once = true; + return 'spam'; +} + +function akismet_result_hold( $approved ) { + static $just_once = false; + if ( $just_once ) + return $approved; + + // once only + $just_once = true; + return '0'; +} + +// how many approved comments does this author have? +function akismet_get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) { + global $wpdb; + + if ( !empty($user_id) ) + return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->comments WHERE user_id = %d AND comment_approved = 1", $user_id ) ); + + if ( !empty($comment_author_email) ) + return $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_author_email = %s AND comment_author = %s AND comment_author_url = %s AND comment_approved = 1", $comment_author_email, $comment_author, $comment_author_url ) ); + + return 0; +} + +function akismet_microtime() { + $mtime = explode( ' ', microtime() ); + return $mtime[1] + $mtime[0]; +} + +// log an event for a given comment, storing it in comment_meta +function akismet_update_comment_history( $comment_id, $message, $event=null ) { + global $current_user; + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return false; + + $user = ''; + if ( is_object($current_user) && isset($current_user->user_login) ) + $user = $current_user->user_login; + + $event = array( + 'time' => akismet_microtime(), + 'message' => $message, + 'event' => $event, + 'user' => $user, + ); + + // $unique = false so as to allow multiple values per comment + $r = add_comment_meta( $comment_id, 'akismet_history', $event, false ); +} + +// get the full comment history for a given comment, as an array in reverse chronological order +function akismet_get_comment_history( $comment_id ) { + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return false; + + $history = get_comment_meta( $comment_id, 'akismet_history', false ); + usort( $history, 'akismet_cmp_time' ); + return $history; +} + +function akismet_cmp_time( $a, $b ) { + return $a['time'] > $b['time'] ? -1 : 1; +} + +// this fires on wp_insert_comment. we can't update comment_meta when akismet_auto_check_comment() runs +// because we don't know the comment ID at that point. +function akismet_auto_check_update_meta( $id, $comment ) { + global $akismet_last_comment; + + // failsafe for old WP versions + if ( !function_exists('add_comment_meta') ) + return false; + + if ( !isset( $akismet_last_comment['comment_author_email'] ) ) + $akismet_last_comment['comment_author_email'] = ''; + + // wp_insert_comment() might be called in other contexts, so make sure this is the same comment + // as was checked by akismet_auto_check_comment + if ( is_object($comment) && !empty($akismet_last_comment) && is_array($akismet_last_comment) ) { + if ( isset($akismet_last_comment['comment_post_ID']) && intval($akismet_last_comment['comment_post_ID']) == intval($comment->comment_post_ID) + && $akismet_last_comment['comment_author'] == $comment->comment_author + && $akismet_last_comment['comment_author_email'] == $comment->comment_author_email ) { + // normal result: true or false + if ( $akismet_last_comment['akismet_result'] == 'true' ) { + update_comment_meta( $comment->comment_ID, 'akismet_result', 'true' ); + akismet_update_comment_history( $comment->comment_ID, __('Akismet caught this comment as spam'), 'check-spam' ); + if ( $comment->comment_approved != 'spam' ) + akismet_update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s'), $comment->comment_approved), 'status-changed'.$comment->comment_approved ); + } elseif ( $akismet_last_comment['akismet_result'] == 'false' ) { + update_comment_meta( $comment->comment_ID, 'akismet_result', 'false' ); + akismet_update_comment_history( $comment->comment_ID, __('Akismet cleared this comment'), 'check-ham' ); + if ( $comment->comment_approved == 'spam' ) { + if ( wp_blacklist_check($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent) ) + akismet_update_comment_history( $comment->comment_ID, __('Comment was caught by wp_blacklist_check'), 'wp-blacklisted' ); + else + akismet_update_comment_history( $comment->comment_ID, sprintf( __('Comment status was changed to %s'), $comment->comment_approved), 'status-changed-'.$comment->comment_approved ); + } + // abnormal result: error + } else { + update_comment_meta( $comment->comment_ID, 'akismet_error', time() ); + akismet_update_comment_history( $comment->comment_ID, sprintf( __('Akismet was unable to check this comment (response: %s), will automatically retry again later.'), substr($akismet_last_comment['akismet_result'], 0, 50)), 'check-error' ); + } + + // record the complete original data as submitted for checking + if ( isset($akismet_last_comment['comment_as_submitted']) ) + update_comment_meta( $comment->comment_ID, 'akismet_as_submitted', $akismet_last_comment['comment_as_submitted'] ); + } + } +} + +add_action( 'wp_insert_comment', 'akismet_auto_check_update_meta', 10, 2 ); + + +function akismet_auto_check_comment( $commentdata ) { + global $akismet_api_host, $akismet_api_port, $akismet_last_comment; + + $comment = $commentdata; + $comment['user_ip'] = akismet_get_ip_address(); + $comment['user_agent'] = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null; + $comment['referrer'] = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null; + $comment['blog'] = get_option('home'); + $comment['blog_lang'] = get_locale(); + $comment['blog_charset'] = get_option('blog_charset'); + $comment['permalink'] = get_permalink($comment['comment_post_ID']); + + if ( !empty( $comment['user_ID'] ) ) { + $comment['user_role'] = akismet_get_user_roles( $comment['user_ID'] ); + } + + $akismet_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) ); + $comment['akismet_comment_nonce'] = 'inactive'; + if ( $akismet_nonce_option == 'true' || $akismet_nonce_option == '' ) { + $comment['akismet_comment_nonce'] = 'failed'; + if ( isset( $_POST['akismet_comment_nonce'] ) && wp_verify_nonce( $_POST['akismet_comment_nonce'], 'akismet_comment_nonce_' . $comment['comment_post_ID'] ) ) + $comment['akismet_comment_nonce'] = 'passed'; + + // comment reply in wp-admin + if ( isset( $_POST['_ajax_nonce-replyto-comment'] ) && check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ) ) + $comment['akismet_comment_nonce'] = 'passed'; + + } + + if ( akismet_test_mode() ) + $comment['is_test'] = 'true'; + + foreach ($_POST as $key => $value ) { + if ( is_string($value) ) + $comment["POST_{$key}"] = $value; + } + + $ignore = array( 'HTTP_COOKIE', 'HTTP_COOKIE2', 'PHP_AUTH_PW' ); + + foreach ( $_SERVER as $key => $value ) { + if ( !in_array( $key, $ignore ) && is_string($value) ) + $comment["$key"] = $value; + else + $comment["$key"] = ''; + } + + $post = get_post( $comment['comment_post_ID'] ); + $comment[ 'comment_post_modified_gmt' ] = $post->post_modified_gmt; + + $query_string = ''; + foreach ( $comment as $key => $data ) + $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&'; + + $commentdata['comment_as_submitted'] = $comment; + + $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port); + do_action( 'akismet_comment_check_response', $response ); + akismet_update_alert( $response ); + $commentdata['akismet_result'] = $response[1]; + if ( 'true' == $response[1] ) { + // akismet_spam_count will be incremented later by akismet_result_spam() + add_filter('pre_comment_approved', 'akismet_result_spam'); + + do_action( 'akismet_spam_caught' ); + + $last_updated = strtotime( $post->post_modified_gmt ); + $diff = time() - $last_updated; + $diff = $diff / 86400; + + if ( $post->post_type == 'post' && $diff > 30 && get_option( 'akismet_discard_month' ) == 'true' && empty($comment['user_ID']) ) { + // akismet_result_spam() won't be called so bump the counter here + if ( $incr = apply_filters('akismet_spam_count_incr', 1) ) + update_option( 'akismet_spam_count', get_option('akismet_spam_count') + $incr ); + $redirect_to = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : get_permalink( $post ); + wp_safe_redirect( $redirect_to ); + die(); + } + } + + // if the response is neither true nor false, hold the comment for moderation and schedule a recheck + if ( 'true' != $response[1] && 'false' != $response[1] ) { + if ( !current_user_can('moderate_comments') ) { + add_filter('pre_comment_approved', 'akismet_result_hold'); + } + if ( !wp_next_scheduled( 'akismet_schedule_cron_recheck' ) ) { + wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' ); + } + } + + if ( function_exists('wp_next_scheduled') && function_exists('wp_schedule_event') ) { + // WP 2.1+: delete old comments daily + if ( !wp_next_scheduled('akismet_scheduled_delete') ) + wp_schedule_event(time(), 'daily', 'akismet_scheduled_delete'); + } elseif ( (mt_rand(1, 10) == 3) ) { + // WP 2.0: run this one time in ten + akismet_delete_old(); + } + $akismet_last_comment = $commentdata; + + akismet_fix_scheduled_recheck(); + return $commentdata; +} + +add_action('preprocess_comment', 'akismet_auto_check_comment', 1); + +function akismet_get_ip_address() { + foreach( array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR' ) as $key ) { + if ( array_key_exists( $key, $_SERVER ) === true ) { + foreach ( explode( ',', $_SERVER[$key] ) as $ip ) { + $ip = trim($ip); + + if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false ) { + return $ip; + } + } + } + } + return null; +} + +function akismet_delete_old() { + global $wpdb; + + while( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT comment_id FROM {$wpdb->comments} WHERE DATE_SUB(NOW(), INTERVAL 15 DAY) > comment_date_gmt AND comment_approved = 'spam' LIMIT %d", defined( 'AKISMET_DELETE_LIMIT' ) ? AKISMET_DELETE_LIMIT : 10000 ) ) ) { + if ( empty( $comment_ids ) ) + return; + + $wpdb->queries = array(); + + do_action( 'delete_comment', $comment_ids ); + + $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) ); + + $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )"); + $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )"); + + clean_comment_cache( $comment_ids ); + } + + if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11) ) ) // lucky number + $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}"); +} + +function akismet_delete_old_metadata() { + global $wpdb; + + $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 ); + + # enfore a minimum of 1 day + $interval = absint( $interval ); + if ( $interval < 1 ) + $interval = 1; + + // akismet_as_submitted meta values are large, so expire them + // after $interval days regardless of the comment status + while ( $comment_ids = $wpdb->get_col( $wpdb->prepare( "SELECT m.comment_id FROM {$wpdb->commentmeta} as m INNER JOIN {$wpdb->comments} as c USING(comment_id) WHERE m.meta_key = 'akismet_as_submitted' AND DATE_SUB(NOW(), INTERVAL %d DAY) > c.comment_date_gmt LIMIT 10000", $interval ) ) ) { + if ( empty( $comment_ids ) ) + return; + + $wpdb->queries = array(); + + foreach ( $comment_ids as $comment_id ) { + delete_comment_meta( $comment_id, 'akismet_as_submitted' ); + } + } + + if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11) ) ) // lucky number + $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}"); +} + +add_action('akismet_scheduled_delete', 'akismet_delete_old'); +add_action('akismet_scheduled_delete', 'akismet_delete_old_metadata'); + +function akismet_check_db_comment( $id, $recheck_reason = 'recheck_queue' ) { + global $wpdb, $akismet_api_host, $akismet_api_port; + + $id = (int) $id; + $c = $wpdb->get_row( "SELECT * FROM $wpdb->comments WHERE comment_ID = '$id'", ARRAY_A ); + if ( !$c ) + return; + + $c['user_ip'] = $c['comment_author_IP']; + $c['user_agent'] = $c['comment_agent']; + $c['referrer'] = ''; + $c['blog'] = get_option('home'); + $c['blog_lang'] = get_locale(); + $c['blog_charset'] = get_option('blog_charset'); + $c['permalink'] = get_permalink($c['comment_post_ID']); + $id = $c['comment_ID']; + if ( akismet_test_mode() ) + $c['is_test'] = 'true'; + $c['recheck_reason'] = $recheck_reason; + + $query_string = ''; + foreach ( $c as $key => $data ) + $query_string .= $key . '=' . urlencode( stripslashes($data) ) . '&'; + + $response = akismet_http_post($query_string, $akismet_api_host, '/1.1/comment-check', $akismet_api_port); + return ( is_array( $response ) && isset( $response[1] ) ) ? $response[1] : false; +} + +function akismet_cron_recheck() { + global $wpdb; + + $status = akismet_verify_key( akismet_get_key() ); + if ( get_option( 'akismet_alert_code' ) || $status == 'invalid' ) { + // since there is currently a problem with the key, reschedule a check for 6 hours hence + wp_schedule_single_event( time() + 21600, 'akismet_schedule_cron_recheck' ); + return false; + } + + delete_option('akismet_available_servers'); + + $comment_errors = $wpdb->get_col( " + SELECT comment_id + FROM {$wpdb->prefix}commentmeta + WHERE meta_key = 'akismet_error' + LIMIT 100 + " ); + + foreach ( (array) $comment_errors as $comment_id ) { + // if the comment no longer exists, or is too old, remove the meta entry from the queue to avoid getting stuck + $comment = get_comment( $comment_id ); + if ( !$comment || strtotime( $comment->comment_date_gmt ) < strtotime( "-15 days" ) ) { + delete_comment_meta( $comment_id, 'akismet_error' ); + continue; + } + + add_comment_meta( $comment_id, 'akismet_rechecking', true ); + $status = akismet_check_db_comment( $comment_id, 'retry' ); + + $msg = ''; + if ( $status == 'true' ) { + $msg = __( 'Akismet caught this comment as spam during an automatic retry.' ); + } elseif ( $status == 'false' ) { + $msg = __( 'Akismet cleared this comment during an automatic retry.' ); + } + + // If we got back a legit response then update the comment history + // other wise just bail now and try again later. No point in + // re-trying all the comments once we hit one failure. + if ( !empty( $msg ) ) { + delete_comment_meta( $comment_id, 'akismet_error' ); + akismet_update_comment_history( $comment_id, $msg, 'cron-retry' ); + update_comment_meta( $comment_id, 'akismet_result', $status ); + // make sure the comment status is still pending. if it isn't, that means the user has already moved it elsewhere. + $comment = get_comment( $comment_id ); + if ( $comment && 'unapproved' == wp_get_comment_status( $comment_id ) ) { + if ( $status == 'true' ) { + wp_spam_comment( $comment_id ); + } elseif ( $status == 'false' ) { + // comment is good, but it's still in the pending queue. depending on the moderation settings + // we may need to change it to approved. + if ( check_comment($comment->comment_author, $comment->comment_author_email, $comment->comment_author_url, $comment->comment_content, $comment->comment_author_IP, $comment->comment_agent, $comment->comment_type) ) + wp_set_comment_status( $comment_id, 1 ); + } + } + } else { + delete_comment_meta( $comment_id, 'akismet_rechecking' ); + wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' ); + return; + } + delete_comment_meta( $comment_id, 'akismet_rechecking' ); + } + + $remaining = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->commentmeta WHERE meta_key = 'akismet_error'" ); + if ( $remaining && !wp_next_scheduled('akismet_schedule_cron_recheck') ) { + wp_schedule_single_event( time() + 1200, 'akismet_schedule_cron_recheck' ); + } +} +add_action( 'akismet_schedule_cron_recheck', 'akismet_cron_recheck' ); + +function akismet_add_comment_nonce( $post_id ) { + echo '

    '; + wp_nonce_field( 'akismet_comment_nonce_' . $post_id, 'akismet_comment_nonce', FALSE ); + echo '

    '; +} + +$akismet_comment_nonce_option = apply_filters( 'akismet_comment_nonce', get_option( 'akismet_comment_nonce' ) ); + +if ( $akismet_comment_nonce_option == 'true' || $akismet_comment_nonce_option == '' ) + add_action( 'comment_form', 'akismet_add_comment_nonce' ); + +function akismet_pingback_forwarded_for( $r, $url ) { + static $urls = array(); + + // Call this with $r == null to prime the callback to add headers on a specific URL + if ( is_null( $r ) && !in_array( $url, $urls ) ) { + $urls[] = $url; + } + + // Add X-Pingback-Forwarded-For header, but only for requests to a specific URL (the apparent pingback source) + if ( is_array( $r ) && is_array( $r['headers'] ) && !isset( $r['headers']['X-Pingback-Forwarded-For'] ) && in_array( $url, $urls ) ) { + $remote_ip = preg_replace( '/[^a-fx0-9:.,]/i', '', $_SERVER['REMOTE_ADDR'] ); + + // Note: this assumes REMOTE_ADDR is correct, and it may not be if a reverse proxy or CDN is in use + $r['headers']['X-Pingback-Forwarded-For'] = $remote_ip; + + // Also identify the request as a pingback verification in the UA string so it appears in logs + $r['user-agent'] .= '; verifying pingback from ' . $remote_ip; + } + + return $r; +} + +function akismet_pre_check_pingback( $method ) { + + if ( $method !== 'pingback.ping' ) + return; + + global $wp_xmlrpc_server; + + if ( !is_object( $wp_xmlrpc_server ) ) + return false; + + // Lame: tightly coupled with the IXR class. + $args = $wp_xmlrpc_server->message->params; + + if ( !empty( $args[1] ) ) { + $post_id = url_to_postid( $args[1] ); + + // If this gets through the pre-check, make sure we properly identify the outbound request as a pingback verification + akismet_pingback_forwarded_for( null, $args[0] ); + add_filter( 'http_request_args', 'akismet_pingback_forwarded_for', 10, 2 ); + + $comment = array( + 'comment_author_url' => $args[0], + 'comment_post_ID' => $post_id, + 'comment_author' => '', + 'comment_author_email' => '', + 'comment_content' => '', + 'comment_type' => 'pingback', + 'akismet_pre_check' => '1', + 'comment_pingback_target' => $args[1], + ); + + $comment = akismet_auto_check_comment( $comment ); + + if ( isset( $comment['akismet_result'] ) && 'true' == $comment['akismet_result'] ) { + // Lame: tightly coupled with the IXR classes. Unfortunately the action provides no context and no way to return anything. + $wp_xmlrpc_server->error( new IXR_Error( 0, 'Invalid discovery target' ) ); + } + } +} + +// Run this early in the pingback call, before doing a remote fetch of the source uri +add_action( 'xmlrpc_call', 'akismet_pre_check_pingback' ); + +global $wp_version; +if ( '3.0.5' == $wp_version ) { + remove_filter( 'comment_text', 'wp_kses_data' ); + if ( is_admin() ) + add_filter( 'comment_text', 'wp_kses_post' ); +} + +function akismet_fix_scheduled_recheck() { + $future_check = wp_next_scheduled( 'akismet_schedule_cron_recheck' ); + if ( !$future_check ) { + return; + } + + if ( get_option( 'akismet_alert_code' ) > 0 ) { + return; + } + + $check_range = time() + 1200; + if ( $future_check > $check_range ) { + wp_clear_scheduled_hook( 'akismet_schedule_cron_recheck' ); + wp_schedule_single_event( time() + 300, 'akismet_schedule_cron_recheck' ); + } +} diff --git a/wp-content/plugins/akismet/img/logo.png b/wp-content/plugins/akismet/img/logo.png new file mode 100644 index 0000000..b5f5b9a Binary files /dev/null and b/wp-content/plugins/akismet/img/logo.png differ diff --git a/wp-content/plugins/akismet/img/logo@2x.png b/wp-content/plugins/akismet/img/logo@2x.png new file mode 100644 index 0000000..80c835b Binary files /dev/null and b/wp-content/plugins/akismet/img/logo@2x.png differ diff --git a/wp-content/plugins/akismet/index.php b/wp-content/plugins/akismet/index.php new file mode 100644 index 0000000..a6ce9c8 --- /dev/null +++ b/wp-content/plugins/akismet/index.php @@ -0,0 +1,2 @@ +escape( $type ); + return $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE comment_approved = 'spam' AND comment_type='$type' ORDER BY comment_date DESC LIMIT $start, $end"); + } + + // All + return $wpdb->get_results( "SELECT * FROM $wpdb->comments WHERE comment_approved = 'spam' ORDER BY comment_date DESC LIMIT $start, $end"); +} + +// Totals for each comment type +// returns array( type => count, ... ) +function akismet_spam_totals() { + global $wpdb; + $totals = $wpdb->get_results( "SELECT comment_type, COUNT(*) AS cc FROM $wpdb->comments WHERE comment_approved = 'spam' GROUP BY comment_type" ); + $return = array(); + foreach ( $totals as $total ) + $return[$total->comment_type ? $total->comment_type : 'comment'] = $total->cc; + return $return; +} + +function akismet_manage_page() { + global $wpdb, $submenu, $wp_db_version; + + // WP 2.7 has its own spam management page + if ( 8645 <= $wp_db_version ) + return; + + $count = sprintf(__('Akismet Spam (%s)'), akismet_spam_count()); + if ( isset( $submenu['edit-comments.php'] ) ) + add_submenu_page('edit-comments.php', __('Akismet Spam'), $count, 'moderate_comments', 'akismet-admin', 'akismet_caught' ); + elseif ( function_exists('add_management_page') ) + add_management_page(__('Akismet Spam'), $count, 'moderate_comments', 'akismet-admin', 'akismet_caught'); +} + +function akismet_caught() { + global $wpdb, $comment, $akismet_caught, $akismet_nonce; + + akismet_recheck_queue(); + if (isset($_POST['submit']) && 'recover' == $_POST['action'] && ! empty($_POST['not_spam'])) { + check_admin_referer( $akismet_nonce ); + if ( function_exists('current_user_can') && !current_user_can('moderate_comments') ) + die(__('You do not have sufficient permission to moderate comments.')); + + $i = 0; + foreach ($_POST['not_spam'] as $comment): + $comment = (int) $comment; + if ( function_exists('wp_set_comment_status') ) + wp_set_comment_status($comment, 'approve'); + else + $wpdb->query("UPDATE $wpdb->comments SET comment_approved = '1' WHERE comment_ID = '$comment'"); + akismet_submit_nonspam_comment($comment); + ++$i; + endforeach; + $to = add_query_arg( 'recovered', $i, $_SERVER['HTTP_REFERER'] ); + wp_safe_redirect( $to ); + exit; + } + if ('delete' == $_POST['action']) { + check_admin_referer( $akismet_nonce ); + if ( function_exists('current_user_can') && !current_user_can('moderate_comments') ) + die(__('You do not have sufficient permission to moderate comments.')); + + $delete_time = $wpdb->escape( $_POST['display_time'] ); + $comment_ids = $wpdb->get_col( "SELECT comment_id FROM $wpdb->comments WHERE comment_approved = 'spam' AND '$delete_time' > comment_date_gmt" ); + if ( !empty( $comment_ids ) ) { + do_action( 'delete_comment', $comment_ids ); + $wpdb->query( "DELETE FROM $wpdb->comments WHERE comment_id IN ( " . implode( ', ', $comment_ids ) . " )"); + wp_cache_delete( 'akismet_spam_count', 'widget' ); + } + $to = add_query_arg( 'deleted', 'all', $_SERVER['HTTP_REFERER'] ); + wp_safe_redirect( $to ); + exit; + } + +if ( isset( $_GET['recovered'] ) ) { + $i = (int) $_GET['recovered']; + echo '

    ' . sprintf(__('%1$s comments recovered.'), $i) . "

    "; +} + +if (isset( $_GET['deleted'] ) ) + echo '

    ' . __('All spam deleted.') . '

    '; + +if ( isset( $GLOBALS['submenu']['edit-comments.php'] ) ) + $link = 'edit-comments.php'; +else + $link = 'edit.php'; +?> + +
    +

    + +

    %1$s spam for you since you first installed it.'), number_format_i18n($count) ); ?>

    +'.__('You have no spam currently in the queue. Must be your lucky day. :)').'

    '; + echo '
    '; +} else { + echo '

    '.__('You can delete all of the spam from your database with a single click. This operation cannot be undone, so you may wish to check to ensure that no legitimate comments got through first. Spam is automatically deleted after 15 days, so don’t sweat it.').'

    '; +?> + +
    + + +    + +
    + +
    +
    + +

    + +'.__('These are the latest comments identified as spam by Akismet. If you see any mistakes, simply mark the comment as "not spam" and Akismet will learn from the submission. If you wish to recover a comment from spam, simply select the comment, and click Not Spam. After 15 days we clean out the junk for you.').'

    '; ?> + +escape($_POST['s']); + $comments = $wpdb->get_results("SELECT * FROM $wpdb->comments WHERE + (comment_author LIKE '%$s%' OR + comment_author_email LIKE '%$s%' OR + comment_author_url LIKE ('%$s%') OR + comment_author_IP LIKE ('%$s%') OR + comment_content LIKE ('%$s%') ) AND + comment_approved = 'spam' + ORDER BY comment_date DESC"); +} else { + if ( isset( $_GET['apage'] ) ) + $page = (int) $_GET['apage']; + else + $page = 1; + + if ( $page < 2 ) + $page = 1; + + $current_type = false; + if ( isset( $_GET['ctype'] ) ) + $current_type = preg_replace( '|[^a-z]|', '', $_GET['ctype'] ); + + $comments = akismet_spam_comments( $current_type, $page ); + $total = akismet_spam_count( $current_type ); + $totals = akismet_spam_totals(); +?> +
      +
    • >
    • + $type_count ) { + if ( 'comment' == $type ) { + $type = 'comments'; + $show = __('Comments'); + } else { + $show = ucwords( $type ); + } + $type_count = number_format_i18n( $type_count ); + $extra = $current_type === $type ? ' class="active"' : ''; + echo "
    • $show ($type_count)
    • "; +} +do_action( 'akismet_tabs' ); // so plugins can add more tabs easily +?> +
    + +
    " id="akismetsearch"> +

    +

    +
    + 50 ) { +$total_pages = ceil( $total / 50 ); +$r = ''; +if ( 1 < $page ) { + $args['apage'] = ( 1 == $page - 1 ) ? '' : $page - 1; + $r .= '' . "\n"; +} +if ( ( $total_pages = ceil( $total / 50 ) ) > 1 ) { + for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) : + if ( $page == $page_num ) : + $r .= "$page_num\n"; + else : + $p = false; + if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) : + $args['apage'] = ( 1 == $page_num ) ? '' : $page_num; + $r .= '' . ( $page_num ) . "\n"; + $in = true; + elseif ( $in == true ) : + $r .= "...\n"; + $in = false; + endif; + endif; + endfor; +} +if ( ( $page ) * 50 < $total || -1 == $total ) { + $args['apage'] = $page + 1; + $r .= '' . "\n"; +} +echo "

    $r

    "; +?> + + +
    + + +
      +comment_date); + $post = get_post($comment->comment_post_ID); + $post_title = $post->post_title; + if ($i % 2) $class = 'class="alternate"'; + else $class = ''; + echo "\n\t
    • "; + ?> + +

      comment_author_email) { ?>| comment_author_url && 'http://' != $comment->comment_author_url) { ?> | |

      + + + +

      — [ +comment_post_ID); +$post_title = wp_specialchars( $post->post_title, 'double' ); +$post_title = ('' == $post_title) ? "# $comment->comment_post_ID" : $post_title; +?> + ]

      + + + +
    + 50 ) { +$total_pages = ceil( $total / 50 ); +$r = ''; +if ( 1 < $page ) { + $args['apage'] = ( 1 == $page - 1 ) ? '' : $page - 1; + $r .= '' . "\n"; +} +if ( ( $total_pages = ceil( $total / 50 ) ) > 1 ) { + for ( $page_num = 1; $page_num <= $total_pages; $page_num++ ) : + if ( $page == $page_num ) : + $r .= "$page_num\n"; + else : + $p = false; + if ( $page_num < 3 || ( $page_num >= $page - 3 && $page_num <= $page + 3 ) || $page_num > $total_pages - 3 ) : + $args['apage'] = ( 1 == $page_num ) ? '' : $page_num; + $r .= '' . ( $page_num ) . "\n"; + $in = true; + elseif ( $in == true ) : + $r .= "...\n"; + $in = false; + endif; + endif; + endfor; +} +if ( ( $page ) * 50 < $total || -1 == $total ) { + $args['apage'] = $page + 1; + $r .= '' . "\n"; +} +echo "

    $r

    "; +} +?> +

    + +

    +

    +
    + +

    + + + +
    + +

    +    +

    +
    + +
    +" . __('Recheck Queue for Spam') . ""; + $page = str_replace( '
    ', '
    ' . $button, $page ); + return $page; + } + + if ( $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '0'" ) ) + ob_start( 'akismet_recheck_button' ); +} + +// This option causes tons of FPs, was removed in 2.1 +function akismet_kill_proxy_check( $option ) { return 0; } +add_filter('option_open_proxy_check', 'akismet_kill_proxy_check'); diff --git a/wp-content/plugins/akismet/readme.txt b/wp-content/plugins/akismet/readme.txt new file mode 100644 index 0000000..fca32ab --- /dev/null +++ b/wp-content/plugins/akismet/readme.txt @@ -0,0 +1,180 @@ +=== Akismet === +Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, automattic +Tags: akismet, comments, spam +Requires at least: 3.0 +Tested up to: 3.8.1 +Stable tag: 2.6.0 +License: GPLv2 or later + +Akismet checks your comments against the Akismet web service to see if they look like spam or not. + +== Description == + +Akismet checks your comments against the Akismet web service to see if they look like spam or not and lets you +review the spam it catches under your blog's "Comments" admin screen. + +Major new features in Akismet 2.5 include: + +* A comment status history, so you can easily see which comments were caught or cleared by Akismet, and which were spammed or unspammed by a moderator +* Links are highlighted in the comment body, to reveal hidden or misleading links +* If your web host is unable to reach Akismet's servers, the plugin will automatically retry when your connection is back up +* Moderators can see the number of approved comments for each user +* Spam and Unspam reports now include more information, to help improve accuracy + +PS: You'll need an [Akismet.com API key](http://akismet.com/get/) to use it. Keys are free for personal blogs, with paid subscriptions available for businesses and commercial sites. + +== Installation == + +Upload the Akismet plugin to your blog, Activate it, then enter your [Akismet.com API key](http://akismet.com/get/). + +1, 2, 3: You're done! + +== Changelog == + += 2.6.0 = +* Add ajax paging to the check for spam button to handle large volumes of comments +* Optimize javascript and add localization support +* Fix bug in link to spam comments from right now dashboard widget +* Fix bug with deleting old comments to avoid timeouts dealing with large volumes of comments +* Include X-Pingback-Forwarded-For header in outbound WordPress pingback verifications +* Add pre-check for pingbacks, to stop spam before an outbound verification request is made + += 2.5.9 = +* Update 'Already have a key' link to redirect page rather than depend on javascript +* Fix some non-translatable strings to be translatable +* Update Activation banner in plugins page to redirect user to Akismet config page + += 2.5.8 = +* Simplify the activation process for new users +* Remove the reporter_ip parameter +* Minor preventative security improvements + += 2.5.7 = +* FireFox Stats iframe preview bug +* Fix mshots preview when using https +* Add .htaccess to block direct access to files +* Prevent some PHP notices +* Fix Check For Spam return location when referrer is empty +* Fix Settings links for network admins +* Fix prepare() warnings in WP 3.5 + += 2.5.6 = +* Prevent retry scheduling problems on sites where wp_cron is misbehaving +* Preload mshot previews +* Modernize the widget code +* Fix a bug where comments were not held for moderation during an error condition +* Improve the UX and display when comments are temporarily held due to an error +* Make the Check For Spam button force a retry when comments are held due to an error +* Handle errors caused by an invalid key +* Don't retry comments that are too old +* Improve error messages when verifying an API key + += 2.5.5 = +* Add nonce check for comment author URL remove action +* Fix the settings link + += 2.5.4 = +* Limit Akismet CSS and Javascript loading in wp-admin to just the pages that need it +* Added author URL quick removal functionality +* Added mShot preview on Author URL hover +* Added empty index.php to prevent directory listing +* Move wp-admin menu items under Jetpack, if it is installed +* Purge old Akismet comment meta data, default of 15 days + += 2.5.3 = +* Specify the license is GPL v2 or later +* Fix a bug that could result in orphaned commentmeta entries +* Include hotfix for WordPress 3.0.5 filter issue + += 2.5.2 = + +* Properly format the comment count for author counts +* Look for super admins on multisite installs when looking up user roles +* Increase the HTTP request timeout +* Removed padding for author approved count +* Fix typo in function name +* Set Akismet stats iframe height to fixed 2500px. Better to have one tall scroll bar than two side by side. + += 2.5.1 = + +* Fix a bug that caused the "Auto delete" option to fail to discard comments correctly +* Remove the comment nonce form field from the 'Akismet Configuration' page in favor of using a filter, akismet_comment_nonce +* Fixed padding bug in "author" column of posts screen +* Added margin-top to "cleared by ..." badges on dashboard +* Fix possible error when calling akismet_cron_recheck() +* Fix more PHP warnings +* Clean up XHTML warnings for comment nonce +* Fix for possible condition where scheduled comment re-checks could get stuck +* Clean up the comment meta details after deleting a comment +* Only show the status badge if the comment status has been changed by someone/something other than Akismet +* Show a 'History' link in the row-actions +* Translation fixes +* Reduced font-size on author name +* Moved "flagged by..." notification to top right corner of comment container and removed heavy styling +* Hid "flagged by..." notification while on dashboard + += 2.5.0 = + +* Track comment actions under 'Akismet Status' on the edit comment screen +* Fix a few remaining deprecated function calls ( props Mike Glendinning ) +* Use HTTPS for the stats IFRAME when wp-admin is using HTTPS +* Use the WordPress HTTP class if available +* Move the admin UI code to a separate file, only loaded when needed +* Add cron retry feature, to replace the old connectivity check +* Display Akismet status badge beside each comment +* Record history for each comment, and display it on the edit page +* Record the complete comment as originally submitted in comment_meta, to use when reporting spam and ham +* Highlight links in comment content +* New option, "Show the number of comments you've approved beside each comment author." +* New option, "Use a nonce on the comment form." + += 2.4.0 = + +* Spell out that the license is GPLv2 +* Fix PHP warnings +* Fix WordPress deprecated function calls +* Fire the delete_comment action when deleting comments +* Move code specific for older WP versions to legacy.php +* General code clean up + += 2.3.0 = + +* Fix "Are you sure" nonce message on config screen in WPMU +* Fix XHTML compliance issue in sidebar widget +* Change author link; remove some old references to WordPress.com accounts +* Localize the widget title (core ticket #13879) + += 2.2.9 = + +* Eliminate a potential conflict with some plugins that may cause spurious reports + += 2.2.8 = + +* Fix bug in initial comment check for ipv6 addresses +* Report comments as ham when they are moved from spam to moderation +* Report comments as ham when clicking undo after spam +* Use transition_comment_status action when available instead of older actions for spam/ham submissions +* Better diagnostic messages when PHP network functions are unavailable +* Better handling of comments by logged-in users + += 2.2.7 = + +* Add a new AKISMET_VERSION constant +* Reduce the possibility of over-counting spam when another spam filter plugin is in use +* Disable the connectivity check when the API key is hard-coded for WPMU + += 2.2.6 = + +* Fix a global warning introduced in 2.2.5 +* Add changelog and additional readme.txt tags +* Fix an array conversion warning in some versions of PHP +* Support a new WPCOM_API_KEY constant for easier use with WordPress MU + += 2.2.5 = + +* Include a new Server Connectivity diagnostic check, to detect problems caused by firewalls + += 2.2.4 = + +* Fixed a key problem affecting the stats feature in WordPress MU +* Provide additional blog information in Akismet API calls diff --git a/wp-content/plugins/akismet/widget.php b/wp-content/plugins/akismet/widget.php new file mode 100644 index 0000000..8c5a120 --- /dev/null +++ b/wp-content/plugins/akismet/widget.php @@ -0,0 +1,108 @@ + __( 'Display the number of spam comments Akismet has caught' ) ) + ); + + if ( is_active_widget( false, false, $this->id_base ) ) { + add_action( 'wp_head', array( $this, 'css' ) ); + } + } + + function css() { +?> + + + + + +

    + + +

    + + + + + + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/bwp-simple-gxs.php b/wp-content/plugins/bwp-google-xml-sitemaps/bwp-simple-gxs.php new file mode 100644 index 0000000..1ab90d4 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/bwp-simple-gxs.php @@ -0,0 +1,31 @@ +Sitemap index rather than a single sitemap. Despite its simplicity, it is still very powerful and has plenty of options to choose. +Version: 1.2.2 +Text Domain: bwp-simple-gxs +Domain Path: /languages/ +Author: Khang Minh +Author URI: http://betterwp.net +License: GPLv3 +*/ + +// Pre-emptive +$bwp_gxs_ob_level = @ob_get_level(); +$bwp_gxs_ob_start = ob_start(); + +// Frontend +require_once(dirname(__FILE__) . '/includes/class-bwp-simple-gxs.php'); +$bwp_gxs_gzipped = (!BWP_SIMPLE_GXS::is_gzipped()) ? false : true; +$bwp_gxs = new BWP_SIMPLE_GXS(); + +// Backend +add_action('admin_menu', 'bwp_gxs_init_admin', 1); + +function bwp_gxs_init_admin() +{ + global $bwp_gxs; + $bwp_gxs->init_admin(); +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/bwp-simple-gxs.pot b/wp-content/plugins/bwp-google-xml-sitemaps/bwp-simple-gxs.pot new file mode 100644 index 0000000..68c3007 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/bwp-simple-gxs.pot @@ -0,0 +1,770 @@ +msgid "" +msgstr "" +"Project-Id-Version: BWP Google XML Sitemaps\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-10-27 20:27+0700\n" +"PO-Revision-Date: 2013-10-27 20:27+0700\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-SearchPath-0: .\n" + +#: includes/class-bwp-framework.php:178 +#, php-format +msgid "%s requires WordPress %s or higher and PHP %s or higher. The plugin will not function until you update your software. Please deactivate this plugin." +msgstr "" + +#: includes/class-bwp-framework.php:190 +msgid "Development Log" +msgstr "" + +#: includes/class-bwp-framework.php:190 +msgid "Frequently Asked Questions" +msgstr "" + +#: includes/class-bwp-framework.php:190 +msgid "FAQ" +msgstr "" + +#: includes/class-bwp-framework.php:190 +msgid "Got a problem? Send me a feedback!" +msgstr "" + +#: includes/class-bwp-framework.php:190 +msgid "Contact" +msgstr "" + +#: includes/class-bwp-framework.php:197 +msgid "You can buy me some special coffees if you appreciate my work, thank you!" +msgstr "" + +#: includes/class-bwp-framework.php:211 +msgid "Donate to " +msgstr "" + +#: includes/class-bwp-framework.php:213 +msgid "One cup $5.00" +msgstr "" + +#: includes/class-bwp-framework.php:214 +msgid "Two cups $10.00" +msgstr "" + +#: includes/class-bwp-framework.php:215 +msgid "Five cups! $25.00" +msgstr "" + +#: includes/class-bwp-framework.php:216 +msgid "One LL-cup!!! $50.00" +msgstr "" + +#: includes/class-bwp-framework.php:217 +msgid "... or any amount!" +msgstr "" + +#: includes/class-bwp-framework.php:232 +msgid "Latest updates from BetterWP.net!" +msgstr "" + +#: includes/class-bwp-framework.php:233 +msgid "Follow me on Twitter!" +msgstr "" + +#: includes/class-bwp-framework.php:243 +msgid "This Plugin is Proudly Sponsored By" +msgstr "" + +#: includes/class-bwp-framework.php:260 +#, php-format +msgid "You are using version %s!" +msgstr "" + +#: includes/class-bwp-framework.php:396 +msgid "Settings" +msgstr "" + +#: includes/class-bwp-gxs-cache.php:34 +#, php-format +msgid "Cache directory (\"%s\") does not exist or is not writable." +msgstr "" + +#: includes/class-bwp-gxs-cache.php:56 +#, php-format +msgid "Cache file for module %s is not found and will be built right away." +msgstr "" + +#: includes/class-bwp-gxs-cache.php:108 +#: includes/class-bwp-simple-gxs.php:1345 +#, php-format +msgid "Successfully served a cached version of %s.xml." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:141 +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "Sitemap Statistics" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:142 +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "Sitemap Generator" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:143 +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +msgid "News Sitemap" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:174 +#, php-format +msgid "This sitemap was originally generated in %s second(s) (Memory usage: %s) - %s queries - %s URL(s) listed" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "BWP Google XML Sitemaps Statistics" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "BWP Google XML Sitemaps Generator" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +msgid "BWP Google News XML Sitemap" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:353 +msgid "BWP Google XML Sitemaps" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:368 +msgid "You do not have sufficient permissions to access this page." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:389 +#: includes/class-bwp-simple-gxs.php:740 +#: includes/class-bwp-simple-gxs.php:742 +msgid "Notice" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:389 +msgid "All logs have been cleared successfully!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:396 +msgid "What are Sitemaps?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:397 +msgid "Your sitemaps" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:398 +msgid "Submit your sitemaps" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:399 +msgid "Pinging search engines" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:400 +msgid "Enable pinging functionality?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:401 +msgid "Enable pinging individual SE" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:402 +msgid "Sitemap Generator's Log" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:403 +msgid "Enable logging?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:404 +msgid "Enable debugging?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:413 +msgid "In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site — http://www.sitemaps.org/" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:413 +msgid "This plugin helps you generate both Sitemap Index files as well as normal Sitemap files. A Sitemap Index, as its name suggests, is one kind of sitemaps that allows you to group multiple sitemap files inside it." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:414 +msgid "Basic information about all your sitemaps." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:415 +msgid "More detailed information about how your sitemaps are generated including notices, errors and success messages." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:416 +#, php-format +msgid "Submit your sitemapindex to major search engines like Google, Bing." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:417 +msgid "Now when you post something new to your blog, you can ping those search engines to tell them your blog just got updated. Pinging could be less effective than you think it is but you should enable such feature anyway." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:422 +msgid "Selected SE below will be pinged when you publish new posts." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:423 +msgid "No additional load is needed so enabling this is recommended." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:424 +msgid "Minor errors will be printed on screen. Also, when debug is on, no caching is used, useful when you develop new modules." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:425 +msgid "Google" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:426 +msgid "Bing" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:430 +#, php-format +msgid "After you activate this plugin, all sitemaps should be available right away. The next step is to submit the sitemapindex to major search engines. You only need the sitemapindex and nothing else, those search engines will automatically recognize other included sitemaps. You can read a small How-to if you are interested." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:460 +msgid "Output no more than" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:461 +msgid "Default change frequency" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:462 +msgid "Default priority" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:463 +msgid "Minimum priority" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:464 +msgid "Use GMT for Last Modified date?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:465 +msgid "Style your sitemaps with an XSLT stylesheet?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:466 +msgid "Custom XSLT stylesheet URL" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:467 +msgid "Show build stats in sitemaps?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:468 +msgid "Enable credit?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:469 +msgid "Enable Gzip?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:470 +msgid "Clean unexpected output before sitemap generation?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:471 +msgid "Sitemap Index Options" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:472 +msgid "Automatically split post-based sitemaps into smaller sitemaps?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:473 +msgid "Add sitemapindex to individual blog's virtual robots.txt?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:474 +msgid "Add sitemapindex from all blogs within network to primary blog's virtual robots.txt?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:475 +msgid "In sitemapindex, include" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:476 +msgid "Exclude following post types:" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:477 +msgid "Exclude following taxonomies:" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:478 +msgid "Module Options" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:479 +msgid "Alternate module directory" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:480 +msgid "Get no more than" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:481 +msgid "Caching Options" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:482 +msgid "Enable caching?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:483 +msgid "Enable auto cache re-generation?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:484 +msgid "Cached sitemaps will last for" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:485 +msgid "Cached sitemaps are stored in (auto detected)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:489 +msgid "Cache your sitemaps for better performance." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:490 +#, php-format +msgid "This plugin uses modules to build sitemap data so it is recommended that you extend this plugin using modules rather than hooks. Some of the settings below only affect modules extending the base module class. Read more about using modules here." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:491 +msgid "Here you can change some settings that affect the default Sitemap Index file." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:505 +#: includes/class-bwp-simple-gxs.php:511 +msgid "second(s)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:506 +#: includes/class-bwp-simple-gxs.php:512 +msgid "minute(s)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:507 +#: includes/class-bwp-simple-gxs.php:513 +msgid "hour(s)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:508 +#: includes/class-bwp-simple-gxs.php:514 +msgid "day(s)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:521 +#: includes/class-bwp-simple-gxs.php:522 +#: includes/class-bwp-simple-gxs.php:523 +msgid "read more" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:526 +msgid "your sitemaps are generated and then cached to reduce unnecessary work." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:527 +msgid "when a cached sitemap expires, this plugin will try to generate the cache again. If you disable this, remember to manually flush the cache once in a while." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:527 +msgid "Flush the cache" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:528 +msgid "tell you useful information such as build time, memory usage, SQL queries, etc." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:529 +#, php-format +msgid "make your sitemaps ~ 70% smaller. Important: If you see an error after enabling this, it's very likely that you have gzip active on your server already." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:530 +msgid "only disable this when sitemaps appear in either blank page or plain text." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:531 +#, php-format +msgid "If you have like 50 blogs, 50 Sitemap: http://example.com/sitemapindex.xml entries will be added to your primary blog's robots.txt, i.e. %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:532 +msgid "taxonomy archives' sitemaps, including custom taxonomies." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:534 +msgid "date archives' sitemaps." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:535 +msgid "external pages' sitemap. This allows you to add links to pages that do not belong to WordPress to the sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:536 +msgid "some copyrighted info is also added to your sitemaps. Thanks!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:537 +msgid "This will load the default style sheet provided by this plugin. You can set a custom style sheet below or filter the bwp_gxs_xslt hook." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:538 +#, php-format +msgid "If you're on a Multi-site installation with Sub-domain enabled, each site will have its own robots.txt, sites in sub-directory will not. Please read the documentation for more info." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:539 +msgid "e.g. post1.xml, post2.xml, etc. And each sitemap will contain" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:540 +msgid "If you disable this, make sure you also use date_default_timezone_set to correctly set up a timezone for your application." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:541 +msgid "author archives' sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:542 +msgid "site's home URL sitemap. For a multi-site installation of WordPress, this sitemap will list all domains within your network, not just the main blog. This also supports WPMU Domain Mapping plugin." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:545 +msgid "item(s) in one sitemap. You can not go over 50,000." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:546 +msgid "item(s). Again , you can not go over 50,000." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:547 +msgid "Input a full path to the directory where you put your own modules (e.g. /home/mysite/public_html/gxs-modules/), you can also override a built-in module by having a module with the same filename in this directory. A filter is also available if you would like to use PHP instead." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:548 +msgid "The cache directory must be writable (i.e. CHMOD to 755 or 777)." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:549 +msgid "item(s) in one SQL query. This helps you avoid running too heavy queries." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:552 +msgid "expected to be an absolute URL, e.g. http://example.com/my-stylesheet.xsl. You must also have a style sheet for the sitemapindex that can be accessed through the above URL, e.g. my-stylesheet.xsl and my-stylesheetindex.xsl). Please leave blank if you do not wish to use." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:559 +#, php-format +msgid "Note: If you encounter white page problem, please refer to the FAQ section to know how to change this limit appropriately to make this plugin work. Also note that, for post-based sitemaps, this option will be overridden by the limit you set in the Sitemap Index Options below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:661 +msgid "What is a Google News Sitemap?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:662 +msgid "Enable this module?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:663 +msgid "Enable Multi-category Mode?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:664 +msgid "Ping Search Engines when you publish a news article?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:665 +msgid "Use keywords in News Sitemap?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:666 +msgid "News Sitemap's language" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:667 +msgid "News Categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:668 +msgid "This module will" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:672 +msgid "A Google News Sitemap is a file that allows you to control which content you submit to Google News. By creating and submitting a Google News Sitemap, you're able to help Google News discover and crawl your site's articles — http://support.google.com/" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:673 +msgid "Below you will be able to choose what categories to use (or not use) in the news sitemap. You can also assign genres to a specific category." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:676 +msgid "below selected categories in the news sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:681 +msgid "English" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:682 +msgid "Dutch" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:683 +msgid "French" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:684 +msgid "German" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:685 +msgid "Italian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:686 +msgid "Norwegian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:687 +msgid "Portuguese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:688 +msgid "Polish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:689 +msgid "Russian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:690 +msgid "Simplified Chinese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:691 +msgid "Spanish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:692 +msgid "Turkish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:693 +msgid "Vietnamese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:696 +msgid "include" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:697 +msgid "exclude" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:700 +msgid "news categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:701 +msgid "news tags" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:707 +msgid "A new post_google_news.xml sitemap will be added to the main sitemapindex.xml." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:708 +msgid "Keywords are derived from" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:709 +msgid "This ping works separately from the sitemapindex ping, and only occurs when you publish an article in one of the news categories set below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:710 +msgid "This mode is meant for News Blogs that have posts assigned to more than one categories. It is an advanced feature and should only be enabled if you do have similar blogs." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:716 +msgid ". Do NOT use news tags if your news sitemap contains a lot of posts as it can be very inefficient to do so. This will be improved in future versions." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:740 +#, php-format +msgid "%d cached sitemaps have been flushed successfully!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:742 +msgid "Could not delete any cached sitemaps. Please manually check the cache directory." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:791 +msgid "All options have been saved." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:813 +msgid "Warning" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:813 +msgid "Cache directory does not exist or is not writable. Please read more about directory permission here (Unix)." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:824 +msgid "Clear All Logs" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:878 +msgid "(Debug is on)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:891 +msgid "BWP Google XML Sitemaps Error: " +msgstr "" + +#: includes/class-bwp-simple-gxs.php:891 +msgid "BWP Google XML Sitemaps Error" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:914 +#, php-format +msgid "Nothing here... yet! Try submitting your sitemapindex first!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:914 +msgid "No log yet!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:925 +#, php-format +msgid "%s has been successfully built on %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:936 +#: includes/class-bwp-simple-gxs.php:953 +msgid "M j, Y : H:i:s" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1022 +msgid "Category's name" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1022 +#, php-format +msgid "Genres used for this category (more info here)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1313 +#, php-format +msgid "Requested module (%s) not found or not allowed." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1372 +#: includes/class-bwp-simple-gxs.php:1393 +#, php-format +msgid "Loaded a custom sub-module file: %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1381 +#, php-format +msgid "Mapped sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the requested sub-module instead." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1401 +#, php-format +msgid "Sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the parent module instead." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1415 +#, php-format +msgid "Loaded a custom module file: %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1421 +#, php-format +msgid "Could not load module file: %s in both default and custom module directory. Please recheck if that module file exists." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1441 +#, php-format +msgid "There is no class named %s in the module file %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1450 +#, php-format +msgid "Loaded a custom sitemapindex module file: %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1473 +#, php-format +msgid "Successfully generated %s.xml using module %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1504 +msgid "BWP Google XML Sitemap Message: Unexpected output (most of the time PHP errors) is preventing BWP GXS from showing any sitemap contents. Try disabling WP_DEBUG or this plugin's debug mode, whichever is on. All unexpected outputs should be shown just above this message. If you don't see any, contact me and I might be able to help." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1637 +msgid "Unknown response code from search engines. Ping failed." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1639 +#, php-format +msgid "Pinged %s with %s successfully!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1644 +#, php-format +msgid "Error %s from %s" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1649 +#, php-format +msgid "Ping limit for today to %s has been reached, sorry!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1677 +#, php-format +msgid "%s.xml does not have any item. You can fix this easily by excluding any post types / terms you do not use in Sitemap Generator tab within your admin area. If you still see this error, consider checking the module that generates this sitemap (%s.php)." +msgstr "" + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:80 +msgid "Plugin Configurations" +msgstr "" + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:398 +msgid "Save Changes" +msgstr "" + diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/.htaccess b/wp-content/plugins/bwp-google-xml-sitemaps/cache/.htaccess new file mode 100644 index 0000000..c271610 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/cache/.htaccess @@ -0,0 +1,4 @@ + + Order Allow,Deny + Deny from All + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_1664a6af7c3ca32598bc009e533a9796.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_1664a6af7c3ca32598bc009e533a9796.xml.gz new file mode 100644 index 0000000..97840dd Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_1664a6af7c3ca32598bc009e533a9796.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_2c4bb05e43162d3fd4ffcfb8548fdb3c.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_2c4bb05e43162d3fd4ffcfb8548fdb3c.xml.gz new file mode 100644 index 0000000..71bd652 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_2c4bb05e43162d3fd4ffcfb8548fdb3c.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_44cb64e5837a3831c32a5bf86708c2e7.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_44cb64e5837a3831c32a5bf86708c2e7.xml.gz new file mode 100644 index 0000000..5b192dd Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_44cb64e5837a3831c32a5bf86708c2e7.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_520e65b35baacecda2f1895a6e404441.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_520e65b35baacecda2f1895a6e404441.xml.gz new file mode 100644 index 0000000..73df446 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_520e65b35baacecda2f1895a6e404441.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_595e7ec8e707c3db92dd01e44d5b17a9.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_595e7ec8e707c3db92dd01e44d5b17a9.xml.gz new file mode 100644 index 0000000..cbd2c8a Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_595e7ec8e707c3db92dd01e44d5b17a9.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_6c9141bf5fae81e4a9cb6bd03c8ef995.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_6c9141bf5fae81e4a9cb6bd03c8ef995.xml.gz new file mode 100644 index 0000000..0a52a9e Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_6c9141bf5fae81e4a9cb6bd03c8ef995.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_806e418a93b905b143a8bb0be6d70c50.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_806e418a93b905b143a8bb0be6d70c50.xml.gz new file mode 100644 index 0000000..0292478 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_806e418a93b905b143a8bb0be6d70c50.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_89485326ad77005d5599e07dbd8c1737.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_89485326ad77005d5599e07dbd8c1737.xml.gz new file mode 100644 index 0000000..ac28f68 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_89485326ad77005d5599e07dbd8c1737.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_8dfce696a2de5a535995569e8fa1af6e.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_8dfce696a2de5a535995569e8fa1af6e.xml.gz new file mode 100644 index 0000000..07e17c8 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_8dfce696a2de5a535995569e8fa1af6e.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_b414fe5eb283e8e143c1e0f81f3c7b51.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_b414fe5eb283e8e143c1e0f81f3c7b51.xml.gz new file mode 100644 index 0000000..d810226 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_b414fe5eb283e8e143c1e0f81f3c7b51.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_e1a544fdf0900b583452ffdd473c2107.xml.gz b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_e1a544fdf0900b583452ffdd473c2107.xml.gz new file mode 100644 index 0000000..3d18dcc Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/cache/gxs_e1a544fdf0900b583452ffdd473c2107.xml.gz differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/css/bwp-simple-gxs.css b/wp-content/plugins/bwp-google-xml-sitemaps/css/bwp-simple-gxs.css new file mode 100644 index 0000000..489f60f --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/css/bwp-simple-gxs.css @@ -0,0 +1,35 @@ +* html .bwp-gxs-log { + height: expression( this.scrollHeight > 200 ? "200px" : "auto" ); +} +.bwp-gxs-log { + font-size: 0.95em; + background-color: #ffffff; + padding: 5px 10px; padding-top: 0px; + width: 90%; + border: 1px solid #cccccc; + max-height: 200px; + overflow: auto; +} + +.bwp-table { + width: 100%; + background-color: #f8f8f8; + border: 1px solid #cccccc; + padding: 10px; +} + +.bwp-table th { + text-align: left; +} + +.bwp-table th span { + text-decoration: underline; +} + +.bwp-table td, .bwp-table th { + padding: 3px 7px; +} + +.bwp-table td.bwp_gxs_news_cat_td { + width: 148px; +} \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/images/icon_menu.png b/wp-content/plugins/bwp-google-xml-sitemaps/images/icon_menu.png new file mode 100644 index 0000000..0b2a4d9 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/images/icon_menu.png differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/images/icon_menu_32.png b/wp-content/plugins/bwp-google-xml-sitemaps/images/icon_menu_32.png new file mode 100644 index 0000000..266f5b4 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/images/icon_menu_32.png differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/bwp-option-page.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/bwp-option-page.php new file mode 100644 index 0000000..d3bbafa --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/bwp-option-page.php @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/css/bwp-option-page.css b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/css/bwp-option-page.css new file mode 100644 index 0000000..7b4de7c --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/css/bwp-option-page.css @@ -0,0 +1,145 @@ +/* For WordPress of older versions */ +.nav-tab{border-style:solid;border-color:#ccc #ccc #f9f9f9;border-width:1px 1px 0;color:#c1c1c1;text-shadow:rgba(255,255,255,1) 0 1px 0;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:0 6px -1px 0;-moz-border-radius:5px 5px 0 0;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;-khtml-border-top-left-radius:5px;-khtml-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.nav-tab-active{border-width:1px;color:#464646;}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;}h2 .nav-tab{padding:4px 20px 6px;font:italic normal normal 24px/35px Georgia,"Times New Roman","Bitstream Charter",Times,serif;} + +.bwp-option-page { + margin-top: 1em; +} + +.bwp-option-page p { + margin-top: 0px; + margin-bottom: 0px; + zoom: 1; +} + +.bwp-option-page li.bwp-clear, .bwp-option-page div.bwp-clear { + clear: left; + display: block; + margin: 1em 0 0 0; + zoom: 1; +} + +.bwp-option-page p.submit { + clear: both; + padding-top: 1.5em; +} + +.wrap .bwp-option-page-tabs { + border-bottom: 1px solid #CCCCCC; + padding-bottom: 0px; + margin-bottom: 20px; +} + +.bwp-option-page-tabs a { + font-size: 19px; +} + +.bwp-option-page-tabs a.version { + font-size: 17px; + line-height: 22px; +} + +.bwp-opton-page-label { + display: block; + float: left; + width: 200px; + margin: 3px 0 1em 0; +} + +.type-checkbox { + margin-top: 0px; +} + +p.bwp-option-page-inputs { + margin: 0 0 0 220px; + padding: 0; +} + +.bwp-option-page-inputs input { + margin: 0 0 5px 0; +} + +.bwp-option-page-inputs label { + margin: 0; +} + +.bwp-option-page-inputs select { + margin: 1px 0 0 0; +} + +.bwp-option-page-inputs input[type="checkbox"] { + margin-left: 2px; +} + +#icon-betterwp-net { + background: url("betterwp.jpg") no-repeat transparent; + border: 1px solid #E3E3E3; + height: 32px; + width: 32px; +} + +#icon-bwp-plugin { + background-repeat: no-repeat; + background-position: left center; + margin-top: 21px; margin-left: 5px; + width: 36px; +} + +#bwp-info-place { + float: right; + margin: 0 0 10px 10px; +} + +#bwp-donation, #bwp-contact, #bwp-ads { + width: 255px; + padding: 7px; padding-bottom: 0px; + background-color: #ffffff; + border: 1px solid #cccccc; + text-align: center; +} + +#bwp-donation p, #bwp-ads p { + margin: 0.5em 0 1em 0; +} + +#bwp-ads { + padding-bottom: 5px; +} + +#bwp-ads p { + text-decoration: underline; +} + +#bwp-info-place small { + font-size: 0.8em; +} + +#bwp-donation .paypal-submit { + vertical-align: bottom; + display: inline-block; + margin: 0 0 1px 2px; + padding: 0px; +} + +.bwp-separator { + width: 271px; +} + +#bwp-contact { + text-align: left; + padding: 7px; +} + +#bwp-contact a { + display: block; + height: 20px; + font-size: 0.8em; + padding-left: 25px; +} + +#bwp-contact .bwp-rss { + background: transparent url("../images/icon-rss.png") no-repeat left center; +} + +#bwp-contact .bwp-twitter { + background: transparent url("../images/icon-twitter.png") no-repeat left center; +} \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/ad_250x250.png b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/ad_250x250.png new file mode 100644 index 0000000..0270c91 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/ad_250x250.png differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-paypal.gif b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-paypal.gif new file mode 100644 index 0000000..f48205c Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-paypal.gif differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-rss.png b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-rss.png new file mode 100644 index 0000000..5c692a4 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-rss.png differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-twitter.png b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-twitter.png new file mode 100644 index 0000000..4ec11ac Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/images/icon-twitter.png differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/includes/class-bwp-option-page.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/includes/class-bwp-option-page.php new file mode 100644 index 0000000..3495a04 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/includes/class-bwp-option-page.php @@ -0,0 +1,405 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE VERSION 3.0 OR LATER + */ + +class BWP_OPTION_PAGE { + + /** + * The form + */ + var $form; + + /** + * The form name + */ + var $form_name; + + /** + * Tabs to build + */ + var $form_tabs; + + /** + * Current tab + */ + var $current_tab; + + /** + * This holds the form items, determining the position + */ + var $form_items = array(); + + /** + * This holds the name for each items (an item can have more than one fields) + */ + var $form_item_names = array(); + + /** + * This holds the form label + */ + var $form_item_labels = array(); + + /** + * This holds the form option aka data + */ + var $form_options = array(), $site_options = array(); + + /** + * Other things + */ + var $domain; + + /** + * Constructor + */ + function __construct($form_name = 'bwp_option_page', $site_options = array(), $domain = '') + { + $this->form_name = $form_name; + $this->site_options = $site_options; + $this->domain = $domain; + } + + /** + * Init the class + * + * @param array $form The form array that contains everything we need to build the form + * @param array $options The data array that contains all data fetched from db or by default + * @param string $form_name The name of the form, change this if you have more than one forms on a page + */ + function init($form = array(), $options = array(), $form_tabs = array()) + { + $this->form_items = $form['items']; + $this->form_item_names = $form['item_names']; + $this->form_item_labels = $form['item_labels']; + $this->form = $form; + $this->form_options = $options; + $this->form_tabs = $form_tabs; + if (sizeof($this->form_tabs) == 0) + $this->form_tabs = array(__('Plugin Configurations', 'bwp-option-page')); + } + + function get_form_name() + { + return $this->form_name; + } + + function set_current_tab($current_tab = 0) + { + $this->current_tab = $current_tab; + } + + function get_options($options = array(), $options_default = array()) + { + foreach ($options_default as $key => $option) + { + if (!in_array($key, $options)) + unset($options_default[$key]); + } + return $options_default; + } + + function get_db_options($name = '', $options = array()) + { + $db_options = get_option($name); + if (!$db_options) + update_option($name, $options); + else if (array_keys($options) != array_keys($db_options)) + { + foreach ($db_options as $key => $data) + if (isset($options[$key]) && !in_array($key, $this->site_options)) + $options[$key] = $data; + update_option($name, $options); + } + else + { + foreach ($db_options as $key => $data) + if (!in_array($key, $this->site_options)) + $options[$key] = $data; + } + + return $options; + } + + function format_field($key, $option_formats) + { + if (!empty($option_formats[$key])) + { + if ('int' == $option_formats[$key]) + $_POST[$key] = (int) $_POST[$key]; + else if ('float' == $option_formats[$key]) + $_POST[$key] = (float) $_POST[$key]; + else if ('html' == $option_formats[$key]) + $_POST[$key] = wp_filter_post_kses($_POST[$key]); + } + else + $_POST[$key] = strip_tags($_POST[$key]); + } + + function kill_html_fields(&$form = array(), $ids) + { + $ids = (array) $ids; + $in_keys = array('items', 'item_labels', 'item_names'); + foreach ($ids as $id) + { + foreach ($in_keys as $key) + unset($form[$key][$id]); + } + } + + /** + * Generate HTML field + * + * @params they explain themselves + */ + function generate_html_field($type = '', $data = array(), $name = '', $in_section = false) + { + $pre_html_field = ''; + $post_html_field = ''; + $checked = 'checked="checked" '; + $selected = 'selected="selected" '; + $value = (isset($this->form_options[$name])) ? $this->form_options[$name] : ''; + $value = (!empty($this->domain) && ('textarea' == $type || 'input' == $type)) ? __($value, $this->domain) : $value; + $value = ('textarea' == $type) ? esc_html($value) : esc_attr($value); + $array_replace = array(); + $array_search = array('size', 'name', 'value', 'cols', 'rows', 'label', 'disabled', 'pre', 'post'); + $return_html = ''; + $br = (isset($this->form['inline_fields'][$name]) && is_array($this->form['inline_fields'][$name])) ? '' : "
    \n"; + $pre = (!empty($data['pre'])) ? $data['pre'] : ''; + $post = (!empty($data['post'])) ? $data['post'] : ''; + + switch ($type) + { + case 'heading': + $html_field = '%s'; + break; + + case 'input': + $html_field = (!$in_section) ? '%pre% %label%' : ''; + break; + + case 'select': + $pre_html_field = '%pre%%post%' . $br; + break; + + case 'checkbox': + $html_field = ''; + break; + + case 'radio': + $html_field = ''; + break; + + case 'textarea': + $html_field = '%pre%' . $value . '%post%'; + break; + } + + if (!isset($data)) + return; + + if ($type == 'heading' && !is_array($data)) + { + $return_html .= sprintf($html_field, $data) . $br; + } + else if ($type == 'radio' || $type == 'checkbox' || $type == 'select') + { + foreach ($data as $key => $value) + { + // handle checkbox a little bit differently + if ($type == 'checkbox') + { + if ($this->form_options[$value] == 'yes') + $return_html .= str_replace(array('%value%', '%name%', '%label%', '%checked%'), array($value, $value, $key, $checked), $html_field) . $br; + else + $return_html .= str_replace(array('%value%', '%name%', '%label%', '%checked%'), array($value, $value, $key, ''), $html_field) . $br; + } + else if (isset($this->form_options[$name]) && $this->form_options[$name] == $value) + $return_html .= str_replace(array('%value%', '%name%', '%label%', '%option%', '%checked%', '%selected%', '%pre%', '%post%'), array($value, $value, $key, $key, $checked, $selected, $pre, $post), $html_field) . $br; + else + $return_html .= str_replace(array('%value%', '%name%', '%label%', '%option%', '%checked%', '%selected%', '%pre%', '%post%'), array($value, $value, $key, $key, '', '', $pre, $post), $html_field) . $br; + } + } + else + { + foreach ($array_search as &$keyword) + { + $array_replace[$keyword] = ''; + if (!empty($data[$keyword])) + { + $array_replace[$keyword] = $data[$keyword]; + } + $keyword = '%' . $keyword . '%'; + } + $return_html = str_replace($array_search, $array_replace, $html_field) . $br; + } + + // inline fields + $inline_html = ''; + if (isset($this->form['inline_fields'][$name]) && is_array($this->form['inline_fields'][$name])) + { + foreach ($this->form['inline_fields'][$name] as $field => $field_type) + { + if (isset($this->form[$field_type][$field])) + $inline_html = ' ' . $this->generate_html_field($field_type, $this->form[$field_type][$field], $field, $in_section); + } + } + + // Post + $post = (!empty($this->form['post'][$name])) ? ' ' . $this->form['post'][$name] : $post; + + return str_replace('%pre%', $pre, $pre_html_field) . $return_html . str_replace('%post%', $post, $post_html_field) . $inline_html; + } + + /** + * Generate HTML fields + * + * @params they explain themselves + */ + function generate_html_fields($type, $name) + { + $item_label = ''; + $return_html = ''; + + $item_key = array_keys($this->form_item_names, $name); + + $input_class = ($type == 'heading') ? 'bwp-option-page-heading-desc' : 'bwp-option-page-inputs'; + + // An inline item can hold any HTML markup + // An example is to display some kinds of button right be low the label + $inline = ''; + if (isset($this->form['inline']) && is_array($this->form['inline']) && array_key_exists($name, $this->form['inline'])) + { + $inline = (empty($this->form['inline'][$name])) ? '' : $this->form['inline'][$name]; + } + $inline .= "\n"; + + switch ($type) + { + case 'section': + + if (!isset($this->form[$name]) || !is_array($this->form[$name])) + return; + + $item_label = '' . $this->form_item_labels[$item_key[0]] . $inline . ''; + + foreach ($this->form[$name] as $section_field) + { + $type = $section_field[0]; + $name = $section_field['name']; + + if (isset($this->form[$section_field[0]])) + { + $return_html .= $this->generate_html_field($section_field[0], $this->form[$type][$name], $name, true); + } + } + break; + + default: + + if (!isset($this->form[$type][$name]) || ($type != 'heading' && !is_array($this->form[$type][$name]))) + return; + + /*$item_label = (empty($this->form[$type][$name]['label'])) ? '' : '' . $this->form_item_labels[$item_key[0]] . '';*/ + $item_label = ($type != 'checkbox' && $type != 'radio') ? '' : '' . $this->form_item_labels[$item_key[0]] . $inline . ''; + $item_label = ($type == 'heading') ? '

    ' . $this->form_item_labels[$item_key[0]] . '

    ' . $inline : $item_label; + + if (isset($this->form[$type])) + { + $return_html = $this->generate_html_field($type, $this->form[$type][$name], $name); + } + break; + } + + // A container can hold some result executed by customized script, + // such as displaying something when user press the submit button + $containers = ''; + if (isset($this->form['container']) && is_array($this->form['container']) && array_key_exists($name, $this->form['container'])) + { + $container_array = (array) $this->form['container'][$name]; + foreach ($container_array as $container) + { + $containers .= (empty($container)) ? '
    ' : '
    ' . $container . '
    ' . "\n"; + } + } + + $pure_return = trim(strip_tags($return_html)); + if (empty($pure_return) && $type == 'heading') + return $item_label . $containers; + else + return $item_label . '

    ' . $return_html . '

    ' . $containers; + } + + /** + * Generate HTML form + * + * @see Constructor + */ + function generate_html_form() + { + $return_str = '
    ' . "\n"; + if (sizeof($this->form_tabs) >= 2) + $return_str .= apply_filters('bwp-admin-form-icon', '

    ' . "\n"); + else + $return_str .= '

    '; + + if (sizeof($this->form_tabs) >= 2) + { + $count = 0; + $return_str .= '

    ' . "\n"; + $return_str .= apply_filters('bwp-admin-plugin-version', '') . "\n"; + foreach ($this->form_tabs as $title => $link) + { + $count++; + $active = ($count == $this->current_tab) ? ' nav-tab-active' : ''; + $return_str .= '' . $title . '' . "\n"; + } + $return_str .= '

    ' . "\n"; + } + else if (!isset($this->form_tabs[0])) + { + $title = array_keys($this->form_tabs); + $return_str .= '

    ' . $title[0] . '

    ' . "\n"; + } + else + $return_str .= '

    ' . $this->form_tabs[0] . '

    ' . "\n"; + + $return_str .= apply_filters('bwp_option_before_form', ''); + echo $return_str; + do_action('bwp_option_action_before_form'); + $return_str = ''; + $return_str .= '
    ' . "\n"; + if (function_exists('wp_nonce_field')) + { + echo $return_str; + wp_nonce_field($this->form_name); + $return_str = ''; + } + $return_str .= '
      ' . "\n"; + + // generate filled form + if (isset($this->form_items) && is_array($this->form_items)) + foreach ($this->form_items as $key => $type) + { + if (!empty($this->form_item_names[$key]) && !empty($this->form_item_labels[$key])) + { + $return_str .= '
    • ' . $this->generate_html_fields($type, $this->form_item_names[$key]) . '
    • ' . "\n"; + } + } + + $return_str .= '
    ' . "\n"; + $return_str .= apply_filters('bwp_option_before_submit_button', ''); + echo $return_str; + do_action('bwp_option_action_before_submit_button'); + $return_str = ''; + $return_str .= apply_filters('bwp_option_submit_button', '

    ') . "\n"; + $return_str .= '
    ' . "\n"; + $return_str .= '
    ' . "\n"; + + echo $return_str; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/includes/index.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/includes/index.php new file mode 100644 index 0000000..19ec411 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/includes/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/index.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/index.php new file mode 100644 index 0000000..19ec411 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/js/paypal.js b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/js/paypal.js new file mode 100644 index 0000000..a18fb5c --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/bwp-option-page/js/paypal.js @@ -0,0 +1,11 @@ +jQuery(document).ready(function(){ + /* Paypal form */ + jQuery('.paypal-form select[name="amount"]').change(function() { + if (jQuery(this).val() == '100.00') + { + jQuery(this).hide(); + jQuery('.paypal-alternate-input').append(' $'); + jQuery('.paypal-alternate-input').show(); + } + }); +}); \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-framework.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-framework.php new file mode 100644 index 0000000..ea939bf --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-framework.php @@ -0,0 +1,485 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE VERSION 3.0 OR LATER + */ + +define('BWP_FRAMEWORK_VERSION', '1.0.0'); + +class BWP_FRAMEWORK { + + /** + * Database related data + */ + var $options = array(); + + /** + * Default data + */ + var $options_default = array(), $site_options = array(); + + /** + * Hold db option keys + */ + var $option_keys = array(); + + /** + * Hold extra option keys + */ + var $extra_option_keys = array(); + + /** + * Hold old option pages + */ + var $option_pages = array(); + + /** + * Key to identify plugin + */ + var $plugin_key; + + /** + * Constant Key to identify plugin + */ + var $plugin_ckey; + + /** + * Domain Key to identify plugin + */ + var $plugin_dkey; + + /** + * Title of the plugin + */ + var $plugin_title; + + /** + * Homepage of the plugin + */ + var $plugin_url; + + /** + * Plugin file + */ + var $plugin_file; + + /** + * Version of the plugin + */ + var $plugin_ver = ''; + + /** + * Message shown to user (Warning, Notes, etc.) + */ + var $notices = array(), $notice_shown = false; + + /** + * Capabilities to manage this plugin + */ + var $plugin_cap = 'manage_options'; + + /** + * Whether or not to create filter for media paths + */ + var $need_media_filters; + + /** + * Form tabs to build + */ + var $form_tabs = array(); + + /** + * Other things + */ + var $wp_ver = '2.8'; + var $php_ver = '5'; + + /** + * Other special variables + */ + protected $_menu_under_settings = false; + protected $_simple_menu = false; + + /** + * Build base properties + */ + function build_properties($key, $dkey, $options, $plugin_title = '', $plugin_file = '', $plugin_url = '', $need_media_filters = true) + { + $this->plugin_key = strtolower($key); + $this->plugin_ckey = strtoupper($key); + $this->plugin_dkey = $dkey; + $this->plugin_title = $plugin_title; + $this->plugin_url = $plugin_url; + // The default options + $this->options_default = $options; + $this->need_media_filters = (boolean) $need_media_filters; + $this->plugin_file = $plugin_file; + // Load locale + load_plugin_textdomain($dkey, false, basename(dirname($plugin_file)) . '/languages'); + } + + function add_option_key($key, $option, $title) + { + $this->option_keys[$key] = $option; + $this->option_pages[$key] = $title; + } + + function add_extra_option_key($key, $option, $title) + { + $this->extra_option_keys[$key] = $option; + $this->option_pages[$key] = $title; + } + + function add_icon() + { + return '
    plugin_ckey . '_IMAGES') . '/icon_menu_32.png");\'>
    ' . "\n"; + } + + function set_version($ver = '', $type = '') + { + switch ($type) + { + case '': $this->plugin_ver = $ver; + break; + case 'php': $this->php_ver = $ver; + break; + case 'wp': $this->wp_ver = $ver; + break; + } + } + + function get_version($type = '') + { + switch ($type) + { + case '': return $this->plugin_ver; + break; + case 'php': return $this->php_ver; + break; + case 'wp': return $this->wp_ver; + break; + } + } + + function check_required_versions() + { + if (version_compare(PHP_VERSION, $this->php_ver, '<') || version_compare(get_bloginfo('version'), $this->wp_ver, '<')) + { + add_action('admin_notices', array($this, 'warn_required_versions')); + add_action('network_admin_notices', array($this, 'warn_required_versions')); + return false; + } + else + return true; + } + + function warn_required_versions() + { + echo '

    ' . sprintf(__('%s requires WordPress %s or higher and PHP %s or higher. The plugin will not function until you update your software. Please deactivate this plugin.', $this->plugin_dkey), $this->plugin_title, $this->wp_ver, $this->php_ver) . '

    '; + } + + function show_donation() + { + $showable = apply_filters('bwp_donation_showable', true); + $ad_showable = apply_filters('bwp_ad_showable', true); +?> +
    +
    +plugin_title; ?> vplugin_ver; ?>
    + + plugin_dkey); ?>plugin_dkey); ?>plugin_dkey); ?> + +
    +is_multisite() && is_super_admin())) + { +?> +plugin_dkey); ?> +
    +

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

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

    plugin_dkey); ?>

    +
    + + + +
    +
    + +
    +plugin_ver)) return ''; + return '' . $this->plugin_ver . ''; + } + + function init() + { + // Build constants + $this->build_constants(); + // Build options + $this->build_options(); + // Load libraries + $this->load_libraries(); + // Add actions and filters + $this->add_hooks(); + // Enqueue needed media, conditionally + add_action('init', array($this, 'enqueue_media')); + // Load other properties + $this->init_properties(); + // Loaded everything for this plugin, now you can add other things to it, such as stylesheet, etc. + do_action($this->plugin_key . '_loaded'); + // Support installation and uninstallation + register_activation_hook($this->plugin_file, array($this, 'install')); + register_deactivation_hook($this->plugin_file, array($this, 'uninstall')); + // icon 32px + if ($this->is_admin_page()) + { + add_filter('bwp-admin-form-icon', array($this, 'add_icon')); + add_filter('bwp-admin-plugin-version', array($this, 'show_version')); + add_action('bwp_option_action_before_form', array($this, 'show_donation'), 12); + } + } + + function add_cap($cap) + { + $this->plugin_cap = $cap; + } + + function build_constants() + { + define($this->plugin_ckey . '_PLUGIN_URL', $this->plugin_url); + // Path + if (true == $this->need_media_filters) + { + define($this->plugin_ckey . '_IMAGES', apply_filters($this->plugin_key . '_image_path', plugin_dir_url($this->plugin_file) . 'images')); + define($this->plugin_ckey . '_CSS', apply_filters($this->plugin_key . '_css_path', plugin_dir_url($this->plugin_file) . 'css')); + define($this->plugin_ckey . '_JS', apply_filters($this->plugin_key . '_js_path', plugin_dir_url($this->plugin_file) . 'js')); + } + else + { + define($this->plugin_ckey . '_IMAGES', plugin_dir_url($this->plugin_file) . 'images'); + define($this->plugin_ckey . '_CSS', plugin_dir_url($this->plugin_file) . 'css'); + define($this->plugin_ckey . '_JS', plugin_dir_url($this->plugin_file) . 'js'); + } + // Option page related + define($this->plugin_ckey . '_CAPABILITY', $this->plugin_cap); // the capability needed to configure this plugin + + foreach ($this->option_keys as $key => $option) + { + define(strtoupper($key), $option); + } + + foreach ($this->extra_option_keys as $key => $option) + { + define(strtoupper($key), $option); + } + } + + function build_options() + { + // Get all options and merge them + $options = $this->options_default; + foreach ($this->option_keys as $option) + { + $db_option = get_option($option); + if ($db_option && is_array($db_option)) + $options = array_merge($options, $db_option); + unset($db_option); + // Also check for global options if in Multi-site + if ($this->is_multisite()) + { + $db_option = get_site_option($option); + if ($db_option && is_array($db_option)) + { + $temp = array(); + foreach ($db_option as $k => $o) + { + if (in_array($k, $this->site_options)) + $temp[$k] = $o; + } + $options = array_merge($options, $temp); + } + } + } + $this->options = $options; + } + + function init_properties() + { + /* intentionally left blank */ + } + + function load_libraries() + { + /* intentionally left blank */ + } + + function add_hooks() + { + /* intentionally left blank */ + } + + function enqueue_media() + { + /* intentionally left blank */ + } + + function install() + { + /* intentionally left blank */ + } + + function uninstall() + { + /* intentionally left blank */ + } + + function is_admin_page() + { + if (is_admin() && !empty($_GET['page']) && (in_array($_GET['page'], $this->option_keys) || in_array($_GET['page'], $this->extra_option_keys))) + return true; + } + + function plugin_action_links($links, $file) + { + $option_script = (!$this->_menu_under_settings && !$this->_simple_menu) ? 'admin.php' : 'options-general.php'; + $option_keys = array_values($this->option_keys); + if ($file == plugin_basename($this->plugin_file)) + $links[] = '' . __('Settings') . ''; + + return $links; + } + + function init_admin() + { + $this->_menu_under_settings = apply_filters('bwp_menus_under_settings', false); + + add_filter('plugin_action_links', array($this, 'plugin_action_links'), 10, 2); + + if ($this->is_admin_page()) + { + // Build tabs + $this->build_tabs(); + // Load option page builder + if (!class_exists('BWP_OPTION_PAGE')) + require_once(dirname(__FILE__) . '/bwp-option-page/bwp-option-page.php'); + // Enqueue style sheets and scripts for the option page + wp_enqueue_style('bwp-option-page', plugin_dir_url($this->plugin_file) . 'includes/bwp-option-page/css/bwp-option-page.css', array(), '1.0.1'); + wp_enqueue_script('bwp-paypal-js', plugin_dir_url($this->plugin_file) . 'includes/bwp-option-page/js/paypal.js', array('jquery')); + } + + $this->build_menus(); + } + + /** + * Build the Menus + */ + function build_menus() + { + /* intentionally left blank */ + } + + function build_tabs() + { + $option_script = (!$this->_menu_under_settings) ? 'admin.php' : 'options-general.php'; + foreach ($this->option_pages as $key => $page) + { + $pagelink = (!empty($this->option_keys[$key])) ? $this->option_keys[$key] : $this->extra_option_keys[$key]; + $this->form_tabs[$page] = get_option('siteurl') . '/wp-admin/' . $option_script . '?page=' . $pagelink; + } + } + + /** + * Build the option pages + * + * Utilizes BWP Option Page Builder (@see BWP_OPTION_PAGE) + */ + function build_option_pages() + { + /* intentionally left blank */ + } + + function add_notice($notice) + { + if (!in_array($notice, $this->notices)) + { + $this->notices[] = $notice; + add_action('bwp_option_action_before_form', array($this, 'show_notices')); + } + } + + function show_notices() + { + if (false == $this->notice_shown) + { + foreach ($this->notices as $notice) + { + echo '

    ' . $notice . '

    '; + } + $this->notice_shown = true; + } + } + + function is_multisite() + { + if (function_exists('is_multisite') && is_multisite()) + return true; + return false; + } + + function is_normal_admin() + { + if ($this->is_multisite() && !is_super_admin()) + return true; + return false; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-gxs-cache.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-gxs-cache.php new file mode 100644 index 0000000..c353641 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-gxs-cache.php @@ -0,0 +1,136 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_CACHE { + + var $module = ''; + var $cache_dir = ''; + var $cache_file = ''; + var $cache_time = 0; + var $gzip = false; + var $has_cache = false; + var $options; + var $now; + var $cache_header = array(); + var $cache_ok = false; + + function __construct($config = array()) + { + global $bwp_gxs; + + // Init necessary config to work with the cache + $this->options = $bwp_gxs->get_options(); + $this->module = $config['module']; + $this->module_name = $config['module_name']; + $this->cache_dir = $this->options['input_cache_dir']; + $this->gzip = ('yes' == $this->options['enable_gzip']) ? true : false; + $this->cache_time = (int) $this->options['input_cache_age'] * (int) $this->options['select_time_type']; + $this->now = time(); + + if (empty($this->cache_dir) || !@is_writable($this->cache_dir)) + $bwp_gxs->elog(sprintf(__('Cache directory ("%s") does not exist or is not writable.', 'bwp-simple-gxs'), $this->cache_dir)); + else + $this->setup_cache(); + } + + function get_header() + { + return $this->cache_header; + } + + function get_cache_file() + { + return $this->cache_file; + } + + function check_cache() + { + global $bwp_gxs; + + // If the cache file is not found + if (!@file_exists($this->cache_file)) + { + $bwp_gxs->nlog(sprintf(__('Cache file for module %s is not found and will be built right away.', 'bwp-simple-gxs'), $this->module)); + return false; + } + $this->has_cache = true; + + return true; + } + + function setup_cache() + { + global $bwp_gxs; + // Build cache file name, WPMS compatible + $file_name = 'gxs_' . md5($this->module . '_' . get_option('home')); + // $file_name .= (true == $this->gzip) ? '.xml.gz' : '.xml'; + // Use gz all the time to save space + $file_name .= '.xml.gz'; + $this->cache_file = trailingslashit($this->cache_dir) . $file_name; + $this->cache_ok = true; + + if ($this->check_cache()) + { + // So cache is found, check if we can still use it + $filemtime = @filemtime($this->cache_file); + if ($filemtime + $this->cache_time <= $this->now && 'yes' == $this->options['enable_cache_auto_gen']) + { + @unlink($this->cache_file); + $this->has_cache = false; + } + + if (!$this->has_cache) + { + $header['lastmod'] = $bwp_gxs->format_header_time($this->now); + $header['expires'] = $bwp_gxs->format_header_time($this->now + $this->cache_time); + $header['etag'] = md5($header['expires'] . $this->cache_file); + } + else + { + $header['lastmod'] = $bwp_gxs->format_header_time($filemtime); + $header['expires'] = $bwp_gxs->format_header_time($filemtime + $this->cache_time); + $header['etag'] = md5($header['expires'] . $this->cache_file); + } + + $this->cache_header = $header; + + if ('yes' == $this->options['enable_debug']) + return; + + if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) || isset($_SERVER['HTTP_IF_NONE_MATCH'])) + { + if ((isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $header['lastmod']) || + (isset($_SERVER['HTTP_IF_NONE_MATCH']) && str_replace('"', '', stripslashes($_SERVER['HTTP_IF_NONE_MATCH'])) == $header['etag'])) + { + $bwp_gxs->slog(sprintf(__('Successfully served a cached version of %s.xml.', 'bwp-simple-gxs'), $this->module_name), true); + $bwp_gxs->commit_logs(); + header('HTTP/1.1 304 Not Modified'); + exit(); + } + } + } + } + + function write_cache() + { + global $bwp_gxs; + + $file = $this->cache_file; + + $handle = @gzopen($file, 'wb'); + @flock($handle, LOCK_EX); + @gzwrite($handle, $bwp_gxs->output); + @flock($handle, LOCK_UN); + @gzclose($handle); + + @umask(0000); + @chmod($file, 0666); + + return true; + } +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-gxs-module.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-gxs-module.php new file mode 100644 index 0000000..a48af18 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-gxs-module.php @@ -0,0 +1,431 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE VERSION 3.0 OR LATER + */ + +class BWP_GXS_MODULE { + + /** + * Data used to build a sitemap + */ + var $data = array(); + + /** + * Is this a sitemapindex or a url set? + */ + var $type = 'url'; + + /** + * Priority mapping + */ + var $freq_to_pri = array('always' => 1.0, 'hourly' => 0.8, 'daily' => 0.7, 'weekly' => 0.6, 'monthly' => 0.4, 'yearly' => 0.3, 'never' => 0.2); + + var $comment_count = 0, $now, $offset = 0, $url_sofar = 0, $circle = 0; + var $perma_struct = '', $post_type = NULL; + var $limit = 0; + + function __contruct() + { + /* Intetionally left blank */ + } + + function set_current_time() + { + $this->now = (int) time(); + } + + function init_data($pre_data = array()) + { + global $bwp_gxs; + + if (empty($this->now)) + $this->set_current_time(); + + $data['location'] = ''; + $data['lastmod'] = (!empty($pre_data['lastmod'])) ? strtotime($pre_data['lastmod']) - $bwp_gxs->oldest_time : $this->now - $bwp_gxs->oldest_time; + $data['lastmod'] = $this->format_lastmod($data['lastmod']); + + if (empty($pre_data) || sizeof($pre_data) == 0) + return $data; + + if (isset($pre_data['freq'])) $data['freq'] = $pre_data['freq']; + if (isset($pre_data['priority'])) $data['priority'] = $pre_data['priority']; + + return $data; + } + + function get_xml_link($slug) + { + global $bwp_gxs; + + if (!$bwp_gxs->use_permalink) + return home_url() . '/?' . $bwp_gxs->query_var_non_perma . '=' . $slug; + else + { + $permalink = get_option('permalink_structure'); + // If user is using index.php in their permalink structure, we will have to include it also + $indexphp = (strpos($permalink, 'index.php') === false) ? '' : '/index.php'; + return home_url() . $indexphp . '/' . $slug . '.xml'; + } + } + + /** + * Calculate the change frequency for a specific item. + * + * @copyright (c) 2006 - 2009 www.phpbb-seo.com + */ + function cal_frequency($item = '', $lastmod = '') + { + global $bwp_gxs; + + if (empty($this->now)) + $this->now = $this->set_current_time(); + + $lastmod = (is_object($item)) ? $item->post_modified : $lastmod; + + if (empty($lastmod)) + $freq = $bwp_gxs->options['select_default_freq']; + else + { + $time = $this->now - strtotime($lastmod); + $freq = $time > 30000000 ? 'yearly' : ($time > 2592000 ? 'monthly' : ($time > 604800 ? 'weekly' : ($time > 86400 ? 'daily' : ($time > 43200 ? 'hourly' : 'always')))); + } + return apply_filters('bwp_gxs_freq', $freq, $item); + } + + /** + * Calculate the priority for a specific item. + * + * This is just a basic way to calculate priority and module should use its own function instead. + * Search engines don't really care about priority and change frequency much, do they ;)? + */ + function cal_priority($item, $freq = 'daily') + { + global $bwp_gxs; + + if (empty($this->now)) + $this->now = $this->set_current_time(); + + if (!is_object($item)) // determine score by change frequency + $score = $this->freq_to_pri[$freq]; + else + { + $comment = (!empty($item->comment_count)) ? $item->comment_count : 1; + // There is no magic behind this, number of comments and freshness define priority + // yes, 164 is a lucky (and random) number :). Actually this number works well with current Unix Timestamp, + // which is larger than 13m. + $score = $this->now + ($this->now - (int) strtotime($item->post_modified)) / $comment * 164; + $score = $this->now / $score; + } + + $score = ($score < $bwp_gxs->options['select_min_pri']) ? $bwp_gxs->options['select_min_pri'] : $score; + + // For people who doesn't like using module + return apply_filters('bwp_gxs_priority_score', $score, $item, $freq); + } + + function format_lastmod($lastmod) + { + global $bwp_gxs; + // Hit or miss :-? + $lastmod = $lastmod - get_option('gmt_offset') * 3600; + if ('yes' == $bwp_gxs->options['enable_gmt']) + return gmdate('c', (int) $lastmod); + else + return date('c', (int) $lastmod); + } + + function post_type_uses($post_type, $taxonomy_object) + { + if (isset($taxonomy_object->object_type) && is_array($taxonomy_object->object_type) && in_array($post_type, $taxonomy_object->object_type)) + return true; + return false; + } + + function get_post_by_post_type($post_type, $result) + { + if (!isset($result) || !is_array($result)) + return false; + + for ($i = 0; $i < sizeof($result); $i++) + { + $post = $result[$i]; + if ($post_type == $post->post_type) + return $post; + } + + return false; + } + + function sort_data_by($column = 'lastmod') + { + if (!isset($this->data[0][$column])) + return false; + // Obtain a list of columns + $lastmod = array(); + for ($i = 0; $i < sizeof($this->data); $i++) + $lastmod[$i] = $this->data[$i][$column]; + // Add $data as the last parameter, to sort by the common key + array_multisort($lastmod, SORT_DESC, $this->data); + } + + function using_permalinks() + { + $perma_struct = get_option('permalink_structure'); + return (!empty($perma_struct)); + } + + /** + * Get term links without using any SQL queries and the cache. + */ + function get_term_link($term, $taxonomy = '') + { + global $wp_rewrite; + + $taxonomy = $term->taxonomy; + $termlink = $wp_rewrite->get_extra_permastruct($taxonomy); + $slug = $term->slug; + $t = get_taxonomy($taxonomy); + + if (empty($termlink)) + { + if ('category' == $taxonomy) + $termlink = '?cat=' . $term->term_id; + elseif ($t->query_var) + $termlink = "?$t->query_var=$slug"; + else + $termlink = "?taxonomy=$taxonomy&term=$slug"; + $termlink = home_url($termlink); + } + else + { + if ($t->rewrite['hierarchical'] && !empty($term->parent)) + { + $hierarchical_slugs = array(); + $ancestors = get_ancestors($term->term_id, $taxonomy); + foreach ((array)$ancestors as $ancestor) + { + $ancestor_term = get_term($ancestor, $taxonomy); + $hierarchical_slugs[] = $ancestor_term->slug; + } + $hierarchical_slugs = array_reverse($hierarchical_slugs); + $hierarchical_slugs[] = $slug; + $termlink = str_replace("%$taxonomy%", implode('/', $hierarchical_slugs), $termlink); + } + else + { + $termlink = str_replace("%$taxonomy%", $slug, $termlink); + } + $termlink = home_url( user_trailingslashit($termlink, 'category') ); + } + + // Back Compat filters. + if ('post_tag' == $taxonomy) + $termlink = apply_filters('tag_link', $termlink, $term->term_id); + elseif ('category' == $taxonomy) + $termlink = apply_filters('category_link', $termlink, $term->term_id); + + return apply_filters('term_link', $termlink, $term, $taxonomy); + } + + function get_post_permalink($leavename = false, $sample = false) + { + global $wp_rewrite, $post; + + if (is_wp_error($post)) + return $post; + + $post_link = $wp_rewrite->get_extra_permastruct($post->post_type); + $slug = $post->post_name; + $draft_or_pending = isset($post->post_status) && in_array($post->post_status, array('draft', 'pending', 'auto-draft')); + $post_type = get_post_type_object($post->post_type); + + if (!empty($post_link) && (!$draft_or_pending || $sample)) + { + if (!$leavename) + $post_link = str_replace("%$post->post_type%", $slug, $post_link); + $post_link = home_url(user_trailingslashit($post_link)); + } + else + { + if ($post_type->query_var && (isset($post->post_status) && !$draft_or_pending)) + $post_link = add_query_arg($post_type->query_var, $slug, ''); + else + $post_link = add_query_arg(array('post_type' => $post->post_type, 'p' => $post->ID), ''); + $post_link = home_url($post_link); + } + + return apply_filters('post_type_link', $post_link, $post, $leavename, $sample); + } + + function get_permalink($leavename = false) + { + global $post; + + $rewritecode = array( + '%year%', + '%monthnum%', + '%day%', + '%hour%', + '%minute%', + '%second%', + $leavename? '' : '%postname%', + '%post_id%', + '%category%', + '%author%', + $leavename? '' : '%pagename%', + ); + + if (!isset($post) || !is_object($post)) + return ''; + + $custom_post_types = get_post_types(array('_builtin' => false)); + if (!isset($this->post_type)) + $this->post_type = get_post_type_object($post->post_type); + + if ('post' != $post->post_type && !in_array($post->post_type, $custom_post_types)) + return ''; + + if (in_array($post->post_type, $custom_post_types)) + { + if ($this->post_type->hierarchical) + { + wp_cache_add($post->ID, $post, 'posts'); + return get_post_permalink($post->ID, $leavename); + } + else + return $this->get_post_permalink(); + } + + // In case module author doesn't initialize this variable + $permalink = (empty($this->perma_struct)) ? get_option('permalink_structure') : $this->perma_struct; + $permalink = apply_filters('pre_post_link', $permalink, $post, $leavename); + if ('' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft'))) + { + $unixtime = strtotime($post->post_date); + $category = ''; + if (strpos($permalink, '%category%') !== false) + { + // If this post belongs to a category with a parent, we have to rely on WordPress to build our permalinks + // This can cause white page for sites that have a lot of posts, don't blame this plugin, blame WordPress ;) + if (empty($post->slug) || !empty($post->parent)) + { + $cats = get_the_category($post->ID); + if ($cats) + { + usort($cats, '_usort_terms_by_ID'); // order by ID + $category = $cats[0]->slug; + if ($parent = $cats[0]->parent) + $category = get_category_parents($parent, false, '/', true) . $category; + } + } + else + $category = (strpos($permalink, '%category%') !== false) ? $post->slug : ''; + + if (empty($category)) + { + $default_category = get_category( get_option( 'default_category' ) ); + $category = is_wp_error($default_category) ? '' : $default_category->slug; + } + } + $author = ''; + if (strpos($permalink, '%author%') !== false) + { + $authordata = get_userdata($post->post_author); + $author = $authordata->user_nicename; + } + + $date = explode(' ', date('Y m d H i s', $unixtime)); + $rewritereplace = + array( + $date[0], + $date[1], + $date[2], + $date[3], + $date[4], + $date[5], + $post->post_name, + $post->ID, + $category, + $author, + $post->post_name + ); + + $permalink = home_url(str_replace($rewritecode, $rewritereplace, $permalink)); + $permalink = user_trailingslashit($permalink, 'single'); + } + else // if they're not using the fancy permalink option + $permalink = home_url('?p=' . $post->ID); + + return apply_filters('post_link', $permalink, $post, $leavename); + } + + /** + * Always call this function when you query for something. + * + * $query_str should be already escaped using either $wpdb->escape() or $wpdb->prepare(). + */ + function get_results($query_str) + { + global $bwp_gxs, $wpdb; + + $start = (!empty($this->url_sofar)) ? $this->offset + (int) $this->url_sofar : $this->offset; + $end = (int) $bwp_gxs->options['input_sql_limit']; + $limit = $this->limit; + // If we exceed the actual limit, limit $end to the correct limit - @since 1.1.5 + if ($this->url_sofar + $end > $limit) + $end = $limit - $this->url_sofar; + $query_str = trim($query_str); + $query_str .= ' LIMIT ' . $start . ',' . $end; + + return $wpdb->get_results($query_str); + } + + /** + * Always call this function when you query for something. + * + * $query_str should be similar to what WP_Query accepts. + */ + function query_posts($query_str) + { + $this->circle += 1; + if (is_array($query_str)) + { + $query_str['posts_per_page'] = (int) $bwp_gxs->options['input_sql_limit']; + $query_str['paged'] = $this->circle; + } + else if (is_string($query_str)) + { + $query_str = trim($query_str); + $query_str .= '&posts_per_page=' . (int) $bwp_gxs->options['input_sql_limit']; + $query_str .= '&paged=' . $this->circle; + } + $query = new WP_Query($query_str); + return $query; + } + + function generate_data() + { + return false; + } + + function build_data($sort_column = '') + { + global $bwp_gxs; + + // Use part limit or global item limit - @since 1.1.0 + $this->limit = (empty($this->part)) ? $bwp_gxs->options['input_item_limit'] : $bwp_gxs->options['input_split_limit_post']; + // If this is a Google News sitemap, limit is 1000 + $this->limit = ('news' == $this->type) ? 1000 : $this->limit; + $this->offset = (empty($this->part)) ? 0 : ($this->part - 1) * $bwp_gxs->options['input_split_limit_post']; + + while ($this->url_sofar < $this->limit && false != $this->generate_data()) + $this->url_sofar = sizeof($this->data); + + // Sort the data by preference + if (!empty($sort_column)) + $this->sort_data_by($sort_column); + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-simple-gxs.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-simple-gxs.php new file mode 100644 index 0000000..2c9f42e --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/class-bwp-simple-gxs.php @@ -0,0 +1,1862 @@ + + * + * 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 3 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, see . + */ + +if (!class_exists('BWP_FRAMEWORK')) + require_once(dirname(__FILE__) . '/class-bwp-framework.php'); + +class BWP_SIMPLE_GXS extends BWP_FRAMEWORK { + + /** + * Debugging the plugin + */ + var $debug = true, $logs = array('log' => array(), 'sitemap' => array()); + + /** + * Modules to load when generating sitemapindex + */ + var $allowed_modules = array(), $requested_modules = array(); + + /** + * Directory to load modules from + */ + var $module_directory = ''; + + /** + * The permalink structure for sitemap files + */ + var $module_url = array(); + + /** + * Frequency & priority + */ + var $frequency = array('always', 'hourly', 'daily', 'weekly', 'monthly', 'yearly', 'never'); + var $priority = array('0.1' => 0.1, '0.2' => 0.2, '0.3' => 0.3, '0.4' => 0.4, '0.5' => 0.5, '0.6' => 0.6, '0.7' => 0.7, '0.8' => 0.8, '0.9' => 0.9, '1.0' => 1.0); + + /** + * Other properties + */ + var $post_types, $taxonomies, $terms, $cache_time, $module_data, $output, $output_num = 0, $num_log = 25; + var $templates = array(), $module_map = array(); + var $sitemap_alias = array(), $use_permalink = true, $query_var_non_perma = ''; + var $ping_per_day = 100, $timeout = 3; + var $xslt = '', $xslt_index = ''; + // @since 1.0.1 + var $build_data = array('time', 'mem', 'query'); + + // @since 1.2.0 + private $_ping_sitemap = 'sitemapindex'; + + /** + * Constructor + */ + function __construct($version = '1.2.2') + { + // Plugin's title + $this->plugin_title = 'BWP Google XML Sitemaps'; + // Plugin's version + $this->set_version($version); + $this->set_version('3.0', 'wp'); + // Basic version checking + if (!$this->check_required_versions()) + return; + + // Default options + $options = array( + 'enable_cache' => 'yes', + 'enable_cache_auto_gen' => 'yes', + 'enable_gzip' => '', + 'enable_php_clean' => 'yes', + 'enable_xslt' => 'yes', + 'enable_sitemap_date' => '', + 'enable_sitemap_taxonomy' => 'yes', + 'enable_sitemap_external' => '', + 'enable_sitemap_split_post' => 'yes', + 'enable_sitemap_author' => '', + 'enable_sitemap_site' => 'yes', + 'enable_stats' => 'yes', + 'enable_credit' => 'yes', + 'enable_ping' => 'yes', + 'enable_ping_google' => 'yes', + 'enable_ping_bing' => 'yes', + //'enable_ping_ask' => '', + 'enable_log' => 'yes', + 'enable_debug' => '', + 'enable_robots' => 'yes', + 'enable_global_robots' => '', + 'enable_gmt' => 'yes', + // Google news options + 'enable_news_sitemap' => '', + 'enable_news_keywords' => '', + 'enable_news_ping' => '', + 'enable_news_multicat' => '', + 'select_news_lang' => 'en', + 'select_news_keyword_type' => 'cat', + 'select_news_cat_action' => 'inc', + 'select_news_cats' => '', + 'input_news_genres' => array(), + // End of Google news options + 'input_exclude_post_type' => '', + 'input_exclude_taxonomy' => 'post_tag', + 'input_cache_age' => 1, + 'input_item_limit' => 5000, + 'input_split_limit_post' => 5000, + 'input_alt_module_dir' => $this->uni_path_sep(ABSPATH), + 'input_oldest' => 7, + 'input_sql_limit' => 1000, + 'input_custom_xslt' => '', + 'select_output_type' => 'concise', + 'select_time_type' => 3600, + 'select_oldest_type' => 16400, + 'select_default_freq' => 'daily', + 'select_default_pri' => 1.0, + 'select_min_pri' => 0.1, + 'input_cache_dir' => '', + 'input_ping' => array( + 'google' => 'http://www.google.com/webmasters/sitemaps/ping?sitemap=%s', + 'bing' => 'http://www.bing.com/webmaster/ping.aspx?siteMap=%s'), + //'ask' => 'http://submissions.ask.com/ping?sitemap=%s'), + 'input_sitemap_url' => '', + 'input_sitemap_struct' => '' + ); + // Super admin only options + $this->site_options = array('enable_robots', 'enable_global_robots', 'enable_log', 'enable_debug', 'enable_ping', 'enable_ping_google', 'enable_ping_bing', /* 'enable_ping_ask', */ 'enable_gzip', 'enable_php_clean', 'enable_cache', 'enable_cache_auto_gen', 'input_cache_age', 'input_alt_module_dir', 'input_sql_limit', 'input_cache_dir', 'select_time_type'); + + $this->build_properties('BWP_GXS', 'bwp-simple-gxs', $options, 'BWP Google XML Sitemaps', dirname(dirname(__FILE__)) . '/bwp-simple-gxs.php', 'http://betterwp.net/wordpress-plugins/google-xml-sitemaps/', false); + + $this->add_option_key('BWP_GXS_STATS', 'bwp_gxs_stats', __('Sitemap Statistics', 'bwp-simple-gxs')); + $this->add_option_key('BWP_GXS_OPTION_GENERATOR', 'bwp_gxs_generator', __('Sitemap Generator', 'bwp-simple-gxs')); + $this->add_option_key('BWP_GXS_GOOGLE_NEWS', 'bwp_gxs_google_news', __('News Sitemap', 'bwp-simple-gxs')); + + define('BWP_GXS_LOG', 'bwp_gxs_log'); + define('BWP_GXS_PING', 'bwp_gxs_ping_data'); + + $this->init(); + } + + function init_properties() + { + $this->module_directory = plugin_dir_path($this->plugin_file) . 'includes/modules/'; + + $this->templates = array( + // Sitemap index + 'sitemap' => "\n\t" . '' . "\n\t\t" . '%s%s' . "\n\t" . '', + // Normal sitemap + 'url' => "\n\t" . '' . "\n\t\t" . '%1$s%2$s%3$s%4$s' . "\n\t" . '', + 'lastmod' => "\n\t\t" . '%s', + 'changefreq' => "\n\t\t" . '%s', + 'priority' => "\n\t\t" . '%.1f', + // Google News Sitemap + 'news' => "\n\t" . '' . "\n\t\t" . '%1$s' . "\n\t\t" . '%2$s%3$s%4$s%5$s%6$s' . "\n\t\t" . '' . "\n\t" . '', + 'news_publication' => "\n\t\t\t" . '%1$s%2$s', + 'news_name' => "\n\t\t\t\t" . '%s', + 'news_language' => "\n\t\t\t\t" . '%s', + 'news_genres' => "\n\t\t\t" . '%s', + 'news_pub_date' => "\n\t\t\t" . '%s', + 'news_title' => "\n\t\t\t" . '%s', + 'news_keywords' => "\n\t\t\t" . '%s', + // Misc + 'xslt_style' => '', + 'stats' => "\n" . '' + /*'stats_cached' => "\n" . ''*/ + ); + + $this->init_gzip(); + + $this->cache_time = (int) $this->options['input_cache_age'] * (int) $this->options['select_time_type']; + $this->oldest_time = (int) $this->options['input_oldest'] * (int) $this->options['select_oldest_type']; + $this->options['input_cache_dir'] = plugin_dir_path($this->plugin_file) . 'cache/'; + $this->options['input_cache_dir'] = $this->uni_path_sep($this->options['input_cache_dir']); + + $module_map = apply_filters('bwp_gxs_module_mapping', array()); + $this->module_map = wp_parse_args($module_map, array('post_format' => 'post_tag')); + + // Logs + $this->logs = get_option(BWP_GXS_LOG); + if (!$this->logs) + $this->logs = array('log' => array(), 'sitemap' => array()); + foreach ($this->logs as $key => $log) + if (is_array($log) && $this->num_log < sizeof($log)) + { + $log = array_slice($log, (-1) * $this->num_log); + $this->logs[$key] = $log; + } + + // Sitemap based on permastruct + $permalink = get_option('permalink_structure'); + if (!$permalink) + { + $this->use_permalink = false; + $this->query_var_non_perma = apply_filters('bwp_gxs_query_var_non_perma', 'bwpsitemap'); + $this->options['input_sitemap_url'] = home_url() . '/?' . $this->query_var_non_perma . '=sitemapindex'; + $this->options['input_sitemap_struct'] = home_url() . '/?' . $this->query_var_non_perma . '=%s'; + } + else + { + // If user is using index.php in their permalink structure, we will have to include it also + $indexphp = (strpos($permalink, 'index.php') === false) ? '' : '/index.php'; + $this->options['input_sitemap_url'] = home_url() . $indexphp . '/sitemapindex.xml'; + $this->options['input_sitemap_struct'] = home_url() . $indexphp . '/%s.xml'; + } + + // No more than 50000 URLs per sitemap + if (50000 < (int) $this->options['input_item_limit']) + $this->options['input_item_limit'] = 50000; + + // Limit per split sitemap - @since 1.1.0 + // Not higher than 50000 URLs and must be >= SQL cycling limit + if ($this->options['input_split_limit_post'] < $this->options['input_sql_limit']) + $this->options['input_split_limit_post'] = $this->options['input_sql_limit']; + if (50000 < (int) $this->options['input_split_limit_post']) + $this->options['input_split_limit_post'] = 50000; + + // XSLT style sheet + if ('yes' == $this->options['enable_xslt']) + { + // If the host the user is using is different from what we get from 'home' option, we need to use the host + // so user won't see a style sheet error, which is most of the time mistaken as broken sitemaps - @since 1.1.0 + $user_host = strtolower($_SERVER['HTTP_HOST']); + $blog_home = @parse_url(home_url()); + $blog_host = strtolower($blog_home['host']); + $this->xslt = (!empty($this->options['input_custom_xslt'])) ? $this->options['input_custom_xslt'] : plugin_dir_url($this->plugin_file) . 'xsl/bwp-sitemap.xsl'; + $this->xslt = ($user_host == $blog_host) ? $this->xslt : str_replace($blog_host, $user_host, $this->xslt); + add_action('init', array($this, 'late_init'), 99999); + } + + // Some stats + $this->build_stats['mem'] = memory_get_usage(); + } + + function late_init() + { + $this->xslt = apply_filters('bwp_gxs_xslt', $this->xslt); + $this->xslt_index = (empty($this->xslt)) ? '' : str_replace('.xsl', 'index.xsl', $this->xslt); + // Update from 1.1.4 to 1.1.5 + $db_options = get_option(BWP_GXS_OPTION_GENERATOR); + if (!isset($db_options['enable_sitemap_site'])) + self::flush_rewrite_rules(); + } + + function enqueue_media() + { + if (is_admin()) + wp_enqueue_style('bwp-gxs-admin', BWP_GXS_CSS . '/bwp-simple-gxs.css'); + } + + function insert_query_vars($vars) + { + if (!$this->use_permalink) + array_push($vars, $this->query_var_non_perma); + else + { + array_push($vars, 'gxs_module'); + array_push($vars, 'gxs_sub_module'); + } + return $vars; + } + + function insert_rewrite_rules($rules) + { + // More compatible with blogs that are set up with sitemap.xml - @since 1.0.1 + $rewrite_rules = array( + 'sitemap\.xml$' => 'index.php?gxs_module=sitemapindex', + 'sitemapindex\.xml$' => 'index.php?gxs_module=sitemapindex', + 'site\.xml$' => 'index.php?gxs_module=site', + 'page\.xml$' => 'index.php?gxs_module=page', + 'post\.xml$' => 'index.php?gxs_module=post', + 'author\.xml$' => 'index.php?gxs_module=author', + '([a-z0-9]+)_([a-z0-9_-]+)\.xml$' => 'index.php?gxs_module=$matches[1]&gxs_sub_module=$matches[2]' + ); + // @since 1.0.3 + $custom_rules = apply_filters('bwp_gxs_rewrite_rules', array()); + $rules = array_merge($custom_rules, $rewrite_rules, $rules); + return $rules; + } + + private static function flush_rewrite_rules() + { + global $wp_rewrite; + $wp_rewrite->flush_rules(); + } + + function add_hooks() + { + add_filter('rewrite_rules_array', array($this, 'insert_rewrite_rules')); + add_filter('query_vars', array($this, 'insert_query_vars')); + add_action('parse_request', array($this, 'request_sitemap')); + // @see `wp_transition_post_status` in wp-includes/post.php + if ('yes' == $this->options['enable_ping']) + { + add_action('auto-draft_to_publish', array($this, 'ping'), 1000); + add_action('draft_to_publish', array($this, 'ping'), 1000); + add_action('new_to_publish', array($this, 'ping'), 1000); + add_action('pending_to_publish', array($this, 'ping'), 1000); + add_action('future_to_publish', array($this, 'ping'), 1000); + } + // Enable ping for news sitemap + if ('yes' == $this->options['enable_news_ping']) + { + add_action('auto-draft_to_publish', array($this, 'ping_google_news'), 1000); + add_action('draft_to_publish', array($this, 'ping_google_news'), 1000); + add_action('new_to_publish', array($this, 'ping_google_news'), 1000); + add_action('pending_to_publish', array($this, 'ping_google_news'), 1000); + add_action('future_to_publish', array($this, 'ping_google_news'), 1000); + } + if ('yes' == $this->options['enable_robots']) + { + add_filter('robots_txt', array($this, 'do_robots'), 1000, 2); + } + } + + function install() + { + global $wp_rewrite; + $wp_rewrite->flush_rules(); + } + + function uninstall() + { + global $wp_rewrite; + $this->logs = array('log' => array(), 'sitemap' => array()); + $this->commit_logs(); + $wp_rewrite->flush_rules(); + } + + /** + * Build the Menus + */ + function build_menus() + { + // Give BWP GXS its own menus - create plugin's own menu if allowed + if (!empty($this->_menu_under_settings)) + { + add_options_page(__('BWP Google XML Sitemaps Statistics', 'bwp-simple-gxs'), __('Sitemap Statistics', 'bwp-simple-gxs'), BWP_GXS_CAPABILITY, BWP_GXS_STATS, array($this, 'build_option_pages')); + add_options_page(__('BWP Google XML Sitemaps Generator', 'bwp-simple-gxs'), __('Sitemap Generator', 'bwp-simple-gxs'), BWP_GXS_CAPABILITY, BWP_GXS_OPTION_GENERATOR, array($this, 'build_option_pages')); + add_options_page(__('BWP Google News XML Sitemap', 'bwp-simple-gxs'), __('News Sitemap', 'bwp-simple-gxs'), BWP_GXS_CAPABILITY, BWP_GXS_GOOGLE_NEWS, array($this, 'build_option_pages')); + } + else + { + add_menu_page(__('BWP Google XML Sitemaps', 'bwp-simple-gxs'), 'BWP GXS', BWP_GXS_CAPABILITY, BWP_GXS_STATS, array($this, 'build_option_pages'), BWP_GXS_IMAGES . '/icon_menu.png'); + add_submenu_page(BWP_GXS_STATS, __('BWP Google XML Sitemaps Statistics', 'bwp-simple-gxs'), __('Sitemap Statistics', 'bwp-simple-gxs'), BWP_GXS_CAPABILITY, BWP_GXS_STATS, array($this, 'build_option_pages')); + add_submenu_page(BWP_GXS_STATS, __('BWP Google XML Sitemaps Generator', 'bwp-simple-gxs'), __('Sitemap Generator', 'bwp-simple-gxs'), BWP_GXS_CAPABILITY, BWP_GXS_OPTION_GENERATOR, array($this, 'build_option_pages')); + add_submenu_page(BWP_GXS_STATS, __('BWP Google News XML Sitemap', 'bwp-simple-gxs'), __('News Sitemap', 'bwp-simple-gxs'), BWP_GXS_CAPABILITY, BWP_GXS_GOOGLE_NEWS, array($this, 'build_option_pages')); + } + } + + /** + * Build the option pages + * + * Utilizes BWP Option Page Builder (@see BWP_OPTION_PAGE) + */ + function build_option_pages() + { + if (!current_user_can(BWP_GXS_CAPABILITY)) + wp_die(__('You do not have sufficient permissions to access this page.')); + + // Init the class + $page = $_GET['page']; + $bwp_option_page = new BWP_OPTION_PAGE($page, $this->site_options); + + $options = array(); + $dynamic_options = array(); + +if (!empty($page)) +{ + if ($page == BWP_GXS_STATS) + { + $bwp_option_page->set_current_tab(1); + + // Clear logs = @since 1.1.0 + if (isset($_POST['clear_log']) && !$this->is_normal_admin()) + { + check_admin_referer($page); + $this->logs = array('log' => array(), 'sitemap' => array()); + $this->commit_logs(); + $this->add_notice('' . __('Notice', 'bwp-simple-gxs') . ': ' . __("All logs have been cleared successfully!", 'bwp-simple-gxs')); + } + + $form = array( + 'items' => array('heading', 'heading', 'heading', 'heading', 'checkbox', 'section', 'heading', 'checkbox', 'checkbox'), + 'item_labels' => array + ( + __('What are Sitemaps?', 'bwp-simple-gxs'), + __('Your sitemaps', 'bwp-simple-gxs'), + __('Submit your sitemaps', 'bwp-simple-gxs'), + __('Pinging search engines', 'bwp-simple-gxs'), + __('Enable pinging functionality?', 'bwp-simple-gxs'), + __('Enable pinging individual SE', 'bwp-simple-gxs'), + __('Sitemap Generator\'s Log', 'bwp-simple-gxs'), + __('Enable logging?', 'bwp-simple-gxs'), + __('Enable debugging?', 'bwp-simple-gxs') + ), + 'item_names' => array('h1', 'h2', 'h4', 'h5', 'cb1', 'sec1', 'h3', 'cb2', 'cb3'), + 'sec1' => array( + array('checkbox', 'name' => 'cb4'), + array('checkbox', 'name' => 'cb6') + //array('checkbox', 'name' => 'cb7') + ), + 'heading' => array( + 'h1' => __('In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site — http://www.sitemaps.org/', 'bwp-simple-gxs') . '

    ' . __('This plugin helps you generate both Sitemap Index files as well as normal Sitemap files. A Sitemap Index, as its name suggests, is one kind of sitemaps that allows you to group multiple sitemap files inside it.', 'bwp-simple-gxs'), + 'h2' => __('Basic information about all your sitemaps.', 'bwp-simple-gxs'), + 'h3' => __('More detailed information about how your sitemaps are generated including notices, errors and success messages.', 'bwp-simple-gxs'), + 'h4' => sprintf(__('Submit your sitemapindex to major search engines like Google, Bing.', 'bwp-simple-gxs'), 'https://www.google.com/webmasters/tools/home?hl=en', 'http://www.bing.com/toolbox/webmasters/'/*, 'http://about.ask.com/en/docs/about/webmasters.shtml#22'*/), + 'h5' => __('Now when you post something new to your blog, you can ping those search engines to tell them your blog just got updated. Pinging could be less effective than you think it is but you should enable such feature anyway.', 'bwp-simple-gxs') + ), + 'input' => array( + ), + 'checkbox' => array( + 'cb1' => array(__('Selected SE below will be pinged when you publish new posts.', 'bwp-simple-gxs') => 'enable_ping'), + 'cb2' => array(__('No additional load is needed so enabling this is recommended.', 'bwp-simple-gxs') => 'enable_log'), + 'cb3' => array(__('Minor errors will be printed on screen. Also, when debug is on, no caching is used, useful when you develop new modules.', 'bwp-simple-gxs') => 'enable_debug'), + 'cb4' => array(__('Google', 'bwp-simple-gxs') => 'enable_ping_google'), + 'cb6' => array(__('Bing', 'bwp-simple-gxs') => 'enable_ping_bing') + //'cb7' => array(__('Ask.com', 'bwp-simple-gxs') => 'enable_ping_ask') + ), + 'container' => array( + 'h4' => sprintf(__('After you activate this plugin, all sitemaps should be available right away. The next step is to submit the sitemapindex to major search engines. You only need the sitemapindex and nothing else, those search engines will automatically recognize other included sitemaps. You can read a small How-to if you are interested.', 'bwp-simple-gxs'), 'http://help.yahoo.com/l/us/yahoo/smallbusiness/store/promote/sitemap/sitemap-06.html'), + 'h3' => $this->get_logs(), + 'h2' => $this->get_logs(true) + ) + ); + + // Add a clear log button - @since 1.1.0 + if (!$this->is_normal_admin()) + add_filter('bwp_option_submit_button', array($this, 'add_clear_log_button')); + + // Get the options + $options = $bwp_option_page->get_options(array('enable_ping', 'enable_ping_google', 'enable_ping_bing', /*'enable_ping_ask',*/ 'enable_log', 'enable_debug'), $this->options); + + // Get option from the database + $options = $bwp_option_page->get_db_options($page, $options); + $option_ignore = array('input_update_services'); + $option_formats = array(); + // [WPMS Compatible] + $option_super_admin = $this->site_options; + } + else if ($page == BWP_GXS_OPTION_GENERATOR) + { + $bwp_option_page->set_current_tab(2); + + //add_filter('bwp_ad_showable', function() { return false;}); + + $form = array( + 'items' => array('input', 'select', 'select', 'select', 'checkbox', 'checkbox', 'input', 'checkbox', 'checkbox', 'checkbox', 'checkbox', 'heading', 'checkbox', 'checkbox', 'checkbox', 'section', 'section', 'section', 'heading', 'input', 'input', 'heading', 'checkbox', 'checkbox', 'input', 'input'), + 'item_labels' => array + ( + __('Output no more than', 'bwp-simple-gxs'), + __('Default change frequency', 'bwp-simple-gxs'), + __('Default priority', 'bwp-simple-gxs'), + __('Minimum priority', 'bwp-simple-gxs'), + __('Use GMT for Last Modified date?', 'bwp-simple-gxs'), + __('Style your sitemaps with an XSLT stylesheet?', 'bwp-simple-gxs'), + __('Custom XSLT stylesheet URL', 'bwp-simple-gxs'), + __('Show build stats in sitemaps?', 'bwp-simple-gxs'), + __('Enable credit?', 'bwp-simple-gxs'), + __('Enable Gzip?', 'bwp-simple-gxs'), + __('Clean unexpected output before sitemap generation?', 'bwp-simple-gxs'), + __('Sitemap Index Options', 'bwp-simple-gxs'), + __('Automatically split post-based sitemaps into smaller sitemaps?', 'bwp-simple-gxs'), + __('Add sitemapindex to individual blog\'s virtual robots.txt?', 'bwp-simple-gxs'), + __('Add sitemapindex from all blogs within network to primary blog\'s virtual robots.txt?', 'bwp-simple-gxs'), + __('In sitemapindex, include', 'bwp-simple-gxs'), + __('Exclude following post types:', 'bwp-simple-gxs'), + __('Exclude following taxonomies:', 'bwp-simple-gxs'), + __('Module Options', 'bwp-simple-gxs'), + __('Alternate module directory', 'bwp-simple-gxs'), + __('Get no more than', 'bwp-simple-gxs'), + __('Caching Options', 'bwp-simple-gxs'), + __('Enable caching?', 'bwp-simple-gxs'), + __('Enable auto cache re-generation?', 'bwp-simple-gxs'), + __('Cached sitemaps will last for', 'bwp-simple-gxs'), + __('Cached sitemaps are stored in (auto detected)', 'bwp-simple-gxs') + ), + 'item_names' => array('input_item_limit', 'select_default_freq', 'select_default_pri', 'select_min_pri', 'cb14', 'cb10', 'input_custom_xslt', 'cb3', 'cb6', 'cb4', 'cb15', 'h5', 'cb12', 'cb11', 'cb5', 'sec1', 'sec2', 'sec3', 'h4', 'input_alt_module_dir', 'input_sql_limit', 'h3', 'cb1', 'cb2', 'input_cache_age', 'input_cache_dir'), + 'heading' => array( + 'h3' => __('Cache your sitemaps for better performance.', 'bwp-simple-gxs'), + 'h4' => sprintf(__('This plugin uses modules to build sitemap data so it is recommended that you extend this plugin using modules rather than hooks. Some of the settings below only affect modules extending the base module class. Read more about using modules here.', 'bwp-simple-gxs'), $this->plugin_url), + 'h5' => __('Here you can change some settings that affect the default Sitemap Index file.', 'bwp-simple-gxs') + ), + 'sec1' => array( + array('checkbox', 'name' => 'cb7'), + //array('checkbox', 'name' => 'cb8'), + array('checkbox', 'name' => 'cb9'), + array('checkbox', 'name' => 'cb13'), + array('checkbox', 'name' => 'cb16'), + array('checkbox', 'name' => 'cb17') + ), + 'sec2' => array(), + 'sec3' => array(), + 'select' => array( + 'select_time_type' => array( + __('second(s)', 'bwp-simple-gxs') => 1, + __('minute(s)', 'bwp-simple-gxs') => 60, + __('hour(s)', 'bwp-simple-gxs') => 3600, + __('day(s)', 'bwp-simple-gxs') => 86400 + ), + 'select_oldest_type' => array( + __('second(s)', 'bwp-simple-gxs') => 1, + __('minute(s)', 'bwp-simple-gxs') => 60, + __('hour(s)', 'bwp-simple-gxs') => 3600, + __('day(s)', 'bwp-simple-gxs') => 86400 + ), + 'select_default_freq' => array(), + 'select_default_pri' => $this->priority, + 'select_min_pri' => $this->priority + ), + 'post' => array( + 'select_default_freq' => sprintf('' . __('read more', 'bwp-simple-gxs') . '', 'http://sitemaps.org/protocol.php#xmlTagDefinitions'), + 'select_default_pri' => sprintf('' . __('read more', 'bwp-simple-gxs') . '', 'http://sitemaps.org/protocol.php#xmlTagDefinitions'), + 'select_min_pri' => sprintf('' . __('read more', 'bwp-simple-gxs') . '', 'http://sitemaps.org/protocol.php#xmlTagDefinitions') + ), + 'checkbox' => array( + 'cb1' => array(__('your sitemaps are generated and then cached to reduce unnecessary work.', 'bwp-simple-gxs') => 'enable_cache'), + 'cb2' => array(__('when a cached sitemap expires, this plugin will try to generate the cache again. If you disable this, remember to manually flush the cache once in a while.', 'bwp-simple-gxs') . ' ' => 'enable_cache_auto_gen'), + 'cb3' => array(__('tell you useful information such as build time, memory usage, SQL queries, etc.', 'bwp-simple-gxs') => 'enable_stats'), + 'cb4' => array(__('make your sitemaps ~ 70% smaller. Important: If you see an error after enabling this, it\'s very likely that you have gzip active on your server already.', 'bwp-simple-gxs') => 'enable_gzip'), + 'cb15' => array(__('only disable this when sitemaps appear in either blank page or plain text.', 'bwp-simple-gxs') => 'enable_php_clean'), + 'cb5' => array(sprintf(__("If you have like 50 blogs, 50 Sitemap: http://example.com/sitemapindex.xml entries will be added to your primary blog's robots.txt, i.e. %s.", 'bwp-simple-gxs'), get_site_option('home') . '/robots.txt') => 'enable_global_robots'), + 'cb7' => array(__("taxonomy archives' sitemaps, including custom taxonomies.", 'bwp-simple-gxs') => 'enable_sitemap_taxonomy'), + //'cb8' => array(__("tag archives' sitemap.", 'bwp-simple-gxs') => 'enable_sitemap_tag'), + 'cb9' => array(__("date archives' sitemaps.", 'bwp-simple-gxs') => 'enable_sitemap_date'), + 'cb13' => array(__("external pages' sitemap. This allows you to add links to pages that do not belong to WordPress to the sitemap.", 'bwp-simple-gxs') => 'enable_sitemap_external'), + 'cb6' => array(__('some copyrighted info is also added to your sitemaps. Thanks!', 'bwp-simple-gxs') => 'enable_credit'), + 'cb10' => array(__('This will load the default style sheet provided by this plugin. You can set a custom style sheet below or filter the bwp_gxs_xslt hook.', 'bwp-simple-gxs') => 'enable_xslt'), + 'cb11' => array(sprintf(__('If you\'re on a Multi-site installation with Sub-domain enabled, each site will have its own robots.txt, sites in sub-directory will not. Please read the documentation for more info.', 'bwp-simple-gxs'), $this->plugin_url) => 'enable_robots'), + 'cb12' => array(__('e.g. post1.xml, post2.xml, etc. And each sitemap will contain', 'bwp-simple-gxs') => 'enable_sitemap_split_post'), + 'cb14' => array(__('If you disable this, make sure you also use date_default_timezone_set to correctly set up a timezone for your application.', 'bwp-simple-gxs') => 'enable_gmt'), + 'cb16' => array(__('author archives\' sitemap.', 'bwp-simple-gxs') => 'enable_sitemap_author'), + 'cb17' => array(__('site\'s home URL sitemap. For a multi-site installation of WordPress, this sitemap will list all domains within your network, not just the main blog. This also supports WPMU Domain Mapping plugin.', 'bwp-simple-gxs') => 'enable_sitemap_site') + ), + 'input' => array( + 'input_item_limit' => array('size' => 5, 'label' => __('item(s) in one sitemap. You can not go over 50,000.', 'bwp-simple-gxs')), + 'input_split_limit_post' => array('size' => 5, 'label' => __('item(s). Again , you can not go over 50,000.', 'bwp-simple-gxs')), + 'input_alt_module_dir' => array('size' => 91, 'label' => __('Input a full path to the directory where you put your own modules (e.g. /home/mysite/public_html/gxs-modules/), you can also override a built-in module by having a module with the same filename in this directory. A filter is also available if you would like to use PHP instead.', 'bwp-simple-gxs')), + 'input_cache_dir' => array('size' => 91, 'disabled' => ' disabled="disabled"', 'label' => __('The cache directory must be writable (i.e. CHMOD to 755 or 777).', 'bwp-simple-gxs')), + 'input_sql_limit' => array('size' => 5, 'label' => __('item(s) in one SQL query. This helps you avoid running too heavy queries.', 'bwp-simple-gxs')), + 'input_oldest' => array('size' => 3, 'label' => '—'), + 'input_cache_age' => array('size' => 5, 'label' => '—'), + 'input_custom_xslt' => array('size' => 56, 'label' => __('expected to be an absolute URL, e.g. http://example.com/my-stylesheet.xsl. You must also have a style sheet for the sitemapindex that can be accessed through the above URL, e.g. my-stylesheet.xsl and my-stylesheetindex.xsl). Please leave blank if you do not wish to use.', 'bwp-simple-gxs')) + ), + 'inline_fields' => array( + 'input_cache_age' => array('select_time_type' => 'select'), + 'cb12' => array('input_split_limit_post' => 'input') + ), + 'container' => array( + 'input_item_limit' => sprintf(__('Note: If you encounter white page problem, please refer to the FAQ section to know how to change this limit appropriately to make this plugin work. Also note that, for post-based sitemaps, this option will be overridden by the limit you set in the Sitemap Index Options below.', 'bwp-simple-gxs'), $this->plugin_url . 'faq/') + ) + ); + + foreach ($this->frequency as $freq) + $changefreq[ucfirst($freq)] = $freq; + $form['select']['select_default_freq'] = $changefreq; + + // Get the options + $options = $bwp_option_page->get_options(array('input_item_limit', 'input_split_limit_post', 'input_alt_module_dir', 'input_cache_dir', 'input_sql_limit', 'input_cache_age', 'input_custom_xslt', 'input_exclude_post_type', 'input_exclude_taxonomy', 'enable_gmt', 'enable_robots', 'enable_xslt', 'enable_cache', 'enable_cache_auto_gen', 'enable_stats', 'enable_credit', 'enable_sitemap_split_post', 'enable_global_robots', 'enable_sitemap_date', 'enable_sitemap_taxonomy', 'enable_sitemap_external', 'enable_sitemap_author', 'enable_sitemap_site', 'enable_gzip', 'enable_php_clean', 'select_time_type', 'select_default_freq', 'select_default_pri', 'select_min_pri'), $this->options); + + // Get option from the database + $options = $bwp_option_page->get_db_options($page, $options); + + // Get dynamic options + if (isset($_POST['submit_' . $bwp_option_page->get_form_name()])) + { + check_admin_referer($page); + $ept = array(); $etax = array(); + foreach ($_POST as $o => $v) + { + if (strpos($o, 'ept_') === 0) + $ept[] = trim(str_replace('ept_', '', $o)); + else if (strpos($o, 'etax_') === 0) + $etax[] = trim(str_replace('etax_', '', $o)); + } + $options['input_exclude_post_type'] = implode(',', $ept); + $options['input_exclude_taxonomy'] = implode(',', $etax); + } + + // Build dynamic options + $post_types = get_post_types(array('public' => true), 'objects'); + $taxonomies = get_taxonomies(array('public' => true), ''); + $exclude_options = array( + 'post_types' => explode(',', $options['input_exclude_post_type']), + 'taxonomies' => explode(',', $options['input_exclude_taxonomy']) + ); + $dynamic_options = array(); + foreach ($post_types as $post_type) + { + if ('attachment' == $post_type->name) + continue; + $key = 'ept_' . $post_type->name; + $form['sec2'][] = array('checkbox', 'name' => $key); + $form['checkbox'][$key] = array(__($post_type->label) => $key); + if (in_array($post_type->name, $exclude_options['post_types'])) + $dynamic_options[$key] = 'yes'; + else + $dynamic_options[$key] = ''; + } + foreach ($taxonomies as $taxonomy) + { + if ('post_format' == $taxonomy->name) + continue; + $key = 'etax_' . $taxonomy->name; + $form['sec3'][] = array('checkbox', 'name' => $key); + $form['checkbox'][$key] = array(__($taxonomy->label) => $key); + if (in_array($taxonomy->name, $exclude_options['taxonomies'])) + $dynamic_options[$key] = 'yes'; + else + $dynamic_options[$key] = ''; + } + + $option_formats = array('input_item_limit' => 'int', 'input_split_limit_post' => 'int', 'input_sql_limit' => 'int', 'input_cache_age' => 'int', 'select_time_type' => 'int'); + $option_ignore = array('input_cache_dir', 'input_exclude_post_type', 'input_exclude_taxonomy'); + // [WPMS Compatible] + $option_super_admin = $this->site_options; + } + else if ($page == BWP_GXS_GOOGLE_NEWS) + { + $bwp_option_page->set_current_tab(3); + + // Save news categories settings + if (isset($_POST['submit_bwp_gxs_google_news'])) + { + check_admin_referer($page); + + // News cats & News genres + $news_cats = array(); + $news_genres = array(); + $categories = get_categories(array('hide_empty' => 0)); + foreach ($categories as $category) + { + if (!empty($_POST[$category->slug])) + $news_cats[] = $category->term_id; + if (isset($_POST[$category->slug . '_genres']) && is_array($_POST[$category->slug . '_genres'])) + { + $genres = $_POST[$category->slug . '_genres']; + $genres_string = array(); + foreach ($genres as $genre) + $genres_string[] = trim($genre); + $news_genres['cat_' . $category->term_id] = implode(', ', $genres_string); + } + } + $this->options['select_news_cats'] = implode(',', $news_cats); + $this->options['input_news_genres'] = $news_genres; + } + + $form = array( + 'items' => array('heading', 'checkbox', 'checkbox', 'checkbox', 'checkbox', 'select', 'heading', 'select'), + 'item_labels' => array + ( + __('What is a Google News Sitemap?', 'bwp-simple-gxs'), + __('Enable this module?', 'bwp-simple-gxs'), + __('Enable Multi-category Mode?', 'bwp-simple-gxs'), + __('Ping Search Engines when you publish a news article?', 'bwp-simple-gxs'), + __('Use keywords in News Sitemap?', 'bwp-simple-gxs'), + __('News Sitemap\'s language', 'bwp-simple-gxs'), + __('News Categories', 'bwp-simple-gxs'), + __('This module will', 'bwp-simple-gxs') + ), + 'item_names' => array('h1', 'cb1', 'cb4', 'cb3', 'cb2', 'select_news_lang', 'h2', 'select_news_cat_action'), + 'heading' => array( + 'h1' => __('A Google News Sitemap is a file that allows you to control which content you submit to Google News. By creating and submitting a Google News Sitemap, you\'re able to help Google News discover and crawl your site\'s articles — http://support.google.com/', 'bwp-simple-gxs'), + 'h2' => __('Below you will be able to choose what categories to use (or not use) in the news sitemap. You can also assign genres to a specific category.', 'bwp-simple-gxs') + ), + 'post' => array( + 'select_news_cat_action' => __('below selected categories in the news sitemap.', 'bwp-simple-gxs') + ), + 'select' => array( + 'select_news_lang' => array( + /* http://www.loc.gov/standards/iso639-2/php/code_list.php */ + __('English', 'bwp-simple-gxs') => 'en', + __('Dutch', 'bwp-simple-gxs') => 'nl', + __('French', 'bwp-simple-gxs') => 'fr', + __('German', 'bwp-simple-gxs') => 'de', + __('Italian', 'bwp-simple-gxs') => 'it', + __('Norwegian', 'bwp-simple-gxs') => 'no', + __('Portuguese', 'bwp-simple-gxs') => 'pt', + __('Polish', 'bwp-simple-gxs') => 'pl', + __('Russian', 'bwp-simple-gxs') => 'ru', + __('Simplified Chinese', 'bwp-simple-gxs') => 'zh-cn', + __('Spanish', 'bwp-simple-gxs') => 'es', + __('Turkish', 'bwp-simple-gxs') => 'tr', + __('Vietnamese', 'bwp-simple-gxs') => 'vi' + ), + 'select_news_cat_action' => array( + __('include', 'bwp-simple-gxs') => 'inc', + __('exclude', 'bwp-simple-gxs') => 'exc' + ), + 'select_news_keyword_type' => array( + __('news categories', 'bwp-simple-gxs') => 'cat', + __('news tags', 'bwp-simple-gxs') => 'tag' + ) + ), + 'input' => array( + ), + 'checkbox' => array( + 'cb1' => array(__('A new post_google_news.xml sitemap will be added to the main sitemapindex.xml.', 'bwp-simple-gxs') => 'enable_news_sitemap'), + 'cb2' => array(__('Keywords are derived from', 'bwp-simple-gxs') => 'enable_news_keywords'), + 'cb3' => array(__('This ping works separately from the sitemapindex ping, and only occurs when you publish an article in one of the news categories set below.', 'bwp-simple-gxs') => 'enable_news_ping'), + 'cb4' => array(__('This mode is meant for News Blogs that have posts assigned to more than one categories. It is an advanced feature and should only be enabled if you do have similar blogs.', 'bwp-simple-gxs') => 'enable_news_multicat') + ), + 'inline_fields' => array( + 'cb2' => array('select_news_keyword_type' => 'select') + ), + 'post' => array( + 'select_news_keyword_type' => __('. Do NOT use news tags if your news sitemap contains a lot of posts as it can be very inefficient to do so. This will be improved in future versions.', 'bwp-simple-gxs') + ), + 'container' => array( + 'select_news_cat_action' => $this->get_news_cats() + ) + ); + + // Get the options + $options = $bwp_option_page->get_options(array('enable_news_sitemap', 'enable_news_ping', 'enable_news_keywords', 'enable_news_multicat', 'select_news_lang', 'select_news_keyword_type', 'select_news_cat_action', 'select_news_cats', 'input_news_genres'), $this->options); + + // Get option from the database + $options = $bwp_option_page->get_db_options($page, $options); + $options['select_news_cats'] = $this->options['select_news_cats']; + $options['input_news_genres'] = $this->options['input_news_genres']; + $option_ignore = array('select_news_cats', 'input_news_genres'); + $option_formats = array(); + $option_super_admin = $this->site_options; + } +} + // Flush the cache + if (isset($_POST['flush_cache']) && !$this->is_normal_admin()) + { + check_admin_referer($page); + if ($deleted = $this->flush_cache()) + $this->add_notice('' . __('Notice', 'bwp-simple-gxs') . ': ' . sprintf(__("%d cached sitemaps have been flushed successfully!", 'bwp-simple-gxs'), $deleted)); + else + $this->add_notice('' . __('Notice', 'bwp-simple-gxs') . ': ' . __("Could not delete any cached sitemaps. Please manually check the cache directory.", 'bwp-simple-gxs')); + } + + // Get option from user input + if (isset($_POST['submit_' . $bwp_option_page->get_form_name()]) && isset($options) && is_array($options)) + { + check_admin_referer($page); + $need_flushed = false; + foreach ($options as $key => &$option) + { + $pre_option = $option; + // Get rid of options that do not have a key + if (preg_match('/^[0-9]+$/i', $key)) + { + unset($options[$key]); + continue; + } + // [WPMS Compatible] + if ($this->is_normal_admin() && in_array($key, $option_super_admin)) + {} + else if (in_array($key, $option_ignore)) + {} + else + { + if (isset($_POST[$key])) + $bwp_option_page->format_field($key, $option_formats); + if (!isset($_POST[$key])) + $option = ''; + else if (isset($option_formats[$key]) && 0 == $_POST[$key] && 'int' == $option_formats[$key]) + $option = 0; + else if (isset($option_formats[$key]) && empty($_POST[$key]) && 'int' == $option_formats[$key]) + $option = $this->options_default[$key]; + else if (!empty($_POST[$key])) + $option = trim(stripslashes($_POST[$key])); + else + $option = $this->options_default[$key]; + // Mark that we need to flush rewrite rules + if (false !== strpos($key, 'enable_sitemap_') && $pre_option != $option) + $need_flushed = true; + } + } + update_option($page, $options); + // Flush rewrite rules if needed + if ($need_flushed) + self::flush_rewrite_rules(); + // [WPMS Compatible] + if (!$this->is_normal_admin()) + update_site_option($page, $options); + // Update options successfully + $this->add_notice(__("All options have been saved.", 'bwp-simple-gxs')); + } + + // [WPMS Compatible] + if (!$this->is_multisite() && $page == BWP_GXS_OPTION_GENERATOR) + $bwp_option_page->kill_html_fields($form, array(14)); + if ($this->is_normal_admin()) + { + switch ($page) + { + case BWP_GXS_OPTION_GENERATOR: + $bwp_option_page->kill_html_fields($form, array(9,10,13,14,18,19,20,21,22,23,24,25)); + break; + + case BWP_GXS_STATS: + $bwp_option_page->kill_html_fields($form, array(3,4,5,6,7,8)); + add_filter('bwp_option_submit_button', create_function('', 'return "";')); + break; + } + } + + if (!@file_exists($this->options['input_cache_dir']) || !@is_writable($this->options['input_cache_dir'])) + $this->add_notice('' . __('Warning') . ': ' . __("Cache directory does not exist or is not writable. Please read more about directory permission here (Unix).", 'bwp-simple-gxs')); + + // Assign the form and option array + $bwp_option_page->init($form, $options + $dynamic_options, $this->form_tabs); + + // Build the option page + echo $bwp_option_page->generate_html_form(); + } + + function add_clear_log_button($button) + { + $button = str_replace('

    ', '

    ', $button); + return $button; + } + + function flush_cache() + { + $dir = trailingslashit($this->options['input_cache_dir']); + $deleted = 0; + if (is_dir($dir)) + { + if ($dh = opendir($dir)) + { + while (($file = readdir($dh)) !== false) + { + if (preg_match('/^gxs_[a-z0-9]+\.(xml|xml\.gz)$/i', $file)) + { + @unlink($dir . $file); + $deleted++; + } + } + closedir($dh); + } + } + return $deleted; + } + + function get_options() + { + return $this->options; + } + + function get_current_time() + { + return current_time('timestamp'); + } + + function format_header_time($time) + { + return gmdate('D, d M Y H:i:s \G\M\T', (int) $time); + } + + function uni_path_sep($path = '') + { + return str_replace('\\', '/', $path); + } + + function commit_logs() + { + update_option(BWP_GXS_LOG, $this->logs); + } + + function do_log($message, $error = true, $sitemap = false) + { + $time = $this->get_current_time(); + $debug = ('yes' == $this->options['enable_debug']) ? __('(Debug is on)', 'bwp-simple-gxs') : ''; + if (!$sitemap && 'yes' == $this->options['enable_log'] && !empty($message)) + $this->logs['log'][] = array('log' => $message . ' ' . $debug, 'time' => $time, 'error' => $error); + else if (!is_bool($sitemap)) + $this->logs['sitemap'][$sitemap] = array('time' => $time, 'url' => $sitemap); + } + + function elog($message, $die = false, $errorCode = 503) + { + $this->do_log($message); + if (true == $die && true == $this->debug) + { + $this->commit_logs(); + wp_die(__('BWP Google XML Sitemaps Error: ', 'bwp-simple-gxs') . $message, __('BWP Google XML Sitemaps Error', 'bwp-simple-gxs'), array('response' => $errorCode)); + } + } + + function slog($message) + { + $this->do_log($message, false); + } + + function nlog($message) + { + $this->do_log($message, 'notice'); + } + + function smlog($url) + { + $this->do_log('', false, $url); + } + + function get_logs($sitemap = false) + { + $logs = (!$sitemap) ? $this->logs['log'] : $this->logs['sitemap']; + if (!$logs || !is_array($logs) || 0 == sizeof($logs)) + return ($sitemap) ? sprintf(__('Nothing here... yet! Try submitting your sitemapindex first!', 'bwp-simple-gxs'), $this->options['input_sitemap_url']) : __('No log yet!', 'bwp-simple-gxs'); + if (!$sitemap) + krsort($logs); + else + { + $log_time = array(); + foreach ($logs as $key => $row) + $log_time[$key] = $row['time']; + array_multisort($log_time, SORT_DESC, $logs); + } + + $log_str = (!$sitemap) ? '
  • %s — %s
  • ' : '' . __('%s has been successfully built on %s.', 'bwp-simple-gxs') . '
    '; + + $output = '
      ' . "\n"; + foreach ($logs as $log) + { + if (isset($log['error'])) + { + $color = (!is_bool($log['error']) && 'notice' == $log['error']) ? '999999' : ''; + if ('' == $color) + $color = (!$log['error']) ? '009900' : 'FF0000'; + /* translators: date format, see http://php.net/date */ + $output .= sprintf($log_str, date(__('M j, Y : H:i:s', 'bwp-simple-gxs'), $log['time']), $color, $log['log']) . "\n"; + } + else + { + // @since 1.1.5 - check for mapped domain + global $wpdb, $blog_id; + if (!empty($wpdb->dmtable) && !empty($wpdb->blogs) && $this->is_multisite()) + { + $mapped_domain = $wpdb->get_var($wpdb->prepare(' + SELECT wpdm.domain as mapped_domain FROM ' . $wpdb->blogs . ' wpblogs + LEFT JOIN ' . $wpdb->dmtable . ' wpdm + ON wpblogs.blog_id = wpdm.blog_id AND wpdm.active = 1 + WHERE wpblogs.public = 1 AND wpblogs.spam = 0 AND wpblogs.deleted = 0 AND wpblogs.blog_id = %d', $blog_id)); + } + // Default to the main site's scheme + $home = @parse_url(home_url()); + $sitemap_struct = (!empty($mapped_domain)) ? str_replace($home['host'], str_replace(array('http', 'https'), '', $mapped_domain), $this->options['input_sitemap_struct']) : $this->options['input_sitemap_struct']; + $output .= sprintf($log_str, sprintf($sitemap_struct, $log['url']), $log['url'], date(__('M j, Y : H:i:s', 'bwp-simple-gxs'), $log['time'])) . "\n"; + } + } + + return $output . '
    ' . "\n"; + } + + function format_label($label) + { + return str_replace(' ', '_', strtolower($label)); + } + + function do_robots($output, $public) + { + global $blog_id, $wpdb; + + if ('0' == $public) + return $output; + + if ((defined('SUBDOMAIN_INSTALL') && true == SUBDOMAIN_INSTALL) || (isset($blog_id) && 1 == $blog_id)) + { + $output .= "\n"; + $output .= 'Sitemap: ' . $this->options['input_sitemap_url']; + $output .= "\n"; + } + + // Add all other sitemapindex within the network into the primary blog's robots.txt, + // except for ones that have their domains mapped + if ($this->is_multisite() && 'yes' == $this->options['enable_global_robots'] && isset($blog_id) && 1 == $blog_id) + { + $blogs = (empty($wpdb->dmtable)) ? $wpdb->get_results("SELECT * FROM $wpdb->blogs WHERE public = 1 AND spam = 0 AND deleted = 0") : $wpdb->get_results(' + SELECT wpdm.domain as mapped_domain, wpblogs.* FROM ' . $wpdb->blogs . ' wpblogs + LEFT JOIN ' . $wpdb->dmtable . ' wpdm + ON wpblogs.blog_id = wpdm.blog_id AND wpdm.active = 1 + WHERE wpblogs.public = 1 AND wpblogs.spam = 0 AND wpblogs.deleted = 0'); + + $num_sites = 0; + foreach ($blogs as $blog) + { + if (1 == $blog->blog_id) + continue; + $scheme = is_ssl() ? 'https://' : 'http://'; + $path = rtrim($blog->path, '/'); + $blog_domain = (empty($blog->mapped_domain)) ? $blog->domain . $path : ''; + if (!empty($blog_domain)) + { + $output .= 'Sitemap: ' . str_replace(home_url(), $scheme . $blog_domain, $this->options['input_sitemap_url']) . "\n"; + $num_sites++; + } + } + + if (!empty($num_sites)) + $output .= "\n"; + } + + return $output; + } + + private function get_news_cats() + { + // News categories + $news_cats = explode(',', $this->options['select_news_cats']); + $categories = get_categories(array('hide_empty' => 0)); + // News genres + $news_genres = $this->options['input_news_genres']; + // Genres taken from here: http://support.google.com/news/publisher/bin/answer.py?hl=en&answer=93992 + $genres = array('PressRelease', 'Satire', 'Blog', 'OpEd', 'Opinion', 'UserGenerated'); + + $return = '' . "\n"; + $return .= '' . "\n" . '' . "\n" . ''; + $return .= '' . "\n"; + + foreach ($categories as $category) + { + $return .= '' . "\n"; + + $genres_cbs = ''; + foreach ($genres as $genre) + { + $checked = ''; + if (isset($news_genres['cat_' . $category->term_id])) + { + $genres_ary = explode(', ', $news_genres['cat_' . $category->term_id]); + $checked = (in_array($genre, $genres_ary)) ? ' checked="checked" ' : ''; + } + $genres_cbs .= ' ' . $genre . '     '; + } + + $checked = (in_array($category->term_id, $news_cats)) ? ' checked="checked" ' : ''; + $return .= + '' . "\n" . + '' . "\n" . + '' . "\n"; + $return .= '' . "\n"; + } + + $return .= '' . "\n"; + $return .= '
    #' . __('Category\'s name', 'bwp-simple-gxs') . '' . sprintf(__('Genres used for this category (more info here)', 'bwp-simple-gxs'), 'http://support.google.com/news/publisher/bin/answer.py?hl=en&answer=93992') . '
    ' . esc_html($category->name) . '' . $genres_cbs . '
    ' . "\n"; + + return $return; + + } + + /** + * Redirect to correct domain + * + * This plugin generates sitemaps dynamically and exits before WordPress does any canonical redirection. + * This function makes sure non-www domain is redirected and vice versa. + * @since 1.0.1 + */ + function canonical_redirect($xml_slug) + { + $requested_url = is_ssl() ? 'https://' : 'http://'; + $requested_url .= $_SERVER['HTTP_HOST']; + $requested_url .= $_SERVER['REQUEST_URI']; + $original = @parse_url($requested_url); + if (false === $original) + return; + // www.example.com vs example.com + $user_home = @parse_url(home_url()); + if (!empty($user_home['host'])) + $host = $user_home['host']; + if (strtolower($original['host']) == strtolower($host) || + (strtolower($original['host']) != 'www.' . strtolower($host) && 'www.' . strtolower($original['host']) != strtolower($host))) + $host = $original['host']; + else + { + wp_redirect(sprintf($this->options['input_sitemap_struct'], $xml_slug), 301); + exit; + } + } + + /** + * A convenient function to add wanted modules or sub modules + * + * When you filter the 'bwp_gxs_modules' hook it is recommended that you use this function. + */ + function add_module($module = '', $sub_module = '') + { + if (empty($module)) + return false; + // Make sure the names are well-formed + $module = preg_replace('/[^a-z0-9-_\s]/ui', '', $module); + $module = trim(str_replace(' ', '_', $module)); + $sub_module = preg_replace('/[^a-z0-9-_\s]/ui', '', $sub_module); + $sub_module = trim(str_replace(' ', '_', $sub_module)); + if (empty($sub_module)) + $this->allowed_modules[$module] = array(); + if (!isset($this->allowed_modules[$module]) || !is_array($this->allowed_modules[$module])) + $this->allowed_modules[$module] = array($sub_module); + else if (!in_array($sub_module, $this->allowed_modules[$module])) + $this->allowed_modules[$module][] = $sub_module; + } + + /** + * A convenient function to remove unwanted modules or sub modules + * + * When you filter the 'bwp_gxs_modules' hook it is recommended that you use this function. + */ + function remove_module($module = '', $sub_module = '') + { + if (empty($module) || !isset($this->allowed_modules[$module])) + return false; + if (empty($sub_module)) + unset($this->allowed_modules[$module]); + else + { + $module = trim($module); + $sub_module = trim($sub_module); + $temp = $this->allowed_modules[$module]; + foreach ($temp as $key => $subm) + if ($sub_module == $subm) + { + unset($this->allowed_modules[$module][$key]); + return false; + } + } + } + + function allowed_modules() + { + $allowed_modules = array(); + $this->allowed_modules = &$allowed_modules; + // Site home URL sitemap - @since 1.1.5 + if ('yes' == $this->options['enable_sitemap_site']) + $this->add_module('site'); + // Module exclusion list + $excluded_post_types = explode(',', $this->options['input_exclude_post_type']); + $excluded_taxonomies = explode(',', $this->options['input_exclude_taxonomy']); + // Add public post types to module list + $post_types = $this->post_types = get_post_types(array('public' => true), 'objects'); + foreach ($this->post_types as $post_type) + { + // Page will have its own + if ('page' != $post_type->name && !in_array($post_type->name, $excluded_post_types)) + $allowed_modules['post'][] = $post_type->name; + } + // Google News module, since 1.2.0 + if ('yes' == $this->options['enable_news_sitemap']) + $this->add_module('post', 'google_news'); + // Add pages to module list + if (!in_array('page', $excluded_post_types)) + $allowed_modules['page'] = array('page'); + // Add archive pages to module list + if ('yes' == $this->options['enable_sitemap_date']) + $allowed_modules['archive'] = array('monthly', 'yearly'); + // Add taxonomies to module list + $this->taxonomies = get_taxonomies(array('public' => true), ''); + if ('yes' == $this->options['enable_sitemap_taxonomy']) + { + foreach ($this->taxonomies as $taxonomy) + if (!in_array($taxonomy->name, $excluded_taxonomies)) + $allowed_modules['taxonomy'][] = $taxonomy->name; + } + // Remove some unnecessary sitemap + $this->remove_module('post', 'attachment'); + $this->remove_module('taxonomy', 'post_format'); + $this->remove_module('taxonomy', 'nav_menu'); + // Add / Remove modules based on users' preferences + if ('yes' == $this->options['enable_sitemap_author']) + $this->add_module('author'); + if ('yes' == $this->options['enable_sitemap_external']) + $this->add_module('page', 'external'); + // Hook for a custom module list + do_action('bwp_gxs_modules_built', $this->allowed_modules, $this->post_types, $this->taxonomies); + return $this->allowed_modules; + } + + function build_requested_modules($allowed) + { + $this->requested_modules = array(); + foreach ($allowed as $module_name => $module) + { + foreach ($module as $sub_module) + { + if (isset($this->post_types[$sub_module])) // Module is a post type + { + // @since 1.0.4 - do not use label anymore, ugh + $label = $this->format_label($this->post_types[$sub_module]->name); + if ('post' == $sub_module || 'page' == $sub_module || 'attachment' == $sub_module) + $data = array($label, array('post' => $this->post_types[$sub_module]->name)); + else + $data = array($module_name . '_' . $label, array('post' => $this->post_types[$sub_module]->name)); + $this->requested_modules[] = $data; + } + // Special post modules + else if ('google_news' == $sub_module) + { + $this->requested_modules[] = array($module_name . '_' . $sub_module, array('special' => $sub_module)); + } + else if ('yes' == $this->options['enable_sitemap_taxonomy'] && isset($this->taxonomies[$sub_module])) // Module is a taxonomy + { + // $label = $this->format_label($this->taxonomies[$sub_module]->label); + $label = $this->format_label($this->taxonomies[$sub_module]->name); + $this->requested_modules[] = array($module_name . '_' . $label, array('taxonomy' => $sub_module)); + } + else if (!empty($sub_module)) + $this->requested_modules[] = array($module_name . '_' . $sub_module, array('archive' => $sub_module)); + else + $this->requested_modules[] = array($module_name); + } + } + } + + function convert_label(&$sub_module, $module) + { + if ('taxonomy' == $module) + { + foreach ($this->taxonomies as $taxonomy) + if ($this->format_label($taxonomy->label) == $sub_module) + $sub_module = $taxonomy->name; + } + else if ('post' == $module) + { + foreach ($this->post_types as $post_type) + if ($this->format_label($post_type->label) == $sub_module) + $sub_module = $post_type->name; + } + } + + function convert_module($module) + { + preg_match('/([a-z0-9]+)_([a-z0-9_-]+)$/iu', $module, $matches); + if (0 == sizeof($matches)) + return false; + else + return $matches; + } + + function request_sitemap($wpquery) + { + // Currently requested module + if (isset($wpquery->query_vars['gxs_module'])) + { + $module = $wpquery->query_vars['gxs_module']; + $sub_module = (isset($wpquery->query_vars['gxs_sub_module'])) ? $wpquery->query_vars['gxs_sub_module'] : ''; + if (!empty($module)) + $this->load_module($module, $sub_module); + } + else if (isset($wpquery->query_vars[$this->query_var_non_perma])) + { + $module = $wpquery->query_vars[$this->query_var_non_perma]; + $parsed_module = $this->convert_module($module); + if ($parsed_module && is_array($parsed_module)) + $this->load_module($parsed_module[1], $parsed_module[2]); + else + $this->load_module($module, ''); + } + } + + function load_module($module, $sub_module) + { + // Assuming we fail, ugh! + $success = false; + // Remember to use $wpdb->prepare or $wpdb->escape when developing module + $module = stripslashes($module); + $sub_module = stripslashes($sub_module); + // Check whether or not splitting is enabled and the sub_module has a 'part' part, + // if so, remove it and pass a parameter to let the module knows that it must produce a split sitemap + $module_part = 0; + $module_virtual = ''; + if ('yes' == $this->options['enable_sitemap_split_post'] && preg_match('/part([0-9]+)$/i', $sub_module, $matches)) + { + $module_virtual = str_replace($matches[0], '', $sub_module); + $module_virtual = rtrim($module_virtual, '_'); + $module_part = (int) $matches[1]; + } + $true_sub_module = $sub_module; + $pre_module = $module; + $pre_module .= (!empty($sub_module)) ? '_' . $sub_module : ''; + // @since 1.0.1 - Redirect to correct domain, with or without www + $this->canonical_redirect($pre_module); + // Allowed modules + $allowed_modules = $this->allowed_modules(); + $this->build_requested_modules($allowed_modules); + // $this->convert_label($sub_module, $module); + if ('sitemapindex' != $module && isset($allowed_modules[$module])) + { + if (!empty($sub_module)) + { + if (in_array($sub_module, $allowed_modules[$module]) || (empty($module_virtual) && !empty($module_part) && in_array($module, $allowed_modules[$module])) || (!empty($module_virtual) && in_array($module_virtual, $allowed_modules[$module]))) + $module_key = $module . '_' . $sub_module; + else + $module_key = ''; + } + else + $module_key = $module; + $module_name = str_replace($sub_module, $true_sub_module, $module_key); + } + else if ('sitemapindex' == $module) + { + $module_key = 'sitemapindex'; + $module_name = 'sitemapindex'; + } + + // Pass the real sub_module back + $sub_module = (!empty($module_part)) ? $module_virtual : $sub_module; + + if (empty($module_key)) + { + $this->elog(sprintf(__('Requested module (%s) not found or not allowed.', 'bwp-simple-gxs'), $pre_module), true, 404); + $this->commit_logs(); + // If debugging is not enabled, redirect to homepage + wp_redirect(home_url()); + exit; + } + + // @since 1.0.1 - Start counting correct build time and queries + timer_start(); + $this->build_stats['query'] = get_num_queries(); + + // Don't let other instrusive plugins mess up our permalnks - @since 1.1.4 + remove_filter('post_link', 'syndication_permalink', 1, 3); + remove_filter('page_link', 'suffusion_unlink_page', 10, 2); + + // If cache is enabled, we check the cache first + if ('yes' == $this->options['enable_cache']) + { + require_once(dirname(__FILE__) . '/class-bwp-gxs-cache.php'); + $bwp_gxs_cache = new BWP_GXS_CACHE(array('module' => $module_key, 'module_name' => $module_name)); + // If cache is ok, output the cached sitemap, only if debug is off + if ('yes' != $this->options['enable_debug'] && true == $bwp_gxs_cache->has_cache) + { + $this->send_header($bwp_gxs_cache->get_header()); + $file = $bwp_gxs_cache->get_cache_file(); + // Decompress the gz file only if the server or script is not already gzipping, and gzip is enabled + // This is to avoid double compression + if ('yes' == $this->options['enable_gzip'] && !self::is_gzipped()) + readfile($file); + else + readgzfile($file); + // Get from cache successfully + $this->slog(sprintf(__('Successfully served a cached version of %s.xml.', 'bwp-simple-gxs'), $module_name), true); + $this->commit_logs(); + exit; + } + } + + // If the user uses a custom module dir, also check that dir for usable module files + $custom_module_dir = (!empty($this->options['input_alt_module_dir']) && $this->options_default['input_alt_module_dir'] != $this->options['input_alt_module_dir']) ? trailingslashit($this->options['input_alt_module_dir']) : false; + $custom_module_dir = trailingslashit(apply_filters('bwp_gxs_module_dir', $custom_module_dir)); + // Begin loading modules + require_once(dirname(__FILE__) . '/class-bwp-gxs-module.php'); + if ('sitemapindex' != $module && isset($allowed_modules[$module])) + { + $sub_loaded = $mapped_sub_loaded = false; + if (!empty($sub_module) && in_array($sub_module, $allowed_modules[$module])) + { + // Try to load the mapped sub-module first + if (!empty($this->module_map[$sub_module])) + { + $module_file = $module . '_' . $this->module_map[$sub_module] . '.php'; + $path_custom = ($custom_module_dir) ? $this->uni_path_sep($custom_module_dir . $module_file) : ''; + $path = $this->uni_path_sep($this->module_directory . $module_file); + if (!empty($path_custom) && @file_exists($path_custom)) + { + $module_key = $module . '_' . $this->module_map[$sub_module]; + include_once($path_custom); + $mapped_sub_loaded = true; + $this->nlog(sprintf(__('Loaded a custom sub-module file: %s.', 'bwp-simple-gxs'), $module_file)); + } + else if (@file_exists($path)) + { + $module_key = $module . '_' . $this->module_map[$sub_module]; + include_once($path); + $mapped_sub_loaded = true; + } + else // Don't fire a wp_die + $this->nlog(sprintf(__('Mapped sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the requested sub-module instead.', 'bwp-simple-gxs'), $module_file)); + } + if (false == $mapped_sub_loaded) + { + $module_file = $module . '_' . $sub_module . '.php'; + $module_key = $module . '_' . $sub_module; + $path_custom = ($custom_module_dir) ? $this->uni_path_sep($custom_module_dir . $module_file) : ''; + $path = $this->uni_path_sep($this->module_directory . $module_file); + if (!empty($path_custom) && @file_exists($path_custom)) + { + include_once($path_custom); + $sub_loaded = true; + $this->nlog(sprintf(__('Loaded a custom sub-module file: %s.', 'bwp-simple-gxs'), $module_file)); + } + else if (@file_exists($path)) + { + include_once($path); + $sub_loaded = true; + } + else // Don't fire a wp_die + $this->nlog(sprintf(__('Sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the parent module instead.', 'bwp-simple-gxs'), $module_file)); + } + } + + if (false == $sub_loaded && false == $mapped_sub_loaded) + { + // Try loading the module + $module_file = $module . '.php'; + $module_key = $module; + $path_custom = ($custom_module_dir) ? $this->uni_path_sep($custom_module_dir . $module_file) : ''; + $path = $this->uni_path_sep($this->module_directory . $module_file); + if (!empty($path_custom) && @file_exists($path_custom)) + { + include_once($path_custom); + $this->nlog(sprintf(__('Loaded a custom module file: %s.', 'bwp-simple-gxs'), $module_file)); + } + else if (@file_exists($path)) + include_once($path); + else + { + $error_log = sprintf(__('Could not load module file: %s in both default and custom module directory. Please recheck if that module file exists.', 'bwp-simple-gxs'), $module_file); + $this->elog($error_log, true); + } + } + + $this->module_data = array('module' => $module, 'sub_module' => $sub_module, 'module_key' => $module_key, 'module_name' => $module_name, 'module_part' => $module_part); + + if (class_exists('BWP_GXS_MODULE_' . $module_key)) + { + $class_name = 'BWP_GXS_MODULE_' . $module_key; + $the_module = new $class_name(); + if ('url' == $the_module->type) + $success = $this->generate_sitemap($the_module->data); + else if ('news' == $the_module->type) + $success = $this->generate_news_sitemap($the_module->data); + else + $success = $this->generate_sitemap_index($the_module->data); + unset($the_module->data); + } + else + $this->elog(sprintf(__('There is no class named %s in the module file %s.', 'bwp-simple-gxs'), 'BWP_GXS_MODULE_' . strtoupper($module_key), $module_file), true); + } + else if ('sitemapindex' == $module) + { + $module_file = 'sitemapindex.php'; + $path_custom = ($custom_module_dir) ? $this->uni_path_sep($custom_module_dir . $module_file) : ''; + if (!empty($path_custom) && @file_exists($path_custom)) + { + include_once($path_custom); + $this->nlog(sprintf(__('Loaded a custom sitemapindex module file: %s.', 'bwp-simple-gxs'), $module_file)); + } + else + include_once(dirname(__FILE__) . '/modules/sitemapindex.php'); + if (class_exists('BWP_GXS_MODULE_INDEX')) + { + $the_module = new BWP_GXS_MODULE_INDEX($this->requested_modules); + $success = $this->generate_sitemap_index($the_module->data); + unset($the_module->data); + } + } + + // Output succeeded + if (true == $success) + { + // Output additional stats + if ('yes' == $this->options['enable_stats']) + $this->sitemap_stats(); + // Now cache the sitemap if we have to + if ('yes' == $this->options['enable_cache'] && true == $bwp_gxs_cache->cache_ok) + $bwp_gxs_cache->write_cache(); + // Output the requested sitemap + $this->output_sitemap(); + $this->slog(sprintf(__('Successfully generated %s.xml using module %s.', 'bwp-simple-gxs'), $module_name, $module_file), true); + $this->smlog($module_name); + $this->commit_logs(); + exit; + } + else + $this->commit_logs(); + } + + function send_header($header = array()) + { + global $bwp_gxs_ob_start, $bwp_gxs_ob_level, $bwp_gxs_gzipped; + + // If debug is not enabled and gzip is not turned on in between, + // we try to clean all errors before sending new headers - @since 1.1.2 + $clean_ok = ((int) $bwp_gxs_gzipped == (int) self::is_gzipped() && 'yes' == $this->options['enable_php_clean']) ? true : false; + $ob_contents = ''; + if ($bwp_gxs_ob_start && @ob_get_level()) + { + $ob_level = @ob_get_level() - $bwp_gxs_ob_level; + while ($ob_level > 0) + { + $ob_level -= 1; + $ob_contents .= ob_get_contents(); + if ('yes' != $this->options['enable_debug'] && $clean_ok) + @ob_end_clean(); + } + } + + // If there are some contents but we can't clean them, show a friendly error + if (!empty($ob_contents) && (!$clean_ok || 'yes' == $this->options['enable_debug'])) + wp_die(__('BWP Google XML Sitemap Message: Unexpected output (most of the time PHP errors) is preventing BWP GXS from showing any sitemap contents. Try disabling WP_DEBUG or this plugin\'s debug mode, whichever is on. All unexpected outputs should be shown just above this message. If you don\'t see any, contact me and I might be able to help.', 'bwp-simple-gxs')); + + if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2')) + header ('Cache-Control: no-cache, pre-check=0, post-check=0, max-age=0'); + else + header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0'); + + $content_types = array('google' => 'text/xml', 'yahoo' => 'text/plain'); + + $time = time(); + $expires = $this->format_header_time($time + $this->cache_time); + + $default_headers = array( + 'lastmod' => $this->format_header_time($time), + 'expires' => $expires, + 'etag' => '' + ); + + $header = wp_parse_args($header, $default_headers); + + header('Expires: ' . $header['expires']); + header('Last-Modified: ' . $header['lastmod']); + if (!empty($header['etag'])) + header('Etag: ' . $header['etag']); + header('Accept-Ranges: bytes'); + header('Content-Type: ' . $content_types['google'] . '; charset=UTF-8'); + if ('yes' == $this->options['enable_gzip']) + header('Content-Encoding: ' . $this->check_gzip_type()); + + // Everything's cool + status_header(200); + + return; + } + + public static function is_gzipped() + { + if (ini_get('zlib.output_compression') || ini_get('output_handler') == 'ob_gzhandler' || in_array('ob_gzhandler', @ob_list_handlers())) + return true; + return false; + } + + function init_gzip() + { + if (!$this->check_gzip() && 'yes' == $this->options['enable_gzip']) + $this->options['enable_gzip'] = 'no'; + return; + } + + function check_gzip() + { + if (headers_sent()) + return false; + + if (!empty($_SERVER['HTTP_ACCEPT_ENCODING']) && ((strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false) + || strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false)) + return true; + else + return false; + } + + function check_gzip_type() + { + if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip') !== false) + return 'gzip'; + else if (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false) + return 'x-gzip'; + + return 'gzip'; + } + + function ping_google_news($post) + { + if (empty($post->ID)) + return; + // Get categories + $is_news = ('inc' == $this->options['select_news_cat_action']) ? false : true; + $news_cats = explode(',', $this->options['select_news_cats']); + $categories = get_the_category($post->ID); + foreach ($categories as $cat) + { + if (in_array($cat->term_id, $news_cats)) + { + $is_news = ('inc' == $this->options['select_news_cat_action']) ? true : false; + break; + } + } + + if ($is_news) + { + $this->_ping_sitemap = 'post_google_news'; + $this->ping(); + } + } + + function ping() + { + $time = time(); + $ping_data = get_option(BWP_GXS_PING); + if (!$ping_data || !is_array($ping_data) + || isset($ping_data['data_pinged']['yahoo']) || isset($ping_data['data_pinged']['ask']) + ) { + $ping_data = array( + 'data_pinged' => array('google' => 0, 'bing' => 0), + 'data_last_pinged' => array('google' => 0, 'bing' => 0) + ); + } + foreach ($this->options['input_ping'] as $key => $service) + { + if ('yes' == $this->options['enable_ping_' . $key]) + { + // A day has gone, reset the count + if ($time - $ping_data['data_last_pinged'][$key] > 86400) + { + $ping_data['data_pinged'][$key] = 0; + $ping_data['data_last_pinged'][$key] = $time; + } + // Ping limit has not been reached + if ($this->ping_per_day > $ping_data['data_pinged'][$key]) + { + $ping_data['data_pinged'][$key]++; + $url = sprintf($service, urlencode(str_replace('&', '&', sprintf($this->options['input_sitemap_struct'], $this->_ping_sitemap)))); + $response = wp_remote_post($url, array('timeout' => $this->timeout)); + if (is_wp_error($response)) + { + $errno = $response->get_error_code(); + $errorstr = $response->get_error_message(); + $this->elog($errorstr); + } + else if (isset($response['response'])) + { + $the_response = $response['response']; + if (empty($the_response['code'])) + $this->elog(__('Unknown response code from search engines. Ping failed.', 'bwp-simple-gxs')); + else if (200 == (int) $the_response['code']) + $this->slog(sprintf(__('Pinged %s with %s successfully!', 'bwp-simple-gxs'), ucfirst($key), $this->_ping_sitemap . '.xml')); + else if (200 != (int) $the_response['code']) + { + $errno = $the_response['code']; + $errorstr = $the_response['message']; + $this->elog(sprintf(__('Error %s from %s', 'bwp-simple-gxs'), $errno, ucfirst($key)) . ': ' . $errorstr); + } + } + } + else + $this->elog(sprintf(__('Ping limit for today to %s has been reached, sorry!', 'bwp-simple-gxs'), ucfirst($key))); + } + } + // Update statistics + $this->commit_logs(); + update_option(BWP_GXS_PING, $ping_data); + } + + function output_sitemap() + { + if ('yes' == $this->options['enable_gzip']) + { + $this->output = (!self::is_gzipped()) ? gzencode($this->output, 6) : $this->output; + $this->send_header(); + echo $this->output; + } + else + { + $this->send_header(); + echo $this->output; + } + } + + function check_output($output) + { + // If output is empty we log it so the user knows what's going on, but let the page load normally + if (empty($output) || 0 == sizeof($output)) + { + $this->elog(sprintf(__('%s.xml does not have any item. You can fix this easily by excluding any post types / terms you do not use in Sitemap Generator tab within your admin area. If you still see this error, consider checking the module that generates this sitemap (%s.php).', 'bwp-simple-gxs'), $this->module_data['module_name'], $this->module_data['module_key']), true, 404); + return false; + } + else + return true; + } + + function sitemap_stats($type = '') + { + $time = timer_stop(0, 3); + $sql = get_num_queries() - $this->build_stats['query']; + $memory = size_format(memory_get_usage() - $this->build_stats['mem'], 2); + if (empty($type)) + $this->output .= "\n" . sprintf($this->templates['stats'], $time, $memory, $sql, $this->output_num); + else + echo "\n" . sprintf($this->templates['stats_cached'], $time, $memory, $sql); + } + + private static function is_local($url) + { + static $blog_url; + + if (empty($blog_url)) + { + $home_url = home_url(); + $blog_url = @parse_url($home_url); + } + + $url = @parse_url($url); + if (false === $url) + return false; + // If scheme is set + if (isset($url['scheme'])) + { + if (false === strpos($url['host'], $blog_url['host'])) + return false; + return true; + } + else + return true; + } + + private static function is_url_valid($url) + { + $url = trim($url); + if ('#' == $url || (false === strpos($url, 'http') && false === strpos($url, 'https')) || !self::is_local($url)) + return false; + return true; + } + + private function generate_url_item($url = '', $priority = 1.0, $freq = 'always', $lastmod = 0) + { + $freq = sprintf($this->templates['changefreq'], $freq); + $priority = str_replace(',', '.', sprintf($this->templates['priority'], $priority)); + $lastmod = (!empty($lastmod)) ? sprintf($this->templates['lastmod'], $lastmod) : ''; + if (!empty($url)) + return sprintf($this->templates['url'], $url, $lastmod, $freq, $priority); + else + return ''; + } + + private function generate_sitemap_item($url = '', $lastmod = 0) + { + $lastmod = (!empty($lastmod)) ? sprintf($this->templates['lastmod'], $lastmod) : ''; + if (!empty($url)) + return sprintf($this->templates['sitemap'], $url, $lastmod); + else + return ''; + } + + private function generate_news_sitemap_item($loc = '', $name = '', $lang = 'en', $genres = '', $pub_date = '', $title = '', $keywords = '') + { + $name = sprintf($this->templates['news_name'], $name); + $lang = sprintf($this->templates['news_language'], $lang); + $news_pub = sprintf($this->templates['news_publication'], $name, $lang); + $genres = (!empty($genres)) ? sprintf($this->templates['news_genres'], $genres) : ''; + $pub_date = sprintf($this->templates['news_pub_date'], $pub_date); + $title = sprintf($this->templates['news_title'], $title); + $keywords = (!empty($keywords)) ? sprintf($this->templates['news_keywords'], $keywords) : ''; + return sprintf($this->templates['news'], $loc, $news_pub, $genres, $pub_date, $title, $keywords); + } + + function credit() + { + $xml = '' . "\n"; + return $xml; + } + + function generate_sitemap($output = array()) + { + $xml = '<' . '?xml version="1.0" encoding="UTF-8"?'.'>' . "\n"; + $xml .= (!empty($this->xslt)) ? 'xslt . '"?>' . "\n\n" : ''; + $xml .= '' . "\n"; + if ('yes' != $this->options['enable_xslt'] && 'yes' == $this->options['enable_credit']) + $xml .= $this->credit(); + + if (!$this->check_output($output)) + return false; + + foreach ($output as &$url) + { + $url['location'] = (!empty($url['location'])) ? $url['location'] : ''; + // Remove any invalid URL + if (empty($url['location']) || !self::is_url_valid($url['location'])) + continue; + + $url['lastmod'] = (!empty($url['lastmod'])) ? $url['lastmod'] : ''; + $url['freq'] = (isset($url['freq']) && in_array($url['freq'], $this->frequency)) ? $url['freq'] : $this->options['select_default_freq']; + $url['priority'] = (isset($url['priority']) && $url['priority'] <= 1 && $url['priority'] > 0) ? $url['priority'] : $this->options['select_default_pri']; + + $xml .= $this->generate_url_item(htmlspecialchars($url['location']), $url['priority'], $url['freq'], $url['lastmod']); + $this->output_num++; + } + + if (!$this->check_output($this->output_num)) + return false; + + $xml .= "\n" . ''; + $this->output = $xml; + + return true; + } + + function generate_news_sitemap($output = array()) + { + $xml = '<' . '?xml version="1.0" encoding="UTF-8"?'.'>' . "\n"; + $xml .= '' . "\n"; + + if ('yes' == $this->options['enable_credit']) + $xml .= $this->credit(); + + if (!$this->check_output($output)) + return false; + + foreach ($output as &$url) + { + $url['location'] = (!empty($url['location'])) ? htmlspecialchars($url['location']) : ''; + // Remove any invalid URL + if (empty($url['location']) || !self::is_url_valid($url['location'])) + continue; + $url['name'] = (!empty($url['name'])) ? htmlspecialchars($url['name']) : apply_filters('bwp_gxs_news_name', htmlspecialchars(get_bloginfo('name'))); + $url['language'] = $this->options['select_news_lang']; + $url['genres'] = (!empty($url['genres'])) ? $url['genres'] : ''; + $url['pub_date'] = (!empty($url['pub_date'])) ? $url['pub_date'] : ''; + $url['title'] = (!empty($url['title'])) ? htmlspecialchars($url['title']) : ''; + $url['keywords'] = (!empty($url['keywords'])) ? htmlspecialchars($url['keywords']) : ''; + $xml .= $this->generate_news_sitemap_item($url['location'], $url['name'], $url['language'], $url['genres'], $url['pub_date'], $url['title'], $url['keywords']); + $this->output_num++; + } + + if (!$this->check_output($this->output_num)) + return false; + + $xml .= "\n" . ''; + $this->output = $xml; + + return true; + } + + function generate_sitemap_index($output = array()) + { + $xml = '<' . '?xml version="1.0" encoding="UTF-8"?'.'>' . "\n"; + $xml .= (!empty($this->xslt_index)) ? 'xslt_index . '"?>' . "\n\n" : ''; + $xml .= '' . "\n"; + if ('yes' != $this->options['enable_xslt'] && 'yes' == $this->options['enable_credit']) + $xml .= $this->credit(); + + if (!$this->check_output($output)) + return false; + + foreach ($output as &$sitemap) + { + $sitemap['location'] = (!empty($sitemap['location'])) ? $sitemap['location'] : ''; + $sitemap['lastmod'] = (!empty($sitemap['lastmod'])) ? $sitemap['lastmod'] : ''; + $xml .= $this->generate_sitemap_item(htmlspecialchars($sitemap['location']), $sitemap['lastmod']); + $this->output_num++; + } + + $xml .= "\n" . ''; + $this->output = $xml; + + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/index.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/index.php new file mode 100644 index 0000000..19ec411 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/archive.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/archive.php new file mode 100644 index 0000000..3b9ae05 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/archive.php @@ -0,0 +1,66 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_MODULE_ARCHIVE extends BWP_GXS_MODULE { + + var $requested = ''; + + function __construct() + { + global $bwp_gxs; + + $this->set_current_time(); + $this->requested = $bwp_gxs->module_data['sub_module']; + $this->build_data(); + } + + function generate_data() + { + global $wpdb; + + $requested = $this->requested; + + if ('monthly' == $requested) + $latest_post_query = ' + SELECT YEAR(post_date) AS year, MONTH(post_date) as month, COUNT(ID) as posts, comment_count, post_modified + FROM ' . $wpdb->posts . " + WHERE post_status = 'publish' AND post_type <> 'page'" . ' + GROUP BY YEAR(post_date), MONTH(post_date) + ORDER BY post_modified DESC'; + else + $latest_post_query = ' + SELECT YEAR(post_date) AS year, COUNT(ID) as posts, comment_count, post_modified + FROM ' . $wpdb->posts . " + WHERE post_status = 'publish' AND post_type <> 'page'" . ' + GROUP BY YEAR(post_date) + ORDER BY post_modified DESC'; + + $latest_posts = $this->get_results($latest_post_query); + + if (!isset($latest_posts) || 0 == sizeof($latest_posts)) + return false; + + $data = array(); + for ($i = 0; $i < sizeof($latest_posts); $i++) + { + $post = $latest_posts[$i]; + $data = $this->init_data($data); + if ('monthly' == $requested) + $data['location'] = get_month_link($post->year, $post->month); + else if ('yearly' == $requested) + $data['location'] = get_year_link($post->year); + $data['lastmod'] = $this->format_lastmod(strtotime($post->post_modified)); + $data['freq'] = $this->cal_frequency($post); + $data['priority'] = $this->cal_priority($post, $data['freq']); + $this->data[] = $data; + } + + unset($latest_posts); + + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/author.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/author.php new file mode 100644 index 0000000..97bbf97 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/author.php @@ -0,0 +1,57 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_MODULE_AUTHOR extends BWP_GXS_MODULE { + + function __construct() + { + $this->set_current_time(); + $this->build_data(); + } + + function generate_data() + { + global $wpdb, $bwp_gxs; + + // An array of what roles to include in sitemap + $roles = array('administrator', 'editor', 'author', 'contributor'); + // The SQL query + $author_sql = 'SELECT wp_u.ID, wp_u.user_nicename, MAX(wp_p.post_modified) as lastmod, wp_um.meta_value as role + FROM ' . $wpdb->users . ' wp_u + INNER JOIN ' . $wpdb->usermeta . ' wp_um + ON wp_um.user_id = wp_u.ID + INNER JOIN ' . $wpdb->posts . ' wp_p + ON wp_p.post_author = wp_u.ID' . " + WHERE wp_p.post_status = 'publish' AND wp_um.meta_key = '" . $wpdb->prefix . "capabilities'" . ' + GROUP BY wp_u.ID, wp_u.user_nicename, wp_um.meta_value + ORDER BY lastmod DESC'; + // Get all authors + $authors = $this->get_results($author_sql); + + if (!isset($authors) || 0 == sizeof($authors)) + return false; + + $data = array(); + for ($i = 0; $i < sizeof($authors); $i++) + { + // If user is not considered an author, pass + $author = $authors[$i]; + $data = $this->init_data($data); + $role = maybe_unserialize($author->role); + $role = array_keys($role); + $data['location'] = (!in_array($role[0], $roles)) ? '' : get_author_posts_url($author->ID, $author->user_nicename); + $data['lastmod'] = $this->format_lastmod(strtotime($author->lastmod)); + $data['freq'] = $this->cal_frequency(NULL, $author->lastmod); + $data['priority'] = $this->cal_priority(NULL, $data['freq']); + $this->data[] = $data; + } + + unset($authors); + + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/index.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/index.php new file mode 100644 index 0000000..19ec411 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/page.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/page.php new file mode 100644 index 0000000..fe14281 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/page.php @@ -0,0 +1,61 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_MODULE_PAGE extends BWP_GXS_MODULE { + + function __construct() + { + global $bwp_gxs; + + $this->set_current_time(); + $this->part = $bwp_gxs->module_data['module_part']; + $this->build_data(); + } + + function generate_data() + { + global $wpdb, $bwp_gxs, $post; + + $sql_where = apply_filters('bwp_gxs_post_where', '', 'page'); + + $latest_post_query = ' + SELECT * FROM ' . $wpdb->posts . " wposts + WHERE wposts.post_status = 'publish' AND wposts.post_type = 'page' $sql_where" . ' + ORDER BY wposts.post_modified DESC'; + + $latest_posts = $this->get_results($latest_post_query); + + if (!isset($latest_posts) || 0 == sizeof($latest_posts)) + return false; + + $using_permalinks = $this->using_permalinks(); + + $data = array(); + for ($i = 0; $i < sizeof($latest_posts); $i++) + { + $post = $latest_posts[$i]; + $data = $this->init_data($data); + if ($using_permalinks && empty($post->post_name)) + $data['location'] = ''; + else + { + wp_cache_add($post->ID, $post, 'posts'); + $data['location'] = get_permalink(); + } + $data['lastmod'] = $this->format_lastmod(strtotime($post->post_modified)); + $data['freq'] = $this->cal_frequency($post); + $data['priority'] = $this->cal_priority($post, $data['freq']); + $this->data[] = $data; + } + + // Probably save some memory ;) + unset($latest_posts); + + // Always return true if we can get here, otherwise you're stuck at the SQL cycling limit + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/page_external.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/page_external.php new file mode 100644 index 0000000..bd8987e --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/page_external.php @@ -0,0 +1,43 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_MODULE_PAGE_EXTERNAL extends BWP_GXS_MODULE { + + function __construct() + { + global $bwp_gxs; + + $this->set_current_time(); + $this->build_data(); + } + + function build_data() + { + global $wpdb, $bwp_gxs; + + // The structure of your external pages should be like the below sample item + // array('location' => '', 'lastmod' => '', 'priority' => '') + // Frequency will be calculated based on lastmod + $sample_pages = array( + array('location' => home_url('a-page-not-belong-to-wordpress.html'), 'lastmod' => '06/02/2011', 'priority' => '1.0'), + array('location' => home_url('another-page-not-belong-to-wordpress.html'), 'lastmod' => '05/02/2011', 'priority' => '0.8') + ); + $external_pages = (array) apply_filters('bwp_gxs_external_pages', $sample_pages); + + $data = array(); + for ($i = 0; $i < sizeof($external_pages); $i++) + { + $page = $external_pages[$i]; + $data = $this->init_data($data); + $data['location'] = $page['location']; + $data['lastmod'] = $this->format_lastmod(strtotime($page['lastmod'])); + $data['freq'] = $this->cal_frequency(NULL, $page['lastmod']); + $data['priority'] = $page['priority']; + $this->data[] = $data; + } + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post.php new file mode 100644 index 0000000..1701230 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post.php @@ -0,0 +1,119 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + * + * You can take this as a sample module, it is documented rather well ;) + */ + +class BWP_GXS_MODULE_POST extends BWP_GXS_MODULE { + + // Declare all properties you need for your modules here + var $requested; + + function __construct() + { + global $bwp_gxs; + // Give your properties value here + // $this->set_current_time() should always be called, it will allow you to use $this->now (the current Unix Timestamp). + $this->set_current_time(); + // $bwp_gxs->module_data hold four things, but you only need to take note of 'sub_module' and 'module_key' + // For example when you are browsing to http://example.com/taxonomy_category.xml + // $bwp_gxs->module_data['sub_module'] is 'category' (the singular name) and $bwp_gxs->module_data['module_key'] is + // 'taxonomy_category' (also singular). If you have a custom module for taxonomy_category, you must name your class + // BWP_GXS_MODULE_TAXONOMY_CATEGORY and save the file as taxonomy_category.php (similar to taxonomy_post_tag.php). + // If no custom post type is requested, use the default post type + $this->requested = (!empty($bwp_gxs->module_data['sub_module'])) ? $bwp_gxs->module_data['sub_module'] : 'post'; + // module_part let you determine whether or not to build a post sitemap as part of a large post sitemap. + // If this value is greater than 0, for example 2, or 3 it means that we are building part 2, + // or part 3 of that large sitemap, and we will have to modify our SQL query accordingly - @since 1.1.0 + $this->part = $bwp_gxs->module_data['module_part']; + // Get the permalink this website uses, apply to normal posts + $this->perma_struct = get_option('permalink_structure'); + // See if the current post_type is a hierarchical one or not + $this->post_type = get_post_type_object($this->requested); + // Always call this to start building data + // If you want to make use of SQL cycling (a method to reduce heavy queries), don't use build_data() like other modules. + // Just call it here and use function generate_data() to build actual data, just like below. Use SQL cycling when + // you are dealing with post-based sitemaps. + $this->build_data(); + } + + /** + * This is the main function that generates our data. + * + * Since we are dealing with heavy queries here, it's better that you use + * generate_data() which will get called by build_data(). This way you will query for no more than + * the SQL limit configurable in this plugin's option page. + * If you happen to use LIMIT in your SQL statement for other reasons then use build_data() instead. + */ + function generate_data() + { + global $wpdb, $bwp_gxs, $post; + + $requested = $this->requested; + + // Can be something like: ` AND wposts.ID NOT IN (1,2,3,4) ` + $sql_where = apply_filters('bwp_gxs_post_where', '', $requested); + + // A standard custom query to fetch posts from database, sorted by their lastmod + // You can use any type of queries for your modules + // If $requested is 'post' and this site uses %category% in permalink structure, + // we will have to use a complex SQL query so this plugin can scale up to millions of posts. + if ('post' == $requested && strpos($this->perma_struct, '%category%') !== false) + $latest_post_query = ' + SELECT * FROM ' . $wpdb->term_relationships . ' wprel + INNER JOIN ' . $wpdb->posts . ' wposts + ON wprel.object_id = wposts.ID' . " + AND wposts.post_status = 'publish'" . ' + INNER JOIN ' . $wpdb->term_taxonomy . ' wptax + ON wprel.term_taxonomy_id = wptax.term_taxonomy_id' . " + AND wptax.taxonomy = 'category'" . ' + , ' . $wpdb->terms . ' wpterms + WHERE wptax.term_id = wpterms.term_id ' + . "$sql_where" . ' + GROUP BY wposts.ID + ORDER BY wposts.post_modified DESC'; + else + $latest_post_query = ' + SELECT * FROM ' . $wpdb->posts . " wposts + WHERE wposts.post_status = 'publish' AND wposts.post_type = %s $sql_where" . ' + ORDER BY wposts.post_modified DESC'; + // Use $this->get_results instead of $wpdb->get_results, remember to escape your query + // using $wpdb->prepare or $wpdb->escape, @see http://codex.wordpress.org/Function_Reference/wpdb_Class + $latest_posts = $this->get_results($wpdb->prepare($latest_post_query, $requested)); + // This check helps you stop the cycling sooner + // It basically means if there is nothing to loop through anymore we return false so the cycling can stop. + if (!isset($latest_posts) || 0 == sizeof($latest_posts)) + return false; + + $using_permalinks = $this->using_permalinks(); + + // Always init your $data + $data = array(); + for ($i = 0; $i < sizeof($latest_posts); $i++) + { + $post = $latest_posts[$i]; + // Init your $data with the previous item's data. This makes sure no item is mal-formed. + $data = $this->init_data($data); + // @since 1.1.0 - get permalink independently, as we don't need caching or some complicated stuff + // If permalink is being used, yet postname is missing, ignore this item + if ($using_permalinks && empty($post->post_name)) + $data['location'] = ''; + else + $data['location'] = $this->get_permalink(); + $data['lastmod'] = $this->format_lastmod(strtotime($post->post_modified)); + $data['freq'] = $this->cal_frequency($post); + $data['priority'] = $this->cal_priority($post, $data['freq']); + // Pass data back to the plugin to handle + $this->data[] = $data; + } + + // Probably save some memory ;) + unset($latest_posts); + + // Always return true if we can get here, otherwise you're stuck at the SQL cycling limit + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_attachment.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_attachment.php new file mode 100644 index 0000000..0db510f --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_attachment.php @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_google_news.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_google_news.php new file mode 100644 index 0000000..1e52c3e --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_google_news.php @@ -0,0 +1,182 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + * + */ + +class BWP_GXS_MODULE_POST_GOOGLE_NEWS extends BWP_GXS_MODULE { + + function __construct() + { + $this->type = 'news'; + $this->set_current_time(); + $this->perma_struct = get_option('permalink_structure'); + $this->build_data(); + } + + /** + * Process the posts if Multi-cat mode is enabled + */ + private static function process_posts($posts, $news_cats, $news_cat_action) + { + // This $post array surely contains duplicate posts (fortunately they are already sorted) + // let's group 'em + $ord_num = 0; + $excluded_cats = ('inc' == $news_cat_action) ? array() : explode(',', $news_cats); + $processed_posts = array(); + for ($i = 0; $i < sizeof($posts); $i++) + { + $post = $posts[$i]; + if ($ord_num == $post->ID) + { + $cur_position = sizeof($processed_posts) - 1; + // Nothing to do, continue + if ($cur_position < 0) + continue; + $current_post = $processed_posts[$cur_position]; + // Not correct post, continue + if ($current_post->ID != $ord_num) + continue; + // Users choose to exclude cats, and this $post is assigned to one of those excluded cats + if (in_array($post->term_id, $excluded_cats) || in_array($current_post->terms[0], $excluded_cats)) + array_pop($processed_posts); + else + { + if (!in_array($post->term_id, $current_post->terms)) + $current_post->terms[] = $post->term_id; + if (!in_array($post->name, $current_post->term_names)) + $current_post->term_names[] = $post->name; + } + + } + else + { + $post->terms = array($post->term_id); + $post->term_names = array($post->name); + $processed_posts[] = $post; + $ord_num = $post->ID; + } + } + + return $processed_posts; + } + + private static function news_time() + { + return gmdate('Y-m-d H:i:s', time() + get_option('gmt_offset') * 3600 - 48 * 3600); + } + + /** + * This is the main function that generates our data. + */ + function generate_data() + { + global $wpdb, $post, $bwp_gxs; + + $keywords_map = apply_filters('bwp_gxs_news_keyword_map', array( + // This is an array to map foreign categories to its English counterpart + // Use category title (name) as the key + // Below is an example: + // '電視å°' => 'television', + // 'å人'=> 'celebrities' + )); + + // @see http://www.google.com/support/news_pub/bin/answer.py?answer=74288 + $time = self::news_time(); + $lang = $bwp_gxs->options['select_news_lang']; + $news_genres = $bwp_gxs->options['input_news_genres']; + $news_cats = $bwp_gxs->options['select_news_cats']; + $news_cat_action = $bwp_gxs->options['select_news_cat_action']; + $cat_query = ' AND wpterms.term_id NOT IN (' . $news_cats . ')'; + $cat_query = ('inc' == $news_cat_action) ? str_replace('NOT IN', 'IN', $cat_query) : $cat_query; + $cat_query = ('inc' != $news_cat_action && 'yes' == $bwp_gxs->options['enable_news_multicat']) ? '' : $cat_query; + $group_by = (empty($bwp_gxs->options['enable_news_multicat'])) ? ' GROUP BY wposts.ID' : ''; + + $latest_post_query = ' + SELECT * FROM ' . $wpdb->term_relationships . ' wprel + INNER JOIN ' . $wpdb->posts . ' wposts + ON wprel.object_id = wposts.ID' . " + AND wposts.post_status = 'publish'" . ' + INNER JOIN ' . $wpdb->term_taxonomy . ' wptax + ON wprel.term_taxonomy_id = wptax.term_taxonomy_id' . " + AND wptax.taxonomy = 'category'" . ' + , ' . $wpdb->terms . ' wpterms + WHERE wptax.term_id = wpterms.term_id + AND wposts.post_date > %s' . + $cat_query . $group_by . ' + ORDER BY wposts.post_date DESC'; + + $latest_posts = $this->get_results($wpdb->prepare($latest_post_query, $time)); + + // If Multi-cat mode is enabled we will need to process fetched posts + if ('yes' == $bwp_gxs->options['enable_news_multicat']) + $latest_posts = self::process_posts($latest_posts, $news_cats, $news_cat_action); + + $using_permalinks = $this->using_permalinks(); + + $genres_cache = array(); + + for ($i = 0; $i < sizeof($latest_posts); $i++) + { + $post = $latest_posts[$i]; + // Init your $data with the previous item's data. This makes sure no item is mal-formed. + $data = array(); + // @since 1.1.0 - get permalink independently, as we don't need caching or some complicated stuff + if ($using_permalinks && empty($post->post_name)) + $data['location'] = ''; + else + $data['location'] = $this->get_permalink(); + $data['language'] = $lang; + // Multi-cat support for genres + if (isset($post->terms)) + { + $genres_cache_key = md5(implode('|', $post->terms)); + if (!isset($genres_cache[$genres_cache_key]) || !is_array($genres_cache[$genres_cache_key])) + { + $genres_cache[$genres_cache_key] = array(); + foreach ($post->terms as $term_id) + { + $cur_genres = !empty($news_genres['cat_' . $term_id]) ? explode(', ', $news_genres['cat_' . $term_id]) : ''; + if (is_array($cur_genres)) : + foreach ($cur_genres as $cur_genre) + if (!in_array($cur_genre, $genres_cache[$genres_cache_key])) + $genres_cache[$genres_cache_key][] = $cur_genre; + endif; + } + } + + $data['genres'] = implode(', ', $genres_cache[$genres_cache_key]); + } + else + $data['genres'] = !empty($news_genres['cat_' . $post->term_id]) ? $news_genres['cat_' . $post->term_id] : ''; + $data['pub_date'] = $this->format_lastmod(strtotime($post->post_date)); + $data['title'] = $post->post_title; + // Multi-cat support for news categories as keywords + if ('cat' == $bwp_gxs->options['select_news_keyword_type'] && isset($post->term_names)) + { + $keywords = array(); + foreach ($post->term_names as $term_name) + $keywords[] = (!empty($keywords_map[$term_name])) ? trim($keywords_map[$term_name]) : $term_name; + $keywords = implode(', ', $keywords); + } + // Temporary support for news tags as keywords + else if ('tag' == $bwp_gxs->options['select_news_keyword_type']) + { + $keywords = array(); + $tags = get_the_tags($post->ID); + if (is_array($tags)) : + foreach (get_the_tags($post->ID) as $tag) + $keywords[] = (!empty($keywords_map[$tag->name])) ? trim($keywords_map[$tag->name]) : $tag->name; + endif; + $keywords = implode(', ', $keywords); + } + else + $keywords = (!empty($keywords_map[$post->name])) ? trim($keywords_map[$post->name]) : $post->name; + $data['keywords'] = ('yes' == $bwp_gxs->options['enable_news_keywords']) ? $keywords : ''; + // Pass data back to the plugin to handle + $this->data[] = $data; + } + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_most_popular.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_most_popular.php new file mode 100644 index 0000000..647594f --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/post_most_popular.php @@ -0,0 +1,76 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + * + * This is a sample custom module. Some if about the module developer here would be nice! + */ + +class BWP_GXS_MODULE_POST_MOST_POPULAR extends BWP_GXS_MODULE { + + function __construct() + { + // Give your properties value here + // $this->set_current_time() should always be called, it will allow you to use $this->now (the current Unix Timestamp). + $this->set_current_time(); + $this->perma_struct = get_option('permalink_structure'); + // Always call this to start building data + // If you want to make use of SQL cycling (a method to reduce heavy queries), don't use build_data() like other modules. + // Just call it here and use function generate_data() to build actual data, just like below. Use SQL cycling when + // you are dealing with post-based sitemaps. + $this->build_data(); + } + + /** + * This is the main function that generates our data. + * + * Since we are dealing with heavy queries here, it's better that you use + * generate_data() which will get called by build_data(). This way you will query for no more than + * the SQL limit configurable in this plugin's option page. + * If you happen to use LIMIT in your SQL statement for other reasons then use build_data() instead. + */ + function generate_data() + { + global $wpdb, $bwp_gxs, $post; + + $latest_post_query = ' + SELECT * FROM ' . $wpdb->posts . " + WHERE post_status = 'publish' AND post_type = 'post' AND comment_count > 2" . ' + ORDER BY comment_count, post_modified DESC'; + + // Use $this->get_results instead of $wpdb->get_results, remember to escape your query + // using $wpdb->prepare or $wpdb->escape, @see http://codex.wordpress.org/Function_Reference/wpdb_Class + $latest_posts = $this->get_results($latest_post_query); + + // This check helps you stop the cycling sooner + // It basically means if there is nothing to loop through anymore we return false so the cycling can stop. + if (!isset($latest_posts) || 0 == sizeof($latest_posts)) + return false; + + $using_permalinks = $this->using_permalinks(); + + // Always init your $data + $data = array(); + for ($i = 0; $i < sizeof($latest_posts); $i++) + { + $post = $latest_posts[$i]; + // Init your $data with the previous item's data. This makes sure no item is mal-formed. + $data = $this->init_data($data); + if ($using_permalinks && empty($post->post_name)) + $data['location'] = ''; + else + $data['location'] = get_permalink(); + $data['lastmod'] = $this->format_lastmod(strtotime($post->post_modified)); + $data['freq'] = $this->cal_frequency($post); + $data['priority'] = $this->cal_priority($post, $data['freq']); + $this->data[] = $data; + } + + // Probably save some memory ;) + unset($latest_posts); + + // Always return true if we can get here, otherwise you're stuck at the SQL cycling limit + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/site.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/site.php new file mode 100644 index 0000000..6e797ec --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/site.php @@ -0,0 +1,76 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_MODULE_SITE extends BWP_GXS_MODULE { + + function __construct() + { + $this->set_current_time(); + $this->build_data(); + } + + function generate_data() + { + global $wpdb, $blog_id; + + // If this is simply not a multisite installation, or a multisite installation, but not on main site, + // just show the lonely domain + if (empty($wpdb->blogs) || (!empty($blog_id) && 1 < $blog_id)) + { + $last_mod = $wpdb->get_var('SELECT post_modified FROM ' . $wpdb->posts . " WHERE post_status = 'publish' ORDER BY post_modified DESC"); + $data = array(); + $data['location'] = trailingslashit(home_url()); + $data['lastmod'] = $this->format_lastmod(strtotime($last_mod)); + $data['freq'] = apply_filters('bwp_gxs_freq_site', $this->cal_frequency(NULL, $last_mod), $blog_id); + $data['freq'] = ('always' == $data['freq']) ? 'hourly' : $data['freq']; + $data['priority'] = 1; + $this->data[] = $data; + return false; + } + else if (isset($blog_id) && 1 == $blog_id) + { + if (!empty($wpdb->dmtable)) + // If domain mapping is active + $blog_sql = 'SELECT wpblogs.*, wpdm.domain as mapped_domain FROM ' . $wpdb->blogs . ' wpblogs + LEFT JOIN ' . $wpdb->dmtable . ' wpdm + ON wpblogs.blog_id = wpdm.blog_id AND wpdm.active = 1 + WHERE wpblogs.public = 1 AND wpblogs.spam = 0 AND wpblogs.deleted = 0'; + else + // Otherwise + $blog_sql = 'SELECT * FROM ' . $wpdb->blogs . ' WHERE public = 1 AND spam = 0 AND deleted = 0'; + + // Get all blogs + $blogs = $this->get_results($blog_sql); + + if (!isset($blogs) || 0 == sizeof($blogs)) + return false; + + $data = array(); + for ($i = 0; $i < sizeof($blogs); $i++) + { + $blog = $blogs[$i]; + $data = $this->init_data($data); + // Get the correct domain + $scheme = is_ssl() ? 'https://' : 'http://'; + $path = $blog->path; + $data['location'] = (empty($blog->mapped_domain)) ? $scheme . $blog->domain . $path : $scheme . str_replace(array('http', 'https'), '', $blog->mapped_domain) . '/'; + $data['lastmod'] = $this->format_lastmod(strtotime($blog->last_updated)); + $data['freq'] = apply_filters('bwp_gxs_freq_site', $this->cal_frequency(NULL, $blog->last_updated), $blog->blog_id); + $data['freq'] = ('always' == $data['freq']) ? 'hourly' : $data['freq']; + // Always give primary blog a priority of 1 + $data['priority'] = (0 == $i) ? 1 : $this->cal_priority(NULL, $data['freq']); + $this->data[] = $data; + } + + unset($blogs); + + return true; + } + else + return false; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/sitemapindex.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/sitemapindex.php new file mode 100644 index 0000000..732ec12 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/sitemapindex.php @@ -0,0 +1,163 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + */ + +class BWP_GXS_MODULE_INDEX extends BWP_GXS_MODULE { + + // Declare all properties you need for your modules here + var $requested_modules = array(); + + function __construct($requested) + { + // Give your properties value here + $this->set_current_time(); + $this->requested_modules = $requested; + // Always call this to start building data + $this->build_data(); + } + + /** + * This is the main function that generates our data. + * + * If your module deals with heavy queries, for example selecting all posts from the database, + * you should not use build_data() directly but rather use generate_data(). Open term.php for more details. + */ + function build_data() + { + global $wpdb, $bwp_gxs; + + // A better limit for sites that have posts with same last modified date - @since 1.0.2 + $limit = sizeof(get_post_types(array('public' => true))) + 1000; + + $latest_post_query = ' + SELECT * + FROM + ( + SELECT post_type, max(post_modified) AS mpmd + FROM ' . $wpdb->posts . " + WHERE post_status = 'publish'" . ' + GROUP BY post_type + ) AS f + INNER JOIN ' . $wpdb->posts . ' AS s ON s.post_type = f.post_type + AND s.post_modified = f.mpmd + LIMIT ' . (int) $limit; + $latest_posts = $wpdb->get_results($latest_post_query); + + if (!isset($latest_posts) || !is_array($latest_posts) || 0 == sizeof($latest_posts)) + return false; + + // Build a temporary array holding post type and their latest modified date, sorted by post_modified + foreach ($latest_posts as $a_post) + $temp_posts[$a_post->post_type] = $this->format_lastmod(strtotime($a_post->post_modified)); + arsort($temp_posts); + $prime_lastmod = current($temp_posts); + + // Determine whether or not to split post-based sitemaps - @since 1.1.0 + $post_count_array = array(); + if ('yes' == $bwp_gxs->options['enable_sitemap_split_post']) + { + $post_count_query = ' + SELECT COUNT(ID) as total, post_type + FROM ' . $wpdb->posts . " + WHERE post_status = 'publish'" . ' + GROUP BY post_type + '; + $post_counts = $wpdb->get_results($post_count_query); + // Make the result array friendly + foreach ($post_counts as $count) + $post_count_array[$count->post_type] = $count->total; + unset($post_counts); + unset($count); + } + + $taxonomies = $bwp_gxs->taxonomies; + + $data = array(); + foreach ($this->requested_modules as $item) + { + $data = $this->init_data($data); + $data['location'] = $this->get_xml_link($item[0]); + $passed = false; // Whether or not to pass data back at the end + if ('site' == $item[0]) + { + // Site home URL sitemap - @since 1.1.5 + $data['lastmod'] = $prime_lastmod; + } + else if (isset($item[1])) + { + if (isset($item[1]['post'])) + { + $the_post = $this->get_post_by_post_type($item[1]['post'], $latest_posts); + if ($the_post) + { + // If we have a matching post_type and the total number of posts reach the split limit, + // we will split this post sitemap accordingly + if ('yes' == $bwp_gxs->options['enable_sitemap_split_post'] && sizeof($post_count_array) > 0 && isset($post_count_array[$the_post->post_type]) && $post_count_array[$the_post->post_type] > $bwp_gxs->options['input_split_limit_post']) + { + $num_part = floor($post_count_array[$the_post->post_type] / $bwp_gxs->options['input_split_limit_post']) + 1; + if (1 < $num_part) + { + $data['location'] = $this->get_xml_link($item[0] . '_part1'); + $data['lastmod'] = $this->format_lastmod(strtotime($the_post->post_modified)); + $this->data[] = $data; + $time_step = round(7776000 / $num_part); + $time_step = (20000 > $time_step) ? 20000 : $time_step; + for ($i = 2; $i <= $num_part; $i++) + { + $part_data['location'] = $this->get_xml_link($item[0] . '_part' . $i); + // Reduce the lastmod for about 1 month + $part_data['lastmod'] = $this->format_lastmod(strtotime($the_post->post_modified) - $i * $time_step); + $this->data[] = $part_data; + } + $passed = true; + } + else + $data['lastmod'] = $this->format_lastmod(strtotime($the_post->post_modified)); + } + else + $data['lastmod'] = $this->format_lastmod(strtotime($the_post->post_modified)); + } + } + else if (isset($item[1]['special'])) + { + switch ($item[1]['special']) + { + case 'google_news': + + $news_cats = explode(',', $bwp_gxs->options['select_news_cats']); + if (0 < sizeof($news_cats) && !empty($news_cats[0])) + { + $news_cat_action = $bwp_gxs->options['select_news_cat_action']; + $cat_query = ('inc' == $news_cat_action) ? 'category__in' : 'category__not_in'; + $the_post = get_posts(array('posts_per_page' => 1, $cat_query => $news_cats)); + $data['lastmod'] = $this->format_lastmod(strtotime($the_post[0]->post_modified)); + } + else + $passed = true; + + break; + } + } + else if (isset($item[1]['taxonomy'])) + { + foreach ($temp_posts as $post_type => $modified_time) + { + if ($this->post_type_uses($post_type, $taxonomies[$item[1]['taxonomy']])) + $data['lastmod'] = $this->format_lastmod(strtotime($modified_time)); + } + } + else if (isset($item[1]['archive'])) + $data['lastmod'] = $prime_lastmod; + } + // Just in case something went wrong - @since 1.0.2 + if (empty($data['lastmod'])) + $data['lastmod'] = $prime_lastmod; + // Pass data back to the plugin + if (false == $passed) + $this->data[] = $data; + } + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/taxonomy.php b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/taxonomy.php new file mode 100644 index 0000000..b9824e8 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/includes/modules/taxonomy.php @@ -0,0 +1,94 @@ + + * @license http://www.gnu.org/licenses/gpl.html GNU GENERAL PUBLIC LICENSE + * Taxonomy Linear Mode + */ + +class BWP_GXS_MODULE_TAXONOMY extends BWP_GXS_MODULE { + + function __construct() + { + $this->set_current_time(); + $this->build_data('lastmod'); + } + + function generate_data() + { + global $wpdb, $bwp_gxs; + + $requested = $bwp_gxs->module_data['sub_module']; + + $latest_post_query = ' + SELECT MAX(wposts.post_modified) as post_modified, MAX(wposts.comment_count) as comment_count, wptax.term_id FROM ' . $wpdb->term_relationships . ' wprel + INNER JOIN ' . $wpdb->posts . ' wposts + ON wprel.object_id = wposts.ID + INNER JOIN ' . $wpdb->term_taxonomy . ' wptax + ON wprel.term_taxonomy_id = wptax.term_taxonomy_id' . " + WHERE wposts.post_status = 'publish'" . ' + AND wptax.taxonomy = %s + AND wptax.count > 0 + GROUP BY wptax.term_id + ORDER BY wptax.term_id DESC'; + $latest_posts = $this->get_results($wpdb->prepare($latest_post_query, $requested)); + + if (!isset($latest_posts) || 0 == sizeof($latest_posts)) + return false; + + $term_query = ' + SELECT t.*, tt.* + FROM ' . $wpdb->terms . ' AS t + INNER JOIN ' . $wpdb->term_taxonomy . ' AS tt + ON t.term_id = tt.term_id + WHERE tt.taxonomy = %s AND tt.count > 0 + ORDER BY t.term_id DESC'; + $terms = $this->get_results($wpdb->prepare($term_query, $requested)); + + if (!isset($terms) || 0 == sizeof($terms)) + return false; + + // Can be something like array('cat1', 'cat2', 'cat3') + $exclude_terms = (array) apply_filters('bwp_gxs_term_exclude', array(''), $requested); + // Build an array with term_id as key + $term2post = array(); + for ($i = 0; $i < sizeof($latest_posts); $i++) + { + $post = $latest_posts[$i]; + if (!empty($post->term_id) && !isset($term2post[$post->term_id])) + $term2post[$post->term_id] = $post; + unset($post); + } + + $data = array(); + for ($i = 0; $i < sizeof($terms); $i++) + { + $term = $terms[$i]; + if (in_array($term->slug, $exclude_terms)) + continue; + $data = $this->init_data($data); + $data['location'] = $this->get_term_link($term, $requested); + if (isset($term2post[$term->term_id])) + { + $post = $term2post[$term->term_id]; + $data['lastmod'] = $this->format_lastmod(strtotime($post->post_modified)); + $data['freq'] = $this->cal_frequency($post); + $data['priority'] = $this->cal_priority($post, $data['freq']); + } + else + { + $data['freq'] = $this->cal_frequency('', $data['lastmod']); + $data['priority'] = $this->cal_priority('', $data['freq']); + } + $this->data[] = $data; + unset($post); + unset($term); + } + + unset($latest_posts); + unset($term2post); + unset($terms); + + return true; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/index.php b/wp-content/plugins/bwp-google-xml-sitemaps/index.php new file mode 100644 index 0000000..19ec411 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ms_MY.mo b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ms_MY.mo new file mode 100644 index 0000000..b311fcf Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ms_MY.mo differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ms_MY.po b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ms_MY.po new file mode 100644 index 0000000..db73d0e --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ms_MY.po @@ -0,0 +1,793 @@ +msgid "" +msgstr "" +"Project-Id-Version: BWP Google XML Sitemaps(Malay Translation)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-03 20:10+0700\n" +"PO-Revision-Date: 2012-04-03 20:10+0700\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SourceCharset: utf-8\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Malay\n" +"X-Poedit-Country: MALAYSIA\n" +"X-Poedit-SearchPath-0: .\n" + +#: includes/class-bwp-framework.php:177 +#, php-format +msgid "%s requires WordPress %s or higher and PHP %s or higher. The plugin will not function until you update your software. Please deactivate this plugin." +msgstr "%s memerlukan WordPress %s atau yang terbaharu dan PHP %s atau yang terbaharu . Plugin ini tidak akan berfungsi sehingga anda menaiktaraf perisian. Sila nyahaktifkan plugin ini." + +#: includes/class-bwp-framework.php:188 +msgid "Development Log" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Frequently Asked Questions" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "FAQ" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Got a problem? Send me a feedback!" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Contact" +msgstr "" + +#: includes/class-bwp-framework.php:195 +#, fuzzy +msgid "You can buy me some special coffees if you appreciate my work, thank you!" +msgstr "Anda boleh menderma jika anda hargai kerja saya, terima kasih!" + +#: includes/class-bwp-framework.php:209 +msgid "Donate to " +msgstr "" + +#: includes/class-bwp-framework.php:211 +msgid "One cup $5.00" +msgstr "" + +#: includes/class-bwp-framework.php:212 +msgid "Two cups $10.00" +msgstr "" + +#: includes/class-bwp-framework.php:213 +msgid "Five cups! $25.00" +msgstr "" + +#: includes/class-bwp-framework.php:214 +msgid "One LL-cup!!! $50.00" +msgstr "" + +#: includes/class-bwp-framework.php:215 +msgid "... or any amount!" +msgstr "" + +#: includes/class-bwp-framework.php:230 +msgid "Latest updates from BetterWP.net!" +msgstr "" + +#: includes/class-bwp-framework.php:231 +msgid "Follow me on Twitter!" +msgstr "" + +#: includes/class-bwp-framework.php:240 +#, php-format +msgid "You are using version %s!" +msgstr "Anda menggunakan versi %s!" + +#: includes/class-bwp-framework.php:385 +msgid "Settings" +msgstr "Tetapan" + +#: includes/class-bwp-gxs-cache.php:34 +#, php-format +msgid "Cache directory (\"%s\") does not exist or is not writable." +msgstr "Direktori cache (\"%s\") tidak wujud atau tidak boleh dibaca." + +#: includes/class-bwp-gxs-cache.php:56 +#, php-format +msgid "Cache file for module %s is not found and will be built right away." +msgstr "Fail cache untuk modul %s tidak dijumpai dan akan dibina segera." + +#: includes/class-bwp-gxs-cache.php:108 +#: includes/class-bwp-simple-gxs.php:1341 +#, php-format +msgid "Successfully served a cached version of %s.xml." +msgstr "Berjaya melayan versi cache untuk %s.xml." + +#: includes/class-bwp-simple-gxs.php:141 +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "Sitemap Statistics" +msgstr "Statistik Pelan Tapak" + +#: includes/class-bwp-simple-gxs.php:142 +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "Sitemap Generator" +msgstr "Penghasilan Pelan Tapak" + +#: includes/class-bwp-simple-gxs.php:143 +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +#, fuzzy +msgid "News Sitemap" +msgstr "Apa itu Pelan tapak?" + +#: includes/class-bwp-simple-gxs.php:174 +#, php-format +msgid "This sitemap was originally generated in %s second(s) (Memory usage: %s) - %s queries - %s URL(s) listed" +msgstr "Peta tapak ini asalnya telah dihasilkan selama %s saat (Penggunaan memori: %s) - %s maklumat - %s URL(s) telah disenaraikan" + +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "BWP Google XML Sitemaps Statistics" +msgstr "Statistik Pelan Tapak Google XML BWP " + +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "BWP Google XML Sitemaps Generator" +msgstr "Penghasilan Pelan Tapak Google XML BWP" + +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +#, fuzzy +msgid "BWP Google News XML Sitemap" +msgstr "Pelan Tapak Google XML BWP " + +#: includes/class-bwp-simple-gxs.php:353 +msgid "BWP Google XML Sitemaps" +msgstr "Pelan Tapak Google XML BWP " + +#: includes/class-bwp-simple-gxs.php:368 +msgid "You do not have sufficient permissions to access this page." +msgstr "Anda tidak mempunyai cukup kebenaran untuk mengakses muka ini." + +#: includes/class-bwp-simple-gxs.php:389 +#: includes/class-bwp-simple-gxs.php:736 +#: includes/class-bwp-simple-gxs.php:738 +msgid "Notice" +msgstr "Notis" + +#: includes/class-bwp-simple-gxs.php:389 +msgid "All logs have been cleared successfully!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:396 +msgid "What are Sitemaps?" +msgstr "Apa itu Pelan tapak?" + +#: includes/class-bwp-simple-gxs.php:397 +msgid "Your sitemaps" +msgstr "Pelan tapak anda" + +#: includes/class-bwp-simple-gxs.php:398 +msgid "Submit your sitemaps" +msgstr "Serah pelan tapak anda" + +#: includes/class-bwp-simple-gxs.php:399 +msgid "Pinging search engines" +msgstr "Penghantaran ke enjin carian" + +#: includes/class-bwp-simple-gxs.php:400 +msgid "Enable pinging functionality?" +msgstr "Benarkan keberkesanan penghantaran? " + +#: includes/class-bwp-simple-gxs.php:401 +msgid "Enable pinging individual SE" +msgstr "Benarkan penghantaran SE individu" + +#: includes/class-bwp-simple-gxs.php:402 +msgid "Sitemap Generator's Log" +msgstr "Log Penghasilan Pelan Tapak" + +#: includes/class-bwp-simple-gxs.php:403 +msgid "Enable logging?" +msgstr "Benarkan log?" + +#: includes/class-bwp-simple-gxs.php:404 +msgid "Enable debugging?" +msgstr "Benarkan debugging?" + +#: includes/class-bwp-simple-gxs.php:413 +#, fuzzy +msgid "In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site — http://www.sitemaps.org/" +msgstr "Dalam erti kata mudah, sebuah pelan tapak adalah fail XML yang mengandungi senarai URL untuk halaman bersama-sama dengan metadata tambahan tentang setiap URL (saat terakhir dikemaskinikan, seberapa kerap perubahan biasanya, dan betapa pentingnya, berkait rapat dengan URL lain di tapak ) jadi enjin carian akan lebih berkesan mencari tapak tersebut - http://www.sitemaps.org/" + +#: includes/class-bwp-simple-gxs.php:413 +msgid "This plugin helps you generate both Sitemap Index files as well as normal Sitemap files. A Sitemap Index, as its name suggests, is one kind of sitemaps that allows you to group multiple sitemap files inside it." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:414 +msgid "Basic information about all your sitemaps." +msgstr "Maklumat asas tentang keseluruhan pelan tapak anda." + +#: includes/class-bwp-simple-gxs.php:415 +msgid "More detailed information about how your sitemaps are generated including notices, errors and success messages." +msgstr "Maklumat lebih lanjut tentang bagaimana pelan tapak anda telah dihasilkan termasuk notices, ralat dan juga mesej berjaya." + +#: includes/class-bwp-simple-gxs.php:416 +#, fuzzy, php-format +msgid "Submit your sitemapindex to major search engines like Google, Bing or Ask." +msgstr "Hantar indeks pelan tapak anda kepada enjin carian biasa seperti Google, Yahoo, Bing atau Ask." + +#: includes/class-bwp-simple-gxs.php:417 +msgid "Now when you post something new to your blog, you can ping those search engines to tell them your blog just got updated. Pinging could be less effective than you think it is but you should enable such feature anyway." +msgstr "Sekarang apabila anda menghantar sesuatu yang baru pada blog anda, anda boleh menguji enjin carian untuk memberitahu mereka bahawa blog anda baru dikemaskinikan. Penghantaran mungkin kurang efektif dari yang anda fikir tetapi anda harus juga benarkan fungsi ini." + +#: includes/class-bwp-simple-gxs.php:422 +msgid "Selected SE below will be pinged when you publish new posts." +msgstr "SE yang dipilih dibawah akan dihantar apabila anda menerbitkan pos baharu." + +#: includes/class-bwp-simple-gxs.php:423 +msgid "No additional load is needed so enabling this is recommended." +msgstr "Tiada beban tambahan diperlukan jadi membenarkan ini adalah digalakkan." + +#: includes/class-bwp-simple-gxs.php:424 +msgid "Minor errors will be printed on screen. Also, when debug is on, no caching is used, useful when you develop new modules." +msgstr "Ralat kecil akan dicetak pada skrin. Juga, apabila debug diaktifkan, tiada caching akan digunakan, berguna apabila anda mengembangkan modul baharu." + +#: includes/class-bwp-simple-gxs.php:425 +msgid "Google" +msgstr "Google" + +#: includes/class-bwp-simple-gxs.php:426 +msgid "Bing" +msgstr "Bing" + +#: includes/class-bwp-simple-gxs.php:427 +msgid "Ask.com" +msgstr "Ask.com" + +#: includes/class-bwp-simple-gxs.php:430 +#, php-format +msgid "After you activate this plugin, all sitemaps should be available right away. The next step is to submit the sitemapindex to major search engines. You only need the sitemapindex and nothing else, those search engines will automatically recognize other included sitemaps. You can read a small How-to if you are interested." +msgstr "Apabila anda aktifkan plugin ini, semua pelan tapak sepatutnya sudah berada. Langkah seterusnya ialah dengan menghantar indeks pelan tapak kepada enjin carian. Anda cuma perlu indeks pelan tapak dan selain itu, enjin carian secara automatik mengenalpasti pelan tapak yang lain. Anda boleh merujuk Langkah-langkah jika anda berminat." + +#: includes/class-bwp-simple-gxs.php:458 +msgid "Output no more than" +msgstr "Output tidak lebih dari" + +#: includes/class-bwp-simple-gxs.php:459 +msgid "Default change frequency" +msgstr "Ubah frekuensi lalai" + +#: includes/class-bwp-simple-gxs.php:460 +msgid "Default priority" +msgstr "Keutamaan lalai" + +#: includes/class-bwp-simple-gxs.php:461 +msgid "Minimum priority" +msgstr "Keutamaan minimum" + +#: includes/class-bwp-simple-gxs.php:462 +msgid "Use GMT for Last Modified date?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:463 +msgid "Style your sitemaps with an XSLT stylesheet?" +msgstr "Ubah pelan tapak anda dengan gaya lembar XSLT?" + +#: includes/class-bwp-simple-gxs.php:464 +msgid "Custom XSLT stylesheet URL" +msgstr "URL gaya lembar XSLT yang diubah" + +#: includes/class-bwp-simple-gxs.php:465 +msgid "Show build stats in sitemaps?" +msgstr "Papar status bina dalam pelan tapak?" + +#: includes/class-bwp-simple-gxs.php:466 +msgid "Enable credit?" +msgstr "Paparkan penghargaan?" + +#: includes/class-bwp-simple-gxs.php:467 +msgid "Enable Gzip?" +msgstr "Benarkan Gzip?" + +#: includes/class-bwp-simple-gxs.php:468 +msgid "Clean unexpected output before sitemap generation?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:469 +#, fuzzy +msgid "Sitemap Index Options" +msgstr "Penghasilan Pelan Tapak" + +#: includes/class-bwp-simple-gxs.php:470 +msgid "Automatically split post-based sitemaps into smaller sitemaps?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:471 +#, fuzzy +msgid "Add sitemapindex to individual blog's virtual robots.txt?" +msgstr "Tambah indeks pelan tapak kepada WordPress's robots.txt?" + +#: includes/class-bwp-simple-gxs.php:472 +#, fuzzy +msgid "Add sitemapindex from all blogs within network to primary blog's virtual robots.txt?" +msgstr "Tambah indeks pelan tapak kepada WordPress's robots.txt?" + +#: includes/class-bwp-simple-gxs.php:473 +msgid "In sitemapindex, include" +msgstr "Di dalam indeks pelan tapak, termasuk" + +#: includes/class-bwp-simple-gxs.php:474 +msgid "Exclude following post types:" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:475 +msgid "Exclude following taxonomies:" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:476 +msgid "Module Options" +msgstr "Tetapan modul" + +#: includes/class-bwp-simple-gxs.php:477 +msgid "Alternate module directory" +msgstr "Direktori pengganti modul" + +#: includes/class-bwp-simple-gxs.php:478 +msgid "Get no more than" +msgstr "Dapat tidak lebih daripada" + +#: includes/class-bwp-simple-gxs.php:479 +msgid "Caching Options" +msgstr "Tetapan Caching" + +#: includes/class-bwp-simple-gxs.php:480 +msgid "Enable caching?" +msgstr "Benarkan caching?" + +#: includes/class-bwp-simple-gxs.php:481 +msgid "Enable auto cache re-generation?" +msgstr "Benarkan auto cache di-generasi?" + +#: includes/class-bwp-simple-gxs.php:482 +msgid "Cached sitemaps will last for" +msgstr "Pelan tapak yang di-cache-kan akan bertahan selama" + +#: includes/class-bwp-simple-gxs.php:483 +msgid "Cached sitemaps are stored in (auto detected)" +msgstr "Pelan tapak yang di-cache-kan akan disimpan di dalam (auto carian)" + +#: includes/class-bwp-simple-gxs.php:487 +msgid "Cache your sitemaps for better performance." +msgstr "Cache pelan tapak anda untuk prestasi yang memberangsangkan." + +#: includes/class-bwp-simple-gxs.php:488 +#, php-format +msgid "This plugin uses modules to build sitemap data so it is recommended that you extend this plugin using modules rather than hooks. Some of the settings below only affect modules extending the base module class. Read more about using modules here." +msgstr "Plugin ini menggunakan modul untuk membina data pelan tapak jadi digalakkan untuk anda mengembangkan plugin ini menggunakan modul-modul berbanding dikait. Salah satu daripada tetapan dibawah hanya mempengaruhi dalam memperluas kelas modul asas.Lebih lanjut tentang penggunaan modul disini." + +#: includes/class-bwp-simple-gxs.php:489 +msgid "Here you can change some settings that affect the default Sitemap Index file." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:503 +#: includes/class-bwp-simple-gxs.php:509 +msgid "second(s)" +msgstr "saat" + +#: includes/class-bwp-simple-gxs.php:504 +#: includes/class-bwp-simple-gxs.php:510 +msgid "minute(s)" +msgstr "minit" + +#: includes/class-bwp-simple-gxs.php:505 +#: includes/class-bwp-simple-gxs.php:511 +msgid "hour(s)" +msgstr "jam" + +#: includes/class-bwp-simple-gxs.php:506 +#: includes/class-bwp-simple-gxs.php:512 +msgid "day(s)" +msgstr "hari" + +#: includes/class-bwp-simple-gxs.php:519 +#: includes/class-bwp-simple-gxs.php:520 +#: includes/class-bwp-simple-gxs.php:521 +msgid "read more" +msgstr "lebih lanjut" + +#: includes/class-bwp-simple-gxs.php:524 +msgid "your sitemaps are generated and then cached to reduce unnecessary work." +msgstr "pelan tapak anda telah dihasilkan dan kemudian di-cache-kan untuk mengurangkan kerja yang diperlukan." + +#: includes/class-bwp-simple-gxs.php:525 +msgid "when a cached sitemap expires, this plugin will try to generate the cache again. If you disable this, remember to manually flush the cache once in a while." +msgstr "apabila cache pelan tapak luput, plugin ini akan cuba untuk menghasilkan cache lagi. Jika anda tidak membenarkan ini, waspada untuk membuang cache secara manual sekali sekala." + +#: includes/class-bwp-simple-gxs.php:525 +msgid "Flush the cache" +msgstr "Buang cache" + +#: includes/class-bwp-simple-gxs.php:526 +msgid "tell you useful information such as build time, memory usage, SQL queries, etc." +msgstr "beritahu anda maklumat seperti masa bina, pengunaan memori, maklumat SQL dan lain-lain." + +#: includes/class-bwp-simple-gxs.php:527 +#, php-format +msgid "make your sitemaps ~ 70% smaller. Important: If you see an error after enabling this, it's very likely that you have gzip active on your server already." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:528 +msgid "only disable this when sitemaps appear in either blank page or plain text." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:529 +#, php-format +msgid "If you have like 50 blogs, 50 Sitemap: http://example.com/sitemapindex.xml entries will be added to your primary blog's robots.txt, i.e. %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:530 +msgid "taxonomy archives' sitemaps, including custom taxonomies." +msgstr "menamakan arkib pelan tapak, termasuk yang diubahsuai." + +#: includes/class-bwp-simple-gxs.php:532 +msgid "date archives' sitemaps." +msgstr "tarikh arkib pelan tapak." + +#: includes/class-bwp-simple-gxs.php:533 +msgid "external pages' sitemap. This allows you to add links to pages that do not belong to WordPress to the sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:534 +msgid "some copyrighted info is also added to your sitemaps. Thanks!" +msgstr "sedikit maklumat hakcipta juga akan ditambah pada pelan tapak anda. Terima kasih! " + +#: includes/class-bwp-simple-gxs.php:535 +#, fuzzy +msgid "This will load the default style sheet provided by this plugin. You can set a custom style sheet below or filter the bwp_gxs_xslt hook." +msgstr "Ini akan menambah gaya lembar lalai yang dibekalkan dengan plugin ini. Anda boleh menetapkan gaya lembar yang diubahsuai di bawah atau dengan menapis bwp_gxs_xslt." + +#: includes/class-bwp-simple-gxs.php:536 +#, php-format +msgid "If you're on a Multi-site installation with Sub-domain enabled, each site will have its own robots.txt, sites in sub-directory will not. Please read the documentation for more info." +msgstr "Jika anda di dalam Multi-tapak pemasangan dengan Sub-domain digunakan, setiap tapak akan ada setiap robot.txt sendiri, manakala tapak di dalam sub- direktori adalah sebaliknya. Sila rujuk dokumentasi untuk maklumat terperinci." + +#: includes/class-bwp-simple-gxs.php:537 +msgid "e.g. post1.xml, post2.xml, etc. And each sitemap will contain" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:538 +msgid "If you disable this, make sure you also use date_default_timezone_set to correctly set up a timezone for your application." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:539 +#, fuzzy +msgid "author archives' sitemap." +msgstr "tarikh arkib pelan tapak." + +#: includes/class-bwp-simple-gxs.php:540 +msgid "site's home URL sitemap. For a multi-site installation of WordPress, this sitemap will list all domains within your network, not just the main blog. This also supports WPMU Domain Mapping plugin." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:543 +#, fuzzy +msgid "item(s) in one sitemap. You can not go over 50,000." +msgstr "item di dalam satu pelan tapak. Akan tetapi, 5000 adalah lebih sesuai. Anda tidak boleh melebihi 50,000, walaubagaimanapun." + +#: includes/class-bwp-simple-gxs.php:544 +msgid "item(s). Again , you can not go over 50,000." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:545 +msgid "Input a full path to the directory where you put your own modules (e.g. /home/mysite/public_html/gxs-modules/), you can also override a built-in module by having a module with the same filename in this directory. A filter is also available if you would like to use PHP instead." +msgstr "Masuk ruang penuh untuk direktori dimana anda meletak modul anda sendiri (contoh /home/mysite/public_html/gxs-modules/), anda juga boleh melebih-naik modul yang terbina dengan mendapat nama modul fail yang sama di dalam direktori. Penapis juga tersedia jika anda mahu menggunakan PHP." + +#: includes/class-bwp-simple-gxs.php:546 +msgid "The cache directory must be writable (i.e. CHMOD to 755 or 777)." +msgstr "Cache direktori harus boleh ditulis (i.e. CHMOD to 755 or 777)." + +#: includes/class-bwp-simple-gxs.php:547 +msgid "item(s) in one SQL query. This helps you avoid running too heavy queries." +msgstr "item-item di dalam satu maklumat SQL. Ini membantu anda untuk menghindar dari menggunakan maklumat terlalu banyak." + +#: includes/class-bwp-simple-gxs.php:550 +msgid "expected to be an absolute URL, e.g. http://example.com/my-stylesheet.xsl. You must also have a style sheet for the sitemapindex that can be accessed through the above URL, e.g. my-stylesheet.xsl and my-stylesheetindex.xsl). Please leave blank if you do not wish to use." +msgstr "jangkaan untuk menjadi URL tetap, contohnya http://example.com/my-stylesheet.xsl. Anda juga harus mempunyai gaya lembar untuk indeks pelan tapak yang mana boleh di akses melalui URL di atas, contohnya my-stylesheet.xsl dan my-stylesheetindex.xsl). Sila tinggalkan kosong sekiranya anda tidak berhasrat untuk menggunakannya." + +#: includes/class-bwp-simple-gxs.php:557 +#, php-format +msgid "Note: If you encounter white page problem, please refer to the FAQ section to know how to change this limit appropriately to make this plugin work. Also note that, for post-based sitemaps, this option will be overridden by the limit you set in the Sitemap Index Options below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:659 +#, fuzzy +msgid "What is a Google News Sitemap?" +msgstr "Apa itu Pelan tapak?" + +#: includes/class-bwp-simple-gxs.php:660 +msgid "Enable this module?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:661 +msgid "Enable Multi-category Mode?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:662 +msgid "Ping Search Engines when you publish a news article?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:663 +msgid "Use keywords in News Sitemap?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:664 +msgid "News Sitemap's language" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:665 +msgid "News Categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:666 +msgid "This module will" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:670 +msgid "A Google News Sitemap is a file that allows you to control which content you submit to Google News. By creating and submitting a Google News Sitemap, you're able to help Google News discover and crawl your site's articles — http://support.google.com/" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:671 +msgid "Below you will be able to choose what categories to use (or not use) in the news sitemap. You can also assign genres to a specific category." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:674 +msgid "below selected categories in the news sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:679 +msgid "English" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:680 +msgid "French" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:681 +msgid "Spanish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:682 +msgid "German" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:683 +msgid "Portuguese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:684 +msgid "Polish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:685 +msgid "Norwegian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:686 +msgid "Dutch" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:687 +msgid "Italian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:688 +msgid "Vietnamese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:689 +msgid "Simplified Chinese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:692 +msgid "include" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:693 +msgid "exclude" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:696 +msgid "news categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:697 +msgid "news tags" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:703 +msgid "A new post_google_news.xml sitemap will be added to the main sitemapindex.xml." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:704 +msgid "Keywords are derived from" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:705 +msgid "This ping works separately from the sitemapindex ping, and only occurs when you publish an article in one of the news categories set below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:706 +msgid "This mode is meant for News Blogs that have posts assigned to more than one categories. It is an advanced feature and should only be enabled if you do have similar blogs." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:712 +msgid ". Do NOT use news tags if your news sitemap contains a lot of posts as it can be very inefficient to do so. This will be improved in future versions." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:736 +#, php-format +msgid "%d cached sitemaps have been flushed successfully!" +msgstr "%d pelan tapak yang di-cache-kan telah di buang!" + +#: includes/class-bwp-simple-gxs.php:738 +msgid "Could not delete any cached sitemaps. Please manually check the cache directory." +msgstr "Tidak boleh buang mana-mana pelan tapak yang telah di-cache-kan. Sila rujuk cache direktori secara manual." + +#: includes/class-bwp-simple-gxs.php:787 +msgid "All options have been saved." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:809 +msgid "Warning" +msgstr "Amaran" + +#: includes/class-bwp-simple-gxs.php:809 +msgid "Cache directory does not exist or is not writable. Please read more about directory permission here (Unix)." +msgstr "Direktori cache tidak wujud atau tidak boleh dibaca. Sila rujuk direktori berkenaan kebenaran disini (Unix)." + +#: includes/class-bwp-simple-gxs.php:820 +msgid "Clear All Logs" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:874 +msgid "(Debug is on)" +msgstr "(Debug dibuka)" + +#: includes/class-bwp-simple-gxs.php:887 +msgid "BWP Google XML Sitemaps Error: " +msgstr "Google XML Pelan tapak BWP Ralat:" + +#: includes/class-bwp-simple-gxs.php:887 +msgid "BWP Google XML Sitemaps Error" +msgstr "Google XML Pelan tapak BWP Ralat" + +#: includes/class-bwp-simple-gxs.php:910 +#, php-format +msgid "Nothing here... yet! Try submitting your sitemapindex first!" +msgstr "Tiada disini...lagi! Cuba hantar indeks pelan tapak anda dahulu!" + +#: includes/class-bwp-simple-gxs.php:910 +msgid "No log yet!" +msgstr "Tiada log lagi!" + +#: includes/class-bwp-simple-gxs.php:921 +#, php-format +msgid "%s has been successfully built on %s." +msgstr "%s telah berjaya dibina %s." + +#: includes/class-bwp-simple-gxs.php:932 +#: includes/class-bwp-simple-gxs.php:949 +msgid "M j, Y : H:i:s" +msgstr "M j, Y : H:i:s" + +#: includes/class-bwp-simple-gxs.php:1018 +msgid "Category's name" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1018 +#, php-format +msgid "Genres used for this category (more info here)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1309 +#, php-format +msgid "Requested module (%s) not found or not allowed." +msgstr "Modul yang diminta (%s) tidak dijumpai atau tidak dibenarkan." + +#: includes/class-bwp-simple-gxs.php:1368 +#: includes/class-bwp-simple-gxs.php:1389 +#, php-format +msgid "Loaded a custom sub-module file: %s." +msgstr "Lain-lain fail sub-modul telah dibekalkan: %s." + +#: includes/class-bwp-simple-gxs.php:1377 +#, php-format +msgid "Mapped sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the requested sub-module instead." +msgstr "Fail sub-module yang dikategorikan: %s tidak terdapat di dalam kedua-dua lalai dan lain-lain direktori modul. Plugin sekarang akan cuba untuk menggunakan sub-modul." + +#: includes/class-bwp-simple-gxs.php:1397 +#, php-format +msgid "Sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the parent module instead." +msgstr "Fail sub-modul: %s tidak terdapat di dalam kedua-dua lalai dan juga lain-lain direktori modul. Plugin akan cuba menggunakan modul utama." + +#: includes/class-bwp-simple-gxs.php:1411 +#, php-format +msgid "Loaded a custom module file: %s." +msgstr "Menggunakan lain-lain fail modul: %s." + +#: includes/class-bwp-simple-gxs.php:1417 +#, php-format +msgid "Could not load module file: %s in both default and custom module directory. Please recheck if that module file exists." +msgstr "Tidak boleh menggunakan fail modul: %s di kedua-dua lalai dan juga lain-lain direktori modul. Sila semak semula jika fail modul itu wujud." + +#: includes/class-bwp-simple-gxs.php:1437 +#, php-format +msgid "There is no class named %s in the module file %s." +msgstr "Tiada kelas dinamakan %s di dalam fail modul %s." + +#: includes/class-bwp-simple-gxs.php:1446 +#, php-format +msgid "Loaded a custom sitemapindex module file: %s." +msgstr "Menggunakan lain-lain fail modul indeks pelan tapak: %s." + +#: includes/class-bwp-simple-gxs.php:1469 +#, php-format +msgid "Successfully generated %s.xml using module %s." +msgstr "Berjaya menghasilkan %s.xml menggunakan modul %s." + +#: includes/class-bwp-simple-gxs.php:1500 +msgid "BWP Google XML Sitemap Message: Unexpected output (most of the time PHP errors) is preventing BWP GXS from showing any sitemap contents. Try disabling WP_DEBUG or this plugin's debug mode, whichever is on. All unexpected outputs should be shown just above this message. If you don't see any, contact me and I might be able to help." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1630 +msgid "Unknown response code from search engines. Ping failed." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1632 +#, fuzzy, php-format +msgid "Pinged %s with %s successfully!" +msgstr "Penghantaran berjaya %s !" + +#: includes/class-bwp-simple-gxs.php:1637 +#, php-format +msgid "Error %s from %s" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1642 +#, php-format +msgid "Ping limit for today to %s has been reached, sorry!" +msgstr "Had menghantar untuk hari ini kepada %s telah dicapai, maaf!" + +#: includes/class-bwp-simple-gxs.php:1670 +#, fuzzy, php-format +msgid "%s.xml does not have any item. You can fix this easily by excluding any post types / terms you do not use in Sitemap Generator tab within your admin area. If you still see this error, consider checking the module that generates this sitemap (%s.php)." +msgstr "%s.xml tiada apa-apa item. Plugin telah membuang permulaan 404 kepada enjian carian yang memintanya. Anda seharusnya meninjau modul yang menghasilkan pelan tapak itu (%s.php)." + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:80 +msgid "Plugin Configurations" +msgstr "Tetapan Plugin" + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:398 +msgid "Save Changes" +msgstr "Simpan Perubahan" + +#~ msgid "log" +#~ msgstr "log" + +#~ msgid "Yahoo — important" +#~ msgstr "Yahoo — penting" + +#~ msgid "make your sitemaps ~ 70% smaller." +#~ msgstr "membuat pelan tapak anda 70% lebih kecil." + +#~ msgid "static pages' sitemap." +#~ msgstr "pelan tapak muka statik." + +#~ msgid "tag archives' sitemaps." +#~ msgstr "Lekat arkib pelan tapak." + +#~ msgid "%s" +#~ msgstr "%s" diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ro_RO.mo b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ro_RO.mo new file mode 100644 index 0000000..dcf52b5 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ro_RO.mo differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ro_RO.po b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ro_RO.po new file mode 100644 index 0000000..45321b8 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-ro_RO.po @@ -0,0 +1,793 @@ +msgid "" +msgstr "" +"Project-Id-Version: BWP Google XML Sitemaps(Malay Translation)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-03 20:10+0700\n" +"PO-Revision-Date: 2012-04-03 20:10+0700\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SourceCharset: utf-8\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Malay\n" +"X-Poedit-Country: MALAYSIA\n" +"X-Poedit-SearchPath-0: .\n" + +#: includes/class-bwp-framework.php:177 +#, php-format +msgid "%s requires WordPress %s or higher and PHP %s or higher. The plugin will not function until you update your software. Please deactivate this plugin." +msgstr "%s are nevoie de versiunea WordPress %ssau mai mare si PHP %s sau mai mare . Pluginul nu va functiona pana nu actualizati versiunile de software. Va rugam dezactivati pluginul." + +#: includes/class-bwp-framework.php:188 +msgid "Development Log" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Frequently Asked Questions" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "FAQ" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Got a problem? Send me a feedback!" +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Contact" +msgstr "" + +#: includes/class-bwp-framework.php:195 +#, fuzzy +msgid "You can buy me some special coffees if you appreciate my work, thank you!" +msgstr "Imi poti face cinste cu o cafea daca apreciezi munca mea, mersi!" + +#: includes/class-bwp-framework.php:209 +msgid "Donate to " +msgstr "" + +#: includes/class-bwp-framework.php:211 +msgid "One cup $5.00" +msgstr "" + +#: includes/class-bwp-framework.php:212 +msgid "Two cups $10.00" +msgstr "" + +#: includes/class-bwp-framework.php:213 +msgid "Five cups! $25.00" +msgstr "" + +#: includes/class-bwp-framework.php:214 +msgid "One LL-cup!!! $50.00" +msgstr "" + +#: includes/class-bwp-framework.php:215 +msgid "... or any amount!" +msgstr "" + +#: includes/class-bwp-framework.php:230 +msgid "Latest updates from BetterWP.net!" +msgstr "" + +#: includes/class-bwp-framework.php:231 +msgid "Follow me on Twitter!" +msgstr "" + +#: includes/class-bwp-framework.php:240 +#, php-format +msgid "You are using version %s!" +msgstr "Folositi versiunea %s!" + +#: includes/class-bwp-framework.php:385 +msgid "Settings" +msgstr "Setari" + +#: includes/class-bwp-gxs-cache.php:34 +#, php-format +msgid "Cache directory (\"%s\") does not exist or is not writable." +msgstr "Directorul de cache (\"%s\") nu exista sau nu este accesibil." + +#: includes/class-bwp-gxs-cache.php:56 +#, php-format +msgid "Cache file for module %s is not found and will be built right away." +msgstr "Fisierul de cache pentru modulul %s nu a fost gasit si va fi creat imediat." + +#: includes/class-bwp-gxs-cache.php:108 +#: includes/class-bwp-simple-gxs.php:1341 +#, php-format +msgid "Successfully served a cached version of %s.xml." +msgstr "S-a servit cu succes o versiune din cache a %s.xml." + +#: includes/class-bwp-simple-gxs.php:141 +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "Sitemap Statistics" +msgstr "Statistici sitemap" + +#: includes/class-bwp-simple-gxs.php:142 +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "Sitemap Generator" +msgstr "Generator de sitemap" + +#: includes/class-bwp-simple-gxs.php:143 +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +#, fuzzy +msgid "News Sitemap" +msgstr "Ce sunt sitemap-urile?" + +#: includes/class-bwp-simple-gxs.php:174 +#, php-format +msgid "This sitemap was originally generated in %s second(s) (Memory usage: %s) - %s queries - %s URL(s) listed" +msgstr "Acest sitemap a fost generat in %s secunde (Memorie folosita: %s) - %s interogari - %s URL(-uri) listate" + +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "BWP Google XML Sitemaps Statistics" +msgstr "Statistici BWP Google XML Sitemaps" + +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "BWP Google XML Sitemaps Generator" +msgstr "Generator BWP Google XML Sitemaps " + +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +#, fuzzy +msgid "BWP Google News XML Sitemap" +msgstr "BWP Google XML Sitemaps" + +#: includes/class-bwp-simple-gxs.php:353 +msgid "BWP Google XML Sitemaps" +msgstr "BWP Google XML Sitemaps" + +#: includes/class-bwp-simple-gxs.php:368 +msgid "You do not have sufficient permissions to access this page." +msgstr "Nu aveti permisiuni suficiente pentru a accesa aceasta pagina." + +#: includes/class-bwp-simple-gxs.php:389 +#: includes/class-bwp-simple-gxs.php:736 +#: includes/class-bwp-simple-gxs.php:738 +msgid "Notice" +msgstr "Notificare" + +#: includes/class-bwp-simple-gxs.php:389 +msgid "All logs have been cleared successfully!" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:396 +msgid "What are Sitemaps?" +msgstr "Ce sunt sitemap-urile?" + +#: includes/class-bwp-simple-gxs.php:397 +msgid "Your sitemaps" +msgstr "Sitemap-urile tale" + +#: includes/class-bwp-simple-gxs.php:398 +msgid "Submit your sitemaps" +msgstr "Inscrie un sitemap" + +#: includes/class-bwp-simple-gxs.php:399 +msgid "Pinging search engines" +msgstr "Ping motoarelor de cautare" + +#: includes/class-bwp-simple-gxs.php:400 +msgid "Enable pinging functionality?" +msgstr "Activeaza functionalitate de ping" + +#: includes/class-bwp-simple-gxs.php:401 +msgid "Enable pinging individual SE" +msgstr "Activeaza pinging invididual al motoarelor de cautare" + +#: includes/class-bwp-simple-gxs.php:402 +msgid "Sitemap Generator's Log" +msgstr "Log-ul generatorului de sitemap" + +#: includes/class-bwp-simple-gxs.php:403 +msgid "Enable logging?" +msgstr "Permite logarea?" + +#: includes/class-bwp-simple-gxs.php:404 +msgid "Enable debugging?" +msgstr "Permite debugging?" + +#: includes/class-bwp-simple-gxs.php:413 +#, fuzzy +msgid "In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site — http://www.sitemaps.org/" +msgstr "In forma sa simpla, un sitemap e un fisier XML care listeaza toate URL-urile unui site, impreuna cu meta data despre fiecare URL (cand a fost actualizat, cat de des, importanta sa) pentru ca motoarele de cautare sa indexeze mai bine site-ul - http://www.sitemaps.org/" + +#: includes/class-bwp-simple-gxs.php:413 +msgid "This plugin helps you generate both Sitemap Index files as well as normal Sitemap files. A Sitemap Index, as its name suggests, is one kind of sitemaps that allows you to group multiple sitemap files inside it." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:414 +msgid "Basic information about all your sitemaps." +msgstr "Informatii de baza despre sitemap-urile tale." + +#: includes/class-bwp-simple-gxs.php:415 +msgid "More detailed information about how your sitemaps are generated including notices, errors and success messages." +msgstr "MaMai multe detalii despre cum sitemap-urile sunt generate, incluzand notificari, erori si confirmari." + +#: includes/class-bwp-simple-gxs.php:416 +#, fuzzy, php-format +msgid "Submit your sitemapindex to major search engines like Google, Bing or Ask." +msgstr "Inscrie sitemapindex in motoarele de cautare mari precum Google, Yahoo, Bing sau Ask." + +#: includes/class-bwp-simple-gxs.php:417 +msgid "Now when you post something new to your blog, you can ping those search engines to tell them your blog just got updated. Pinging could be less effective than you think it is but you should enable such feature anyway." +msgstr "Acum, cand scrii ceva nou pe blog, poti pingui motoarele de cautare, spunandu-le ca blogul tau a fost actualizat. Ping-ul ar putea fi mai putin eficient decat crezi dar aceasta functionalitate ar trebui activata." + +#: includes/class-bwp-simple-gxs.php:422 +msgid "Selected SE below will be pinged when you publish new posts." +msgstr "Motoarele de cautare selectate vor fi ping-uite cand publicati posturi noi." + +#: includes/class-bwp-simple-gxs.php:423 +msgid "No additional load is needed so enabling this is recommended." +msgstr "Activarea acestei functii este recomandata." + +#: includes/class-bwp-simple-gxs.php:424 +msgid "Minor errors will be printed on screen. Also, when debug is on, no caching is used, useful when you develop new modules." +msgstr "Erori minore vor fi afisate. De asemenea, cand debugging-ul este activ sau cand nu este facut cache." + +#: includes/class-bwp-simple-gxs.php:425 +msgid "Google" +msgstr "Google" + +#: includes/class-bwp-simple-gxs.php:426 +msgid "Bing" +msgstr "Bing" + +#: includes/class-bwp-simple-gxs.php:427 +msgid "Ask.com" +msgstr "Ask.com" + +#: includes/class-bwp-simple-gxs.php:430 +#, php-format +msgid "After you activate this plugin, all sitemaps should be available right away. The next step is to submit the sitemapindex to major search engines. You only need the sitemapindex and nothing else, those search engines will automatically recognize other included sitemaps. You can read a small How-to if you are interested." +msgstr "Dupa ce activezi acest plugin, toate sitemap-urile vor fi disponibile imediat. Urmatorul pas este sa submiti sitemapindex in motoarele de cautare. Nu ai nevoie decat de sitemapindex motoarele de cautare vor recunoaste alte sitemap-uri incluse. Poti citi un mic ghid daca te intereseaza." + +#: includes/class-bwp-simple-gxs.php:458 +msgid "Output no more than" +msgstr "Output pentru numai" + +#: includes/class-bwp-simple-gxs.php:459 +msgid "Default change frequency" +msgstr "Frecventa de schimbare prestabilit" + +#: includes/class-bwp-simple-gxs.php:460 +msgid "Default priority" +msgstr "Prioritate prestabilita" + +#: includes/class-bwp-simple-gxs.php:461 +msgid "Minimum priority" +msgstr "Prioritate minima" + +#: includes/class-bwp-simple-gxs.php:462 +msgid "Use GMT for Last Modified date?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:463 +msgid "Style your sitemaps with an XSLT stylesheet?" +msgstr "Foloseste un stylesheet XSLT pentru sitemap-urile tale" + +#: includes/class-bwp-simple-gxs.php:464 +msgid "Custom XSLT stylesheet URL" +msgstr "Stylesheet URL XSLT customizat" + +#: includes/class-bwp-simple-gxs.php:465 +msgid "Show build stats in sitemaps?" +msgstr "Arata statisticile de la generare in sitemap-uri?" + +#: includes/class-bwp-simple-gxs.php:466 +msgid "Enable credit?" +msgstr "Crediteaza?" + +#: includes/class-bwp-simple-gxs.php:467 +msgid "Enable Gzip?" +msgstr "Activeaza Gzip?" + +#: includes/class-bwp-simple-gxs.php:468 +msgid "Clean unexpected output before sitemap generation?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:469 +#, fuzzy +msgid "Sitemap Index Options" +msgstr "Generator de sitemap" + +#: includes/class-bwp-simple-gxs.php:470 +msgid "Automatically split post-based sitemaps into smaller sitemaps?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:471 +#, fuzzy +msgid "Add sitemapindex to individual blog's virtual robots.txt?" +msgstr "Adauga sitemapindex in WordPress's robots.txt?" + +#: includes/class-bwp-simple-gxs.php:472 +#, fuzzy +msgid "Add sitemapindex from all blogs within network to primary blog's virtual robots.txt?" +msgstr "Adauga sitemapindex in WordPress's robots.txt?" + +#: includes/class-bwp-simple-gxs.php:473 +msgid "In sitemapindex, include" +msgstr "In sitemapindex, include" + +#: includes/class-bwp-simple-gxs.php:474 +msgid "Exclude following post types:" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:475 +msgid "Exclude following taxonomies:" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:476 +msgid "Module Options" +msgstr "Optiunile modulului" + +#: includes/class-bwp-simple-gxs.php:477 +msgid "Alternate module directory" +msgstr "Alterneaza directorul modulului" + +#: includes/class-bwp-simple-gxs.php:478 +msgid "Get no more than" +msgstr "Ia numai" + +#: includes/class-bwp-simple-gxs.php:479 +msgid "Caching Options" +msgstr "Optiuni de cache" + +#: includes/class-bwp-simple-gxs.php:480 +msgid "Enable caching?" +msgstr "Activeaza cache?" + +#: includes/class-bwp-simple-gxs.php:481 +msgid "Enable auto cache re-generation?" +msgstr "Activeaza auto-regenerarea cache-ului?" + +#: includes/class-bwp-simple-gxs.php:482 +msgid "Cached sitemaps will last for" +msgstr "Sitemap-urile din cache sunt valabile pana" + +#: includes/class-bwp-simple-gxs.php:483 +msgid "Cached sitemaps are stored in (auto detected)" +msgstr "Sitemap-urile din cache sunt stocate in (auto detectare)" + +#: includes/class-bwp-simple-gxs.php:487 +msgid "Cache your sitemaps for better performance." +msgstr "Fa cache sitemap-ului pentru o mai buna performanta." + +#: includes/class-bwp-simple-gxs.php:488 +#, php-format +msgid "This plugin uses modules to build sitemap data so it is recommended that you extend this plugin using modules rather than hooks. Some of the settings below only affect modules extending the base module class. Read more about using modules here." +msgstr "Acest plugin foloseste module pentru a construi sitemap-ul deci este recomandat sa extinzi plugin folosind module si nu hooks. Unele setari de mai jos doar afecteaza modulele existente. Citeste mai mult despre module aici." + +#: includes/class-bwp-simple-gxs.php:489 +msgid "Here you can change some settings that affect the default Sitemap Index file." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:503 +#: includes/class-bwp-simple-gxs.php:509 +msgid "second(s)" +msgstr "secunda(e)" + +#: includes/class-bwp-simple-gxs.php:504 +#: includes/class-bwp-simple-gxs.php:510 +msgid "minute(s)" +msgstr "minut(e)" + +#: includes/class-bwp-simple-gxs.php:505 +#: includes/class-bwp-simple-gxs.php:511 +msgid "hour(s)" +msgstr "ora(e)" + +#: includes/class-bwp-simple-gxs.php:506 +#: includes/class-bwp-simple-gxs.php:512 +msgid "day(s)" +msgstr "zi(le)" + +#: includes/class-bwp-simple-gxs.php:519 +#: includes/class-bwp-simple-gxs.php:520 +#: includes/class-bwp-simple-gxs.php:521 +msgid "read more" +msgstr "citeste mai mult" + +#: includes/class-bwp-simple-gxs.php:524 +msgid "your sitemaps are generated and then cached to reduce unnecessary work." +msgstr "sitemap-urile tale sunt generate apoi puse in cache pentru a nu incarca serverul" + +#: includes/class-bwp-simple-gxs.php:525 +msgid "when a cached sitemap expires, this plugin will try to generate the cache again. If you disable this, remember to manually flush the cache once in a while." +msgstr "cand un sitemap din cache expira, pluginul il va genera din nou. Daca dezactivati functia, va trebui sa curatat cache-ul din cand in cand." + +#: includes/class-bwp-simple-gxs.php:525 +msgid "Flush the cache" +msgstr "Curata cacge" + +#: includes/class-bwp-simple-gxs.php:526 +msgid "tell you useful information such as build time, memory usage, SQL queries, etc." +msgstr "iti spune informatii utile, precum timpul in care a fost construit sitemap-ul, memoria folosita, interogari SQL, etc." + +#: includes/class-bwp-simple-gxs.php:527 +#, php-format +msgid "make your sitemaps ~ 70% smaller. Important: If you see an error after enabling this, it's very likely that you have gzip active on your server already." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:528 +msgid "only disable this when sitemaps appear in either blank page or plain text." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:529 +#, php-format +msgid "If you have like 50 blogs, 50 Sitemap: http://example.com/sitemapindex.xml entries will be added to your primary blog's robots.txt, i.e. %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:530 +msgid "taxonomy archives' sitemaps, including custom taxonomies." +msgstr "sitemap al taxonomiilor, inclusiv cele customizate" + +#: includes/class-bwp-simple-gxs.php:532 +msgid "date archives' sitemaps." +msgstr "sitemap pentru arhivele pe baza de data" + +#: includes/class-bwp-simple-gxs.php:533 +msgid "external pages' sitemap. This allows you to add links to pages that do not belong to WordPress to the sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:534 +msgid "some copyrighted info is also added to your sitemaps. Thanks!" +msgstr "unele informatii de copyright sunt adaugate sitemap-ului. Mersi! " + +#: includes/class-bwp-simple-gxs.php:535 +#, fuzzy +msgid "This will load the default style sheet provided by this plugin. You can set a custom style sheet below or filter the bwp_gxs_xslt hook." +msgstr "Acesta va incarca stylesheet-ul prestabilit oferit de plugin. Poti seta un stylesheet customizat sau poti filtra bwp_gxs_xslt" + +#: includes/class-bwp-simple-gxs.php:536 +#, php-format +msgid "If you're on a Multi-site installation with Sub-domain enabled, each site will have its own robots.txt, sites in sub-directory will not. Please read the documentation for more info." +msgstr "Daca folosesti o versiune Multi-site pe un subdomeniu, fiecare site va avea robots.txt al sau, iar site-urile din subdirectoare nu. Va rog cititi documentatia pentru mai multe informatii." + +#: includes/class-bwp-simple-gxs.php:537 +msgid "e.g. post1.xml, post2.xml, etc. And each sitemap will contain" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:538 +msgid "If you disable this, make sure you also use date_default_timezone_set to correctly set up a timezone for your application." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:539 +#, fuzzy +msgid "author archives' sitemap." +msgstr "sitemap pentru arhivele pe baza de data" + +#: includes/class-bwp-simple-gxs.php:540 +msgid "site's home URL sitemap. For a multi-site installation of WordPress, this sitemap will list all domains within your network, not just the main blog. This also supports WPMU Domain Mapping plugin." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:543 +#, fuzzy +msgid "item(s) in one sitemap. You can not go over 50,000." +msgstr "itemi dintr-un sitemap. De fapt, 5000 ar fi ideal. Nu poti depasi 50,000 itemi." + +#: includes/class-bwp-simple-gxs.php:544 +msgid "item(s). Again , you can not go over 50,000." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:545 +msgid "Input a full path to the directory where you put your own modules (e.g. /home/mysite/public_html/gxs-modules/), you can also override a built-in module by having a module with the same filename in this directory. A filter is also available if you would like to use PHP instead." +msgstr "Introdu calea catre directoarele unde sunt modulele proprii (contoh /home/mysite/public_html/gxs-modules/); poti suprascrie modului preinstalat cu un modul avand acelasi nume. Un filtru este disponibil daca doresti sa folosesti PHP." + +#: includes/class-bwp-simple-gxs.php:546 +msgid "The cache directory must be writable (i.e. CHMOD to 755 or 777)." +msgstr "Directorul de cache trebuie sa fie \"writable\" (i.e. CHMOD to 755 or 777)." + +#: includes/class-bwp-simple-gxs.php:547 +msgid "item(s) in one SQL query. This helps you avoid running too heavy queries." +msgstr "itemi intr-o interogare SQL. Acest lucru te ajuta sa eviti incarcaturile mari." + +#: includes/class-bwp-simple-gxs.php:550 +msgid "expected to be an absolute URL, e.g. http://example.com/my-stylesheet.xsl. You must also have a style sheet for the sitemapindex that can be accessed through the above URL, e.g. my-stylesheet.xsl and my-stylesheetindex.xsl). Please leave blank if you do not wish to use." +msgstr "ar trebui sa fie un URL absolut, de ex. http://example.com/my-stylesheet.xsl. Trebuie sa ai un stylesheet pentru sitemapindex care poate fi accesat prin URL-ul de mai sus, de ex. my-stylesheet.xsl si my-stylesheetindex.xsl). Lasa spatiul gol daca nu folosesti." + +#: includes/class-bwp-simple-gxs.php:557 +#, php-format +msgid "Note: If you encounter white page problem, please refer to the FAQ section to know how to change this limit appropriately to make this plugin work. Also note that, for post-based sitemaps, this option will be overridden by the limit you set in the Sitemap Index Options below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:659 +#, fuzzy +msgid "What is a Google News Sitemap?" +msgstr "Ce sunt sitemap-urile?" + +#: includes/class-bwp-simple-gxs.php:660 +msgid "Enable this module?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:661 +msgid "Enable Multi-category Mode?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:662 +msgid "Ping Search Engines when you publish a news article?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:663 +msgid "Use keywords in News Sitemap?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:664 +msgid "News Sitemap's language" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:665 +msgid "News Categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:666 +msgid "This module will" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:670 +msgid "A Google News Sitemap is a file that allows you to control which content you submit to Google News. By creating and submitting a Google News Sitemap, you're able to help Google News discover and crawl your site's articles — http://support.google.com/" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:671 +msgid "Below you will be able to choose what categories to use (or not use) in the news sitemap. You can also assign genres to a specific category." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:674 +msgid "below selected categories in the news sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:679 +msgid "English" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:680 +msgid "French" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:681 +msgid "Spanish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:682 +msgid "German" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:683 +msgid "Portuguese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:684 +msgid "Polish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:685 +msgid "Norwegian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:686 +msgid "Dutch" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:687 +msgid "Italian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:688 +msgid "Vietnamese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:689 +msgid "Simplified Chinese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:692 +msgid "include" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:693 +msgid "exclude" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:696 +msgid "news categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:697 +msgid "news tags" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:703 +msgid "A new post_google_news.xml sitemap will be added to the main sitemapindex.xml." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:704 +msgid "Keywords are derived from" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:705 +msgid "This ping works separately from the sitemapindex ping, and only occurs when you publish an article in one of the news categories set below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:706 +msgid "This mode is meant for News Blogs that have posts assigned to more than one categories. It is an advanced feature and should only be enabled if you do have similar blogs." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:712 +msgid ". Do NOT use news tags if your news sitemap contains a lot of posts as it can be very inefficient to do so. This will be improved in future versions." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:736 +#, php-format +msgid "%d cached sitemaps have been flushed successfully!" +msgstr "%d sitemap-uri din cache au fost reinnoite astazi!" + +#: includes/class-bwp-simple-gxs.php:738 +msgid "Could not delete any cached sitemaps. Please manually check the cache directory." +msgstr "Nu s-au putut sterge sitemap-urile din cache. Va rugam verificati manual directorul de cache." + +#: includes/class-bwp-simple-gxs.php:787 +msgid "All options have been saved." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:809 +msgid "Warning" +msgstr "Atentie" + +#: includes/class-bwp-simple-gxs.php:809 +msgid "Cache directory does not exist or is not writable. Please read more about directory permission here (Unix)." +msgstr "Directorul de cache nu exista sau nu este \"writable\". Va rugam citit despre permisiunile directoarelor aici (Unix)." + +#: includes/class-bwp-simple-gxs.php:820 +msgid "Clear All Logs" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:874 +msgid "(Debug is on)" +msgstr "(Debug-ul este activat)" + +#: includes/class-bwp-simple-gxs.php:887 +msgid "BWP Google XML Sitemaps Error: " +msgstr "Eroare Google XML Sitemaps Error:" + +#: includes/class-bwp-simple-gxs.php:887 +msgid "BWP Google XML Sitemaps Error" +msgstr "Eroare Google XML Sitemaps Error" + +#: includes/class-bwp-simple-gxs.php:910 +#, php-format +msgid "Nothing here... yet! Try submitting your sitemapindex first!" +msgstr "Nimic aici... inca! Inscrie tu sitemap index " + +#: includes/class-bwp-simple-gxs.php:910 +msgid "No log yet!" +msgstr "Nimic logat inca!" + +#: includes/class-bwp-simple-gxs.php:921 +#, php-format +msgid "%s has been successfully built on %s." +msgstr "%s a fost creat cu succes pe %s." + +#: includes/class-bwp-simple-gxs.php:932 +#: includes/class-bwp-simple-gxs.php:949 +msgid "M j, Y : H:i:s" +msgstr "M j, Y : H:i:s" + +#: includes/class-bwp-simple-gxs.php:1018 +msgid "Category's name" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1018 +#, php-format +msgid "Genres used for this category (more info here)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1309 +#, php-format +msgid "Requested module (%s) not found or not allowed." +msgstr "Modulul cerut (%s) nu a fost gasit." + +#: includes/class-bwp-simple-gxs.php:1368 +#: includes/class-bwp-simple-gxs.php:1389 +#, php-format +msgid "Loaded a custom sub-module file: %s." +msgstr "A fost incarcat un sub-modul customizat: %s." + +#: includes/class-bwp-simple-gxs.php:1377 +#, php-format +msgid "Mapped sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the requested sub-module instead." +msgstr "Sub-modului mapat: %s nu este disponibil in directorul prestabilit sau customizat. Plugin-ul va incerca sa incarce modulul cerut." + +#: includes/class-bwp-simple-gxs.php:1397 +#, php-format +msgid "Sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the parent module instead." +msgstr "Sub-modulul: %s nu este disponibil in directorul prestabilit sau customizat. Plugin-ul va incerca sa incarce modulul parinte" + +#: includes/class-bwp-simple-gxs.php:1411 +#, php-format +msgid "Loaded a custom module file: %s." +msgstr "A fost incarcat un modul customizat: %s." + +#: includes/class-bwp-simple-gxs.php:1417 +#, php-format +msgid "Could not load module file: %s in both default and custom module directory. Please recheck if that module file exists." +msgstr "Nu a putut fi incarcat modulul: %s in directorul prestabilit sau customizat. Va rog verificati daca modulul exista." + +#: includes/class-bwp-simple-gxs.php:1437 +#, php-format +msgid "There is no class named %s in the module file %s." +msgstr "Nu exista o clasa denumita %s in modulul %s." + +#: includes/class-bwp-simple-gxs.php:1446 +#, php-format +msgid "Loaded a custom sitemapindex module file: %s." +msgstr "A fost incarcat un sitemapindex customizat: %s." + +#: includes/class-bwp-simple-gxs.php:1469 +#, php-format +msgid "Successfully generated %s.xml using module %s." +msgstr "%s.xml a fost generat cu succes folosit modulul %s." + +#: includes/class-bwp-simple-gxs.php:1500 +msgid "BWP Google XML Sitemap Message: Unexpected output (most of the time PHP errors) is preventing BWP GXS from showing any sitemap contents. Try disabling WP_DEBUG or this plugin's debug mode, whichever is on. All unexpected outputs should be shown just above this message. If you don't see any, contact me and I might be able to help." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1630 +msgid "Unknown response code from search engines. Ping failed." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1632 +#, fuzzy, php-format +msgid "Pinged %s with %s successfully!" +msgstr "S-a facut ping cu succes la %s !" + +#: includes/class-bwp-simple-gxs.php:1637 +#, php-format +msgid "Error %s from %s" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1642 +#, php-format +msgid "Ping limit for today to %s has been reached, sorry!" +msgstr "Limita de ping pentru azi la %s a fost atinsa!" + +#: includes/class-bwp-simple-gxs.php:1670 +#, fuzzy, php-format +msgid "%s.xml does not have any item. You can fix this easily by excluding any post types / terms you do not use in Sitemap Generator tab within your admin area. If you still see this error, consider checking the module that generates this sitemap (%s.php)." +msgstr "%s.xml este gol. Plugin-ul a afisat un header de 404 la motorul de cautare care l-a cerut. Ar trebui sa verifici modulul care genereaza sitemap-ul (%s.php)." + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:80 +msgid "Plugin Configurations" +msgstr "Configurarea plugin-ului" + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:398 +msgid "Save Changes" +msgstr "Salveaza schimbarile" + +#~ msgid "log" +#~ msgstr "log" + +#~ msgid "Yahoo — important" +#~ msgstr "Yahoo — important" + +#~ msgid "make your sitemaps ~ 70% smaller." +#~ msgstr "face sitemap-urile cu 70% mai mici." + +#~ msgid "static pages' sitemap." +#~ msgstr "sitemap pentru pagini statice" + +#~ msgid "tag archives' sitemaps." +#~ msgstr "sitemap pentru tag-uri" + +#~ msgid "%s" +#~ msgstr "%s" diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-zh_TW.mo b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-zh_TW.mo new file mode 100644 index 0000000..39cd968 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-zh_TW.mo differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-zh_TW.po b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-zh_TW.po new file mode 100644 index 0000000..f345ecf --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/languages/bwp-simple-gxs-zh_TW.po @@ -0,0 +1,785 @@ +msgid "" +msgstr "" +"Project-Id-Version: BWP Google XML Sitemaps(Malay Translation)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-03 20:10+0700\n" +"PO-Revision-Date: 2012-04-03 20:10+0700\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: ./../\n" +"X-Poedit-SourceCharset: utf-8\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Language: Malay\n" +"X-Poedit-Country: MALAYSIA\n" +"X-Poedit-SearchPath-0: .\n" + +#: includes/class-bwp-framework.php:177 +#, php-format +msgid "%s requires WordPress %s or higher and PHP %s or higher. The plugin will not function until you update your software. Please deactivate this plugin." +msgstr "" + +#: includes/class-bwp-framework.php:188 +msgid "Development Log" +msgstr "研發記錄" + +#: includes/class-bwp-framework.php:188 +msgid "Frequently Asked Questions" +msgstr "常見å•é¡Œ" + +#: includes/class-bwp-framework.php:188 +msgid "FAQ" +msgstr "å•èˆ‡ç­”" + +#: includes/class-bwp-framework.php:188 +msgid "Got a problem? Send me a feedback!" +msgstr "有å•é¡Œå—Žï¼Ÿé€šçŸ¥æˆ‘å§ï¼" + +#: includes/class-bwp-framework.php:188 +msgid "Contact" +msgstr "è¯çµ¡æˆ‘" + +#: includes/class-bwp-framework.php:195 +msgid "You can buy me some special coffees if you appreciate my work, thank you!" +msgstr "如果你欣賞我的工作,請幫我買些咖啡å§ï¼æ„Ÿè¬ä½ ï¼" + +#: includes/class-bwp-framework.php:209 +msgid "Donate to " +msgstr "贊助" + +#: includes/class-bwp-framework.php:211 +msgid "One cup $5.00" +msgstr "ä¸€æ¯ $5.00" + +#: includes/class-bwp-framework.php:212 +msgid "Two cups $10.00" +msgstr "å…©æ¯ $10.00" + +#: includes/class-bwp-framework.php:213 +msgid "Five cups! $25.00" +msgstr "五æ¯ï¼ $25.00" + +#: includes/class-bwp-framework.php:214 +msgid "One LL-cup!!! $50.00" +msgstr "特大æ¯çš„ $50.00" + +#: includes/class-bwp-framework.php:215 +msgid "... or any amount!" +msgstr "或者你開心的" + +#: includes/class-bwp-framework.php:230 +msgid "Latest updates from BetterWP.net!" +msgstr "BetterWP.net 的最新訊æ¯" + +#: includes/class-bwp-framework.php:231 +msgid "Follow me on Twitter!" +msgstr "追隨我的 Twitterï¼" + +#: includes/class-bwp-framework.php:240 +#, php-format +msgid "You are using version %s!" +msgstr "你正在使用 %s 版本ï¼" + +#: includes/class-bwp-framework.php:385 +msgid "Settings" +msgstr "設定" + +#: includes/class-bwp-gxs-cache.php:34 +#, php-format +msgid "Cache directory (\"%s\") does not exist or is not writable." +msgstr "å¿«å–資料夾 (\"%s\") ä¸å­˜åœ¨æˆ–是ä¸å…許寫入" + +#: includes/class-bwp-gxs-cache.php:56 +#, php-format +msgid "Cache file for module %s is not found and will be built right away." +msgstr "沒有找到模組 %s çš„å¿«å–檔案,系統將會建立一個。" + +#: includes/class-bwp-gxs-cache.php:108 +#: includes/class-bwp-simple-gxs.php:1341 +#, php-format +msgid "Successfully served a cached version of %s.xml." +msgstr "æˆåŠŸçš„儲存 %s.xml çš„å¿«å–檔案。" + +#: includes/class-bwp-simple-gxs.php:141 +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "Sitemap Statistics" +msgstr "Sitemap 統計" + +#: includes/class-bwp-simple-gxs.php:142 +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "Sitemap Generator" +msgstr "Sitemap 生æˆè¨­å®š" + +#: includes/class-bwp-simple-gxs.php:143 +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +#, fuzzy +msgid "News Sitemap" +msgstr "什麼是 Sitemap?" + +#: includes/class-bwp-simple-gxs.php:174 +#, php-format +msgid "This sitemap was originally generated in %s second(s) (Memory usage: %s) - %s queries - %s URL(s) listed" +msgstr "This sitemap was originally generated in %s second(s) (Memory usage: %s) - %s queries - %s URL(s) listed" + +#: includes/class-bwp-simple-gxs.php:347 +#: includes/class-bwp-simple-gxs.php:354 +msgid "BWP Google XML Sitemaps Statistics" +msgstr "BWP Google XML Sitemaps Statistics" + +#: includes/class-bwp-simple-gxs.php:348 +#: includes/class-bwp-simple-gxs.php:355 +msgid "BWP Google XML Sitemaps Generator" +msgstr "BWP Google XML Sitemaps Generator" + +#: includes/class-bwp-simple-gxs.php:349 +#: includes/class-bwp-simple-gxs.php:356 +#, fuzzy +msgid "BWP Google News XML Sitemap" +msgstr "BWP Google XML Sitemaps" + +#: includes/class-bwp-simple-gxs.php:353 +msgid "BWP Google XML Sitemaps" +msgstr "BWP Google XML Sitemaps" + +#: includes/class-bwp-simple-gxs.php:368 +msgid "You do not have sufficient permissions to access this page." +msgstr "你沒有足夠的權é™ä¾†é–±è®€æœ¬é é¢ã€‚" + +#: includes/class-bwp-simple-gxs.php:389 +#: includes/class-bwp-simple-gxs.php:736 +#: includes/class-bwp-simple-gxs.php:738 +msgid "Notice" +msgstr "注æ„" + +#: includes/class-bwp-simple-gxs.php:389 +msgid "All logs have been cleared successfully!" +msgstr "æˆåŠŸçš„清除所有的記錄ï¼" + +#: includes/class-bwp-simple-gxs.php:396 +msgid "What are Sitemaps?" +msgstr "什麼是 Sitemap?" + +#: includes/class-bwp-simple-gxs.php:397 +msgid "Your sitemaps" +msgstr "ä½ çš„ sitemap" + +#: includes/class-bwp-simple-gxs.php:398 +msgid "Submit your sitemaps" +msgstr "æ交你的 sitemap" + +#: includes/class-bwp-simple-gxs.php:399 +msgid "Pinging search engines" +msgstr "主動告知æœå°‹å¼•æ“Ž" + +#: includes/class-bwp-simple-gxs.php:400 +msgid "Enable pinging functionality?" +msgstr "啟用 ping 的功能" + +#: includes/class-bwp-simple-gxs.php:401 +msgid "Enable pinging individual SE" +msgstr "å…許告知的 æœå°‹å¼•æ“Ž" + +#: includes/class-bwp-simple-gxs.php:402 +msgid "Sitemap Generator's Log" +msgstr "Sitemap 生æˆçš„紀錄檔" + +#: includes/class-bwp-simple-gxs.php:403 +msgid "Enable logging?" +msgstr "啟用記錄" + +#: includes/class-bwp-simple-gxs.php:404 +msgid "Enable debugging?" +msgstr "啟用 åµéŒ¯æ¨¡å¼" + +#: includes/class-bwp-simple-gxs.php:413 +msgid "In its simplest form, a Sitemap is an XML file that lists URLs for a site along with additional metadata about each URL (when it was last updated, how often it usually changes, and how important it is, relative to other URLs in the site) so that search engines can more intelligently crawl the site — http://www.sitemaps.org/" +msgstr "簡單的說, Sitemap 是一個 XML 檔案將網站的網å€åŠèˆ‡å„網å€ç›¸é—œçš„其他中繼資料 (上次更新日期ã€è®Šæ›´é »çŽ‡ï¼Œä»¥åŠç›¸å°æ–¼ç¶²ç«™ä¸­å…¶ä»–網å€çš„é‡è¦æ€§) 列在 XML 檔中,讓æœå°‹å¼•æ“Žèƒ½å¤ æ›´æœ‰æ•ˆåœ°æª¢ç´¢è©²ç¶²ç«™ — http://www.sitemaps.org/" + +#: includes/class-bwp-simple-gxs.php:413 +msgid "This plugin helps you generate both Sitemap Index files as well as normal Sitemap files. A Sitemap Index, as its name suggests, is one kind of sitemaps that allows you to group multiple sitemap files inside it." +msgstr "本外掛å”åŠ©ä½ ç”Ÿæˆ sitemap 的索引檔與 sitemap 的內容. sitemap 索引檔, 就如åŒä»–çš„å稱,他也是一種 sitemap 檔案包å«äº†å¾ˆå¤š sitemap 檔案的資訊在其中。" + +#: includes/class-bwp-simple-gxs.php:414 +msgid "Basic information about all your sitemaps." +msgstr "關於你全部的 sitemap 的基本資訊" + +#: includes/class-bwp-simple-gxs.php:415 +msgid "More detailed information about how your sitemaps are generated including notices, errors and success messages." +msgstr "更多的關於你的 sitemap 生æˆçš„訊æ¯ï¼šå‘ŠçŸ¥è³‡è¨Š, éŒ¯èª¤è¨Šæ¯ å’Œ æˆåŠŸè¨Šæ¯." + +#: includes/class-bwp-simple-gxs.php:416 +#, fuzzy, php-format +msgid "Submit your sitemapindex to major search engines like Google, Bing or Ask." +msgstr "æ交你的 sitemap 索引檔給主è¦çš„æœå°‹å¼•æ“Žã€‚例如: Google, Yahoo, Bing 或 Ask." + +#: includes/class-bwp-simple-gxs.php:417 +msgid "Now when you post something new to your blog, you can ping those search engines to tell them your blog just got updated. Pinging could be less effective than you think it is but you should enable such feature anyway." +msgstr "當你發表什麼æ±è¥¿åˆ°ä½ çš„部è½æ ¼ä¹‹æ™‚, ä½ å¯ä»¥ ping (主動告知) æœå°‹å¼•æ“Žä½ çš„部è½æ ¼å‰›å‰›æ›´æ–°. ä½ å¯èƒ½èªç‚º ping 是ä¸å¤ªæœ‰æ•ˆçš„,但你應該讓他這麼åš." + +#: includes/class-bwp-simple-gxs.php:422 +msgid "Selected SE below will be pinged when you publish new posts." +msgstr "在下é¢é¸æ“‡çš„ æœå°‹å¼•æ“Ž 將會在你發表新文章之時主動告知" + +#: includes/class-bwp-simple-gxs.php:423 +msgid "No additional load is needed so enabling this is recommended." +msgstr "如果沒有é¡å¤–的負載需求建議啟用。" + +#: includes/class-bwp-simple-gxs.php:424 +msgid "Minor errors will be printed on screen. Also, when debug is on, no caching is used, useful when you develop new modules." +msgstr "錯誤將顯示是在螢幕上. 當啟用åµéŒ¯æ¨¡å¼ï¼Œå°‡ä¸æœƒä½¿ç”¨å¿«å–系統,當你在寫新的 模組 時是很有用的。" + +#: includes/class-bwp-simple-gxs.php:425 +msgid "Google" +msgstr "Google" + +#: includes/class-bwp-simple-gxs.php:426 +msgid "Bing" +msgstr "Bing" + +#: includes/class-bwp-simple-gxs.php:427 +msgid "Ask.com" +msgstr "Ask.com" + +#: includes/class-bwp-simple-gxs.php:430 +#, php-format +msgid "After you activate this plugin, all sitemaps should be available right away. The next step is to submit the sitemapindex to major search engines. You only need the sitemapindex and nothing else, those search engines will automatically recognize other included sitemaps. You can read a small How-to if you are interested." +msgstr "在你啟用本外掛之後, 所有的 sitemap索引 應該已經準備妥當. 下一步是å‘å„大æœå°‹å¼•æ“Žæ供你的 sitemap索引 . ä½ åªéœ€è¦æä¾› sitemapindex 就好, æœå°‹å¼•æ“Žæ‡‰è©²æœƒè‡ªå‹•æŠ“å–包å«åœ¨å…§çš„ sitemap 檔案. 如果你感興趣的話,å¯ä»¥è§€çœ‹ æ“作手冊 " + +#: includes/class-bwp-simple-gxs.php:458 +msgid "Output no more than" +msgstr "輸出ä¸è¶…éŽ" + +#: includes/class-bwp-simple-gxs.php:459 +msgid "Default change frequency" +msgstr "é è¨­è®Šæ›´çš„頻率" + +#: includes/class-bwp-simple-gxs.php:460 +msgid "Default priority" +msgstr "é è¨­çš„優先順åº" + +#: includes/class-bwp-simple-gxs.php:461 +msgid "Minimum priority" +msgstr "最å°çš„優先順åº" + +#: includes/class-bwp-simple-gxs.php:462 +msgid "Use GMT for Last Modified date?" +msgstr "在最後更新時間使用 GMT 時間" + +#: includes/class-bwp-simple-gxs.php:463 +msgid "Style your sitemaps with an XSLT stylesheet?" +msgstr "為你的 sitemap 加上 XSLT 樣å¼" + +#: includes/class-bwp-simple-gxs.php:464 +msgid "Custom XSLT stylesheet URL" +msgstr "自行設定 XSLT 樣å¼çš„網å€" + +#: includes/class-bwp-simple-gxs.php:465 +msgid "Show build stats in sitemaps?" +msgstr "添加生æˆç‹€æ…‹åœ¨ sitemap 中" + +#: includes/class-bwp-simple-gxs.php:466 +msgid "Enable credit?" +msgstr "å…許信任的?" + +#: includes/class-bwp-simple-gxs.php:467 +msgid "Enable Gzip?" +msgstr "啟用 GZIP" + +#: includes/class-bwp-simple-gxs.php:468 +msgid "Clean unexpected output before sitemap generation?" +msgstr "在產生 sitemap 之å‰æ¸…ç†éžé æœŸçš„輸出" + +#: includes/class-bwp-simple-gxs.php:469 +msgid "Sitemap Index Options" +msgstr "Sitemap 索引 設定" + +#: includes/class-bwp-simple-gxs.php:470 +msgid "Automatically split post-based sitemaps into smaller sitemaps?" +msgstr "自動分割以文章為基礎的 sitemap æˆæ›´å°çš„ sitemap" + +#: includes/class-bwp-simple-gxs.php:471 +msgid "Add sitemapindex to individual blog's virtual robots.txt?" +msgstr "加入 sitemap 索引 資訊到虛擬的 robots.txt 中" + +#: includes/class-bwp-simple-gxs.php:472 +msgid "Add sitemapindex from all blogs within network to primary blog's virtual robots.txt?" +msgstr "加入所有部è½æ ¼çš„ sitemap索引 到主網站的虛擬 robots.txt" + +#: includes/class-bwp-simple-gxs.php:473 +msgid "In sitemapindex, include" +msgstr "在 sitemap 索引中包å«" + +#: includes/class-bwp-simple-gxs.php:474 +msgid "Exclude following post types:" +msgstr "排除下列的文章類型:" + +#: includes/class-bwp-simple-gxs.php:475 +msgid "Exclude following taxonomies:" +msgstr "排除下列的分類:" + +#: includes/class-bwp-simple-gxs.php:476 +msgid "Module Options" +msgstr "模組設定" + +#: includes/class-bwp-simple-gxs.php:477 +msgid "Alternate module directory" +msgstr "強化的模組目錄" + +#: includes/class-bwp-simple-gxs.php:478 +msgid "Get no more than" +msgstr "得到ä¸è¶…éŽ" + +#: includes/class-bwp-simple-gxs.php:479 +msgid "Caching Options" +msgstr "å¿«å–設定" + +#: includes/class-bwp-simple-gxs.php:480 +msgid "Enable caching?" +msgstr "啟用快å–" + +#: includes/class-bwp-simple-gxs.php:481 +msgid "Enable auto cache re-generation?" +msgstr "å…許自動更新快å–" + +#: includes/class-bwp-simple-gxs.php:482 +msgid "Cached sitemaps will last for" +msgstr "å¿«å–的有效期" + +#: includes/class-bwp-simple-gxs.php:483 +msgid "Cached sitemaps are stored in (auto detected)" +msgstr "å¿«å–檔案的所在地 (自動填寫)" + +#: includes/class-bwp-simple-gxs.php:487 +msgid "Cache your sitemaps for better performance." +msgstr "å¿«å–ä½ çš„ sitemap å¯æœ‰æ›´å¥½çš„性能" + +#: includes/class-bwp-simple-gxs.php:488 +#, php-format +msgid "This plugin uses modules to build sitemap data so it is recommended that you extend this plugin using modules rather than hooks. Some of the settings below only affect modules extending the base module class. Read more about using modules here." +msgstr "本外掛使用模組的方å¼ä¾†ç”Ÿæˆ sitemap, 所以建議你在強化本外掛時使用 模組 而ä¸æ˜¯ hooks. 底下的設定åªæœƒå½±éŸ¿åˆ°ä»¥åŸºæœ¬æ¨¡çµ„擴展而來的模組。於 這裡 å–得更多關於模組的資訊。" + +#: includes/class-bwp-simple-gxs.php:489 +msgid "Here you can change some settings that affect the default Sitemap Index file." +msgstr "這裡你å¯ä»¥æ”¹è®Šä¸€äº›é è¨­çš„ sitemap 索引 設定." + +#: includes/class-bwp-simple-gxs.php:503 +#: includes/class-bwp-simple-gxs.php:509 +msgid "second(s)" +msgstr "秒" + +#: includes/class-bwp-simple-gxs.php:504 +#: includes/class-bwp-simple-gxs.php:510 +msgid "minute(s)" +msgstr "分é˜" + +#: includes/class-bwp-simple-gxs.php:505 +#: includes/class-bwp-simple-gxs.php:511 +msgid "hour(s)" +msgstr "å°æ™‚" + +#: includes/class-bwp-simple-gxs.php:506 +#: includes/class-bwp-simple-gxs.php:512 +msgid "day(s)" +msgstr "天" + +#: includes/class-bwp-simple-gxs.php:519 +#: includes/class-bwp-simple-gxs.php:520 +#: includes/class-bwp-simple-gxs.php:521 +msgid "read more" +msgstr "更多資訊" + +#: includes/class-bwp-simple-gxs.php:524 +msgid "your sitemaps are generated and then cached to reduce unnecessary work." +msgstr "將你生æˆçš„ sitemap å¿«å–,以減少ä¸å¿…è¦çš„工作." + +#: includes/class-bwp-simple-gxs.php:525 +msgid "when a cached sitemap expires, this plugin will try to generate the cache again. If you disable this, remember to manually flush the cache once in a while." +msgstr "當 sitemap çš„å¿«å–資料éŽæœŸï¼Œç³»çµ±å°‡å˜—試建立新的快å–資料. 如果你ä¸å…許, 記得æ¯éš”一動時間清空你的快å–檔案。" + +#: includes/class-bwp-simple-gxs.php:525 +msgid "Flush the cache" +msgstr "清空快å–檔案" + +#: includes/class-bwp-simple-gxs.php:526 +msgid "tell you useful information such as build time, memory usage, SQL queries, etc." +msgstr "告訴你一些有用的資訊,如生æˆæ™‚é–“ã€è¨˜æ†¶é«”使用é‡ã€ SQL 次數等" + +#: includes/class-bwp-simple-gxs.php:527 +#, fuzzy, php-format +msgid "make your sitemaps ~ 70% smaller. Important: If you see an error after enabling this, it's very likely that you have gzip active on your server already." +msgstr "使你的 sitrmap 縮å°ç´„ 70%。é‡è¦ï¼š 如果有錯誤產生的話,很å¯èƒ½æ˜¯å› ç‚ºä½ çš„伺æœå™¨ä¸Šå·²ç¶“有設定 GZIP 了。" + +#: includes/class-bwp-simple-gxs.php:528 +msgid "only disable this when sitemaps appear in either blank page or plain text." +msgstr "åªæœ‰åœ¨ sitemap 出ç¾ä¸€ç‰‡ç©ºç™½æˆ–純文字呈ç¾çš„時候æ‰è¦åœç”¨ã€‚" + +#: includes/class-bwp-simple-gxs.php:529 +#, php-format +msgid "If you have like 50 blogs, 50 Sitemap: http://example.com/sitemapindex.xml entries will be added to your primary blog's robots.txt, i.e. %s." +msgstr "如果你有 50個部è½æ ¼ï¼Œ 50è¡Œ Sitemap: http://example.com/sitemapindex.xml 將會加入到你主站的 robots.txt 當中。%s" + +#: includes/class-bwp-simple-gxs.php:530 +msgid "taxonomy archives' sitemaps, including custom taxonomies." +msgstr "分類彙整的 sitemap,包å«è‡ªè¡Œå®šç¾©çš„。" + +#: includes/class-bwp-simple-gxs.php:532 +msgid "date archives' sitemaps." +msgstr "日期彙整的 sitemap" + +#: includes/class-bwp-simple-gxs.php:533 +msgid "external pages' sitemap. This allows you to add links to pages that do not belong to WordPress to the sitemap." +msgstr "外部é é¢çš„ sitemap。使你å¯ä»¥æ·»åŠ ä¸€äº›ä¸å±¬æ–¼ WordPress 生æˆçš„é é¢ã€‚" + +#: includes/class-bwp-simple-gxs.php:534 +msgid "some copyrighted info is also added to your sitemaps. Thanks!" +msgstr "一些版權ä¿è­·çš„訊æ¯ä¹ŸæœƒåŠ å…¥ sitemap 中。感è¬ï¼" + +#: includes/class-bwp-simple-gxs.php:535 +msgid "This will load the default style sheet provided by this plugin. You can set a custom style sheet below or filter the bwp_gxs_xslt hook." +msgstr "這會為你載入本外掛é è¨­çš„樣å¼ã€‚ä½ å¯ä»¥åœ¨ä¸‹é¢è¨­å®šä½ è‡ªå·±çš„樣å¼æˆ–使用éŽæ¿¾å™¨ bwp_gxs_xslt 來更改。" + +#: includes/class-bwp-simple-gxs.php:536 +#, php-format +msgid "If you're on a Multi-site installation with Sub-domain enabled, each site will have its own robots.txt, sites in sub-directory will not. Please read the documentation for more info." +msgstr "如果你使用 多網站的WordPress, 在一個å­åŸŸå中的æ¯ä¸€å€‹ç¶²ç«™å°‡æœ‰è‡ªå·±çš„ robots.txt,如果在å­è³‡æ–™å¤¾å°±ä¸æœƒã€‚è«‹åƒè€ƒ 說明文件 以得到更多的訊æ¯ã€‚" + +#: includes/class-bwp-simple-gxs.php:537 +msgid "e.g. post1.xml, post2.xml, etc. And each sitemap will contain" +msgstr "例如:post1.xml, post2.xml 等。而且æ¯ä¸€å€‹ sitemap 包å«" + +#: includes/class-bwp-simple-gxs.php:538 +msgid "If you disable this, make sure you also use date_default_timezone_set to correctly set up a timezone for your application." +msgstr "如果你åœç”¨é€™é¸é …,請確定你有使用 date_default_timezone_set 來正確的設定網站的時å€ã€‚" + +#: includes/class-bwp-simple-gxs.php:539 +msgid "author archives' sitemap." +msgstr "作者彙整的 sitemap" + +#: includes/class-bwp-simple-gxs.php:540 +msgid "site's home URL sitemap. For a multi-site installation of WordPress, this sitemap will list all domains within your network, not just the main blog. This also supports WPMU Domain Mapping plugin." +msgstr "網站首é çš„ sitemap。當使用 多網站的WordPress ,這個 sitemap 會列出所有網站的連çµï¼Œä¸åªæœ‰ä¸»è¦çš„ç¶²ç«™ã€‚é€™ä¹Ÿæ”¯æ´ WPMU 的網站映射功能。" + +#: includes/class-bwp-simple-gxs.php:543 +msgid "item(s) in one sitemap. You can not go over 50,000." +msgstr "項目在一個 sitemap 中。ä¸èƒ½è¶…éŽ 50,000。" + +#: includes/class-bwp-simple-gxs.php:544 +msgid "item(s). Again , you can not go over 50,000." +msgstr "項目。å†æ¬¡é‡ç”³ï¼Œä¸å¯ä»¥è¶…éŽ 50,000" + +#: includes/class-bwp-simple-gxs.php:545 +msgid "Input a full path to the directory where you put your own modules (e.g. /home/mysite/public_html/gxs-modules/), you can also override a built-in module by having a module with the same filename in this directory. A filter is also available if you would like to use PHP instead." +msgstr "輸入你的模組所在的資料夾的絕å°ç›®éŒ„ (例如 /home/mysite/public_html/gxs-modules/), ä½ å¯ä»¥è—‰ç”±ä½¿ç”¨è·Ÿé è¨­æ¨¡çµ„相åŒçš„å稱來改寫內建的模組內容. A filter is also available if you would like to use PHP instead." + +#: includes/class-bwp-simple-gxs.php:546 +msgid "The cache directory must be writable (i.e. CHMOD to 755 or 777)." +msgstr "å¿«å–檔案所在地需è¦å¯ä»¥å¯«å…¥çš„ (例如 CHMOD 為 755 或 777)." + +#: includes/class-bwp-simple-gxs.php:547 +msgid "item(s) in one SQL query. This helps you avoid running too heavy queries." +msgstr "項目在一個 SQL 查詢中。 這å¯ä»¥é¿å…éŽæ…¢çš„查詢。" + +#: includes/class-bwp-simple-gxs.php:550 +msgid "expected to be an absolute URL, e.g. http://example.com/my-stylesheet.xsl. You must also have a style sheet for the sitemapindex that can be accessed through the above URL, e.g. my-stylesheet.xsl and my-stylesheetindex.xsl). Please leave blank if you do not wish to use." +msgstr "é è¨­ç‚ºä¸€å€‹å®Œæ•´çš„網å€ï¼Œä¾‹å¦‚http://example.com/my-stylesheet.xsl。你還必須è¦æœ‰ä¸€å€‹é‡å° sitemap索引 的樣å¼éŒ¶ï¼Œä¾‹å¦‚my-stylesheet.xsl and my-stylesheetindex.xsl。如果你ä¸éœ€è¦ä½¿ç”¨è«‹ç•™ç©ºç™½ã€‚" + +#: includes/class-bwp-simple-gxs.php:557 +#, php-format +msgid "Note: If you encounter white page problem, please refer to the FAQ section to know how to change this limit appropriately to make this plugin work. Also note that, for post-based sitemaps, this option will be overridden by the limit you set in the Sitemap Index Options below." +msgstr "注æ„: 如果有空白é é¢çš„å•é¡Œï¼Œè«‹åƒè€ƒ 常見å•é¡Œ 以瞭解如何是當的修改é™åˆ¶è®“外掛順利é‹ä½œã€‚也請注æ„,å†ä»¥æ–‡ç« ç‚ºåŸºç¤Žçš„ sitemap,這個設定值會被你在之後ã€Sitemap 索引 設定】中的設定複寫。" + +#: includes/class-bwp-simple-gxs.php:659 +#, fuzzy +msgid "What is a Google News Sitemap?" +msgstr "什麼是 Sitemap?" + +#: includes/class-bwp-simple-gxs.php:660 +msgid "Enable this module?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:661 +msgid "Enable Multi-category Mode?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:662 +msgid "Ping Search Engines when you publish a news article?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:663 +msgid "Use keywords in News Sitemap?" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:664 +msgid "News Sitemap's language" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:665 +msgid "News Categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:666 +msgid "This module will" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:670 +msgid "A Google News Sitemap is a file that allows you to control which content you submit to Google News. By creating and submitting a Google News Sitemap, you're able to help Google News discover and crawl your site's articles — http://support.google.com/" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:671 +msgid "Below you will be able to choose what categories to use (or not use) in the news sitemap. You can also assign genres to a specific category." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:674 +msgid "below selected categories in the news sitemap." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:679 +msgid "English" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:680 +msgid "French" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:681 +msgid "Spanish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:682 +msgid "German" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:683 +msgid "Portuguese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:684 +msgid "Polish" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:685 +msgid "Norwegian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:686 +msgid "Dutch" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:687 +msgid "Italian" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:688 +msgid "Vietnamese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:689 +msgid "Simplified Chinese" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:692 +msgid "include" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:693 +msgid "exclude" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:696 +msgid "news categories" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:697 +msgid "news tags" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:703 +msgid "A new post_google_news.xml sitemap will be added to the main sitemapindex.xml." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:704 +msgid "Keywords are derived from" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:705 +msgid "This ping works separately from the sitemapindex ping, and only occurs when you publish an article in one of the news categories set below." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:706 +msgid "This mode is meant for News Blogs that have posts assigned to more than one categories. It is an advanced feature and should only be enabled if you do have similar blogs." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:712 +msgid ". Do NOT use news tags if your news sitemap contains a lot of posts as it can be very inefficient to do so. This will be improved in future versions." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:736 +#, php-format +msgid "%d cached sitemaps have been flushed successfully!" +msgstr "æˆåŠŸçš„æ›´æ–° %d sitemap çš„å¿«å–檔案" + +#: includes/class-bwp-simple-gxs.php:738 +msgid "Could not delete any cached sitemaps. Please manually check the cache directory." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:787 +msgid "All options have been saved." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:809 +msgid "Warning" +msgstr "警告" + +#: includes/class-bwp-simple-gxs.php:809 +msgid "Cache directory does not exist or is not writable. Please read more about directory permission here (Unix)." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:820 +msgid "Clear All Logs" +msgstr "清除所有記錄" + +#: includes/class-bwp-simple-gxs.php:874 +msgid "(Debug is on)" +msgstr "(啟用 åµéŒ¯æ¨¡å¼)" + +#: includes/class-bwp-simple-gxs.php:887 +msgid "BWP Google XML Sitemaps Error: " +msgstr "BWP Google XML Sitemaps 錯誤訊æ¯: " + +#: includes/class-bwp-simple-gxs.php:887 +msgid "BWP Google XML Sitemaps Error" +msgstr "BWP Google XML Sitemaps 錯誤訊æ¯ï¼š" + +#: includes/class-bwp-simple-gxs.php:910 +#, php-format +msgid "Nothing here... yet! Try submitting your sitemapindex first!" +msgstr "還沒有任何的æ±è¥¿ï¼ è«‹å…ˆå˜—è©¦é€£çµ sitemapindexï¼" + +#: includes/class-bwp-simple-gxs.php:910 +msgid "No log yet!" +msgstr "還沒有任何的記錄ï¼" + +#: includes/class-bwp-simple-gxs.php:921 +#, php-format +msgid "%s has been successfully built on %s." +msgstr "%s æ–¼ %s æˆåŠŸçš„生æˆ" + +#: includes/class-bwp-simple-gxs.php:932 +#: includes/class-bwp-simple-gxs.php:949 +msgid "M j, Y : H:i:s" +msgstr "M j, Y : H:i:s" + +#: includes/class-bwp-simple-gxs.php:1018 +msgid "Category's name" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1018 +#, php-format +msgid "Genres used for this category (more info here)" +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1309 +#, php-format +msgid "Requested module (%s) not found or not allowed." +msgstr "請求的模組 (%s) ä¸å­˜åœ¨æˆ–是ä¸å…許使用。" + +#: includes/class-bwp-simple-gxs.php:1368 +#: includes/class-bwp-simple-gxs.php:1389 +#, php-format +msgid "Loaded a custom sub-module file: %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1377 +#, php-format +msgid "Mapped sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the requested sub-module instead." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1397 +#, php-format +msgid "Sub-module file: %s is not available in both default and custom module directory. The plugin will now try loading the parent module instead." +msgstr "å­æ¨¡çµ„ %s 檔案並ä¸å­˜åœ¨æ–¼é è¨­æˆ–是自行定義的模組資料夾中。外掛將會嘗試以其父模組å–代他的作用。" + +#: includes/class-bwp-simple-gxs.php:1411 +#, php-format +msgid "Loaded a custom module file: %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1417 +#, php-format +msgid "Could not load module file: %s in both default and custom module directory. Please recheck if that module file exists." +msgstr "無法載入模組檔案 %s 。請檢查模組檔案是å¦å­˜åœ¨ã€‚" + +#: includes/class-bwp-simple-gxs.php:1437 +#, php-format +msgid "There is no class named %s in the module file %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1446 +#, php-format +msgid "Loaded a custom sitemapindex module file: %s." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1469 +#, php-format +msgid "Successfully generated %s.xml using module %s." +msgstr "æˆåŠŸçš„ç”Ÿæˆ %s.xml ,使用模組 %s " + +#: includes/class-bwp-simple-gxs.php:1500 +msgid "BWP Google XML Sitemap Message: Unexpected output (most of the time PHP errors) is preventing BWP GXS from showing any sitemap contents. Try disabling WP_DEBUG or this plugin's debug mode, whichever is on. All unexpected outputs should be shown just above this message. If you don't see any, contact me and I might be able to help." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1630 +msgid "Unknown response code from search engines. Ping failed." +msgstr "" + +#: includes/class-bwp-simple-gxs.php:1632 +#, fuzzy, php-format +msgid "Pinged %s with %s successfully!" +msgstr "æˆåŠŸçš„主動通知 %s。" + +#: includes/class-bwp-simple-gxs.php:1637 +#, php-format +msgid "Error %s from %s" +msgstr "錯誤 %s 來至於 %s" + +#: includes/class-bwp-simple-gxs.php:1642 +#, php-format +msgid "Ping limit for today to %s has been reached, sorry!" +msgstr "å°ä¸èµ·ï¼å·²è¶…éŽæœ¬æ—¥çš„é™é¡ %s。" + +#: includes/class-bwp-simple-gxs.php:1670 +#, fuzzy, php-format +msgid "%s.xml does not have any item. You can fix this easily by excluding any post types / terms you do not use in Sitemap Generator tab within your admin area. If you still see this error, consider checking the module that generates this sitemap (%s.php)." +msgstr "%s.xml ä¸åŒ…å«ä»»ä½•çš„項目。本外掛將é‡å°æ”¶å°‹å¼•æ“Žçš„請求é€å‡º 404 錯誤。你應該è¦æª¢æŸ¥è² è²¬ç”Ÿæˆæœ¬ sitemap 的檔案(%s.php)。" + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:80 +msgid "Plugin Configurations" +msgstr "外掛設定" + +#: includes/bwp-option-page/includes/class-bwp-option-page.php:398 +msgid "Save Changes" +msgstr "儲存變更" + +#~ msgid "Yahoo — important" +#~ msgstr "Yahoo — 資訊" + +#~ msgid "log" +#~ msgstr "log" + +#~ msgid "make your sitemaps ~ 70% smaller." +#~ msgstr "make your sitemaps ~ 70% smaller." + +#~ msgid "static pages' sitemap." +#~ msgstr "static pages' sitemap." + +#~ msgid "tag archives' sitemaps." +#~ msgstr "tag archives' sitemaps." + +#~ msgid "%s" +#~ msgstr "%s" diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/readme.txt b/wp-content/plugins/bwp-google-xml-sitemaps/readme.txt new file mode 100644 index 0000000..093be6c --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/readme.txt @@ -0,0 +1,298 @@ +=== Better WordPress Google XML Sitemaps (with sitemapindex, multi-site and Google News sitemap support) === +Contributors: OddOneOut +Donate link: http://betterwp.net/wordpress-plugins/google-xml-sitemaps/#contributions +Tags: xml sitemaps, xml sitemap, google xml sitemaps, sitemapindex, sitemap, sitemaps, seo, bing, google, msn, ask, multi-site, multisite +Requires at least: 3.0 +Tested up to: 3.7 +Stable tag: 1.2.2 + +The first WordPress XML Sitemap plugin that comes with comprehensive support for Sitemapindex, Multi-site and Google News sitemap. + +== Description == + +With BWP GXS you will no longer have to worry about the 50,000 URL limit or the time it takes for a sitemap to be generated. This plugin is fast, consumes much less resource and can be extended via your very own modules (yes, no hooks needed!). Here's a [demo](http://betterwp.net/sitemapindex.xml) of the sitemapindex if you are interested. + +**===New in 1.2.0!===** + +The long-awaited BWP GXS 1.2.0 has finally been released with a new and very powerful feature: **Google News Sitemap creation**! All you have to do is click on the newly added tab (**News sitemap**), enable the module, choose some news categories as well as their genres and you're ready to go. Your news sitemap can also be used to ping Search Engines individually if you want. And of course, whenever you publish a new post in a news category, all selected Search Engines will be pinged! + +**Sitemapindex Support** + +What's so great about a sitemapindex you might say? Sitemapindex, as its name suggests, is one kind of sitemaps that allows you to group multiple sitemaps files inside it. Sitemapindex, therefore, gives you many benefits, such as: possibility to bypass the 50,000 URL limit (you can have 10 custom sitemaps, each has 10000 URLs), or possibility to make the generation time much faster (because each sitemap is requested separately and is built by its own module), etc. + +**Splitting post-based sitemaps (since 1.1.0)** + +As of version 1.1.0, this plugin can automatically split large post sitemaps into smaller ones. You can set a limit for each small sitemap. For example if you have 200K posts and would like to have 10K posts for each sitemap, BWP GXS will then split `post.xml` into 20 parts (i.e. from `post_part1.xml` to `post_part20.xml`). This helps you bypass the 50,000 URLs limit without having to build your custom modules, and also helps make your sitemaps smaller, lighter, and of course faster to generate. This plugin has been tested on sites that have nearly 200K posts and it took less than 1 second to generate the sitemapindex. + +**Multi-site Support** + +Each website within your network will have its own sitemapindex and sitemaps. For sub-domain installation, your sitemapindex will appear at `http://sub-domain.example.com/sitemapindex.xml`. For sub-folder installation, your sitemapindex will appear at `http://example.com/sub-folder/sitemapindex.xml`. And of course, there's always a sitemapindex for your main site, available at `http://example.com/sitemapindex.xml`. If you choose the sub-domain approach, each sub-domain can also have its own robots.txt. + +**Custom sitemaps using modules** + +The unrivaled flexibility this plugin offers is the ability to define your custom sitemaps using modules. Each module is a actually .php file that tell BWP Google XML Sitemap how to build a sitemap file. You can extend default modules or create completely new ones. This plugin also comes with a convenient base class for developing modules with easy to use and thoroughly documented API. Since modules can be defined by you, there's no limitation what a sitemap can have (for example you can bypass the 50,000 URL limit, as stated above). There's one limitation, though: your imagination ;) . Oh, did I mention that you can even use module to create another sitemapindex? + +**Detailed Log and Debugging mode** + +Developing modules needs debugging and this plugin makes that so easy for any developers. There are two kinds of logs: sitemap log and build log. Sitemap log tells you what sitemaps you have and when they were last requested/updated while build log tells you what's going on when a particular sitemap is built. The debug mode helps you trace errors in modules conveniently! + +**For a complete feature list, please visit this [plugin's official page](http://betterwp.net/wordpress-plugins/google-xml-sitemaps/)** + +**Important Notes** + +If you have any problem using this plugin, refer to the [FAQ section](http://betterwp.net/wordpress-plugins/google-xml-sitemaps/faq/) for possible solutions, and workarounds. + +**Get in touch** + +* I'm available at [BetterWP.net](http://betterwp.net) and you can also follow me on [Twitter](http://twitter.com/0dd0ne0ut). +* Check out [latest WordPress Tips and Ideas](http://feeds.feedburner.com/BetterWPnet) from BetterWP.net. + +**Languages** + +* English (default) +* Malaysian (ms_MY) - Thanks to [d4rkcry3r](http://d4rkcry3r.com)! +* Traditional Chinese (zh_TW) - Thanks to Richer Yang! +* Romanian (ro_RO) - Thanks to Luke Tyler! + +Please [help translate](http://betterwp.net/wordpress-tips/create-pot-file-using-poedit/) this plugin! + +== Installation == + +1. Upload the `bwp-google-xml-sitemaps` folder to the `/wp-content/plugins/` directory +2. Activate the plugin through the Plugins menu in WordPress. After activation, you should see a menu of this plugin on your left. If you can not locate it, click on Settings under the plugin's name. +3. Configure the plugin +4. Build your sitemap for the first time or just submit the sitemapindex to all major search engines. +5. Enjoy! + +[View instructions with images](http://betterwp.net/wordpress-plugins/google-xml-sitemaps/installation/). + +== Frequently Asked Questions == + +**Q1: I got white pages and/or 'Content Encoding Error' error?** + +1. PHP error messages from other plugins or from this plugin itself can cause this issue, especially when you have `WP_DEBUG` set to true (try commenting out this line in your `wp-config.php` file: `define(WP_DEBUG, true);`). Refer to the second question to know how to trace the actual errors. + +2. BWP GXS runs out of memory or reaches maximum execution time. This often happens when you try to build large sitemaps. I've tried to optimize this plugin a lot since the first version, but if you are using a lot of memory eating plugins on your website, it is very hard for BWP GXS to build huge sitemaps (containing thousands of items). Anyway, to resolve this issue, try decreasing the three limit options in the Generator tab: max number of items per sitemap (first option), max number of items per split sitemap (first option in Sitemap Index Options) and max items to get in one SQL query (second option in Module Options). You might try the following presets (in the same order as above): + * 1000, 1000, 100 (for sites with low memory limit like 32MB) + * 5000, 5000, 500 (for sites with lots of posts, tags, categories, etc.) + * 5000, 5000, 2500 (if you have problem with max execution time) + + Also, you can try the tips mentioned in [this post of mine](http://betterwp.net/6-wordpress-memory-usage/). + +3. A caching plugin is interfering. Tell that caching plugin to ignore `.xml` file. For example, if you use WP Super Cache, on the Advanced Tab, scroll to the 'Accepted Filenames & Rejected URIs' section, and then in the first textarea, type in `\.xml`. Now save the changes and flush the all caches. See if that works for you. + +**Q2: I've tried the tips mentioned in Question #1, but still got white pages / plain text sitemaps?** + +It's very likely that you're enabling this option: 'Clean unexpected output before sitemap generation', try disabling it and your sitemaps will show up as expected. + +**Q3: I got the error 'Content Encoding Error', what should I do?** + +If you are enabling this plugin's debug mode and/or WP_DEBUG, this error is very normal because the module you use might print errors on pages, thus corrupting your xml sitemaps. To view the actual errors without being greeted with the 'Content Encoding Error', please follow these steps: + +1. Enable this plugin's debug mode if you haven't done so. +2. Open the file `class-bwp-simple-gxs.php` inside `bwp-google-xml-sitemaps/includes/` and look for this function: `output_sitemap()`. +3. Place an `exit;` right after the opening bracket, like so: +
    
    +function output_sitemap()
    +{
    +	exit;
    +
    +4. Refresh the sitemaps with problems. +5. Kindly report the errors you see by commenting or through the [contact form](http://betterwp.net/contact/). Thanks! + +Note that, however, some error messages will never show up. In such case, you might want to locate the `error_log` file within your WordPress installation's root directory and read its contents for the error messages. + +**Q4: I got an 'Error loading stylesheet' error, what should I do?** + +As of version 1.1.0 it is almost impossible for such error to show up, but if you set the site url and the home url differently (one with `www` and one isn't), you will see this error. Just choose to disable stylesheet in Generator tab or change your site / home URL settings. + +**Q5: I got a HTTP parse error when I submit sitemap to Google Webmaster Tools, what should I do?** + +Please first see the answer to the first question, if it didn't work, and you are using a cache plugin such as W3 Total Cache, it is possible that such plugin wrongly assigns HTTP status headers to my sitemaps. + +For example, in W3 Total Cache 0.9.2.2 or possibly older, go to **Performance -> Browser Cache**, and then go to '404 error exception list' in the 'General' option block, and find this line: + +
    sitemap(_index|[0-9]+)?\.xml(\.gz)?
    + +OR this line: + +
    sitemap\.xml(\.gz)?
    + +and change it to: + +
    (sitemapindex|[a-z0-9_-]+)\.xml
    + +Save the changes and then tell W3TC to auto-install the rewrite rules to your `.htaccess` file. + +BWP GXS's sitemaps will now have correct HTTP status headers. + +**Q6: When I visit `http://example.com/sitemapindex.xml` , WordPress returns a 404 page. What should I do?** + +This might be caused by unflushed rewrite rules, which should have been flushed when you activate this plugin. You can try flushing them manually by visiting Settings -> Permalinks and then clicking Save Changes. + +**Q7: When I visit any sitemap, a plain (no theme) 404 error page appears, what's the problem?** + +You are possibly using some caching plugins that redirect all non-existent pages to 404 error page. Sitemaps produced by this plugin are virtual sitemaps so they will all be redirected. Just open the .htaccess file and change the `sitemap\.xml` part to something like `[a-z0-9-_]+\.xml` and you're fine. + +**Q8: I choose not to display certain sitemaps but the sitemapindex still displays the them?** + +What you see is actually a cached version of the sitemapindex. You can wait for it to be refreshed automatically or simply choose to 'Flush the Cache'. + +**Q9: BWP GXS tells me that 'Requested module not found or not allowed', what should I do?** + +This depends on specific situations and your current settings. Basically this means that the module you're trying to access has not been registered with BWP GXS or that module has been disabled but the cached sitemapindex still displays it (which is related to the question above). For a list of default modules (or sitemaps), please read this section. + +**Q10: Is there anyway to rename sitemapindex.xml to sitemap.xml?** + +You don't have to. A visit to `http://example.com/sitemap.xml` will show you the same sitemapindex. This is done to make BWP GXS more compatible with blogs that have lots of real `robots.txt`. Please note that you must remove any real sitemap.xml file in your website's root for this feature to work. + +**Q11: The custom sitemapindex I create seems to be nested inside the default sitemapindex, is that a bug or something?** + +That's the default behaviour of this plugin and I plan to improve it in future versions. Don't worry, though, you might see a red X next to your sitemapindex's name in Google's Webmaster Tools but that's only because you haven't submitted your custom sitemapindex. If you submit it separately, the error will go away :). + +[Check plugin news and ask questions](http://betterwp.net/topic/google-xml-sitemaps/). + +== Screenshots == + +1. A sample Sitemap Index this plugin produces. Large post-based sitemap was split into two parts. +2. A Custom Post Type Sitemap +3. An External Pages' Sitemap +4. The Configuration Page +5. Google News Sitemap + +== Changelog == + += 1.2.2 = + +* Marked as WordPress 3.7 compatible. +* Added two new Google News Sitemap languages: Turkish (tr) and Russian (ru). +* Updated BWP Framework to fix a possible bug that causes BWP setting pages to go blank. +* Removed Ask.com's pinging service as it has been retired. +* **Good news**: ManageWP.com has become the official sponsor for BWP Google Xml Sitemaps - [Read more](http://betterwp.net/319-better-wordpress-plugins-updates-2013/). + += 1.2.1 = +As you might have guessed, this release focuses on improving the new Google News Sitemap Module which was introduced in 1.2.0. Below are some enhancements: + +* Added new languages (Spanish, German, Polish, Portuguese, etc.). +* Added a new hook (`bwp_gxs_news_name`) that allows you to set a custom sitename without having to change the sitename setting inside WordPress. +* Added a new option that allows you to choose whether to use news categories or news tags as keywords (very experimental and can be inefficient if you have a lot of posts). +* WordPress's timezone settings are now properly respected. +* Genres tags are omitted entirely if no genres are set for a particular categories. +* A new Multi-category mode (disabled by default) has been added that offers the following features: + * If a post is in both an included and an excluded category, it's now excluded. + * If a post is in two or more categories, it can now have all genres that are assigned to those categories. + * If a post is in two or more categories, it can now have all categories as its keywords (only if you choose to use news categories as keywords of course) + +Other functionality of BWP GXS remains the same, so test the News sitemap as much as you can and report any bug you may stumble upon. Enjoy :). + += 1.2.0 = +* Added a Google News sitemap module. Creating a news sitemap has never been so easy! More information can be found [here](http://betterwp.net/314-bwp-gxs-1-2-0-with-news-sitemap/). +* WPMU Domain Mapping is now supported better (robots.txt, site.xml, sitemap urls in Statistics tab). +* BWP GXS's menu can now be put under **Settings** using a simple filter. +* BWP GXS's admin style is now enqueued correctly so no more warning from WordPress. +* Added a Traditional Chinese and a Romanian transation, thanks to Richer Yang and Luke Tyler! +* All invalid URls, such as `#` and external or empty ones, are now removed from sitemaps. +* Removed Yahoo's pinging service. +* Fixed a bug that causes duplicate author entries to appear in author sitemap. +* Fixed a bug that causes a "class not found" error with paginated custom post type sitemap modules. +* Other fixes and improvements. + +**Report bugs, request features here: http://betterwp.net/community/forum/2/bwp-google-xml-sitemaps/** + += 1.1.6 = +* Temporary fix for 1.1.5's broken custom post type URL issue. + += 1.1.5 = +* Added a new 'site.xml' sitemap that lists all blogs within your site / network. +* Added a new 'author.xml' sitemap that lists all authors contributing to a blog. +* BWP GXS should now show the correct mapped sitemap URLs in the Statistics tab if you use WPMU Domain Mapping plugin. +* Fixed a bug that causes duplicate items to appear on sitemap parts, thanks to Aahan for reporting! +* Fixed a bug that causes the `post` post type sitemaps to show up even when disabled. + +**Note that the site sitemap will be enabled, while the author sitemap will be disabled by default.** + += 1.1.4 = +* Changed some options' descriptions. +* Fixed a possible incompatibility issue with FeedWordPress plugin and Suffusion theme. +* Other minor bug fixes. + += 1.1.3 = +* Gzip is now off by default as it was causing issue on some hosts. +* In previous versions, this plugin automatically cleaned unexpected outputs before sitemap generation so that sitemaps are generated properly. Such feature also causes issues on certain hosts. As of 1.1.3 this is an option in Generator tab, and it is enabled by default. +* Fixed a possible bug in the taxonomy module that could cause a maximum execution time error. Thanks to David Killingsworth for reporting this bug! +* Other minor bug fixes and improvements. + += 1.1.2 = +* Fixed a possible memory leak. +* Clear PHP errors in a friendlier way. +* Other minor bug fixes and improvements. + += 1.1.1 = +* Added an option for users to choose whether to use GMT for Last Modified time or not. +* Improved the taxonomy module a bit. +* Fixed a minor bug in the page module. +* Fixed a bug that affects rewrite rules of custom post types and taxonomies in some cases. A big thanks to crowinck! +* Other minor bug fixes and improvements. + += 1.1.0 = + +**New Features:** + +* This plugin can now automatically split large post sitemaps into smaller ones. You can set a limit for each small sitemap. For example if you have 200K posts and would like to have 10K posts for each sitemap, BWP GXS will then split `post.xml` into 20 parts (i.e. from `post_part1.xml` to `post_part20.xml`). This helps you bypass the 50,000 URLs limit without having to build your custom modules, and also helps make your sitemaps smaller, lighter, and of course faster to generate. This plugin has been tested on sites that have nearly 200K posts and it took less than 1 second to generate the sitemapindex. +* Added a new sitemap, called External Pages' sitemap, using which you can easily add links to pages that do not belong to WordPress to the Sitemap Index. Please refer to the [customization section](http://betterwp.net/wordpress-plugins/google-xml-sitemaps/#external_sitemap) for more details. +* Added options in the Generator to exclude certain post types, taxonomies without having to use filters. +* Added new hooks to default post-based and taxonomy-based modules to allow easier SQL query customization (you don't have to develop custom modules anymore just to change minor things). Read [here](http://betterwp.net/wordpress-plugins/google-xml-sitemaps/#exclude_items) for more details. + +**Improvements:** + +* Major overhaul of all modules to make them faster, more efficient, more accurate, and of course, consume much less memory. This version should eliminate most white page problems happened in previous versions. +* Improved compatibility with cache plugins. +* Improved support for sites that uses `%category%` in permalink structure. +* The plugin should now display style sheet correctly in tight situations. +* Added a clear log button to clear redundant log (available to network admin only). +* Added an option to include links to all sitemapindex.xml files in your network in the primary website's `robots.txt`. +* Tag archive sitemap can now be disabled properly. +* Fixed permalinks for people using index.php in permalink structure. +* Other minor bug fixes and improvements. + +For a detailed description of each new feature, please refer to the [release announcement](http://betterwp.net/257-bwp-google-xml-sitemaps-1-1-0/). + +**Due to major changes in core it is suggested that you clear the logs using the new 'Clear All Logs' button and double-check the Generator's settings. Have fun and please [rate this plugin](http://wordpress.org/extend/plugins/bwp-google-xml-sitemaps/) 5 stars if you like it, thanks!** + += 1.0.5 = +* Unregistered modules (such as redundant modules from 1.0.3) will now have a 404 HTTP status to prevent search engines from requesting them again. +* Time for each log will now make use of your current timezone setting in Settings -> General. +* And other minor fixes. + +**Thanks everyone for using this plugin!** + += 1.0.4 = +* Hot fix for WordPress in other languages, such as French, Russian. Prior to this version this plugin tries to use posts' and taxonomies' labels to build sitemaps' URLs in plural forms (e.g. taxonomy_categories). Unfortunately this breaks sitemaps when labels contain UTF8 characters with marks (such as cat�gories). All sitemaps now have singular forms. Hope that we will have a better solution in the future. + +**This change will make all logs' contents change as well. To remove redundant logs, please deactivate this plugin and then reactivate it.** + += 1.0.3 = +* Fixed incorrect regex for rewrite rules. +* Added a check to make sure all necessary rewrite rules are added. No need to manually flush rewrite rules anymore. +* `bwp_gxs_add_rewrite_rules` action now becomes `bwp_gxs_rewrite_rules` filter (the hook used to add your own sitemaps). + +**For people using a cache plugin, please visit the [FAQ section](http://betterwp.net/wordpress-plugins/google-xml-sitemaps/faq/) for a possible compatibility fix.** + += 1.0.2 = +* Fixed a bug that could produce wrong or empty last modified dates in sitemapindex. +* Corrected a typo in page.php module. +* Added Malaysian translation, thanks to d4rkcry3r! + += 1.0.1 = +* Now you can browser to `http://example.com/sitemap.xml` to view your sitemapindex. You can submit it too if you want. **Important**: Make sure you don't have any real sitemap.xml file in your website's root. Also, you will have to flush all rewrite rules, by either deactivating and then reactivating this plugin, or simply go to [Permalink Settings](http://example.com/wp-admin/options-permalink.php) and click on Save Changes. +* Build stats (build time, number of queries, memory usage) should be more accurate now. +* Add a canonical redirection for sitemap URL to avoid problems with XSLT style sheet's absolute URL. +* Fixed a minor error in the base module class. + += 1.0.0 = +* Initial Release. + +== Upgrade Notice == + += 1.0.0 = +* Enjoy the plugin! \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-1.gif b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-1.gif new file mode 100644 index 0000000..3ee9d28 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-1.gif differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-2.gif b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-2.gif new file mode 100644 index 0000000..02932a5 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-2.gif differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-3.gif b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-3.gif new file mode 100644 index 0000000..e00e1f2 Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-3.gif differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-4.gif b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-4.gif new file mode 100644 index 0000000..474254b Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-4.gif differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-5.gif b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-5.gif new file mode 100644 index 0000000..e65b41f Binary files /dev/null and b/wp-content/plugins/bwp-google-xml-sitemaps/screenshot-5.gif differ diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemap.xsl b/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemap.xsl new file mode 100644 index 0000000..4bfa21b --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemap.xsl @@ -0,0 +1,99 @@ + + + + + + + XML Sitemap + + + + +

    XML Sitemap

    + +
    + + + + + + + + + + + odd + + + + + + + +
    LocationPriorityChange FrequencyLast Modified (GMT)
    + + + + + + + + + + + + +
    +
    + + + +
    +
    \ No newline at end of file diff --git a/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemapindex.xsl b/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemapindex.xsl new file mode 100644 index 0000000..fd82928 --- /dev/null +++ b/wp-content/plugins/bwp-google-xml-sitemaps/xsl/bwp-sitemapindex.xsl @@ -0,0 +1,90 @@ + + + + + + + XML Sitemap Index + + + + +

    XML Sitemap Index

    + +
    + + + + + + + + + odd + + + + + +
    LocationLast Modified (GMT)
    + + + + + + + + +
    +
    + + + +
    +
    \ No newline at end of file diff --git a/wp-content/plugins/calais-auto-tagger/calais.css b/wp-content/plugins/calais-auto-tagger/calais.css new file mode 100644 index 0000000..9fc13e5 --- /dev/null +++ b/wp-content/plugins/calais-auto-tagger/calais.css @@ -0,0 +1,18 @@ + diff --git a/wp-content/plugins/calais-auto-tagger/calais.js b/wp-content/plugins/calais-auto-tagger/calais.js new file mode 100644 index 0000000..819a517 --- /dev/null +++ b/wp-content/plugins/calais-auto-tagger/calais.js @@ -0,0 +1,130 @@ + diff --git a/wp-content/plugins/calais-auto-tagger/calais_auto_tagger.php b/wp-content/plugins/calais-auto-tagger/calais_auto_tagger.php new file mode 100644 index 0000000..b2c6b77 --- /dev/null +++ b/wp-content/plugins/calais-auto-tagger/calais_auto_tagger.php @@ -0,0 +1,140 @@ +Do you advertise your site online? Then check out our other service: Improvely +Version: 1.5 +Author: Dan Grossman +Author URI: http://www.dangrossman.info + +***************************************************************************/ + +// Include the Open Calais Tags class by Dan Grossman +// http://www.dangrossman.info/open-calais-tags + +require('opencalais.php'); + +// WordPress hooks + +add_action('admin_menu', 'calais_init'); +add_action('save_post', 'calais_savetags', 10, 2); +add_action('wp_ajax_calais_gettags', 'calais_gettags'); + +// Adds the tag suggestion box to the post page, and the configuration link to the settings menu + +function calais_init() { + add_meta_box('calais', 'Calais Auto Tagger', 'calais_box', 'post', 'normal', 'high'); + add_submenu_page('options-general.php', 'Calais API Key', 'Calais API Key', 10, __FILE__, 'calais_conf'); +} + +// Renders the tag suggestion box + +function calais_box() { + + include('calais.css'); + include('calais.js'); + + global $post; + $existing_tags = wp_get_post_tags($post->ID); + + $tags = array(); + + if (count($existing_tags) > 0) { + foreach ($existing_tags as $tag) { + if ($tag->taxonomy == 'post_tag') { + $tags[] = $tag->name; + } + } + } + + echo ''; + include('calaisbox.html'); + +} + +// Called by WordPress when a post is saved +// Sets the post tags based on the hidden input field our tagging interface populated + +function calais_savetags($post_id, $post) { + + if ($post->post_type == 'revision') + return; + + if (!isset($_POST['calais_taglist'])) + return; + + $taglist = $_POST['calais_taglist']; + $tags = split(', ', $taglist); + if (strlen(trim($taglist)) > 0 && count($tags) > 0) { + wp_set_post_tags($post_id, $tags); + } else { + wp_set_post_tags($post_id, array()); + } + +} + +// Callback function for the AJAX request for tag suggestions +// Returns a list of tags separated by a comma and a space + +function calais_gettags() { + + if (empty($_POST['text'])) + die(""); + + $content = stripslashes($_POST['text']); + + $key = get_option('calais-api-key'); + if (empty($key)) { + die("You have not yet configured this plugin. You must add your Calais API key in the settings menu."); + } + + $oc = new OpenCalais($key); + $entities = $oc->getEntities($content); + + if (count($entities) == 0) + die(""); + + $tags = array(); + foreach ($entities as $type => $array) + foreach ($array as $tag) + $tags[] = $tag; + + die(implode($tags, ', ')); + +} + +// Called by WordPress to display the configuration page + +function calais_conf() { + + if (isset($_POST['calais-api-key'])) { + update_option('calais-api-key', $_POST['calais-api-key']); + echo '

    Settings saved.

    '; + } + + ?> + +
    +

    +

    Calais Configuration

    + +
    + +

    The Calais Auto Tagger plugin requires an API key. If you don't have one, visit the Open Calais site, and click the "Request API Key" link at the top of the page.

    + +

    +
    + +

    + +

    + +

    + +
    +
    + + Add your own tags: + +

    + + +

    + +

    Post Tags:

    + +
    +
    + +

    Suggested Tags:

    + +
    +
    + +

    + +

    diff --git a/wp-content/plugins/calais-auto-tagger/images/add.png b/wp-content/plugins/calais-auto-tagger/images/add.png new file mode 100644 index 0000000..6332fef Binary files /dev/null and b/wp-content/plugins/calais-auto-tagger/images/add.png differ diff --git a/wp-content/plugins/calais-auto-tagger/images/delete.png b/wp-content/plugins/calais-auto-tagger/images/delete.png new file mode 100644 index 0000000..08f2493 Binary files /dev/null and b/wp-content/plugins/calais-auto-tagger/images/delete.png differ diff --git a/wp-content/plugins/calais-auto-tagger/opencalais.php b/wp-content/plugins/calais-auto-tagger/opencalais.php new file mode 100644 index 0000000..b80f098 --- /dev/null +++ b/wp-content/plugins/calais-auto-tagger/opencalais.php @@ -0,0 +1,131 @@ +api_key = $api_key; + } + + public function getEntities($document) { + + $this->document = $document; + + $this->callAPI(); + + return $this->entities; + + } + + private function getParamsXML() { + + $types = array(); + if ($this->getGenericRelations) + $types[] = 'GenericRelations'; + if ($this->getSocialTags) + $types[] = 'SocialTags'; + + $xml = ''; + $xml .= 'contentType . '" '; + $xml .= 'c:enableMetadataType="' . implode(',', $types) . '" '; + $xml .= 'c:outputFormat="' . $this->outputFormat . '" '; + $xml .= 'c:docRDFaccessible="' . ($this->docRDFaccessible ? 'true' : 'false') . '" '; + $xml .= '>'; + $xml .= 'allowDistribution ? 'true' : 'false') . '" '; + $xml .= 'c:allowSearch="' . ($this->allowSearch ? 'true' : 'false') . '" '; + + if (!empty($this->externalID)) + $xml .= 'c:externalID="' . htmlspecialchars($this->externalID) . '" '; + + if (!empty($this->submitter)) + $xml .= 'c:submitter="' . htmlspecialchars($this->submitter) . '" '; + + $xml .= '>'; + $xml .= ''; + $xml .= ''; + + return $xml; + + } + + private function callAPI() { + + $data = 'licenseID=' . urlencode($this->api_key); + $data .= '¶msXML=' . urlencode($this->getParamsXML()); + $data .= '&content=' . urlencode($this->document); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $this->api_url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + curl_setopt($ch, CURLOPT_POST, 1); + $response = curl_exec($ch); + + if (strpos($response, "") !== false) { + $text = preg_match("/(.*)<\/Exception>/mu", $response, $matches); + throw new OpenCalaisException($matches[1]); + } + + //Parse out the entities + $lines = explode("\n", $response); + $start = false; + foreach ($lines as $line) { + if (strpos($line, '-->') === 0) { + break; + } elseif (strpos($line, '
    '; + echo '
    '; +} + +/** + * A conditional function to determine whether there are any menus + * defined in this WordPress installation. + * + * @return bool Indicates the presence or absence of menus + * @author Simon Wheatley + **/ +function ep_has_menu() { + if ( ! function_exists( 'wp_get_nav_menus' ) ) + return false; + $menus = wp_get_nav_menus(); + foreach ( $menus as $menu_maybe ) { + if ( $menu_items = wp_get_nav_menu_items($menu_maybe->term_id) ) + return true; + } +} + +/** + * Hooks the WordPress admin_head action to inject some CSS. + * + * @return void + * @author Simon Wheatley + **/ +function ep_admin_css() { + echo << + .ep_exclude_alert { font-size: 11px; } + .new-admin-wp25 { font-size: 11px; background-color: #fff; } + .new-admin-wp25 .inner { padding: 8px 12px; background-color: #EAF3FA; border: 1px solid #EAF3FA; -moz-border-radius: 3px; -khtml-border-bottom-radius: 3px; -webkit-border-bottom-radius: 3px; border-bottom-radius: 3px; } + #ep_admin_meta_box .inner { padding: inherit; background-color: transparent; border: none; } + #ep_admin_meta_box .inner label { background-color: none; } + .new-admin-wp25 .exclude_alert { padding-top: 5px; } + .new-admin-wp25 .exclude_alert em { font-style: normal; } + +END; +} + +/** + * Hooks the WordPress admin_head action to inject some JS. + * + * @return void + * @author Simon Wheatley + **/ +function ep_admin_js() { + echo << +// + +END; +} + +// Add our ctrl to the list of controls which AREN'T hidden +function ep_hec_show_dbx( $to_show ) { + array_push( $to_show, 'excludepagediv' ); + return $to_show; +} + +// PAUSE & RESUME FUNCTIONS + +function pause_exclude_pages() { + remove_filter('get_pages','ep_exclude_pages'); +} + +function resume_exclude_pages() { + add_filter('get_pages','ep_exclude_pages'); +} + +// INIT FUNCTIONS + +function ep_init() { + // Call this function on the get_pages filter + // (get_pages filter appears to only be called on the "consumer" side of WP, + // the admin side must use another function to get the pages. So we're safe to + // remove these pages every time.) + add_filter('get_pages','ep_exclude_pages'); + // Load up the translation gear + $locale = get_locale(); + $folder = rtrim( basename( dirname( __FILE__ ) ), '/' ); + $mo_file = trailingslashit( WP_PLUGIN_DIR ) . "$folder/locale/" . EP_TD . "-$locale.mo"; + load_textdomain( EP_TD, $mo_file ); +} + +function ep_admin_init() { + // Add panels into the editing sidebar(s) + global $wp_version; + add_meta_box('ep_admin_meta_box', __( 'Exclude Pages', EP_TD ), 'ep_admin_sidebar_wp25', 'page', 'side', 'low'); + + // Set the exclusion when the post is saved + add_action('save_post', 'ep_update_exclusions'); + + // Add the JS & CSS to the admin header + add_action('admin_head', 'ep_admin_css'); + add_action('admin_footer', 'ep_admin_js'); + + // Call this function on our very own hec_show_dbx filter + // This filter is harmless to add, even if we don't have the + // Hide Editor Clutter plugin installed as it's using a custom filter + // which won't be called except by the HEC plugin. + // Uncomment to show the control by default + // add_filter('hec_show_dbx','ep_hec_show_dbx'); +} + +// HOOK IT UP TO WORDPRESS + +add_action( 'init', 'ep_init' ); +add_action( 'admin_init', 'ep_admin_init' ) + +?> \ No newline at end of file diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages-de_DE.mo b/wp-content/plugins/exclude-pages/locale/exclude-pages-de_DE.mo new file mode 100644 index 0000000..b2f7310 Binary files /dev/null and b/wp-content/plugins/exclude-pages/locale/exclude-pages-de_DE.mo differ diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages-de_DE.po b/wp-content/plugins/exclude-pages/locale/exclude-pages-de_DE.po new file mode 100644 index 0000000..4fc972a --- /dev/null +++ b/wp-content/plugins/exclude-pages/locale/exclude-pages-de_DE.po @@ -0,0 +1,38 @@ +# Translation of the WordPress plugin by . +# Copyright (C) 2010 +# This file is distributed under the same license as the package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Exlude Pages\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/exclude-pages\n" +"POT-Creation-Date: 2010-05-14 08:36+0000\n" +"PO-Revision-Date: 2010-05-20 10:02+1000\n" +"Last-Translator: Meini, Utech Computer Solutions \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: exclude_pages.php:196 +msgid "Comma separated list of post and page IDs to exclude when returning pages from the get_pages function." +msgstr "Durch Komma getrennte Liste von Beiträgen- und Seiten-IDs die ausgeschlossen werden sollen, wenn Seiten von der get_pages Funktion zurückgeliefert werden." + +#: exclude_pages.php:226 +msgid "Include this page in user menus" +msgstr "Diese Seite im Besucher Menü anzeigen" + +#: exclude_pages.php:230 +#, php-format +msgid "N.B. An ancestor of this page is excluded, so this page is too (edit ancestor)." +msgstr "N.B. Diese Seite ist ausgeschlossen da die übergeordnete Seite ausgeschlossen ist (edit ancestor)." + +#: exclude_pages.php:230 +msgid "edit the excluded ancestor" +msgstr "die ausgeschlossene übergeordnete Seite bearbeiten" + +#: exclude_pages.php:284 +msgid "Exclude Pages" +msgstr "Seiten Ausschließen" + diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages-it_IT.mo b/wp-content/plugins/exclude-pages/locale/exclude-pages-it_IT.mo new file mode 100644 index 0000000..fc1cfa6 Binary files /dev/null and b/wp-content/plugins/exclude-pages/locale/exclude-pages-it_IT.mo differ diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages-it_IT.po b/wp-content/plugins/exclude-pages/locale/exclude-pages-it_IT.po new file mode 100644 index 0000000..cfbfd74 --- /dev/null +++ b/wp-content/plugins/exclude-pages/locale/exclude-pages-it_IT.po @@ -0,0 +1,62 @@ +# Translation of the WordPress plugin by . +# Copyright (C) 2010 +# This file is distributed under the same license as the package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Exclude Pages in italiano\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/exclude-pages\n" +"POT-Creation-Date: 2010-06-16 17:15+0000\n" +"PO-Revision-Date: 2010-06-17 17:55+0100\n" +"Last-Translator: Gianni Diurno (aka gidibao) \n" +"Language-Team: Gianni Diurno | gidibao.net \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Italian\n" +"X-Poedit-Country: ITALY\n" + +#: exclude_pages.php:198 +msgid "Comma separated list of post and page IDs to exclude when returning pages from the get_pages function." +msgstr "Separa con una virgola la lista delle ID (articoli e pagine) in modo tale che vengano escluse dalla funzione get_pages." + +#: exclude_pages.php:227 +msgid "Include this page in lists of pages" +msgstr "Includi questa pagina nella lista delle pagine" + +#: exclude_pages.php:231 +#, php-format +msgid "N.B. An ancestor of this page is excluded, so this page is too (edit ancestor)." +msgstr "N.B. La pagina madre é stata esclusa, così come questa (modifica)." + +#: exclude_pages.php:231 +msgid "edit the excluded ancestor" +msgstr "modifica la pagina madre esclusa" + +#: exclude_pages.php:239 +#, php-format +msgid "N.B. This page can still appear in explicitly created menus (explain more)" +msgstr "N.B. Questa pagina potrebbe ancora apparire in quei menu espressamente creati (ulteriori informazioni)" + +#: exclude_pages.php:242 +msgid "N.B. This page can still appear in explicitly created menus (explain more)" +msgstr "N.B. Questa pagina potrebbe ancora apparire in quei menu espressamente creati (ulteriori informazioni)" + +#: exclude_pages.php:246 +#, php-format +msgid "WordPress provides a simple function for you to maintain your site menus. If you create a menu which includes this page, the checkbox above will not have any effect on the visibility of that menu item." +msgstr "WordPress fornisce una semplice funzione per il mantenemento dei menu del tuo sito. Nel caso in cui avesi creato un menu menu nel quale fosse stata inclusa questa pagina, la casella di selezione qui sopra non avrà alcun effetto sulla visibilità di quel dato termine presente nel menu." + +#: exclude_pages.php:249 +msgid "WordPress provides a simple function for you to maintain the site menus, which your site administrator is using. If a menu includes this page, the checkbox above will not have any effect on the visibility of that menu item." +msgstr "WordPress fornisce una semplice funzione per il mantenemento dei menu del tuo sito. Nel caso in cui avesi creato un menu menu nel quale fosse stata inclusa questa pagina, la casella di selezione qui sopra non avrà alcun effetto sulla visibilità di quel dato termine presente nel menu." + +#: exclude_pages.php:251 +msgid "If you think you no longer need the Exclude Pages plugin you should talk to your WordPress administrator about disabling it." +msgstr "Qualora decidessi di non utilizzare più Exclude Pages, sarà sufficiente disattivare il plugin." + +#: exclude_pages.php:349 +msgid "Exclude Pages" +msgstr "Escludi pagine" + diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages-pl_PL.mo b/wp-content/plugins/exclude-pages/locale/exclude-pages-pl_PL.mo new file mode 100644 index 0000000..ebe7301 Binary files /dev/null and b/wp-content/plugins/exclude-pages/locale/exclude-pages-pl_PL.mo differ diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages-pl_PL.po b/wp-content/plugins/exclude-pages/locale/exclude-pages-pl_PL.po new file mode 100644 index 0000000..0a04eac --- /dev/null +++ b/wp-content/plugins/exclude-pages/locale/exclude-pages-pl_PL.po @@ -0,0 +1,40 @@ +# Translation of the WordPress plugin by . +# Copyright (C) 2010 +# This file is distributed under the same license as the package. +# FIRST AUTHOR , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Exclude Pages\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/exclude-pages\n" +"POT-Creation-Date: 2010-05-14 08:36+0000\n" +"PO-Revision-Date: 2010-05-19 14:45+0100\n" +"Last-Translator: Pawel Sikorski \n" +"Language-Team: www.spin.siedlce.pl \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Polish\n" +"X-Poedit-Country: POLAND\n" + +#: exclude_pages.php:196 +msgid "Comma separated list of post and page IDs to exclude when returning pages from the get_pages function." +msgstr "Lista oddzielonych przecinkami ID wpisów i stron do wykluczenia w przypadku zwracanych za pomocÄ… funkcji get_pages." + +#: exclude_pages.php:226 +msgid "Include this page in user menus" +msgstr "Pokazuj tÄ… stronÄ™ w menu" + +#: exclude_pages.php:230 +#, php-format +msgid "N.B. An ancestor of this page is excluded, so this page is too (edit ancestor)." +msgstr "Ponieważ strona nadrzÄ™dna zostaÅ‚a wykluczona z menu, ta również nie bÄ™dzie pokazywana (edytuj stronÄ™ nadrzÄ™dnÄ…)." + +#: exclude_pages.php:230 +msgid "edit the excluded ancestor" +msgstr "edytuj wykluczonÄ… stronÄ™ nadrzÄ™dnÄ…" + +#: exclude_pages.php:284 +msgid "Exclude Pages" +msgstr "Wyklucz strony" + diff --git a/wp-content/plugins/exclude-pages/locale/exclude-pages.pot b/wp-content/plugins/exclude-pages/locale/exclude-pages.pot new file mode 100644 index 0000000..c882194 --- /dev/null +++ b/wp-content/plugins/exclude-pages/locale/exclude-pages.pot @@ -0,0 +1,77 @@ +# Translation of the WordPress plugin by . +# Copyright (C) 2010 +# This file is distributed under the same license as the package. +# FIRST AUTHOR , 2010. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/exclude-pages\n" +"POT-Creation-Date: 2010-06-16 17:15+0000\n" +"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: exclude_pages.php:198 +msgid "" +"Comma separated list of post and page IDs to exclude when returning pages " +"from the get_pages function." +msgstr "" + +#: exclude_pages.php:227 +msgid "Include this page in lists of pages" +msgstr "" + +#: exclude_pages.php:231 +#, php-format +msgid "" +"N.B. An ancestor of this page is excluded, so this page is too (edit ancestor)." +msgstr "" + +#: exclude_pages.php:231 +msgid "edit the excluded ancestor" +msgstr "" + +#: exclude_pages.php:239 +#, php-format +msgid "" +"N.B. This page can still appear in explicitly created menus (explain " +"more)" +msgstr "" + +#: exclude_pages.php:242 +msgid "" +"N.B. This page can still appear in explicitly created menus (explain more)" +msgstr "" + +#: exclude_pages.php:246 +#, php-format +msgid "" +"WordPress provides a simple function for you to maintain your site menus. If you create a menu which includes this page, the " +"checkbox above will not have any effect on the visibility of that menu item." +msgstr "" + +#: exclude_pages.php:249 +msgid "" +"WordPress provides a simple function for you to maintain the site menus, " +"which your site administrator is using. If a menu includes this page, the " +"checkbox above will not have any effect on the visibility of that menu item." +msgstr "" + +#: exclude_pages.php:251 +msgid "" +"If you think you no longer need the Exclude Pages plugin you should talk to " +"your WordPress administrator about disabling it." +msgstr "" + +#: exclude_pages.php:349 +msgid "Exclude Pages" +msgstr "" diff --git a/wp-content/plugins/exclude-pages/readme.txt b/wp-content/plugins/exclude-pages/readme.txt new file mode 100644 index 0000000..8477679 --- /dev/null +++ b/wp-content/plugins/exclude-pages/readme.txt @@ -0,0 +1,157 @@ +=== Exclude Pages === +Contributors: simonwheatley +Donate link: http://www.simonwheatley.co.uk/wordpress/ +Tags: get_pages, navigation, menu, exclude pages, hide pages +Requires at least: 2.2.3 +Tested up to: 3.4 +Stable tag: 1.92 + +This plugin adds a checkbox, “include this page in menusâ€, uncheck this to exclude pages from the page navigation that users see on your site. + +== Description == + +This plugin adds a checkbox, “include this page in menusâ€, uncheck this to exclude pages from the page navigation that users see on your site. + +Any issues: [contact me](http://www.simonwheatley.co.uk/contact-me/). + +== Advanced Usage == + +It is possible to temporarily pause and resume the effect of Exclude Pages by using the new `` and `` templates tags. The following code will show a list of all pages in your site, even those normally hidden: + +` +Pages' ); ?> +` + +You can also get an array the IDs of the pages which are excluded by calling the function `ep_get_excluded_ids();`, you can then use these IDs as you wish (e.g. feed them into raw MySQL queries). + +Note to other plugin authors: + +The plugin does not operate on wp_list_pages while the user is on an admin page, if this is an issue you can take advantage of the `ep_admin_bail_out` filter and create a filter function which returns false to allow Exclude Pages to operate in the admin area. + +Another note: + +If your plugins or themes don't use the standard WordPress functions to create their menus then they won't work. To get them to work you will need to track down the bit of code in the theme/plugin which gets the pages and change it to apply the filter "get_pages" (I cannot be responsible for any unforseen effects of the changes you make, so please test thoroughly). The change to getting pages will probably look something like this: + +`$pages = apply_filters( 'get_pages', $pages );` + +Please [contact me](http://www.simonwheatley.co.uk/contact-me/) if you're completely stuck and we can discuss possible solutions. + +Exclude pages is incompatible with: + +* [WP CSS Dropdown Menus](http://wordpress.org/extend/plugins/wordpress-css-drop-down-menu/) +* [Phantom theme](http://wordpress.org/extend/themes/phantom) - This theme + +== Change Log == + += v1.92 = + +* BUGFIX: Fix deprecated notice when WP_DEBUG is true, thanks [hansfordmc](http://wordpress.org/support/topic/plugin-exclude-pages-cant-update-pages) +* Tested up to WordPress v3.3 + += v1.91 2011/08/26 = + +* BUGFIX: Prevent notice from appearing, thanks [Ray](http://wordpress.org/support/topic/notice-undefined-index-1) + += v1.9 2010/6/16 = + +* Tested with WP 3.2.1 +* ENHANCEMENT: Detects the use of WP menus and advises the user accordingly + += v1.8.4 2010/5/21 = + +* LOCALISATION: Italian translation courtesy of [Gianni Diurno](http://gidibao.net/index.php/portfolio/) + += v1.8.3 2010/5/20 = + +* LOCALISATION: Polish translation courtesy of [Pawel, Siedlecki Portal Informacyjnie Najlepszy](http://www.spin.siedlce.pl) +* LOCALISATION: German translation courtesy of [Meini, Utech Computer Solutions](http://utechworld.com) + += v1.8.2 2010/5/14 = + +Dear Non-English Exclude Pages Users, + +This release includes the facility for Exclude Pages to be translated into languages other than English. Please [contact me](http://www.simonwheatley.co.uk/contact-me/) if you want to translate Exclude Pages into your language. + +Sorry it took so long. + +Best regards, + +Simon + +* DROPPED SUPPORT FOR WORDPRESS VERSIONS PRIOR TO VERSION 2.7 +* BUGFIX: Everything was reporting that it was excluded by an ancestor for some reason. Crazy. Fixed now. +* LOCALISATION: Added POT file! Woo hoo! + += v1.8.1 2010/4/19 = + +* BUGFIX: Check for existence of parent object before attempting to use it. (Thanks to Robert Kosara for the bug report.) + += v1.8 2009/10/27 = + +* BUGFIX: PHP 5.3 doesn't like the fact that parameters marked as passed by reference as passed as value. Params now not marked as passed by ref. + += v1.7 2009/7/29 = + +* ENHANCEMENT: You can now turn the Exclude Pages functionality off in the admin area through use of a filter (this is mainly of advantage to other plugin and theme author). + += v1.6 2009/6/8 = + +* ENHANCEMENT: You can now turn the Exclude Pages functionality off before showing navigation which you want to be comprehensive (and show pages you've normally hidden). This is done with the new `` and `` templates tags. + += v1.51 2009/4/23 = + +* FIX: Was throwing an error when $pages turned out not to be an array. Thanks to (Sandra)[http://www.vinyltangerine.com/] for reporting this. + += v1.5 2008/11/03 = + +* ENHANCEMENT: Now compatible with WP 2.7-beta1 +* DOCS: Added a list of incompatible plugins +* DOCS: Added a list of incompatible themes + += v1.4 2008/01/02 = + +* ENHANCEMENT: Now compatible with WP 2.5 +* FIX: Pages are also excluded from the "Front page displays:" > "Posts page:" admin menu. (Reported by Ed Foley) This plugin now checks if it's within the admin area, and does nothing if it is. + += v1.3 2008/01/02 = + +* FIXED: Descendant (e.g. child) pages were only being checked to a depth of 1 generation. +* FIXED: The link to visit the hidden ancestor page from an affected descendant page was hard-coded to my development blog URL. ([Reported by webdragon777](http://wordpress.org/support/topic/147689?replies=1#post-662909 "Wordpress forum topic")) +* FIXED: Stripped out some stray error logging code. + += v1.2 2007/11/21 = + +* ENHANCEMENT: Child pages of an excluded page are now also hidden. There is also a warning message in the edit screen for any child page with a hidden ancestor, informing the person editing that the page is effectively hidden; a link is provided to edit the ancestor affecting the child page. + += v1.1 2007/11/10 = + +* FIXED: Pages not created manually using "Write Page" were always excluded from the navigation, meaning the admin has to edit the page to manually include them. Pages created by other plugins are not always included in the navigation, if you want to exclude them (a less common scenario) you have to edit them and uncheck the box. ([Reported by Nudnik](http://wordpress.org/support/topic/140017 "Wordpress forum topic")) + +== Description == + +This plugin adds a checkbox, “include this page in menusâ€, which is checked by default. If you uncheck +it, the page will not appear in any listings of pages (which includes, and is *usually* limited to, your +page navigation menus). + +Pages which are children of excluded pages also do not show up in menu listings. (An alert in the editing screen, +underneath the "include" checkbox allows you to track down which ancestor page is affecting child pages +in this way.) + +== Requests & Bug Reports == + +I'm simply noting requests & bug reports here, I've not necessarily looked into any of these. + +*None!* + +== Installation == + +1. Upload `exclude_pages.php` to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Create or edit a page, and enjoy the frisson of excitement as you exclude it from the navigation + +== Screenshots == + +1. WP 2.5 - Showing the control on the editing screen to exclude a page from the navigation +2. WP 2.5 - Showing the control and warning for a page which is the child of an excluded page +3. Pre WP 2.5 - Showing the control on the editing screen to exclude a page from the navigation +4. Pre WP 2.5 - Showing the control and warning for a page which is the child of an excluded page diff --git a/wp-content/plugins/exclude-pages/screenshot-1.png b/wp-content/plugins/exclude-pages/screenshot-1.png new file mode 100644 index 0000000..062849f Binary files /dev/null and b/wp-content/plugins/exclude-pages/screenshot-1.png differ diff --git a/wp-content/plugins/exclude-pages/screenshot-2.png b/wp-content/plugins/exclude-pages/screenshot-2.png new file mode 100644 index 0000000..840829c Binary files /dev/null and b/wp-content/plugins/exclude-pages/screenshot-2.png differ diff --git a/wp-content/plugins/exclude-pages/screenshot-3.png b/wp-content/plugins/exclude-pages/screenshot-3.png new file mode 100644 index 0000000..9de8be0 Binary files /dev/null and b/wp-content/plugins/exclude-pages/screenshot-3.png differ diff --git a/wp-content/plugins/exclude-pages/screenshot-4.png b/wp-content/plugins/exclude-pages/screenshot-4.png new file mode 100644 index 0000000..e847f7e Binary files /dev/null and b/wp-content/plugins/exclude-pages/screenshot-4.png differ diff --git a/wp-content/plugins/google-analyticator/class.analytics.stats.php b/wp-content/plugins/google-analyticator/class.analytics.stats.php new file mode 100644 index 0000000..56c0a41 --- /dev/null +++ b/wp-content/plugins/google-analyticator/class.analytics.stats.php @@ -0,0 +1,270 @@ +client = new Google_Client(); + $this->client->setApprovalPrompt("force"); + $this->client->setAccessType('offline'); + $this->client->setClientId(GOOGLE_ANALYTICATOR_CLIENTID); + $this->client->setClientSecret(GOOGLE_ANALYTICATOR_CLIENTSECRET); + $this->client->setRedirectUri(GOOGLE_ANALYTICATOR_REDIRECT); + + $this->client->setScopes(array("https://www.googleapis.com/auth/analytics")); + + // Magic. Returns objects from the Analytics Service instead of associative arrays. + $this->client->setUseObjects(true); + + try { + $this->analytics = new Google_AnalyticsService($this->client); + } + catch (Google_ServiceException $e) + { + print '(cas:48) There was an Analytics API service error ' . $e->getCode() . ':' . $e->getMessage(); + } + } + + function checkLogin() + { + $ga_google_authtoken = get_option('ga_google_authtoken'); + + if (!empty($ga_google_authtoken)) + { + $this->client->setAccessToken($ga_google_authtoken); + } + else + { + $authCode = get_option('ga_google_token'); + + if (empty($authCode)) return false; + + try + { + $accessToken = $this->client->authenticate($authCode); + } + catch( Exception $e ) + { + print '(cas:72) Google Analyticator was unable to authenticate you with + Google using the Auth Token you pasted into the input box on the previous step.

    + This could mean either you pasted the token wrong, or the time/date on your server is wrong, + or an SSL issue preventing Google from Authenticating.

    + Try Deauthorizing & Resetting Google Analyticator. +

    Tech Info ' . $e->getCode() . ':' . $e->getMessage(); + + return false; + } + + if($accessToken) + { + $this->client->setAccessToken($accessToken); + update_option('ga_google_authtoken', $accessToken); + } + else + { + return false; + } + } + + $this->token = $this->client->getAccessToken(); + return true; + } + + function deauthorize() + { + update_option('ga_google_token', ''); + update_option('ga_google_authtoken', ''); + } + + function getSingleProfile() + { + $webproperty_id = get_option('ga_uid'); + list($pre, $account_id, $post) = explode('-',$webproperty_id); + + if (empty($webproperty_id)) return false; + + try { + $profiles = $this->analytics->management_profiles->listManagementProfiles($account_id, $webproperty_id); + } + catch (Google_ServiceException $e) + { + print 'There was an Analytics API service error ' . $e->getCode() . ': ' . $e->getMessage(); + return false; + } + + $profile_id = $profiles->items[0]->id; + if (empty($profile_id)) return false; + + $account_array = array(); + array_push($account_array, array('id'=>$profile_id, 'ga:webPropertyId'=>$webproperty_id)); + return $account_array; + } + + function getAllProfiles() + { + $profile_array = array(); + + try { + $profiles = $this->analytics->management_webproperties->listManagementWebproperties('~all'); + } + catch (Google_ServiceException $e) + { + print 'There was an Analytics API service error ' . $e->getCode() . ': ' . $e->getMessage(); + } + + + if( !empty( $profiles->items ) ) + { + foreach( $profiles->items as $profile ) + { + $profile_array[ $profile->id ] = str_replace('http://','',$profile->name ); + } + } + + return $profile_array; + } + + function getAnalyticsAccounts() + { + $analytics = new Google_AnalyticsService($this->client); + $accounts = $analytics->management_accounts->listManagementAccounts(); + $account_array = array(); + + $items = $accounts->getItems(); + + if (count($items) > 0) { + foreach ($items as $key => $item) + { + $account_id = $item->getId(); + + $webproperties = $analytics->management_webproperties->listManagementWebproperties($account_id); + + if (!empty($webproperties)) + { + foreach ($webproperties->getItems() as $webp_key => $webp_item) { + $profiles = $analytics->management_profiles->listManagementProfiles($account_id, $webp_item->id); + + $profile_id = $profiles->items[0]->id; + array_push($account_array, array('id'=>$profile_id, 'ga:webPropertyId'=>$webp_item->id)); + } + } + } + + return $account_array; + } + return false; + + } + + + + /** + * Sets the account id to use for queries + * + * @param id - the account id + **/ + function setAccount($id) + { + $this->accountId = $id; + } + + + /** + * Get a specific data metrics + * + * @param metrics - the metrics to get + * @param startDate - the start date to get + * @param endDate - the end date to get + * @param dimensions - the dimensions to grab + * @param sort - the properties to sort on + * @param filter - the property to filter on + * @param limit - the number of items to get + * @return the specific metrics in array form + **/ + function getMetrics($metric, $startDate, $endDate, $dimensions = false, $sort = false, $filter = false, $limit = false) + { + $analytics = new Google_AnalyticsService($this->client); + + $params = array(); + + if ($dimensions) + { + $params['dimensions'] = $dimensions; + } + if ($sort) + { + $params['sort'] = $sort; + } + if ($filter) + { + $params['filters'] = $filter; + } + if ($limit) + { + $params['max-results'] = $limit; + } + + // Just incase, the ga: is still used in the account id, strip it out to prevent it breaking + $filtered_id = str_replace( 'ga:', '', $this->accountId ); + + if(!$filtered_id){ + echo 'Error - Account ID is blank'; + return false; + } + + return $analytics->data_ga->get( + 'ga:'.$filtered_id, + $startDate, + $endDate, + $metric, + $params + ); + } + + + + + + /** + * Checks the date against Jan. 1 2005 because GA API only works until that date + * + * @param date - the date to compare + * @return the correct date + **/ + function verifyStartDate($date) + { + if ( strtotime($date) > strtotime('2005-01-01') ) + return $date; + else + return '2005-01-01'; + } + +} // END class \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/download-button.png b/wp-content/plugins/google-analyticator/download-button.png new file mode 100644 index 0000000..fbf1941 Binary files /dev/null and b/wp-content/plugins/google-analyticator/download-button.png differ diff --git a/wp-content/plugins/google-analyticator/external-tracking.js b/wp-content/plugins/google-analyticator/external-tracking.js new file mode 100644 index 0000000..3768b47 --- /dev/null +++ b/wp-content/plugins/google-analyticator/external-tracking.js @@ -0,0 +1,64 @@ +jQuery(document).ready(function() { + + jQuery('a').each(function() { + var a = jQuery(this); + var href = a.attr('href'); + + // Check if the a tag has a href, if not, stop for the current link + if ( href == undefined || href =="") + return; + + var url = href.replace('http://','').replace('https://',''); + var hrefArray = href.split('.').reverse(); + var extension = hrefArray[0].toLowerCase(); + var hrefArray = href.split('/').reverse(); + var domain = hrefArray[2]; + var downloadTracked = false; + + if (typeof analyticsFileTypes != "undefined") { + // If the link is a download + if (jQuery.inArray(extension,analyticsFileTypes) != -1) { + // Mark the link as already tracked + downloadTracked = true; + + // Add the tracking code + a.click(function() { + if ( analyticsEventTracking == 'enabled' ) { + if(analyticsSnippet == 'enabled'){ + _gaq.push(['_trackEvent', 'Downloads', extension.toUpperCase(), href]); + }else{ + ga('send', 'event', 'Downloads', extension.toUpperCase(), href); + } + } else{ + if(analyticsSnippet == 'enabled'){ + _gaq.push(['_trackPageview', analyticsDownloadsPrefix + url]); + }else{ + ga('send', 'pageview', analyticsDownloadsPrefix + url); + } + } + }); + } + } + // If the link is external + if ( ( href.match(/^http/) ) && ( !href.match(document.domain) ) && ( downloadTracked == false ) ) { + // Add the tracking code + a.click(function() { + if ( analyticsEventTracking == 'enabled' ) { + if(analyticsSnippet == 'enabled'){ + _gaq.push(['_trackEvent', 'Outbound Traffic', href.match(/:\/\/(.[^/]+)/)[1], href]); + }else{ + ga('send', 'event', 'Outbound Traffic', href.match(/:\/\/(.[^/]+)/)[1], href); + + } + } else + if(analyticsSnippet == 'enabled'){ + _gaq.push(['_trackPageview', analyticsOutboundPrefix + url]); + }else{ + ga('send', 'pageview', analyticsOutboundPrefix + url); + + } + }); + } + }); + +}); \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/external-tracking.min.js b/wp-content/plugins/google-analyticator/external-tracking.min.js new file mode 100644 index 0000000..3bd6f17 --- /dev/null +++ b/wp-content/plugins/google-analyticator/external-tracking.min.js @@ -0,0 +1 @@ +jQuery(document).ready(function(){jQuery("a").each(function(){var e=jQuery(this);var t=e.attr("href");if(t==undefined||t=="")return;var n=t.replace("http://","").replace("https://","");var r=t.split(".").reverse();var i=r[0].toLowerCase();var r=t.split("/").reverse();var s=r[2];var o=false;if(typeof analyticsFileTypes!="undefined"){if(jQuery.inArray(i,analyticsFileTypes)!=-1){o=true;e.click(function(){if(analyticsEventTracking=="enabled"){if(analyticsSnippet=="enabled"){_gaq.push(["_trackEvent","Downloads",i.toUpperCase(),t])}else{ga("send","event","Downloads",i.toUpperCase(),t)}}else{if(analyticsSnippet=="enabled"){_gaq.push(["_trackPageview",analyticsDownloadsPrefix+n])}else{ga("send","pageview",analyticsDownloadsPrefix+n)}}})}}if(t.match(/^http/)&&!t.match(document.domain)&&o==false){e.click(function(){if(analyticsEventTracking=="enabled"){if(analyticsSnippet=="enabled"){_gaq.push(["_trackEvent","Outbound Traffic",t.match(/:\/\/(.[^/]+)/)[1],t])}else{ga("send","event","Outbound Traffic",t.match(/:\/\/(.[^/]+)/)[1],t)}}else if(analyticsSnippet=="enabled"){_gaq.push(["_trackPageview",analyticsOutboundPrefix+n])}else{ga("send","pageview",analyticsOutboundPrefix+n)}})}})}) \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/ga-md-ad-532.png b/wp-content/plugins/google-analyticator/ga-md-ad-532.png new file mode 100644 index 0000000..6f62313 Binary files /dev/null and b/wp-content/plugins/google-analyticator/ga-md-ad-532.png differ diff --git a/wp-content/plugins/google-analyticator/ga-plugin-advert-sidebar.png b/wp-content/plugins/google-analyticator/ga-plugin-advert-sidebar.png new file mode 100644 index 0000000..ab56865 Binary files /dev/null and b/wp-content/plugins/google-analyticator/ga-plugin-advert-sidebar.png differ diff --git a/wp-content/plugins/google-analyticator/ga-plugin-advert.jpg b/wp-content/plugins/google-analyticator/ga-plugin-advert.jpg new file mode 100644 index 0000000..314d691 Binary files /dev/null and b/wp-content/plugins/google-analyticator/ga-plugin-advert.jpg differ diff --git a/wp-content/plugins/google-analyticator/ga_logo.png b/wp-content/plugins/google-analyticator/ga_logo.png new file mode 100644 index 0000000..3d07705 Binary files /dev/null and b/wp-content/plugins/google-analyticator/ga_logo.png differ diff --git a/wp-content/plugins/google-analyticator/gapro-plugin-advert-sidebar.png b/wp-content/plugins/google-analyticator/gapro-plugin-advert-sidebar.png new file mode 100644 index 0000000..be5c78f Binary files /dev/null and b/wp-content/plugins/google-analyticator/gapro-plugin-advert-sidebar.png differ diff --git a/wp-content/plugins/google-analyticator/google-analyticator.php b/wp-content/plugins/google-analyticator/google-analyticator.php new file mode 100644 index 0000000..879e32a --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-analyticator.php @@ -0,0 +1,1305 @@ +Google's Analytics. After enabling this plugin you need to authenticate with Google, then select your domain and you're set. + * Author: Video User Manuals Pty Ltd + * Author URI: http://www.videousermanuals.com/?utm_campaign=analyticator&utm_medium=plugin&utm_source=readme-txt + * Text Domain: google-analyticator + */ + +define('GOOGLE_ANALYTICATOR_VERSION', '6.4.7.3'); + +define('GOOGLE_ANALYTICATOR_CLIENTID', '1007949979410.apps.googleusercontent.com'); +define('GOOGLE_ANALYTICATOR_CLIENTSECRET', 'q06U41XDXtzaXD14E-KO1hti'); //don't worry - this don't need to be secret in our case +define('GOOGLE_ANALYTICATOR_REDIRECT', 'urn:ietf:wg:oauth:2.0:oob'); +define('GOOGLE_ANALYTICATOR_SCOPE', 'https://www.googleapis.com/auth/analytics');//.readonly + +// Constants for enabled/disabled state +define("ga_enabled", "enabled", true); +define("ga_disabled", "disabled", true); + +// Defaults, etc. +define("key_ga_uid", "ga_uid", true); +define("key_ga_status", "ga_status", true); +define("key_ga_disable_gasites", "ga_disable_gasites", true); +define("key_ga_analytic_snippet", "ga_analytic_snippet", true); +define("key_ga_admin", "ga_admin_status", true); +define("key_ga_admin_disable", "ga_admin_disable", true); +define("key_ga_admin_disable_DimentionIndex", "ga_admin_disable_DimentionIndex", true); +define("key_ga_remarketing", 'ga_enable_remarketing', true ); +define("key_ga_track_login", "key_ga_track_login", true ); +define("key_ga_show_ad", "key_ga_show_ad", true ); +define("key_ga_admin_role", "ga_admin_role", true); +define("key_ga_dashboard_role", "ga_dashboard_role", true); +define("key_ga_adsense", "ga_adsense", true); +define("key_ga_extra", "ga_extra", true); +define("key_ga_extra_after", "ga_extra_after", true); +define("key_ga_event", "ga_event", true); +define("key_ga_outbound", "ga_outbound", true); +define("key_ga_outbound_prefix", "ga_outbound_prefix", true); +define("key_ga_enhanced_link_attr", "ga_enhanced_link_attr", true); +define("key_ga_downloads", "ga_downloads", true); +define("key_ga_downloads_prefix", "ga_downloads_prefix", true); +define("key_ga_widgets", "ga_widgets", true); +define("key_ga_annon", "ga_annon", true); + +define("ga_uid_default", "UA-XXXXXXXX-X", true); +define("ga_google_token_default", "", true); +define("ga_disable_gasites_default", ga_disabled, true); +define("ga_analytic_snippet_default", ga_enabled, true); +define("ga_status_default", ga_disabled, true); +define("ga_admin_default", ga_enabled, true); +define("ga_admin_disable_DimentionIndex_default", "", true); +define("ga_admin_disable_default", 'remove', true); +define("ga_adsense_default", "", true); +define("ga_extra_default", "", true); +define("ga_extra_after_default", "", true); +define("ga_event_default", ga_enabled, true); +define("ga_outbound_default", ga_enabled, true); +define("ga_outbound_prefix_default", 'outgoing', true); +define("ga_enhanced_link_attr_default", ga_disabled, true); +define("ga_downloads_default", "", true); +define("ga_downloads_prefix_default", "download", true); +define("ga_widgets_default", ga_enabled, true); + +// Create the default key and status +add_option( 'ga_version', GOOGLE_ANALYTICATOR_VERSION ); +add_option(key_ga_status, ga_status_default, ''); +add_option(key_ga_disable_gasites, ga_disable_gasites_default, ''); +add_option(key_ga_analytic_snippet, ga_analytic_snippet_default, ''); +add_option(key_ga_uid, ga_uid_default, ''); +add_option(key_ga_admin, ga_admin_default, ''); +add_option(key_ga_admin_disable_DimentionIndex, ga_admin_disable_DimentionIndex_default, ''); +add_option(key_ga_admin_disable, ga_admin_disable_default, ''); +add_option(key_ga_admin_role, array('administrator'), ''); +add_option(key_ga_dashboard_role, array('administrator'), ''); +add_option(key_ga_show_ad, '1' ); +add_option(key_ga_adsense, ga_adsense_default, ''); +add_option(key_ga_extra, ga_extra_default, ''); +add_option(key_ga_extra_after, ga_extra_after_default, ''); +add_option(key_ga_event, ga_event_default, ''); +add_option(key_ga_outbound, ga_outbound_default, ''); +add_option(key_ga_outbound_prefix, ga_outbound_prefix_default, ''); +add_option(key_ga_enhanced_link_attr, ga_enhanced_link_attr_default, ''); +add_option(key_ga_downloads, ga_downloads_default, ''); +add_option(key_ga_downloads_prefix, ga_downloads_prefix_default, ''); +add_option(key_ga_widgets, ga_widgets_default, ''); +add_option(key_ga_annon, false ); +add_option('ga_defaults', 'yes' ); +add_option('ga_google_token', '', ''); + + $useAuth = ( get_option( 'ga_google_token' ) == '' ? false : true ); + + +# Check if we have a version of WordPress greater than 2.8 +if ( function_exists('register_widget') ) { + + # Check if widgets are enabled and the auth has been set! + if ( get_option(key_ga_widgets) == 'enabled' && $useAuth ) { + + # Include Google Analytics Stats widget + require_once('google-analytics-stats-widget.php'); + + # Include the Google Analytics Summary widget + require_once('google-analytics-summary-widget.php'); + $google_analytics_summary = new GoogleAnalyticsSummary(); + + } + +} + +// Create a option page for settings +add_action('admin_init', 'ga_admin_init'); + +add_action('init', "ganalyticator_stats_init"); +add_action('admin_menu', 'add_ga_option_page'); + +function ganalyticator_stats_init(){ + require_once('class.analytics.stats.php'); + do_action("gapro_init"); +} +// Initialize the options +function ga_admin_init() { + + ga_get_active_addons(); + + # Load the localization information + $plugin_dir = basename(dirname(__FILE__)); + load_plugin_textdomain('google-analyticator', 'wp-content/plugins/' . $plugin_dir . '/localizations', $plugin_dir . '/localizations'); + +} + +# Add the core Google Analytics script, with a high priority to ensure last script for async tracking +add_action('wp_head', 'add_google_analytics',99); + +// ONly track WP login if requested. +if( get_option( key_ga_track_login ) ) + add_action('login_head', 'add_google_analytics', 99); + +# Initialize outbound link tracking +add_action('init', 'ga_outgoing_links'); +// Include the Google Experiment page + + +// Hook in the options page function +function add_ga_option_page() { + + + if(ga_get_active_addons() == false){ + $plugin_page = add_options_page(__('Google Analyticator Settings', 'google-analyticator'), 'Google Analytics', 'manage_options', basename(__FILE__), 'ga_settings_page'); + add_action('load-'.$plugin_page, 'ga_pre_load' ); + } + $activate_page = add_submenu_page( null, 'Activation', 'Google Analytics', 'manage_options', 'ga_activate' , 'ga_activate'); + $reset_page = add_submenu_page(null, 'Reset', 'Reset', 'activate_plugins', 'ga_reset', 'ga_reset' ); + add_action('load-'.$reset_page, 'ga_do_reset' ); + +} + +add_action('plugin_action_links_' . plugin_basename(__FILE__), 'ga_filter_plugin_actions'); + +function ga_pre_load() +{ + + add_action('admin_footer', 'add_ga_admin_footer'); + + if( isset( $_POST['key_ga_google_token'] ) ): + + check_admin_referer('google-analyticator-update_settings'); + + // Nolonger defaults + update_option('ga_defaults', 'no'); + + // Update GA Token + update_option('ga_google_token', $_POST['key_ga_google_token']); + + + endif; + + if( get_option('ga_defaults') == 'yes' ): + + wp_redirect( admin_url('options-general.php?page=ga_activate') ); + exit; + + endif; +} + +function ga_activate() +{ + +if (! function_exists('curl_init')) { + print('Google PHP API Client requires the CURL PHP extension'); + return; +} + +if (! function_exists('json_decode')) { + print('Google PHP API Client requires the JSON PHP extension'); + return; +} + +if (! function_exists('http_build_query')) { + print('Google PHP API Client requires http_build_query()'); + return; +} +$url = http_build_query( array( + 'next' =>ga_analyticator_setting_url(), + 'scope' => GOOGLE_ANALYTICATOR_SCOPE, + 'response_type'=>'code', + 'redirect_uri'=>GOOGLE_ANALYTICATOR_REDIRECT, + 'client_id'=>GOOGLE_ANALYTICATOR_CLIENTID + ) + ); + + ?> + +
    +

    Google Authentication Code

    +

    You need to sign in to Google and grant this plugin access to your Google Analytics account

    +

    Click Here - Or here if you have popups blocked

    +
    +

    Enter your Google Authentication Code in this box. This code will be used to get an Authentication Token so you can access your website stats.

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

    I Don't Want To Authenticate Through Google

    +

    If you don't want to authenticate through Google and only use the tracking capability of the plugin (not the dashboard functionality), you can do this by clicking the button below.

    +

    You will be asked on the next page to manually enter your Google Analytics UID.

    +
    + + + +
    +
    +' . __('Settings', 'google-analyticator') . ''; + $new_links[] = '') . __('Reset', 'google-analyticator') . ''; + + return array_merge($new_links, $links); +} + +function ga_do_reset() +{ + global $wpdb; + + // Delete all GA options. + delete_option(key_ga_status); + delete_option(key_ga_disable_gasites); + delete_option(key_ga_analytic_snippet); + delete_option(key_ga_uid); + delete_option(key_ga_admin); + delete_option(key_ga_admin_disable); + delete_option(key_ga_admin_role); + delete_option(key_ga_dashboard_role); + delete_option(key_ga_adsense); + delete_option(key_ga_extra); + delete_option(key_ga_extra_after); + delete_option(key_ga_event); + delete_option(key_ga_outbound); + delete_option(key_ga_outbound_prefix); + delete_option(key_ga_enhanced_link_attr); + delete_option(key_ga_downloads); + delete_option(key_ga_downloads_prefix); + delete_option(key_ga_widgets); + delete_option(key_ga_annon); + delete_option('ga_defaults'); + delete_option('ga_google_token'); + delete_option('ga_google_authtoken'); + delete_option('ga_profileid'); + delete_transient('ga_admin_stats_widget'); + + // Need to remove cached items from GA widgets + $wpdb->query( "delete from $wpdb->options where `option_name` like 'google_stats_visitsGraph_%'"); + + wp_redirect( admin_url( 'options-general.php?page=ga_activate' ) ); + exit; +} + +function ga_reset(){ /* Wont ever run. */ } + +function ga_settings_page(){ + ga_options_page(); +} +function ga_options_page() { + + // If we are a postback, store the options + if (isset($_POST['info_update'])) { + # Verify nonce + check_admin_referer('google-analyticator-update_settings'); + + update_option('ga_defaults', 'no'); + + // Get our domains array, and match the UID to the value + $domains = stripslashes( $_POST['ga_domain_names'] ); + $all_domains = unserialize( $domains ); + update_option( 'ga_domain_name', $all_domains[ $_POST[key_ga_uid] ] ); + + // Update the status + $ga_status = wp_filter_kses( $_POST[key_ga_status] ); + if (($ga_status != ga_enabled) && ($ga_status != ga_disabled)) + $ga_status = ga_status_default; + update_option(key_ga_status, $ga_status); + + // Update Hiding UID (if set) + if( isset( $_POST[key_ga_disable_gasites] ) ) { + + $ga_disable_gasites = wp_filter_kses( $_POST[key_ga_disable_gasites] ); + + if (!$ga_disable_gasites) + $ga_disable_gasites = ga_disable_gasites_default; + + update_option(key_ga_disable_gasites, $ga_disable_gasites); + } + + // Update the Analytic Snippet + //define("key_ga_analytic_snippet", "ga_analytic_snippet", true); + $ga_analytic_snippet = wp_filter_kses( $_POST[key_ga_analytic_snippet] ); + if (($ga_analytic_snippet != ga_enabled) && ($ga_analytic_snippet != ga_disabled)) + $ga_analytic_snippet = ga_analytic_snippet; + update_option(key_ga_analytic_snippet, $ga_analytic_snippet); + + // Update the UID + $ga_uid = wp_filter_kses( $_POST[key_ga_uid] ); + if ($ga_uid == '') + $ga_uid = ga_uid_default; + update_option(key_ga_uid, $ga_uid); + + // Update the admin logging + $ga_admin = wp_filter_kses( $_POST[key_ga_admin] ); + if (($ga_admin != ga_enabled) && ($ga_admin != ga_disabled)) + $ga_admin = ga_admin_default; + update_option(key_ga_admin, wp_filter_kses( $ga_admin ) ); + + // Update the Dimension Index + $ga_admin_disable_DimentionIndex = $_POST[key_ga_admin_disable_DimentionIndex]; + if ($ga_admin_disable_DimentionIndex == '') + $ga_admin_disable_DimentionIndex = ga_admin_disable_DimentionIndex_default; + + update_option(key_ga_admin_disable_DimentionIndex, wp_filter_kses( $ga_admin_disable_DimentionIndex ) ); + + // Update the admin disable setting + $ga_admin_disable = wp_filter_kses( $_POST[key_ga_admin_disable] ); + if ( $ga_admin_disable == '' ) + $ga_admin_disable = ga_admin_disable_default; + update_option(key_ga_admin_disable, wp_filter_kses( $ga_admin_disable) ); + + // Update the admin level + if ( array_key_exists(key_ga_admin_role, $_POST) ) { + $ga_admin_role = $_POST[key_ga_admin_role]; + } else { + $ga_admin_role = ""; + } + update_option(key_ga_admin_role, $ga_admin_role); + + // Update the dashboard level + if ( array_key_exists(key_ga_dashboard_role, $_POST) ) { + $ga_dashboard_role = $_POST[key_ga_dashboard_role]; + } else { + $ga_dashboard_role = ""; + } + + update_option(key_ga_dashboard_role, $ga_dashboard_role ); + + // Update the extra tracking code + $ga_extra = $_POST[key_ga_extra]; + update_option(key_ga_extra, wp_filter_kses( $ga_extra ) ); + + // Update the extra after tracking code + $ga_extra_after = $_POST[key_ga_extra_after]; + update_option(key_ga_extra_after, wp_filter_kses( $ga_extra_after )); + + // Update the adsense key + $ga_adsense = $_POST[key_ga_adsense]; + update_option(key_ga_adsense, wp_filter_kses( $ga_adsense ) ); + + // Update the event tracking + $ga_event = $_POST[key_ga_event]; + if (($ga_event != ga_enabled) && ($ga_event != ga_disabled)) + $ga_event = ga_event_default; + update_option(key_ga_event, wp_filter_kses ( $ga_event ) ); + + // Update the outbound tracking + $ga_outbound = $_POST[key_ga_outbound]; + if (($ga_outbound != ga_enabled) && ($ga_outbound != ga_disabled)) + $ga_outbound = ga_outbound_default; + update_option(key_ga_outbound, wp_filter_kses( $ga_outbound ) ); + + // Update the outbound prefix + $ga_outbound_prefix = $_POST[key_ga_outbound_prefix]; + if ($ga_outbound_prefix == '') + $ga_outbound_prefix = ga_outbound_prefix_default; + update_option(key_ga_outbound_prefix, wp_filter_kses( $ga_outbound_prefix) ); + + // Update the download tracking code + $ga_downloads = $_POST[key_ga_downloads]; + update_option(key_ga_downloads, wp_filter_kses( $ga_downloads ) ); + + // Update the Enhanced Link Attribution + $ga_enhanced_link_attr = $_POST[key_ga_enhanced_link_attr]; + if ($ga_enhanced_link_attr == '') + $ga_enhanced_link_attr = ga_enhanced_link_attr_default; + update_option(key_ga_enhanced_link_attr, wp_filter_kses( $ga_enhanced_link_attr) ); + + // Update the download prefix + $ga_downloads_prefix = $_POST[key_ga_downloads_prefix]; + if ($ga_downloads_prefix == '') + $ga_downloads_prefix = ga_downloads_prefix_default; + update_option(key_ga_downloads_prefix, wp_filter_kses( $ga_downloads_prefix) ); + + // Update the widgets option + $ga_widgets = $_POST[key_ga_widgets]; + if (($ga_widgets != ga_enabled) && ($ga_widgets != ga_disabled)) + + $ga_widgets = ga_widgets_default; + update_option(key_ga_widgets, wp_filter_kses( $ga_widgets ) ); + + // Update the widgets option + update_option(key_ga_annon, wp_filter_kses( $_POST[key_ga_annon] ) ); + + // Update enable remarketing + update_option(key_ga_remarketing, wp_filter_kses( $_POST[key_ga_remarketing] ) ); + + // Update key_ga_hide_ad + update_option(key_ga_show_ad, wp_filter_kses( $_POST[key_ga_show_ad] ) ); + // Update enable tracking login + update_option(key_ga_track_login, wp_filter_kses( $_POST[key_ga_track_login] ) ); + // Give an updated message + echo "

    " . __('Google Analyticator settings saved.', 'google-analyticator') . "

    "; + } + // Are we using the auth system? + $useAuth = ( get_option( 'ga_google_token' ) == '' ? false : true ); + // Output the options page + + ?> +
    +
    + + +
    + DISABLED.', 'google-analyticator'); ?> +
    + + +
    + +
    + +
    + +
    Learn More
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + + + + + + + + > + + + +

    + +

    + + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> + +
    + + + + "; + + $hasSelected = false; // Will be set to true once a match is found. Cant echo selected twice. + + foreach($uids as $id=>$domain): + + echo ''; + + endforeach; + + echo ''; + + // Need a copy of the array, so we can store the domain name too (for visual purposes) + echo ''; + + else: + + echo ''; + + endif; + ?>
    + checked="checked" /> + - To change this, you must deauthorize and reset the plugin + + +
    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> +

    + here.', 'google-analyticator'); ?> +

    + +

    + +

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + ?> +

    + +

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + ?> +

    + +

    + get_names(); + $selected_roles = get_option(key_ga_admin_role); + if ( !is_array($selected_roles) ) $selected_roles = array(); + + # Loop through the roles + foreach ( $roles AS $role => $name ) { + echo ' ' . _x($name, 'User role') . '
    '; + } + ?> +

    + +

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> + Dimension Index : + + +

    + +

    + \n"; + + echo "\n"; + + + echo "\n"; + + + echo "\n"; + + ?> +

    + please make sure you complete this checklist from Google', 'google-analyticator'); ?> +

    +

    + Edit permission is required', 'google-analyticator'); ?> +

    +

    Universal Analytics (analytics.js) does not currently support this feature learn more

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + + ?> +

    + +

    Link Tracking Settings

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> +

    + +

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> +

    + event tracking in Analytics, this is the recommended way to track these types of actions. Only disable this option if you must use the old pageview tracking method.', 'google-analyticator'); ?> +

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> +

    + learn more', 'google-analyticator'); ?> +

    + \n"; + ?> +

    + mp3,pdf. Outbound link tracking must be enabled for downloads to be tracked.', 'google-analyticator'); ?> +

    + \n"; + ?> +

    + +

    + \n"; + ?> +

    + +

    + \n"; + ?> +

    + +

    Additional Tracking Code

    + "; + echo stripslashes(get_option(key_ga_extra))."\n"; + ?> +

    + before the Google Analytics tracker is initialized.', 'google-analyticator'); ?> +

    + "; + echo stripslashes(get_option(key_ga_extra_after))."\n"; + ?> +

    + after the Google Analytics tracker is initialized.', 'google-analyticator'); ?> +

    Admin Dashboard Widgets

    + +
    + +
    +
    \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> +

    + +

    + \n"; + + echo "\n"; + + echo "\n"; + + echo "\n"; + ?> +

    + +

    + get_names(); + $selected_roles = get_option(key_ga_dashboard_role); + if ( !is_array($selected_roles) ) $selected_roles = array(); + + # Loop through the roles + foreach ( $roles AS $role => $name ) { + echo ' ' . _x($name, 'User role') . '
    '; + } + ?> +

    + +

    +

    + +

    + + + + +
    +
    + +
    + + +checkLogin() ) + return false; + + # Get a list of accounts + $accounts = $stats->getAllProfiles(); + + natcasesort ($accounts); + + # Return the account array if there are accounts + if ( count($accounts) > 0 ) + return $accounts; + else + return false; +} + +/** + * Add http_build_query if it doesn't exist already + **/ +if ( !function_exists('http_build_query') ) { + function http_build_query($params, $key = null) + { + $ret = array(); + + foreach( (array) $params as $name => $val ) { + $name = urlencode($name); + + if ( $key !== null ) + $name = $key . "[" . $name . "]"; + + if ( is_array($val) || is_object($val) ) + $ret[] = http_build_query($val, $name); + elseif ($val !== null) + $ret[] = $name . "=" . urlencode($val); + } + + return implode("&", $ret); + } +} + +/** + * Echos out the core Analytics tracking code + **/ +function add_google_analytics() +{ + # Fetch variables used in the tracking code + $uid = stripslashes(get_option(key_ga_uid)); + $extra = stripslashes(get_option(key_ga_extra)); + $extra_after = stripslashes(get_option(key_ga_extra_after)); + $extensions = str_replace (",", "|", get_option(key_ga_downloads)); + + # Determine if the GA is enabled and contains a valid UID + if ( ( get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" ) ) + { + # Determine if the user is an admin, and should see the tracking code + if ( ( get_option(key_ga_admin) == ga_enabled || !ga_current_user_is(get_option(key_ga_admin_role)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' ) + { + # Disable the tracking code on the post preview page + if ( !function_exists("is_preview") || ( function_exists("is_preview") && !is_preview() ) ) + { + # Add the notice that Google Analyticator tracking is enabled + echo "\n"; + + # Add the Adsense data if specified + if ( get_option(key_ga_adsense) != '' ) + echo '\n"; + + # Include the file types to track + $extensions = explode(',', stripslashes(get_option(key_ga_downloads))); + $ext = ""; + foreach ( $extensions AS $extension ) + $ext .= "'$extension',"; + $ext = substr($ext, 0, -1); + + # Include the link tracking prefixes + $outbound_prefix = stripslashes(get_option(key_ga_outbound_prefix)); + $downloads_prefix = stripslashes(get_option(key_ga_downloads_prefix)); + $event_tracking = get_option(key_ga_event); + $need_to_annon = get_option(key_ga_annon); + $jsanalytic_snippet = get_option(key_ga_analytic_snippet); + ?> + + + +\n"; + echo " \n"; + } + } +} + +/** + * Adds outbound link tracking to Google Analyticator + **/ +function ga_outgoing_links() +{ + # Fetch the UID + $uid = stripslashes(get_option(key_ga_uid)); + + # If GA is enabled and has a valid key + if ( (get_option(key_ga_status) != ga_disabled ) && ( $uid != "XX-XXXXX-X" ) ) + { + # If outbound tracking is enabled + if ( get_option(key_ga_outbound) == ga_enabled ) + { + # If this is not an admin page + if ( !is_admin() ) + { + # Display page tracking if user is not an admin + if ( ( get_option(key_ga_admin) == ga_enabled || !ga_current_user_is(get_option(key_ga_admin_role)) ) && get_option(key_ga_admin_disable) == 'remove' || get_option(key_ga_admin_disable) != 'remove' ) + { + add_action('wp_print_scripts', 'ga_external_tracking_js',99999); + } + } + } + } +} + +/** + * Adds the scripts required for outbound link tracking + **/ +function ga_external_tracking_js() +{ + $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; + wp_enqueue_script('ga-external-tracking', plugins_url("/google-analyticator/external-tracking{$suffix}.js"), array('jquery'), GOOGLE_ANALYTICATOR_VERSION); +} + +/** + * Determines if a specific user fits a role + **/ +function ga_current_user_is($roles) +{ + if ( !$roles ) return false; + + global $current_user; + get_currentuserinfo(); + $user_id = intval( $current_user->ID ); + + if ( !$user_id ) { + return false; + } + $user = new WP_User($user_id); // $user->roles + + foreach ( $roles as $role ) + if ( in_array($role, $user->roles) ) return true; + + return false; +} + +function ga_analyticator_setting_url(){ + return ( ga_get_active_addons() == false) ? admin_url("options-general.php?page=google-analyticator.php") : admin_url("admin.php?page=ga-pro-experiment.php"); +} + +function ga_get_active_addons(){ + + $gapro_addons = get_option("gapro_addons"); + if($gapro_addons && is_array($gapro_addons)){ + return $gapro_addons; + }else{ + return false; + } +} +function add_ga_admin_footer(){ + echo ''; +} diff --git a/wp-content/plugins/google-analyticator/google-analytics-stats-widget.php b/wp-content/plugins/google-analyticator/google-analytics-stats-widget.php new file mode 100644 index 0000000..dfde6ac --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-analytics-stats-widget.php @@ -0,0 +1,243 @@ + 'widget_google_stats', 'description' => __("Displays Stat Info From Google Analytics", 'google-analyticator') ); + $control_ops = array('width' => 400, 'height' => 400); + $this->WP_Widget('googlestats', __('Google Analytics Stats', 'google-analyticator'), $widget_ops, $control_ops); + } + + function widget($args, $instance) { + extract($args); + $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title']); + $acnt = false; + $timeFrame = empty($instance['timeFrame']) ? '1' : $instance['timeFrame']; + $pageBg = empty($instance['pageBg']) ? 'fff' : $instance['pageBg']; + $widgetBg = empty($instance['widgetBg']) ? '999' : $instance['widgetBg']; + $innerBg = empty($instance['innerBg']) ? 'fff' : $instance['innerBg']; + $font = empty($instance['font']) ? '333' : $instance['font']; + $line1 = empty($instance['line1']) ? 'Unique' : $instance['line1']; + $line2 = empty($instance['line2']) ? 'Visitors' : $instance['line2']; + + # Before the widget + echo $before_widget; + + # The title + if ( $title ) + echo $before_title . $title . $after_title; + + # Make the stats chicklet + echo ''; + $this->initiateBackground($pageBg, $font); + $this->beginWidget($font, $widgetBg); + $this->widgetInfo($this->getUniqueVisitors($acnt, $timeFrame), $line1, $line2, $innerBg, $font); + $this->endWidget(); + + # After the widget + echo $after_widget; + } + + function update($new_instance, $old_instance) { + $instance = $old_instance; + $instance['title'] = strip_tags(stripslashes($new_instance['title'])); + $instance['account'] = strip_tags(stripslashes($new_instance['account'])); + $instance['timeFrame'] = strip_tags(stripslashes($new_instance['timeFrame'])); + $instance['pageBg'] = strip_tags(stripslashes($new_instance['pageBg'])); + $instance['widgetBg'] = strip_tags(stripslashes($new_instance['widgetBg'])); + $instance['innerBg'] = strip_tags(stripslashes($new_instance['innerBg'])); + $instance['font'] = strip_tags(stripslashes($new_instance['font'])); + $instance['line1'] = strip_tags(stripslashes($new_instance['line1'])); + $instance['line2'] = strip_tags(stripslashes($new_instance['line2'])); + + return $instance; + } + + function form($instance) { + //Defaults + $instance = wp_parse_args( (array) $instance, array('title'=>'', 'account'=>'', 'timeFrame'=>'1', 'pageBg'=>'fff', 'widgetBg'=>'999', 'innerBg'=>'fff', 'font'=>'333', 'line1'=>'Unique', 'line2'=>'Visitors') ); + + $title = htmlspecialchars($instance['title']); + $acnt = htmlspecialchars($instance['account']); + $timeFrame = htmlspecialchars($instance['timeFrame']); + $pageBg = htmlspecialchars($instance['pageBg']); + $widgetBg = htmlspecialchars($instance['widgetBg']); + $innerBg = htmlspecialchars($instance['innerBg']); + $font = htmlspecialchars($instance['font']); + $line1 = htmlspecialchars($instance['line1']); + $line2 = htmlspecialchars($instance['line2']); + + $accounts = array(); + + # Get the current memory limit + $current_mem_limit = substr(ini_get('memory_limit'), 0, -1); + + # Check if this limit is less than 96M, if so, increase it + if ( $current_mem_limit < 96 || $current_mem_limit == '' ) { + if ( function_exists('memory_get_usage') ) + @ini_set('memory_limit', '96M'); + } + + # Get the class for interacting with the Google Analytics + require_once('class.analytics.stats.php'); + + # Create a new Gdata call + $stats = new GoogleAnalyticsStats(); + + # Check if Google sucessfully logged in + $login = $stats->checkLogin(); + + if( !$login ) + return false; + + # Get a list of accounts + //$accounts = $stats->getAnalyticsAccounts(); + $accounts = $stats->getSingleProfile(); + + + + # Output the options + echo '

    '; + # Time frame + echo '

    '; + # Page background + echo '

    '; + # Widget background + echo '

    '; + # Inner background + echo '

    '; + # Font color + echo '

    '; + # Text line 1 + echo '

    '; + # Text line 2 + echo '

    '; + } + + /** + * This function is used to display the background color behind the widget. This is necessary + * for the Google Analytics text to have the same background color as the page. + * + * @param $font_color - Hexadecimal value for the font color used within the Widget (does not effect "Powered By Google Analytics Text"). This effects border color as well. + * @param $page_background_color - Hexadecimal value for the page background color + * @return void + **/ + function initiateBackground($page_background_color = 'FFF', $font_color = '000') + { + echo '
    '; + echo '
    '; + } + + /** + * This function starts the widget. The font color and widget background color are customizable. + * + * @param $font_color - Hexadecimal value for the font color used within the Widget (does not effect "Powered By Google Analytics Text"). This effects border color as well. + * @param $widget_background_color - Hexadecimal value for the widget background color. + * @return void + **/ + function beginWidget($font_color = '000', $widget_background_color = 'FFF') + { + echo ''; + } + + /** + * This function encases the text that appears on the right hand side of the widget. + * Both lines of text are customizable by each individual user. + * + * It also displays the visitor count that was pulled from the user's Google Analytics account. + * + * @param $visitor_count - Number of unique visits to the site pulled from the user's Google Analytics account. + * @param $line_one - First line of text displayed on the right hand side of the widget. + * @param $line_two - Second line of text displayed on the right hand side of the widget. + * @param $inner_background_color - Hexadecimal value for the background color that surrounds the Visitor Count. + * @param $font_color - Hexadecimal value for the font color used within the Widget (does not effect "Powered By Google Analytics Text"). This effects border color as well + * @return void + **/ + function widgetInfo($visitor_count, $line_one = 'Unique', $line_two = 'Visitors', $inner_background_color = 'FFF', $font_color = '000') + { + + echo ''; + + echo ''; + + } + + /** + * The function is used strictly for visual appearance. It also displays the Google Analytics text. + * + * @return void + **/ + function endWidget() + { + // This closes off the widget. + echo '
    '. $visitor_count . '
    ' . $line_one . '
    ' . $line_two . '
    '; + + // The following is used to displayed the "Powered By Google Anayltics" text. + echo '
    Powered By Google Analytics
    '; + } + + /** + * Grabs the cached value of the unique visits for the previous day + * + * @param account - the account to get the unique visitors from + * @param time - the amount of days to get + * @return void + **/ + function getUniqueVisitors($account, $time = 1) + { + // IF we have a cached version, return that, if not, continue on. + if ( get_transient( 'google_stats_uniques' ) ) + return get_transient( 'google_stats_uniques' ); + + # Get the class for interacting with the Google Analytics + require_once('class.analytics.stats.php'); + + # Create a new Gdata call + $stats = new GoogleAnalyticsStats(); + + # Check if Google sucessfully logged in + if ( ! $stats->checkLogin() ) + return false; + + $account = $stats->getSingleProfile(); + $account = $account[0]['id']; + + # Set the account to the one requested + $stats->setAccount($account); + + # Get the latest stats + $before = date('Y-m-d', strtotime('-' . $time . ' days')); + $yesterday = date('Y-m-d', strtotime('-1 day')); + + try{ + $result = $stats->getMetrics('ga:visitors', $before, $yesterday); + } + catch(Exception $e){ + print 'GA Widget - there was a service error ' . $e->getCode() . ':' . $e->getMessage(); + } + + $uniques = number_format($result->totalsForAllResults['ga:visitors']); + + # Store the array + set_transient( 'google_stats_uniques', $uniques, 60*60*12 ); + + # Return the visits + return $uniques; + } + +}// END class + +/** +* Register Google Analytics Stat Widget. +*/ +function GoogleStatsWidget_init() { + register_widget('GoogleStatsWidget'); +} + +add_action('widgets_init', 'GoogleStatsWidget_init'); diff --git a/wp-content/plugins/google-analyticator/google-analytics-summary-widget.php b/wp-content/plugins/google-analyticator/google-analytics-summary-widget.php new file mode 100644 index 0000000..7982853 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-analytics-summary-widget.php @@ -0,0 +1,660 @@ +qa_selecteddate = isset( $_REQUEST['qa_selecteddate'] ) ? wp_filter_kses( $_REQUEST['qa_selecteddate'] ) : '31'; + $this->date_before = date('Y-m-d', strtotime( '-'.$this->qa_selecteddate.' days', strtotime( current_time( 'mysql' ) ) ) ); + $this->date_yesterday = date('Y-m-d', strtotime( '-1 days', strtotime( current_time( 'mysql' ) ) ) ); + + add_action( 'wp_ajax_ga_stats_widget', array( $this, 'ajaxWidget' ) ); + } + + /** + * Add the widget to the dashboard + **/ + function addDashboardWidget() + { + # Check if the user is an admin + if (ga_current_user_is(get_option(key_ga_dashboard_role))) { + wp_add_dashboard_widget('google-analytics-summary', __('Google Analytics Summary', 'google-analyticator'), array( + $this, + 'widget' + )); + } + } + + /** + * Add the scripts to the admin + **/ + function addJavascript() + { + # Include the Sparklines graphing library + wp_enqueue_script('flot', plugins_url('/google-analyticator/jquery.flot.min.js'), array( + 'jquery' + ), '1.5.1'); + } + + /** + * Add the Javascript to the top + **/ + function addTopJs() + { +?> + +

    '; + echo '
    '; + echo ''; + } + + /** + * AJAX data for the widget + **/ + function ajaxWidget() + { + # Check the ajax widget + check_ajax_referer('google-analyticator-statsWidget_get'); + + # If WP_DEBUG is true,. + + $doing_transient = false; + + if ( ( defined('WP_DEBUG') && WP_DEBUG ) || ( false === ( $ga_output = get_transient( 'ga_admin_dashboard_'. GOOGLE_ANALYTICATOR_VERSION . $this->qa_selecteddate) ) ) ) { + ob_start(); + # Attempt to login and get the current account + $account = $this->getAnalyticsAccount(); + + $this->id = $account; + + $this->api->setAccount($this->id); + + # Check that we can display the widget before continuing + if ($account == false || $this->id == false) { + # Output error message + echo '

    ' . __('No Analytics account selected. Double check you are authenticated with Google on Google Analyticator\'s settings page and make sure an account is selected.', 'google-analyticator') . '

    '; + # Add Javascript variable to prevent breaking the Javascript + echo ''; + die; + } + + # Add the header information for the visits graph + // echo '

    ' . __('Visits Over the Past 30 Days', 'google-analyticator') . '

    '; + + # Add the sparkline for the past 30 days + $this->getVisitsGraph(); + + # Add the summary header + echo '

    ' . __('Site Usage', 'google-analyticator') . '

    '; + + # Add the visitor summary + $this->getSiteUsage(); + + # Add the top 5 posts header + echo '

    ' . __('Top Pages', 'google-analyticator') . '

    '; + + # Add the top 5 posts + $this->getTopPages(); + + # Add the tab information + echo '
    '; + + # Add the top 5 referrers header + echo '

    ' . __('Top Referrers', 'google-analyticator') . '

    '; + + # Add the referrer information + $this->getTopReferrers(); + + # Add the second column + echo '
    '; + + # Add the top 5 search header + echo '

    ' . __('Top Searches', 'google-analyticator') . '

    '; + + # Add the search information + $this->getTopSearches(); + + # Close the table + echo '
    '; + + + # Grab the above outputs and cache it! + $ga_output = ob_get_flush(); + + // Cache the admin dashboard for 6 hours at a time. + set_transient( 'ga_admin_dashboard_'. GOOGLE_ANALYTICATOR_VERSION . $this->qa_selecteddate , $ga_output, 60*60*6 ); + $doing_transient = true; + + } else { + $ga_output = get_transient( 'ga_admin_dashboard_'. GOOGLE_ANALYTICATOR_VERSION . $this->qa_selecteddate , $ga_output); + } + + if( ! $doing_transient ) + echo $ga_output; + + if( get_option( key_ga_show_ad ) ) { + echo '

    + + Learn how to use Google Analytics
    + To remove the guess work from your business

    '; + } + + die(); + } + + /** + * Get the current analytics account + * + * @return the analytics account + **/ + function getAnalyticsAccount() + { + $accounts = array(); + + # Get the class for interacting with the Google Analytics + require_once('class.analytics.stats.php'); + + # Create a new Gdata call + $this->api = new GoogleAnalyticsStats(); + + # Check if Google sucessfully logged in + if (!$this->api->checkLogin()) + return false; + + # Get a list of accounts + //$accounts = $this->api->getAnalyticsAccounts(); + $accounts = $this->api->getSingleProfile(); + + # Check if we actually have accounts + if (!is_array($accounts)) + return false; + + # Check if we have a list of accounts + if (count($accounts) <= 0) + return false; + + # Loop throught the account and return the current account + foreach ($accounts AS $account) { + # Check if the UID matches the selected UID + if ($account['ga:webPropertyId'] == get_option('ga_uid')) + return $account['id']; + } + + return false; + } + + /** + * Get the visitors graph + **/ + function getVisitsGraph() + { + # Get the metrics needed to build the visits graph; + + try { + $stats = $this->api->getMetrics('ga:visits', $this->date_before, $this->date_yesterday, 'ga:date', 'ga:date'); + } + catch (Exception $e) { + print 'GA Summary Widget - there was a service error ' . $e->getCode() . ':' . $e->getMessage(); + } + + # Create a list of the data points for graphing + $data = ''; + $data2 = ""; + $data3 = ""; + $max = 0; + + $rows = $stats->getRows(); + + # Check the size of the stats array + if (!isset($rows) || !is_array($rows) || count($rows) <= 0) { + $data = '0,0'; + } else { + $counter = 0; + foreach ($rows AS $stat) { + $counter++; + # Verify the number is numeric + if (is_numeric($stat[1])){ + $datestat = $stat[0]; + $date_str = substr($datestat, 0, 4) .'-'. substr($datestat, 4, -2).'-'. substr($datestat, 6, 8); + $data .= '['.$counter.', '.$stat[1] . '],'; + $data3 .= '"'. date("l, M. d, Y",strtotime($date_str, strtotime( current_time( 'mysql' ) ))) . '",'; // 20130120 + if($counter % 4 == 0){ + $data2 .= '['.$counter.', "'. date("M. d",strtotime($date_str, strtotime( current_time( 'mysql' ) ))) . '"],'; // 20130120 + } + + }else + $data .= '0,'; + + # Update the max value if greater + if ($max < $stat[1]) + $max = $stat[1]; + + } + + $yesterday_count = $rows[count($rows) - 1][1]; + + # Shorten the string to remove the last comma + $data = substr($data, 0, -1); + $data2 = substr($data2, 0, -1); + $data3 = substr($data3, 0, -1); + } + + # Add a fake stat if need be + if (!isset($stat[1])) + $stat[1] = 0; + + # Output the graph + $output = ''; + $output .= ''; + + echo $output; + } + + /** + * Get the site usage + **/ + function getSiteUsage() + { + # Get the metrics needed to build the usage table + $stats = $this->api->getMetrics('ga:visits,ga:bounces,ga:entrances,ga:pageviews,ga:timeOnSite,ga:newVisits', $this->date_before, $this->date_yesterday); + + # Create the site usage table + if (isset($stats->totalsForAllResults)) { ?> + + + + + totalsForAllResults['ga:entrances'] <= 0) { ?> + + + + + + + + + + totalsForAllResults['ga:visits'] <= 0) { ?> + + + + + + + + totalsForAllResults['ga:visits'] <= 0) { ?> + + + + + + totalsForAllResults['ga:visits'] <= 0) { ?> + + + + + + +
    totalsForAllResults['ga:visits']); ?>0.00%totalsForAllResults['ga:bounces'] / $stats->totalsForAllResults['ga:entrances']) * 100, 2), 2); ?>%
    totalsForAllResults['ga:pageviews']); ?>00:00:00sec2Time($stats->totalsForAllResults['ga:timeOnSite'] / $stats->totalsForAllResults['ga:visits']); ?>
    0.00totalsForAllResults['ga:pageviews'] / $stats->totalsForAllResults['ga:visits'], 2), 2); ?>0.00%totalsForAllResults['ga:newVisits'] / $stats->totalsForAllResults['ga:visits']) * 100, 2), 2); ?>%
    + api->getMetrics('ga:pageviews', $this->date_before, $this->date_yesterday, 'ga:pageTitle,ga:pagePath', '-ga:pageviews', 'ga:pagePath!=/', 10); //'ga:pagePath!%3D%2F' + $rows = $stats->getRows(); + + # Check the size of the stats array + if (count($rows) <= 0 || !is_array($rows)) { + $return = '

    ' . __('There is no data for view.', 'google-analyticator') . '

    '; + } else { + # Build the top pages list + $return = '
      '; + + # Set variables needed to correct (not set) bug + $new_stats = array(); + $notset_stats = array(); + + # Loop through each stat and create a new array + foreach ($rows AS $stat) { + # If the stat is not set + if ($stat[0] == '(not set)') { + # Add it to separate array + $notset_stats[] = $stat; + } else { + # Add it to new array with index set + $new_stats[$stat[1]] = $stat; + } + } + + # Loop through all the (not set) stats and attempt to add them to their correct stat + foreach ($notset_stats AS $stat) { + # If the stat has a "partner" + if ($new_stats[$stat[1]] != NULL) { + # Add the pageviews to the stat + $new_stats[$stat[1]][2] = $new_stats[$stat[1]][2] + $stat[2]; + } else { + # Stat goes to the ether since we couldn't find a partner (if anyone reads this and has a suggestion to improve, let me know) + } + } + + # Renew new_stats back to stats + $stats = $new_stats; + + # Sort the stats array, since adding the (not set) items may have changed the order + usort($stats, array( + $this, + 'statSort' + )); + + # Since we can no longer rely on the API as a limiter, we need to keep track of this ourselves + $stat_count = 0; + + # Loop through each stat for display + foreach ($stats AS $stat) { + $return .= '
    1. ' . esc_html($stat[0]) . ' - ' . number_format($stat[2]) . ' ' . __('Views', 'google-analyticator') . '
    2. '; + + # Increase the stat counter + $stat_count++; + + # Stop at 5 + if ($stat_count >= 5) + break; + } + + # Finish the list + $return .= '
    '; + } + echo $return; + } + + /** + * Get the top referrers + **/ + function getTopReferrers() + { + # Get the metrics needed to build the top referrers + $stats = $this->api->getMetrics('ga:visits', $this->date_before, $this->date_yesterday, 'ga:source,ga:medium', '-ga:visits', 'ga:medium==referral', '5'); + $rows = $stats->getRows(); + + # Check the size of the stats array + if (count($rows) <= 0 || !is_array($rows)) { + echo '

    ' . __('There is no data for view.', 'google-analyticator') . '

    '; + } else { + # Build the top pages list + echo '
      '; + + # Loop through each stat + foreach ($rows AS $stat) { + echo '
    1. ' . esc_html($stat[0]) . ' - ' . number_format($stat[2]) . ' ' . __('Visits', 'google-analyticator') . '
    2. '; + } + + # Finish the list + echo '
    '; + } + } + + /** + * Get the top searches + **/ + function getTopSearches() + { + # Get the metrics needed to build the top searches + $stats = $this->api->getMetrics('ga:visits', $this->date_before, $this->date_yesterday, 'ga:keyword', '-ga:visits', 'ga:keyword!=(not set)', '5'); //'ga:keyword!=(not_set)' + $rows = $stats->getRows(); + + # Check the size of the stats array + if (count($rows) <= 0 || !is_array($rows)) { + echo '

    ' . __('There is no data for view.', 'google-analyticator') . '

    '; + } else { + # Build the top pages list + echo '
      '; + # Loop through each stat + foreach ($rows AS $stat) { + echo '
    1. ' . esc_html($stat[0]) . ' - ' . number_format($stat[1]) . ' ' . __('Visits', 'google-analyticator') . '
    2. '; + } + # Finish the list + echo '
    '; + } + } + + /** + * Sort a set of stats in descending order + * + * @return how the stat should be sorted + **/ + function statSort($x, $y) + { + if ($x[2] == $y[2]) + return 0; + elseif ($x[2] < $y[2]) + return 1; + else + return -1; + } + + /** + * Convert second to a time format + **/ + function sec2Time($time) + { + # Check if numeric + if (is_numeric($time)) { + $value = array( + "years" => '00', + "days" => '00', + "hours" => '00', + "minutes" => '00', + "seconds" => '00' + ); + if ($time >= 31556926) { + $value["years"] = floor($time / 31556926); + $time = ($time % 31556926); + } + if ($time >= 86400) { + $value["days"] = floor($time / 86400); + $time = ($time % 86400); + } + if ($time >= 3600) { + $value["hours"] = str_pad(floor($time / 3600), 2, 0, STR_PAD_LEFT); + $time = ($time % 3600); + } + if ($time >= 60) { + $value["minutes"] = str_pad(floor($time / 60), 2, 0, STR_PAD_LEFT); + $time = ($time % 60); + } + $value["seconds"] = str_pad(floor($time), 2, 0, STR_PAD_LEFT); + + # Get the hour:minute:second version + return $value['hours'] . ':' . $value['minutes'] . ':' . $value['seconds']; + } else { + return false; + } + } +} // END class diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/LICENSE b/wp-content/plugins/google-analyticator/google-api-php-client/LICENSE new file mode 100644 index 0000000..a148ba5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/LICENSE @@ -0,0 +1,203 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + + diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/NOTICE b/wp-content/plugins/google-analyticator/google-api-php-client/NOTICE new file mode 100644 index 0000000..22d7cb5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/NOTICE @@ -0,0 +1,4 @@ +This product contains the following libraries: + +XRDS-Simple library from http://code.google.com/p/diso/ +Apache License 2.0 diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/README b/wp-content/plugins/google-analyticator/google-api-php-client/README new file mode 100644 index 0000000..42c42c0 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/README @@ -0,0 +1,40 @@ +Google APIs Client Library for PHP +===================================== + +== Description +The Google API Client Library enables you to work with Google APIs such as Google+, Drive, Tasks, or Latitude on your server. + +Requirements: + PHP 5.2.x or higher [http://www.php.net/] + PHP Curl extension [http://www.php.net/manual/en/intro.curl.php] + PHP JSON extension [http://php.net/manual/en/book.json.php] + +Project page: + http://code.google.com/p/google-api-php-client + +OAuth 2 instructions: + http://code.google.com/p/google-api-php-client/wiki/OAuth2 + +Report a defect or feature request here: + http://code.google.com/p/google-api-php-client/issues/entry + +Subscribe to project updates in your feed reader: + http://code.google.com/feeds/p/google-api-php-client/updates/basic + +Supported sample applications: + http://code.google.com/p/google-api-php-client/wiki/Samples + +== Basic Example + 'free-ebooks'); + $results = $service->volumes->listVolumes('Henry David Thoreau', $optParams); + + foreach ($results['items'] as $item) { + print($item['volumeInfo']['title'] . '
    '); + } diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/Google_Client.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/Google_Client.php new file mode 100644 index 0000000..4cc82f5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/Google_Client.php @@ -0,0 +1,471 @@ + + * @author Chirag Shah + */ +class Google_Client { + /** + * @static + * @var Google_Auth $auth + */ + static $auth; + + /** + * @static + * @var Google_IO $io + */ + static $io; + + /** + * @static + * @var Google_Cache $cache + */ + static $cache; + + /** + * @static + * @var boolean $useBatch + */ + static $useBatch = false; + + /** @var array $scopes */ + protected $scopes = array(); + + /** @var bool $useObjects */ + protected $useObjects = false; + + // definitions of services that are discovered. + protected $services = array(); + + // Used to track authenticated state, can't discover services after doing authenticate() + private $authenticated = false; + + public function __construct($config = array()) { + global $apiConfig; + $apiConfig = array_merge($apiConfig, $config); + self::$cache = new $apiConfig['cacheClass'](); + self::$auth = new $apiConfig['authClass'](); + self::$io = new $apiConfig['ioClass'](); + } + + /** + * Add a service + */ + public function addService($service, $version = false) { + global $apiConfig; + if ($this->authenticated) { + throw new Google_Exception('Cant add services after having authenticated'); + } + $this->services[$service] = array(); + if (isset($apiConfig['services'][$service])) { + // Merge the service descriptor with the default values + $this->services[$service] = array_merge($this->services[$service], $apiConfig['services'][$service]); + } + } + + public function authenticate($code = null) { + $service = $this->prepareService(); + $this->authenticated = true; + return self::$auth->authenticate($service, $code); + } + + /** + * @return array + * @visible For Testing + */ + public function prepareService() { + $service = array(); + $scopes = array(); + if ($this->scopes) { + $scopes = $this->scopes; + } else { + foreach ($this->services as $key => $val) { + if (isset($val['scope'])) { + if (is_array($val['scope'])) { + $scopes = array_merge($val['scope'], $scopes); + } else { + $scopes[] = $val['scope']; + } + } else { + $scopes[] = 'https://www.googleapis.com/auth/' . $key; + } + unset($val['discoveryURI']); + unset($val['scope']); + $service = array_merge($service, $val); + } + } + $service['scope'] = implode(' ', $scopes); + return $service; + } + + /** + * Set the OAuth 2.0 access token using the string that resulted from calling authenticate() + * or Google_Client#getAccessToken(). + * @param string $accessToken JSON encoded string containing in the following format: + * {"access_token":"TOKEN", "refresh_token":"TOKEN", "token_type":"Bearer", + * "expires_in":3600, "id_token":"TOKEN", "created":1320790426} + */ + public function setAccessToken($accessToken) { + if ($accessToken == null || 'null' == $accessToken) { + $accessToken = null; + } + self::$auth->setAccessToken($accessToken); + } + + /** + * Set the type of Auth class the client should use. + * @param string $authClassName + */ + public function setAuthClass($authClassName) { + self::$auth = new $authClassName(); + } + + /** + * Construct the OAuth 2.0 authorization request URI. + * @return string + */ + public function createAuthUrl() { + $service = $this->prepareService(); + return self::$auth->createAuthUrl($service['scope']); + } + + /** + * Get the OAuth 2.0 access token. + * @return string $accessToken JSON encoded string in the following format: + * {"access_token":"TOKEN", "refresh_token":"TOKEN", "token_type":"Bearer", + * "expires_in":3600,"id_token":"TOKEN", "created":1320790426} + */ + public function getAccessToken() { + $token = self::$auth->getAccessToken(); + return (null == $token || 'null' == $token) ? null : $token; + } + + /** + * Returns if the access_token is expired. + * @return bool Returns True if the access_token is expired. + */ + public function isAccessTokenExpired() { + return self::$auth->isAccessTokenExpired(); + } + + /** + * Set the developer key to use, these are obtained through the API Console. + * @see http://code.google.com/apis/console-help/#generatingdevkeys + * @param string $developerKey + */ + public function setDeveloperKey($developerKey) { + self::$auth->setDeveloperKey($developerKey); + } + + /** + * Set OAuth 2.0 "state" parameter to achieve per-request customization. + * @see http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-3.1.2.2 + * @param string $state + */ + public function setState($state) { + self::$auth->setState($state); + } + + /** + * @param string $accessType Possible values for access_type include: + * {@code "offline"} to request offline access from the user. (This is the default value) + * {@code "online"} to request online access from the user. + */ + public function setAccessType($accessType) { + self::$auth->setAccessType($accessType); + } + + /** + * @param string $approvalPrompt Possible values for approval_prompt include: + * {@code "force"} to force the approval UI to appear. (This is the default value) + * {@code "auto"} to request auto-approval when possible. + */ + public function setApprovalPrompt($approvalPrompt) { + self::$auth->setApprovalPrompt($approvalPrompt); + } + + /** + * Set the application name, this is included in the User-Agent HTTP header. + * @param string $applicationName + */ + public function setApplicationName($applicationName) { + global $apiConfig; + $apiConfig['application_name'] = $applicationName; + } + + /** + * Set the OAuth 2.0 Client ID. + * @param string $clientId + */ + public function setClientId($clientId) { + global $apiConfig; + $apiConfig['oauth2_client_id'] = $clientId; + self::$auth->clientId = $clientId; + } + + /** + * Get the OAuth 2.0 Client ID. + */ + public function getClientId() { + return self::$auth->clientId; + } + + /** + * Set the OAuth 2.0 Client Secret. + * @param string $clientSecret + */ + public function setClientSecret($clientSecret) { + global $apiConfig; + $apiConfig['oauth2_client_secret'] = $clientSecret; + self::$auth->clientSecret = $clientSecret; + } + + /** + * Get the OAuth 2.0 Client Secret. + */ + public function getClientSecret() { + return self::$auth->clientSecret; + } + + /** + * Set the OAuth 2.0 Redirect URI. + * @param string $redirectUri + */ + public function setRedirectUri($redirectUri) { + global $apiConfig; + $apiConfig['oauth2_redirect_uri'] = $redirectUri; + self::$auth->redirectUri = $redirectUri; + } + + /** + * Get the OAuth 2.0 Redirect URI. + */ + public function getRedirectUri() { + return self::$auth->redirectUri; + } + + /** + * Fetches a fresh OAuth 2.0 access token with the given refresh token. + * @param string $refreshToken + * @return void + */ + public function refreshToken($refreshToken) { + self::$auth->refreshToken($refreshToken); + } + + /** + * Revoke an OAuth2 access token or refresh token. This method will revoke the current access + * token, if a token isn't provided. + * @throws Google_AuthException + * @param string|null $token The token (access token or a refresh token) that should be revoked. + * @return boolean Returns True if the revocation was successful, otherwise False. + */ + public function revokeToken($token = null) { + self::$auth->revokeToken($token); + } + + /** + * Verify an id_token. This method will verify the current id_token, if one + * isn't provided. + * @throws Google_AuthException + * @param string|null $token The token (id_token) that should be verified. + * @return Google_LoginTicket Returns an apiLoginTicket if the verification was + * successful. + */ + public function verifyIdToken($token = null) { + return self::$auth->verifyIdToken($token); + } + + /** + * @param Google_AssertionCredentials $creds + * @return void + */ + public function setAssertionCredentials(Google_AssertionCredentials $creds) { + self::$auth->setAssertionCredentials($creds); + } + + /** + * This function allows you to overrule the automatically generated scopes, + * so that you can ask for more or less permission in the auth flow + * Set this before you call authenticate() though! + * @param array $scopes, ie: array('https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/moderator') + */ + public function setScopes($scopes) { + $this->scopes = is_string($scopes) ? explode(" ", $scopes) : $scopes; + } + + /** + * Returns the list of scopes set on the client + * @return array the list of scopes + * + */ + public function getScopes() { + return $this->scopes; + } + + /** + * If 'plus.login' is included in the list of requested scopes, you can use + * this method to define types of app activities that your app will write. + * You can find a list of available types here: + * @link https://developers.google.com/+/api/moment-types + * + * @param array $requestVisibleActions Array of app activity types + */ + public function setRequestVisibleActions($requestVisibleActions) { + self::$auth->requestVisibleActions = + join(" ", $requestVisibleActions); + } + + /** + * Declare if objects should be returned by the api service classes. + * + * @param boolean $useObjects True if objects should be returned by the service classes. + * False if associative arrays should be returned (default behavior). + * @experimental + */ + public function setUseObjects($useObjects) { + global $apiConfig; + $apiConfig['use_objects'] = $useObjects; + } + + /** + * Declare if objects should be returned by the api service classes. + * + * @param boolean $useBatch True if the experimental batch support should + * be enabled. Defaults to False. + * @experimental + */ + public function setUseBatch($useBatch) { + self::$useBatch = $useBatch; + } + + /** + * @static + * @return Google_Auth the implementation of apiAuth. + */ + public static function getAuth() { + return Google_Client::$auth; + } + + /** + * @static + * @return Google_IO the implementation of apiIo. + */ + public static function getIo() { + return Google_Client::$io; + } + + /** + * @return Google_Cache the implementation of apiCache. + */ + public function getCache() { + return Google_Client::$cache; + } +} + +// Exceptions that the Google PHP API Library can throw +class Google_Exception extends Exception {} +class Google_AuthException extends Google_Exception {} +class Google_CacheException extends Google_Exception {} +class Google_IOException extends Google_Exception {} +class Google_ServiceException extends Google_Exception { + /** + * Optional list of errors returned in a JSON body of an HTTP error response. + */ + protected $errors = array(); + + /** + * Override default constructor to add ability to set $errors. + * + * @param string $message + * @param int $code + * @param Exception|null $previous + * @param [{string, string}] errors List of errors returned in an HTTP + * response. Defaults to []. + */ + public function __construct($message, $code = 0, Exception $previous = null, + $errors = array()) { + if(version_compare(PHP_VERSION, '5.3.0') >= 0) { + parent::__construct($message, $code, $previous); + } else { + parent::__construct($message, $code); + } + + $this->errors = $errors; + } + + /** + * An example of the possible errors returned. + * + * { + * "domain": "global", + * "reason": "authError", + * "message": "Invalid Credentials", + * "locationType": "header", + * "location": "Authorization", + * } + * + * @return [{string, string}] List of errors return in an HTTP response or []. + */ + public function getErrors() { + return $this->errors; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_AssertionCredentials.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_AssertionCredentials.php new file mode 100644 index 0000000..7e37313 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_AssertionCredentials.php @@ -0,0 +1,103 @@ + + */ +class Google_AssertionCredentials { + const MAX_TOKEN_LIFETIME_SECS = 3600; + + public $serviceAccountName; + public $scopes; + public $privateKey; + public $privateKeyPassword; + public $assertionType; + public $sub; + /** + * @deprecated + * @link http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06 + */ + public $prn; + + /** + * @param $serviceAccountName + * @param $scopes array List of scopes + * @param $privateKey + * @param string $privateKeyPassword + * @param string $assertionType + * @param bool|string $sub The email address of the user for which the + * application is requesting delegated access. + */ + public function __construct( + $serviceAccountName, + $scopes, + $privateKey, + $privateKeyPassword = 'notasecret', + $assertionType = 'http://oauth.net/grant_type/jwt/1.0/bearer', + $sub = false) { + $this->serviceAccountName = $serviceAccountName; + $this->scopes = is_string($scopes) ? $scopes : implode(' ', $scopes); + $this->privateKey = $privateKey; + $this->privateKeyPassword = $privateKeyPassword; + $this->assertionType = $assertionType; + $this->sub = $sub; + $this->prn = $sub; + } + + public function generateAssertion() { + $now = time(); + + $jwtParams = array( + 'aud' => Google_OAuth2::OAUTH2_TOKEN_URI, + 'scope' => $this->scopes, + 'iat' => $now, + 'exp' => $now + self::MAX_TOKEN_LIFETIME_SECS, + 'iss' => $this->serviceAccountName, + ); + + if ($this->sub !== false) { + $jwtParams['sub'] = $this->sub; + } else if ($this->prn !== false) { + $jwtParams['prn'] = $this->prn; + } + + return $this->makeSignedJwt($jwtParams); + } + + /** + * Creates a signed JWT. + * @param array $payload + * @return string The signed JWT. + */ + private function makeSignedJwt($payload) { + $header = array('typ' => 'JWT', 'alg' => 'RS256'); + + $segments = array( + Google_Utils::urlSafeB64Encode(json_encode($header)), + Google_Utils::urlSafeB64Encode(json_encode($payload)) + ); + + $signingInput = implode('.', $segments); + $signer = new Google_P12Signer($this->privateKey, $this->privateKeyPassword); + $signature = $signer->sign($signingInput); + $segments[] = Google_Utils::urlSafeB64Encode($signature); + + return implode(".", $segments); + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Auth.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Auth.php new file mode 100644 index 0000000..010782d --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Auth.php @@ -0,0 +1,36 @@ + + * + */ +abstract class Google_Auth { + abstract public function authenticate($service); + abstract public function sign(Google_HttpRequest $request); + abstract public function createAuthUrl($scope); + + abstract public function getAccessToken(); + abstract public function setAccessToken($accessToken); + abstract public function setDeveloperKey($developerKey); + abstract public function refreshToken($refreshToken); + abstract public function revokeToken(); +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_AuthNone.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_AuthNone.php new file mode 100644 index 0000000..6ca6bc2 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_AuthNone.php @@ -0,0 +1,48 @@ + + * @author Chirag Shah + */ +class Google_AuthNone extends Google_Auth { + public $key = null; + + public function __construct() { + global $apiConfig; + if (!empty($apiConfig['developer_key'])) { + $this->setDeveloperKey($apiConfig['developer_key']); + } + } + + public function setDeveloperKey($key) {$this->key = $key;} + public function authenticate($service) {/*noop*/} + public function setAccessToken($accessToken) {/* noop*/} + public function getAccessToken() {return null;} + public function createAuthUrl($scope) {return null;} + public function refreshToken($refreshToken) {/* noop*/} + public function revokeToken() {/* noop*/} + + public function sign(Google_HttpRequest $request) { + if ($this->key) { + $request->setUrl($request->getUrl() . ((strpos($request->getUrl(), '?') === false) ? '?' : '&') + . 'key='.urlencode($this->key)); + } + return $request; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_LoginTicket.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_LoginTicket.php new file mode 100644 index 0000000..c0ce614 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_LoginTicket.php @@ -0,0 +1,63 @@ + + */ +class Google_LoginTicket { + const USER_ATTR = "id"; + + // Information from id token envelope. + private $envelope; + + // Information from id token payload. + private $payload; + + /** + * Creates a user based on the supplied token. + * + * @param string $envelope Header from a verified authentication token. + * @param string $payload Information from a verified authentication token. + */ + public function __construct($envelope, $payload) { + $this->envelope = $envelope; + $this->payload = $payload; + } + + /** + * Returns the numeric identifier for the user. + * @throws Google_AuthException + * @return + */ + public function getUserId() { + if (array_key_exists(self::USER_ATTR, $this->payload)) { + return $this->payload[self::USER_ATTR]; + } + throw new Google_AuthException("No user_id in token"); + } + + /** + * Returns attributes from the login ticket. This can contain + * various information about the user session. + * @return array + */ + public function getAttributes() { + return array("envelope" => $this->envelope, "payload" => $this->payload); + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_OAuth2.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_OAuth2.php new file mode 100644 index 0000000..22cb748 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_OAuth2.php @@ -0,0 +1,453 @@ + + * @author Chirag Shah + * + */ +class Google_OAuth2 extends Google_Auth { + public $clientId; + public $clientSecret; + public $developerKey; + public $token; + public $redirectUri; + public $state; + public $accessType = 'offline'; + public $approvalPrompt = 'force'; + public $requestVisibleActions; + + /** @var Google_AssertionCredentials $assertionCredentials */ + public $assertionCredentials; + + const OAUTH2_REVOKE_URI = 'https://accounts.google.com/o/oauth2/revoke'; + const OAUTH2_TOKEN_URI = 'https://accounts.google.com/o/oauth2/token'; + const OAUTH2_AUTH_URL = 'https://accounts.google.com/o/oauth2/auth'; + const OAUTH2_FEDERATED_SIGNON_CERTS_URL = 'https://www.googleapis.com/oauth2/v1/certs'; + const CLOCK_SKEW_SECS = 300; // five minutes in seconds + const AUTH_TOKEN_LIFETIME_SECS = 300; // five minutes in seconds + const MAX_TOKEN_LIFETIME_SECS = 86400; // one day in seconds + + /** + * Instantiates the class, but does not initiate the login flow, leaving it + * to the discretion of the caller (which is done by calling authenticate()). + */ + public function __construct() { + global $apiConfig; + + if (! empty($apiConfig['developer_key'])) { + $this->developerKey = $apiConfig['developer_key']; + } + + if (! empty($apiConfig['oauth2_client_id'])) { + $this->clientId = $apiConfig['oauth2_client_id']; + } + + if (! empty($apiConfig['oauth2_client_secret'])) { + $this->clientSecret = $apiConfig['oauth2_client_secret']; + } + + if (! empty($apiConfig['oauth2_redirect_uri'])) { + $this->redirectUri = $apiConfig['oauth2_redirect_uri']; + } + + if (! empty($apiConfig['oauth2_access_type'])) { + $this->accessType = $apiConfig['oauth2_access_type']; + } + + if (! empty($apiConfig['oauth2_approval_prompt'])) { + $this->approvalPrompt = $apiConfig['oauth2_approval_prompt']; + } + + } + + /** + * @param $service + * @param string|null $code + * @throws Google_AuthException + * @return string + */ + public function authenticate($service, $code = null) { + if (!$code && isset($_GET['code'])) { + $code = $_GET['code']; + } + + if ($code) { + // We got here from the redirect from a successful authorization grant, fetch the access token + $request = Google_Client::$io->makeRequest(new Google_HttpRequest(self::OAUTH2_TOKEN_URI, 'POST', array(), array( + 'code' => $code, + 'grant_type' => 'authorization_code', + 'redirect_uri' => $this->redirectUri, + 'client_id' => $this->clientId, + 'client_secret' => $this->clientSecret + ))); + + if ($request->getResponseHttpCode() == 200) { + $this->setAccessToken($request->getResponseBody()); + $this->token['created'] = time(); + return $this->getAccessToken(); + } else { + $response = $request->getResponseBody(); + $decodedResponse = json_decode($response, true); + if ($decodedResponse != null && $decodedResponse['error']) { + $response = $decodedResponse['error']; + } + throw new Google_AuthException("Error fetching OAuth2 access token, message: '$response'", $request->getResponseHttpCode()); + } + } + + $authUrl = $this->createAuthUrl($service['scope']); + header('Location: ' . $authUrl); + return true; + } + + /** + * Create a URL to obtain user authorization. + * The authorization endpoint allows the user to first + * authenticate, and then grant/deny the access request. + * @param string $scope The scope is expressed as a list of space-delimited strings. + * @return string + */ + public function createAuthUrl($scope) { + $params = array( + 'response_type=code', + 'redirect_uri=' . urlencode($this->redirectUri), + 'client_id=' . urlencode($this->clientId), + 'scope=' . urlencode($scope), + 'access_type=' . urlencode($this->accessType), + 'approval_prompt=' . urlencode($this->approvalPrompt), + ); + + // if the list of scopes contains plus.login, add request_visible_actions + // to auth URL + if(strpos($scope, 'plus.login') && count($this->requestVisibleActions) > 0) { + $params[] = 'request_visible_actions=' . + urlencode($this->requestVisibleActions); + } + + if (isset($this->state)) { + $params[] = 'state=' . urlencode($this->state); + } + $params = implode('&', $params); + return self::OAUTH2_AUTH_URL . "?$params"; + } + + /** + * @param string $token + * @throws Google_AuthException + */ + public function setAccessToken($token) { + $token = json_decode($token, true); + if ($token == null) { + throw new Google_AuthException('Could not json decode the token'); + } + if (! isset($token['access_token'])) { + throw new Google_AuthException("Invalid token format"); + } + $this->token = $token; + } + + public function getAccessToken() { + return json_encode($this->token); + } + + public function setDeveloperKey($developerKey) { + $this->developerKey = $developerKey; + } + + public function setState($state) { + $this->state = $state; + } + + public function setAccessType($accessType) { + $this->accessType = $accessType; + } + + public function setApprovalPrompt($approvalPrompt) { + $this->approvalPrompt = $approvalPrompt; + } + + public function setAssertionCredentials(Google_AssertionCredentials $creds) { + $this->assertionCredentials = $creds; + } + + /** + * Include an accessToken in a given apiHttpRequest. + * @param Google_HttpRequest $request + * @return Google_HttpRequest + * @throws Google_AuthException + */ + public function sign(Google_HttpRequest $request) { + // add the developer key to the request before signing it + if ($this->developerKey) { + $requestUrl = $request->getUrl(); + $requestUrl .= (strpos($request->getUrl(), '?') === false) ? '?' : '&'; + $requestUrl .= 'key=' . urlencode($this->developerKey); + $request->setUrl($requestUrl); + } + + // Cannot sign the request without an OAuth access token. + if (null == $this->token && null == $this->assertionCredentials) { + return $request; + } + + // Check if the token is set to expire in the next 30 seconds + // (or has already expired). + if ($this->isAccessTokenExpired()) { + if ($this->assertionCredentials) { + $this->refreshTokenWithAssertion(); + } else { + if (! array_key_exists('refresh_token', $this->token)) { + throw new Google_AuthException("The OAuth 2.0 access token has expired, " + . "and a refresh token is not available. Refresh tokens are not " + . "returned for responses that were auto-approved."); + } + $this->refreshToken($this->token['refresh_token']); + } + } + + // Add the OAuth2 header to the request + $request->setRequestHeaders( + array('Authorization' => 'Bearer ' . $this->token['access_token']) + ); + + return $request; + } + + /** + * Fetches a fresh access token with the given refresh token. + * @param string $refreshToken + * @return void + */ + public function refreshToken($refreshToken) { + $this->refreshTokenRequest(array( + 'client_id' => $this->clientId, + 'client_secret' => $this->clientSecret, + 'refresh_token' => $refreshToken, + 'grant_type' => 'refresh_token' + )); + } + + /** + * Fetches a fresh access token with a given assertion token. + * @param Google_AssertionCredentials $assertionCredentials optional. + * @return void + */ + public function refreshTokenWithAssertion($assertionCredentials = null) { + if (!$assertionCredentials) { + $assertionCredentials = $this->assertionCredentials; + } + + $this->refreshTokenRequest(array( + 'grant_type' => 'assertion', + 'assertion_type' => $assertionCredentials->assertionType, + 'assertion' => $assertionCredentials->generateAssertion(), + )); + } + + private function refreshTokenRequest($params) { + $http = new Google_HttpRequest(self::OAUTH2_TOKEN_URI, 'POST', array(), $params); + $request = Google_Client::$io->makeRequest($http); + + $code = $request->getResponseHttpCode(); + $body = $request->getResponseBody(); + if (200 == $code) { + $token = json_decode($body, true); + if ($token == null) { + throw new Google_AuthException("Could not json decode the access token"); + } + + if (! isset($token['access_token']) || ! isset($token['expires_in'])) { + throw new Google_AuthException("Invalid token format"); + } + + $this->token['access_token'] = $token['access_token']; + $this->token['expires_in'] = $token['expires_in']; + $this->token['created'] = time(); + } else { + throw new Google_AuthException("Error refreshing the OAuth2 token, message: '$body'", $code); + } + } + + /** + * Revoke an OAuth2 access token or refresh token. This method will revoke the current access + * token, if a token isn't provided. + * @throws Google_AuthException + * @param string|null $token The token (access token or a refresh token) that should be revoked. + * @return boolean Returns True if the revocation was successful, otherwise False. + */ + public function revokeToken($token = null) { + if (!$token) { + $token = $this->token['access_token']; + } + $request = new Google_HttpRequest(self::OAUTH2_REVOKE_URI, 'POST', array(), "token=$token"); + $response = Google_Client::$io->makeRequest($request); + $code = $response->getResponseHttpCode(); + if ($code == 200) { + $this->token = null; + return true; + } + + return false; + } + + /** + * Returns if the access_token is expired. + * @return bool Returns True if the access_token is expired. + */ + public function isAccessTokenExpired() { + if (null == $this->token) { + return true; + } + + // If the token is set to expire in the next 30 seconds. + $expired = ($this->token['created'] + + ($this->token['expires_in'] - 30)) < time(); + + return $expired; + } + + // Gets federated sign-on certificates to use for verifying identity tokens. + // Returns certs as array structure, where keys are key ids, and values + // are PEM encoded certificates. + private function getFederatedSignOnCerts() { + // This relies on makeRequest caching certificate responses. + $request = Google_Client::$io->makeRequest(new Google_HttpRequest( + self::OAUTH2_FEDERATED_SIGNON_CERTS_URL)); + if ($request->getResponseHttpCode() == 200) { + $certs = json_decode($request->getResponseBody(), true); + if ($certs) { + return $certs; + } + } + throw new Google_AuthException( + "Failed to retrieve verification certificates: '" . + $request->getResponseBody() . "'.", + $request->getResponseHttpCode()); + } + + /** + * Verifies an id token and returns the authenticated apiLoginTicket. + * Throws an exception if the id token is not valid. + * The audience parameter can be used to control which id tokens are + * accepted. By default, the id token must have been issued to this OAuth2 client. + * + * @param $id_token + * @param $audience + * @return Google_LoginTicket + */ + public function verifyIdToken($id_token = null, $audience = null) { + if (!$id_token) { + $id_token = $this->token['id_token']; + } + + $certs = $this->getFederatedSignonCerts(); + if (!$audience) { + $audience = $this->clientId; + } + return $this->verifySignedJwtWithCerts($id_token, $certs, $audience); + } + + // Verifies the id token, returns the verified token contents. + // Visible for testing. + function verifySignedJwtWithCerts($jwt, $certs, $required_audience) { + $segments = explode(".", $jwt); + if (count($segments) != 3) { + throw new Google_AuthException("Wrong number of segments in token: $jwt"); + } + $signed = $segments[0] . "." . $segments[1]; + $signature = Google_Utils::urlSafeB64Decode($segments[2]); + + // Parse envelope. + $envelope = json_decode(Google_Utils::urlSafeB64Decode($segments[0]), true); + if (!$envelope) { + throw new Google_AuthException("Can't parse token envelope: " . $segments[0]); + } + + // Parse token + $json_body = Google_Utils::urlSafeB64Decode($segments[1]); + $payload = json_decode($json_body, true); + if (!$payload) { + throw new Google_AuthException("Can't parse token payload: " . $segments[1]); + } + + // Check signature + $verified = false; + foreach ($certs as $keyName => $pem) { + $public_key = new Google_PemVerifier($pem); + if ($public_key->verify($signed, $signature)) { + $verified = true; + break; + } + } + + if (!$verified) { + throw new Google_AuthException("Invalid token signature: $jwt"); + } + + // Check issued-at timestamp + $iat = 0; + if (array_key_exists("iat", $payload)) { + $iat = $payload["iat"]; + } + if (!$iat) { + throw new Google_AuthException("No issue time in token: $json_body"); + } + $earliest = $iat - self::CLOCK_SKEW_SECS; + + // Check expiration timestamp + $now = time(); + $exp = 0; + if (array_key_exists("exp", $payload)) { + $exp = $payload["exp"]; + } + if (!$exp) { + throw new Google_AuthException("No expiration time in token: $json_body"); + } + if ($exp >= $now + self::MAX_TOKEN_LIFETIME_SECS) { + throw new Google_AuthException( + "Expiration time too far in future: $json_body"); + } + + $latest = $exp + self::CLOCK_SKEW_SECS; + if ($now < $earliest) { + throw new Google_AuthException( + "Token used too early, $now < $earliest: $json_body"); + } + if ($now > $latest) { + throw new Google_AuthException( + "Token used too late, $now > $latest: $json_body"); + } + + // TODO(beaton): check issuer field? + + // Check audience + $aud = $payload["aud"]; + if ($aud != $required_audience) { + throw new Google_AuthException("Wrong recipient, $aud != $required_audience: $json_body"); + } + + // All good. + return new Google_LoginTicket($envelope, $payload); + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_P12Signer.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_P12Signer.php new file mode 100644 index 0000000..1bed590 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_P12Signer.php @@ -0,0 +1,70 @@ + + */ +class Google_P12Signer extends Google_Signer { + // OpenSSL private key resource + private $privateKey; + + // Creates a new signer from a .p12 file. + function __construct($p12, $password) { + if (!function_exists('openssl_x509_read')) { + throw new Exception( + 'The Google PHP API library needs the openssl PHP extension'); + } + + // This throws on error + $certs = array(); + if (!openssl_pkcs12_read($p12, $certs, $password)) { + throw new Google_AuthException("Unable to parse the p12 file. " . + "Is this a .p12 file? Is the password correct? OpenSSL error: " . + openssl_error_string()); + } + // TODO(beaton): is this part of the contract for the openssl_pkcs12_read + // method? What happens if there are multiple private keys? Do we care? + if (!array_key_exists("pkey", $certs) || !$certs["pkey"]) { + throw new Google_AuthException("No private key found in p12 file."); + } + $this->privateKey = openssl_pkey_get_private($certs["pkey"]); + if (!$this->privateKey) { + throw new Google_AuthException("Unable to load private key in "); + } + } + + function __destruct() { + if ($this->privateKey) { + openssl_pkey_free($this->privateKey); + } + } + + function sign($data) { + if(version_compare(PHP_VERSION, '5.3.0') < 0) { + throw new Google_AuthException( + "PHP 5.3.0 or higher is required to use service accounts."); + } + if (!openssl_sign($data, $signature, $this->privateKey, "sha256")) { + throw new Google_AuthException("Unable to sign data"); + } + return $signature; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_PemVerifier.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_PemVerifier.php new file mode 100644 index 0000000..6c1c85f --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_PemVerifier.php @@ -0,0 +1,66 @@ + + */ +class Google_PemVerifier extends Google_Verifier { + private $publicKey; + + /** + * Constructs a verifier from the supplied PEM-encoded certificate. + * + * $pem: a PEM encoded certificate (not a file). + * @param $pem + * @throws Google_AuthException + * @throws Google_Exception + */ + function __construct($pem) { + if (!function_exists('openssl_x509_read')) { + throw new Google_Exception('Google API PHP client needs the openssl PHP extension'); + } + $this->publicKey = openssl_x509_read($pem); + if (!$this->publicKey) { + throw new Google_AuthException("Unable to parse PEM: $pem"); + } + } + + function __destruct() { + if ($this->publicKey) { + openssl_x509_free($this->publicKey); + } + } + + /** + * Verifies the signature on data. + * + * Returns true if the signature is valid, false otherwise. + * @param $data + * @param $signature + * @throws Google_AuthException + * @return bool + */ + function verify($data, $signature) { + $status = openssl_verify($data, $signature, $this->publicKey, "sha256"); + if ($status === -1) { + throw new Google_AuthException('Signature verification error: ' . openssl_error_string()); + } + return $status === 1; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Signer.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Signer.php new file mode 100644 index 0000000..7892baa --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Signer.php @@ -0,0 +1,30 @@ + + */ +abstract class Google_Signer { + /** + * Signs data, returns the signature as binary data. + */ + abstract public function sign($data); +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Verifier.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Verifier.php new file mode 100644 index 0000000..2839a37 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/auth/Google_Verifier.php @@ -0,0 +1,31 @@ + + */ +abstract class Google_Verifier { + /** + * Checks a signature, returns true if the signature is correct, + * false otherwise. + */ + abstract public function verify($data, $signature); +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_ApcCache.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_ApcCache.php new file mode 100644 index 0000000..8616731 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_ApcCache.php @@ -0,0 +1,98 @@ + + */ +class Google_APCCache extends Google_Cache { + + public function __construct() { + if (! function_exists('apc_add')) { + throw new Google_CacheException("Apc functions not available"); + } + } + + private function isLocked($key) { + if ((@apc_fetch($key . '.lock')) === false) { + return false; + } + return true; + } + + private function createLock($key) { + // the interesting thing is that this could fail if the lock was created in the meantime.. + // but we'll ignore that out of convenience + @apc_add($key . '.lock', '', 5); + } + + private function removeLock($key) { + // suppress all warnings, if some other process removed it that's ok too + @apc_delete($key . '.lock'); + } + + private function waitForLock($key) { + // 20 x 250 = 5 seconds + $tries = 20; + $cnt = 0; + do { + // 250 ms is a long time to sleep, but it does stop the server from burning all resources on polling locks.. + usleep(250); + $cnt ++; + } while ($cnt <= $tries && $this->isLocked($key)); + if ($this->isLocked($key)) { + // 5 seconds passed, assume the owning process died off and remove it + $this->removeLock($key); + } + } + + /** + * @inheritDoc + */ + public function get($key, $expiration = false) { + + if (($ret = @apc_fetch($key)) === false) { + return false; + } + if (!$expiration || (time() - $ret['time'] > $expiration)) { + $this->delete($key); + return false; + } + return unserialize($ret['data']); + } + + /** + * @inheritDoc + */ + public function set($key, $value) { + if (@apc_store($key, array('time' => time(), 'data' => serialize($value))) == false) { + throw new Google_CacheException("Couldn't store data"); + } + } + + /** + * @inheritDoc + * @param String $key + */ + public function delete($key) { + @apc_delete($key); + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_Cache.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_Cache.php new file mode 100644 index 0000000..809c55e --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_Cache.php @@ -0,0 +1,55 @@ + + */ +abstract class Google_Cache { + + /** + * Retrieves the data for the given key, or false if they + * key is unknown or expired + * + * @param String $key The key who's data to retrieve + * @param boolean|int $expiration Expiration time in seconds + * + */ + abstract function get($key, $expiration = false); + + /** + * Store the key => $value set. The $value is serialized + * by this function so can be of any type + * + * @param string $key Key of the data + * @param string $value data + */ + abstract function set($key, $value); + + /** + * Removes the key/data pair for the given $key + * + * @param String $key + */ + abstract function delete($key); +} + + diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_FileCache.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_FileCache.php new file mode 100644 index 0000000..1e32859 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_FileCache.php @@ -0,0 +1,137 @@ + + */ +class Google_FileCache extends Google_Cache { + private $path; + + public function __construct() { + global $apiConfig; + $this->path = $apiConfig['ioFileCache_directory']; + } + + private function isLocked($storageFile) { + // our lock file convention is simple: /the/file/path.lock + return file_exists($storageFile . '.lock'); + } + + private function createLock($storageFile) { + $storageDir = dirname($storageFile); + if (! is_dir($storageDir)) { + // @codeCoverageIgnoreStart + if (! @mkdir($storageDir, 0755, true)) { + // make sure the failure isn't because of a concurrency issue + if (! is_dir($storageDir)) { + throw new Google_CacheException("Could not create storage directory: $storageDir"); + } + } + // @codeCoverageIgnoreEnd + } + @touch($storageFile . '.lock'); + } + + private function removeLock($storageFile) { + // suppress all warnings, if some other process removed it that's ok too + @unlink($storageFile . '.lock'); + } + + private function waitForLock($storageFile) { + // 20 x 250 = 5 seconds + $tries = 20; + $cnt = 0; + do { + // make sure PHP picks up on file changes. This is an expensive action but really can't be avoided + clearstatcache(); + // 250 ms is a long time to sleep, but it does stop the server from burning all resources on polling locks.. + usleep(250); + $cnt ++; + } while ($cnt <= $tries && $this->isLocked($storageFile)); + if ($this->isLocked($storageFile)) { + // 5 seconds passed, assume the owning process died off and remove it + $this->removeLock($storageFile); + } + } + + private function getCacheDir($hash) { + // use the first 2 characters of the hash as a directory prefix + // this should prevent slowdowns due to huge directory listings + // and thus give some basic amount of scalability + return $this->path . '/' . substr($hash, 0, 2); + } + + private function getCacheFile($hash) { + return $this->getCacheDir($hash) . '/' . $hash; + } + + public function get($key, $expiration = false) { + $storageFile = $this->getCacheFile(md5($key)); + // See if this storage file is locked, if so we wait up to 5 seconds for the lock owning process to + // complete it's work. If the lock is not released within that time frame, it's cleaned up. + // This should give us a fair amount of 'Cache Stampeding' protection + if ($this->isLocked($storageFile)) { + $this->waitForLock($storageFile); + } + if (file_exists($storageFile) && is_readable($storageFile)) { + $now = time(); + if (! $expiration || (($mtime = @filemtime($storageFile)) !== false && ($now - $mtime) < $expiration)) { + if (($data = @file_get_contents($storageFile)) !== false) { + $data = unserialize($data); + return $data; + } + } + } + return false; + } + + public function set($key, $value) { + $storageDir = $this->getCacheDir(md5($key)); + $storageFile = $this->getCacheFile(md5($key)); + if ($this->isLocked($storageFile)) { + // some other process is writing to this file too, wait until it's done to prevent hiccups + $this->waitForLock($storageFile); + } + if (! is_dir($storageDir)) { + if (! @mkdir($storageDir, 0755, true)) { + throw new Google_CacheException("Could not create storage directory: $storageDir"); + } + } + // we serialize the whole request object, since we don't only want the + // responseContent but also the postBody used, headers, size, etc + $data = serialize($value); + $this->createLock($storageFile); + if (! @file_put_contents($storageFile, $data)) { + $this->removeLock($storageFile); + throw new Google_CacheException("Could not store data in the file"); + } + $this->removeLock($storageFile); + } + + public function delete($key) { + $file = $this->getCacheFile(md5($key)); + if (! @unlink($file)) { + throw new Google_CacheException("Cache file could not be deleted"); + } + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_MemcacheCache.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_MemcacheCache.php new file mode 100644 index 0000000..04cf596 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/cache/Google_MemcacheCache.php @@ -0,0 +1,130 @@ + + */ +class Google_MemcacheCache extends Google_Cache { + private $connection = false; + + public function __construct() { + global $apiConfig; + if (! function_exists('memcache_connect')) { + throw new Google_CacheException("Memcache functions not available"); + } + $this->host = $apiConfig['ioMemCacheCache_host']; + $this->port = $apiConfig['ioMemCacheCache_port']; + if (empty($this->host) || empty($this->port)) { + throw new Google_CacheException("You need to supply a valid memcache host and port"); + } + } + + private function isLocked($key) { + $this->check(); + if ((@memcache_get($this->connection, $key . '.lock')) === false) { + return false; + } + return true; + } + + private function createLock($key) { + $this->check(); + // the interesting thing is that this could fail if the lock was created in the meantime.. + // but we'll ignore that out of convenience + @memcache_add($this->connection, $key . '.lock', '', 0, 5); + } + + private function removeLock($key) { + $this->check(); + // suppress all warnings, if some other process removed it that's ok too + @memcache_delete($this->connection, $key . '.lock'); + } + + private function waitForLock($key) { + $this->check(); + // 20 x 250 = 5 seconds + $tries = 20; + $cnt = 0; + do { + // 250 ms is a long time to sleep, but it does stop the server from burning all resources on polling locks.. + usleep(250); + $cnt ++; + } while ($cnt <= $tries && $this->isLocked($key)); + if ($this->isLocked($key)) { + // 5 seconds passed, assume the owning process died off and remove it + $this->removeLock($key); + } + } + + // I prefer lazy initialization since the cache isn't used every request + // so this potentially saves a lot of overhead + private function connect() { + if (! $this->connection = @memcache_pconnect($this->host, $this->port)) { + throw new Google_CacheException("Couldn't connect to memcache server"); + } + } + + private function check() { + if (! $this->connection) { + $this->connect(); + } + } + + /** + * @inheritDoc + */ + public function get($key, $expiration = false) { + $this->check(); + if (($ret = @memcache_get($this->connection, $key)) === false) { + return false; + } + if (is_numeric($expiration) && (time() - $ret['time'] > $expiration)) { + $this->delete($key); + return false; + } + return $ret['data']; + } + + /** + * @inheritDoc + * @param string $key + * @param string $value + * @throws Google_CacheException + */ + public function set($key, $value) { + $this->check(); + // we store it with the cache_time default expiration so objects will at least get cleaned eventually. + if (@memcache_set($this->connection, $key, array('time' => time(), + 'data' => $value), false) == false) { + throw new Google_CacheException("Couldn't store data in cache"); + } + } + + /** + * @inheritDoc + * @param String $key + */ + public function delete($key) { + $this->check(); + @memcache_delete($this->connection, $key); + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/config.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/config.php new file mode 100644 index 0000000..e3a5713 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/config.php @@ -0,0 +1,81 @@ + false, + + // The application_name is included in the User-Agent HTTP header. + 'application_name' => '', + + // OAuth2 Settings, you can get these keys at https://code.google.com/apis/console + 'oauth2_client_id' => '', + 'oauth2_client_secret' => '', + 'oauth2_redirect_uri' => '', + + // The developer key, you get this at https://code.google.com/apis/console + 'developer_key' => '', + + // Site name to show in the Google's OAuth 1 authentication screen. + 'site_name' => 'www.example.org', + + // Which Authentication, Storage and HTTP IO classes to use. + 'authClass' => 'Google_OAuth2', + 'ioClass' => 'Google_CurlIO', + 'cacheClass' => 'Google_FileCache', + + // Don't change these unless you're working against a special development or testing environment. + 'basePath' => 'https://www.googleapis.com', + + // IO Class dependent configuration, you only have to configure the values + // for the class that was configured as the ioClass above + 'ioFileCache_directory' => + (function_exists('sys_get_temp_dir') ? + sys_get_temp_dir() . '/Google_Client' : + '/tmp/Google_Client'), + + // Definition of service specific values like scopes, oauth token URLs, etc + 'services' => array( + 'analytics' => array('scope' => 'https://www.googleapis.com/auth/analytics.readonly'), + 'calendar' => array( + 'scope' => array( + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.readonly", + ) + ), + 'books' => array('scope' => 'https://www.googleapis.com/auth/books'), + 'latitude' => array( + 'scope' => array( + 'https://www.googleapis.com/auth/latitude.all.best', + 'https://www.googleapis.com/auth/latitude.all.city', + ) + ), + 'moderator' => array('scope' => 'https://www.googleapis.com/auth/moderator'), + 'oauth2' => array( + 'scope' => array( + 'https://www.googleapis.com/auth/userinfo.profile', + 'https://www.googleapis.com/auth/userinfo.email', + ) + ), + 'plus' => array('scope' => 'https://www.googleapis.com/auth/plus.login'), + 'siteVerification' => array('scope' => 'https://www.googleapis.com/auth/siteverification'), + 'tasks' => array('scope' => 'https://www.googleapis.com/auth/tasks'), + 'urlshortener' => array('scope' => 'https://www.googleapis.com/auth/urlshortener') + ) +); diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdExchangeSellerService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdExchangeSellerService.php new file mode 100644 index 0000000..600bba7 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdExchangeSellerService.php @@ -0,0 +1,1262 @@ + + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $accounts = $adexchangesellerService->accounts; + * + */ + class google_AccountsServiceResource extends Google_ServiceResource { + + /** + * Get information about the selected Ad Exchange account. (accounts.get) + * + * @param string $accountId Account to get information about. Tip: 'myaccount' is a valid ID. + * @param array $optParams Optional parameters. + * @return google_Account + */ + public function get($accountId, $optParams = array()) { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new google_Account($data); + } else { + return $data; + } + } + } + + /** + * The "adclients" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $adclients = $adexchangesellerService->adclients; + * + */ + class google_AdclientsServiceResource extends Google_ServiceResource { + + /** + * List all ad clients in this Ad Exchange account. (adclients.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of ad clients to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_AdClients + */ + public function listAdclients($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_AdClients($data); + } else { + return $data; + } + } + } + + /** + * The "adunits" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $adunits = $adexchangesellerService->adunits; + * + */ + class google_AdunitsServiceResource extends Google_ServiceResource { + + /** + * Gets the specified ad unit in the specified ad client. (adunits.get) + * + * @param string $adClientId Ad client for which to get the ad unit. + * @param string $adUnitId Ad unit to retrieve. + * @param array $optParams Optional parameters. + * @return google_AdUnit + */ + public function get($adClientId, $adUnitId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new google_AdUnit($data); + } else { + return $data; + } + } + /** + * List all ad units in the specified ad client for this Ad Exchange account. + * (adunits.list) + * + * @param string $adClientId Ad client for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. Default: true. + * @opt_param string maxResults The maximum number of ad units to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_AdUnits + */ + public function listAdunits($adClientId, $optParams = array()) { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_AdUnits($data); + } else { + return $data; + } + } + } + + /** + * The "customchannels" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $customchannels = $adexchangesellerService->customchannels; + * + */ + class google_AdunitsCustomchannelsServiceResource extends Google_ServiceResource { + + /** + * List all custom channels which the specified ad unit belongs to. + * (customchannels.list) + * + * @param string $adClientId Ad client which contains the ad unit. + * @param string $adUnitId Ad unit for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of custom channels to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_CustomChannels + */ + public function listAdunitsCustomchannels($adClientId, $adUnitId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_CustomChannels($data); + } else { + return $data; + } + } + } + + /** + * The "alerts" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $alerts = $adexchangesellerService->alerts; + * + */ + class google_AlertsServiceResource extends Google_ServiceResource { + + /** + * List the alerts for this Ad Exchange account. (alerts.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale to use for translating alert messages. The account locale will be used if this is not supplied. The AdSense default (English) will be used if the supplied locale is invalid or unsupported. + * @return google_Alerts + */ + public function listAlerts($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_Alerts($data); + } else { + return $data; + } + } + } + + /** + * The "customchannels" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $customchannels = $adexchangesellerService->customchannels; + * + */ + class google_CustomchannelsServiceResource extends Google_ServiceResource { + + /** + * Get the specified custom channel from the specified ad client. + * (customchannels.get) + * + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel to retrieve. + * @param array $optParams Optional parameters. + * @return google_CustomChannel + */ + public function get($adClientId, $customChannelId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new google_CustomChannel($data); + } else { + return $data; + } + } + /** + * List all custom channels in the specified ad client for this Ad Exchange + * account. (customchannels.list) + * + * @param string $adClientId Ad client for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of custom channels to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_CustomChannels + */ + public function listCustomchannels($adClientId, $optParams = array()) { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_CustomChannels($data); + } else { + return $data; + } + } + } + + /** + * The "adunits" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $adunits = $adexchangesellerService->adunits; + * + */ + class google_CustomchannelsAdunitsServiceResource extends Google_ServiceResource { + + /** + * List all ad units in the specified custom channel. (adunits.list) + * + * @param string $adClientId Ad client which contains the custom channel. + * @param string $customChannelId Custom channel for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. Default: true. + * @opt_param string maxResults The maximum number of ad units to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_AdUnits + */ + public function listCustomchannelsAdunits($adClientId, $customChannelId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_AdUnits($data); + } else { + return $data; + } + } + } + + /** + * The "metadata" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $metadata = $adexchangesellerService->metadata; + * + */ + class google_MetadataServiceResource extends Google_ServiceResource { + + } + + /** + * The "dimensions" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $dimensions = $adexchangesellerService->dimensions; + * + */ + class google_MetadataDimensionsServiceResource extends Google_ServiceResource { + + /** + * List the metadata for the dimensions available to this AdExchange account. + * (dimensions.list) + * + * @param array $optParams Optional parameters. + * @return google_Metadata + */ + public function listMetadataDimensions($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_Metadata($data); + } else { + return $data; + } + } + } + /** + * The "metrics" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $metrics = $adexchangesellerService->metrics; + * + */ + class google_MetadataMetricsServiceResource extends Google_ServiceResource { + + /** + * List the metadata for the metrics available to this AdExchange account. + * (metrics.list) + * + * @param array $optParams Optional parameters. + * @return google_Metadata + */ + public function listMetadataMetrics($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_Metadata($data); + } else { + return $data; + } + } + } + + /** + * The "preferreddeals" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $preferreddeals = $adexchangesellerService->preferreddeals; + * + */ + class google_PreferreddealsServiceResource extends Google_ServiceResource { + + /** + * Get information about the selected Ad Exchange Preferred Deal. + * (preferreddeals.get) + * + * @param string $dealId Preferred deal to get information about. + * @param array $optParams Optional parameters. + * @return google_PreferredDeal + */ + public function get($dealId, $optParams = array()) { + $params = array('dealId' => $dealId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new google_PreferredDeal($data); + } else { + return $data; + } + } + /** + * List the preferred deals for this Ad Exchange account. (preferreddeals.list) + * + * @param array $optParams Optional parameters. + * @return google_PreferredDeals + */ + public function listPreferreddeals($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_PreferredDeals($data); + } else { + return $data; + } + } + } + + /** + * The "reports" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $reports = $adexchangesellerService->reports; + * + */ + class google_ReportsServiceResource extends Google_ServiceResource { + + /** + * Generate an Ad Exchange report based on the report request sent in the query + * parameters. Returns the result as JSON; to retrieve output in CSV format + * specify "alt=csv" as a query parameter. (reports.generate) + * + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @opt_param string maxResults The maximum number of rows of report data to return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param string startIndex Index of the first row of report data to return. + * @return google_Report + */ + public function generate($startDate, $endDate, $optParams = array()) { + $params = array('startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + $data = $this->__call('generate', array($params)); + if ($this->useObjects()) { + return new google_Report($data); + } else { + return $data; + } + } + } + + /** + * The "saved" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $saved = $adexchangesellerService->saved; + * + */ + class google_ReportsSavedServiceResource extends Google_ServiceResource { + + /** + * Generate an Ad Exchange report based on the saved report ID sent in the query + * parameters. (saved.generate) + * + * @param string $savedReportId The saved report to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @opt_param int maxResults The maximum number of rows of report data to return. + * @opt_param int startIndex Index of the first row of report data to return. + * @return google_Report + */ + public function generate($savedReportId, $optParams = array()) { + $params = array('savedReportId' => $savedReportId); + $params = array_merge($params, $optParams); + $data = $this->__call('generate', array($params)); + if ($this->useObjects()) { + return new google_Report($data); + } else { + return $data; + } + } + /** + * List all saved reports in this Ad Exchange account. (saved.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of saved reports to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through saved reports. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_SavedReports + */ + public function listReportsSaved($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_SavedReports($data); + } else { + return $data; + } + } + } + + /** + * The "urlchannels" collection of methods. + * Typical usage is: + * + * $adexchangesellerService = new google_AdExchangeSellerService(...); + * $urlchannels = $adexchangesellerService->urlchannels; + * + */ + class google_UrlchannelsServiceResource extends Google_ServiceResource { + + /** + * List all URL channels in the specified ad client for this Ad Exchange + * account. (urlchannels.list) + * + * @param string $adClientId Ad client for which to list URL channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of URL channels to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return google_UrlChannels + */ + public function listUrlchannels($adClientId, $optParams = array()) { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new google_UrlChannels($data); + } else { + return $data; + } + } + } + +/** + * Service definition for google_AdExchangeSeller (v1.1). + * + *

    + * Gives Ad Exchange seller users access to their inventory and the ability to generate reports + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class google_AdExchangeSellerService extends Google_Service { + public $accounts; + public $adclients; + public $adunits; + public $adunits_customchannels; + public $alerts; + public $customchannels; + public $customchannels_adunits; + public $metadata_dimensions; + public $metadata_metrics; + public $preferreddeals; + public $reports; + public $reports_saved; + public $urlchannels; + /** + * Constructs the internal representation of the AdExchangeSeller service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'adexchangeseller/v1.1/'; + $this->version = 'v1.1'; + $this->serviceName = 'adexchangeseller'; + + $client->addService($this->serviceName, $this->version); + $this->accounts = new google_AccountsServiceResource($this, $this->serviceName, 'accounts', json_decode('{"methods": {"get": {"id": "adexchangeseller.accounts.get", "path": "accounts/{accountId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Account"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->adclients = new google_AdclientsServiceResource($this, $this->serviceName, 'adclients', json_decode('{"methods": {"list": {"id": "adexchangeseller.adclients.list", "path": "adclients", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AdClients"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->adunits = new google_AdunitsServiceResource($this, $this->serviceName, 'adunits', json_decode('{"methods": {"get": {"id": "adexchangeseller.adunits.get", "path": "adclients/{adClientId}/adunits/{adUnitId}", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "adUnitId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AdUnit"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}, "list": {"id": "adexchangeseller.adunits.list", "path": "adclients/{adClientId}/adunits", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "includeInactive": {"type": "boolean", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AdUnits"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->adunits_customchannels = new google_AdunitsCustomchannelsServiceResource($this, $this->serviceName, 'customchannels', json_decode('{"methods": {"list": {"id": "adexchangeseller.adunits.customchannels.list", "path": "adclients/{adClientId}/adunits/{adUnitId}/customchannels", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "adUnitId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CustomChannels"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->alerts = new google_AlertsServiceResource($this, $this->serviceName, 'alerts', json_decode('{"methods": {"list": {"id": "adexchangeseller.alerts.list", "path": "alerts", "httpMethod": "GET", "parameters": {"locale": {"type": "string", "location": "query"}}, "response": {"$ref": "Alerts"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->customchannels = new google_CustomchannelsServiceResource($this, $this->serviceName, 'customchannels', json_decode('{"methods": {"get": {"id": "adexchangeseller.customchannels.get", "path": "adclients/{adClientId}/customchannels/{customChannelId}", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "customChannelId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CustomChannel"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}, "list": {"id": "adexchangeseller.customchannels.list", "path": "adclients/{adClientId}/customchannels", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CustomChannels"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->customchannels_adunits = new google_CustomchannelsAdunitsServiceResource($this, $this->serviceName, 'adunits', json_decode('{"methods": {"list": {"id": "adexchangeseller.customchannels.adunits.list", "path": "adclients/{adClientId}/customchannels/{customChannelId}/adunits", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "customChannelId": {"type": "string", "required": true, "location": "path"}, "includeInactive": {"type": "boolean", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AdUnits"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->metadata_dimensions = new google_MetadataDimensionsServiceResource($this, $this->serviceName, 'dimensions', json_decode('{"methods": {"list": {"id": "adexchangeseller.metadata.dimensions.list", "path": "metadata/dimensions", "httpMethod": "GET", "response": {"$ref": "Metadata"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->metadata_metrics = new google_MetadataMetricsServiceResource($this, $this->serviceName, 'metrics', json_decode('{"methods": {"list": {"id": "adexchangeseller.metadata.metrics.list", "path": "metadata/metrics", "httpMethod": "GET", "response": {"$ref": "Metadata"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->preferreddeals = new google_PreferreddealsServiceResource($this, $this->serviceName, 'preferreddeals', json_decode('{"methods": {"get": {"id": "adexchangeseller.preferreddeals.get", "path": "preferreddeals/{dealId}", "httpMethod": "GET", "parameters": {"dealId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PreferredDeal"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}, "list": {"id": "adexchangeseller.preferreddeals.list", "path": "preferreddeals", "httpMethod": "GET", "response": {"$ref": "PreferredDeals"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->reports = new google_ReportsServiceResource($this, $this->serviceName, 'reports', json_decode('{"methods": {"generate": {"id": "adexchangeseller.reports.generate", "path": "reports", "httpMethod": "GET", "parameters": {"dimension": {"type": "string", "repeated": true, "location": "query"}, "endDate": {"type": "string", "required": true, "location": "query"}, "filter": {"type": "string", "repeated": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "50000", "location": "query"}, "metric": {"type": "string", "repeated": true, "location": "query"}, "sort": {"type": "string", "repeated": true, "location": "query"}, "startDate": {"type": "string", "required": true, "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "5000", "location": "query"}}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"], "supportsMediaDownload": true}}}', true)); + $this->reports_saved = new google_ReportsSavedServiceResource($this, $this->serviceName, 'saved', json_decode('{"methods": {"generate": {"id": "adexchangeseller.reports.saved.generate", "path": "reports/{savedReportId}", "httpMethod": "GET", "parameters": {"locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "50000", "location": "query"}, "savedReportId": {"type": "string", "required": true, "location": "path"}, "startIndex": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "5000", "location": "query"}}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}, "list": {"id": "adexchangeseller.reports.saved.list", "path": "reports/saved", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "SavedReports"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + $this->urlchannels = new google_UrlchannelsServiceResource($this, $this->serviceName, 'urlchannels', json_decode('{"methods": {"list": {"id": "adexchangeseller.urlchannels.list", "path": "adclients/{adClientId}/urlchannels", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "UrlChannels"}, "scopes": ["https://www.googleapis.com/auth/adexchange.seller", "https://www.googleapis.com/auth/adexchange.seller.readonly"]}}}', true)); + + } +} + + + +class google_Account extends Google_Model { + public $id; + public $kind; + public $name; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class google_AdClient extends Google_Model { + public $arcOptIn; + public $id; + public $kind; + public $productCode; + public $supportsReporting; + public function setArcOptIn( $arcOptIn) { + $this->arcOptIn = $arcOptIn; + } + public function getArcOptIn() { + return $this->arcOptIn; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProductCode( $productCode) { + $this->productCode = $productCode; + } + public function getProductCode() { + return $this->productCode; + } + public function setSupportsReporting( $supportsReporting) { + $this->supportsReporting = $supportsReporting; + } + public function getSupportsReporting() { + return $this->supportsReporting; + } +} + +class google_AdClients extends Google_Model { + public $etag; + protected $__itemsType = 'Google_AdClient'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(google_AdClient) */ $items) { + $this->assertIsArray($items, 'google_AdClient', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class google_AdUnit extends Google_Model { + public $code; + public $id; + public $kind; + public $name; + public $status; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class google_AdUnits extends Google_Model { + public $etag; + protected $__itemsType = 'Google_AdUnit'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(google_AdUnit) */ $items) { + $this->assertIsArray($items, 'google_AdUnit', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class google_Alert extends Google_Model { + public $id; + public $kind; + public $message; + public $severity; + public $type; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } + public function setSeverity( $severity) { + $this->severity = $severity; + } + public function getSeverity() { + return $this->severity; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class google_Alerts extends Google_Model { + protected $__itemsType = 'Google_Alert'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(google_Alert) */ $items) { + $this->assertIsArray($items, 'google_Alert', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class google_CustomChannel extends Google_Model { + public $code; + public $id; + public $kind; + public $name; + protected $__targetingInfoType = 'Google_CustomChannelTargetingInfo'; + protected $__targetingInfoDataType = ''; + public $targetingInfo; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setTargetingInfo(Google_CustomChannelTargetingInfo $targetingInfo) { + $this->targetingInfo = $targetingInfo; + } + public function getTargetingInfo() { + return $this->targetingInfo; + } +} + +class google_CustomChannelTargetingInfo extends Google_Model { + public $adsAppearOn; + public $description; + public $location; + public $siteLanguage; + public function setAdsAppearOn( $adsAppearOn) { + $this->adsAppearOn = $adsAppearOn; + } + public function getAdsAppearOn() { + return $this->adsAppearOn; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setSiteLanguage( $siteLanguage) { + $this->siteLanguage = $siteLanguage; + } + public function getSiteLanguage() { + return $this->siteLanguage; + } +} + +class google_CustomChannels extends Google_Model { + public $etag; + protected $__itemsType = 'Google_CustomChannel'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(google_CustomChannel) */ $items) { + $this->assertIsArray($items, 'google_CustomChannel', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class google_Metadata extends Google_Model { + protected $__itemsType = 'Google_ReportingMetadataEntry'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(google_ReportingMetadataEntry) */ $items) { + $this->assertIsArray($items, 'google_ReportingMetadataEntry', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class google_PreferredDeal extends Google_Model { + public $advertiserName; + public $buyerNetworkName; + public $currencyCode; + public $endTime; + public $fixedCpm; + public $id; + public $kind; + public $startTime; + public function setAdvertiserName( $advertiserName) { + $this->advertiserName = $advertiserName; + } + public function getAdvertiserName() { + return $this->advertiserName; + } + public function setBuyerNetworkName( $buyerNetworkName) { + $this->buyerNetworkName = $buyerNetworkName; + } + public function getBuyerNetworkName() { + return $this->buyerNetworkName; + } + public function setCurrencyCode( $currencyCode) { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() { + return $this->currencyCode; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setFixedCpm( $fixedCpm) { + $this->fixedCpm = $fixedCpm; + } + public function getFixedCpm() { + return $this->fixedCpm; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } +} + +class google_PreferredDeals extends Google_Model { + protected $__itemsType = 'Google_PreferredDeal'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(google_PreferredDeal) */ $items) { + $this->assertIsArray($items, 'google_PreferredDeal', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class google_Report extends Google_Model { + public $averages; + protected $__headersType = 'Google_ReportHeaders'; + protected $__headersDataType = 'array'; + public $headers; + public $kind; + public $rows; + public $totalMatchedRows; + public $totals; + public $warnings; + public function setAverages(/* array(google_string) */ $averages) { + $this->assertIsArray($averages, 'google_string', __METHOD__); + $this->averages = $averages; + } + public function getAverages() { + return $this->averages; + } + public function setHeaders(/* array(google_ReportHeaders) */ $headers) { + $this->assertIsArray($headers, 'google_ReportHeaders', __METHOD__); + $this->headers = $headers; + } + public function getHeaders() { + return $this->headers; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRows(/* array(google_string) */ $rows) { + $this->assertIsArray($rows, 'google_string', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setTotalMatchedRows( $totalMatchedRows) { + $this->totalMatchedRows = $totalMatchedRows; + } + public function getTotalMatchedRows() { + return $this->totalMatchedRows; + } + public function setTotals(/* array(google_string) */ $totals) { + $this->assertIsArray($totals, 'google_string', __METHOD__); + $this->totals = $totals; + } + public function getTotals() { + return $this->totals; + } + public function setWarnings(/* array(google_string) */ $warnings) { + $this->assertIsArray($warnings, 'google_string', __METHOD__); + $this->warnings = $warnings; + } + public function getWarnings() { + return $this->warnings; + } +} + +class google_ReportHeaders extends Google_Model { + public $currency; + public $name; + public $type; + public function setCurrency( $currency) { + $this->currency = $currency; + } + public function getCurrency() { + return $this->currency; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class google_ReportingMetadataEntry extends Google_Model { + public $compatibleDimensions; + public $compatibleMetrics; + public $id; + public $kind; + public $requiredDimensions; + public $requiredMetrics; + public $supportedProducts; + public function setCompatibleDimensions(/* array(google_string) */ $compatibleDimensions) { + $this->assertIsArray($compatibleDimensions, 'google_string', __METHOD__); + $this->compatibleDimensions = $compatibleDimensions; + } + public function getCompatibleDimensions() { + return $this->compatibleDimensions; + } + public function setCompatibleMetrics(/* array(google_string) */ $compatibleMetrics) { + $this->assertIsArray($compatibleMetrics, 'google_string', __METHOD__); + $this->compatibleMetrics = $compatibleMetrics; + } + public function getCompatibleMetrics() { + return $this->compatibleMetrics; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRequiredDimensions(/* array(google_string) */ $requiredDimensions) { + $this->assertIsArray($requiredDimensions, 'google_string', __METHOD__); + $this->requiredDimensions = $requiredDimensions; + } + public function getRequiredDimensions() { + return $this->requiredDimensions; + } + public function setRequiredMetrics(/* array(google_string) */ $requiredMetrics) { + $this->assertIsArray($requiredMetrics, 'google_string', __METHOD__); + $this->requiredMetrics = $requiredMetrics; + } + public function getRequiredMetrics() { + return $this->requiredMetrics; + } + public function setSupportedProducts(/* array(google_string) */ $supportedProducts) { + $this->assertIsArray($supportedProducts, 'google_string', __METHOD__); + $this->supportedProducts = $supportedProducts; + } + public function getSupportedProducts() { + return $this->supportedProducts; + } +} + +class google_SavedReport extends Google_Model { + public $id; + public $kind; + public $name; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class google_SavedReports extends Google_Model { + public $etag; + protected $__itemsType = 'Google_SavedReport'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(google_SavedReport) */ $items) { + $this->assertIsArray($items, 'google_SavedReport', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class google_UrlChannel extends Google_Model { + public $id; + public $kind; + public $urlPattern; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUrlPattern( $urlPattern) { + $this->urlPattern = $urlPattern; + } + public function getUrlPattern() { + return $this->urlPattern; + } +} + +class google_UrlChannels extends Google_Model { + public $etag; + protected $__itemsType = 'Google_UrlChannel'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(google_UrlChannel) */ $items) { + $this->assertIsArray($items, 'google_UrlChannel', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdexchangebuyerService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdexchangebuyerService.php new file mode 100644 index 0000000..c0da0f2 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdexchangebuyerService.php @@ -0,0 +1,705 @@ + + * $adexchangebuyerService = new Google_AdexchangebuyerService(...); + * $accounts = $adexchangebuyerService->accounts; + * + */ + class Google_AccountsServiceResource extends Google_ServiceResource { + + /** + * Gets one account by ID. (accounts.get) + * + * @param int $id The account id + * @param array $optParams Optional parameters. + * @return Google_Account + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Account($data); + } else { + return $data; + } + } + /** + * Retrieves the authenticated user's list of accounts. (accounts.list) + * + * @param array $optParams Optional parameters. + * @return Google_AccountsList + */ + public function listAccounts($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AccountsList($data); + } else { + return $data; + } + } + /** + * Updates an existing account. This method supports patch semantics. (accounts.patch) + * + * @param int $id The account id + * @param Google_Account $postBody + * @param array $optParams Optional parameters. + * @return Google_Account + */ + public function patch($id, Google_Account $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Account($data); + } else { + return $data; + } + } + /** + * Updates an existing account. (accounts.update) + * + * @param int $id The account id + * @param Google_Account $postBody + * @param array $optParams Optional parameters. + * @return Google_Account + */ + public function update($id, Google_Account $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Account($data); + } else { + return $data; + } + } + } + + /** + * The "creatives" collection of methods. + * Typical usage is: + * + * $adexchangebuyerService = new Google_AdexchangebuyerService(...); + * $creatives = $adexchangebuyerService->creatives; + * + */ + class Google_CreativesServiceResource extends Google_ServiceResource { + + /** + * Gets the status for a single creative. (creatives.get) + * + * @param int $accountId The id for the account that will serve this creative. + * @param string $buyerCreativeId The buyer-specific id for this creative. + * @param array $optParams Optional parameters. + * @return Google_Creative + */ + public function get($accountId, $buyerCreativeId, $optParams = array()) { + $params = array('accountId' => $accountId, 'buyerCreativeId' => $buyerCreativeId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Creative($data); + } else { + return $data; + } + } + /** + * Submit a new creative. (creatives.insert) + * + * @param Google_Creative $postBody + * @param array $optParams Optional parameters. + * @return Google_Creative + */ + public function insert(Google_Creative $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Creative($data); + } else { + return $data; + } + } + /** + * Retrieves a list of the authenticated user's active creatives. (creatives.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of entries returned on one result page. If not set, the default is 100. Optional. + * @opt_param string pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional. + * @opt_param string statusFilter When specified, only creatives having the given status are returned. + * @return Google_CreativesList + */ + public function listCreatives($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CreativesList($data); + } else { + return $data; + } + } + } + + /** + * The "directDeals" collection of methods. + * Typical usage is: + * + * $adexchangebuyerService = new Google_AdexchangebuyerService(...); + * $directDeals = $adexchangebuyerService->directDeals; + * + */ + class Google_DirectDealsServiceResource extends Google_ServiceResource { + + /** + * Gets one direct deal by ID. (directDeals.get) + * + * @param string $id The direct deal id + * @param array $optParams Optional parameters. + * @return Google_DirectDeal + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_DirectDeal($data); + } else { + return $data; + } + } + /** + * Retrieves the authenticated user's list of direct deals. (directDeals.list) + * + * @param array $optParams Optional parameters. + * @return Google_DirectDealsList + */ + public function listDirectDeals($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_DirectDealsList($data); + } else { + return $data; + } + } + } + + /** + * The "performanceReport" collection of methods. + * Typical usage is: + * + * $adexchangebuyerService = new Google_AdexchangebuyerService(...); + * $performanceReport = $adexchangebuyerService->performanceReport; + * + */ + class Google_PerformanceReportServiceResource extends Google_ServiceResource { + + /** + * Retrieves the authenticated user's list of performance metrics. (performanceReport.list) + * + * @param string $accountId The account id to get the reports for. + * @param string $endDateTime The end time for the reports. + * @param string $startDateTime The start time for the reports. + * @param array $optParams Optional parameters. + * @return Google_PerformanceReportList + */ + public function listPerformanceReport($accountId, $endDateTime, $startDateTime, $optParams = array()) { + $params = array('accountId' => $accountId, 'endDateTime' => $endDateTime, 'startDateTime' => $startDateTime); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PerformanceReportList($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Adexchangebuyer (v1.2). + * + *

    + * Lets you manage your Ad Exchange Buyer account. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_AdexchangebuyerService extends Google_Service { + public $accounts; + public $creatives; + public $directDeals; + public $performanceReport; + /** + * Constructs the internal representation of the Adexchangebuyer service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'adexchangebuyer/v1.2/'; + $this->version = 'v1.2'; + $this->serviceName = 'adexchangebuyer'; + + $client->addService($this->serviceName, $this->version); + $this->accounts = new Google_AccountsServiceResource($this, $this->serviceName, 'accounts', json_decode('{"methods": {"get": {"id": "adexchangebuyer.accounts.get", "path": "accounts/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "response": {"$ref": "Account"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}, "list": {"id": "adexchangebuyer.accounts.list", "path": "accounts", "httpMethod": "GET", "response": {"$ref": "AccountsList"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}, "patch": {"id": "adexchangebuyer.accounts.patch", "path": "accounts/{id}", "httpMethod": "PATCH", "parameters": {"id": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "request": {"$ref": "Account"}, "response": {"$ref": "Account"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}, "update": {"id": "adexchangebuyer.accounts.update", "path": "accounts/{id}", "httpMethod": "PUT", "parameters": {"id": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "request": {"$ref": "Account"}, "response": {"$ref": "Account"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}}}', true)); + $this->creatives = new Google_CreativesServiceResource($this, $this->serviceName, 'creatives', json_decode('{"methods": {"get": {"id": "adexchangebuyer.creatives.get", "path": "creatives/{accountId}/{buyerCreativeId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "buyerCreativeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Creative"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}, "insert": {"id": "adexchangebuyer.creatives.insert", "path": "creatives", "httpMethod": "POST", "request": {"$ref": "Creative"}, "response": {"$ref": "Creative"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}, "list": {"id": "adexchangebuyer.creatives.list", "path": "creatives", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "maximum": "1000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "statusFilter": {"type": "string", "enum": ["approved", "disapproved", "not_checked"], "location": "query"}}, "response": {"$ref": "CreativesList"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}}}', true)); + $this->directDeals = new Google_DirectDealsServiceResource($this, $this->serviceName, 'directDeals', json_decode('{"methods": {"get": {"id": "adexchangebuyer.directDeals.get", "path": "directdeals/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "DirectDeal"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}, "list": {"id": "adexchangebuyer.directDeals.list", "path": "directdeals", "httpMethod": "GET", "response": {"$ref": "DirectDealsList"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}}}', true)); + $this->performanceReport = new Google_PerformanceReportServiceResource($this, $this->serviceName, 'performanceReport', json_decode('{"methods": {"list": {"id": "adexchangebuyer.performanceReport.list", "path": "performancereport", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "format": "int64", "location": "query"}, "endDateTime": {"type": "string", "required": true, "format": "int64", "location": "query"}, "startDateTime": {"type": "string", "required": true, "format": "int64", "location": "query"}}, "response": {"$ref": "PerformanceReportList"}, "scopes": ["https://www.googleapis.com/auth/adexchange.buyer"]}}}', true)); + + } +} + + + +class Google_Account extends Google_Model { + protected $__bidderLocationType = 'Google_AccountBidderLocation'; + protected $__bidderLocationDataType = 'array'; + public $bidderLocation; + public $cookieMatchingNid; + public $cookieMatchingUrl; + public $id; + public $kind; + public $maximumTotalQps; + public function setBidderLocation(/* array(Google_AccountBidderLocation) */ $bidderLocation) { + $this->assertIsArray($bidderLocation, 'Google_AccountBidderLocation', __METHOD__); + $this->bidderLocation = $bidderLocation; + } + public function getBidderLocation() { + return $this->bidderLocation; + } + public function setCookieMatchingNid( $cookieMatchingNid) { + $this->cookieMatchingNid = $cookieMatchingNid; + } + public function getCookieMatchingNid() { + return $this->cookieMatchingNid; + } + public function setCookieMatchingUrl( $cookieMatchingUrl) { + $this->cookieMatchingUrl = $cookieMatchingUrl; + } + public function getCookieMatchingUrl() { + return $this->cookieMatchingUrl; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaximumTotalQps( $maximumTotalQps) { + $this->maximumTotalQps = $maximumTotalQps; + } + public function getMaximumTotalQps() { + return $this->maximumTotalQps; + } +} + +class Google_AccountBidderLocation extends Google_Model { + public $maximumQps; + public $region; + public $url; + public function setMaximumQps( $maximumQps) { + $this->maximumQps = $maximumQps; + } + public function getMaximumQps() { + return $this->maximumQps; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_AccountsList extends Google_Model { + protected $__itemsType = 'Google_Account'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Account) */ $items) { + $this->assertIsArray($items, 'Google_Account', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Creative extends Google_Model { + public $HTMLSnippet; + public $accountId; + public $advertiserId; + public $advertiserName; + public $agencyId; + public $attribute; + public $buyerCreativeId; + public $clickThroughUrl; + protected $__disapprovalReasonsType = 'Google_CreativeDisapprovalReasons'; + protected $__disapprovalReasonsDataType = 'array'; + public $disapprovalReasons; + public $height; + public $kind; + public $productCategories; + public $sensitiveCategories; + public $status; + public $vendorType; + public $videoURL; + public $width; + public function setHTMLSnippet( $HTMLSnippet) { + $this->HTMLSnippet = $HTMLSnippet; + } + public function getHTMLSnippet() { + return $this->HTMLSnippet; + } + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setAdvertiserId(/* array(Google_string) */ $advertiserId) { + $this->assertIsArray($advertiserId, 'Google_string', __METHOD__); + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() { + return $this->advertiserId; + } + public function setAdvertiserName( $advertiserName) { + $this->advertiserName = $advertiserName; + } + public function getAdvertiserName() { + return $this->advertiserName; + } + public function setAgencyId( $agencyId) { + $this->agencyId = $agencyId; + } + public function getAgencyId() { + return $this->agencyId; + } + public function setAttribute(/* array(Google_int) */ $attribute) { + $this->assertIsArray($attribute, 'Google_int', __METHOD__); + $this->attribute = $attribute; + } + public function getAttribute() { + return $this->attribute; + } + public function setBuyerCreativeId( $buyerCreativeId) { + $this->buyerCreativeId = $buyerCreativeId; + } + public function getBuyerCreativeId() { + return $this->buyerCreativeId; + } + public function setClickThroughUrl(/* array(Google_string) */ $clickThroughUrl) { + $this->assertIsArray($clickThroughUrl, 'Google_string', __METHOD__); + $this->clickThroughUrl = $clickThroughUrl; + } + public function getClickThroughUrl() { + return $this->clickThroughUrl; + } + public function setDisapprovalReasons(/* array(Google_CreativeDisapprovalReasons) */ $disapprovalReasons) { + $this->assertIsArray($disapprovalReasons, 'Google_CreativeDisapprovalReasons', __METHOD__); + $this->disapprovalReasons = $disapprovalReasons; + } + public function getDisapprovalReasons() { + return $this->disapprovalReasons; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProductCategories(/* array(Google_int) */ $productCategories) { + $this->assertIsArray($productCategories, 'Google_int', __METHOD__); + $this->productCategories = $productCategories; + } + public function getProductCategories() { + return $this->productCategories; + } + public function setSensitiveCategories(/* array(Google_int) */ $sensitiveCategories) { + $this->assertIsArray($sensitiveCategories, 'Google_int', __METHOD__); + $this->sensitiveCategories = $sensitiveCategories; + } + public function getSensitiveCategories() { + return $this->sensitiveCategories; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setVendorType(/* array(Google_int) */ $vendorType) { + $this->assertIsArray($vendorType, 'Google_int', __METHOD__); + $this->vendorType = $vendorType; + } + public function getVendorType() { + return $this->vendorType; + } + public function setVideoURL( $videoURL) { + $this->videoURL = $videoURL; + } + public function getVideoURL() { + return $this->videoURL; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_CreativeDisapprovalReasons extends Google_Model { + public $details; + public $reason; + public function setDetails(/* array(Google_string) */ $details) { + $this->assertIsArray($details, 'Google_string', __METHOD__); + $this->details = $details; + } + public function getDetails() { + return $this->details; + } + public function setReason( $reason) { + $this->reason = $reason; + } + public function getReason() { + return $this->reason; + } +} + +class Google_CreativesList extends Google_Model { + protected $__itemsType = 'Google_Creative'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Creative) */ $items) { + $this->assertIsArray($items, 'Google_Creative', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_DirectDeal extends Google_Model { + public $accountId; + public $advertiser; + public $currencyCode; + public $endTime; + public $fixedCpm; + public $id; + public $kind; + public $privateExchangeMinCpm; + public $sellerNetwork; + public $startTime; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setAdvertiser( $advertiser) { + $this->advertiser = $advertiser; + } + public function getAdvertiser() { + return $this->advertiser; + } + public function setCurrencyCode( $currencyCode) { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() { + return $this->currencyCode; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setFixedCpm( $fixedCpm) { + $this->fixedCpm = $fixedCpm; + } + public function getFixedCpm() { + return $this->fixedCpm; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPrivateExchangeMinCpm( $privateExchangeMinCpm) { + $this->privateExchangeMinCpm = $privateExchangeMinCpm; + } + public function getPrivateExchangeMinCpm() { + return $this->privateExchangeMinCpm; + } + public function setSellerNetwork( $sellerNetwork) { + $this->sellerNetwork = $sellerNetwork; + } + public function getSellerNetwork() { + return $this->sellerNetwork; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } +} + +class Google_DirectDealsList extends Google_Model { + protected $__directDealsType = 'Google_DirectDeal'; + protected $__directDealsDataType = 'array'; + public $directDeals; + public $kind; + public function setDirectDeals(/* array(Google_DirectDeal) */ $directDeals) { + $this->assertIsArray($directDeals, 'Google_DirectDeal', __METHOD__); + $this->directDeals = $directDeals; + } + public function getDirectDeals() { + return $this->directDeals; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_PerformanceReportList extends Google_Model { + public $kind; + protected $__performance_reportType = 'Google_PerformanceReportListPerformanceReport'; + protected $__performance_reportDataType = 'array'; + public $performance_report; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPerformance_report(/* array(Google_PerformanceReportListPerformanceReport) */ $performance_report) { + $this->assertIsArray($performance_report, 'Google_PerformanceReportListPerformanceReport', __METHOD__); + $this->performance_report = $performance_report; + } + public function getPerformance_report() { + return $this->performance_report; + } +} + +class Google_PerformanceReportListPerformanceReport extends Google_Model { + public $kind; + public $latency50thPercentile; + public $latency85thPercentile; + public $latency95thPercentile; + public $region; + public $timestamp; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLatency50thPercentile( $latency50thPercentile) { + $this->latency50thPercentile = $latency50thPercentile; + } + public function getLatency50thPercentile() { + return $this->latency50thPercentile; + } + public function setLatency85thPercentile( $latency85thPercentile) { + $this->latency85thPercentile = $latency85thPercentile; + } + public function getLatency85thPercentile() { + return $this->latency85thPercentile; + } + public function setLatency95thPercentile( $latency95thPercentile) { + $this->latency95thPercentile = $latency95thPercentile; + } + public function getLatency95thPercentile() { + return $this->latency95thPercentile; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setTimestamp( $timestamp) { + $this->timestamp = $timestamp; + } + public function getTimestamp() { + return $this->timestamp; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdsensehostService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdsensehostService.php new file mode 100644 index 0000000..c4f20fc --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AdsensehostService.php @@ -0,0 +1,1376 @@ + + * $adsensehostService = new Google_AdSenseHostService(...); + * $accounts = $adsensehostService->accounts; + * + */ + class Google_AccountsServiceResource extends Google_ServiceResource { + + /** + * Get information about the selected associated AdSense account. (accounts.get) + * + * @param string $accountId Account to get information about. + * @param array $optParams Optional parameters. + * @return Google_Account + */ + public function get($accountId, $optParams = array()) { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Account($data); + } else { + return $data; + } + } + /** + * List hosted accounts associated with this AdSense account by ad client id. (accounts.list) + * + * @param string $filterAdClientId Ad clients to list accounts for. + * @param array $optParams Optional parameters. + * @return Google_Accounts + */ + public function listAccounts($filterAdClientId, $optParams = array()) { + $params = array('filterAdClientId' => $filterAdClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Accounts($data); + } else { + return $data; + } + } + } + + /** + * The "adclients" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $adclients = $adsensehostService->adclients; + * + */ + class Google_AccountsAdclientsServiceResource extends Google_ServiceResource { + + /** + * Get information about one of the ad clients in the specified publisher's AdSense account. + * (adclients.get) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client to get. + * @param array $optParams Optional parameters. + * @return Google_AdClient + */ + public function get($accountId, $adClientId, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_AdClient($data); + } else { + return $data; + } + } + /** + * List all hosted ad clients in the specified hosted account. (adclients.list) + * + * @param string $accountId Account for which to list ad clients. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of ad clients to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_AdClients + */ + public function listAccountsAdclients($accountId, $optParams = array()) { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AdClients($data); + } else { + return $data; + } + } + } + /** + * The "adunits" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $adunits = $adsensehostService->adunits; + * + */ + class Google_AccountsAdunitsServiceResource extends Google_ServiceResource { + + /** + * Delete the specified ad unit from the specified publisher AdSense account. (adunits.delete) + * + * @param string $accountId Account which contains the ad unit. + * @param string $adClientId Ad client for which to get ad unit. + * @param string $adUnitId Ad unit to delete. + * @param array $optParams Optional parameters. + * @return Google_AdUnit + */ + public function delete($accountId, $adClientId, $adUnitId, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_AdUnit($data); + } else { + return $data; + } + } + /** + * Get the specified host ad unit in this AdSense account. (adunits.get) + * + * @param string $accountId Account which contains the ad unit. + * @param string $adClientId Ad client for which to get ad unit. + * @param string $adUnitId Ad unit to get. + * @param array $optParams Optional parameters. + * @return Google_AdUnit + */ + public function get($accountId, $adClientId, $adUnitId, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_AdUnit($data); + } else { + return $data; + } + } + /** + * Get ad code for the specified ad unit, attaching the specified host custom channels. + * (adunits.getAdCode) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client with contains the ad unit. + * @param string $adUnitId Ad unit to get the code for. + * @param array $optParams Optional parameters. + * + * @opt_param string hostCustomChannelId Host custom channel to attach to the ad code. + * @return Google_AdCode + */ + public function getAdCode($accountId, $adClientId, $adUnitId, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId); + $params = array_merge($params, $optParams); + $data = $this->__call('getAdCode', array($params)); + if ($this->useObjects()) { + return new Google_AdCode($data); + } else { + return $data; + } + } + /** + * Insert the supplied ad unit into the specified publisher AdSense account. (adunits.insert) + * + * @param string $accountId Account which will contain the ad unit. + * @param string $adClientId Ad client into which to insert the ad unit. + * @param Google_AdUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_AdUnit + */ + public function insert($accountId, $adClientId, Google_AdUnit $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_AdUnit($data); + } else { + return $data; + } + } + /** + * List all ad units in the specified publisher's AdSense account. (adunits.list) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client for which to list ad units. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeInactive Whether to include inactive ad units. Default: true. + * @opt_param string maxResults The maximum number of ad units to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad units. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_AdUnits + */ + public function listAccountsAdunits($accountId, $adClientId, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AdUnits($data); + } else { + return $data; + } + } + /** + * Update the supplied ad unit in the specified publisher AdSense account. This method supports + * patch semantics. (adunits.patch) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client which contains the ad unit. + * @param string $adUnitId Ad unit to get. + * @param Google_AdUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_AdUnit + */ + public function patch($accountId, $adClientId, $adUnitId, Google_AdUnit $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'adUnitId' => $adUnitId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_AdUnit($data); + } else { + return $data; + } + } + /** + * Update the supplied ad unit in the specified publisher AdSense account. (adunits.update) + * + * @param string $accountId Account which contains the ad client. + * @param string $adClientId Ad client which contains the ad unit. + * @param Google_AdUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_AdUnit + */ + public function update($accountId, $adClientId, Google_AdUnit $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_AdUnit($data); + } else { + return $data; + } + } + } + /** + * The "reports" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $reports = $adsensehostService->reports; + * + */ + class Google_AccountsReportsServiceResource extends Google_ServiceResource { + + /** + * Generate an AdSense report based on the report request sent in the query parameters. Returns the + * result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter. + * (reports.generate) + * + * @param string $accountId Hosted account upon which to report. + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @opt_param string maxResults The maximum number of rows of report data to return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param string startIndex Index of the first row of report data to return. + * @return Google_Report + */ + public function generate($accountId, $startDate, $endDate, $optParams = array()) { + $params = array('accountId' => $accountId, 'startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + $data = $this->__call('generate', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + } + + /** + * The "adclients" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $adclients = $adsensehostService->adclients; + * + */ + class Google_AdclientsServiceResource extends Google_ServiceResource { + + /** + * Get information about one of the ad clients in the Host AdSense account. (adclients.get) + * + * @param string $adClientId Ad client to get. + * @param array $optParams Optional parameters. + * @return Google_AdClient + */ + public function get($adClientId, $optParams = array()) { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_AdClient($data); + } else { + return $data; + } + } + /** + * List all host ad clients in this AdSense account. (adclients.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of ad clients to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_AdClients + */ + public function listAdclients($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AdClients($data); + } else { + return $data; + } + } + } + + /** + * The "associationsessions" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $associationsessions = $adsensehostService->associationsessions; + * + */ + class Google_AssociationsessionsServiceResource extends Google_ServiceResource { + + /** + * Create an association session for initiating an association with an AdSense user. + * (associationsessions.start) + * + * @param string $productCode Products to associate with the user. + * @param string $websiteUrl The URL of the user's hosted website. + * @param array $optParams Optional parameters. + * + * @opt_param string userLocale The preferred locale of the user. + * @opt_param string websiteLocale The locale of the user's hosted website. + * @return Google_AssociationSession + */ + public function start($productCode, $websiteUrl, $optParams = array()) { + $params = array('productCode' => $productCode, 'websiteUrl' => $websiteUrl); + $params = array_merge($params, $optParams); + $data = $this->__call('start', array($params)); + if ($this->useObjects()) { + return new Google_AssociationSession($data); + } else { + return $data; + } + } + /** + * Verify an association session after the association callback returns from AdSense signup. + * (associationsessions.verify) + * + * @param string $token The token returned to the association callback URL. + * @param array $optParams Optional parameters. + * @return Google_AssociationSession + */ + public function verify($token, $optParams = array()) { + $params = array('token' => $token); + $params = array_merge($params, $optParams); + $data = $this->__call('verify', array($params)); + if ($this->useObjects()) { + return new Google_AssociationSession($data); + } else { + return $data; + } + } + } + + /** + * The "customchannels" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $customchannels = $adsensehostService->customchannels; + * + */ + class Google_CustomchannelsServiceResource extends Google_ServiceResource { + + /** + * Delete a specific custom channel from the host AdSense account. (customchannels.delete) + * + * @param string $adClientId Ad client from which to delete the custom channel. + * @param string $customChannelId Custom channel to delete. + * @param array $optParams Optional parameters. + * @return Google_CustomChannel + */ + public function delete($adClientId, $customChannelId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_CustomChannel($data); + } else { + return $data; + } + } + /** + * Get a specific custom channel from the host AdSense account. (customchannels.get) + * + * @param string $adClientId Ad client from which to get the custom channel. + * @param string $customChannelId Custom channel to get. + * @param array $optParams Optional parameters. + * @return Google_CustomChannel + */ + public function get($adClientId, $customChannelId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_CustomChannel($data); + } else { + return $data; + } + } + /** + * Add a new custom channel to the host AdSense account. (customchannels.insert) + * + * @param string $adClientId Ad client to which the new custom channel will be added. + * @param Google_CustomChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_CustomChannel + */ + public function insert($adClientId, Google_CustomChannel $postBody, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CustomChannel($data); + } else { + return $data; + } + } + /** + * List all host custom channels in this AdSense account. (customchannels.list) + * + * @param string $adClientId Ad client for which to list custom channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of custom channels to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through custom channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_CustomChannels + */ + public function listCustomchannels($adClientId, $optParams = array()) { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CustomChannels($data); + } else { + return $data; + } + } + /** + * Update a custom channel in the host AdSense account. This method supports patch semantics. + * (customchannels.patch) + * + * @param string $adClientId Ad client in which the custom channel will be updated. + * @param string $customChannelId Custom channel to get. + * @param Google_CustomChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_CustomChannel + */ + public function patch($adClientId, $customChannelId, Google_CustomChannel $postBody, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'customChannelId' => $customChannelId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_CustomChannel($data); + } else { + return $data; + } + } + /** + * Update a custom channel in the host AdSense account. (customchannels.update) + * + * @param string $adClientId Ad client in which the custom channel will be updated. + * @param Google_CustomChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_CustomChannel + */ + public function update($adClientId, Google_CustomChannel $postBody, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_CustomChannel($data); + } else { + return $data; + } + } + } + + /** + * The "reports" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $reports = $adsensehostService->reports; + * + */ + class Google_ReportsServiceResource extends Google_ServiceResource { + + /** + * Generate an AdSense report based on the report request sent in the query parameters. Returns the + * result as JSON; to retrieve output in CSV format specify "alt=csv" as a query parameter. + * (reports.generate) + * + * @param string $startDate Start of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param string $endDate End of the date range to report on in "YYYY-MM-DD" format, inclusive. + * @param array $optParams Optional parameters. + * + * @opt_param string dimension Dimensions to base the report on. + * @opt_param string filter Filters to be run on the report. + * @opt_param string locale Optional locale to use for translating report output to a local language. Defaults to "en_US" if not specified. + * @opt_param string maxResults The maximum number of rows of report data to return. + * @opt_param string metric Numeric columns to include in the report. + * @opt_param string sort The name of a dimension or metric to sort the resulting report on, optionally prefixed with "+" to sort ascending or "-" to sort descending. If no prefix is specified, the column is sorted ascending. + * @opt_param string startIndex Index of the first row of report data to return. + * @return Google_Report + */ + public function generate($startDate, $endDate, $optParams = array()) { + $params = array('startDate' => $startDate, 'endDate' => $endDate); + $params = array_merge($params, $optParams); + $data = $this->__call('generate', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + } + + /** + * The "urlchannels" collection of methods. + * Typical usage is: + * + * $adsensehostService = new Google_AdSenseHostService(...); + * $urlchannels = $adsensehostService->urlchannels; + * + */ + class Google_UrlchannelsServiceResource extends Google_ServiceResource { + + /** + * Delete a URL channel from the host AdSense account. (urlchannels.delete) + * + * @param string $adClientId Ad client from which to delete the URL channel. + * @param string $urlChannelId URL channel to delete. + * @param array $optParams Optional parameters. + * @return Google_UrlChannel + */ + public function delete($adClientId, $urlChannelId, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'urlChannelId' => $urlChannelId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_UrlChannel($data); + } else { + return $data; + } + } + /** + * Add a new URL channel to the host AdSense account. (urlchannels.insert) + * + * @param string $adClientId Ad client to which the new URL channel will be added. + * @param Google_UrlChannel $postBody + * @param array $optParams Optional parameters. + * @return Google_UrlChannel + */ + public function insert($adClientId, Google_UrlChannel $postBody, $optParams = array()) { + $params = array('adClientId' => $adClientId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_UrlChannel($data); + } else { + return $data; + } + } + /** + * List all host URL channels in the host AdSense account. (urlchannels.list) + * + * @param string $adClientId Ad client for which to list URL channels. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of URL channels to include in the response, used for paging. + * @opt_param string pageToken A continuation token, used to page through URL channels. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_UrlChannels + */ + public function listUrlchannels($adClientId, $optParams = array()) { + $params = array('adClientId' => $adClientId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_UrlChannels($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_AdSenseHost (v4.1). + * + *

    + * Gives AdSense Hosts access to report generation, ad code generation, and publisher management capabilities. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_AdSenseHostService extends Google_Service { + public $accounts; + public $accounts_adclients; + public $accounts_adunits; + public $accounts_reports; + public $adclients; + public $associationsessions; + public $customchannels; + public $reports; + public $urlchannels; + /** + * Constructs the internal representation of the AdSenseHost service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'adsensehost/v4.1/'; + $this->version = 'v4.1'; + $this->serviceName = 'adsensehost'; + + $client->addService($this->serviceName, $this->version); + $this->accounts = new Google_AccountsServiceResource($this, $this->serviceName, 'accounts', json_decode('{"methods": {"get": {"id": "adsensehost.accounts.get", "path": "accounts/{accountId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Account"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "list": {"id": "adsensehost.accounts.list", "path": "accounts", "httpMethod": "GET", "parameters": {"filterAdClientId": {"type": "string", "required": true, "repeated": true, "location": "query"}}, "response": {"$ref": "Accounts"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->accounts_adclients = new Google_AccountsAdclientsServiceResource($this, $this->serviceName, 'adclients', json_decode('{"methods": {"get": {"id": "adsensehost.accounts.adclients.get", "path": "accounts/{accountId}/adclients/{adClientId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AdClient"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "list": {"id": "adsensehost.accounts.adclients.list", "path": "accounts/{accountId}/adclients", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AdClients"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->accounts_adunits = new Google_AccountsAdunitsServiceResource($this, $this->serviceName, 'adunits', json_decode('{"methods": {"delete": {"id": "adsensehost.accounts.adunits.delete", "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}, "adUnitId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AdUnit"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "get": {"id": "adsensehost.accounts.adunits.get", "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}, "adUnitId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AdUnit"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "getAdCode": {"id": "adsensehost.accounts.adunits.getAdCode", "path": "accounts/{accountId}/adclients/{adClientId}/adunits/{adUnitId}/adcode", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}, "adUnitId": {"type": "string", "required": true, "location": "path"}, "hostCustomChannelId": {"type": "string", "repeated": true, "location": "query"}}, "response": {"$ref": "AdCode"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "insert": {"id": "adsensehost.accounts.adunits.insert", "path": "accounts/{accountId}/adclients/{adClientId}/adunits", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AdUnit"}, "response": {"$ref": "AdUnit"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "list": {"id": "adsensehost.accounts.adunits.list", "path": "accounts/{accountId}/adclients/{adClientId}/adunits", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}, "includeInactive": {"type": "boolean", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AdUnits"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "patch": {"id": "adsensehost.accounts.adunits.patch", "path": "accounts/{accountId}/adclients/{adClientId}/adunits", "httpMethod": "PATCH", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}, "adUnitId": {"type": "string", "required": true, "location": "query"}}, "request": {"$ref": "AdUnit"}, "response": {"$ref": "AdUnit"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "update": {"id": "adsensehost.accounts.adunits.update", "path": "accounts/{accountId}/adclients/{adClientId}/adunits", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "adClientId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AdUnit"}, "response": {"$ref": "AdUnit"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->accounts_reports = new Google_AccountsReportsServiceResource($this, $this->serviceName, 'reports', json_decode('{"methods": {"generate": {"id": "adsensehost.accounts.reports.generate", "path": "accounts/{accountId}/reports", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "dimension": {"type": "string", "repeated": true, "location": "query"}, "endDate": {"type": "string", "required": true, "location": "query"}, "filter": {"type": "string", "repeated": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "50000", "location": "query"}, "metric": {"type": "string", "repeated": true, "location": "query"}, "sort": {"type": "string", "repeated": true, "location": "query"}, "startDate": {"type": "string", "required": true, "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "5000", "location": "query"}}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->adclients = new Google_AdclientsServiceResource($this, $this->serviceName, 'adclients', json_decode('{"methods": {"get": {"id": "adsensehost.adclients.get", "path": "adclients/{adClientId}", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AdClient"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "list": {"id": "adsensehost.adclients.list", "path": "adclients", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AdClients"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->associationsessions = new Google_AssociationsessionsServiceResource($this, $this->serviceName, 'associationsessions', json_decode('{"methods": {"start": {"id": "adsensehost.associationsessions.start", "path": "associationsessions/start", "httpMethod": "GET", "parameters": {"productCode": {"type": "string", "required": true, "enum": ["AFC", "AFG", "AFMC", "AFS", "AFV"], "repeated": true, "location": "query"}, "userLocale": {"type": "string", "location": "query"}, "websiteLocale": {"type": "string", "location": "query"}, "websiteUrl": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "AssociationSession"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "verify": {"id": "adsensehost.associationsessions.verify", "path": "associationsessions/verify", "httpMethod": "GET", "parameters": {"token": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "AssociationSession"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->customchannels = new Google_CustomchannelsServiceResource($this, $this->serviceName, 'customchannels', json_decode('{"methods": {"delete": {"id": "adsensehost.customchannels.delete", "path": "adclients/{adClientId}/customchannels/{customChannelId}", "httpMethod": "DELETE", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "customChannelId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CustomChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "get": {"id": "adsensehost.customchannels.get", "path": "adclients/{adClientId}/customchannels/{customChannelId}", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "customChannelId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CustomChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "insert": {"id": "adsensehost.customchannels.insert", "path": "adclients/{adClientId}/customchannels", "httpMethod": "POST", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CustomChannel"}, "response": {"$ref": "CustomChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "list": {"id": "adsensehost.customchannels.list", "path": "adclients/{adClientId}/customchannels", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CustomChannels"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "patch": {"id": "adsensehost.customchannels.patch", "path": "adclients/{adClientId}/customchannels", "httpMethod": "PATCH", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "customChannelId": {"type": "string", "required": true, "location": "query"}}, "request": {"$ref": "CustomChannel"}, "response": {"$ref": "CustomChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "update": {"id": "adsensehost.customchannels.update", "path": "adclients/{adClientId}/customchannels", "httpMethod": "PUT", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CustomChannel"}, "response": {"$ref": "CustomChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->reports = new Google_ReportsServiceResource($this, $this->serviceName, 'reports', json_decode('{"methods": {"generate": {"id": "adsensehost.reports.generate", "path": "reports", "httpMethod": "GET", "parameters": {"dimension": {"type": "string", "repeated": true, "location": "query"}, "endDate": {"type": "string", "required": true, "location": "query"}, "filter": {"type": "string", "repeated": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "50000", "location": "query"}, "metric": {"type": "string", "repeated": true, "location": "query"}, "sort": {"type": "string", "repeated": true, "location": "query"}, "startDate": {"type": "string", "required": true, "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "5000", "location": "query"}}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + $this->urlchannels = new Google_UrlchannelsServiceResource($this, $this->serviceName, 'urlchannels', json_decode('{"methods": {"delete": {"id": "adsensehost.urlchannels.delete", "path": "adclients/{adClientId}/urlchannels/{urlChannelId}", "httpMethod": "DELETE", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "urlChannelId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "UrlChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "insert": {"id": "adsensehost.urlchannels.insert", "path": "adclients/{adClientId}/urlchannels", "httpMethod": "POST", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "UrlChannel"}, "response": {"$ref": "UrlChannel"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}, "list": {"id": "adsensehost.urlchannels.list", "path": "adclients/{adClientId}/urlchannels", "httpMethod": "GET", "parameters": {"adClientId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "10000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "UrlChannels"}, "scopes": ["https://www.googleapis.com/auth/adsensehost"]}}}', true)); + + } +} + + + +class Google_Account extends Google_Model { + public $id; + public $kind; + public $name; + public $status; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_Accounts extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Account'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Account) */ $items) { + $this->assertIsArray($items, 'Google_Account', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_AdClient extends Google_Model { + public $arcOptIn; + public $id; + public $kind; + public $productCode; + public $supportsReporting; + public function setArcOptIn( $arcOptIn) { + $this->arcOptIn = $arcOptIn; + } + public function getArcOptIn() { + return $this->arcOptIn; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProductCode( $productCode) { + $this->productCode = $productCode; + } + public function getProductCode() { + return $this->productCode; + } + public function setSupportsReporting( $supportsReporting) { + $this->supportsReporting = $supportsReporting; + } + public function getSupportsReporting() { + return $this->supportsReporting; + } +} + +class Google_AdClients extends Google_Model { + public $etag; + protected $__itemsType = 'Google_AdClient'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_AdClient) */ $items) { + $this->assertIsArray($items, 'Google_AdClient', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_AdCode extends Google_Model { + public $adCode; + public $kind; + public function setAdCode( $adCode) { + $this->adCode = $adCode; + } + public function getAdCode() { + return $this->adCode; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_AdStyle extends Google_Model { + protected $__colorsType = 'Google_AdStyleColors'; + protected $__colorsDataType = ''; + public $colors; + public $corners; + protected $__fontType = 'Google_AdStyleFont'; + protected $__fontDataType = ''; + public $font; + public $kind; + public function setColors(Google_AdStyleColors $colors) { + $this->colors = $colors; + } + public function getColors() { + return $this->colors; + } + public function setCorners( $corners) { + $this->corners = $corners; + } + public function getCorners() { + return $this->corners; + } + public function setFont(Google_AdStyleFont $font) { + $this->font = $font; + } + public function getFont() { + return $this->font; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_AdStyleColors extends Google_Model { + public $background; + public $border; + public $text; + public $title; + public $url; + public function setBackground( $background) { + $this->background = $background; + } + public function getBackground() { + return $this->background; + } + public function setBorder( $border) { + $this->border = $border; + } + public function getBorder() { + return $this->border; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_AdStyleFont extends Google_Model { + public $family; + public $size; + public function setFamily( $family) { + $this->family = $family; + } + public function getFamily() { + return $this->family; + } + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } +} + +class Google_AdUnit extends Google_Model { + public $code; + protected $__contentAdsSettingsType = 'Google_AdUnitContentAdsSettings'; + protected $__contentAdsSettingsDataType = ''; + public $contentAdsSettings; + protected $__customStyleType = 'Google_AdStyle'; + protected $__customStyleDataType = ''; + public $customStyle; + public $id; + public $kind; + protected $__mobileContentAdsSettingsType = 'Google_AdUnitMobileContentAdsSettings'; + protected $__mobileContentAdsSettingsDataType = ''; + public $mobileContentAdsSettings; + public $name; + public $status; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setContentAdsSettings(Google_AdUnitContentAdsSettings $contentAdsSettings) { + $this->contentAdsSettings = $contentAdsSettings; + } + public function getContentAdsSettings() { + return $this->contentAdsSettings; + } + public function setCustomStyle(Google_AdStyle $customStyle) { + $this->customStyle = $customStyle; + } + public function getCustomStyle() { + return $this->customStyle; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMobileContentAdsSettings(Google_AdUnitMobileContentAdsSettings $mobileContentAdsSettings) { + $this->mobileContentAdsSettings = $mobileContentAdsSettings; + } + public function getMobileContentAdsSettings() { + return $this->mobileContentAdsSettings; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_AdUnitContentAdsSettings extends Google_Model { + protected $__backupOptionType = 'Google_AdUnitContentAdsSettingsBackupOption'; + protected $__backupOptionDataType = ''; + public $backupOption; + public $size; + public $type; + public function setBackupOption(Google_AdUnitContentAdsSettingsBackupOption $backupOption) { + $this->backupOption = $backupOption; + } + public function getBackupOption() { + return $this->backupOption; + } + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_AdUnitContentAdsSettingsBackupOption extends Google_Model { + public $color; + public $type; + public $url; + public function setColor( $color) { + $this->color = $color; + } + public function getColor() { + return $this->color; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_AdUnitMobileContentAdsSettings extends Google_Model { + public $markupLanguage; + public $scriptingLanguage; + public $size; + public $type; + public function setMarkupLanguage( $markupLanguage) { + $this->markupLanguage = $markupLanguage; + } + public function getMarkupLanguage() { + return $this->markupLanguage; + } + public function setScriptingLanguage( $scriptingLanguage) { + $this->scriptingLanguage = $scriptingLanguage; + } + public function getScriptingLanguage() { + return $this->scriptingLanguage; + } + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_AdUnits extends Google_Model { + public $etag; + protected $__itemsType = 'Google_AdUnit'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_AdUnit) */ $items) { + $this->assertIsArray($items, 'Google_AdUnit', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_AssociationSession extends Google_Model { + public $accountId; + public $id; + public $kind; + public $productCodes; + public $redirectUrl; + public $status; + public $userLocale; + public $websiteLocale; + public $websiteUrl; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProductCodes(/* array(Google_string) */ $productCodes) { + $this->assertIsArray($productCodes, 'Google_string', __METHOD__); + $this->productCodes = $productCodes; + } + public function getProductCodes() { + return $this->productCodes; + } + public function setRedirectUrl( $redirectUrl) { + $this->redirectUrl = $redirectUrl; + } + public function getRedirectUrl() { + return $this->redirectUrl; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setUserLocale( $userLocale) { + $this->userLocale = $userLocale; + } + public function getUserLocale() { + return $this->userLocale; + } + public function setWebsiteLocale( $websiteLocale) { + $this->websiteLocale = $websiteLocale; + } + public function getWebsiteLocale() { + return $this->websiteLocale; + } + public function setWebsiteUrl( $websiteUrl) { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() { + return $this->websiteUrl; + } +} + +class Google_CustomChannel extends Google_Model { + public $code; + public $id; + public $kind; + public $name; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_CustomChannels extends Google_Model { + public $etag; + protected $__itemsType = 'Google_CustomChannel'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_CustomChannel) */ $items) { + $this->assertIsArray($items, 'Google_CustomChannel', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Report extends Google_Model { + public $averages; + protected $__headersType = 'Google_ReportHeaders'; + protected $__headersDataType = 'array'; + public $headers; + public $kind; + public $rows; + public $totalMatchedRows; + public $totals; + public $warnings; + public function setAverages(/* array(Google_string) */ $averages) { + $this->assertIsArray($averages, 'Google_string', __METHOD__); + $this->averages = $averages; + } + public function getAverages() { + return $this->averages; + } + public function setHeaders(/* array(Google_ReportHeaders) */ $headers) { + $this->assertIsArray($headers, 'Google_ReportHeaders', __METHOD__); + $this->headers = $headers; + } + public function getHeaders() { + return $this->headers; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRows(/* array(Google_string) */ $rows) { + $this->assertIsArray($rows, 'Google_string', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setTotalMatchedRows( $totalMatchedRows) { + $this->totalMatchedRows = $totalMatchedRows; + } + public function getTotalMatchedRows() { + return $this->totalMatchedRows; + } + public function setTotals(/* array(Google_string) */ $totals) { + $this->assertIsArray($totals, 'Google_string', __METHOD__); + $this->totals = $totals; + } + public function getTotals() { + return $this->totals; + } + public function setWarnings(/* array(Google_string) */ $warnings) { + $this->assertIsArray($warnings, 'Google_string', __METHOD__); + $this->warnings = $warnings; + } + public function getWarnings() { + return $this->warnings; + } +} + +class Google_ReportHeaders extends Google_Model { + public $currency; + public $name; + public $type; + public function setCurrency( $currency) { + $this->currency = $currency; + } + public function getCurrency() { + return $this->currency; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_UrlChannel extends Google_Model { + public $id; + public $kind; + public $urlPattern; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUrlPattern( $urlPattern) { + $this->urlPattern = $urlPattern; + } + public function getUrlPattern() { + return $this->urlPattern; + } +} + +class Google_UrlChannels extends Google_Model { + public $etag; + protected $__itemsType = 'Google_UrlChannel'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_UrlChannel) */ $items) { + $this->assertIsArray($items, 'Google_UrlChannel', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AnalyticsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AnalyticsService.php new file mode 100644 index 0000000..48812c8 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AnalyticsService.php @@ -0,0 +1,4336 @@ + + * $analyticsService = new Google_AnalyticsService(...); + * $data = $analyticsService->data; + * + */ + class Google_DataServiceResource extends Google_ServiceResource { + + } + + /** + * The "ga" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $ga = $analyticsService->ga; + * + */ + class Google_DataGaServiceResource extends Google_ServiceResource { + + /** + * Returns Analytics data for a view (profile). (ga.get) + * + * @param string $ids Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param string $start_date Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. + * @param string $end_date End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. + * @param string $metrics A comma-separated list of Analytics metrics. E.g., 'ga:visits,ga:pageviews'. At least one metric must be specified. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'. + * @opt_param string filters A comma-separated list of dimension or metric filters to be applied to Analytics data. + * @opt_param int max-results The maximum number of entries to include in this feed. + * @opt_param string segment An Analytics advanced segment to be applied to data. + * @opt_param string sort A comma-separated list of dimensions or metrics that determine the sort order for Analytics data. + * @opt_param int start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_GaData + */ + public function get($ids, $start_date, $end_date, $metrics, $optParams = array()) { + $params = array('ids' => $ids, 'start-date' => $start_date, 'end-date' => $end_date, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_GaData($data); + } else { + return $data; + } + } + } + /** + * The "mcf" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $mcf = $analyticsService->mcf; + * + */ + class Google_DataMcfServiceResource extends Google_ServiceResource { + + /** + * Returns Analytics Multi-Channel Funnels data for a view (profile). (mcf.get) + * + * @param string $ids Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param string $start_date Start date for fetching Analytics data. All requests should specify a start date formatted as YYYY-MM-DD. + * @param string $end_date End date for fetching Analytics data. All requests should specify an end date formatted as YYYY-MM-DD. + * @param string $metrics A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'. + * @opt_param string filters A comma-separated list of dimension or metric filters to be applied to the Analytics data. + * @opt_param int max-results The maximum number of entries to include in this feed. + * @opt_param string sort A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data. + * @opt_param int start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_McfData + */ + public function get($ids, $start_date, $end_date, $metrics, $optParams = array()) { + $params = array('ids' => $ids, 'start-date' => $start_date, 'end-date' => $end_date, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_McfData($data); + } else { + return $data; + } + } + } + /** + * The "realtime" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $realtime = $analyticsService->realtime; + * + */ + class Google_DataRealtimeServiceResource extends Google_ServiceResource { + + /** + * Returns real time data for a view (profile). (realtime.get) + * + * @param string $ids Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. + * @param string $metrics A comma-separated list of real time metrics. E.g., 'ga:activeVisitors'. At least one metric must be specified. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of real time dimensions. E.g., 'ga:medium,ga:city'. + * @opt_param string filters A comma-separated list of dimension or metric filters to be applied to real time data. + * @opt_param int max-results The maximum number of entries to include in this feed. + * @opt_param string sort A comma-separated list of dimensions or metrics that determine the sort order for real time data. + * @return Google_RealtimeData + */ + public function get($ids, $metrics, $optParams = array()) { + $params = array('ids' => $ids, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_RealtimeData($data); + } else { + return $data; + } + } + } + + /** + * The "management" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $management = $analyticsService->management; + * + */ + class Google_ManagementServiceResource extends Google_ServiceResource { + + } + + /** + * The "accountUserLinks" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $accountUserLinks = $analyticsService->accountUserLinks; + * + */ + class Google_ManagementAccountUserLinksServiceResource extends Google_ServiceResource { + + /** + * Removes a user from the given account. (accountUserLinks.delete) + * + * @param string $accountId Account ID to delete the user link for. + * @param string $linkId Link ID to delete the user link for. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $linkId, $optParams = array()) { + $params = array('accountId' => $accountId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Adds a new user to the given account. (accountUserLinks.insert) + * + * @param string $accountId Account ID to create the user link for. + * @param Google_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_EntityUserLink + */ + public function insert($accountId, Google_EntityUserLink $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLink($data); + } else { + return $data; + } + } + /** + * Lists account-user links for a given account. (accountUserLinks.list) + * + * @param string $accountId Account ID to retrieve the user links for. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of account-user links to include in this response. + * @opt_param int start-index An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_EntityUserLinks + */ + public function listManagementAccountUserLinks($accountId, $optParams = array()) { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLinks($data); + } else { + return $data; + } + } + /** + * Updates permissions for an existing user on the given account. + * (accountUserLinks.update) + * + * @param string $accountId Account ID to update the account-user link for. + * @param string $linkId Link ID to update the account-user link for. + * @param Google_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_EntityUserLink + */ + public function update($accountId, $linkId, Google_EntityUserLink $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLink($data); + } else { + return $data; + } + } + } + /** + * The "accounts" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $accounts = $analyticsService->accounts; + * + */ + class Google_ManagementAccountsServiceResource extends Google_ServiceResource { + + /** + * Lists all accounts to which the user has access. (accounts.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of accounts to include in this response. + * @opt_param int start-index An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Accounts + */ + public function listManagementAccounts($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Accounts($data); + } else { + return $data; + } + } + } + /** + * The "customDataSources" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $customDataSources = $analyticsService->customDataSources; + * + */ + class Google_ManagementCustomDataSourcesServiceResource extends Google_ServiceResource { + + /** + * List custom data sources to which the user has access. + * (customDataSources.list) + * + * @param string $accountId Account Id for the custom data sources to retrieve. + * @param string $webPropertyId Web property Id for the custom data sources to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of custom data sources to include in this response. + * @opt_param int start-index A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_CustomDataSources + */ + public function listManagementCustomDataSources($accountId, $webPropertyId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CustomDataSources($data); + } else { + return $data; + } + } + } + /** + * The "dailyUploads" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $dailyUploads = $analyticsService->dailyUploads; + * + */ + class Google_ManagementDailyUploadsServiceResource extends Google_ServiceResource { + + /** + * Delete uploaded data for the given date. (dailyUploads.delete) + * + * @param string $accountId Account Id associated with daily upload delete. + * @param string $webPropertyId Web property Id associated with daily upload delete. + * @param string $customDataSourceId Custom data source Id associated with daily upload delete. + * @param string $date Date for which data is to be deleted. Date should be formatted as YYYY-MM-DD. + * @param string $type Type of data for this delete. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $customDataSourceId, $date, $type, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'date' => $date, 'type' => $type); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * List daily uploads to which the user has access. (dailyUploads.list) + * + * @param string $accountId Account Id for the daily uploads to retrieve. + * @param string $webPropertyId Web property Id for the daily uploads to retrieve. + * @param string $customDataSourceId Custom data source Id for daily uploads to retrieve. + * @param string $start_date Start date of the form YYYY-MM-DD. + * @param string $end_date End date of the form YYYY-MM-DD. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of custom data sources to include in this response. + * @opt_param int start-index A 1-based index of the first daily upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_DailyUploads + */ + public function listManagementDailyUploads($accountId, $webPropertyId, $customDataSourceId, $start_date, $end_date, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'start-date' => $start_date, 'end-date' => $end_date); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_DailyUploads($data); + } else { + return $data; + } + } + /** + * Update/Overwrite data for a custom data source. (dailyUploads.upload) + * + * @param string $accountId Account Id associated with daily upload. + * @param string $webPropertyId Web property Id associated with daily upload. + * @param string $customDataSourceId Custom data source Id to which the data being uploaded belongs. + * @param string $date Date for which data is uploaded. Date should be formatted as YYYY-MM-DD. + * @param int $appendNumber Append number for this upload indexed from 1. + * @param string $type Type of data for this upload. + * @param array $optParams Optional parameters. + * + * @opt_param bool reset Reset/Overwrite all previous appends for this date and start over with this file as the first upload. + * @return Google_DailyUploadAppend + */ + public function upload($accountId, $webPropertyId, $customDataSourceId, $date, $appendNumber, $type, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'date' => $date, 'appendNumber' => $appendNumber, 'type' => $type); + $params = array_merge($params, $optParams); + $data = $this->__call('upload', array($params)); + if ($this->useObjects()) { + return new Google_DailyUploadAppend($data); + } else { + return $data; + } + } + } + /** + * The "experiments" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $experiments = $analyticsService->experiments; + * + */ + class Google_ManagementExperimentsServiceResource extends Google_ServiceResource { + + /** + * Delete an experiment. (experiments.delete) + * + * @param string $accountId Account ID to which the experiment belongs + * @param string $webPropertyId Web property ID to which the experiment belongs + * @param string $profileId View (Profile) ID to which the experiment belongs + * @param string $experimentId ID of the experiment to delete + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $experimentId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns an experiment to which the user has access. (experiments.get) + * + * @param string $accountId Account ID to retrieve the experiment for. + * @param string $webPropertyId Web property ID to retrieve the experiment for. + * @param string $profileId View (Profile) ID to retrieve the experiment for. + * @param string $experimentId Experiment ID to retrieve the experiment for. + * @param array $optParams Optional parameters. + * @return Google_Experiment + */ + public function get($accountId, $webPropertyId, $profileId, $experimentId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Experiment($data); + } else { + return $data; + } + } + /** + * Create a new experiment. (experiments.insert) + * + * @param string $accountId Account ID to create the experiment for. + * @param string $webPropertyId Web property ID to create the experiment for. + * @param string $profileId View (Profile) ID to create the experiment for. + * @param Google_Experiment $postBody + * @param array $optParams Optional parameters. + * @return Google_Experiment + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Experiment $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Experiment($data); + } else { + return $data; + } + } + /** + * Lists experiments to which the user has access. (experiments.list) + * + * @param string $accountId Account ID to retrieve experiments for. + * @param string $webPropertyId Web property ID to retrieve experiments for. + * @param string $profileId View (Profile) ID to retrieve experiments for. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of experiments to include in this response. + * @opt_param int start-index An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Experiments + */ + public function listManagementExperiments($accountId, $webPropertyId, $profileId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Experiments($data); + } else { + return $data; + } + } + /** + * Update an existing experiment. This method supports patch semantics. + * (experiments.patch) + * + * @param string $accountId Account ID of the experiment to update. + * @param string $webPropertyId Web property ID of the experiment to update. + * @param string $profileId View (Profile) ID of the experiment to update. + * @param string $experimentId Experiment ID of the experiment to update. + * @param Google_Experiment $postBody + * @param array $optParams Optional parameters. + * @return Google_Experiment + */ + public function patch($accountId, $webPropertyId, $profileId, $experimentId, Google_Experiment $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Experiment($data); + } else { + return $data; + } + } + /** + * Update an existing experiment. (experiments.update) + * + * @param string $accountId Account ID of the experiment to update. + * @param string $webPropertyId Web property ID of the experiment to update. + * @param string $profileId View (Profile) ID of the experiment to update. + * @param string $experimentId Experiment ID of the experiment to update. + * @param Google_Experiment $postBody + * @param array $optParams Optional parameters. + * @return Google_Experiment + */ + public function update($accountId, $webPropertyId, $profileId, $experimentId, Google_Experiment $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'experimentId' => $experimentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Experiment($data); + } else { + return $data; + } + } + } + /** + * The "goals" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $goals = $analyticsService->goals; + * + */ + class Google_ManagementGoalsServiceResource extends Google_ServiceResource { + + /** + * Gets a goal to which the user has access. (goals.get) + * + * @param string $accountId Account ID to retrieve the goal for. + * @param string $webPropertyId Web property ID to retrieve the goal for. + * @param string $profileId View (Profile) ID to retrieve the goal for. + * @param string $goalId Goal ID to retrieve the goal for. + * @param array $optParams Optional parameters. + * @return Google_Goal + */ + public function get($accountId, $webPropertyId, $profileId, $goalId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'goalId' => $goalId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Goal($data); + } else { + return $data; + } + } + /** + * Create a new goal. (goals.insert) + * + * @param string $accountId Account ID to create the goal for. + * @param string $webPropertyId Web property ID to create the goal for. + * @param string $profileId View (Profile) ID to create the goal for. + * @param Google_Goal $postBody + * @param array $optParams Optional parameters. + * @return Google_Goal + */ + public function insert($accountId, $webPropertyId, $profileId, Google_Goal $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Goal($data); + } else { + return $data; + } + } + /** + * Lists goals to which the user has access. (goals.list) + * + * @param string $accountId Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. + * @param string $webPropertyId Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. + * @param string $profileId View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of goals to include in this response. + * @opt_param int start-index An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Goals + */ + public function listManagementGoals($accountId, $webPropertyId, $profileId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Goals($data); + } else { + return $data; + } + } + /** + * Updates an existing view (profile). This method supports patch semantics. + * (goals.patch) + * + * @param string $accountId Account ID to update the goal. + * @param string $webPropertyId Web property ID to update the goal. + * @param string $profileId View (Profile) ID to update the goal. + * @param string $goalId Index of the goal to be updated. + * @param Google_Goal $postBody + * @param array $optParams Optional parameters. + * @return Google_Goal + */ + public function patch($accountId, $webPropertyId, $profileId, $goalId, Google_Goal $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'goalId' => $goalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Goal($data); + } else { + return $data; + } + } + /** + * Updates an existing view (profile). (goals.update) + * + * @param string $accountId Account ID to update the goal. + * @param string $webPropertyId Web property ID to update the goal. + * @param string $profileId View (Profile) ID to update the goal. + * @param string $goalId Index of the goal to be updated. + * @param Google_Goal $postBody + * @param array $optParams Optional parameters. + * @return Google_Goal + */ + public function update($accountId, $webPropertyId, $profileId, $goalId, Google_Goal $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'goalId' => $goalId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Goal($data); + } else { + return $data; + } + } + } + /** + * The "profileUserLinks" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $profileUserLinks = $analyticsService->profileUserLinks; + * + */ + class Google_ManagementProfileUserLinksServiceResource extends Google_ServiceResource { + + /** + * Removes a user from the given view (profile). (profileUserLinks.delete) + * + * @param string $accountId Account ID to delete the user link for. + * @param string $webPropertyId Web Property ID to delete the user link for. + * @param string $profileId View (Profile) ID to delete the user link for. + * @param string $linkId Link ID to delete the user link for. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $linkId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Adds a new user to the given view (profile). (profileUserLinks.insert) + * + * @param string $accountId Account ID to create the user link for. + * @param string $webPropertyId Web Property ID to create the user link for. + * @param string $profileId View (Profile) ID to create the user link for. + * @param Google_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_EntityUserLink + */ + public function insert($accountId, $webPropertyId, $profileId, Google_EntityUserLink $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLink($data); + } else { + return $data; + } + } + /** + * Lists profile-user links for a given view (profile). (profileUserLinks.list) + * + * @param string $accountId Account ID which the given view (profile) belongs to. + * @param string $webPropertyId Web Property ID which the given view (profile) belongs to. + * @param string $profileId View (Profile) ID to retrieve the profile-user links for + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of profile-user links to include in this response. + * @opt_param int start-index An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_EntityUserLinks + */ + public function listManagementProfileUserLinks($accountId, $webPropertyId, $profileId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLinks($data); + } else { + return $data; + } + } + /** + * Updates permissions for an existing user on the given view (profile). + * (profileUserLinks.update) + * + * @param string $accountId Account ID to update the user link for. + * @param string $webPropertyId Web Property ID to update the user link for. + * @param string $profileId View (Profile ID) to update the user link for. + * @param string $linkId Link ID to update the user link for. + * @param Google_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_EntityUserLink + */ + public function update($accountId, $webPropertyId, $profileId, $linkId, Google_EntityUserLink $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLink($data); + } else { + return $data; + } + } + } + /** + * The "profiles" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $profiles = $analyticsService->profiles; + * + */ + class Google_ManagementProfilesServiceResource extends Google_ServiceResource { + + /** + * Deletes a view (profile). (profiles.delete) + * + * @param string $accountId Account ID to delete the view (profile) for. + * @param string $webPropertyId Web property ID to delete the view (profile) for. + * @param string $profileId ID of the view (profile) to be deleted. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $profileId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a view (profile) to which the user has access. (profiles.get) + * + * @param string $accountId Account ID to retrieve the goal for. + * @param string $webPropertyId Web property ID to retrieve the goal for. + * @param string $profileId View (Profile) ID to retrieve the goal for. + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function get($accountId, $webPropertyId, $profileId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + /** + * Create a new view (profile). (profiles.insert) + * + * @param string $accountId Account ID to create the view (profile) for. + * @param string $webPropertyId Web property ID to create the view (profile) for. + * @param Google_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function insert($accountId, $webPropertyId, Google_Profile $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + /** + * Lists views (profiles) to which the user has access. (profiles.list) + * + * @param string $accountId Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. + * @param string $webPropertyId Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of views (profiles) to include in this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Profiles + */ + public function listManagementProfiles($accountId, $webPropertyId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Profiles($data); + } else { + return $data; + } + } + /** + * Updates an existing view (profile). This method supports patch semantics. + * (profiles.patch) + * + * @param string $accountId Account ID to which the view (profile) belongs + * @param string $webPropertyId Web property ID to which the view (profile) belongs + * @param string $profileId ID of the view (profile) to be updated. + * @param Google_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function patch($accountId, $webPropertyId, $profileId, Google_Profile $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + /** + * Updates an existing view (profile). (profiles.update) + * + * @param string $accountId Account ID to which the view (profile) belongs + * @param string $webPropertyId Web property ID to which the view (profile) belongs + * @param string $profileId ID of the view (profile) to be updated. + * @param Google_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function update($accountId, $webPropertyId, $profileId, Google_Profile $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + } + /** + * The "segments" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $segments = $analyticsService->segments; + * + */ + class Google_ManagementSegmentsServiceResource extends Google_ServiceResource { + + /** + * Lists advanced segments to which the user has access. (segments.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of advanced segments to include in this response. + * @opt_param int start-index An index of the first advanced segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Segments + */ + public function listManagementSegments($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Segments($data); + } else { + return $data; + } + } + } + /** + * The "uploads" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $uploads = $analyticsService->uploads; + * + */ + class Google_ManagementUploadsServiceResource extends Google_ServiceResource { + + /** + * Delete data associated with a previous upload. (uploads.deleteUploadData) + * + * @param string $accountId Account Id for the uploads to be deleted. + * @param string $webPropertyId Web property Id for the uploads to be deleted. + * @param string $customDataSourceId Custom data source Id for the uploads to be deleted. + * @param Google_AnalyticsDataimportDeleteUploadDataRequest $postBody + * @param array $optParams Optional parameters. + */ + public function deleteUploadData($accountId, $webPropertyId, $customDataSourceId, Google_AnalyticsDataimportDeleteUploadDataRequest $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('deleteUploadData', array($params)); + return $data; + } + /** + * List uploads to which the user has access. (uploads.get) + * + * @param string $accountId Account Id for the upload to retrieve. + * @param string $webPropertyId Web property Id for the upload to retrieve. + * @param string $customDataSourceId Custom data source Id for upload to retrieve. + * @param string $uploadId Upload Id to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Upload + */ + public function get($accountId, $webPropertyId, $customDataSourceId, $uploadId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId, 'uploadId' => $uploadId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Upload($data); + } else { + return $data; + } + } + /** + * List uploads to which the user has access. (uploads.list) + * + * @param string $accountId Account Id for the uploads to retrieve. + * @param string $webPropertyId Web property Id for the uploads to retrieve. + * @param string $customDataSourceId Custom data source Id for uploads to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of uploads to include in this response. + * @opt_param int start-index A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Uploads + */ + public function listManagementUploads($accountId, $webPropertyId, $customDataSourceId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Uploads($data); + } else { + return $data; + } + } + /** + * Upload/Overwrite data for a custom data source. (uploads.uploadData) + * + * @param string $accountId Account Id associated with the upload. + * @param string $webPropertyId Web property UA-string associated with the upload. + * @param string $customDataSourceId Custom data source Id to which the data being uploaded belongs. + * @param array $optParams Optional parameters. + * @return Google_Upload + */ + public function uploadData($accountId, $webPropertyId, $customDataSourceId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'customDataSourceId' => $customDataSourceId); + $params = array_merge($params, $optParams); + $data = $this->__call('uploadData', array($params)); + if ($this->useObjects()) { + return new Google_Upload($data); + } else { + return $data; + } + } + } + /** + * The "webproperties" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $webproperties = $analyticsService->webproperties; + * + */ + class Google_ManagementWebpropertiesServiceResource extends Google_ServiceResource { + + /** + * Gets a web property to which the user has access. (webproperties.get) + * + * @param string $accountId Account ID to retrieve the web property for. + * @param string $webPropertyId ID to retrieve the web property for. + * @param array $optParams Optional parameters. + * @return Google_Webproperty + */ + public function get($accountId, $webPropertyId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Webproperty($data); + } else { + return $data; + } + } + /** + * Create a new property if the account has fewer than 20 properties. + * (webproperties.insert) + * + * @param string $accountId Account ID to create the web property for. + * @param Google_Webproperty $postBody + * @param array $optParams Optional parameters. + * @return Google_Webproperty + */ + public function insert($accountId, Google_Webproperty $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Webproperty($data); + } else { + return $data; + } + } + /** + * Lists web properties to which the user has access. (webproperties.list) + * + * @param string $accountId Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of web properties to include in this response. + * @opt_param int start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_Webproperties + */ + public function listManagementWebproperties($accountId, $optParams = array()) { + $params = array('accountId' => $accountId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Webproperties($data); + } else { + return $data; + } + } + /** + * Updates an existing web property. This method supports patch semantics. + * (webproperties.patch) + * + * @param string $accountId Account ID to which the web property belongs + * @param string $webPropertyId Web property ID + * @param Google_Webproperty $postBody + * @param array $optParams Optional parameters. + * @return Google_Webproperty + */ + public function patch($accountId, $webPropertyId, Google_Webproperty $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Webproperty($data); + } else { + return $data; + } + } + /** + * Updates an existing web property. (webproperties.update) + * + * @param string $accountId Account ID to which the web property belongs + * @param string $webPropertyId Web property ID + * @param Google_Webproperty $postBody + * @param array $optParams Optional parameters. + * @return Google_Webproperty + */ + public function update($accountId, $webPropertyId, Google_Webproperty $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Webproperty($data); + } else { + return $data; + } + } + } + /** + * The "webpropertyUserLinks" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $webpropertyUserLinks = $analyticsService->webpropertyUserLinks; + * + */ + class Google_ManagementWebpropertyUserLinksServiceResource extends Google_ServiceResource { + + /** + * Removes a user from the given web property. (webpropertyUserLinks.delete) + * + * @param string $accountId Account ID to delete the user link for. + * @param string $webPropertyId Web Property ID to delete the user link for. + * @param string $linkId Link ID to delete the user link for. + * @param array $optParams Optional parameters. + */ + public function delete($accountId, $webPropertyId, $linkId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Adds a new user to the given web property. (webpropertyUserLinks.insert) + * + * @param string $accountId Account ID to create the user link for. + * @param string $webPropertyId Web Property ID to create the user link for. + * @param Google_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_EntityUserLink + */ + public function insert($accountId, $webPropertyId, Google_EntityUserLink $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLink($data); + } else { + return $data; + } + } + /** + * Lists webProperty-user links for a given web property. + * (webpropertyUserLinks.list) + * + * @param string $accountId Account ID which the given web property belongs to. + * @param string $webPropertyId Web Property ID for the webProperty-user links to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int max-results The maximum number of webProperty-user Links to include in this response. + * @opt_param int start-index An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. + * @return Google_EntityUserLinks + */ + public function listManagementWebpropertyUserLinks($accountId, $webPropertyId, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLinks($data); + } else { + return $data; + } + } + /** + * Updates permissions for an existing user on the given web property. + * (webpropertyUserLinks.update) + * + * @param string $accountId Account ID to update the account-user link for. + * @param string $webPropertyId Web property ID to update the account-user link for. + * @param string $linkId Link ID to update the account-user link for. + * @param Google_EntityUserLink $postBody + * @param array $optParams Optional parameters. + * @return Google_EntityUserLink + */ + public function update($accountId, $webPropertyId, $linkId, Google_EntityUserLink $postBody, $optParams = array()) { + $params = array('accountId' => $accountId, 'webPropertyId' => $webPropertyId, 'linkId' => $linkId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_EntityUserLink($data); + } else { + return $data; + } + } + } + + /** + * The "metadata" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $metadata = $analyticsService->metadata; + * + */ + class Google_MetadataServiceResource extends Google_ServiceResource { + + } + + /** + * The "columns" collection of methods. + * Typical usage is: + * + * $analyticsService = new Google_AnalyticsService(...); + * $columns = $analyticsService->columns; + * + */ + class Google_MetadataColumnsServiceResource extends Google_ServiceResource { + + /** + * Lists all columns for a report type (columns.list) + * + * @param string $reportType Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API + * @param array $optParams Optional parameters. + * @return Google_Columns + */ + public function listMetadataColumns($reportType, $optParams = array()) { + $params = array('reportType' => $reportType); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Columns($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Analytics (v3). + * + *

    + * View and manage your Google Analytics data + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_AnalyticsService extends Google_Service { + public $data_ga; + public $data_mcf; + public $data_realtime; + public $management_accountUserLinks; + public $management_accounts; + public $management_customDataSources; + public $management_dailyUploads; + public $management_experiments; + public $management_goals; + public $management_profileUserLinks; + public $management_profiles; + public $management_segments; + public $management_uploads; + public $management_webproperties; + public $management_webpropertyUserLinks; + public $metadata_columns; + /** + * Constructs the internal representation of the Analytics service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'analytics/v3/'; + $this->version = 'v3'; + $this->serviceName = 'analytics'; + + $client->addService($this->serviceName, $this->version); + $this->data_ga = new Google_DataGaServiceResource($this, $this->serviceName, 'ga', json_decode('{"methods": {"get": {"id": "analytics.data.ga.get", "path": "data/ga", "httpMethod": "GET", "parameters": {"dimensions": {"type": "string", "location": "query"}, "end-date": {"type": "string", "required": true, "location": "query"}, "filters": {"type": "string", "location": "query"}, "ids": {"type": "string", "required": true, "location": "query"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "metrics": {"type": "string", "required": true, "location": "query"}, "segment": {"type": "string", "location": "query"}, "sort": {"type": "string", "location": "query"}, "start-date": {"type": "string", "required": true, "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "GaData"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + $this->data_mcf = new Google_DataMcfServiceResource($this, $this->serviceName, 'mcf', json_decode('{"methods": {"get": {"id": "analytics.data.mcf.get", "path": "data/mcf", "httpMethod": "GET", "parameters": {"dimensions": {"type": "string", "location": "query"}, "end-date": {"type": "string", "required": true, "location": "query"}, "filters": {"type": "string", "location": "query"}, "ids": {"type": "string", "required": true, "location": "query"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "metrics": {"type": "string", "required": true, "location": "query"}, "sort": {"type": "string", "location": "query"}, "start-date": {"type": "string", "required": true, "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "McfData"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + $this->data_realtime = new Google_DataRealtimeServiceResource($this, $this->serviceName, 'realtime', json_decode('{"methods": {"get": {"id": "analytics.data.realtime.get", "path": "data/realtime", "httpMethod": "GET", "parameters": {"dimensions": {"type": "string", "location": "query"}, "filters": {"type": "string", "location": "query"}, "ids": {"type": "string", "required": true, "location": "query"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "metrics": {"type": "string", "required": true, "location": "query"}, "sort": {"type": "string", "location": "query"}}, "response": {"$ref": "RealtimeData"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + $this->management_accountUserLinks = new Google_ManagementAccountUserLinksServiceResource($this, $this->serviceName, 'accountUserLinks', json_decode('{"methods": {"delete": {"id": "analytics.management.accountUserLinks.delete", "path": "management/accounts/{accountId}/entityUserLinks/{linkId}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "linkId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "insert": {"id": "analytics.management.accountUserLinks.insert", "path": "management/accounts/{accountId}/entityUserLinks", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "EntityUserLink"}, "response": {"$ref": "EntityUserLink"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "list": {"id": "analytics.management.accountUserLinks.list", "path": "management/accounts/{accountId}/entityUserLinks", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "EntityUserLinks"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "update": {"id": "analytics.management.accountUserLinks.update", "path": "management/accounts/{accountId}/entityUserLinks/{linkId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "linkId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "EntityUserLink"}, "response": {"$ref": "EntityUserLink"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}}}', true)); + $this->management_accounts = new Google_ManagementAccountsServiceResource($this, $this->serviceName, 'accounts', json_decode('{"methods": {"list": {"id": "analytics.management.accounts.list", "path": "management/accounts", "httpMethod": "GET", "parameters": {"max-results": {"type": "integer", "format": "int32", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "Accounts"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + $this->management_customDataSources = new Google_ManagementCustomDataSourcesServiceResource($this, $this->serviceName, 'customDataSources', json_decode('{"methods": {"list": {"id": "analytics.management.customDataSources.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CustomDataSources"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + $this->management_dailyUploads = new Google_ManagementDailyUploadsServiceResource($this, $this->serviceName, 'dailyUploads', json_decode('{"methods": {"delete": {"id": "analytics.management.dailyUploads.delete", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "date": {"type": "string", "required": true, "location": "path"}, "type": {"type": "string", "required": true, "enum": ["cost"], "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "list": {"id": "analytics.management.dailyUploads.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "end-date": {"type": "string", "required": true, "location": "query"}, "max-results": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "start-date": {"type": "string", "required": true, "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "DailyUploads"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "upload": {"id": "analytics.management.dailyUploads.upload", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "appendNumber": {"type": "integer", "required": true, "format": "int32", "minimum": "1", "maximum": "20", "location": "query"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "date": {"type": "string", "required": true, "location": "path"}, "reset": {"type": "boolean", "default": "false", "location": "query"}, "type": {"type": "string", "required": true, "enum": ["cost"], "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "DailyUploadAppend"}, "scopes": ["https://www.googleapis.com/auth/analytics"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["application/octet-stream"], "maxSize": "5MB", "protocols": {"simple": {"multipart": true, "path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads"}, "resumable": {"multipart": true, "path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/dailyUploads/{date}/uploads"}}}}}}', true)); + $this->management_experiments = new Google_ManagementExperimentsServiceResource($this, $this->serviceName, 'experiments', json_decode('{"methods": {"delete": {"id": "analytics.management.experiments.delete", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "experimentId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "get": {"id": "analytics.management.experiments.get", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "experimentId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Experiment"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "insert": {"id": "analytics.management.experiments.insert", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Experiment"}, "response": {"$ref": "Experiment"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "list": {"id": "analytics.management.experiments.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "profileId": {"type": "string", "required": true, "location": "path"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Experiments"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "patch": {"id": "analytics.management.experiments.patch", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", "httpMethod": "PATCH", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "experimentId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Experiment"}, "response": {"$ref": "Experiment"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "update": {"id": "analytics.management.experiments.update", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "experimentId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Experiment"}, "response": {"$ref": "Experiment"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}}}', true)); + $this->management_goals = new Google_ManagementGoalsServiceResource($this, $this->serviceName, 'goals', json_decode('{"methods": {"get": {"id": "analytics.management.goals.get", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "goalId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Goal"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "insert": {"id": "analytics.management.goals.insert", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Goal"}, "response": {"$ref": "Goal"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "list": {"id": "analytics.management.goals.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "profileId": {"type": "string", "required": true, "location": "path"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Goals"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "patch": {"id": "analytics.management.goals.patch", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", "httpMethod": "PATCH", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "goalId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Goal"}, "response": {"$ref": "Goal"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "update": {"id": "analytics.management.goals.update", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "goalId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Goal"}, "response": {"$ref": "Goal"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}}}', true)); + $this->management_profileUserLinks = new Google_ManagementProfileUserLinksServiceResource($this, $this->serviceName, 'profileUserLinks', json_decode('{"methods": {"delete": {"id": "analytics.management.profileUserLinks.delete", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "linkId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "insert": {"id": "analytics.management.profileUserLinks.insert", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "EntityUserLink"}, "response": {"$ref": "EntityUserLink"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "list": {"id": "analytics.management.profileUserLinks.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "profileId": {"type": "string", "required": true, "location": "path"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "EntityUserLinks"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "update": {"id": "analytics.management.profileUserLinks.update", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "linkId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "EntityUserLink"}, "response": {"$ref": "EntityUserLink"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}}}', true)); + $this->management_profiles = new Google_ManagementProfilesServiceResource($this, $this->serviceName, 'profiles', json_decode('{"methods": {"delete": {"id": "analytics.management.profiles.delete", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "get": {"id": "analytics.management.profiles.get", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Profile"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "insert": {"id": "analytics.management.profiles.insert", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Profile"}, "response": {"$ref": "Profile"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "list": {"id": "analytics.management.profiles.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Profiles"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "patch": {"id": "analytics.management.profiles.patch", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", "httpMethod": "PATCH", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Profile"}, "response": {"$ref": "Profile"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "update": {"id": "analytics.management.profiles.update", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "profileId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Profile"}, "response": {"$ref": "Profile"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}}}', true)); + $this->management_segments = new Google_ManagementSegmentsServiceResource($this, $this->serviceName, 'segments', json_decode('{"methods": {"list": {"id": "analytics.management.segments.list", "path": "management/segments", "httpMethod": "GET", "parameters": {"max-results": {"type": "integer", "format": "int32", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "Segments"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + $this->management_uploads = new Google_ManagementUploadsServiceResource($this, $this->serviceName, 'uploads', json_decode('{"methods": {"deleteUploadData": {"id": "analytics.management.uploads.deleteUploadData", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AnalyticsDataimportDeleteUploadDataRequest"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "get": {"id": "analytics.management.uploads.get", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "uploadId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Upload"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "list": {"id": "analytics.management.uploads.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Uploads"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "uploadData": {"id": "analytics.management.uploads.uploadData", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "customDataSourceId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Upload"}, "scopes": ["https://www.googleapis.com/auth/analytics"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["application/octet-stream"], "maxSize": "1GB", "protocols": {"simple": {"multipart": true, "path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads"}, "resumable": {"multipart": true, "path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads"}}}}}}', true)); + $this->management_webproperties = new Google_ManagementWebpropertiesServiceResource($this, $this->serviceName, 'webproperties', json_decode('{"methods": {"get": {"id": "analytics.management.webproperties.get", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Webproperty"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "insert": {"id": "analytics.management.webproperties.insert", "path": "management/accounts/{accountId}/webproperties", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Webproperty"}, "response": {"$ref": "Webproperty"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "list": {"id": "analytics.management.webproperties.list", "path": "management/accounts/{accountId}/webproperties", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "Webproperties"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}, "patch": {"id": "analytics.management.webproperties.patch", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}", "httpMethod": "PATCH", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Webproperty"}, "response": {"$ref": "Webproperty"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}, "update": {"id": "analytics.management.webproperties.update", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Webproperty"}, "response": {"$ref": "Webproperty"}, "scopes": ["https://www.googleapis.com/auth/analytics"]}}}', true)); + $this->management_webpropertyUserLinks = new Google_ManagementWebpropertyUserLinksServiceResource($this, $this->serviceName, 'webpropertyUserLinks', json_decode('{"methods": {"delete": {"id": "analytics.management.webpropertyUserLinks.delete", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}", "httpMethod": "DELETE", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "linkId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "insert": {"id": "analytics.management.webpropertyUserLinks.insert", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks", "httpMethod": "POST", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "EntityUserLink"}, "response": {"$ref": "EntityUserLink"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "list": {"id": "analytics.management.webpropertyUserLinks.list", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks", "httpMethod": "GET", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "max-results": {"type": "integer", "format": "int32", "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "EntityUserLinks"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}, "update": {"id": "analytics.management.webpropertyUserLinks.update", "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}", "httpMethod": "PUT", "parameters": {"accountId": {"type": "string", "required": true, "location": "path"}, "linkId": {"type": "string", "required": true, "location": "path"}, "webPropertyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "EntityUserLink"}, "response": {"$ref": "EntityUserLink"}, "scopes": ["https://www.googleapis.com/auth/analytics.manage.users"]}}}', true)); + $this->metadata_columns = new Google_MetadataColumnsServiceResource($this, $this->serviceName, 'columns', json_decode('{"methods": {"list": {"id": "analytics.metadata.columns.list", "path": "metadata/{reportType}/columns", "httpMethod": "GET", "parameters": {"reportType": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Columns"}, "scopes": ["https://www.googleapis.com/auth/analytics", "https://www.googleapis.com/auth/analytics.readonly"]}}}', true)); + + } +} + + + +class Google_Account extends Google_Model { + protected $__childLinkType = 'Google_AccountChildLink'; + protected $__childLinkDataType = ''; + public $childLink; + public $created; + public $id; + public $kind; + public $name; + protected $__permissionsType = 'Google_AccountPermissions'; + protected $__permissionsDataType = ''; + public $permissions; + public $selfLink; + public $updated; + public function setChildLink(Google_AccountChildLink $childLink) { + $this->childLink = $childLink; + } + public function getChildLink() { + return $this->childLink; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPermissions(Google_AccountPermissions $permissions) { + $this->permissions = $permissions; + } + public function getPermissions() { + return $this->permissions; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_AccountChildLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_AccountPermissions extends Google_Model { + public $effective; + public function setEffective(/* array(Google_string) */ $effective) { + $this->assertIsArray($effective, 'Google_string', __METHOD__); + $this->effective = $effective; + } + public function getEffective() { + return $this->effective; + } +} + +class Google_AccountRef extends Google_Model { + public $href; + public $id; + public $kind; + public $name; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_Accounts extends Google_Model { + protected $__itemsType = 'Google_Account'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_Account) */ $items) { + $this->assertIsArray($items, 'Google_Account', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_AnalyticsDataimportDeleteUploadDataRequest extends Google_Model { + public $customDataImportUids; + public function setCustomDataImportUids(/* array(Google_string) */ $customDataImportUids) { + $this->assertIsArray($customDataImportUids, 'Google_string', __METHOD__); + $this->customDataImportUids = $customDataImportUids; + } + public function getCustomDataImportUids() { + return $this->customDataImportUids; + } +} + +class Google_Column extends Google_Model { + public $attributes; + public $id; + public $kind; + public function setAttributes( $attributes) { + $this->attributes = $attributes; + } + public function getAttributes() { + return $this->attributes; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Columns extends Google_Model { + public $attributeNames; + public $etag; + protected $__itemsType = 'Google_Column'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $totalResults; + public function setAttributeNames(/* array(Google_string) */ $attributeNames) { + $this->assertIsArray($attributeNames, 'Google_string', __METHOD__); + $this->attributeNames = $attributeNames; + } + public function getAttributeNames() { + return $this->attributeNames; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Column) */ $items) { + $this->assertIsArray($items, 'Google_Column', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } +} + +class Google_CustomDataSource extends Google_Model { + public $accountId; + protected $__childLinkType = 'Google_CustomDataSourceChildLink'; + protected $__childLinkDataType = ''; + public $childLink; + public $created; + public $description; + public $id; + public $kind; + public $name; + protected $__parentLinkType = 'Google_CustomDataSourceParentLink'; + protected $__parentLinkDataType = ''; + public $parentLink; + public $profilesLinked; + public $selfLink; + public $type; + public $updated; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setChildLink(Google_CustomDataSourceChildLink $childLink) { + $this->childLink = $childLink; + } + public function getChildLink() { + return $this->childLink; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setParentLink(Google_CustomDataSourceParentLink $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setProfilesLinked(/* array(Google_string) */ $profilesLinked) { + $this->assertIsArray($profilesLinked, 'Google_string', __METHOD__); + $this->profilesLinked = $profilesLinked; + } + public function getProfilesLinked() { + return $this->profilesLinked; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_CustomDataSourceChildLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_CustomDataSourceParentLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_CustomDataSources extends Google_Model { + protected $__itemsType = 'Google_CustomDataSource'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_CustomDataSource) */ $items) { + $this->assertIsArray($items, 'Google_CustomDataSource', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_DailyUpload extends Google_Model { + public $accountId; + public $appendCount; + public $createdTime; + public $customDataSourceId; + public $date; + public $kind; + public $modifiedTime; + protected $__parentLinkType = 'Google_DailyUploadParentLink'; + protected $__parentLinkDataType = ''; + public $parentLink; + protected $__recentChangesType = 'Google_DailyUploadRecentChanges'; + protected $__recentChangesDataType = 'array'; + public $recentChanges; + public $selfLink; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setAppendCount( $appendCount) { + $this->appendCount = $appendCount; + } + public function getAppendCount() { + return $this->appendCount; + } + public function setCreatedTime( $createdTime) { + $this->createdTime = $createdTime; + } + public function getCreatedTime() { + return $this->createdTime; + } + public function setCustomDataSourceId( $customDataSourceId) { + $this->customDataSourceId = $customDataSourceId; + } + public function getCustomDataSourceId() { + return $this->customDataSourceId; + } + public function setDate( $date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModifiedTime( $modifiedTime) { + $this->modifiedTime = $modifiedTime; + } + public function getModifiedTime() { + return $this->modifiedTime; + } + public function setParentLink(Google_DailyUploadParentLink $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setRecentChanges(/* array(Google_DailyUploadRecentChanges) */ $recentChanges) { + $this->assertIsArray($recentChanges, 'Google_DailyUploadRecentChanges', __METHOD__); + $this->recentChanges = $recentChanges; + } + public function getRecentChanges() { + return $this->recentChanges; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_DailyUploadAppend extends Google_Model { + public $accountId; + public $appendNumber; + public $customDataSourceId; + public $date; + public $kind; + public $nextAppendLink; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setAppendNumber( $appendNumber) { + $this->appendNumber = $appendNumber; + } + public function getAppendNumber() { + return $this->appendNumber; + } + public function setCustomDataSourceId( $customDataSourceId) { + $this->customDataSourceId = $customDataSourceId; + } + public function getCustomDataSourceId() { + return $this->customDataSourceId; + } + public function setDate( $date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextAppendLink( $nextAppendLink) { + $this->nextAppendLink = $nextAppendLink; + } + public function getNextAppendLink() { + return $this->nextAppendLink; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_DailyUploadParentLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_DailyUploadRecentChanges extends Google_Model { + public $change; + public $time; + public function setChange( $change) { + $this->change = $change; + } + public function getChange() { + return $this->change; + } + public function setTime( $time) { + $this->time = $time; + } + public function getTime() { + return $this->time; + } +} + +class Google_DailyUploads extends Google_Model { + protected $__itemsType = 'Google_DailyUpload'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_DailyUpload) */ $items) { + $this->assertIsArray($items, 'Google_DailyUpload', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_EntityUserLink extends Google_Model { + protected $__entityType = 'Google_EntityUserLinkEntity'; + protected $__entityDataType = ''; + public $entity; + public $id; + public $kind; + protected $__permissionsType = 'Google_EntityUserLinkPermissions'; + protected $__permissionsDataType = ''; + public $permissions; + public $selfLink; + protected $__userRefType = 'Google_UserRef'; + protected $__userRefDataType = ''; + public $userRef; + public function setEntity(Google_EntityUserLinkEntity $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPermissions(Google_EntityUserLinkPermissions $permissions) { + $this->permissions = $permissions; + } + public function getPermissions() { + return $this->permissions; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUserRef(Google_UserRef $userRef) { + $this->userRef = $userRef; + } + public function getUserRef() { + return $this->userRef; + } +} + +class Google_EntityUserLinkEntity extends Google_Model { + protected $__accountRefType = 'Google_AccountRef'; + protected $__accountRefDataType = ''; + public $accountRef; + protected $__profileRefType = 'Google_ProfileRef'; + protected $__profileRefDataType = ''; + public $profileRef; + protected $__webPropertyRefType = 'Google_WebPropertyRef'; + protected $__webPropertyRefDataType = ''; + public $webPropertyRef; + public function setAccountRef(Google_AccountRef $accountRef) { + $this->accountRef = $accountRef; + } + public function getAccountRef() { + return $this->accountRef; + } + public function setProfileRef(Google_ProfileRef $profileRef) { + $this->profileRef = $profileRef; + } + public function getProfileRef() { + return $this->profileRef; + } + public function setWebPropertyRef(Google_WebPropertyRef $webPropertyRef) { + $this->webPropertyRef = $webPropertyRef; + } + public function getWebPropertyRef() { + return $this->webPropertyRef; + } +} + +class Google_EntityUserLinkPermissions extends Google_Model { + public $effective; + public $local; + public function setEffective(/* array(Google_string) */ $effective) { + $this->assertIsArray($effective, 'Google_string', __METHOD__); + $this->effective = $effective; + } + public function getEffective() { + return $this->effective; + } + public function setLocal(/* array(Google_string) */ $local) { + $this->assertIsArray($local, 'Google_string', __METHOD__); + $this->local = $local; + } + public function getLocal() { + return $this->local; + } +} + +class Google_EntityUserLinks extends Google_Model { + protected $__itemsType = 'Google_EntityUserLink'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public function setItems(/* array(Google_EntityUserLink) */ $items) { + $this->assertIsArray($items, 'Google_EntityUserLink', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } +} + +class Google_Experiment extends Google_Model { + public $accountId; + public $created; + public $description; + public $editableInGaUi; + public $endTime; + public $id; + public $internalWebPropertyId; + public $kind; + public $minimumExperimentLengthInDays; + public $name; + public $objectiveMetric; + public $optimizationType; + protected $__parentLinkType = 'Google_ExperimentParentLink'; + protected $__parentLinkDataType = ''; + public $parentLink; + public $profileId; + public $reasonExperimentEnded; + public $rewriteVariationUrlsAsOriginal; + public $selfLink; + public $servingFramework; + public $snippet; + public $startTime; + public $status; + public $trafficCoverage; + public $updated; + protected $__variationsType = 'Google_ExperimentVariations'; + protected $__variationsDataType = 'array'; + public $variations; + public $webPropertyId; + public $winnerConfidenceLevel; + public $winnerFound; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEditableInGaUi( $editableInGaUi) { + $this->editableInGaUi = $editableInGaUi; + } + public function getEditableInGaUi() { + return $this->editableInGaUi; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMinimumExperimentLengthInDays( $minimumExperimentLengthInDays) { + $this->minimumExperimentLengthInDays = $minimumExperimentLengthInDays; + } + public function getMinimumExperimentLengthInDays() { + return $this->minimumExperimentLengthInDays; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setObjectiveMetric( $objectiveMetric) { + $this->objectiveMetric = $objectiveMetric; + } + public function getObjectiveMetric() { + return $this->objectiveMetric; + } + public function setOptimizationType( $optimizationType) { + $this->optimizationType = $optimizationType; + } + public function getOptimizationType() { + return $this->optimizationType; + } + public function setParentLink(Google_ExperimentParentLink $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setReasonExperimentEnded( $reasonExperimentEnded) { + $this->reasonExperimentEnded = $reasonExperimentEnded; + } + public function getReasonExperimentEnded() { + return $this->reasonExperimentEnded; + } + public function setRewriteVariationUrlsAsOriginal( $rewriteVariationUrlsAsOriginal) { + $this->rewriteVariationUrlsAsOriginal = $rewriteVariationUrlsAsOriginal; + } + public function getRewriteVariationUrlsAsOriginal() { + return $this->rewriteVariationUrlsAsOriginal; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setServingFramework( $servingFramework) { + $this->servingFramework = $servingFramework; + } + public function getServingFramework() { + return $this->servingFramework; + } + public function setSnippet( $snippet) { + $this->snippet = $snippet; + } + public function getSnippet() { + return $this->snippet; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setTrafficCoverage( $trafficCoverage) { + $this->trafficCoverage = $trafficCoverage; + } + public function getTrafficCoverage() { + return $this->trafficCoverage; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVariations(/* array(Google_ExperimentVariations) */ $variations) { + $this->assertIsArray($variations, 'Google_ExperimentVariations', __METHOD__); + $this->variations = $variations; + } + public function getVariations() { + return $this->variations; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } + public function setWinnerConfidenceLevel( $winnerConfidenceLevel) { + $this->winnerConfidenceLevel = $winnerConfidenceLevel; + } + public function getWinnerConfidenceLevel() { + return $this->winnerConfidenceLevel; + } + public function setWinnerFound( $winnerFound) { + $this->winnerFound = $winnerFound; + } + public function getWinnerFound() { + return $this->winnerFound; + } +} + +class Google_ExperimentParentLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ExperimentVariations extends Google_Model { + public $name; + public $status; + public $url; + public $weight; + public $won; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWeight( $weight) { + $this->weight = $weight; + } + public function getWeight() { + return $this->weight; + } + public function setWon( $won) { + $this->won = $won; + } + public function getWon() { + return $this->won; + } +} + +class Google_Experiments extends Google_Model { + protected $__itemsType = 'Google_Experiment'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_Experiment) */ $items) { + $this->assertIsArray($items, 'Google_Experiment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_GaData extends Google_Model { + protected $__columnHeadersType = 'Google_GaDataColumnHeaders'; + protected $__columnHeadersDataType = 'array'; + public $columnHeaders; + public $containsSampledData; + public $id; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + protected $__profileInfoType = 'Google_GaDataProfileInfo'; + protected $__profileInfoDataType = ''; + public $profileInfo; + protected $__queryType = 'Google_GaDataQuery'; + protected $__queryDataType = ''; + public $query; + public $rows; + public $selfLink; + public $totalResults; + public $totalsForAllResults; + public function setColumnHeaders(/* array(Google_GaDataColumnHeaders) */ $columnHeaders) { + $this->assertIsArray($columnHeaders, 'Google_GaDataColumnHeaders', __METHOD__); + $this->columnHeaders = $columnHeaders; + } + public function getColumnHeaders() { + return $this->columnHeaders; + } + public function setContainsSampledData( $containsSampledData) { + $this->containsSampledData = $containsSampledData; + } + public function getContainsSampledData() { + return $this->containsSampledData; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setProfileInfo(Google_GaDataProfileInfo $profileInfo) { + $this->profileInfo = $profileInfo; + } + public function getProfileInfo() { + return $this->profileInfo; + } + public function setQuery(Google_GaDataQuery $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setRows(/* array(Google_string) */ $rows) { + $this->assertIsArray($rows, 'Google_string', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setTotalsForAllResults( $totalsForAllResults) { + $this->totalsForAllResults = $totalsForAllResults; + } + public function getTotalsForAllResults() { + return $this->totalsForAllResults; + } +} + +class Google_GaDataColumnHeaders extends Google_Model { + public $columnType; + public $dataType; + public $name; + public function setColumnType( $columnType) { + $this->columnType = $columnType; + } + public function getColumnType() { + return $this->columnType; + } + public function setDataType( $dataType) { + $this->dataType = $dataType; + } + public function getDataType() { + return $this->dataType; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_GaDataProfileInfo extends Google_Model { + public $accountId; + public $internalWebPropertyId; + public $profileId; + public $profileName; + public $tableId; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setProfileName( $profileName) { + $this->profileName = $profileName; + } + public function getProfileName() { + return $this->profileName; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_GaDataQuery extends Google_Model { + public $dimensions; + public $end_date; + public $filters; + public $ids; + public $max_results; + public $metrics; + public $segment; + public $sort; + public $start_date; + public $start_index; + public function setDimensions( $dimensions) { + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setEnd_date( $end_date) { + $this->end_date = $end_date; + } + public function getEnd_date() { + return $this->end_date; + } + public function setFilters( $filters) { + $this->filters = $filters; + } + public function getFilters() { + return $this->filters; + } + public function setIds( $ids) { + $this->ids = $ids; + } + public function getIds() { + return $this->ids; + } + public function setMax_results( $max_results) { + $this->max_results = $max_results; + } + public function getMax_results() { + return $this->max_results; + } + public function setMetrics(/* array(Google_string) */ $metrics) { + $this->assertIsArray($metrics, 'Google_string', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setSegment( $segment) { + $this->segment = $segment; + } + public function getSegment() { + return $this->segment; + } + public function setSort(/* array(Google_string) */ $sort) { + $this->assertIsArray($sort, 'Google_string', __METHOD__); + $this->sort = $sort; + } + public function getSort() { + return $this->sort; + } + public function setStart_date( $start_date) { + $this->start_date = $start_date; + } + public function getStart_date() { + return $this->start_date; + } + public function setStart_index( $start_index) { + $this->start_index = $start_index; + } + public function getStart_index() { + return $this->start_index; + } +} + +class Google_Goal extends Google_Model { + public $accountId; + public $active; + public $created; + protected $__eventDetailsType = 'Google_GoalEventDetails'; + protected $__eventDetailsDataType = ''; + public $eventDetails; + public $id; + public $internalWebPropertyId; + public $kind; + public $name; + protected $__parentLinkType = 'Google_GoalParentLink'; + protected $__parentLinkDataType = ''; + public $parentLink; + public $profileId; + public $selfLink; + public $type; + public $updated; + protected $__urlDestinationDetailsType = 'Google_GoalUrlDestinationDetails'; + protected $__urlDestinationDetailsDataType = ''; + public $urlDestinationDetails; + public $value; + protected $__visitNumPagesDetailsType = 'Google_GoalVisitNumPagesDetails'; + protected $__visitNumPagesDetailsDataType = ''; + public $visitNumPagesDetails; + protected $__visitTimeOnSiteDetailsType = 'Google_GoalVisitTimeOnSiteDetails'; + protected $__visitTimeOnSiteDetailsDataType = ''; + public $visitTimeOnSiteDetails; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setActive( $active) { + $this->active = $active; + } + public function getActive() { + return $this->active; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setEventDetails(Google_GoalEventDetails $eventDetails) { + $this->eventDetails = $eventDetails; + } + public function getEventDetails() { + return $this->eventDetails; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setParentLink(Google_GoalParentLink $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrlDestinationDetails(Google_GoalUrlDestinationDetails $urlDestinationDetails) { + $this->urlDestinationDetails = $urlDestinationDetails; + } + public function getUrlDestinationDetails() { + return $this->urlDestinationDetails; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } + public function setVisitNumPagesDetails(Google_GoalVisitNumPagesDetails $visitNumPagesDetails) { + $this->visitNumPagesDetails = $visitNumPagesDetails; + } + public function getVisitNumPagesDetails() { + return $this->visitNumPagesDetails; + } + public function setVisitTimeOnSiteDetails(Google_GoalVisitTimeOnSiteDetails $visitTimeOnSiteDetails) { + $this->visitTimeOnSiteDetails = $visitTimeOnSiteDetails; + } + public function getVisitTimeOnSiteDetails() { + return $this->visitTimeOnSiteDetails; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_GoalEventDetails extends Google_Model { + protected $__eventConditionsType = 'Google_GoalEventDetailsEventConditions'; + protected $__eventConditionsDataType = 'array'; + public $eventConditions; + public $useEventValue; + public function setEventConditions(/* array(Google_GoalEventDetailsEventConditions) */ $eventConditions) { + $this->assertIsArray($eventConditions, 'Google_GoalEventDetailsEventConditions', __METHOD__); + $this->eventConditions = $eventConditions; + } + public function getEventConditions() { + return $this->eventConditions; + } + public function setUseEventValue( $useEventValue) { + $this->useEventValue = $useEventValue; + } + public function getUseEventValue() { + return $this->useEventValue; + } +} + +class Google_GoalEventDetailsEventConditions extends Google_Model { + public $comparisonType; + public $comparisonValue; + public $expression; + public $matchType; + public $type; + public function setComparisonType( $comparisonType) { + $this->comparisonType = $comparisonType; + } + public function getComparisonType() { + return $this->comparisonType; + } + public function setComparisonValue( $comparisonValue) { + $this->comparisonValue = $comparisonValue; + } + public function getComparisonValue() { + return $this->comparisonValue; + } + public function setExpression( $expression) { + $this->expression = $expression; + } + public function getExpression() { + return $this->expression; + } + public function setMatchType( $matchType) { + $this->matchType = $matchType; + } + public function getMatchType() { + return $this->matchType; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_GoalParentLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_GoalUrlDestinationDetails extends Google_Model { + public $caseSensitive; + public $firstStepRequired; + public $matchType; + protected $__stepsType = 'Google_GoalUrlDestinationDetailsSteps'; + protected $__stepsDataType = 'array'; + public $steps; + public $url; + public function setCaseSensitive( $caseSensitive) { + $this->caseSensitive = $caseSensitive; + } + public function getCaseSensitive() { + return $this->caseSensitive; + } + public function setFirstStepRequired( $firstStepRequired) { + $this->firstStepRequired = $firstStepRequired; + } + public function getFirstStepRequired() { + return $this->firstStepRequired; + } + public function setMatchType( $matchType) { + $this->matchType = $matchType; + } + public function getMatchType() { + return $this->matchType; + } + public function setSteps(/* array(Google_GoalUrlDestinationDetailsSteps) */ $steps) { + $this->assertIsArray($steps, 'Google_GoalUrlDestinationDetailsSteps', __METHOD__); + $this->steps = $steps; + } + public function getSteps() { + return $this->steps; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_GoalUrlDestinationDetailsSteps extends Google_Model { + public $name; + public $number; + public $url; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNumber( $number) { + $this->number = $number; + } + public function getNumber() { + return $this->number; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_GoalVisitNumPagesDetails extends Google_Model { + public $comparisonType; + public $comparisonValue; + public function setComparisonType( $comparisonType) { + $this->comparisonType = $comparisonType; + } + public function getComparisonType() { + return $this->comparisonType; + } + public function setComparisonValue( $comparisonValue) { + $this->comparisonValue = $comparisonValue; + } + public function getComparisonValue() { + return $this->comparisonValue; + } +} + +class Google_GoalVisitTimeOnSiteDetails extends Google_Model { + public $comparisonType; + public $comparisonValue; + public function setComparisonType( $comparisonType) { + $this->comparisonType = $comparisonType; + } + public function getComparisonType() { + return $this->comparisonType; + } + public function setComparisonValue( $comparisonValue) { + $this->comparisonValue = $comparisonValue; + } + public function getComparisonValue() { + return $this->comparisonValue; + } +} + +class Google_Goals extends Google_Model { + protected $__itemsType = 'Google_Goal'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_Goal) */ $items) { + $this->assertIsArray($items, 'Google_Goal', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_McfData extends Google_Model { + protected $__columnHeadersType = 'Google_McfDataColumnHeaders'; + protected $__columnHeadersDataType = 'array'; + public $columnHeaders; + public $containsSampledData; + public $id; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + protected $__profileInfoType = 'Google_McfDataProfileInfo'; + protected $__profileInfoDataType = ''; + public $profileInfo; + protected $__queryType = 'Google_McfDataQuery'; + protected $__queryDataType = ''; + public $query; + protected $__rowsType = 'Google_McfDataRows'; + protected $__rowsDataType = 'array'; + public $rows; + public $selfLink; + public $totalResults; + public $totalsForAllResults; + public function setColumnHeaders(/* array(Google_McfDataColumnHeaders) */ $columnHeaders) { + $this->assertIsArray($columnHeaders, 'Google_McfDataColumnHeaders', __METHOD__); + $this->columnHeaders = $columnHeaders; + } + public function getColumnHeaders() { + return $this->columnHeaders; + } + public function setContainsSampledData( $containsSampledData) { + $this->containsSampledData = $containsSampledData; + } + public function getContainsSampledData() { + return $this->containsSampledData; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setProfileInfo(Google_McfDataProfileInfo $profileInfo) { + $this->profileInfo = $profileInfo; + } + public function getProfileInfo() { + return $this->profileInfo; + } + public function setQuery(Google_McfDataQuery $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setRows(/* array(Google_McfDataRows) */ $rows) { + $this->assertIsArray($rows, 'Google_McfDataRows', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setTotalsForAllResults( $totalsForAllResults) { + $this->totalsForAllResults = $totalsForAllResults; + } + public function getTotalsForAllResults() { + return $this->totalsForAllResults; + } +} + +class Google_McfDataColumnHeaders extends Google_Model { + public $columnType; + public $dataType; + public $name; + public function setColumnType( $columnType) { + $this->columnType = $columnType; + } + public function getColumnType() { + return $this->columnType; + } + public function setDataType( $dataType) { + $this->dataType = $dataType; + } + public function getDataType() { + return $this->dataType; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_McfDataProfileInfo extends Google_Model { + public $accountId; + public $internalWebPropertyId; + public $profileId; + public $profileName; + public $tableId; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setProfileName( $profileName) { + $this->profileName = $profileName; + } + public function getProfileName() { + return $this->profileName; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_McfDataQuery extends Google_Model { + public $dimensions; + public $end_date; + public $filters; + public $ids; + public $max_results; + public $metrics; + public $segment; + public $sort; + public $start_date; + public $start_index; + public function setDimensions( $dimensions) { + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setEnd_date( $end_date) { + $this->end_date = $end_date; + } + public function getEnd_date() { + return $this->end_date; + } + public function setFilters( $filters) { + $this->filters = $filters; + } + public function getFilters() { + return $this->filters; + } + public function setIds( $ids) { + $this->ids = $ids; + } + public function getIds() { + return $this->ids; + } + public function setMax_results( $max_results) { + $this->max_results = $max_results; + } + public function getMax_results() { + return $this->max_results; + } + public function setMetrics(/* array(Google_string) */ $metrics) { + $this->assertIsArray($metrics, 'Google_string', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setSegment( $segment) { + $this->segment = $segment; + } + public function getSegment() { + return $this->segment; + } + public function setSort(/* array(Google_string) */ $sort) { + $this->assertIsArray($sort, 'Google_string', __METHOD__); + $this->sort = $sort; + } + public function getSort() { + return $this->sort; + } + public function setStart_date( $start_date) { + $this->start_date = $start_date; + } + public function getStart_date() { + return $this->start_date; + } + public function setStart_index( $start_index) { + $this->start_index = $start_index; + } + public function getStart_index() { + return $this->start_index; + } +} + +class Google_McfDataRows extends Google_Model { + protected $__conversionPathValueType = 'Google_McfDataRowsConversionPathValue'; + protected $__conversionPathValueDataType = 'array'; + public $conversionPathValue; + public $primitiveValue; + public function setConversionPathValue(/* array(Google_McfDataRowsConversionPathValue) */ $conversionPathValue) { + $this->assertIsArray($conversionPathValue, 'Google_McfDataRowsConversionPathValue', __METHOD__); + $this->conversionPathValue = $conversionPathValue; + } + public function getConversionPathValue() { + return $this->conversionPathValue; + } + public function setPrimitiveValue( $primitiveValue) { + $this->primitiveValue = $primitiveValue; + } + public function getPrimitiveValue() { + return $this->primitiveValue; + } +} + +class Google_McfDataRowsConversionPathValue extends Google_Model { + public $interactionType; + public $nodeValue; + public function setInteractionType( $interactionType) { + $this->interactionType = $interactionType; + } + public function getInteractionType() { + return $this->interactionType; + } + public function setNodeValue( $nodeValue) { + $this->nodeValue = $nodeValue; + } + public function getNodeValue() { + return $this->nodeValue; + } +} + +class Google_Profile extends Google_Model { + public $accountId; + protected $__childLinkType = 'Google_ProfileChildLink'; + protected $__childLinkDataType = ''; + public $childLink; + public $created; + public $currency; + public $defaultPage; + public $eCommerceTracking; + public $excludeQueryParameters; + public $id; + public $internalWebPropertyId; + public $kind; + public $name; + protected $__parentLinkType = 'Google_ProfileParentLink'; + protected $__parentLinkDataType = ''; + public $parentLink; + protected $__permissionsType = 'Google_ProfilePermissions'; + protected $__permissionsDataType = ''; + public $permissions; + public $selfLink; + public $siteSearchCategoryParameters; + public $siteSearchQueryParameters; + public $timezone; + public $type; + public $updated; + public $webPropertyId; + public $websiteUrl; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setChildLink(Google_ProfileChildLink $childLink) { + $this->childLink = $childLink; + } + public function getChildLink() { + return $this->childLink; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setCurrency( $currency) { + $this->currency = $currency; + } + public function getCurrency() { + return $this->currency; + } + public function setDefaultPage( $defaultPage) { + $this->defaultPage = $defaultPage; + } + public function getDefaultPage() { + return $this->defaultPage; + } + public function setECommerceTracking( $eCommerceTracking) { + $this->eCommerceTracking = $eCommerceTracking; + } + public function getECommerceTracking() { + return $this->eCommerceTracking; + } + public function setExcludeQueryParameters( $excludeQueryParameters) { + $this->excludeQueryParameters = $excludeQueryParameters; + } + public function getExcludeQueryParameters() { + return $this->excludeQueryParameters; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setParentLink(Google_ProfileParentLink $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setPermissions(Google_ProfilePermissions $permissions) { + $this->permissions = $permissions; + } + public function getPermissions() { + return $this->permissions; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSiteSearchCategoryParameters( $siteSearchCategoryParameters) { + $this->siteSearchCategoryParameters = $siteSearchCategoryParameters; + } + public function getSiteSearchCategoryParameters() { + return $this->siteSearchCategoryParameters; + } + public function setSiteSearchQueryParameters( $siteSearchQueryParameters) { + $this->siteSearchQueryParameters = $siteSearchQueryParameters; + } + public function getSiteSearchQueryParameters() { + return $this->siteSearchQueryParameters; + } + public function setTimezone( $timezone) { + $this->timezone = $timezone; + } + public function getTimezone() { + return $this->timezone; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } + public function setWebsiteUrl( $websiteUrl) { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() { + return $this->websiteUrl; + } +} + +class Google_ProfileChildLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ProfileParentLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ProfilePermissions extends Google_Model { + public $effective; + public function setEffective(/* array(Google_string) */ $effective) { + $this->assertIsArray($effective, 'Google_string', __METHOD__); + $this->effective = $effective; + } + public function getEffective() { + return $this->effective; + } +} + +class Google_ProfileRef extends Google_Model { + public $accountId; + public $href; + public $id; + public $internalWebPropertyId; + public $kind; + public $name; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_Profiles extends Google_Model { + protected $__itemsType = 'Google_Profile'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_Profile) */ $items) { + $this->assertIsArray($items, 'Google_Profile', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_RealtimeData extends Google_Model { + protected $__columnHeadersType = 'Google_RealtimeDataColumnHeaders'; + protected $__columnHeadersDataType = 'array'; + public $columnHeaders; + public $id; + public $kind; + protected $__profileInfoType = 'Google_RealtimeDataProfileInfo'; + protected $__profileInfoDataType = ''; + public $profileInfo; + protected $__queryType = 'Google_RealtimeDataQuery'; + protected $__queryDataType = ''; + public $query; + public $rows; + public $selfLink; + public $totalResults; + public $totalsForAllResults; + public function setColumnHeaders(/* array(Google_RealtimeDataColumnHeaders) */ $columnHeaders) { + $this->assertIsArray($columnHeaders, 'Google_RealtimeDataColumnHeaders', __METHOD__); + $this->columnHeaders = $columnHeaders; + } + public function getColumnHeaders() { + return $this->columnHeaders; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProfileInfo(Google_RealtimeDataProfileInfo $profileInfo) { + $this->profileInfo = $profileInfo; + } + public function getProfileInfo() { + return $this->profileInfo; + } + public function setQuery(Google_RealtimeDataQuery $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setRows(/* array(Google_string) */ $rows) { + $this->assertIsArray($rows, 'Google_string', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setTotalsForAllResults( $totalsForAllResults) { + $this->totalsForAllResults = $totalsForAllResults; + } + public function getTotalsForAllResults() { + return $this->totalsForAllResults; + } +} + +class Google_RealtimeDataColumnHeaders extends Google_Model { + public $columnType; + public $dataType; + public $name; + public function setColumnType( $columnType) { + $this->columnType = $columnType; + } + public function getColumnType() { + return $this->columnType; + } + public function setDataType( $dataType) { + $this->dataType = $dataType; + } + public function getDataType() { + return $this->dataType; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_RealtimeDataProfileInfo extends Google_Model { + public $accountId; + public $internalWebPropertyId; + public $profileId; + public $profileName; + public $tableId; + public $webPropertyId; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setProfileName( $profileName) { + $this->profileName = $profileName; + } + public function getProfileName() { + return $this->profileName; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } + public function setWebPropertyId( $webPropertyId) { + $this->webPropertyId = $webPropertyId; + } + public function getWebPropertyId() { + return $this->webPropertyId; + } +} + +class Google_RealtimeDataQuery extends Google_Model { + public $dimensions; + public $filters; + public $ids; + public $max_results; + public $metrics; + public $sort; + public function setDimensions( $dimensions) { + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setFilters( $filters) { + $this->filters = $filters; + } + public function getFilters() { + return $this->filters; + } + public function setIds( $ids) { + $this->ids = $ids; + } + public function getIds() { + return $this->ids; + } + public function setMax_results( $max_results) { + $this->max_results = $max_results; + } + public function getMax_results() { + return $this->max_results; + } + public function setMetrics(/* array(Google_string) */ $metrics) { + $this->assertIsArray($metrics, 'Google_string', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setSort(/* array(Google_string) */ $sort) { + $this->assertIsArray($sort, 'Google_string', __METHOD__); + $this->sort = $sort; + } + public function getSort() { + return $this->sort; + } +} + +class Google_Segment extends Google_Model { + public $created; + public $definition; + public $id; + public $kind; + public $name; + public $segmentId; + public $selfLink; + public $updated; + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setDefinition( $definition) { + $this->definition = $definition; + } + public function getDefinition() { + return $this->definition; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSegmentId( $segmentId) { + $this->segmentId = $segmentId; + } + public function getSegmentId() { + return $this->segmentId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_Segments extends Google_Model { + protected $__itemsType = 'Google_Segment'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_Segment) */ $items) { + $this->assertIsArray($items, 'Google_Segment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_Upload extends Google_Model { + public $accountId; + public $customDataSourceId; + public $errors; + public $id; + public $kind; + public $status; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setCustomDataSourceId( $customDataSourceId) { + $this->customDataSourceId = $customDataSourceId; + } + public function getCustomDataSourceId() { + return $this->customDataSourceId; + } + public function setErrors(/* array(Google_string) */ $errors) { + $this->assertIsArray($errors, 'Google_string', __METHOD__); + $this->errors = $errors; + } + public function getErrors() { + return $this->errors; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_Uploads extends Google_Model { + protected $__itemsType = 'Google_Upload'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public function setItems(/* array(Google_Upload) */ $items) { + $this->assertIsArray($items, 'Google_Upload', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } +} + +class Google_UserRef extends Google_Model { + public $email; + public $id; + public $kind; + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_WebPropertyRef extends Google_Model { + public $accountId; + public $href; + public $id; + public $internalWebPropertyId; + public $kind; + public $name; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_Webproperties extends Google_Model { + protected $__itemsType = 'Google_Webproperty'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + public $startIndex; + public $totalResults; + public $username; + public function setItems(/* array(Google_Webproperty) */ $items) { + $this->assertIsArray($items, 'Google_Webproperty', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } + public function setUsername( $username) { + $this->username = $username; + } + public function getUsername() { + return $this->username; + } +} + +class Google_Webproperty extends Google_Model { + public $accountId; + protected $__childLinkType = 'Google_WebpropertyChildLink'; + protected $__childLinkDataType = ''; + public $childLink; + public $created; + public $defaultProfileId; + public $id; + public $industryVertical; + public $internalWebPropertyId; + public $kind; + public $level; + public $name; + protected $__parentLinkType = 'Google_WebpropertyParentLink'; + protected $__parentLinkDataType = ''; + public $parentLink; + protected $__permissionsType = 'Google_WebpropertyPermissions'; + protected $__permissionsDataType = ''; + public $permissions; + public $profileCount; + public $selfLink; + public $updated; + public $websiteUrl; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setChildLink(Google_WebpropertyChildLink $childLink) { + $this->childLink = $childLink; + } + public function getChildLink() { + return $this->childLink; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setDefaultProfileId( $defaultProfileId) { + $this->defaultProfileId = $defaultProfileId; + } + public function getDefaultProfileId() { + return $this->defaultProfileId; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIndustryVertical( $industryVertical) { + $this->industryVertical = $industryVertical; + } + public function getIndustryVertical() { + return $this->industryVertical; + } + public function setInternalWebPropertyId( $internalWebPropertyId) { + $this->internalWebPropertyId = $internalWebPropertyId; + } + public function getInternalWebPropertyId() { + return $this->internalWebPropertyId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLevel( $level) { + $this->level = $level; + } + public function getLevel() { + return $this->level; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setParentLink(Google_WebpropertyParentLink $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setPermissions(Google_WebpropertyPermissions $permissions) { + $this->permissions = $permissions; + } + public function getPermissions() { + return $this->permissions; + } + public function setProfileCount( $profileCount) { + $this->profileCount = $profileCount; + } + public function getProfileCount() { + return $this->profileCount; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setWebsiteUrl( $websiteUrl) { + $this->websiteUrl = $websiteUrl; + } + public function getWebsiteUrl() { + return $this->websiteUrl; + } +} + +class Google_WebpropertyChildLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_WebpropertyParentLink extends Google_Model { + public $href; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_WebpropertyPermissions extends Google_Model { + public $effective; + public function setEffective(/* array(Google_string) */ $effective) { + $this->assertIsArray($effective, 'Google_string', __METHOD__); + $this->effective = $effective; + } + public function getEffective() { + return $this->effective; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AndroidpublisherService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AndroidpublisherService.php new file mode 100644 index 0000000..b11af59 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AndroidpublisherService.php @@ -0,0 +1,198 @@ + + * $androidpublisherService = new Google_AndroidPublisherService(...); + * $inapppurchases = $androidpublisherService->inapppurchases; + * + */ + class Google_InapppurchasesServiceResource extends Google_ServiceResource { + + /** + * Checks the purchase and consumption status of an inapp item. (inapppurchases.get) + * + * @param string $packageName The package name of the application the inapp product was sold in (for example, 'com.some.thing'). + * @param string $productId The inapp product SKU (for example, 'com.some.thing.inapp1'). + * @param string $token The token provided to the user's device when the inapp product was purchased. + * @param array $optParams Optional parameters. + * @return Google_InappPurchase + */ + public function get($packageName, $productId, $token, $optParams = array()) { + $params = array('packageName' => $packageName, 'productId' => $productId, 'token' => $token); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_InappPurchase($data); + } else { + return $data; + } + } + } + + /** + * The "purchases" collection of methods. + * Typical usage is: + * + * $androidpublisherService = new Google_AndroidPublisherService(...); + * $purchases = $androidpublisherService->purchases; + * + */ + class Google_PurchasesServiceResource extends Google_ServiceResource { + + /** + * Cancels a user's subscription purchase. The subscription remains valid until its expiration time. + * (purchases.cancel) + * + * @param string $packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param string $token The token provided to the user's device when the subscription was purchased. + * @param array $optParams Optional parameters. + */ + public function cancel($packageName, $subscriptionId, $token, $optParams = array()) { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token); + $params = array_merge($params, $optParams); + $data = $this->__call('cancel', array($params)); + return $data; + } + /** + * Checks whether a user's subscription purchase is valid and returns its expiry time. + * (purchases.get) + * + * @param string $packageName The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). + * @param string $subscriptionId The purchased subscription ID (for example, 'monthly001'). + * @param string $token The token provided to the user's device when the subscription was purchased. + * @param array $optParams Optional parameters. + * @return Google_SubscriptionPurchase + */ + public function get($packageName, $subscriptionId, $token, $optParams = array()) { + $params = array('packageName' => $packageName, 'subscriptionId' => $subscriptionId, 'token' => $token); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_SubscriptionPurchase($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_AndroidPublisher (v1.1). + * + *

    + * Lets Android application developers access their Google Play accounts. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_AndroidPublisherService extends Google_Service { + public $inapppurchases; + public $purchases; + /** + * Constructs the internal representation of the AndroidPublisher service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'androidpublisher/v1.1/applications/'; + $this->version = 'v1.1'; + $this->serviceName = 'androidpublisher'; + + $client->addService($this->serviceName, $this->version); + $this->inapppurchases = new Google_InapppurchasesServiceResource($this, $this->serviceName, 'inapppurchases', json_decode('{"methods": {"get": {"id": "androidpublisher.inapppurchases.get", "path": "{packageName}/inapp/{productId}/purchases/{token}", "httpMethod": "GET", "parameters": {"packageName": {"type": "string", "required": true, "location": "path"}, "productId": {"type": "string", "required": true, "location": "path"}, "token": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InappPurchase"}}}}', true)); + $this->purchases = new Google_PurchasesServiceResource($this, $this->serviceName, 'purchases', json_decode('{"methods": {"cancel": {"id": "androidpublisher.purchases.cancel", "path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}/cancel", "httpMethod": "POST", "parameters": {"packageName": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}, "token": {"type": "string", "required": true, "location": "path"}}}, "get": {"id": "androidpublisher.purchases.get", "path": "{packageName}/subscriptions/{subscriptionId}/purchases/{token}", "httpMethod": "GET", "parameters": {"packageName": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}, "token": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "SubscriptionPurchase"}}}}', true)); + + } +} + + + +class Google_InappPurchase extends Google_Model { + public $consumptionState; + public $developerPayload; + public $kind; + public $purchaseState; + public $purchaseTime; + public function setConsumptionState( $consumptionState) { + $this->consumptionState = $consumptionState; + } + public function getConsumptionState() { + return $this->consumptionState; + } + public function setDeveloperPayload( $developerPayload) { + $this->developerPayload = $developerPayload; + } + public function getDeveloperPayload() { + return $this->developerPayload; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPurchaseState( $purchaseState) { + $this->purchaseState = $purchaseState; + } + public function getPurchaseState() { + return $this->purchaseState; + } + public function setPurchaseTime( $purchaseTime) { + $this->purchaseTime = $purchaseTime; + } + public function getPurchaseTime() { + return $this->purchaseTime; + } +} + +class Google_SubscriptionPurchase extends Google_Model { + public $autoRenewing; + public $initiationTimestampMsec; + public $kind; + public $validUntilTimestampMsec; + public function setAutoRenewing( $autoRenewing) { + $this->autoRenewing = $autoRenewing; + } + public function getAutoRenewing() { + return $this->autoRenewing; + } + public function setInitiationTimestampMsec( $initiationTimestampMsec) { + $this->initiationTimestampMsec = $initiationTimestampMsec; + } + public function getInitiationTimestampMsec() { + return $this->initiationTimestampMsec; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setValidUntilTimestampMsec( $validUntilTimestampMsec) { + $this->validUntilTimestampMsec = $validUntilTimestampMsec; + } + public function getValidUntilTimestampMsec() { + return $this->validUntilTimestampMsec; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AppstateService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AppstateService.php new file mode 100644 index 0000000..6ccfa82 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AppstateService.php @@ -0,0 +1,253 @@ + + * $appstateService = new Google_AppstateService(...); + * $states = $appstateService->states; + * + */ + class Google_StatesServiceResource extends Google_ServiceResource { + + /** + * Clears (sets to empty) the data for the passed key if and only if the passed version matches the + * currently stored version. This method results in a conflict error on version mismatch. + * (states.clear) + * + * @param int $stateKey The key for the data to be retrieved. + * @param array $optParams Optional parameters. + * + * @opt_param string currentDataVersion The version of the data to be cleared. Version strings are returned by the server. + * @return Google_WriteResult + */ + public function clear($stateKey, $optParams = array()) { + $params = array('stateKey' => $stateKey); + $params = array_merge($params, $optParams); + $data = $this->__call('clear', array($params)); + if ($this->useObjects()) { + return new Google_WriteResult($data); + } else { + return $data; + } + } + /** + * Deletes a key and the data associated with it. The key is removed and no longer counts against + * the key quota. Note that since this method is not safe in the face of concurrent modifications, + * it should only be used for development and testing purposes. Invoking this method in shipping + * code can result in data loss and data corruption. (states.delete) + * + * @param int $stateKey The key for the data to be retrieved. + * @param array $optParams Optional parameters. + */ + public function delete($stateKey, $optParams = array()) { + $params = array('stateKey' => $stateKey); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves the data corresponding to the passed key. (states.get) + * + * @param int $stateKey The key for the data to be retrieved. + * @param array $optParams Optional parameters. + * @return Google_GetResponse + */ + public function get($stateKey, $optParams = array()) { + $params = array('stateKey' => $stateKey); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_GetResponse($data); + } else { + return $data; + } + } + /** + * Lists all the states keys, and optionally the state data. (states.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param bool includeData Whether to include the full data in addition to the version number + * @return Google_ListResponse + */ + public function listStates($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ListResponse($data); + } else { + return $data; + } + } + /** + * Update the data associated with the input key if and only if the passed version matches the + * currently stored version. This method is safe in the face of concurrent writes. Maximum per-key + * size is 128KB. (states.update) + * + * @param int $stateKey The key for the data to be retrieved. + * @param Google_UpdateRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string currentStateVersion The version of the app state your application is attempting to update. If this does not match the current version, this method will return a conflict error. If there is no data stored on the server for this key, the update will succeed irrespective of the value of this parameter. + * @return Google_WriteResult + */ + public function update($stateKey, Google_UpdateRequest $postBody, $optParams = array()) { + $params = array('stateKey' => $stateKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_WriteResult($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Appstate (v1). + * + *

    + * The Google App State API. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_AppstateService extends Google_Service { + public $states; + /** + * Constructs the internal representation of the Appstate service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'appstate/v1/'; + $this->version = 'v1'; + $this->serviceName = 'appstate'; + + $client->addService($this->serviceName, $this->version); + $this->states = new Google_StatesServiceResource($this, $this->serviceName, 'states', json_decode('{"methods": {"clear": {"id": "appstate.states.clear", "path": "states/{stateKey}/clear", "httpMethod": "POST", "parameters": {"currentDataVersion": {"type": "string", "location": "query"}, "stateKey": {"type": "integer", "required": true, "format": "int32", "minimum": "0", "maximum": "3", "location": "path"}}, "response": {"$ref": "WriteResult"}, "scopes": ["https://www.googleapis.com/auth/appstate"]}, "delete": {"id": "appstate.states.delete", "path": "states/{stateKey}", "httpMethod": "DELETE", "parameters": {"stateKey": {"type": "integer", "required": true, "format": "int32", "minimum": "0", "maximum": "3", "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/appstate"]}, "get": {"id": "appstate.states.get", "path": "states/{stateKey}", "httpMethod": "GET", "parameters": {"stateKey": {"type": "integer", "required": true, "format": "int32", "minimum": "0", "maximum": "3", "location": "path"}}, "response": {"$ref": "GetResponse"}, "scopes": ["https://www.googleapis.com/auth/appstate"]}, "list": {"id": "appstate.states.list", "path": "states", "httpMethod": "GET", "parameters": {"includeData": {"type": "boolean", "default": "false", "location": "query"}}, "response": {"$ref": "ListResponse"}, "scopes": ["https://www.googleapis.com/auth/appstate"]}, "update": {"id": "appstate.states.update", "path": "states/{stateKey}", "httpMethod": "PUT", "parameters": {"currentStateVersion": {"type": "string", "location": "query"}, "stateKey": {"type": "integer", "required": true, "format": "int32", "minimum": "0", "maximum": "3", "location": "path"}}, "request": {"$ref": "UpdateRequest"}, "response": {"$ref": "WriteResult"}, "scopes": ["https://www.googleapis.com/auth/appstate"]}}}', true)); + + } +} + + + +class Google_GetResponse extends Google_Model { + public $currentStateVersion; + public $data; + public $kind; + public $stateKey; + public function setCurrentStateVersion( $currentStateVersion) { + $this->currentStateVersion = $currentStateVersion; + } + public function getCurrentStateVersion() { + return $this->currentStateVersion; + } + public function setData( $data) { + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStateKey( $stateKey) { + $this->stateKey = $stateKey; + } + public function getStateKey() { + return $this->stateKey; + } +} + +class Google_ListResponse extends Google_Model { + protected $__itemsType = 'Google_GetResponse'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $maximumKeyCount; + public function setItems(/* array(Google_GetResponse) */ $items) { + $this->assertIsArray($items, 'Google_GetResponse', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaximumKeyCount( $maximumKeyCount) { + $this->maximumKeyCount = $maximumKeyCount; + } + public function getMaximumKeyCount() { + return $this->maximumKeyCount; + } +} + +class Google_UpdateRequest extends Google_Model { + public $data; + public $kind; + public function setData( $data) { + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_WriteResult extends Google_Model { + public $currentStateVersion; + public $kind; + public $stateKey; + public function setCurrentStateVersion( $currentStateVersion) { + $this->currentStateVersion = $currentStateVersion; + } + public function getCurrentStateVersion() { + return $this->currentStateVersion; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStateKey( $stateKey) { + $this->stateKey = $stateKey; + } + public function getStateKey() { + return $this->stateKey; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AuditService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AuditService.php new file mode 100644 index 0000000..b9c90ae --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_AuditService.php @@ -0,0 +1,274 @@ + + * $auditService = new Google_AuditService(...); + * $activities = $auditService->activities; + * + */ + class Google_ActivitiesServiceResource extends Google_ServiceResource { + + /** + * Retrieves a list of activities for a specific customer and application. (activities.list) + * + * @param string $customerId Represents the customer who is the owner of target object on which action was performed. + * @param string $applicationId Application ID of the application on which the event was performed. + * @param array $optParams Optional parameters. + * + * @opt_param string actorApplicationId Application ID of the application which interacted on behalf of the user while performing the event. + * @opt_param string actorEmail Email address of the user who performed the action. + * @opt_param string actorIpAddress IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses. + * @opt_param string caller Type of the caller. + * @opt_param string continuationToken Next page URL. + * @opt_param string endTime Return events which occured at or before this time. + * @opt_param string eventName Name of the event being queried. + * @opt_param int maxResults Number of activity records to be shown in each page. + * @opt_param string startTime Return events which occured at or after this time. + * @return Google_Activities + */ + public function listActivities($customerId, $applicationId, $optParams = array()) { + $params = array('customerId' => $customerId, 'applicationId' => $applicationId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Activities($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Audit (v1). + * + *

    + * Lets you access user activities in your enterprise made through various applications. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_AuditService extends Google_Service { + public $activities; + /** + * Constructs the internal representation of the Audit service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'apps/reporting/audit/v1/'; + $this->version = 'v1'; + $this->serviceName = 'audit'; + + $client->addService($this->serviceName, $this->version); + $this->activities = new Google_ActivitiesServiceResource($this, $this->serviceName, 'activities', json_decode('{"methods": {"list": {"id": "audit.activities.list", "path": "{customerId}/{applicationId}", "httpMethod": "GET", "parameters": {"actorApplicationId": {"type": "string", "format": "int64", "location": "query"}, "actorEmail": {"type": "string", "location": "query"}, "actorIpAddress": {"type": "string", "location": "query"}, "applicationId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "caller": {"type": "string", "enum": ["application_owner", "customer"], "location": "query"}, "continuationToken": {"type": "string", "location": "query"}, "customerId": {"type": "string", "required": true, "location": "path"}, "endTime": {"type": "string", "location": "query"}, "eventName": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "1000", "location": "query"}, "startTime": {"type": "string", "location": "query"}}, "response": {"$ref": "Activities"}}}}', true)); + + } +} + + + +class Google_Activities extends Google_Model { + protected $__itemsType = 'Google_Activity'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $next; + public function setItems(/* array(Google_Activity) */ $items) { + $this->assertIsArray($items, 'Google_Activity', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNext( $next) { + $this->next = $next; + } + public function getNext() { + return $this->next; + } +} + +class Google_Activity extends Google_Model { + protected $__actorType = 'Google_ActivityActor'; + protected $__actorDataType = ''; + public $actor; + protected $__eventsType = 'Google_ActivityEvents'; + protected $__eventsDataType = 'array'; + public $events; + protected $__idType = 'Google_ActivityId'; + protected $__idDataType = ''; + public $id; + public $ipAddress; + public $kind; + public $ownerDomain; + public function setActor(Google_ActivityActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setEvents(/* array(Google_ActivityEvents) */ $events) { + $this->assertIsArray($events, 'Google_ActivityEvents', __METHOD__); + $this->events = $events; + } + public function getEvents() { + return $this->events; + } + public function setId(Google_ActivityId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIpAddress( $ipAddress) { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() { + return $this->ipAddress; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOwnerDomain( $ownerDomain) { + $this->ownerDomain = $ownerDomain; + } + public function getOwnerDomain() { + return $this->ownerDomain; + } +} + +class Google_ActivityActor extends Google_Model { + public $applicationId; + public $callerType; + public $email; + public $key; + public function setApplicationId( $applicationId) { + $this->applicationId = $applicationId; + } + public function getApplicationId() { + return $this->applicationId; + } + public function setCallerType( $callerType) { + $this->callerType = $callerType; + } + public function getCallerType() { + return $this->callerType; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } +} + +class Google_ActivityEvents extends Google_Model { + public $eventType; + public $name; + protected $__parametersType = 'Google_ActivityEventsParameters'; + protected $__parametersDataType = 'array'; + public $parameters; + public function setEventType( $eventType) { + $this->eventType = $eventType; + } + public function getEventType() { + return $this->eventType; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setParameters(/* array(Google_ActivityEventsParameters) */ $parameters) { + $this->assertIsArray($parameters, 'Google_ActivityEventsParameters', __METHOD__); + $this->parameters = $parameters; + } + public function getParameters() { + return $this->parameters; + } +} + +class Google_ActivityEventsParameters extends Google_Model { + public $name; + public $value; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ActivityId extends Google_Model { + public $applicationId; + public $customerId; + public $time; + public $uniqQualifier; + public function setApplicationId( $applicationId) { + $this->applicationId = $applicationId; + } + public function getApplicationId() { + return $this->applicationId; + } + public function setCustomerId( $customerId) { + $this->customerId = $customerId; + } + public function getCustomerId() { + return $this->customerId; + } + public function setTime( $time) { + $this->time = $time; + } + public function getTime() { + return $this->time; + } + public function setUniqQualifier( $uniqQualifier) { + $this->uniqQualifier = $uniqQualifier; + } + public function getUniqQualifier() { + return $this->uniqQualifier; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BigqueryService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BigqueryService.php new file mode 100644 index 0000000..8a446e1 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BigqueryService.php @@ -0,0 +1,2011 @@ + + * $bigqueryService = new Google_BigqueryService(...); + * $datasets = $bigqueryService->datasets; + * + */ + class Google_DatasetsServiceResource extends Google_ServiceResource { + + /** + * Deletes the dataset specified by datasetId value. Before you can delete a dataset, you must + * delete all its tables, either manually or by specifying deleteContents. Immediately after + * deletion, you can create another dataset with the same name. (datasets.delete) + * + * @param string $projectId Project ID of the dataset being deleted + * @param string $datasetId Dataset ID of dataset being deleted + * @param array $optParams Optional parameters. + * + * @opt_param bool deleteContents If True, delete all the tables in the dataset. If False and the dataset contains tables, the request will fail. Default is False + */ + public function delete($projectId, $datasetId, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns the dataset specified by datasetID. (datasets.get) + * + * @param string $projectId Project ID of the requested dataset + * @param string $datasetId Dataset ID of the requested dataset + * @param array $optParams Optional parameters. + * @return Google_Dataset + */ + public function get($projectId, $datasetId, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Dataset($data); + } else { + return $data; + } + } + /** + * Creates a new empty dataset. (datasets.insert) + * + * @param string $projectId Project ID of the new dataset + * @param Google_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Dataset + */ + public function insert($projectId, Google_Dataset $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Dataset($data); + } else { + return $data; + } + } + /** + * Lists all the datasets in the specified project to which the caller has read access; however, a + * project owner can list (but not necessarily get) all datasets in his project. (datasets.list) + * + * @param string $projectId Project ID of the datasets to be listed + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to request the next page of results + * @return Google_DatasetList + */ + public function listDatasets($projectId, $optParams = array()) { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_DatasetList($data); + } else { + return $data; + } + } + /** + * Updates information in an existing dataset, specified by datasetId. Properties not included in + * the submitted resource will not be changed. If you include the access property without any values + * assigned, the request will fail as you must specify at least one owner for a dataset. This method + * supports patch semantics. (datasets.patch) + * + * @param string $projectId Project ID of the dataset being updated + * @param string $datasetId Dataset ID of the dataset being updated + * @param Google_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Dataset + */ + public function patch($projectId, $datasetId, Google_Dataset $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Dataset($data); + } else { + return $data; + } + } + /** + * Updates information in an existing dataset, specified by datasetId. Properties not included in + * the submitted resource will not be changed. If you include the access property without any values + * assigned, the request will fail as you must specify at least one owner for a dataset. + * (datasets.update) + * + * @param string $projectId Project ID of the dataset being updated + * @param string $datasetId Dataset ID of the dataset being updated + * @param Google_Dataset $postBody + * @param array $optParams Optional parameters. + * @return Google_Dataset + */ + public function update($projectId, $datasetId, Google_Dataset $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Dataset($data); + } else { + return $data; + } + } + } + + /** + * The "jobs" collection of methods. + * Typical usage is: + * + * $bigqueryService = new Google_BigqueryService(...); + * $jobs = $bigqueryService->jobs; + * + */ + class Google_JobsServiceResource extends Google_ServiceResource { + + /** + * Retrieves the specified job by ID. (jobs.get) + * + * @param string $projectId Project ID of the requested job + * @param string $jobId Job ID of the requested job + * @param array $optParams Optional parameters. + * @return Google_Job + */ + public function get($projectId, $jobId, $optParams = array()) { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Job($data); + } else { + return $data; + } + } + /** + * Retrieves the results of a query job. (jobs.getQueryResults) + * + * @param string $projectId Project ID of the query job + * @param string $jobId Job ID of the query job + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to read + * @opt_param string pageToken Page token, returned by a previous call, to request the next page of results + * @opt_param string startIndex Zero-based index of the starting row + * @opt_param string timeoutMs How long to wait for the query to complete, in milliseconds, before returning. Default is to return immediately. If the timeout passes before the job completes, the request will fail with a TIMEOUT error + * @return Google_GetQueryResultsResponse + */ + public function getQueryResults($projectId, $jobId, $optParams = array()) { + $params = array('projectId' => $projectId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + $data = $this->__call('getQueryResults', array($params)); + if ($this->useObjects()) { + return new Google_GetQueryResultsResponse($data); + } else { + return $data; + } + } + /** + * Starts a new asynchronous job. (jobs.insert) + * + * @param string $projectId Project ID of the project that will be billed for the job + * @param Google_Job $postBody + * @param array $optParams Optional parameters. + * @return Google_Job + */ + public function insert($projectId, Google_Job $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Job($data); + } else { + return $data; + } + } + /** + * Lists all the Jobs in the specified project that were started by the user. (jobs.list) + * + * @param string $projectId Project ID of the jobs to list + * @param array $optParams Optional parameters. + * + * @opt_param bool allUsers Whether to display jobs owned by all users in the project. Default false + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to request the next page of results + * @opt_param string projection Restrict information returned to a set of selected fields + * @opt_param string stateFilter Filter for job state + * @return Google_JobList + */ + public function listJobs($projectId, $optParams = array()) { + $params = array('projectId' => $projectId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_JobList($data); + } else { + return $data; + } + } + /** + * Runs a BigQuery SQL query synchronously and returns query results if the query completes within a + * specified timeout. (jobs.query) + * + * @param string $projectId Project ID of the project billed for the query + * @param Google_QueryRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_QueryResponse + */ + public function query($projectId, Google_QueryRequest $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('query', array($params)); + if ($this->useObjects()) { + return new Google_QueryResponse($data); + } else { + return $data; + } + } + } + + /** + * The "projects" collection of methods. + * Typical usage is: + * + * $bigqueryService = new Google_BigqueryService(...); + * $projects = $bigqueryService->projects; + * + */ + class Google_ProjectsServiceResource extends Google_ServiceResource { + + /** + * Lists the projects to which you have at least read access. (projects.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to request the next page of results + * @return Google_ProjectList + */ + public function listProjects($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ProjectList($data); + } else { + return $data; + } + } + } + + /** + * The "tabledata" collection of methods. + * Typical usage is: + * + * $bigqueryService = new Google_BigqueryService(...); + * $tabledata = $bigqueryService->tabledata; + * + */ + class Google_TabledataServiceResource extends Google_ServiceResource { + + /** + * Retrieves table data from a specified set of rows. (tabledata.list) + * + * @param string $projectId Project ID of the table to read + * @param string $datasetId Dataset ID of the table to read + * @param string $tableId Table ID of the table to read + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, identifying the result set + * @opt_param string startIndex Zero-based index of the starting row to read + * @return Google_TableDataList + */ + public function listTabledata($projectId, $datasetId, $tableId, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TableDataList($data); + } else { + return $data; + } + } + } + + /** + * The "tables" collection of methods. + * Typical usage is: + * + * $bigqueryService = new Google_BigqueryService(...); + * $tables = $bigqueryService->tables; + * + */ + class Google_TablesServiceResource extends Google_ServiceResource { + + /** + * Deletes the table specified by tableId from the dataset. If the table contains data, all the data + * will be deleted. (tables.delete) + * + * @param string $projectId Project ID of the table to delete + * @param string $datasetId Dataset ID of the table to delete + * @param string $tableId Table ID of the table to delete + * @param array $optParams Optional parameters. + */ + public function delete($projectId, $datasetId, $tableId, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets the specified table resource by table ID. This method does not return the data in the table, + * it only returns the table resource, which describes the structure of this table. (tables.get) + * + * @param string $projectId Project ID of the requested table + * @param string $datasetId Dataset ID of the requested table + * @param string $tableId Table ID of the requested table + * @param array $optParams Optional parameters. + * @return Google_Table + */ + public function get($projectId, $datasetId, $tableId, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Creates a new, empty table in the dataset. (tables.insert) + * + * @param string $projectId Project ID of the new table + * @param string $datasetId Dataset ID of the new table + * @param Google_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Table + */ + public function insert($projectId, $datasetId, Google_Table $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Lists all tables in the specified dataset. (tables.list) + * + * @param string $projectId Project ID of the tables to list + * @param string $datasetId Dataset ID of the tables to list + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Page token, returned by a previous call, to request the next page of results + * @return Google_TableList + */ + public function listTables($projectId, $datasetId, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TableList($data); + } else { + return $data; + } + } + /** + * Updates information in an existing table, specified by tableId. This method supports patch + * semantics. (tables.patch) + * + * @param string $projectId Project ID of the table to update + * @param string $datasetId Dataset ID of the table to update + * @param string $tableId Table ID of the table to update + * @param Google_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Table + */ + public function patch($projectId, $datasetId, $tableId, Google_Table $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Updates information in an existing table, specified by tableId. (tables.update) + * + * @param string $projectId Project ID of the table to update + * @param string $datasetId Dataset ID of the table to update + * @param string $tableId Table ID of the table to update + * @param Google_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Table + */ + public function update($projectId, $datasetId, $tableId, Google_Table $postBody, $optParams = array()) { + $params = array('projectId' => $projectId, 'datasetId' => $datasetId, 'tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Bigquery (v2). + * + *

    + * A data platform for customers to create, manage, share and query data. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_BigqueryService extends Google_Service { + public $datasets; + public $jobs; + public $projects; + public $tabledata; + public $tables; + /** + * Constructs the internal representation of the Bigquery service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'bigquery/v2/'; + $this->version = 'v2'; + $this->serviceName = 'bigquery'; + + $client->addService($this->serviceName, $this->version); + $this->datasets = new Google_DatasetsServiceResource($this, $this->serviceName, 'datasets', json_decode('{"methods": {"delete": {"id": "bigquery.datasets.delete", "path": "projects/{projectId}/datasets/{datasetId}", "httpMethod": "DELETE", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "deleteContents": {"type": "boolean", "location": "query"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "get": {"id": "bigquery.datasets.get", "path": "projects/{projectId}/datasets/{datasetId}", "httpMethod": "GET", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Dataset"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "insert": {"id": "bigquery.datasets.insert", "path": "projects/{projectId}/datasets", "httpMethod": "POST", "parameters": {"projectId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Dataset"}, "response": {"$ref": "Dataset"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "list": {"id": "bigquery.datasets.list", "path": "projects/{projectId}/datasets", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "DatasetList"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "patch": {"id": "bigquery.datasets.patch", "path": "projects/{projectId}/datasets/{datasetId}", "httpMethod": "PATCH", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Dataset"}, "response": {"$ref": "Dataset"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "update": {"id": "bigquery.datasets.update", "path": "projects/{projectId}/datasets/{datasetId}", "httpMethod": "PUT", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Dataset"}, "response": {"$ref": "Dataset"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}}}', true)); + $this->jobs = new Google_JobsServiceResource($this, $this->serviceName, 'jobs', json_decode('{"methods": {"get": {"id": "bigquery.jobs.get", "path": "projects/{projectId}/jobs/{jobId}", "httpMethod": "GET", "parameters": {"jobId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Job"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "getQueryResults": {"id": "bigquery.jobs.getQueryResults", "path": "projects/{projectId}/queries/{jobId}", "httpMethod": "GET", "parameters": {"jobId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projectId": {"type": "string", "required": true, "location": "path"}, "startIndex": {"type": "string", "format": "uint64", "location": "query"}, "timeoutMs": {"type": "integer", "format": "uint32", "location": "query"}}, "response": {"$ref": "GetQueryResultsResponse"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "insert": {"id": "bigquery.jobs.insert", "path": "projects/{projectId}/jobs", "httpMethod": "POST", "parameters": {"projectId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Job"}, "response": {"$ref": "Job"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["application/octet-stream"], "protocols": {"simple": {"multipart": true, "path": "/upload/bigquery/v2/projects/{projectId}/jobs"}, "resumable": {"multipart": true, "path": "/resumable/upload/bigquery/v2/projects/{projectId}/jobs"}}}}, "list": {"id": "bigquery.jobs.list", "path": "projects/{projectId}/jobs", "httpMethod": "GET", "parameters": {"allUsers": {"type": "boolean", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projectId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["full", "minimal"], "location": "query"}, "stateFilter": {"type": "string", "enum": ["done", "pending", "running"], "repeated": true, "location": "query"}}, "response": {"$ref": "JobList"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "query": {"id": "bigquery.jobs.query", "path": "projects/{projectId}/queries", "httpMethod": "POST", "parameters": {"projectId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "QueryRequest"}, "response": {"$ref": "QueryResponse"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}}}', true)); + $this->projects = new Google_ProjectsServiceResource($this, $this->serviceName, 'projects', json_decode('{"methods": {"list": {"id": "bigquery.projects.list", "path": "projects", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "ProjectList"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}}}', true)); + $this->tabledata = new Google_TabledataServiceResource($this, $this->serviceName, 'tabledata', json_decode('{"methods": {"list": {"id": "bigquery.tabledata.list", "path": "projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data", "httpMethod": "GET", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projectId": {"type": "string", "required": true, "location": "path"}, "startIndex": {"type": "string", "format": "uint64", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "TableDataList"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}}}', true)); + $this->tables = new Google_TablesServiceResource($this, $this->serviceName, 'tables', json_decode('{"methods": {"delete": {"id": "bigquery.tables.delete", "path": "projects/{projectId}/datasets/{datasetId}/tables/{tableId}", "httpMethod": "DELETE", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "get": {"id": "bigquery.tables.get", "path": "projects/{projectId}/datasets/{datasetId}/tables/{tableId}", "httpMethod": "GET", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "insert": {"id": "bigquery.tables.insert", "path": "projects/{projectId}/datasets/{datasetId}/tables", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Table"}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "list": {"id": "bigquery.tables.list", "path": "projects/{projectId}/datasets/{datasetId}/tables", "httpMethod": "GET", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projectId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "TableList"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "patch": {"id": "bigquery.tables.patch", "path": "projects/{projectId}/datasets/{datasetId}/tables/{tableId}", "httpMethod": "PATCH", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Table"}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}, "update": {"id": "bigquery.tables.update", "path": "projects/{projectId}/datasets/{datasetId}/tables/{tableId}", "httpMethod": "PUT", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}, "projectId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Table"}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/bigquery", "https://www.googleapis.com/auth/cloud-platform"]}}}', true)); + + } +} + + + +class Google_Dataset extends Google_Model { + protected $__accessType = 'Google_DatasetAccess'; + protected $__accessDataType = 'array'; + public $access; + public $creationTime; + protected $__datasetReferenceType = 'Google_DatasetReference'; + protected $__datasetReferenceDataType = ''; + public $datasetReference; + public $description; + public $etag; + public $friendlyName; + public $id; + public $kind; + public $lastModifiedTime; + public $selfLink; + public function setAccess(/* array(Google_DatasetAccess) */ $access) { + $this->assertIsArray($access, 'Google_DatasetAccess', __METHOD__); + $this->access = $access; + } + public function getAccess() { + return $this->access; + } + public function setCreationTime( $creationTime) { + $this->creationTime = $creationTime; + } + public function getCreationTime() { + return $this->creationTime; + } + public function setDatasetReference(Google_DatasetReference $datasetReference) { + $this->datasetReference = $datasetReference; + } + public function getDatasetReference() { + return $this->datasetReference; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setFriendlyName( $friendlyName) { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() { + return $this->friendlyName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModifiedTime( $lastModifiedTime) { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() { + return $this->lastModifiedTime; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_DatasetAccess extends Google_Model { + public $domain; + public $groupByEmail; + public $role; + public $specialGroup; + public $userByEmail; + public function setDomain( $domain) { + $this->domain = $domain; + } + public function getDomain() { + return $this->domain; + } + public function setGroupByEmail( $groupByEmail) { + $this->groupByEmail = $groupByEmail; + } + public function getGroupByEmail() { + return $this->groupByEmail; + } + public function setRole( $role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setSpecialGroup( $specialGroup) { + $this->specialGroup = $specialGroup; + } + public function getSpecialGroup() { + return $this->specialGroup; + } + public function setUserByEmail( $userByEmail) { + $this->userByEmail = $userByEmail; + } + public function getUserByEmail() { + return $this->userByEmail; + } +} + +class Google_DatasetList extends Google_Model { + protected $__datasetsType = 'Google_DatasetListDatasets'; + protected $__datasetsDataType = 'array'; + public $datasets; + public $etag; + public $kind; + public $nextPageToken; + public function setDatasets(/* array(Google_DatasetListDatasets) */ $datasets) { + $this->assertIsArray($datasets, 'Google_DatasetListDatasets', __METHOD__); + $this->datasets = $datasets; + } + public function getDatasets() { + return $this->datasets; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_DatasetListDatasets extends Google_Model { + protected $__datasetReferenceType = 'Google_DatasetReference'; + protected $__datasetReferenceDataType = ''; + public $datasetReference; + public $friendlyName; + public $id; + public $kind; + public function setDatasetReference(Google_DatasetReference $datasetReference) { + $this->datasetReference = $datasetReference; + } + public function getDatasetReference() { + return $this->datasetReference; + } + public function setFriendlyName( $friendlyName) { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() { + return $this->friendlyName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_DatasetReference extends Google_Model { + public $datasetId; + public $projectId; + public function setDatasetId( $datasetId) { + $this->datasetId = $datasetId; + } + public function getDatasetId() { + return $this->datasetId; + } + public function setProjectId( $projectId) { + $this->projectId = $projectId; + } + public function getProjectId() { + return $this->projectId; + } +} + +class Google_ErrorProto extends Google_Model { + public $debugInfo; + public $location; + public $message; + public $reason; + public function setDebugInfo( $debugInfo) { + $this->debugInfo = $debugInfo; + } + public function getDebugInfo() { + return $this->debugInfo; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } + public function setReason( $reason) { + $this->reason = $reason; + } + public function getReason() { + return $this->reason; + } +} + +class Google_GetQueryResultsResponse extends Google_Model { + public $cacheHit; + public $etag; + public $jobComplete; + protected $__jobReferenceType = 'Google_JobReference'; + protected $__jobReferenceDataType = ''; + public $jobReference; + public $kind; + public $pageToken; + protected $__rowsType = 'Google_TableRow'; + protected $__rowsDataType = 'array'; + public $rows; + protected $__schemaType = 'Google_TableSchema'; + protected $__schemaDataType = ''; + public $schema; + public $totalRows; + public function setCacheHit( $cacheHit) { + $this->cacheHit = $cacheHit; + } + public function getCacheHit() { + return $this->cacheHit; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setJobComplete( $jobComplete) { + $this->jobComplete = $jobComplete; + } + public function getJobComplete() { + return $this->jobComplete; + } + public function setJobReference(Google_JobReference $jobReference) { + $this->jobReference = $jobReference; + } + public function getJobReference() { + return $this->jobReference; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPageToken( $pageToken) { + $this->pageToken = $pageToken; + } + public function getPageToken() { + return $this->pageToken; + } + public function setRows(/* array(Google_TableRow) */ $rows) { + $this->assertIsArray($rows, 'Google_TableRow', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setSchema(Google_TableSchema $schema) { + $this->schema = $schema; + } + public function getSchema() { + return $this->schema; + } + public function setTotalRows( $totalRows) { + $this->totalRows = $totalRows; + } + public function getTotalRows() { + return $this->totalRows; + } +} + +class Google_Job extends Google_Model { + protected $__configurationType = 'Google_JobConfiguration'; + protected $__configurationDataType = ''; + public $configuration; + public $etag; + public $id; + protected $__jobReferenceType = 'Google_JobReference'; + protected $__jobReferenceDataType = ''; + public $jobReference; + public $kind; + public $selfLink; + protected $__statisticsType = 'Google_JobStatistics'; + protected $__statisticsDataType = ''; + public $statistics; + protected $__statusType = 'Google_JobStatus'; + protected $__statusDataType = ''; + public $status; + public function setConfiguration(Google_JobConfiguration $configuration) { + $this->configuration = $configuration; + } + public function getConfiguration() { + return $this->configuration; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setJobReference(Google_JobReference $jobReference) { + $this->jobReference = $jobReference; + } + public function getJobReference() { + return $this->jobReference; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatistics(Google_JobStatistics $statistics) { + $this->statistics = $statistics; + } + public function getStatistics() { + return $this->statistics; + } + public function setStatus(Google_JobStatus $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_JobConfiguration extends Google_Model { + protected $__copyType = 'Google_JobConfigurationTableCopy'; + protected $__copyDataType = ''; + public $copy; + public $dryRun; + protected $__extractType = 'Google_JobConfigurationExtract'; + protected $__extractDataType = ''; + public $extract; + protected $__linkType = 'Google_JobConfigurationLink'; + protected $__linkDataType = ''; + public $link; + protected $__loadType = 'Google_JobConfigurationLoad'; + protected $__loadDataType = ''; + public $load; + protected $__queryType = 'Google_JobConfigurationQuery'; + protected $__queryDataType = ''; + public $query; + public function setCopy(Google_JobConfigurationTableCopy $copy) { + $this->copy = $copy; + } + public function getCopy() { + return $this->copy; + } + public function setDryRun( $dryRun) { + $this->dryRun = $dryRun; + } + public function getDryRun() { + return $this->dryRun; + } + public function setExtract(Google_JobConfigurationExtract $extract) { + $this->extract = $extract; + } + public function getExtract() { + return $this->extract; + } + public function setLink(Google_JobConfigurationLink $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setLoad(Google_JobConfigurationLoad $load) { + $this->load = $load; + } + public function getLoad() { + return $this->load; + } + public function setQuery(Google_JobConfigurationQuery $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } +} + +class Google_JobConfigurationExtract extends Google_Model { + public $destinationFormat; + public $destinationUri; + public $fieldDelimiter; + public $printHeader; + protected $__sourceTableType = 'Google_TableReference'; + protected $__sourceTableDataType = ''; + public $sourceTable; + public function setDestinationFormat( $destinationFormat) { + $this->destinationFormat = $destinationFormat; + } + public function getDestinationFormat() { + return $this->destinationFormat; + } + public function setDestinationUri( $destinationUri) { + $this->destinationUri = $destinationUri; + } + public function getDestinationUri() { + return $this->destinationUri; + } + public function setFieldDelimiter( $fieldDelimiter) { + $this->fieldDelimiter = $fieldDelimiter; + } + public function getFieldDelimiter() { + return $this->fieldDelimiter; + } + public function setPrintHeader( $printHeader) { + $this->printHeader = $printHeader; + } + public function getPrintHeader() { + return $this->printHeader; + } + public function setSourceTable(Google_TableReference $sourceTable) { + $this->sourceTable = $sourceTable; + } + public function getSourceTable() { + return $this->sourceTable; + } +} + +class Google_JobConfigurationLink extends Google_Model { + public $createDisposition; + protected $__destinationTableType = 'Google_TableReference'; + protected $__destinationTableDataType = ''; + public $destinationTable; + public $sourceUri; + public $writeDisposition; + public function setCreateDisposition( $createDisposition) { + $this->createDisposition = $createDisposition; + } + public function getCreateDisposition() { + return $this->createDisposition; + } + public function setDestinationTable(Google_TableReference $destinationTable) { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() { + return $this->destinationTable; + } + public function setSourceUri(/* array(Google_string) */ $sourceUri) { + $this->assertIsArray($sourceUri, 'Google_string', __METHOD__); + $this->sourceUri = $sourceUri; + } + public function getSourceUri() { + return $this->sourceUri; + } + public function setWriteDisposition( $writeDisposition) { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() { + return $this->writeDisposition; + } +} + +class Google_JobConfigurationLoad extends Google_Model { + public $allowJaggedRows; + public $allowQuotedNewlines; + public $createDisposition; + protected $__destinationTableType = 'Google_TableReference'; + protected $__destinationTableDataType = ''; + public $destinationTable; + public $encoding; + public $fieldDelimiter; + public $maxBadRecords; + public $quote; + protected $__schemaType = 'Google_TableSchema'; + protected $__schemaDataType = ''; + public $schema; + public $schemaInline; + public $schemaInlineFormat; + public $skipLeadingRows; + public $sourceFormat; + public $sourceUris; + public $writeDisposition; + public function setAllowJaggedRows( $allowJaggedRows) { + $this->allowJaggedRows = $allowJaggedRows; + } + public function getAllowJaggedRows() { + return $this->allowJaggedRows; + } + public function setAllowQuotedNewlines( $allowQuotedNewlines) { + $this->allowQuotedNewlines = $allowQuotedNewlines; + } + public function getAllowQuotedNewlines() { + return $this->allowQuotedNewlines; + } + public function setCreateDisposition( $createDisposition) { + $this->createDisposition = $createDisposition; + } + public function getCreateDisposition() { + return $this->createDisposition; + } + public function setDestinationTable(Google_TableReference $destinationTable) { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() { + return $this->destinationTable; + } + public function setEncoding( $encoding) { + $this->encoding = $encoding; + } + public function getEncoding() { + return $this->encoding; + } + public function setFieldDelimiter( $fieldDelimiter) { + $this->fieldDelimiter = $fieldDelimiter; + } + public function getFieldDelimiter() { + return $this->fieldDelimiter; + } + public function setMaxBadRecords( $maxBadRecords) { + $this->maxBadRecords = $maxBadRecords; + } + public function getMaxBadRecords() { + return $this->maxBadRecords; + } + public function setQuote( $quote) { + $this->quote = $quote; + } + public function getQuote() { + return $this->quote; + } + public function setSchema(Google_TableSchema $schema) { + $this->schema = $schema; + } + public function getSchema() { + return $this->schema; + } + public function setSchemaInline( $schemaInline) { + $this->schemaInline = $schemaInline; + } + public function getSchemaInline() { + return $this->schemaInline; + } + public function setSchemaInlineFormat( $schemaInlineFormat) { + $this->schemaInlineFormat = $schemaInlineFormat; + } + public function getSchemaInlineFormat() { + return $this->schemaInlineFormat; + } + public function setSkipLeadingRows( $skipLeadingRows) { + $this->skipLeadingRows = $skipLeadingRows; + } + public function getSkipLeadingRows() { + return $this->skipLeadingRows; + } + public function setSourceFormat( $sourceFormat) { + $this->sourceFormat = $sourceFormat; + } + public function getSourceFormat() { + return $this->sourceFormat; + } + public function setSourceUris(/* array(Google_string) */ $sourceUris) { + $this->assertIsArray($sourceUris, 'Google_string', __METHOD__); + $this->sourceUris = $sourceUris; + } + public function getSourceUris() { + return $this->sourceUris; + } + public function setWriteDisposition( $writeDisposition) { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() { + return $this->writeDisposition; + } +} + +class Google_JobConfigurationQuery extends Google_Model { + public $allowLargeResults; + public $createDisposition; + protected $__defaultDatasetType = 'Google_DatasetReference'; + protected $__defaultDatasetDataType = ''; + public $defaultDataset; + protected $__destinationTableType = 'Google_TableReference'; + protected $__destinationTableDataType = ''; + public $destinationTable; + public $minCompletionRatio; + public $preserveNulls; + public $priority; + public $query; + public $useQueryCache; + public $writeDisposition; + public function setAllowLargeResults( $allowLargeResults) { + $this->allowLargeResults = $allowLargeResults; + } + public function getAllowLargeResults() { + return $this->allowLargeResults; + } + public function setCreateDisposition( $createDisposition) { + $this->createDisposition = $createDisposition; + } + public function getCreateDisposition() { + return $this->createDisposition; + } + public function setDefaultDataset(Google_DatasetReference $defaultDataset) { + $this->defaultDataset = $defaultDataset; + } + public function getDefaultDataset() { + return $this->defaultDataset; + } + public function setDestinationTable(Google_TableReference $destinationTable) { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() { + return $this->destinationTable; + } + public function setMinCompletionRatio( $minCompletionRatio) { + $this->minCompletionRatio = $minCompletionRatio; + } + public function getMinCompletionRatio() { + return $this->minCompletionRatio; + } + public function setPreserveNulls( $preserveNulls) { + $this->preserveNulls = $preserveNulls; + } + public function getPreserveNulls() { + return $this->preserveNulls; + } + public function setPriority( $priority) { + $this->priority = $priority; + } + public function getPriority() { + return $this->priority; + } + public function setQuery( $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setUseQueryCache( $useQueryCache) { + $this->useQueryCache = $useQueryCache; + } + public function getUseQueryCache() { + return $this->useQueryCache; + } + public function setWriteDisposition( $writeDisposition) { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() { + return $this->writeDisposition; + } +} + +class Google_JobConfigurationTableCopy extends Google_Model { + public $createDisposition; + protected $__destinationTableType = 'Google_TableReference'; + protected $__destinationTableDataType = ''; + public $destinationTable; + protected $__sourceTableType = 'Google_TableReference'; + protected $__sourceTableDataType = ''; + public $sourceTable; + public $writeDisposition; + public function setCreateDisposition( $createDisposition) { + $this->createDisposition = $createDisposition; + } + public function getCreateDisposition() { + return $this->createDisposition; + } + public function setDestinationTable(Google_TableReference $destinationTable) { + $this->destinationTable = $destinationTable; + } + public function getDestinationTable() { + return $this->destinationTable; + } + public function setSourceTable(Google_TableReference $sourceTable) { + $this->sourceTable = $sourceTable; + } + public function getSourceTable() { + return $this->sourceTable; + } + public function setWriteDisposition( $writeDisposition) { + $this->writeDisposition = $writeDisposition; + } + public function getWriteDisposition() { + return $this->writeDisposition; + } +} + +class Google_JobList extends Google_Model { + public $etag; + protected $__jobsType = 'Google_JobListJobs'; + protected $__jobsDataType = 'array'; + public $jobs; + public $kind; + public $nextPageToken; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setJobs(/* array(Google_JobListJobs) */ $jobs) { + $this->assertIsArray($jobs, 'Google_JobListJobs', __METHOD__); + $this->jobs = $jobs; + } + public function getJobs() { + return $this->jobs; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_JobListJobs extends Google_Model { + protected $__configurationType = 'Google_JobConfiguration'; + protected $__configurationDataType = ''; + public $configuration; + protected $__errorResultType = 'Google_ErrorProto'; + protected $__errorResultDataType = ''; + public $errorResult; + public $id; + protected $__jobReferenceType = 'Google_JobReference'; + protected $__jobReferenceDataType = ''; + public $jobReference; + public $kind; + public $state; + protected $__statisticsType = 'Google_JobStatistics'; + protected $__statisticsDataType = ''; + public $statistics; + protected $__statusType = 'Google_JobStatus'; + protected $__statusDataType = ''; + public $status; + public function setConfiguration(Google_JobConfiguration $configuration) { + $this->configuration = $configuration; + } + public function getConfiguration() { + return $this->configuration; + } + public function setErrorResult(Google_ErrorProto $errorResult) { + $this->errorResult = $errorResult; + } + public function getErrorResult() { + return $this->errorResult; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setJobReference(Google_JobReference $jobReference) { + $this->jobReference = $jobReference; + } + public function getJobReference() { + return $this->jobReference; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } + public function setStatistics(Google_JobStatistics $statistics) { + $this->statistics = $statistics; + } + public function getStatistics() { + return $this->statistics; + } + public function setStatus(Google_JobStatus $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_JobReference extends Google_Model { + public $jobId; + public $projectId; + public function setJobId( $jobId) { + $this->jobId = $jobId; + } + public function getJobId() { + return $this->jobId; + } + public function setProjectId( $projectId) { + $this->projectId = $projectId; + } + public function getProjectId() { + return $this->projectId; + } +} + +class Google_JobStatistics extends Google_Model { + public $endTime; + protected $__loadType = 'Google_JobStatistics3'; + protected $__loadDataType = ''; + public $load; + protected $__queryType = 'Google_JobStatistics2'; + protected $__queryDataType = ''; + public $query; + public $startTime; + public $totalBytesProcessed; + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setLoad(Google_JobStatistics3 $load) { + $this->load = $load; + } + public function getLoad() { + return $this->load; + } + public function setQuery(Google_JobStatistics2 $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } + public function setTotalBytesProcessed( $totalBytesProcessed) { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() { + return $this->totalBytesProcessed; + } +} + +class Google_JobStatistics2 extends Google_Model { + public $cacheHit; + public $completionRatio; + public $totalBytesProcessed; + public function setCacheHit( $cacheHit) { + $this->cacheHit = $cacheHit; + } + public function getCacheHit() { + return $this->cacheHit; + } + public function setCompletionRatio( $completionRatio) { + $this->completionRatio = $completionRatio; + } + public function getCompletionRatio() { + return $this->completionRatio; + } + public function setTotalBytesProcessed( $totalBytesProcessed) { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() { + return $this->totalBytesProcessed; + } +} + +class Google_JobStatistics3 extends Google_Model { + public $inputFileBytes; + public $inputFiles; + public $outputBytes; + public $outputRows; + public function setInputFileBytes( $inputFileBytes) { + $this->inputFileBytes = $inputFileBytes; + } + public function getInputFileBytes() { + return $this->inputFileBytes; + } + public function setInputFiles( $inputFiles) { + $this->inputFiles = $inputFiles; + } + public function getInputFiles() { + return $this->inputFiles; + } + public function setOutputBytes( $outputBytes) { + $this->outputBytes = $outputBytes; + } + public function getOutputBytes() { + return $this->outputBytes; + } + public function setOutputRows( $outputRows) { + $this->outputRows = $outputRows; + } + public function getOutputRows() { + return $this->outputRows; + } +} + +class Google_JobStatus extends Google_Model { + protected $__errorResultType = 'Google_ErrorProto'; + protected $__errorResultDataType = ''; + public $errorResult; + protected $__errorsType = 'Google_ErrorProto'; + protected $__errorsDataType = 'array'; + public $errors; + public $state; + public function setErrorResult(Google_ErrorProto $errorResult) { + $this->errorResult = $errorResult; + } + public function getErrorResult() { + return $this->errorResult; + } + public function setErrors(/* array(Google_ErrorProto) */ $errors) { + $this->assertIsArray($errors, 'Google_ErrorProto', __METHOD__); + $this->errors = $errors; + } + public function getErrors() { + return $this->errors; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } +} + +class Google_ProjectList extends Google_Model { + public $etag; + public $kind; + public $nextPageToken; + protected $__projectsType = 'Google_ProjectListProjects'; + protected $__projectsDataType = 'array'; + public $projects; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setProjects(/* array(Google_ProjectListProjects) */ $projects) { + $this->assertIsArray($projects, 'Google_ProjectListProjects', __METHOD__); + $this->projects = $projects; + } + public function getProjects() { + return $this->projects; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ProjectListProjects extends Google_Model { + public $friendlyName; + public $id; + public $kind; + public $numericId; + protected $__projectReferenceType = 'Google_ProjectReference'; + protected $__projectReferenceDataType = ''; + public $projectReference; + public function setFriendlyName( $friendlyName) { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() { + return $this->friendlyName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNumericId( $numericId) { + $this->numericId = $numericId; + } + public function getNumericId() { + return $this->numericId; + } + public function setProjectReference(Google_ProjectReference $projectReference) { + $this->projectReference = $projectReference; + } + public function getProjectReference() { + return $this->projectReference; + } +} + +class Google_ProjectReference extends Google_Model { + public $projectId; + public function setProjectId( $projectId) { + $this->projectId = $projectId; + } + public function getProjectId() { + return $this->projectId; + } +} + +class Google_QueryRequest extends Google_Model { + protected $__defaultDatasetType = 'Google_DatasetReference'; + protected $__defaultDatasetDataType = ''; + public $defaultDataset; + public $dryRun; + public $kind; + public $maxResults; + public $minCompletionRatio; + public $preserveNulls; + public $query; + public $timeoutMs; + public $useQueryCache; + public function setDefaultDataset(Google_DatasetReference $defaultDataset) { + $this->defaultDataset = $defaultDataset; + } + public function getDefaultDataset() { + return $this->defaultDataset; + } + public function setDryRun( $dryRun) { + $this->dryRun = $dryRun; + } + public function getDryRun() { + return $this->dryRun; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxResults( $maxResults) { + $this->maxResults = $maxResults; + } + public function getMaxResults() { + return $this->maxResults; + } + public function setMinCompletionRatio( $minCompletionRatio) { + $this->minCompletionRatio = $minCompletionRatio; + } + public function getMinCompletionRatio() { + return $this->minCompletionRatio; + } + public function setPreserveNulls( $preserveNulls) { + $this->preserveNulls = $preserveNulls; + } + public function getPreserveNulls() { + return $this->preserveNulls; + } + public function setQuery( $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setTimeoutMs( $timeoutMs) { + $this->timeoutMs = $timeoutMs; + } + public function getTimeoutMs() { + return $this->timeoutMs; + } + public function setUseQueryCache( $useQueryCache) { + $this->useQueryCache = $useQueryCache; + } + public function getUseQueryCache() { + return $this->useQueryCache; + } +} + +class Google_QueryResponse extends Google_Model { + public $cacheHit; + public $jobComplete; + protected $__jobReferenceType = 'Google_JobReference'; + protected $__jobReferenceDataType = ''; + public $jobReference; + public $kind; + public $pageToken; + protected $__rowsType = 'Google_TableRow'; + protected $__rowsDataType = 'array'; + public $rows; + protected $__schemaType = 'Google_TableSchema'; + protected $__schemaDataType = ''; + public $schema; + public $totalBytesProcessed; + public $totalRows; + public function setCacheHit( $cacheHit) { + $this->cacheHit = $cacheHit; + } + public function getCacheHit() { + return $this->cacheHit; + } + public function setJobComplete( $jobComplete) { + $this->jobComplete = $jobComplete; + } + public function getJobComplete() { + return $this->jobComplete; + } + public function setJobReference(Google_JobReference $jobReference) { + $this->jobReference = $jobReference; + } + public function getJobReference() { + return $this->jobReference; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPageToken( $pageToken) { + $this->pageToken = $pageToken; + } + public function getPageToken() { + return $this->pageToken; + } + public function setRows(/* array(Google_TableRow) */ $rows) { + $this->assertIsArray($rows, 'Google_TableRow', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setSchema(Google_TableSchema $schema) { + $this->schema = $schema; + } + public function getSchema() { + return $this->schema; + } + public function setTotalBytesProcessed( $totalBytesProcessed) { + $this->totalBytesProcessed = $totalBytesProcessed; + } + public function getTotalBytesProcessed() { + return $this->totalBytesProcessed; + } + public function setTotalRows( $totalRows) { + $this->totalRows = $totalRows; + } + public function getTotalRows() { + return $this->totalRows; + } +} + +class Google_Table extends Google_Model { + public $creationTime; + public $description; + public $etag; + public $expirationTime; + public $friendlyName; + public $id; + public $kind; + public $lastModifiedTime; + public $numBytes; + public $numRows; + protected $__schemaType = 'Google_TableSchema'; + protected $__schemaDataType = ''; + public $schema; + public $selfLink; + protected $__tableReferenceType = 'Google_TableReference'; + protected $__tableReferenceDataType = ''; + public $tableReference; + public function setCreationTime( $creationTime) { + $this->creationTime = $creationTime; + } + public function getCreationTime() { + return $this->creationTime; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExpirationTime( $expirationTime) { + $this->expirationTime = $expirationTime; + } + public function getExpirationTime() { + return $this->expirationTime; + } + public function setFriendlyName( $friendlyName) { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() { + return $this->friendlyName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModifiedTime( $lastModifiedTime) { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() { + return $this->lastModifiedTime; + } + public function setNumBytes( $numBytes) { + $this->numBytes = $numBytes; + } + public function getNumBytes() { + return $this->numBytes; + } + public function setNumRows( $numRows) { + $this->numRows = $numRows; + } + public function getNumRows() { + return $this->numRows; + } + public function setSchema(Google_TableSchema $schema) { + $this->schema = $schema; + } + public function getSchema() { + return $this->schema; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTableReference(Google_TableReference $tableReference) { + $this->tableReference = $tableReference; + } + public function getTableReference() { + return $this->tableReference; + } +} + +class Google_TableCell extends Google_Model { + public $v; + public function setV( $v) { + $this->v = $v; + } + public function getV() { + return $this->v; + } +} + +class Google_TableDataList extends Google_Model { + public $etag; + public $kind; + public $pageToken; + protected $__rowsType = 'Google_TableRow'; + protected $__rowsDataType = 'array'; + public $rows; + public $totalRows; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPageToken( $pageToken) { + $this->pageToken = $pageToken; + } + public function getPageToken() { + return $this->pageToken; + } + public function setRows(/* array(Google_TableRow) */ $rows) { + $this->assertIsArray($rows, 'Google_TableRow', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setTotalRows( $totalRows) { + $this->totalRows = $totalRows; + } + public function getTotalRows() { + return $this->totalRows; + } +} + +class Google_TableFieldSchema extends Google_Model { + protected $__fieldsType = 'Google_TableFieldSchema'; + protected $__fieldsDataType = 'array'; + public $fields; + public $mode; + public $name; + public $type; + public function setFields(/* array(Google_TableFieldSchema) */ $fields) { + $this->assertIsArray($fields, 'Google_TableFieldSchema', __METHOD__); + $this->fields = $fields; + } + public function getFields() { + return $this->fields; + } + public function setMode( $mode) { + $this->mode = $mode; + } + public function getMode() { + return $this->mode; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_TableList extends Google_Model { + public $etag; + public $kind; + public $nextPageToken; + protected $__tablesType = 'Google_TableListTables'; + protected $__tablesDataType = 'array'; + public $tables; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTables(/* array(Google_TableListTables) */ $tables) { + $this->assertIsArray($tables, 'Google_TableListTables', __METHOD__); + $this->tables = $tables; + } + public function getTables() { + return $this->tables; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_TableListTables extends Google_Model { + public $friendlyName; + public $id; + public $kind; + protected $__tableReferenceType = 'Google_TableReference'; + protected $__tableReferenceDataType = ''; + public $tableReference; + public function setFriendlyName( $friendlyName) { + $this->friendlyName = $friendlyName; + } + public function getFriendlyName() { + return $this->friendlyName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTableReference(Google_TableReference $tableReference) { + $this->tableReference = $tableReference; + } + public function getTableReference() { + return $this->tableReference; + } +} + +class Google_TableReference extends Google_Model { + public $datasetId; + public $projectId; + public $tableId; + public function setDatasetId( $datasetId) { + $this->datasetId = $datasetId; + } + public function getDatasetId() { + return $this->datasetId; + } + public function setProjectId( $projectId) { + $this->projectId = $projectId; + } + public function getProjectId() { + return $this->projectId; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } +} + +class Google_TableRow extends Google_Model { + protected $__fType = 'Google_TableCell'; + protected $__fDataType = 'array'; + public $f; + public function setF(/* array(Google_TableCell) */ $f) { + $this->assertIsArray($f, 'Google_TableCell', __METHOD__); + $this->f = $f; + } + public function getF() { + return $this->f; + } +} + +class Google_TableSchema extends Google_Model { + protected $__fieldsType = 'Google_TableFieldSchema'; + protected $__fieldsDataType = 'array'; + public $fields; + public function setFields(/* array(Google_TableFieldSchema) */ $fields) { + $this->assertIsArray($fields, 'Google_TableFieldSchema', __METHOD__); + $this->fields = $fields; + } + public function getFields() { + return $this->fields; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BloggerService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BloggerService.php new file mode 100644 index 0000000..83d1fec --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BloggerService.php @@ -0,0 +1,1389 @@ + + * $bloggerService = new Google_BloggerService(...); + * $blogUserInfos = $bloggerService->blogUserInfos; + * + */ + class Google_BlogUserInfosServiceResource extends Google_ServiceResource { + + /** + * Gets one blog and user info pair by blogId and userId. (blogUserInfos.get) + * + * @param string $userId ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @param string $blogId The ID of the blog to get. + * @param array $optParams Optional parameters. + * + * @opt_param string maxPosts Maximum number of posts to pull back with the blog. + * @return Google_BlogUserInfo + */ + public function get($userId, $blogId, $optParams = array()) { + $params = array('userId' => $userId, 'blogId' => $blogId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_BlogUserInfo($data); + } else { + return $data; + } + } + } + + /** + * The "blogs" collection of methods. + * Typical usage is: + * + * $bloggerService = new Google_BloggerService(...); + * $blogs = $bloggerService->blogs; + * + */ + class Google_BlogsServiceResource extends Google_ServiceResource { + + /** + * Gets one blog by id. (blogs.get) + * + * @param string $blogId The ID of the blog to get. + * @param array $optParams Optional parameters. + * + * @opt_param string maxPosts Maximum number of posts to pull back with the blog. + * @return Google_Blog + */ + public function get($blogId, $optParams = array()) { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Blog($data); + } else { + return $data; + } + } + /** + * Retrieve a Blog by URL. (blogs.getByUrl) + * + * @param string $url The URL of the blog to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Blog + */ + public function getByUrl($url, $optParams = array()) { + $params = array('url' => $url); + $params = array_merge($params, $optParams); + $data = $this->__call('getByUrl', array($params)); + if ($this->useObjects()) { + return new Google_Blog($data); + } else { + return $data; + } + } + /** + * Retrieves a list of blogs, possibly filtered. (blogs.listByUser) + * + * @param string $userId ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier. + * @param array $optParams Optional parameters. + * @return Google_BlogList + */ + public function listByUser($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('listByUser', array($params)); + if ($this->useObjects()) { + return new Google_BlogList($data); + } else { + return $data; + } + } + } + + /** + * The "comments" collection of methods. + * Typical usage is: + * + * $bloggerService = new Google_BloggerService(...); + * $comments = $bloggerService->comments; + * + */ + class Google_CommentsServiceResource extends Google_ServiceResource { + + /** + * Gets one comment by id. (comments.get) + * + * @param string $blogId ID of the blog to containing the comment. + * @param string $postId ID of the post to fetch posts from. + * @param string $commentId The ID of the comment to get. + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function get($blogId, $postId, $commentId, $optParams = array()) { + $params = array('blogId' => $blogId, 'postId' => $postId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Retrieves the comments for a blog, possibly filtered. (comments.list) + * + * @param string $blogId ID of the blog to fetch comments from. + * @param string $postId ID of the post to fetch posts from. + * @param array $optParams Optional parameters. + * + * @opt_param string endDate Latest date of comment to fetch, a date-time with RFC 3339 formatting. + * @opt_param bool fetchBodies Whether the body content of the comments is included. + * @opt_param string maxResults Maximum number of comments to include in the result. + * @opt_param string pageToken Continuation token if request is paged. + * @opt_param string startDate Earliest date of comment to fetch, a date-time with RFC 3339 formatting. + * @return Google_CommentList + */ + public function listComments($blogId, $postId, $optParams = array()) { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommentList($data); + } else { + return $data; + } + } + } + + /** + * The "pages" collection of methods. + * Typical usage is: + * + * $bloggerService = new Google_BloggerService(...); + * $pages = $bloggerService->pages; + * + */ + class Google_PagesServiceResource extends Google_ServiceResource { + + /** + * Gets one blog page by id. (pages.get) + * + * @param string $blogId ID of the blog containing the page. + * @param string $pageId The ID of the page to get. + * @param array $optParams Optional parameters. + * @return Google_Page + */ + public function get($blogId, $pageId, $optParams = array()) { + $params = array('blogId' => $blogId, 'pageId' => $pageId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Page($data); + } else { + return $data; + } + } + /** + * Retrieves pages for a blog, possibly filtered. (pages.list) + * + * @param string $blogId ID of the blog to fetch pages from. + * @param array $optParams Optional parameters. + * + * @opt_param bool fetchBodies Whether to retrieve the Page bodies. + * @return Google_PageList + */ + public function listPages($blogId, $optParams = array()) { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PageList($data); + } else { + return $data; + } + } + } + + /** + * The "posts" collection of methods. + * Typical usage is: + * + * $bloggerService = new Google_BloggerService(...); + * $posts = $bloggerService->posts; + * + */ + class Google_PostsServiceResource extends Google_ServiceResource { + + /** + * Delete a post by id. (posts.delete) + * + * @param string $blogId The Id of the Blog. + * @param string $postId The ID of the Post. + * @param array $optParams Optional parameters. + */ + public function delete($blogId, $postId, $optParams = array()) { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Get a post by id. (posts.get) + * + * @param string $blogId ID of the blog to fetch the post from. + * @param string $postId The ID of the post + * @param array $optParams Optional parameters. + * + * @opt_param string maxComments Maximum number of comments to pull back on a post. + * @return Google_Post + */ + public function get($blogId, $postId, $optParams = array()) { + $params = array('blogId' => $blogId, 'postId' => $postId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Post($data); + } else { + return $data; + } + } + /** + * Retrieve a Post by Path. (posts.getByPath) + * + * @param string $blogId ID of the blog to fetch the post from. + * @param string $path Path of the Post to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string maxComments Maximum number of comments to pull back on a post. + * @return Google_Post + */ + public function getByPath($blogId, $path, $optParams = array()) { + $params = array('blogId' => $blogId, 'path' => $path); + $params = array_merge($params, $optParams); + $data = $this->__call('getByPath', array($params)); + if ($this->useObjects()) { + return new Google_Post($data); + } else { + return $data; + } + } + /** + * Add a post. (posts.insert) + * + * @param string $blogId ID of the blog to add the post to. + * @param Google_Post $postBody + * @param array $optParams Optional parameters. + * @return Google_Post + */ + public function insert($blogId, Google_Post $postBody, $optParams = array()) { + $params = array('blogId' => $blogId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Post($data); + } else { + return $data; + } + } + /** + * Retrieves a list of posts, possibly filtered. (posts.list) + * + * @param string $blogId ID of the blog to fetch posts from. + * @param array $optParams Optional parameters. + * + * @opt_param string endDate Latest post date to fetch, a date-time with RFC 3339 formatting. + * @opt_param bool fetchBodies Whether the body content of posts is included. + * @opt_param string labels Comma-separated list of labels to search for. + * @opt_param string maxResults Maximum number of posts to fetch. + * @opt_param string pageToken Continuation token if the request is paged. + * @opt_param string startDate Earliest post date to fetch, a date-time with RFC 3339 formatting. + * @return Google_PostList + */ + public function listPosts($blogId, $optParams = array()) { + $params = array('blogId' => $blogId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PostList($data); + } else { + return $data; + } + } + /** + * Update a post. This method supports patch semantics. (posts.patch) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param Google_Post $postBody + * @param array $optParams Optional parameters. + * @return Google_Post + */ + public function patch($blogId, $postId, Google_Post $postBody, $optParams = array()) { + $params = array('blogId' => $blogId, 'postId' => $postId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Post($data); + } else { + return $data; + } + } + /** + * Search for a post. (posts.search) + * + * @param string $blogId ID of the blog to fetch the post from. + * @param string $q Query terms to search this blog for matching posts. + * @param array $optParams Optional parameters. + * @return Google_PostList + */ + public function search($blogId, $q, $optParams = array()) { + $params = array('blogId' => $blogId, 'q' => $q); + $params = array_merge($params, $optParams); + $data = $this->__call('search', array($params)); + if ($this->useObjects()) { + return new Google_PostList($data); + } else { + return $data; + } + } + /** + * Update a post. (posts.update) + * + * @param string $blogId The ID of the Blog. + * @param string $postId The ID of the Post. + * @param Google_Post $postBody + * @param array $optParams Optional parameters. + * @return Google_Post + */ + public function update($blogId, $postId, Google_Post $postBody, $optParams = array()) { + $params = array('blogId' => $blogId, 'postId' => $postId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Post($data); + } else { + return $data; + } + } + } + + /** + * The "users" collection of methods. + * Typical usage is: + * + * $bloggerService = new Google_BloggerService(...); + * $users = $bloggerService->users; + * + */ + class Google_UsersServiceResource extends Google_ServiceResource { + + /** + * Gets one user by id. (users.get) + * + * @param string $userId The ID of the user to get. + * @param array $optParams Optional parameters. + * @return Google_User + */ + public function get($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_User($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Blogger (v3). + * + *

    + * API for access to the data within Blogger. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_BloggerService extends Google_Service { + public $blogUserInfos; + public $blogs; + public $comments; + public $pages; + public $posts; + public $users; + /** + * Constructs the internal representation of the Blogger service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'blogger/v3/'; + $this->version = 'v3'; + $this->serviceName = 'blogger'; + + $client->addService($this->serviceName, $this->version); + $this->blogUserInfos = new Google_BlogUserInfosServiceResource($this, $this->serviceName, 'blogUserInfos', json_decode('{"methods": {"get": {"id": "blogger.blogUserInfos.get", "path": "users/{userId}/blogs/{blogId}", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "maxPosts": {"type": "integer", "format": "uint32", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BlogUserInfo"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}}}', true)); + $this->blogs = new Google_BlogsServiceResource($this, $this->serviceName, 'blogs', json_decode('{"methods": {"get": {"id": "blogger.blogs.get", "path": "blogs/{blogId}", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "maxPosts": {"type": "integer", "format": "uint32", "location": "query"}}, "response": {"$ref": "Blog"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "getByUrl": {"id": "blogger.blogs.getByUrl", "path": "blogs/byurl", "httpMethod": "GET", "parameters": {"url": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "Blog"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "listByUser": {"id": "blogger.blogs.listByUser", "path": "users/{userId}/blogs", "httpMethod": "GET", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BlogList"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}}}', true)); + $this->comments = new Google_CommentsServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods": {"get": {"id": "blogger.comments.get", "path": "blogs/{blogId}/posts/{postId}/comments/{commentId}", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "commentId": {"type": "string", "required": true, "location": "path"}, "postId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "list": {"id": "blogger.comments.list", "path": "blogs/{blogId}/posts/{postId}/comments", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "endDate": {"type": "string", "format": "date-time", "location": "query"}, "fetchBodies": {"type": "boolean", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "postId": {"type": "string", "required": true, "location": "path"}, "startDate": {"type": "string", "format": "date-time", "location": "query"}}, "response": {"$ref": "CommentList"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}}}', true)); + $this->pages = new Google_PagesServiceResource($this, $this->serviceName, 'pages', json_decode('{"methods": {"get": {"id": "blogger.pages.get", "path": "blogs/{blogId}/pages/{pageId}", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "pageId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Page"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "list": {"id": "blogger.pages.list", "path": "blogs/{blogId}/pages", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "fetchBodies": {"type": "boolean", "location": "query"}}, "response": {"$ref": "PageList"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}}}', true)); + $this->posts = new Google_PostsServiceResource($this, $this->serviceName, 'posts', json_decode('{"methods": {"delete": {"id": "blogger.posts.delete", "path": "blogs/{blogId}/posts/{postId}", "httpMethod": "DELETE", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "postId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/blogger"]}, "get": {"id": "blogger.posts.get", "path": "blogs/{blogId}/posts/{postId}", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "maxComments": {"type": "integer", "format": "uint32", "location": "query"}, "postId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Post"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "getByPath": {"id": "blogger.posts.getByPath", "path": "blogs/{blogId}/posts/bypath", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "maxComments": {"type": "integer", "format": "uint32", "location": "query"}, "path": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "Post"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "insert": {"id": "blogger.posts.insert", "path": "blogs/{blogId}/posts", "httpMethod": "POST", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Post"}, "response": {"$ref": "Post"}, "scopes": ["https://www.googleapis.com/auth/blogger"]}, "list": {"id": "blogger.posts.list", "path": "blogs/{blogId}/posts", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "endDate": {"type": "string", "format": "date-time", "location": "query"}, "fetchBodies": {"type": "boolean", "location": "query"}, "labels": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "startDate": {"type": "string", "format": "date-time", "location": "query"}}, "response": {"$ref": "PostList"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "patch": {"id": "blogger.posts.patch", "path": "blogs/{blogId}/posts/{postId}", "httpMethod": "PATCH", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "postId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Post"}, "response": {"$ref": "Post"}, "scopes": ["https://www.googleapis.com/auth/blogger"]}, "search": {"id": "blogger.posts.search", "path": "blogs/{blogId}/posts/search", "httpMethod": "GET", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "q": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "PostList"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}, "update": {"id": "blogger.posts.update", "path": "blogs/{blogId}/posts/{postId}", "httpMethod": "PUT", "parameters": {"blogId": {"type": "string", "required": true, "location": "path"}, "postId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Post"}, "response": {"$ref": "Post"}, "scopes": ["https://www.googleapis.com/auth/blogger"]}}}', true)); + $this->users = new Google_UsersServiceResource($this, $this->serviceName, 'users', json_decode('{"methods": {"get": {"id": "blogger.users.get", "path": "users/{userId}", "httpMethod": "GET", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "User"}, "scopes": ["https://www.googleapis.com/auth/blogger", "https://www.googleapis.com/auth/blogger.readonly"]}}}', true)); + + } +} + + + +class Google_Blog extends Google_Model { + public $customMetaData; + public $description; + public $id; + public $kind; + protected $__localeType = 'Google_BlogLocale'; + protected $__localeDataType = ''; + public $locale; + public $name; + protected $__pagesType = 'Google_BlogPages'; + protected $__pagesDataType = ''; + public $pages; + protected $__postsType = 'Google_BlogPosts'; + protected $__postsDataType = ''; + public $posts; + public $published; + public $selfLink; + public $updated; + public $url; + public function setCustomMetaData( $customMetaData) { + $this->customMetaData = $customMetaData; + } + public function getCustomMetaData() { + return $this->customMetaData; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocale(Google_BlogLocale $locale) { + $this->locale = $locale; + } + public function getLocale() { + return $this->locale; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPages(Google_BlogPages $pages) { + $this->pages = $pages; + } + public function getPages() { + return $this->pages; + } + public function setPosts(Google_BlogPosts $posts) { + $this->posts = $posts; + } + public function getPosts() { + return $this->posts; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BlogList extends Google_Model { + protected $__itemsType = 'Google_Blog'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Blog) */ $items) { + $this->assertIsArray($items, 'Google_Blog', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_BlogLocale extends Google_Model { + public $country; + public $language; + public $variant; + public function setCountry( $country) { + $this->country = $country; + } + public function getCountry() { + return $this->country; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setVariant( $variant) { + $this->variant = $variant; + } + public function getVariant() { + return $this->variant; + } +} + +class Google_BlogPages extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_BlogPerUserInfo extends Google_Model { + public $blogId; + public $kind; + public $photosAlbumKey; + public $userId; + public function setBlogId( $blogId) { + $this->blogId = $blogId; + } + public function getBlogId() { + return $this->blogId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPhotosAlbumKey( $photosAlbumKey) { + $this->photosAlbumKey = $photosAlbumKey; + } + public function getPhotosAlbumKey() { + return $this->photosAlbumKey; + } + public function setUserId( $userId) { + $this->userId = $userId; + } + public function getUserId() { + return $this->userId; + } +} + +class Google_BlogPosts extends Google_Model { + protected $__itemsType = 'Google_Post'; + protected $__itemsDataType = 'array'; + public $items; + public $selfLink; + public $totalItems; + public function setItems(/* array(Google_Post) */ $items) { + $this->assertIsArray($items, 'Google_Post', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_BlogUserInfo extends Google_Model { + protected $__blogType = 'Google_Blog'; + protected $__blogDataType = ''; + public $blog; + public $kind; + protected $__userType = 'Google_BlogPerUserInfo'; + protected $__userDataType = ''; + public $user; + public function setBlog(Google_Blog $blog) { + $this->blog = $blog; + } + public function getBlog() { + return $this->blog; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUser(Google_BlogPerUserInfo $user) { + $this->user = $user; + } + public function getUser() { + return $this->user; + } +} + +class Google_Comment extends Google_Model { + protected $__authorType = 'Google_CommentAuthor'; + protected $__authorDataType = ''; + public $author; + protected $__blogType = 'Google_CommentBlog'; + protected $__blogDataType = ''; + public $blog; + public $content; + public $id; + protected $__inReplyToType = 'Google_CommentInReplyTo'; + protected $__inReplyToDataType = ''; + public $inReplyTo; + public $kind; + protected $__postType = 'Google_CommentPost'; + protected $__postDataType = ''; + public $post; + public $published; + public $selfLink; + public $updated; + public function setAuthor(Google_CommentAuthor $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBlog(Google_CommentBlog $blog) { + $this->blog = $blog; + } + public function getBlog() { + return $this->blog; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInReplyTo(Google_CommentInReplyTo $inReplyTo) { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() { + return $this->inReplyTo; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPost(Google_CommentPost $post) { + $this->post = $post; + } + public function getPost() { + return $this->post; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_CommentAuthor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_CommentAuthorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_CommentAuthorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentAuthorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentBlog extends Google_Model { + public $id; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_CommentInReplyTo extends Google_Model { + public $id; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_CommentList extends Google_Model { + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $prevPageToken; + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_CommentPost extends Google_Model { + public $id; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_Page extends Google_Model { + protected $__authorType = 'Google_PageAuthor'; + protected $__authorDataType = ''; + public $author; + protected $__blogType = 'Google_PageBlog'; + protected $__blogDataType = ''; + public $blog; + public $content; + public $id; + public $kind; + public $published; + public $selfLink; + public $title; + public $updated; + public $url; + public function setAuthor(Google_PageAuthor $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBlog(Google_PageBlog $blog) { + $this->blog = $blog; + } + public function getBlog() { + return $this->blog; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PageAuthor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_PageAuthorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_PageAuthorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PageAuthorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PageBlog extends Google_Model { + public $id; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_PageList extends Google_Model { + protected $__itemsType = 'Google_Page'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Page) */ $items) { + $this->assertIsArray($items, 'Google_Page', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Post extends Google_Model { + protected $__authorType = 'Google_PostAuthor'; + protected $__authorDataType = ''; + public $author; + protected $__blogType = 'Google_PostBlog'; + protected $__blogDataType = ''; + public $blog; + public $content; + public $customMetaData; + public $id; + public $kind; + public $labels; + protected $__locationType = 'Google_PostLocation'; + protected $__locationDataType = ''; + public $location; + public $published; + protected $__repliesType = 'Google_PostReplies'; + protected $__repliesDataType = ''; + public $replies; + public $selfLink; + public $title; + public $updated; + public $url; + public function setAuthor(Google_PostAuthor $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBlog(Google_PostBlog $blog) { + $this->blog = $blog; + } + public function getBlog() { + return $this->blog; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setCustomMetaData( $customMetaData) { + $this->customMetaData = $customMetaData; + } + public function getCustomMetaData() { + return $this->customMetaData; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLabels(/* array(Google_string) */ $labels) { + $this->assertIsArray($labels, 'Google_string', __METHOD__); + $this->labels = $labels; + } + public function getLabels() { + return $this->labels; + } + public function setLocation(Google_PostLocation $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setReplies(Google_PostReplies $replies) { + $this->replies = $replies; + } + public function getReplies() { + return $this->replies; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PostAuthor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_PostAuthorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_PostAuthorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PostAuthorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PostBlog extends Google_Model { + public $id; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_PostList extends Google_Model { + protected $__itemsType = 'Google_Post'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $prevPageToken; + public function setItems(/* array(Google_Post) */ $items) { + $this->assertIsArray($items, 'Google_Post', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_PostLocation extends Google_Model { + public $lat; + public $lng; + public $name; + public $span; + public function setLat( $lat) { + $this->lat = $lat; + } + public function getLat() { + return $this->lat; + } + public function setLng( $lng) { + $this->lng = $lng; + } + public function getLng() { + return $this->lng; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSpan( $span) { + $this->span = $span; + } + public function getSpan() { + return $this->span; + } +} + +class Google_PostReplies extends Google_Model { + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $selfLink; + public $totalItems; + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_User extends Google_Model { + public $about; + protected $__blogsType = 'Google_UserBlogs'; + protected $__blogsDataType = ''; + public $blogs; + public $created; + public $displayName; + public $id; + public $kind; + protected $__localeType = 'Google_UserLocale'; + protected $__localeDataType = ''; + public $locale; + public $selfLink; + public $url; + public function setAbout( $about) { + $this->about = $about; + } + public function getAbout() { + return $this->about; + } + public function setBlogs(Google_UserBlogs $blogs) { + $this->blogs = $blogs; + } + public function getBlogs() { + return $this->blogs; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocale(Google_UserLocale $locale) { + $this->locale = $locale; + } + public function getLocale() { + return $this->locale; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_UserBlogs extends Google_Model { + public $selfLink; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_UserLocale extends Google_Model { + public $country; + public $language; + public $variant; + public function setCountry( $country) { + $this->country = $country; + } + public function getCountry() { + return $this->country; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setVariant( $variant) { + $this->variant = $variant; + } + public function getVariant() { + return $this->variant; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BooksService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BooksService.php new file mode 100644 index 0000000..80d6260 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_BooksService.php @@ -0,0 +1,3491 @@ + + * $booksService = new Google_BooksService(...); + * $bookshelves = $booksService->bookshelves; + * + */ + class Google_BookshelvesServiceResource extends Google_ServiceResource { + + /** + * Retrieves metadata for a specific bookshelf for the specified user. (bookshelves.get) + * + * @param string $userId ID of user for whom to retrieve bookshelves. + * @param string $shelf ID of bookshelf to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Bookshelf + */ + public function get($userId, $shelf, $optParams = array()) { + $params = array('userId' => $userId, 'shelf' => $shelf); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Bookshelf($data); + } else { + return $data; + } + } + /** + * Retrieves a list of public bookshelves for the specified user. (bookshelves.list) + * + * @param string $userId ID of user for whom to retrieve bookshelves. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Bookshelves + */ + public function listBookshelves($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Bookshelves($data); + } else { + return $data; + } + } + } + + /** + * The "volumes" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $volumes = $booksService->volumes; + * + */ + class Google_BookshelvesVolumesServiceResource extends Google_ServiceResource { + + /** + * Retrieves volumes in a specific bookshelf for the specified user. (volumes.list) + * + * @param string $userId ID of user for whom to retrieve bookshelf volumes. + * @param string $shelf ID of bookshelf to retrieve volumes. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return + * @opt_param bool showPreorders Set to true to show pre-ordered books. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first element to return (starts at 0) + * @return Google_Volumes + */ + public function listBookshelvesVolumes($userId, $shelf, $optParams = array()) { + $params = array('userId' => $userId, 'shelf' => $shelf); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + + /** + * The "cloudloading" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $cloudloading = $booksService->cloudloading; + * + */ + class Google_CloudloadingServiceResource extends Google_ServiceResource { + + /** + * (cloudloading.addBook) + * + * @param array $optParams Optional parameters. + * + * @opt_param string drive_document_id A drive document id. The upload_client_token must not be set. + * @opt_param string mime_type The document MIME type. It can be set only if the drive_document_id is set. + * @opt_param string name The document name. It can be set only if the drive_document_id is set. + * @opt_param string upload_client_token + * @return Google_BooksCloudloadingResource + */ + public function addBook($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('addBook', array($params)); + if ($this->useObjects()) { + return new Google_BooksCloudloadingResource($data); + } else { + return $data; + } + } + /** + * Remove the book and its contents (cloudloading.deleteBook) + * + * @param string $volumeId The id of the book to be removed. + * @param array $optParams Optional parameters. + */ + public function deleteBook($volumeId, $optParams = array()) { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('deleteBook', array($params)); + return $data; + } + /** + * (cloudloading.updateBook) + * + * @param Google_BooksCloudloadingResource $postBody + * @param array $optParams Optional parameters. + * @return Google_BooksCloudloadingResource + */ + public function updateBook(Google_BooksCloudloadingResource $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('updateBook', array($params)); + if ($this->useObjects()) { + return new Google_BooksCloudloadingResource($data); + } else { + return $data; + } + } + } + + /** + * The "layers" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $layers = $booksService->layers; + * + */ + class Google_LayersServiceResource extends Google_ServiceResource { + + /** + * Gets the layer summary for a volume. (layers.get) + * + * @param string $volumeId The volume to retrieve layers for. + * @param string $summaryId The ID for the layer to get the summary for. + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion The content version for the requested volume. + * @opt_param string source String to identify the originator of this request. + * @return Google_Layersummary + */ + public function get($volumeId, $summaryId, $optParams = array()) { + $params = array('volumeId' => $volumeId, 'summaryId' => $summaryId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Layersummary($data); + } else { + return $data; + } + } + /** + * List the layer summaries for a volume. (layers.list) + * + * @param string $volumeId The volume to retrieve layers for. + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion The content version for the requested volume. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous page. + * @opt_param string source String to identify the originator of this request. + * @return Google_Layersummaries + */ + public function listLayers($volumeId, $optParams = array()) { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Layersummaries($data); + } else { + return $data; + } + } + } + + /** + * The "annotationData" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $annotationData = $booksService->annotationData; + * + */ + class Google_LayersAnnotationDataServiceResource extends Google_ServiceResource { + + /** + * Gets the annotation data. (annotationData.get) + * + * @param string $volumeId The volume to retrieve annotations for. + * @param string $layerId The ID for the layer to get the annotations. + * @param string $annotationDataId The ID of the annotation data to retrieve. + * @param string $contentVersion The content version for the volume you are trying to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param int h The requested pixel height for any images. If height is provided width must also be provided. + * @opt_param string locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param int scale The requested scale for the image. + * @opt_param string source String to identify the originator of this request. + * @opt_param int w The requested pixel width for any images. If width is provided height must also be provided. + * @return Google_Annotationdata + */ + public function get($volumeId, $layerId, $annotationDataId, $contentVersion, $optParams = array()) { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'annotationDataId' => $annotationDataId, 'contentVersion' => $contentVersion); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Annotationdata($data); + } else { + return $data; + } + } + /** + * Gets the annotation data for a volume and layer. (annotationData.list) + * + * @param string $volumeId The volume to retrieve annotation data for. + * @param string $layerId The ID for the layer to get the annotation data. + * @param string $contentVersion The content version for the requested volume. + * @param array $optParams Optional parameters. + * + * @opt_param string annotationDataId The list of Annotation Data Ids to retrieve. Pagination is ignored if this is set. + * @opt_param int h The requested pixel height for any images. If height is provided width must also be provided. + * @opt_param string locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous page. + * @opt_param int scale The requested scale for the image. + * @opt_param string source String to identify the originator of this request. + * @opt_param string updatedMax RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). + * @opt_param string updatedMin RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). + * @opt_param int w The requested pixel width for any images. If width is provided height must also be provided. + * @return Google_Annotationsdata + */ + public function listLayersAnnotationData($volumeId, $layerId, $contentVersion, $optParams = array()) { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'contentVersion' => $contentVersion); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Annotationsdata($data); + } else { + return $data; + } + } + } + /** + * The "volumeAnnotations" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $volumeAnnotations = $booksService->volumeAnnotations; + * + */ + class Google_LayersVolumeAnnotationsServiceResource extends Google_ServiceResource { + + /** + * Gets the volume annotation. (volumeAnnotations.get) + * + * @param string $volumeId The volume to retrieve annotations for. + * @param string $layerId The ID for the layer to get the annotations. + * @param string $annotationId The ID of the volume annotation to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param string source String to identify the originator of this request. + * @return Google_Volumeannotation + */ + public function get($volumeId, $layerId, $annotationId, $optParams = array()) { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'annotationId' => $annotationId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Volumeannotation($data); + } else { + return $data; + } + } + /** + * Gets the volume annotations for a volume and layer. (volumeAnnotations.list) + * + * @param string $volumeId The volume to retrieve annotations for. + * @param string $layerId The ID for the layer to get the annotations. + * @param string $contentVersion The content version for the requested volume. + * @param array $optParams Optional parameters. + * + * @opt_param string endOffset The end offset to end retrieving data from. + * @opt_param string endPosition The end position to end retrieving data from. + * @opt_param string locale The locale information for the data. ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken The value of the nextToken from the previous page. + * @opt_param bool showDeleted Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startOffset The start offset to start retrieving data from. + * @opt_param string startPosition The start position to start retrieving data from. + * @opt_param string updatedMax RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). + * @opt_param string updatedMin RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). + * @opt_param string volumeAnnotationsVersion The version of the volume annotations that you are requesting. + * @return Google_Volumeannotations + */ + public function listLayersVolumeAnnotations($volumeId, $layerId, $contentVersion, $optParams = array()) { + $params = array('volumeId' => $volumeId, 'layerId' => $layerId, 'contentVersion' => $contentVersion); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumeannotations($data); + } else { + return $data; + } + } + } + + /** + * The "myconfig" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $myconfig = $booksService->myconfig; + * + */ + class Google_MyconfigServiceResource extends Google_ServiceResource { + + /** + * Release downloaded content access restriction. (myconfig.releaseDownloadAccess) + * + * @param string $volumeIds The volume(s) to release restrictions for. + * @param string $cpksver The device/version ID from which to release the restriction. + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + * @opt_param string source String to identify the originator of this request. + * @return Google_DownloadAccesses + */ + public function releaseDownloadAccess($volumeIds, $cpksver, $optParams = array()) { + $params = array('volumeIds' => $volumeIds, 'cpksver' => $cpksver); + $params = array_merge($params, $optParams); + $data = $this->__call('releaseDownloadAccess', array($params)); + if ($this->useObjects()) { + return new Google_DownloadAccesses($data); + } else { + return $data; + } + } + /** + * Request concurrent and download access restrictions. (myconfig.requestAccess) + * + * @param string $source String to identify the originator of this request. + * @param string $volumeId The volume to request concurrent/download restrictions for. + * @param string $nonce The client nonce value. + * @param string $cpksver The device/version ID from which to request the restrictions. + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + * @return Google_RequestAccess + */ + public function requestAccess($source, $volumeId, $nonce, $cpksver, $optParams = array()) { + $params = array('source' => $source, 'volumeId' => $volumeId, 'nonce' => $nonce, 'cpksver' => $cpksver); + $params = array_merge($params, $optParams); + $data = $this->__call('requestAccess', array($params)); + if ($this->useObjects()) { + return new Google_RequestAccess($data); + } else { + return $data; + } + } + /** + * Request downloaded content access for specified volumes on the My eBooks shelf. + * (myconfig.syncVolumeLicenses) + * + * @param string $source String to identify the originator of this request. + * @param string $nonce The client nonce value. + * @param string $cpksver The device/version ID from which to release the restriction. + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1, ISO-3166-1 codes for message localization, i.e. en_US. + * @opt_param bool showPreorders Set to true to show pre-ordered books. Defaults to false. + * @opt_param string volumeIds The volume(s) to request download restrictions for. + * @return Google_Volumes + */ + public function syncVolumeLicenses($source, $nonce, $cpksver, $optParams = array()) { + $params = array('source' => $source, 'nonce' => $nonce, 'cpksver' => $cpksver); + $params = array_merge($params, $optParams); + $data = $this->__call('syncVolumeLicenses', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + + /** + * The "mylibrary" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $mylibrary = $booksService->mylibrary; + * + */ + class Google_MylibraryServiceResource extends Google_ServiceResource { + + } + + /** + * The "annotations" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $annotations = $booksService->annotations; + * + */ + class Google_MylibraryAnnotationsServiceResource extends Google_ServiceResource { + + /** + * Deletes an annotation. (annotations.delete) + * + * @param string $annotationId The ID for the annotation to delete. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function delete($annotationId, $optParams = array()) { + $params = array('annotationId' => $annotationId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets an annotation by its ID. (annotations.get) + * + * @param string $annotationId The ID for the annotation to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Annotation + */ + public function get($annotationId, $optParams = array()) { + $params = array('annotationId' => $annotationId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Annotation($data); + } else { + return $data; + } + } + /** + * Inserts a new annotation. (annotations.insert) + * + * @param Google_Annotation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Annotation + */ + public function insert(Google_Annotation $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Annotation($data); + } else { + return $data; + } + } + /** + * Retrieves a list of annotations, possibly filtered. (annotations.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion The content version for the requested volume. + * @opt_param string layerId The layer ID to limit annotation by. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageIds The page ID(s) for the volume that is being queried. + * @opt_param string pageToken The value of the nextToken from the previous page. + * @opt_param bool showDeleted Set to true to return deleted annotations. updatedMin must be in the request to use this. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string updatedMax RFC 3339 timestamp to restrict to items updated prior to this timestamp (exclusive). + * @opt_param string updatedMin RFC 3339 timestamp to restrict to items updated since this timestamp (inclusive). + * @opt_param string volumeId The volume to restrict annotations to. + * @return Google_Annotations + */ + public function listMylibraryAnnotations($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Annotations($data); + } else { + return $data; + } + } + /** + * Updates an existing annotation. (annotations.update) + * + * @param string $annotationId The ID for the annotation to update. + * @param Google_Annotation $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Annotation + */ + public function update($annotationId, Google_Annotation $postBody, $optParams = array()) { + $params = array('annotationId' => $annotationId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Annotation($data); + } else { + return $data; + } + } + } + /** + * The "bookshelves" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $bookshelves = $booksService->bookshelves; + * + */ + class Google_MylibraryBookshelvesServiceResource extends Google_ServiceResource { + + /** + * Adds a volume to a bookshelf. (bookshelves.addVolume) + * + * @param string $shelf ID of bookshelf to which to add a volume. + * @param string $volumeId ID of volume to add. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function addVolume($shelf, $volumeId, $optParams = array()) { + $params = array('shelf' => $shelf, 'volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('addVolume', array($params)); + return $data; + } + /** + * Clears all volumes from a bookshelf. (bookshelves.clearVolumes) + * + * @param string $shelf ID of bookshelf from which to remove a volume. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function clearVolumes($shelf, $optParams = array()) { + $params = array('shelf' => $shelf); + $params = array_merge($params, $optParams); + $data = $this->__call('clearVolumes', array($params)); + return $data; + } + /** + * Retrieves metadata for a specific bookshelf belonging to the authenticated user. + * (bookshelves.get) + * + * @param string $shelf ID of bookshelf to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Bookshelf + */ + public function get($shelf, $optParams = array()) { + $params = array('shelf' => $shelf); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Bookshelf($data); + } else { + return $data; + } + } + /** + * Retrieves a list of bookshelves belonging to the authenticated user. (bookshelves.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + * @return Google_Bookshelves + */ + public function listMylibraryBookshelves($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Bookshelves($data); + } else { + return $data; + } + } + /** + * Moves a volume within a bookshelf. (bookshelves.moveVolume) + * + * @param string $shelf ID of bookshelf with the volume. + * @param string $volumeId ID of volume to move. + * @param int $volumePosition Position on shelf to move the item (0 puts the item before the current first item, 1 puts it between the first and the second and so on.) + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function moveVolume($shelf, $volumeId, $volumePosition, $optParams = array()) { + $params = array('shelf' => $shelf, 'volumeId' => $volumeId, 'volumePosition' => $volumePosition); + $params = array_merge($params, $optParams); + $data = $this->__call('moveVolume', array($params)); + return $data; + } + /** + * Removes a volume from a bookshelf. (bookshelves.removeVolume) + * + * @param string $shelf ID of bookshelf from which to remove a volume. + * @param string $volumeId ID of volume to remove. + * @param array $optParams Optional parameters. + * + * @opt_param string source String to identify the originator of this request. + */ + public function removeVolume($shelf, $volumeId, $optParams = array()) { + $params = array('shelf' => $shelf, 'volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('removeVolume', array($params)); + return $data; + } + } + + /** + * The "volumes" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $volumes = $booksService->volumes; + * + */ + class Google_MylibraryBookshelvesVolumesServiceResource extends Google_ServiceResource { + + /** + * Gets volume information for volumes on a bookshelf. (volumes.list) + * + * @param string $shelf The bookshelf ID or name retrieve volumes for. + * @param array $optParams Optional parameters. + * + * @opt_param string country ISO-3166-1 code to override the IP-based location. + * @opt_param string maxResults Maximum number of results to return + * @opt_param string projection Restrict information returned to a set of selected fields. + * @opt_param string q Full-text search query string in this bookshelf. + * @opt_param bool showPreorders Set to true to show pre-ordered books. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first element to return (starts at 0) + * @return Google_Volumes + */ + public function listMylibraryBookshelvesVolumes($shelf, $optParams = array()) { + $params = array('shelf' => $shelf); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + /** + * The "readingpositions" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $readingpositions = $booksService->readingpositions; + * + */ + class Google_MylibraryReadingpositionsServiceResource extends Google_ServiceResource { + + /** + * Retrieves my reading position information for a volume. (readingpositions.get) + * + * @param string $volumeId ID of volume for which to retrieve a reading position. + * @param array $optParams Optional parameters. + * + * @opt_param string contentVersion Volume content version for which this reading position is requested. + * @opt_param string source String to identify the originator of this request. + * @return Google_ReadingPosition + */ + public function get($volumeId, $optParams = array()) { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ReadingPosition($data); + } else { + return $data; + } + } + /** + * Sets my reading position information for a volume. (readingpositions.setPosition) + * + * @param string $volumeId ID of volume for which to update the reading position. + * @param string $timestamp RFC 3339 UTC format timestamp associated with this reading position. + * @param string $position Position string for the new volume reading position. + * @param array $optParams Optional parameters. + * + * @opt_param string action Action that caused this reading position to be set. + * @opt_param string contentVersion Volume content version for which this reading position applies. + * @opt_param string deviceCookie Random persistent device cookie optional on set position. + * @opt_param string source String to identify the originator of this request. + */ + public function setPosition($volumeId, $timestamp, $position, $optParams = array()) { + $params = array('volumeId' => $volumeId, 'timestamp' => $timestamp, 'position' => $position); + $params = array_merge($params, $optParams); + $data = $this->__call('setPosition', array($params)); + return $data; + } + } + + /** + * The "volumes" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $volumes = $booksService->volumes; + * + */ + class Google_VolumesServiceResource extends Google_ServiceResource { + + /** + * Gets volume information for a single volume. (volumes.get) + * + * @param string $volumeId ID of volume to retrieve. + * @param array $optParams Optional parameters. + * + * @opt_param string country ISO-3166-1 code to override the IP-based location. + * @opt_param string partner Brand results for partner ID. + * @opt_param string projection Restrict information returned to a set of selected fields. + * @opt_param string source String to identify the originator of this request. + * @return Google_Volume + */ + public function get($volumeId, $optParams = array()) { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Volume($data); + } else { + return $data; + } + } + /** + * Performs a book search. (volumes.list) + * + * @param string $q Full-text search query string. + * @param array $optParams Optional parameters. + * + * @opt_param string download Restrict to volumes by download availability. + * @opt_param string filter Filter search results. + * @opt_param string langRestrict Restrict results to books with this language code. + * @opt_param string libraryRestrict Restrict search to this user's library. + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string orderBy Sort search results. + * @opt_param string partner Restrict and brand results for partner ID. + * @opt_param string printType Restrict to books or magazines. + * @opt_param string projection Restrict information returned to a set of selected fields. + * @opt_param bool showPreorders Set to true to show books available for preorder. Defaults to false. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first result to return (starts at 0) + * @return Google_Volumes + */ + public function listVolumes($q, $optParams = array()) { + $params = array('q' => $q); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + + /** + * The "associated" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $associated = $booksService->associated; + * + */ + class Google_VolumesAssociatedServiceResource extends Google_ServiceResource { + + /** + * Return a list of associated books. (associated.list) + * + * @param string $volumeId ID of the source volume. + * @param array $optParams Optional parameters. + * + * @opt_param string association Association type. + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @opt_param string source String to identify the originator of this request. + * @return Google_Volumes + */ + public function listVolumesAssociated($volumeId, $optParams = array()) { + $params = array('volumeId' => $volumeId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + /** + * The "mybooks" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $mybooks = $booksService->mybooks; + * + */ + class Google_VolumesMybooksServiceResource extends Google_ServiceResource { + + /** + * Return a list of books in My Library. (mybooks.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string acquireMethod How the book was aquired + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex:'en_US'. Used for generating recommendations. + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string processingState The processing state of the user uploaded volumes to be returned. Applicable only if the UPLOADED is specified in the acquireMethod. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first result to return (starts at 0) + * @return Google_Volumes + */ + public function listVolumesMybooks($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + /** + * The "recommended" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $recommended = $booksService->recommended; + * + */ + class Google_VolumesRecommendedServiceResource extends Google_ServiceResource { + + /** + * Return a list of recommended books for the current user. (recommended.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @opt_param string source String to identify the originator of this request. + * @return Google_Volumes + */ + public function listVolumesRecommended($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + /** + * The "useruploaded" collection of methods. + * Typical usage is: + * + * $booksService = new Google_BooksService(...); + * $useruploaded = $booksService->useruploaded; + * + */ + class Google_VolumesUseruploadedServiceResource extends Google_ServiceResource { + + /** + * Return a list of books uploaded by the current user. (useruploaded.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string locale ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations. + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string processingState The processing state of the user uploaded volumes to be returned. + * @opt_param string source String to identify the originator of this request. + * @opt_param string startIndex Index of the first result to return (starts at 0) + * @opt_param string volumeId The ids of the volumes to be returned. If not specified all that match the processingState are returned. + * @return Google_Volumes + */ + public function listVolumesUseruploaded($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Volumes($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Books (v1). + * + *

    + * Lets you search for books and manage your Google Books library. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_BooksService extends Google_Service { + public $bookshelves; + public $bookshelves_volumes; + public $cloudloading; + public $layers; + public $layers_annotationData; + public $layers_volumeAnnotations; + public $myconfig; + public $mylibrary_annotations; + public $mylibrary_bookshelves; + public $mylibrary_bookshelves_volumes; + public $mylibrary_readingpositions; + public $volumes; + public $volumes_associated; + public $volumes_mybooks; + public $volumes_recommended; + public $volumes_useruploaded; + /** + * Constructs the internal representation of the Books service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'books/v1/'; + $this->version = 'v1'; + $this->serviceName = 'books'; + + $client->addService($this->serviceName, $this->version); + $this->bookshelves = new Google_BookshelvesServiceResource($this, $this->serviceName, 'bookshelves', json_decode('{"methods": {"get": {"id": "books.bookshelves.get", "path": "users/{userId}/bookshelves/{shelf}", "httpMethod": "GET", "parameters": {"shelf": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Bookshelf"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.bookshelves.list", "path": "users/{userId}/bookshelves", "httpMethod": "GET", "parameters": {"source": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Bookshelves"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->bookshelves_volumes = new Google_BookshelvesVolumesServiceResource($this, $this->serviceName, 'volumes', json_decode('{"methods": {"list": {"id": "books.bookshelves.volumes.list", "path": "users/{userId}/bookshelves/{shelf}/volumes", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "shelf": {"type": "string", "required": true, "location": "path"}, "showPreorders": {"type": "boolean", "location": "query"}, "source": {"type": "string", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->cloudloading = new Google_CloudloadingServiceResource($this, $this->serviceName, 'cloudloading', json_decode('{"methods": {"addBook": {"id": "books.cloudloading.addBook", "path": "cloudloading/addBook", "httpMethod": "POST", "parameters": {"drive_document_id": {"type": "string", "location": "query"}, "mime_type": {"type": "string", "location": "query"}, "name": {"type": "string", "location": "query"}, "upload_client_token": {"type": "string", "location": "query"}}, "response": {"$ref": "BooksCloudloadingResource"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "deleteBook": {"id": "books.cloudloading.deleteBook", "path": "cloudloading/deleteBook", "httpMethod": "POST", "parameters": {"volumeId": {"type": "string", "required": true, "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/books"]}, "updateBook": {"id": "books.cloudloading.updateBook", "path": "cloudloading/updateBook", "httpMethod": "POST", "request": {"$ref": "BooksCloudloadingResource"}, "response": {"$ref": "BooksCloudloadingResource"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->layers = new Google_LayersServiceResource($this, $this->serviceName, 'layers', json_decode('{"methods": {"get": {"id": "books.layers.get", "path": "volumes/{volumeId}/layersummary/{summaryId}", "httpMethod": "GET", "parameters": {"contentVersion": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}, "summaryId": {"type": "string", "required": true, "location": "path"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Layersummary"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.layers.list", "path": "volumes/{volumeId}/layersummary", "httpMethod": "GET", "parameters": {"contentVersion": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "200", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Layersummaries"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->layers_annotationData = new Google_LayersAnnotationDataServiceResource($this, $this->serviceName, 'annotationData', json_decode('{"methods": {"get": {"id": "books.layers.annotationData.get", "path": "volumes/{volumeId}/layers/{layerId}/data/{annotationDataId}", "httpMethod": "GET", "parameters": {"annotationDataId": {"type": "string", "required": true, "location": "path"}, "contentVersion": {"type": "string", "required": true, "location": "query"}, "h": {"type": "integer", "format": "int32", "location": "query"}, "layerId": {"type": "string", "required": true, "location": "path"}, "locale": {"type": "string", "location": "query"}, "scale": {"type": "integer", "format": "int32", "minimum": "0", "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}, "w": {"type": "integer", "format": "int32", "location": "query"}}, "response": {"$ref": "Annotationdata"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.layers.annotationData.list", "path": "volumes/{volumeId}/layers/{layerId}/data", "httpMethod": "GET", "parameters": {"annotationDataId": {"type": "string", "repeated": true, "location": "query"}, "contentVersion": {"type": "string", "required": true, "location": "query"}, "h": {"type": "integer", "format": "int32", "location": "query"}, "layerId": {"type": "string", "required": true, "location": "path"}, "locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "200", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "scale": {"type": "integer", "format": "int32", "minimum": "0", "location": "query"}, "source": {"type": "string", "location": "query"}, "updatedMax": {"type": "string", "location": "query"}, "updatedMin": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}, "w": {"type": "integer", "format": "int32", "location": "query"}}, "response": {"$ref": "Annotationsdata"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->layers_volumeAnnotations = new Google_LayersVolumeAnnotationsServiceResource($this, $this->serviceName, 'volumeAnnotations', json_decode('{"methods": {"get": {"id": "books.layers.volumeAnnotations.get", "path": "volumes/{volumeId}/layers/{layerId}/annotations/{annotationId}", "httpMethod": "GET", "parameters": {"annotationId": {"type": "string", "required": true, "location": "path"}, "layerId": {"type": "string", "required": true, "location": "path"}, "locale": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Volumeannotation"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.layers.volumeAnnotations.list", "path": "volumes/{volumeId}/layers/{layerId}", "httpMethod": "GET", "parameters": {"contentVersion": {"type": "string", "required": true, "location": "query"}, "endOffset": {"type": "string", "location": "query"}, "endPosition": {"type": "string", "location": "query"}, "layerId": {"type": "string", "required": true, "location": "path"}, "locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "200", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "showDeleted": {"type": "boolean", "location": "query"}, "source": {"type": "string", "location": "query"}, "startOffset": {"type": "string", "location": "query"}, "startPosition": {"type": "string", "location": "query"}, "updatedMax": {"type": "string", "location": "query"}, "updatedMin": {"type": "string", "location": "query"}, "volumeAnnotationsVersion": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Volumeannotations"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->myconfig = new Google_MyconfigServiceResource($this, $this->serviceName, 'myconfig', json_decode('{"methods": {"releaseDownloadAccess": {"id": "books.myconfig.releaseDownloadAccess", "path": "myconfig/releaseDownloadAccess", "httpMethod": "POST", "parameters": {"cpksver": {"type": "string", "required": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeIds": {"type": "string", "required": true, "repeated": true, "location": "query"}}, "response": {"$ref": "DownloadAccesses"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "requestAccess": {"id": "books.myconfig.requestAccess", "path": "myconfig/requestAccess", "httpMethod": "POST", "parameters": {"cpksver": {"type": "string", "required": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "nonce": {"type": "string", "required": true, "location": "query"}, "source": {"type": "string", "required": true, "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "RequestAccess"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "syncVolumeLicenses": {"id": "books.myconfig.syncVolumeLicenses", "path": "myconfig/syncVolumeLicenses", "httpMethod": "POST", "parameters": {"cpksver": {"type": "string", "required": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "nonce": {"type": "string", "required": true, "location": "query"}, "showPreorders": {"type": "boolean", "location": "query"}, "source": {"type": "string", "required": true, "location": "query"}, "volumeIds": {"type": "string", "repeated": true, "location": "query"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->mylibrary_annotations = new Google_MylibraryAnnotationsServiceResource($this, $this->serviceName, 'annotations', json_decode('{"methods": {"delete": {"id": "books.mylibrary.annotations.delete", "path": "mylibrary/annotations/{annotationId}", "httpMethod": "DELETE", "parameters": {"annotationId": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/books"]}, "get": {"id": "books.mylibrary.annotations.get", "path": "mylibrary/annotations/{annotationId}", "httpMethod": "GET", "parameters": {"annotationId": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}}, "response": {"$ref": "Annotation"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "insert": {"id": "books.mylibrary.annotations.insert", "path": "mylibrary/annotations", "httpMethod": "POST", "parameters": {"source": {"type": "string", "location": "query"}}, "request": {"$ref": "Annotation"}, "response": {"$ref": "Annotation"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.mylibrary.annotations.list", "path": "mylibrary/annotations", "httpMethod": "GET", "parameters": {"contentVersion": {"type": "string", "location": "query"}, "layerId": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "40", "location": "query"}, "pageIds": {"type": "string", "repeated": true, "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "showDeleted": {"type": "boolean", "location": "query"}, "source": {"type": "string", "location": "query"}, "updatedMax": {"type": "string", "location": "query"}, "updatedMin": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "location": "query"}}, "response": {"$ref": "Annotations"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "update": {"id": "books.mylibrary.annotations.update", "path": "mylibrary/annotations/{annotationId}", "httpMethod": "PUT", "parameters": {"annotationId": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}}, "request": {"$ref": "Annotation"}, "response": {"$ref": "Annotation"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->mylibrary_bookshelves = new Google_MylibraryBookshelvesServiceResource($this, $this->serviceName, 'bookshelves', json_decode('{"methods": {"addVolume": {"id": "books.mylibrary.bookshelves.addVolume", "path": "mylibrary/bookshelves/{shelf}/addVolume", "httpMethod": "POST", "parameters": {"shelf": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/books"]}, "clearVolumes": {"id": "books.mylibrary.bookshelves.clearVolumes", "path": "mylibrary/bookshelves/{shelf}/clearVolumes", "httpMethod": "POST", "parameters": {"shelf": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/books"]}, "get": {"id": "books.mylibrary.bookshelves.get", "path": "mylibrary/bookshelves/{shelf}", "httpMethod": "GET", "parameters": {"shelf": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}}, "response": {"$ref": "Bookshelf"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.mylibrary.bookshelves.list", "path": "mylibrary/bookshelves", "httpMethod": "GET", "parameters": {"source": {"type": "string", "location": "query"}}, "response": {"$ref": "Bookshelves"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "moveVolume": {"id": "books.mylibrary.bookshelves.moveVolume", "path": "mylibrary/bookshelves/{shelf}/moveVolume", "httpMethod": "POST", "parameters": {"shelf": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "query"}, "volumePosition": {"type": "integer", "required": true, "format": "int32", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/books"]}, "removeVolume": {"id": "books.mylibrary.bookshelves.removeVolume", "path": "mylibrary/bookshelves/{shelf}/removeVolume", "httpMethod": "POST", "parameters": {"shelf": {"type": "string", "required": true, "location": "path"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->mylibrary_bookshelves_volumes = new Google_MylibraryBookshelvesVolumesServiceResource($this, $this->serviceName, 'volumes', json_decode('{"methods": {"list": {"id": "books.mylibrary.bookshelves.volumes.list", "path": "mylibrary/bookshelves/{shelf}/volumes", "httpMethod": "GET", "parameters": {"country": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "projection": {"type": "string", "enum": ["full", "lite"], "location": "query"}, "q": {"type": "string", "location": "query"}, "shelf": {"type": "string", "required": true, "location": "path"}, "showPreorders": {"type": "boolean", "location": "query"}, "source": {"type": "string", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->mylibrary_readingpositions = new Google_MylibraryReadingpositionsServiceResource($this, $this->serviceName, 'readingpositions', json_decode('{"methods": {"get": {"id": "books.mylibrary.readingpositions.get", "path": "mylibrary/readingpositions/{volumeId}", "httpMethod": "GET", "parameters": {"contentVersion": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ReadingPosition"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "setPosition": {"id": "books.mylibrary.readingpositions.setPosition", "path": "mylibrary/readingpositions/{volumeId}/setPosition", "httpMethod": "POST", "parameters": {"action": {"type": "string", "enum": ["bookmark", "chapter", "next-page", "prev-page", "scroll", "search"], "location": "query"}, "contentVersion": {"type": "string", "location": "query"}, "deviceCookie": {"type": "string", "location": "query"}, "position": {"type": "string", "required": true, "location": "query"}, "source": {"type": "string", "location": "query"}, "timestamp": {"type": "string", "required": true, "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->volumes = new Google_VolumesServiceResource($this, $this->serviceName, 'volumes', json_decode('{"methods": {"get": {"id": "books.volumes.get", "path": "volumes/{volumeId}", "httpMethod": "GET", "parameters": {"country": {"type": "string", "location": "query"}, "partner": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["full", "lite"], "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Volume"}, "scopes": ["https://www.googleapis.com/auth/books"]}, "list": {"id": "books.volumes.list", "path": "volumes", "httpMethod": "GET", "parameters": {"download": {"type": "string", "enum": ["epub"], "location": "query"}, "filter": {"type": "string", "enum": ["ebooks", "free-ebooks", "full", "paid-ebooks", "partial"], "location": "query"}, "langRestrict": {"type": "string", "location": "query"}, "libraryRestrict": {"type": "string", "enum": ["my-library", "no-restrict"], "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "40", "location": "query"}, "orderBy": {"type": "string", "enum": ["newest", "relevance"], "location": "query"}, "partner": {"type": "string", "location": "query"}, "printType": {"type": "string", "enum": ["all", "books", "magazines"], "location": "query"}, "projection": {"type": "string", "enum": ["full", "lite"], "location": "query"}, "q": {"type": "string", "required": true, "location": "query"}, "showPreorders": {"type": "boolean", "location": "query"}, "source": {"type": "string", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->volumes_associated = new Google_VolumesAssociatedServiceResource($this, $this->serviceName, 'associated', json_decode('{"methods": {"list": {"id": "books.volumes.associated.list", "path": "volumes/{volumeId}/associated", "httpMethod": "GET", "parameters": {"association": {"type": "string", "enum": ["end-of-sample", "end-of-volume"], "location": "query"}, "locale": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}, "volumeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->volumes_mybooks = new Google_VolumesMybooksServiceResource($this, $this->serviceName, 'mybooks', json_decode('{"methods": {"list": {"id": "books.volumes.mybooks.list", "path": "volumes/mybooks", "httpMethod": "GET", "parameters": {"acquireMethod": {"type": "string", "enum": ["PREORDERED", "PUBLIC_DOMAIN", "PURCHASED", "SAMPLE", "UPLOADED"], "repeated": true, "location": "query"}, "locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "processingState": {"type": "string", "enum": ["COMPLETED_FAILED", "COMPLETED_SUCCESS", "RUNNING"], "repeated": true, "location": "query"}, "source": {"type": "string", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->volumes_recommended = new Google_VolumesRecommendedServiceResource($this, $this->serviceName, 'recommended', json_decode('{"methods": {"list": {"id": "books.volumes.recommended.list", "path": "volumes/recommended", "httpMethod": "GET", "parameters": {"locale": {"type": "string", "location": "query"}, "source": {"type": "string", "location": "query"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + $this->volumes_useruploaded = new Google_VolumesUseruploadedServiceResource($this, $this->serviceName, 'useruploaded', json_decode('{"methods": {"list": {"id": "books.volumes.useruploaded.list", "path": "volumes/useruploaded", "httpMethod": "GET", "parameters": {"locale": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "40", "location": "query"}, "processingState": {"type": "string", "enum": ["COMPLETED_FAILED", "COMPLETED_SUCCESS", "RUNNING"], "repeated": true, "location": "query"}, "source": {"type": "string", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "volumeId": {"type": "string", "repeated": true, "location": "query"}}, "response": {"$ref": "Volumes"}, "scopes": ["https://www.googleapis.com/auth/books"]}}}', true)); + + } +} + + + +class Google_Annotation extends Google_Model { + public $afterSelectedText; + public $beforeSelectedText; + protected $__clientVersionRangesType = 'Google_AnnotationClientVersionRanges'; + protected $__clientVersionRangesDataType = ''; + public $clientVersionRanges; + public $created; + protected $__currentVersionRangesType = 'Google_AnnotationCurrentVersionRanges'; + protected $__currentVersionRangesDataType = ''; + public $currentVersionRanges; + public $data; + public $deleted; + public $highlightStyle; + public $id; + public $kind; + public $layerId; + public $pageIds; + public $selectedText; + public $selfLink; + public $updated; + public $volumeId; + public function setAfterSelectedText( $afterSelectedText) { + $this->afterSelectedText = $afterSelectedText; + } + public function getAfterSelectedText() { + return $this->afterSelectedText; + } + public function setBeforeSelectedText( $beforeSelectedText) { + $this->beforeSelectedText = $beforeSelectedText; + } + public function getBeforeSelectedText() { + return $this->beforeSelectedText; + } + public function setClientVersionRanges(Google_AnnotationClientVersionRanges $clientVersionRanges) { + $this->clientVersionRanges = $clientVersionRanges; + } + public function getClientVersionRanges() { + return $this->clientVersionRanges; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setCurrentVersionRanges(Google_AnnotationCurrentVersionRanges $currentVersionRanges) { + $this->currentVersionRanges = $currentVersionRanges; + } + public function getCurrentVersionRanges() { + return $this->currentVersionRanges; + } + public function setData( $data) { + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setHighlightStyle( $highlightStyle) { + $this->highlightStyle = $highlightStyle; + } + public function getHighlightStyle() { + return $this->highlightStyle; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLayerId( $layerId) { + $this->layerId = $layerId; + } + public function getLayerId() { + return $this->layerId; + } + public function setPageIds(/* array(Google_string) */ $pageIds) { + $this->assertIsArray($pageIds, 'Google_string', __METHOD__); + $this->pageIds = $pageIds; + } + public function getPageIds() { + return $this->pageIds; + } + public function setSelectedText( $selectedText) { + $this->selectedText = $selectedText; + } + public function getSelectedText() { + return $this->selectedText; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_AnnotationClientVersionRanges extends Google_Model { + protected $__cfiRangeType = 'Google_BooksAnnotationsRange'; + protected $__cfiRangeDataType = ''; + public $cfiRange; + public $contentVersion; + protected $__gbImageRangeType = 'Google_BooksAnnotationsRange'; + protected $__gbImageRangeDataType = ''; + public $gbImageRange; + protected $__gbTextRangeType = 'Google_BooksAnnotationsRange'; + protected $__gbTextRangeDataType = ''; + public $gbTextRange; + protected $__imageCfiRangeType = 'Google_BooksAnnotationsRange'; + protected $__imageCfiRangeDataType = ''; + public $imageCfiRange; + public function setCfiRange(Google_BooksAnnotationsRange $cfiRange) { + $this->cfiRange = $cfiRange; + } + public function getCfiRange() { + return $this->cfiRange; + } + public function setContentVersion( $contentVersion) { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() { + return $this->contentVersion; + } + public function setGbImageRange(Google_BooksAnnotationsRange $gbImageRange) { + $this->gbImageRange = $gbImageRange; + } + public function getGbImageRange() { + return $this->gbImageRange; + } + public function setGbTextRange(Google_BooksAnnotationsRange $gbTextRange) { + $this->gbTextRange = $gbTextRange; + } + public function getGbTextRange() { + return $this->gbTextRange; + } + public function setImageCfiRange(Google_BooksAnnotationsRange $imageCfiRange) { + $this->imageCfiRange = $imageCfiRange; + } + public function getImageCfiRange() { + return $this->imageCfiRange; + } +} + +class Google_AnnotationCurrentVersionRanges extends Google_Model { + protected $__cfiRangeType = 'Google_BooksAnnotationsRange'; + protected $__cfiRangeDataType = ''; + public $cfiRange; + public $contentVersion; + protected $__gbImageRangeType = 'Google_BooksAnnotationsRange'; + protected $__gbImageRangeDataType = ''; + public $gbImageRange; + protected $__gbTextRangeType = 'Google_BooksAnnotationsRange'; + protected $__gbTextRangeDataType = ''; + public $gbTextRange; + protected $__imageCfiRangeType = 'Google_BooksAnnotationsRange'; + protected $__imageCfiRangeDataType = ''; + public $imageCfiRange; + public function setCfiRange(Google_BooksAnnotationsRange $cfiRange) { + $this->cfiRange = $cfiRange; + } + public function getCfiRange() { + return $this->cfiRange; + } + public function setContentVersion( $contentVersion) { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() { + return $this->contentVersion; + } + public function setGbImageRange(Google_BooksAnnotationsRange $gbImageRange) { + $this->gbImageRange = $gbImageRange; + } + public function getGbImageRange() { + return $this->gbImageRange; + } + public function setGbTextRange(Google_BooksAnnotationsRange $gbTextRange) { + $this->gbTextRange = $gbTextRange; + } + public function getGbTextRange() { + return $this->gbTextRange; + } + public function setImageCfiRange(Google_BooksAnnotationsRange $imageCfiRange) { + $this->imageCfiRange = $imageCfiRange; + } + public function getImageCfiRange() { + return $this->imageCfiRange; + } +} + +class Google_Annotationdata extends Google_Model { + public $annotationType; + public $data; + public $encoded_data; + public $id; + public $kind; + public $layerId; + public $selfLink; + public $updated; + public $volumeId; + public function setAnnotationType( $annotationType) { + $this->annotationType = $annotationType; + } + public function getAnnotationType() { + return $this->annotationType; + } + public function setData( $data) { + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setEncoded_data( $encoded_data) { + $this->encoded_data = $encoded_data; + } + public function getEncoded_data() { + return $this->encoded_data; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLayerId( $layerId) { + $this->layerId = $layerId; + } + public function getLayerId() { + return $this->layerId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_Annotations extends Google_Model { + protected $__itemsType = 'Google_Annotation'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public function setItems(/* array(Google_Annotation) */ $items) { + $this->assertIsArray($items, 'Google_Annotation', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Annotationsdata extends Google_Model { + protected $__itemsType = 'Google_Annotationdata'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public function setItems(/* array(Google_Annotationdata) */ $items) { + $this->assertIsArray($items, 'Google_Annotationdata', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_BooksAnnotationsRange extends Google_Model { + public $endOffset; + public $endPosition; + public $startOffset; + public $startPosition; + public function setEndOffset( $endOffset) { + $this->endOffset = $endOffset; + } + public function getEndOffset() { + return $this->endOffset; + } + public function setEndPosition( $endPosition) { + $this->endPosition = $endPosition; + } + public function getEndPosition() { + return $this->endPosition; + } + public function setStartOffset( $startOffset) { + $this->startOffset = $startOffset; + } + public function getStartOffset() { + return $this->startOffset; + } + public function setStartPosition( $startPosition) { + $this->startPosition = $startPosition; + } + public function getStartPosition() { + return $this->startPosition; + } +} + +class Google_BooksCloudloadingResource extends Google_Model { + public $author; + public $processingState; + public $title; + public $volumeId; + public function setAuthor( $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setProcessingState( $processingState) { + $this->processingState = $processingState; + } + public function getProcessingState() { + return $this->processingState; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_BooksLayerDictData extends Google_Model { + protected $__commonType = 'Google_BooksLayerDictDataCommon'; + protected $__commonDataType = ''; + public $common; + protected $__dictType = 'Google_BooksLayerDictDataDict'; + protected $__dictDataType = ''; + public $dict; + public function setCommon(Google_BooksLayerDictDataCommon $common) { + $this->common = $common; + } + public function getCommon() { + return $this->common; + } + public function setDict(Google_BooksLayerDictDataDict $dict) { + $this->dict = $dict; + } + public function getDict() { + return $this->dict; + } +} + +class Google_BooksLayerDictDataCommon extends Google_Model { + public $title; + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_BooksLayerDictDataDict extends Google_Model { + protected $__sourceType = 'Google_BooksLayerDictDataDictSource'; + protected $__sourceDataType = ''; + public $source; + protected $__wordsType = 'Google_BooksLayerDictDataDictWords'; + protected $__wordsDataType = 'array'; + public $words; + public function setSource(Google_BooksLayerDictDataDictSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setWords(/* array(Google_BooksLayerDictDataDictWords) */ $words) { + $this->assertIsArray($words, 'Google_BooksLayerDictDataDictWords', __METHOD__); + $this->words = $words; + } + public function getWords() { + return $this->words; + } +} + +class Google_BooksLayerDictDataDictSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerDictDataDictWords extends Google_Model { + protected $__derivativesType = 'Google_BooksLayerDictDataDictWordsDerivatives'; + protected $__derivativesDataType = 'array'; + public $derivatives; + protected $__examplesType = 'Google_BooksLayerDictDataDictWordsExamples'; + protected $__examplesDataType = 'array'; + public $examples; + protected $__sensesType = 'Google_BooksLayerDictDataDictWordsSenses'; + protected $__sensesDataType = 'array'; + public $senses; + protected $__sourceType = 'Google_BooksLayerDictDataDictWordsSource'; + protected $__sourceDataType = ''; + public $source; + public function setDerivatives(/* array(Google_BooksLayerDictDataDictWordsDerivatives) */ $derivatives) { + $this->assertIsArray($derivatives, 'Google_BooksLayerDictDataDictWordsDerivatives', __METHOD__); + $this->derivatives = $derivatives; + } + public function getDerivatives() { + return $this->derivatives; + } + public function setExamples(/* array(Google_BooksLayerDictDataDictWordsExamples) */ $examples) { + $this->assertIsArray($examples, 'Google_BooksLayerDictDataDictWordsExamples', __METHOD__); + $this->examples = $examples; + } + public function getExamples() { + return $this->examples; + } + public function setSenses(/* array(Google_BooksLayerDictDataDictWordsSenses) */ $senses) { + $this->assertIsArray($senses, 'Google_BooksLayerDictDataDictWordsSenses', __METHOD__); + $this->senses = $senses; + } + public function getSenses() { + return $this->senses; + } + public function setSource(Google_BooksLayerDictDataDictWordsSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } +} + +class Google_BooksLayerDictDataDictWordsDerivatives extends Google_Model { + protected $__sourceType = 'Google_BooksLayerDictDataDictWordsDerivativesSource'; + protected $__sourceDataType = ''; + public $source; + public $text; + public function setSource(Google_BooksLayerDictDataDictWordsDerivativesSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_BooksLayerDictDataDictWordsDerivativesSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerDictDataDictWordsExamples extends Google_Model { + protected $__sourceType = 'Google_BooksLayerDictDataDictWordsExamplesSource'; + protected $__sourceDataType = ''; + public $source; + public $text; + public function setSource(Google_BooksLayerDictDataDictWordsExamplesSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_BooksLayerDictDataDictWordsExamplesSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerDictDataDictWordsSenses extends Google_Model { + protected $__conjugationsType = 'Google_BooksLayerDictDataDictWordsSensesConjugations'; + protected $__conjugationsDataType = 'array'; + public $conjugations; + protected $__definitionsType = 'Google_BooksLayerDictDataDictWordsSensesDefinitions'; + protected $__definitionsDataType = 'array'; + public $definitions; + public $partOfSpeech; + public $pronunciation; + public $pronunciationUrl; + protected $__sourceType = 'Google_BooksLayerDictDataDictWordsSensesSource'; + protected $__sourceDataType = ''; + public $source; + public $syllabification; + protected $__synonymsType = 'Google_BooksLayerDictDataDictWordsSensesSynonyms'; + protected $__synonymsDataType = 'array'; + public $synonyms; + public function setConjugations(/* array(Google_BooksLayerDictDataDictWordsSensesConjugations) */ $conjugations) { + $this->assertIsArray($conjugations, 'Google_BooksLayerDictDataDictWordsSensesConjugations', __METHOD__); + $this->conjugations = $conjugations; + } + public function getConjugations() { + return $this->conjugations; + } + public function setDefinitions(/* array(Google_BooksLayerDictDataDictWordsSensesDefinitions) */ $definitions) { + $this->assertIsArray($definitions, 'Google_BooksLayerDictDataDictWordsSensesDefinitions', __METHOD__); + $this->definitions = $definitions; + } + public function getDefinitions() { + return $this->definitions; + } + public function setPartOfSpeech( $partOfSpeech) { + $this->partOfSpeech = $partOfSpeech; + } + public function getPartOfSpeech() { + return $this->partOfSpeech; + } + public function setPronunciation( $pronunciation) { + $this->pronunciation = $pronunciation; + } + public function getPronunciation() { + return $this->pronunciation; + } + public function setPronunciationUrl( $pronunciationUrl) { + $this->pronunciationUrl = $pronunciationUrl; + } + public function getPronunciationUrl() { + return $this->pronunciationUrl; + } + public function setSource(Google_BooksLayerDictDataDictWordsSensesSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setSyllabification( $syllabification) { + $this->syllabification = $syllabification; + } + public function getSyllabification() { + return $this->syllabification; + } + public function setSynonyms(/* array(Google_BooksLayerDictDataDictWordsSensesSynonyms) */ $synonyms) { + $this->assertIsArray($synonyms, 'Google_BooksLayerDictDataDictWordsSensesSynonyms', __METHOD__); + $this->synonyms = $synonyms; + } + public function getSynonyms() { + return $this->synonyms; + } +} + +class Google_BooksLayerDictDataDictWordsSensesConjugations extends Google_Model { + public $type; + public $value; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_BooksLayerDictDataDictWordsSensesDefinitions extends Google_Model { + public $definition; + protected $__examplesType = 'Google_BooksLayerDictDataDictWordsSensesDefinitionsExamples'; + protected $__examplesDataType = 'array'; + public $examples; + public function setDefinition( $definition) { + $this->definition = $definition; + } + public function getDefinition() { + return $this->definition; + } + public function setExamples(/* array(Google_BooksLayerDictDataDictWordsSensesDefinitionsExamples) */ $examples) { + $this->assertIsArray($examples, 'Google_BooksLayerDictDataDictWordsSensesDefinitionsExamples', __METHOD__); + $this->examples = $examples; + } + public function getExamples() { + return $this->examples; + } +} + +class Google_BooksLayerDictDataDictWordsSensesDefinitionsExamples extends Google_Model { + protected $__sourceType = 'Google_BooksLayerDictDataDictWordsSensesDefinitionsExamplesSource'; + protected $__sourceDataType = ''; + public $source; + public $text; + public function setSource(Google_BooksLayerDictDataDictWordsSensesDefinitionsExamplesSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_BooksLayerDictDataDictWordsSensesDefinitionsExamplesSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerDictDataDictWordsSensesSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerDictDataDictWordsSensesSynonyms extends Google_Model { + protected $__sourceType = 'Google_BooksLayerDictDataDictWordsSensesSynonymsSource'; + protected $__sourceDataType = ''; + public $source; + public $text; + public function setSource(Google_BooksLayerDictDataDictWordsSensesSynonymsSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_BooksLayerDictDataDictWordsSensesSynonymsSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerDictDataDictWordsSource extends Google_Model { + public $attribution; + public $url; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_BooksLayerGeoData extends Google_Model { + protected $__commonType = 'Google_BooksLayerGeoDataCommon'; + protected $__commonDataType = ''; + public $common; + protected $__geoType = 'Google_BooksLayerGeoDataGeo'; + protected $__geoDataType = ''; + public $geo; + public function setCommon(Google_BooksLayerGeoDataCommon $common) { + $this->common = $common; + } + public function getCommon() { + return $this->common; + } + public function setGeo(Google_BooksLayerGeoDataGeo $geo) { + $this->geo = $geo; + } + public function getGeo() { + return $this->geo; + } +} + +class Google_BooksLayerGeoDataCommon extends Google_Model { + public $lang; + public $previewImageUrl; + public $snippet; + public $snippetUrl; + public $title; + public function setLang( $lang) { + $this->lang = $lang; + } + public function getLang() { + return $this->lang; + } + public function setPreviewImageUrl( $previewImageUrl) { + $this->previewImageUrl = $previewImageUrl; + } + public function getPreviewImageUrl() { + return $this->previewImageUrl; + } + public function setSnippet( $snippet) { + $this->snippet = $snippet; + } + public function getSnippet() { + return $this->snippet; + } + public function setSnippetUrl( $snippetUrl) { + $this->snippetUrl = $snippetUrl; + } + public function getSnippetUrl() { + return $this->snippetUrl; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_BooksLayerGeoDataGeo extends Google_Model { + protected $__boundaryType = 'Google_BooksLayerGeoDataGeoBoundary'; + protected $__boundaryDataType = 'array'; + public $boundary; + public $cachePolicy; + public $countryCode; + public $latitude; + public $longitude; + public $mapType; + protected $__viewportType = 'Google_BooksLayerGeoDataGeoViewport'; + protected $__viewportDataType = ''; + public $viewport; + public $zoom; + public function setBoundary(/* array(Google_BooksLayerGeoDataGeoBoundary) */ $boundary) { + $this->assertIsArray($boundary, 'Google_BooksLayerGeoDataGeoBoundary', __METHOD__); + $this->boundary = $boundary; + } + public function getBoundary() { + return $this->boundary; + } + public function setCachePolicy( $cachePolicy) { + $this->cachePolicy = $cachePolicy; + } + public function getCachePolicy() { + return $this->cachePolicy; + } + public function setCountryCode( $countryCode) { + $this->countryCode = $countryCode; + } + public function getCountryCode() { + return $this->countryCode; + } + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } + public function setMapType( $mapType) { + $this->mapType = $mapType; + } + public function getMapType() { + return $this->mapType; + } + public function setViewport(Google_BooksLayerGeoDataGeoViewport $viewport) { + $this->viewport = $viewport; + } + public function getViewport() { + return $this->viewport; + } + public function setZoom( $zoom) { + $this->zoom = $zoom; + } + public function getZoom() { + return $this->zoom; + } +} + +class Google_BooksLayerGeoDataGeoBoundary extends Google_Model { + public $latitude; + public $longitude; + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_BooksLayerGeoDataGeoViewport extends Google_Model { + protected $__hiType = 'Google_BooksLayerGeoDataGeoViewportHi'; + protected $__hiDataType = ''; + public $hi; + protected $__loType = 'Google_BooksLayerGeoDataGeoViewportLo'; + protected $__loDataType = ''; + public $lo; + public function setHi(Google_BooksLayerGeoDataGeoViewportHi $hi) { + $this->hi = $hi; + } + public function getHi() { + return $this->hi; + } + public function setLo(Google_BooksLayerGeoDataGeoViewportLo $lo) { + $this->lo = $lo; + } + public function getLo() { + return $this->lo; + } +} + +class Google_BooksLayerGeoDataGeoViewportHi extends Google_Model { + public $latitude; + public $longitude; + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_BooksLayerGeoDataGeoViewportLo extends Google_Model { + public $latitude; + public $longitude; + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_Bookshelf extends Google_Model { + public $access; + public $created; + public $description; + public $id; + public $kind; + public $selfLink; + public $title; + public $updated; + public $volumeCount; + public $volumesLastUpdated; + public function setAccess( $access) { + $this->access = $access; + } + public function getAccess() { + return $this->access; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVolumeCount( $volumeCount) { + $this->volumeCount = $volumeCount; + } + public function getVolumeCount() { + return $this->volumeCount; + } + public function setVolumesLastUpdated( $volumesLastUpdated) { + $this->volumesLastUpdated = $volumesLastUpdated; + } + public function getVolumesLastUpdated() { + return $this->volumesLastUpdated; + } +} + +class Google_Bookshelves extends Google_Model { + protected $__itemsType = 'Google_Bookshelf'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Bookshelf) */ $items) { + $this->assertIsArray($items, 'Google_Bookshelf', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_ConcurrentAccessRestriction extends Google_Model { + public $deviceAllowed; + public $kind; + public $maxConcurrentDevices; + public $message; + public $nonce; + public $reasonCode; + public $restricted; + public $signature; + public $source; + public $timeWindowSeconds; + public $volumeId; + public function setDeviceAllowed( $deviceAllowed) { + $this->deviceAllowed = $deviceAllowed; + } + public function getDeviceAllowed() { + return $this->deviceAllowed; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxConcurrentDevices( $maxConcurrentDevices) { + $this->maxConcurrentDevices = $maxConcurrentDevices; + } + public function getMaxConcurrentDevices() { + return $this->maxConcurrentDevices; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } + public function setNonce( $nonce) { + $this->nonce = $nonce; + } + public function getNonce() { + return $this->nonce; + } + public function setReasonCode( $reasonCode) { + $this->reasonCode = $reasonCode; + } + public function getReasonCode() { + return $this->reasonCode; + } + public function setRestricted( $restricted) { + $this->restricted = $restricted; + } + public function getRestricted() { + return $this->restricted; + } + public function setSignature( $signature) { + $this->signature = $signature; + } + public function getSignature() { + return $this->signature; + } + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setTimeWindowSeconds( $timeWindowSeconds) { + $this->timeWindowSeconds = $timeWindowSeconds; + } + public function getTimeWindowSeconds() { + return $this->timeWindowSeconds; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_DownloadAccessRestriction extends Google_Model { + public $deviceAllowed; + public $downloadsAcquired; + public $justAcquired; + public $kind; + public $maxDownloadDevices; + public $message; + public $nonce; + public $reasonCode; + public $restricted; + public $signature; + public $source; + public $volumeId; + public function setDeviceAllowed( $deviceAllowed) { + $this->deviceAllowed = $deviceAllowed; + } + public function getDeviceAllowed() { + return $this->deviceAllowed; + } + public function setDownloadsAcquired( $downloadsAcquired) { + $this->downloadsAcquired = $downloadsAcquired; + } + public function getDownloadsAcquired() { + return $this->downloadsAcquired; + } + public function setJustAcquired( $justAcquired) { + $this->justAcquired = $justAcquired; + } + public function getJustAcquired() { + return $this->justAcquired; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxDownloadDevices( $maxDownloadDevices) { + $this->maxDownloadDevices = $maxDownloadDevices; + } + public function getMaxDownloadDevices() { + return $this->maxDownloadDevices; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } + public function setNonce( $nonce) { + $this->nonce = $nonce; + } + public function getNonce() { + return $this->nonce; + } + public function setReasonCode( $reasonCode) { + $this->reasonCode = $reasonCode; + } + public function getReasonCode() { + return $this->reasonCode; + } + public function setRestricted( $restricted) { + $this->restricted = $restricted; + } + public function getRestricted() { + return $this->restricted; + } + public function setSignature( $signature) { + $this->signature = $signature; + } + public function getSignature() { + return $this->signature; + } + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_DownloadAccesses extends Google_Model { + protected $__downloadAccessListType = 'Google_DownloadAccessRestriction'; + protected $__downloadAccessListDataType = 'array'; + public $downloadAccessList; + public $kind; + public function setDownloadAccessList(/* array(Google_DownloadAccessRestriction) */ $downloadAccessList) { + $this->assertIsArray($downloadAccessList, 'Google_DownloadAccessRestriction', __METHOD__); + $this->downloadAccessList = $downloadAccessList; + } + public function getDownloadAccessList() { + return $this->downloadAccessList; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Layersummaries extends Google_Model { + protected $__itemsType = 'Google_Layersummary'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $totalItems; + public function setItems(/* array(Google_Layersummary) */ $items) { + $this->assertIsArray($items, 'Google_Layersummary', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Layersummary extends Google_Model { + public $annotationCount; + public $annotationTypes; + public $annotationsDataLink; + public $annotationsLink; + public $contentVersion; + public $dataCount; + public $id; + public $kind; + public $layerId; + public $selfLink; + public $updated; + public $volumeAnnotationsVersion; + public $volumeId; + public function setAnnotationCount( $annotationCount) { + $this->annotationCount = $annotationCount; + } + public function getAnnotationCount() { + return $this->annotationCount; + } + public function setAnnotationTypes(/* array(Google_string) */ $annotationTypes) { + $this->assertIsArray($annotationTypes, 'Google_string', __METHOD__); + $this->annotationTypes = $annotationTypes; + } + public function getAnnotationTypes() { + return $this->annotationTypes; + } + public function setAnnotationsDataLink( $annotationsDataLink) { + $this->annotationsDataLink = $annotationsDataLink; + } + public function getAnnotationsDataLink() { + return $this->annotationsDataLink; + } + public function setAnnotationsLink( $annotationsLink) { + $this->annotationsLink = $annotationsLink; + } + public function getAnnotationsLink() { + return $this->annotationsLink; + } + public function setContentVersion( $contentVersion) { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() { + return $this->contentVersion; + } + public function setDataCount( $dataCount) { + $this->dataCount = $dataCount; + } + public function getDataCount() { + return $this->dataCount; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLayerId( $layerId) { + $this->layerId = $layerId; + } + public function getLayerId() { + return $this->layerId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVolumeAnnotationsVersion( $volumeAnnotationsVersion) { + $this->volumeAnnotationsVersion = $volumeAnnotationsVersion; + } + public function getVolumeAnnotationsVersion() { + return $this->volumeAnnotationsVersion; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_ReadingPosition extends Google_Model { + public $epubCfiPosition; + public $gbImagePosition; + public $gbTextPosition; + public $kind; + public $pdfPosition; + public $updated; + public $volumeId; + public function setEpubCfiPosition( $epubCfiPosition) { + $this->epubCfiPosition = $epubCfiPosition; + } + public function getEpubCfiPosition() { + return $this->epubCfiPosition; + } + public function setGbImagePosition( $gbImagePosition) { + $this->gbImagePosition = $gbImagePosition; + } + public function getGbImagePosition() { + return $this->gbImagePosition; + } + public function setGbTextPosition( $gbTextPosition) { + $this->gbTextPosition = $gbTextPosition; + } + public function getGbTextPosition() { + return $this->gbTextPosition; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPdfPosition( $pdfPosition) { + $this->pdfPosition = $pdfPosition; + } + public function getPdfPosition() { + return $this->pdfPosition; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_RequestAccess extends Google_Model { + protected $__concurrentAccessType = 'Google_ConcurrentAccessRestriction'; + protected $__concurrentAccessDataType = ''; + public $concurrentAccess; + protected $__downloadAccessType = 'Google_DownloadAccessRestriction'; + protected $__downloadAccessDataType = ''; + public $downloadAccess; + public $kind; + public function setConcurrentAccess(Google_ConcurrentAccessRestriction $concurrentAccess) { + $this->concurrentAccess = $concurrentAccess; + } + public function getConcurrentAccess() { + return $this->concurrentAccess; + } + public function setDownloadAccess(Google_DownloadAccessRestriction $downloadAccess) { + $this->downloadAccess = $downloadAccess; + } + public function getDownloadAccess() { + return $this->downloadAccess; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Review extends Google_Model { + protected $__authorType = 'Google_ReviewAuthor'; + protected $__authorDataType = ''; + public $author; + public $content; + public $date; + public $fullTextUrl; + public $kind; + public $rating; + protected $__sourceType = 'Google_ReviewSource'; + protected $__sourceDataType = ''; + public $source; + public $title; + public $type; + public $volumeId; + public function setAuthor(Google_ReviewAuthor $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setDate( $date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setFullTextUrl( $fullTextUrl) { + $this->fullTextUrl = $fullTextUrl; + } + public function getFullTextUrl() { + return $this->fullTextUrl; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRating( $rating) { + $this->rating = $rating; + } + public function getRating() { + return $this->rating; + } + public function setSource(Google_ReviewSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_ReviewAuthor extends Google_Model { + public $displayName; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } +} + +class Google_ReviewSource extends Google_Model { + public $description; + public $extraDescription; + public $url; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setExtraDescription( $extraDescription) { + $this->extraDescription = $extraDescription; + } + public function getExtraDescription() { + return $this->extraDescription; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_Volume extends Google_Model { + protected $__accessInfoType = 'Google_VolumeAccessInfo'; + protected $__accessInfoDataType = ''; + public $accessInfo; + public $etag; + public $id; + public $kind; + protected $__layerInfoType = 'Google_VolumeLayerInfo'; + protected $__layerInfoDataType = ''; + public $layerInfo; + protected $__recommendedInfoType = 'Google_VolumeRecommendedInfo'; + protected $__recommendedInfoDataType = ''; + public $recommendedInfo; + protected $__saleInfoType = 'Google_VolumeSaleInfo'; + protected $__saleInfoDataType = ''; + public $saleInfo; + protected $__searchInfoType = 'Google_VolumeSearchInfo'; + protected $__searchInfoDataType = ''; + public $searchInfo; + public $selfLink; + protected $__userInfoType = 'Google_VolumeUserInfo'; + protected $__userInfoDataType = ''; + public $userInfo; + protected $__volumeInfoType = 'Google_VolumeVolumeInfo'; + protected $__volumeInfoDataType = ''; + public $volumeInfo; + public function setAccessInfo(Google_VolumeAccessInfo $accessInfo) { + $this->accessInfo = $accessInfo; + } + public function getAccessInfo() { + return $this->accessInfo; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLayerInfo(Google_VolumeLayerInfo $layerInfo) { + $this->layerInfo = $layerInfo; + } + public function getLayerInfo() { + return $this->layerInfo; + } + public function setRecommendedInfo(Google_VolumeRecommendedInfo $recommendedInfo) { + $this->recommendedInfo = $recommendedInfo; + } + public function getRecommendedInfo() { + return $this->recommendedInfo; + } + public function setSaleInfo(Google_VolumeSaleInfo $saleInfo) { + $this->saleInfo = $saleInfo; + } + public function getSaleInfo() { + return $this->saleInfo; + } + public function setSearchInfo(Google_VolumeSearchInfo $searchInfo) { + $this->searchInfo = $searchInfo; + } + public function getSearchInfo() { + return $this->searchInfo; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUserInfo(Google_VolumeUserInfo $userInfo) { + $this->userInfo = $userInfo; + } + public function getUserInfo() { + return $this->userInfo; + } + public function setVolumeInfo(Google_VolumeVolumeInfo $volumeInfo) { + $this->volumeInfo = $volumeInfo; + } + public function getVolumeInfo() { + return $this->volumeInfo; + } +} + +class Google_VolumeAccessInfo extends Google_Model { + public $accessViewStatus; + public $country; + protected $__downloadAccessType = 'Google_DownloadAccessRestriction'; + protected $__downloadAccessDataType = ''; + public $downloadAccess; + public $embeddable; + protected $__epubType = 'Google_VolumeAccessInfoEpub'; + protected $__epubDataType = ''; + public $epub; + protected $__pdfType = 'Google_VolumeAccessInfoPdf'; + protected $__pdfDataType = ''; + public $pdf; + public $publicDomain; + public $textToSpeechPermission; + public $viewOrderUrl; + public $viewability; + public $webReaderLink; + public function setAccessViewStatus( $accessViewStatus) { + $this->accessViewStatus = $accessViewStatus; + } + public function getAccessViewStatus() { + return $this->accessViewStatus; + } + public function setCountry( $country) { + $this->country = $country; + } + public function getCountry() { + return $this->country; + } + public function setDownloadAccess(Google_DownloadAccessRestriction $downloadAccess) { + $this->downloadAccess = $downloadAccess; + } + public function getDownloadAccess() { + return $this->downloadAccess; + } + public function setEmbeddable( $embeddable) { + $this->embeddable = $embeddable; + } + public function getEmbeddable() { + return $this->embeddable; + } + public function setEpub(Google_VolumeAccessInfoEpub $epub) { + $this->epub = $epub; + } + public function getEpub() { + return $this->epub; + } + public function setPdf(Google_VolumeAccessInfoPdf $pdf) { + $this->pdf = $pdf; + } + public function getPdf() { + return $this->pdf; + } + public function setPublicDomain( $publicDomain) { + $this->publicDomain = $publicDomain; + } + public function getPublicDomain() { + return $this->publicDomain; + } + public function setTextToSpeechPermission( $textToSpeechPermission) { + $this->textToSpeechPermission = $textToSpeechPermission; + } + public function getTextToSpeechPermission() { + return $this->textToSpeechPermission; + } + public function setViewOrderUrl( $viewOrderUrl) { + $this->viewOrderUrl = $viewOrderUrl; + } + public function getViewOrderUrl() { + return $this->viewOrderUrl; + } + public function setViewability( $viewability) { + $this->viewability = $viewability; + } + public function getViewability() { + return $this->viewability; + } + public function setWebReaderLink( $webReaderLink) { + $this->webReaderLink = $webReaderLink; + } + public function getWebReaderLink() { + return $this->webReaderLink; + } +} + +class Google_VolumeAccessInfoEpub extends Google_Model { + public $acsTokenLink; + public $downloadLink; + public $isAvailable; + public function setAcsTokenLink( $acsTokenLink) { + $this->acsTokenLink = $acsTokenLink; + } + public function getAcsTokenLink() { + return $this->acsTokenLink; + } + public function setDownloadLink( $downloadLink) { + $this->downloadLink = $downloadLink; + } + public function getDownloadLink() { + return $this->downloadLink; + } + public function setIsAvailable( $isAvailable) { + $this->isAvailable = $isAvailable; + } + public function getIsAvailable() { + return $this->isAvailable; + } +} + +class Google_VolumeAccessInfoPdf extends Google_Model { + public $acsTokenLink; + public $downloadLink; + public $isAvailable; + public function setAcsTokenLink( $acsTokenLink) { + $this->acsTokenLink = $acsTokenLink; + } + public function getAcsTokenLink() { + return $this->acsTokenLink; + } + public function setDownloadLink( $downloadLink) { + $this->downloadLink = $downloadLink; + } + public function getDownloadLink() { + return $this->downloadLink; + } + public function setIsAvailable( $isAvailable) { + $this->isAvailable = $isAvailable; + } + public function getIsAvailable() { + return $this->isAvailable; + } +} + +class Google_VolumeLayerInfo extends Google_Model { + protected $__layersType = 'Google_VolumeLayerInfoLayers'; + protected $__layersDataType = 'array'; + public $layers; + public function setLayers(/* array(Google_VolumeLayerInfoLayers) */ $layers) { + $this->assertIsArray($layers, 'Google_VolumeLayerInfoLayers', __METHOD__); + $this->layers = $layers; + } + public function getLayers() { + return $this->layers; + } +} + +class Google_VolumeLayerInfoLayers extends Google_Model { + public $layerId; + public $volumeAnnotationsVersion; + public function setLayerId( $layerId) { + $this->layerId = $layerId; + } + public function getLayerId() { + return $this->layerId; + } + public function setVolumeAnnotationsVersion( $volumeAnnotationsVersion) { + $this->volumeAnnotationsVersion = $volumeAnnotationsVersion; + } + public function getVolumeAnnotationsVersion() { + return $this->volumeAnnotationsVersion; + } +} + +class Google_VolumeRecommendedInfo extends Google_Model { + public $explanation; + public function setExplanation( $explanation) { + $this->explanation = $explanation; + } + public function getExplanation() { + return $this->explanation; + } +} + +class Google_VolumeSaleInfo extends Google_Model { + public $buyLink; + public $country; + public $isEbook; + protected $__listPriceType = 'Google_VolumeSaleInfoListPrice'; + protected $__listPriceDataType = ''; + public $listPrice; + public $onSaleDate; + protected $__retailPriceType = 'Google_VolumeSaleInfoRetailPrice'; + protected $__retailPriceDataType = ''; + public $retailPrice; + public $saleability; + public function setBuyLink( $buyLink) { + $this->buyLink = $buyLink; + } + public function getBuyLink() { + return $this->buyLink; + } + public function setCountry( $country) { + $this->country = $country; + } + public function getCountry() { + return $this->country; + } + public function setIsEbook( $isEbook) { + $this->isEbook = $isEbook; + } + public function getIsEbook() { + return $this->isEbook; + } + public function setListPrice(Google_VolumeSaleInfoListPrice $listPrice) { + $this->listPrice = $listPrice; + } + public function getListPrice() { + return $this->listPrice; + } + public function setOnSaleDate( $onSaleDate) { + $this->onSaleDate = $onSaleDate; + } + public function getOnSaleDate() { + return $this->onSaleDate; + } + public function setRetailPrice(Google_VolumeSaleInfoRetailPrice $retailPrice) { + $this->retailPrice = $retailPrice; + } + public function getRetailPrice() { + return $this->retailPrice; + } + public function setSaleability( $saleability) { + $this->saleability = $saleability; + } + public function getSaleability() { + return $this->saleability; + } +} + +class Google_VolumeSaleInfoListPrice extends Google_Model { + public $amount; + public $currencyCode; + public function setAmount( $amount) { + $this->amount = $amount; + } + public function getAmount() { + return $this->amount; + } + public function setCurrencyCode( $currencyCode) { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() { + return $this->currencyCode; + } +} + +class Google_VolumeSaleInfoRetailPrice extends Google_Model { + public $amount; + public $currencyCode; + public function setAmount( $amount) { + $this->amount = $amount; + } + public function getAmount() { + return $this->amount; + } + public function setCurrencyCode( $currencyCode) { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() { + return $this->currencyCode; + } +} + +class Google_VolumeSearchInfo extends Google_Model { + public $textSnippet; + public function setTextSnippet( $textSnippet) { + $this->textSnippet = $textSnippet; + } + public function getTextSnippet() { + return $this->textSnippet; + } +} + +class Google_VolumeUserInfo extends Google_Model { + public $isInMyBooks; + public $isPreordered; + public $isPurchased; + public $isUploaded; + protected $__readingPositionType = 'Google_ReadingPosition'; + protected $__readingPositionDataType = ''; + public $readingPosition; + protected $__reviewType = 'Google_Review'; + protected $__reviewDataType = ''; + public $review; + public $updated; + protected $__userUploadedVolumeInfoType = 'Google_VolumeUserInfoUserUploadedVolumeInfo'; + protected $__userUploadedVolumeInfoDataType = ''; + public $userUploadedVolumeInfo; + public function setIsInMyBooks( $isInMyBooks) { + $this->isInMyBooks = $isInMyBooks; + } + public function getIsInMyBooks() { + return $this->isInMyBooks; + } + public function setIsPreordered( $isPreordered) { + $this->isPreordered = $isPreordered; + } + public function getIsPreordered() { + return $this->isPreordered; + } + public function setIsPurchased( $isPurchased) { + $this->isPurchased = $isPurchased; + } + public function getIsPurchased() { + return $this->isPurchased; + } + public function setIsUploaded( $isUploaded) { + $this->isUploaded = $isUploaded; + } + public function getIsUploaded() { + return $this->isUploaded; + } + public function setReadingPosition(Google_ReadingPosition $readingPosition) { + $this->readingPosition = $readingPosition; + } + public function getReadingPosition() { + return $this->readingPosition; + } + public function setReview(Google_Review $review) { + $this->review = $review; + } + public function getReview() { + return $this->review; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUserUploadedVolumeInfo(Google_VolumeUserInfoUserUploadedVolumeInfo $userUploadedVolumeInfo) { + $this->userUploadedVolumeInfo = $userUploadedVolumeInfo; + } + public function getUserUploadedVolumeInfo() { + return $this->userUploadedVolumeInfo; + } +} + +class Google_VolumeUserInfoUserUploadedVolumeInfo extends Google_Model { + public $processingState; + public function setProcessingState( $processingState) { + $this->processingState = $processingState; + } + public function getProcessingState() { + return $this->processingState; + } +} + +class Google_VolumeVolumeInfo extends Google_Model { + public $authors; + public $averageRating; + public $canonicalVolumeLink; + public $categories; + public $contentVersion; + public $description; + protected $__dimensionsType = 'Google_VolumeVolumeInfoDimensions'; + protected $__dimensionsDataType = ''; + public $dimensions; + protected $__imageLinksType = 'Google_VolumeVolumeInfoImageLinks'; + protected $__imageLinksDataType = ''; + public $imageLinks; + protected $__industryIdentifiersType = 'Google_VolumeVolumeInfoIndustryIdentifiers'; + protected $__industryIdentifiersDataType = 'array'; + public $industryIdentifiers; + public $infoLink; + public $language; + public $mainCategory; + public $pageCount; + public $previewLink; + public $printType; + public $publishedDate; + public $publisher; + public $ratingsCount; + public $subtitle; + public $title; + public function setAuthors(/* array(Google_string) */ $authors) { + $this->assertIsArray($authors, 'Google_string', __METHOD__); + $this->authors = $authors; + } + public function getAuthors() { + return $this->authors; + } + public function setAverageRating( $averageRating) { + $this->averageRating = $averageRating; + } + public function getAverageRating() { + return $this->averageRating; + } + public function setCanonicalVolumeLink( $canonicalVolumeLink) { + $this->canonicalVolumeLink = $canonicalVolumeLink; + } + public function getCanonicalVolumeLink() { + return $this->canonicalVolumeLink; + } + public function setCategories(/* array(Google_string) */ $categories) { + $this->assertIsArray($categories, 'Google_string', __METHOD__); + $this->categories = $categories; + } + public function getCategories() { + return $this->categories; + } + public function setContentVersion( $contentVersion) { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() { + return $this->contentVersion; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDimensions(Google_VolumeVolumeInfoDimensions $dimensions) { + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setImageLinks(Google_VolumeVolumeInfoImageLinks $imageLinks) { + $this->imageLinks = $imageLinks; + } + public function getImageLinks() { + return $this->imageLinks; + } + public function setIndustryIdentifiers(/* array(Google_VolumeVolumeInfoIndustryIdentifiers) */ $industryIdentifiers) { + $this->assertIsArray($industryIdentifiers, 'Google_VolumeVolumeInfoIndustryIdentifiers', __METHOD__); + $this->industryIdentifiers = $industryIdentifiers; + } + public function getIndustryIdentifiers() { + return $this->industryIdentifiers; + } + public function setInfoLink( $infoLink) { + $this->infoLink = $infoLink; + } + public function getInfoLink() { + return $this->infoLink; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setMainCategory( $mainCategory) { + $this->mainCategory = $mainCategory; + } + public function getMainCategory() { + return $this->mainCategory; + } + public function setPageCount( $pageCount) { + $this->pageCount = $pageCount; + } + public function getPageCount() { + return $this->pageCount; + } + public function setPreviewLink( $previewLink) { + $this->previewLink = $previewLink; + } + public function getPreviewLink() { + return $this->previewLink; + } + public function setPrintType( $printType) { + $this->printType = $printType; + } + public function getPrintType() { + return $this->printType; + } + public function setPublishedDate( $publishedDate) { + $this->publishedDate = $publishedDate; + } + public function getPublishedDate() { + return $this->publishedDate; + } + public function setPublisher( $publisher) { + $this->publisher = $publisher; + } + public function getPublisher() { + return $this->publisher; + } + public function setRatingsCount( $ratingsCount) { + $this->ratingsCount = $ratingsCount; + } + public function getRatingsCount() { + return $this->ratingsCount; + } + public function setSubtitle( $subtitle) { + $this->subtitle = $subtitle; + } + public function getSubtitle() { + return $this->subtitle; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_VolumeVolumeInfoDimensions extends Google_Model { + public $height; + public $thickness; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setThickness( $thickness) { + $this->thickness = $thickness; + } + public function getThickness() { + return $this->thickness; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_VolumeVolumeInfoImageLinks extends Google_Model { + public $extraLarge; + public $large; + public $medium; + public $small; + public $smallThumbnail; + public $thumbnail; + public function setExtraLarge( $extraLarge) { + $this->extraLarge = $extraLarge; + } + public function getExtraLarge() { + return $this->extraLarge; + } + public function setLarge( $large) { + $this->large = $large; + } + public function getLarge() { + return $this->large; + } + public function setMedium( $medium) { + $this->medium = $medium; + } + public function getMedium() { + return $this->medium; + } + public function setSmall( $small) { + $this->small = $small; + } + public function getSmall() { + return $this->small; + } + public function setSmallThumbnail( $smallThumbnail) { + $this->smallThumbnail = $smallThumbnail; + } + public function getSmallThumbnail() { + return $this->smallThumbnail; + } + public function setThumbnail( $thumbnail) { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() { + return $this->thumbnail; + } +} + +class Google_VolumeVolumeInfoIndustryIdentifiers extends Google_Model { + public $identifier; + public $type; + public function setIdentifier( $identifier) { + $this->identifier = $identifier; + } + public function getIdentifier() { + return $this->identifier; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Volumeannotation extends Google_Model { + public $annotationDataId; + public $annotationDataLink; + public $annotationType; + protected $__contentRangesType = 'Google_VolumeannotationContentRanges'; + protected $__contentRangesDataType = ''; + public $contentRanges; + public $data; + public $deleted; + public $id; + public $kind; + public $layerId; + public $pageIds; + public $selectedText; + public $selfLink; + public $updated; + public $volumeId; + public function setAnnotationDataId( $annotationDataId) { + $this->annotationDataId = $annotationDataId; + } + public function getAnnotationDataId() { + return $this->annotationDataId; + } + public function setAnnotationDataLink( $annotationDataLink) { + $this->annotationDataLink = $annotationDataLink; + } + public function getAnnotationDataLink() { + return $this->annotationDataLink; + } + public function setAnnotationType( $annotationType) { + $this->annotationType = $annotationType; + } + public function getAnnotationType() { + return $this->annotationType; + } + public function setContentRanges(Google_VolumeannotationContentRanges $contentRanges) { + $this->contentRanges = $contentRanges; + } + public function getContentRanges() { + return $this->contentRanges; + } + public function setData( $data) { + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLayerId( $layerId) { + $this->layerId = $layerId; + } + public function getLayerId() { + return $this->layerId; + } + public function setPageIds(/* array(Google_string) */ $pageIds) { + $this->assertIsArray($pageIds, 'Google_string', __METHOD__); + $this->pageIds = $pageIds; + } + public function getPageIds() { + return $this->pageIds; + } + public function setSelectedText( $selectedText) { + $this->selectedText = $selectedText; + } + public function getSelectedText() { + return $this->selectedText; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVolumeId( $volumeId) { + $this->volumeId = $volumeId; + } + public function getVolumeId() { + return $this->volumeId; + } +} + +class Google_VolumeannotationContentRanges extends Google_Model { + protected $__cfiRangeType = 'Google_BooksAnnotationsRange'; + protected $__cfiRangeDataType = ''; + public $cfiRange; + public $contentVersion; + protected $__gbImageRangeType = 'Google_BooksAnnotationsRange'; + protected $__gbImageRangeDataType = ''; + public $gbImageRange; + protected $__gbTextRangeType = 'Google_BooksAnnotationsRange'; + protected $__gbTextRangeDataType = ''; + public $gbTextRange; + public function setCfiRange(Google_BooksAnnotationsRange $cfiRange) { + $this->cfiRange = $cfiRange; + } + public function getCfiRange() { + return $this->cfiRange; + } + public function setContentVersion( $contentVersion) { + $this->contentVersion = $contentVersion; + } + public function getContentVersion() { + return $this->contentVersion; + } + public function setGbImageRange(Google_BooksAnnotationsRange $gbImageRange) { + $this->gbImageRange = $gbImageRange; + } + public function getGbImageRange() { + return $this->gbImageRange; + } + public function setGbTextRange(Google_BooksAnnotationsRange $gbTextRange) { + $this->gbTextRange = $gbTextRange; + } + public function getGbTextRange() { + return $this->gbTextRange; + } +} + +class Google_Volumeannotations extends Google_Model { + protected $__itemsType = 'Google_Volumeannotation'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public $version; + public function setItems(/* array(Google_Volumeannotation) */ $items) { + $this->assertIsArray($items, 'Google_Volumeannotation', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } + public function setVersion( $version) { + $this->version = $version; + } + public function getVersion() { + return $this->version; + } +} + +class Google_Volumes extends Google_Model { + protected $__itemsType = 'Google_Volume'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $totalItems; + public function setItems(/* array(Google_Volume) */ $items) { + $this->assertIsArray($items, 'Google_Volume', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CalendarService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CalendarService.php new file mode 100644 index 0000000..c360576 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CalendarService.php @@ -0,0 +1,1971 @@ + + * $calendarService = new Google_CalendarService(...); + * $acl = $calendarService->acl; + * + */ + class Google_AclServiceResource extends Google_ServiceResource { + + /** + * Deletes an access control rule. (acl.delete) + * + * @param string $calendarId Calendar identifier. + * @param string $ruleId ACL rule identifier. + * @param array $optParams Optional parameters. + */ + public function delete($calendarId, $ruleId, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns an access control rule. (acl.get) + * + * @param string $calendarId Calendar identifier. + * @param string $ruleId ACL rule identifier. + * @param array $optParams Optional parameters. + * @return Google_AclRule + */ + public function get($calendarId, $ruleId, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_AclRule($data); + } else { + return $data; + } + } + /** + * Creates an access control rule. (acl.insert) + * + * @param string $calendarId Calendar identifier. + * @param Google_AclRule $postBody + * @param array $optParams Optional parameters. + * @return Google_AclRule + */ + public function insert($calendarId, Google_AclRule $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_AclRule($data); + } else { + return $data; + } + } + /** + * Returns the rules in the access control list for the calendar. (acl.list) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + * @return Google_Acl + */ + public function listAcl($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Acl($data); + } else { + return $data; + } + } + /** + * Updates an access control rule. This method supports patch semantics. (acl.patch) + * + * @param string $calendarId Calendar identifier. + * @param string $ruleId ACL rule identifier. + * @param Google_AclRule $postBody + * @param array $optParams Optional parameters. + * @return Google_AclRule + */ + public function patch($calendarId, $ruleId, Google_AclRule $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_AclRule($data); + } else { + return $data; + } + } + /** + * Updates an access control rule. (acl.update) + * + * @param string $calendarId Calendar identifier. + * @param string $ruleId ACL rule identifier. + * @param Google_AclRule $postBody + * @param array $optParams Optional parameters. + * @return Google_AclRule + */ + public function update($calendarId, $ruleId, Google_AclRule $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'ruleId' => $ruleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_AclRule($data); + } else { + return $data; + } + } + } + + /** + * The "calendarList" collection of methods. + * Typical usage is: + * + * $calendarService = new Google_CalendarService(...); + * $calendarList = $calendarService->calendarList; + * + */ + class Google_CalendarListServiceResource extends Google_ServiceResource { + + /** + * Deletes an entry on the user's calendar list. (calendarList.delete) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + */ + public function delete($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns an entry on the user's calendar list. (calendarList.get) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + * @return Google_CalendarListEntry + */ + public function get($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_CalendarListEntry($data); + } else { + return $data; + } + } + /** + * Adds an entry to the user's calendar list. (calendarList.insert) + * + * @param Google_CalendarListEntry $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool colorRgbFormat Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False. + * @return Google_CalendarListEntry + */ + public function insert(Google_CalendarListEntry $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CalendarListEntry($data); + } else { + return $data; + } + } + /** + * Returns entries on the user's calendar list. (calendarList.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of entries returned on one result page. Optional. + * @opt_param string minAccessRole The minimum access role for the user in the returned entires. Optional. The default is no restriction. + * @opt_param string pageToken Token specifying which result page to return. Optional. + * @opt_param bool showHidden Whether to show hidden entries. Optional. The default is False. + * @return Google_CalendarList + */ + public function listCalendarList($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CalendarList($data); + } else { + return $data; + } + } + /** + * Updates an entry on the user's calendar list. This method supports patch semantics. + * (calendarList.patch) + * + * @param string $calendarId Calendar identifier. + * @param Google_CalendarListEntry $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool colorRgbFormat Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False. + * @return Google_CalendarListEntry + */ + public function patch($calendarId, Google_CalendarListEntry $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_CalendarListEntry($data); + } else { + return $data; + } + } + /** + * Updates an entry on the user's calendar list. (calendarList.update) + * + * @param string $calendarId Calendar identifier. + * @param Google_CalendarListEntry $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool colorRgbFormat Whether to use the 'foregroundColor' and 'backgroundColor' fields to write the calendar colors (RGB). If this feature is used, the index-based 'colorId' field will be set to the best matching option automatically. Optional. The default is False. + * @return Google_CalendarListEntry + */ + public function update($calendarId, Google_CalendarListEntry $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_CalendarListEntry($data); + } else { + return $data; + } + } + } + + /** + * The "calendars" collection of methods. + * Typical usage is: + * + * $calendarService = new Google_CalendarService(...); + * $calendars = $calendarService->calendars; + * + */ + class Google_CalendarsServiceResource extends Google_ServiceResource { + + /** + * Clears a primary calendar. This operation deletes all data associated with the primary calendar + * of an account and cannot be undone. (calendars.clear) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + */ + public function clear($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('clear', array($params)); + return $data; + } + /** + * Deletes a secondary calendar. (calendars.delete) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + */ + public function delete($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns metadata for a calendar. (calendars.get) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + * @return Google_Calendar + */ + public function get($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Calendar($data); + } else { + return $data; + } + } + /** + * Creates a secondary calendar. (calendars.insert) + * + * @param Google_Calendar $postBody + * @param array $optParams Optional parameters. + * @return Google_Calendar + */ + public function insert(Google_Calendar $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Calendar($data); + } else { + return $data; + } + } + /** + * Updates metadata for a calendar. This method supports patch semantics. (calendars.patch) + * + * @param string $calendarId Calendar identifier. + * @param Google_Calendar $postBody + * @param array $optParams Optional parameters. + * @return Google_Calendar + */ + public function patch($calendarId, Google_Calendar $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Calendar($data); + } else { + return $data; + } + } + /** + * Updates metadata for a calendar. (calendars.update) + * + * @param string $calendarId Calendar identifier. + * @param Google_Calendar $postBody + * @param array $optParams Optional parameters. + * @return Google_Calendar + */ + public function update($calendarId, Google_Calendar $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Calendar($data); + } else { + return $data; + } + } + } + + /** + * The "colors" collection of methods. + * Typical usage is: + * + * $calendarService = new Google_CalendarService(...); + * $colors = $calendarService->colors; + * + */ + class Google_ColorsServiceResource extends Google_ServiceResource { + + /** + * Returns the color definitions for calendars and events. (colors.get) + * + * @param array $optParams Optional parameters. + * @return Google_Colors + */ + public function get($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Colors($data); + } else { + return $data; + } + } + } + + /** + * The "events" collection of methods. + * Typical usage is: + * + * $calendarService = new Google_CalendarService(...); + * $events = $calendarService->events; + * + */ + class Google_EventsServiceResource extends Google_ServiceResource { + + /** + * Deletes an event. (events.delete) + * + * @param string $calendarId Calendar identifier. + * @param string $eventId Event identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool sendNotifications Whether to send notifications about the deletion of the event. Optional. The default is False. + */ + public function delete($calendarId, $eventId, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns an event. (events.get) + * + * @param string $calendarId Calendar identifier. + * @param string $eventId Event identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @opt_param string timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @return Google_Event + */ + public function get($calendarId, $eventId, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + /** + * Imports an event. (events.import) + * + * @param string $calendarId Calendar identifier. + * @param Google_Event $postBody + * @param array $optParams Optional parameters. + * @return Google_Event + */ + public function import($calendarId, Google_Event $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('import', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + /** + * Creates an event. (events.insert) + * + * @param string $calendarId Calendar identifier. + * @param Google_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @opt_param bool sendNotifications Whether to send notifications about the creation of the new event. Optional. The default is False. + * @return Google_Event + */ + public function insert($calendarId, Google_Event $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + /** + * Returns instances of the specified recurring event. (events.instances) + * + * @param string $calendarId Calendar identifier. + * @param string $eventId Recurring event identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @opt_param int maxResults Maximum number of events returned on one result page. Optional. + * @opt_param string originalStart The original start time of the instance in the result. Optional. + * @opt_param string pageToken Token specifying which result page to return. Optional. + * @opt_param bool showDeleted Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events will still be included if 'singleEvents' is False. Optional. The default is False. + * @opt_param string timeMax Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. + * @opt_param string timeMin Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. + * @opt_param string timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @return Google_Events + */ + public function instances($calendarId, $eventId, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId); + $params = array_merge($params, $optParams); + $data = $this->__call('instances', array($params)); + if ($this->useObjects()) { + return new Google_Events($data); + } else { + return $data; + } + } + /** + * Returns events on the specified calendar. (events.list) + * + * @param string $calendarId Calendar identifier. + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @opt_param string iCalUID Specifies iCalendar UID (iCalUID) of events to be included in the response. Optional. + * @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @opt_param int maxResults Maximum number of events returned on one result page. Optional. + * @opt_param string orderBy The order of the events returned in the result. Optional. The default is an unspecified, stable order. + * @opt_param string pageToken Token specifying which result page to return. Optional. + * @opt_param string q Free text search terms to find events that match these terms in any field, except for extended properties. Optional. + * @opt_param bool showDeleted Whether to include deleted events (with 'status' equals 'cancelled') in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if 'showDeleted' and 'singleEvents' are both False. If 'showDeleted' and 'singleEvents' are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False. + * @opt_param bool showHiddenInvitations Whether to include hidden invitations in the result. Optional. The default is False. + * @opt_param bool singleEvents Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False. + * @opt_param string timeMax Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. + * @opt_param string timeMin Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. + * @opt_param string timeZone Time zone used in the response. Optional. The default is the time zone of the calendar. + * @opt_param string updatedMin Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time. + * @return Google_Events + */ + public function listEvents($calendarId, $optParams = array()) { + $params = array('calendarId' => $calendarId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Events($data); + } else { + return $data; + } + } + /** + * Moves an event to another calendar, i.e. changes an event's organizer. (events.move) + * + * @param string $calendarId Calendar identifier of the source calendar where the event currently is on. + * @param string $eventId Event identifier. + * @param string $destination Calendar identifier of the target calendar where the event is to be moved to. + * @param array $optParams Optional parameters. + * + * @opt_param bool sendNotifications Whether to send notifications about the change of the event's organizer. Optional. The default is False. + * @return Google_Event + */ + public function move($calendarId, $eventId, $destination, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId, 'destination' => $destination); + $params = array_merge($params, $optParams); + $data = $this->__call('move', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + /** + * Updates an event. This method supports patch semantics. (events.patch) + * + * @param string $calendarId Calendar identifier. + * @param string $eventId Event identifier. + * @param Google_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @opt_param bool sendNotifications Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False. + * @return Google_Event + */ + public function patch($calendarId, $eventId, Google_Event $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + /** + * Creates an event based on a simple text string. (events.quickAdd) + * + * @param string $calendarId Calendar identifier. + * @param string $text The text describing the event to be created. + * @param array $optParams Optional parameters. + * + * @opt_param bool sendNotifications Whether to send notifications about the creation of the event. Optional. The default is False. + * @return Google_Event + */ + public function quickAdd($calendarId, $text, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'text' => $text); + $params = array_merge($params, $optParams); + $data = $this->__call('quickAdd', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + /** + * Updates an event. (events.update) + * + * @param string $calendarId Calendar identifier. + * @param string $eventId Event identifier. + * @param Google_Event $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool alwaysIncludeEmail Whether to always include a value in the "email" field for the organizer, creator and attendees, even if no real email is available (i.e. a generated, non-working value will be provided). The use of this option is discouraged and should only be used by clients which cannot handle the absence of an email address value in the mentioned places. Optional. The default is False. + * @opt_param int maxAttendees The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. + * @opt_param bool sendNotifications Whether to send notifications about the event update (e.g. attendee's responses, title changes, etc.). Optional. The default is False. + * @return Google_Event + */ + public function update($calendarId, $eventId, Google_Event $postBody, $optParams = array()) { + $params = array('calendarId' => $calendarId, 'eventId' => $eventId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Event($data); + } else { + return $data; + } + } + } + + /** + * The "freebusy" collection of methods. + * Typical usage is: + * + * $calendarService = new Google_CalendarService(...); + * $freebusy = $calendarService->freebusy; + * + */ + class Google_FreebusyServiceResource extends Google_ServiceResource { + + /** + * Returns free/busy information for a set of calendars. (freebusy.query) + * + * @param Google_FreeBusyRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_FreeBusyResponse + */ + public function query(Google_FreeBusyRequest $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('query', array($params)); + if ($this->useObjects()) { + return new Google_FreeBusyResponse($data); + } else { + return $data; + } + } + } + + /** + * The "settings" collection of methods. + * Typical usage is: + * + * $calendarService = new Google_CalendarService(...); + * $settings = $calendarService->settings; + * + */ + class Google_SettingsServiceResource extends Google_ServiceResource { + + /** + * Returns a single user setting. (settings.get) + * + * @param string $setting Name of the user setting. + * @param array $optParams Optional parameters. + * @return Google_Setting + */ + public function get($setting, $optParams = array()) { + $params = array('setting' => $setting); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Setting($data); + } else { + return $data; + } + } + /** + * Returns all user settings for the authenticated user. (settings.list) + * + * @param array $optParams Optional parameters. + * @return Google_Settings + */ + public function listSettings($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Settings($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Calendar (v3). + * + *

    + * Lets you manipulate events and other calendar data. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_CalendarService extends Google_Service { + public $acl; + public $calendarList; + public $calendars; + public $colors; + public $events; + public $freebusy; + public $settings; + /** + * Constructs the internal representation of the Calendar service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'calendar/v3/'; + $this->version = 'v3'; + $this->serviceName = 'calendar'; + + $client->addService($this->serviceName, $this->version); + $this->acl = new Google_AclServiceResource($this, $this->serviceName, 'acl', json_decode('{"methods": {"delete": {"id": "calendar.acl.delete", "path": "calendars/{calendarId}/acl/{ruleId}", "httpMethod": "DELETE", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "ruleId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "get": {"id": "calendar.acl.get", "path": "calendars/{calendarId}/acl/{ruleId}", "httpMethod": "GET", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "ruleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AclRule"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}, "insert": {"id": "calendar.acl.insert", "path": "calendars/{calendarId}/acl", "httpMethod": "POST", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AclRule"}, "response": {"$ref": "AclRule"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "list": {"id": "calendar.acl.list", "path": "calendars/{calendarId}/acl", "httpMethod": "GET", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Acl"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "patch": {"id": "calendar.acl.patch", "path": "calendars/{calendarId}/acl/{ruleId}", "httpMethod": "PATCH", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "ruleId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AclRule"}, "response": {"$ref": "AclRule"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "update": {"id": "calendar.acl.update", "path": "calendars/{calendarId}/acl/{ruleId}", "httpMethod": "PUT", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "ruleId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AclRule"}, "response": {"$ref": "AclRule"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}}}', true)); + $this->calendarList = new Google_CalendarListServiceResource($this, $this->serviceName, 'calendarList', json_decode('{"methods": {"delete": {"id": "calendar.calendarList.delete", "path": "users/me/calendarList/{calendarId}", "httpMethod": "DELETE", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "get": {"id": "calendar.calendarList.get", "path": "users/me/calendarList/{calendarId}", "httpMethod": "GET", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CalendarListEntry"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}, "insert": {"id": "calendar.calendarList.insert", "path": "users/me/calendarList", "httpMethod": "POST", "parameters": {"colorRgbFormat": {"type": "boolean", "location": "query"}}, "request": {"$ref": "CalendarListEntry"}, "response": {"$ref": "CalendarListEntry"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "list": {"id": "calendar.calendarList.list", "path": "users/me/calendarList", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "minAccessRole": {"type": "string", "enum": ["freeBusyReader", "owner", "reader", "writer"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "showHidden": {"type": "boolean", "location": "query"}}, "response": {"$ref": "CalendarList"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}, "patch": {"id": "calendar.calendarList.patch", "path": "users/me/calendarList/{calendarId}", "httpMethod": "PATCH", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "colorRgbFormat": {"type": "boolean", "location": "query"}}, "request": {"$ref": "CalendarListEntry"}, "response": {"$ref": "CalendarListEntry"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "update": {"id": "calendar.calendarList.update", "path": "users/me/calendarList/{calendarId}", "httpMethod": "PUT", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "colorRgbFormat": {"type": "boolean", "location": "query"}}, "request": {"$ref": "CalendarListEntry"}, "response": {"$ref": "CalendarListEntry"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}}}', true)); + $this->calendars = new Google_CalendarsServiceResource($this, $this->serviceName, 'calendars', json_decode('{"methods": {"clear": {"id": "calendar.calendars.clear", "path": "calendars/{calendarId}/clear", "httpMethod": "POST", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "delete": {"id": "calendar.calendars.delete", "path": "calendars/{calendarId}", "httpMethod": "DELETE", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "get": {"id": "calendar.calendars.get", "path": "calendars/{calendarId}", "httpMethod": "GET", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Calendar"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}, "insert": {"id": "calendar.calendars.insert", "path": "calendars", "httpMethod": "POST", "request": {"$ref": "Calendar"}, "response": {"$ref": "Calendar"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "patch": {"id": "calendar.calendars.patch", "path": "calendars/{calendarId}", "httpMethod": "PATCH", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Calendar"}, "response": {"$ref": "Calendar"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "update": {"id": "calendar.calendars.update", "path": "calendars/{calendarId}", "httpMethod": "PUT", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Calendar"}, "response": {"$ref": "Calendar"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}}}', true)); + $this->colors = new Google_ColorsServiceResource($this, $this->serviceName, 'colors', json_decode('{"methods": {"get": {"id": "calendar.colors.get", "path": "colors", "httpMethod": "GET", "response": {"$ref": "Colors"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}}}', true)); + $this->events = new Google_EventsServiceResource($this, $this->serviceName, 'events', json_decode('{"methods": {"delete": {"id": "calendar.events.delete", "path": "calendars/{calendarId}/events/{eventId}", "httpMethod": "DELETE", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "eventId": {"type": "string", "required": true, "location": "path"}, "sendNotifications": {"type": "boolean", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "get": {"id": "calendar.events.get", "path": "calendars/{calendarId}/events/{eventId}", "httpMethod": "GET", "parameters": {"alwaysIncludeEmail": {"type": "boolean", "location": "query"}, "calendarId": {"type": "string", "required": true, "location": "path"}, "eventId": {"type": "string", "required": true, "location": "path"}, "maxAttendees": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "timeZone": {"type": "string", "location": "query"}}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}, "import": {"id": "calendar.events.import", "path": "calendars/{calendarId}/events/import", "httpMethod": "POST", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Event"}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "insert": {"id": "calendar.events.insert", "path": "calendars/{calendarId}/events", "httpMethod": "POST", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "maxAttendees": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "sendNotifications": {"type": "boolean", "location": "query"}}, "request": {"$ref": "Event"}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "instances": {"id": "calendar.events.instances", "path": "calendars/{calendarId}/events/{eventId}/instances", "httpMethod": "GET", "parameters": {"alwaysIncludeEmail": {"type": "boolean", "location": "query"}, "calendarId": {"type": "string", "required": true, "location": "path"}, "eventId": {"type": "string", "required": true, "location": "path"}, "maxAttendees": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "originalStart": {"type": "string", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "showDeleted": {"type": "boolean", "location": "query"}, "timeMax": {"type": "string", "format": "date-time", "location": "query"}, "timeMin": {"type": "string", "format": "date-time", "location": "query"}, "timeZone": {"type": "string", "location": "query"}}, "response": {"$ref": "Events"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"], "supportsSubscription": true}, "list": {"id": "calendar.events.list", "path": "calendars/{calendarId}/events", "httpMethod": "GET", "parameters": {"alwaysIncludeEmail": {"type": "boolean", "location": "query"}, "calendarId": {"type": "string", "required": true, "location": "path"}, "iCalUID": {"type": "string", "location": "query"}, "maxAttendees": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "orderBy": {"type": "string", "enum": ["startTime", "updated"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "q": {"type": "string", "location": "query"}, "showDeleted": {"type": "boolean", "location": "query"}, "showHiddenInvitations": {"type": "boolean", "location": "query"}, "singleEvents": {"type": "boolean", "location": "query"}, "timeMax": {"type": "string", "format": "date-time", "location": "query"}, "timeMin": {"type": "string", "format": "date-time", "location": "query"}, "timeZone": {"type": "string", "location": "query"}, "updatedMin": {"type": "string", "format": "date-time", "location": "query"}}, "response": {"$ref": "Events"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"], "supportsSubscription": true}, "move": {"id": "calendar.events.move", "path": "calendars/{calendarId}/events/{eventId}/move", "httpMethod": "POST", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "destination": {"type": "string", "required": true, "location": "query"}, "eventId": {"type": "string", "required": true, "location": "path"}, "sendNotifications": {"type": "boolean", "location": "query"}}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "patch": {"id": "calendar.events.patch", "path": "calendars/{calendarId}/events/{eventId}", "httpMethod": "PATCH", "parameters": {"alwaysIncludeEmail": {"type": "boolean", "location": "query"}, "calendarId": {"type": "string", "required": true, "location": "path"}, "eventId": {"type": "string", "required": true, "location": "path"}, "maxAttendees": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "sendNotifications": {"type": "boolean", "location": "query"}}, "request": {"$ref": "Event"}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "quickAdd": {"id": "calendar.events.quickAdd", "path": "calendars/{calendarId}/events/quickAdd", "httpMethod": "POST", "parameters": {"calendarId": {"type": "string", "required": true, "location": "path"}, "sendNotifications": {"type": "boolean", "location": "query"}, "text": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}, "update": {"id": "calendar.events.update", "path": "calendars/{calendarId}/events/{eventId}", "httpMethod": "PUT", "parameters": {"alwaysIncludeEmail": {"type": "boolean", "location": "query"}, "calendarId": {"type": "string", "required": true, "location": "path"}, "eventId": {"type": "string", "required": true, "location": "path"}, "maxAttendees": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "sendNotifications": {"type": "boolean", "location": "query"}}, "request": {"$ref": "Event"}, "response": {"$ref": "Event"}, "scopes": ["https://www.googleapis.com/auth/calendar"]}}}', true)); + $this->freebusy = new Google_FreebusyServiceResource($this, $this->serviceName, 'freebusy', json_decode('{"methods": {"query": {"id": "calendar.freebusy.query", "path": "freeBusy", "httpMethod": "POST", "request": {"$ref": "FreeBusyRequest"}, "response": {"$ref": "FreeBusyResponse"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}}}', true)); + $this->settings = new Google_SettingsServiceResource($this, $this->serviceName, 'settings', json_decode('{"methods": {"get": {"id": "calendar.settings.get", "path": "users/me/settings/{setting}", "httpMethod": "GET", "parameters": {"setting": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Setting"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}, "list": {"id": "calendar.settings.list", "path": "users/me/settings", "httpMethod": "GET", "response": {"$ref": "Settings"}, "scopes": ["https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/calendar.readonly"]}}}', true)); + + } +} + + + +class Google_Acl extends Google_Model { + public $etag; + protected $__itemsType = 'Google_AclRule'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_AclRule) */ $items) { + $this->assertIsArray($items, 'Google_AclRule', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_AclRule extends Google_Model { + public $etag; + public $id; + public $kind; + public $role; + protected $__scopeType = 'Google_AclRuleScope'; + protected $__scopeDataType = ''; + public $scope; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRole( $role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setScope(Google_AclRuleScope $scope) { + $this->scope = $scope; + } + public function getScope() { + return $this->scope; + } +} + +class Google_AclRuleScope extends Google_Model { + public $type; + public $value; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Calendar extends Google_Model { + public $description; + public $etag; + public $id; + public $kind; + public $location; + public $summary; + public $timeZone; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setSummary( $summary) { + $this->summary = $summary; + } + public function getSummary() { + return $this->summary; + } + public function setTimeZone( $timeZone) { + $this->timeZone = $timeZone; + } + public function getTimeZone() { + return $this->timeZone; + } +} + +class Google_CalendarList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_CalendarListEntry'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_CalendarListEntry) */ $items) { + $this->assertIsArray($items, 'Google_CalendarListEntry', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_CalendarListEntry extends Google_Model { + public $accessRole; + public $backgroundColor; + public $colorId; + protected $__defaultRemindersType = 'Google_EventReminder'; + protected $__defaultRemindersDataType = 'array'; + public $defaultReminders; + public $description; + public $etag; + public $foregroundColor; + public $hidden; + public $id; + public $kind; + public $location; + public $primary; + public $selected; + public $summary; + public $summaryOverride; + public $timeZone; + public function setAccessRole( $accessRole) { + $this->accessRole = $accessRole; + } + public function getAccessRole() { + return $this->accessRole; + } + public function setBackgroundColor( $backgroundColor) { + $this->backgroundColor = $backgroundColor; + } + public function getBackgroundColor() { + return $this->backgroundColor; + } + public function setColorId( $colorId) { + $this->colorId = $colorId; + } + public function getColorId() { + return $this->colorId; + } + public function setDefaultReminders(/* array(Google_EventReminder) */ $defaultReminders) { + $this->assertIsArray($defaultReminders, 'Google_EventReminder', __METHOD__); + $this->defaultReminders = $defaultReminders; + } + public function getDefaultReminders() { + return $this->defaultReminders; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setForegroundColor( $foregroundColor) { + $this->foregroundColor = $foregroundColor; + } + public function getForegroundColor() { + return $this->foregroundColor; + } + public function setHidden( $hidden) { + $this->hidden = $hidden; + } + public function getHidden() { + return $this->hidden; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setPrimary( $primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setSelected( $selected) { + $this->selected = $selected; + } + public function getSelected() { + return $this->selected; + } + public function setSummary( $summary) { + $this->summary = $summary; + } + public function getSummary() { + return $this->summary; + } + public function setSummaryOverride( $summaryOverride) { + $this->summaryOverride = $summaryOverride; + } + public function getSummaryOverride() { + return $this->summaryOverride; + } + public function setTimeZone( $timeZone) { + $this->timeZone = $timeZone; + } + public function getTimeZone() { + return $this->timeZone; + } +} + +class Google_ColorDefinition extends Google_Model { + public $background; + public $foreground; + public function setBackground( $background) { + $this->background = $background; + } + public function getBackground() { + return $this->background; + } + public function setForeground( $foreground) { + $this->foreground = $foreground; + } + public function getForeground() { + return $this->foreground; + } +} + +class Google_Colors extends Google_Model { + protected $__calendarType = 'Google_ColorDefinition'; + protected $__calendarDataType = 'map'; + public $calendar; + protected $__eventType = 'Google_ColorDefinition'; + protected $__eventDataType = 'map'; + public $event; + public $kind; + public $updated; + public function setCalendar(Google_ColorDefinition $calendar) { + $this->calendar = $calendar; + } + public function getCalendar() { + return $this->calendar; + } + public function setEvent(Google_ColorDefinition $event) { + $this->event = $event; + } + public function getEvent() { + return $this->event; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_Error extends Google_Model { + public $domain; + public $reason; + public function setDomain( $domain) { + $this->domain = $domain; + } + public function getDomain() { + return $this->domain; + } + public function setReason( $reason) { + $this->reason = $reason; + } + public function getReason() { + return $this->reason; + } +} + +class Google_Event extends Google_Model { + public $anyoneCanAddSelf; + protected $__attendeesType = 'Google_EventAttendee'; + protected $__attendeesDataType = 'array'; + public $attendees; + public $attendeesOmitted; + public $colorId; + public $created; + protected $__creatorType = 'Google_EventCreator'; + protected $__creatorDataType = ''; + public $creator; + public $description; + protected $__endType = 'Google_EventDateTime'; + protected $__endDataType = ''; + public $end; + public $endTimeUnspecified; + public $etag; + protected $__extendedPropertiesType = 'Google_EventExtendedProperties'; + protected $__extendedPropertiesDataType = ''; + public $extendedProperties; + protected $__gadgetType = 'Google_EventGadget'; + protected $__gadgetDataType = ''; + public $gadget; + public $guestsCanInviteOthers; + public $guestsCanModify; + public $guestsCanSeeOtherGuests; + public $hangoutLink; + public $htmlLink; + public $iCalUID; + public $id; + public $kind; + public $location; + public $locked; + protected $__organizerType = 'Google_EventOrganizer'; + protected $__organizerDataType = ''; + public $organizer; + protected $__originalStartTimeType = 'Google_EventDateTime'; + protected $__originalStartTimeDataType = ''; + public $originalStartTime; + public $privateCopy; + public $recurrence; + public $recurringEventId; + protected $__remindersType = 'Google_EventReminders'; + protected $__remindersDataType = ''; + public $reminders; + public $sequence; + protected $__sourceType = 'Google_EventSource'; + protected $__sourceDataType = ''; + public $source; + protected $__startType = 'Google_EventDateTime'; + protected $__startDataType = ''; + public $start; + public $status; + public $summary; + public $transparency; + public $updated; + public $visibility; + public function setAnyoneCanAddSelf( $anyoneCanAddSelf) { + $this->anyoneCanAddSelf = $anyoneCanAddSelf; + } + public function getAnyoneCanAddSelf() { + return $this->anyoneCanAddSelf; + } + public function setAttendees(/* array(Google_EventAttendee) */ $attendees) { + $this->assertIsArray($attendees, 'Google_EventAttendee', __METHOD__); + $this->attendees = $attendees; + } + public function getAttendees() { + return $this->attendees; + } + public function setAttendeesOmitted( $attendeesOmitted) { + $this->attendeesOmitted = $attendeesOmitted; + } + public function getAttendeesOmitted() { + return $this->attendeesOmitted; + } + public function setColorId( $colorId) { + $this->colorId = $colorId; + } + public function getColorId() { + return $this->colorId; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setCreator(Google_EventCreator $creator) { + $this->creator = $creator; + } + public function getCreator() { + return $this->creator; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEnd(Google_EventDateTime $end) { + $this->end = $end; + } + public function getEnd() { + return $this->end; + } + public function setEndTimeUnspecified( $endTimeUnspecified) { + $this->endTimeUnspecified = $endTimeUnspecified; + } + public function getEndTimeUnspecified() { + return $this->endTimeUnspecified; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExtendedProperties(Google_EventExtendedProperties $extendedProperties) { + $this->extendedProperties = $extendedProperties; + } + public function getExtendedProperties() { + return $this->extendedProperties; + } + public function setGadget(Google_EventGadget $gadget) { + $this->gadget = $gadget; + } + public function getGadget() { + return $this->gadget; + } + public function setGuestsCanInviteOthers( $guestsCanInviteOthers) { + $this->guestsCanInviteOthers = $guestsCanInviteOthers; + } + public function getGuestsCanInviteOthers() { + return $this->guestsCanInviteOthers; + } + public function setGuestsCanModify( $guestsCanModify) { + $this->guestsCanModify = $guestsCanModify; + } + public function getGuestsCanModify() { + return $this->guestsCanModify; + } + public function setGuestsCanSeeOtherGuests( $guestsCanSeeOtherGuests) { + $this->guestsCanSeeOtherGuests = $guestsCanSeeOtherGuests; + } + public function getGuestsCanSeeOtherGuests() { + return $this->guestsCanSeeOtherGuests; + } + public function setHangoutLink( $hangoutLink) { + $this->hangoutLink = $hangoutLink; + } + public function getHangoutLink() { + return $this->hangoutLink; + } + public function setHtmlLink( $htmlLink) { + $this->htmlLink = $htmlLink; + } + public function getHtmlLink() { + return $this->htmlLink; + } + public function setICalUID( $iCalUID) { + $this->iCalUID = $iCalUID; + } + public function getICalUID() { + return $this->iCalUID; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setLocked( $locked) { + $this->locked = $locked; + } + public function getLocked() { + return $this->locked; + } + public function setOrganizer(Google_EventOrganizer $organizer) { + $this->organizer = $organizer; + } + public function getOrganizer() { + return $this->organizer; + } + public function setOriginalStartTime(Google_EventDateTime $originalStartTime) { + $this->originalStartTime = $originalStartTime; + } + public function getOriginalStartTime() { + return $this->originalStartTime; + } + public function setPrivateCopy( $privateCopy) { + $this->privateCopy = $privateCopy; + } + public function getPrivateCopy() { + return $this->privateCopy; + } + public function setRecurrence(/* array(Google_string) */ $recurrence) { + $this->assertIsArray($recurrence, 'Google_string', __METHOD__); + $this->recurrence = $recurrence; + } + public function getRecurrence() { + return $this->recurrence; + } + public function setRecurringEventId( $recurringEventId) { + $this->recurringEventId = $recurringEventId; + } + public function getRecurringEventId() { + return $this->recurringEventId; + } + public function setReminders(Google_EventReminders $reminders) { + $this->reminders = $reminders; + } + public function getReminders() { + return $this->reminders; + } + public function setSequence( $sequence) { + $this->sequence = $sequence; + } + public function getSequence() { + return $this->sequence; + } + public function setSource(Google_EventSource $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setStart(Google_EventDateTime $start) { + $this->start = $start; + } + public function getStart() { + return $this->start; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setSummary( $summary) { + $this->summary = $summary; + } + public function getSummary() { + return $this->summary; + } + public function setTransparency( $transparency) { + $this->transparency = $transparency; + } + public function getTransparency() { + return $this->transparency; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVisibility( $visibility) { + $this->visibility = $visibility; + } + public function getVisibility() { + return $this->visibility; + } +} + +class Google_EventAttendee extends Google_Model { + public $additionalGuests; + public $comment; + public $displayName; + public $email; + public $id; + public $optional; + public $organizer; + public $resource; + public $responseStatus; + public $self; + public function setAdditionalGuests( $additionalGuests) { + $this->additionalGuests = $additionalGuests; + } + public function getAdditionalGuests() { + return $this->additionalGuests; + } + public function setComment( $comment) { + $this->comment = $comment; + } + public function getComment() { + return $this->comment; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setOptional( $optional) { + $this->optional = $optional; + } + public function getOptional() { + return $this->optional; + } + public function setOrganizer( $organizer) { + $this->organizer = $organizer; + } + public function getOrganizer() { + return $this->organizer; + } + public function setResource( $resource) { + $this->resource = $resource; + } + public function getResource() { + return $this->resource; + } + public function setResponseStatus( $responseStatus) { + $this->responseStatus = $responseStatus; + } + public function getResponseStatus() { + return $this->responseStatus; + } + public function setSelf( $self) { + $this->self = $self; + } + public function getSelf() { + return $this->self; + } +} + +class Google_EventCreator extends Google_Model { + public $displayName; + public $email; + public $id; + public $self; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setSelf( $self) { + $this->self = $self; + } + public function getSelf() { + return $this->self; + } +} + +class Google_EventDateTime extends Google_Model { + public $date; + public $dateTime; + public $timeZone; + public function setDate( $date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setDateTime( $dateTime) { + $this->dateTime = $dateTime; + } + public function getDateTime() { + return $this->dateTime; + } + public function setTimeZone( $timeZone) { + $this->timeZone = $timeZone; + } + public function getTimeZone() { + return $this->timeZone; + } +} + +class Google_EventExtendedProperties extends Google_Model { + public $private; + public $shared; + public function setPrivate( $private) { + $this->private = $private; + } + public function getPrivate() { + return $this->private; + } + public function setShared( $shared) { + $this->shared = $shared; + } + public function getShared() { + return $this->shared; + } +} + +class Google_EventGadget extends Google_Model { + public $display; + public $height; + public $iconLink; + public $link; + public $preferences; + public $title; + public $type; + public $width; + public function setDisplay( $display) { + $this->display = $display; + } + public function getDisplay() { + return $this->display; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setIconLink( $iconLink) { + $this->iconLink = $iconLink; + } + public function getIconLink() { + return $this->iconLink; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setPreferences( $preferences) { + $this->preferences = $preferences; + } + public function getPreferences() { + return $this->preferences; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_EventOrganizer extends Google_Model { + public $displayName; + public $email; + public $id; + public $self; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setSelf( $self) { + $this->self = $self; + } + public function getSelf() { + return $this->self; + } +} + +class Google_EventReminder extends Google_Model { + public $method; + public $minutes; + public function setMethod( $method) { + $this->method = $method; + } + public function getMethod() { + return $this->method; + } + public function setMinutes( $minutes) { + $this->minutes = $minutes; + } + public function getMinutes() { + return $this->minutes; + } +} + +class Google_EventReminders extends Google_Model { + protected $__overridesType = 'Google_EventReminder'; + protected $__overridesDataType = 'array'; + public $overrides; + public $useDefault; + public function setOverrides(/* array(Google_EventReminder) */ $overrides) { + $this->assertIsArray($overrides, 'Google_EventReminder', __METHOD__); + $this->overrides = $overrides; + } + public function getOverrides() { + return $this->overrides; + } + public function setUseDefault( $useDefault) { + $this->useDefault = $useDefault; + } + public function getUseDefault() { + return $this->useDefault; + } +} + +class Google_EventSource extends Google_Model { + public $title; + public $url; + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_Events extends Google_Model { + public $accessRole; + protected $__defaultRemindersType = 'Google_EventReminder'; + protected $__defaultRemindersDataType = 'array'; + public $defaultReminders; + public $description; + public $etag; + protected $__itemsType = 'Google_Event'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $summary; + public $timeZone; + public $updated; + public function setAccessRole( $accessRole) { + $this->accessRole = $accessRole; + } + public function getAccessRole() { + return $this->accessRole; + } + public function setDefaultReminders(/* array(Google_EventReminder) */ $defaultReminders) { + $this->assertIsArray($defaultReminders, 'Google_EventReminder', __METHOD__); + $this->defaultReminders = $defaultReminders; + } + public function getDefaultReminders() { + return $this->defaultReminders; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Event) */ $items) { + $this->assertIsArray($items, 'Google_Event', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSummary( $summary) { + $this->summary = $summary; + } + public function getSummary() { + return $this->summary; + } + public function setTimeZone( $timeZone) { + $this->timeZone = $timeZone; + } + public function getTimeZone() { + return $this->timeZone; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_FreeBusyCalendar extends Google_Model { + protected $__busyType = 'Google_TimePeriod'; + protected $__busyDataType = 'array'; + public $busy; + protected $__errorsType = 'Google_Error'; + protected $__errorsDataType = 'array'; + public $errors; + public function setBusy(/* array(Google_TimePeriod) */ $busy) { + $this->assertIsArray($busy, 'Google_TimePeriod', __METHOD__); + $this->busy = $busy; + } + public function getBusy() { + return $this->busy; + } + public function setErrors(/* array(Google_Error) */ $errors) { + $this->assertIsArray($errors, 'Google_Error', __METHOD__); + $this->errors = $errors; + } + public function getErrors() { + return $this->errors; + } +} + +class Google_FreeBusyGroup extends Google_Model { + public $calendars; + protected $__errorsType = 'Google_Error'; + protected $__errorsDataType = 'array'; + public $errors; + public function setCalendars(/* array(Google_string) */ $calendars) { + $this->assertIsArray($calendars, 'Google_string', __METHOD__); + $this->calendars = $calendars; + } + public function getCalendars() { + return $this->calendars; + } + public function setErrors(/* array(Google_Error) */ $errors) { + $this->assertIsArray($errors, 'Google_Error', __METHOD__); + $this->errors = $errors; + } + public function getErrors() { + return $this->errors; + } +} + +class Google_FreeBusyRequest extends Google_Model { + public $calendarExpansionMax; + public $groupExpansionMax; + protected $__itemsType = 'Google_FreeBusyRequestItem'; + protected $__itemsDataType = 'array'; + public $items; + public $timeMax; + public $timeMin; + public $timeZone; + public function setCalendarExpansionMax( $calendarExpansionMax) { + $this->calendarExpansionMax = $calendarExpansionMax; + } + public function getCalendarExpansionMax() { + return $this->calendarExpansionMax; + } + public function setGroupExpansionMax( $groupExpansionMax) { + $this->groupExpansionMax = $groupExpansionMax; + } + public function getGroupExpansionMax() { + return $this->groupExpansionMax; + } + public function setItems(/* array(Google_FreeBusyRequestItem) */ $items) { + $this->assertIsArray($items, 'Google_FreeBusyRequestItem', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setTimeMax( $timeMax) { + $this->timeMax = $timeMax; + } + public function getTimeMax() { + return $this->timeMax; + } + public function setTimeMin( $timeMin) { + $this->timeMin = $timeMin; + } + public function getTimeMin() { + return $this->timeMin; + } + public function setTimeZone( $timeZone) { + $this->timeZone = $timeZone; + } + public function getTimeZone() { + return $this->timeZone; + } +} + +class Google_FreeBusyRequestItem extends Google_Model { + public $id; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_FreeBusyResponse extends Google_Model { + protected $__calendarsType = 'Google_FreeBusyCalendar'; + protected $__calendarsDataType = 'map'; + public $calendars; + protected $__groupsType = 'Google_FreeBusyGroup'; + protected $__groupsDataType = 'map'; + public $groups; + public $kind; + public $timeMax; + public $timeMin; + public function setCalendars(Google_FreeBusyCalendar $calendars) { + $this->calendars = $calendars; + } + public function getCalendars() { + return $this->calendars; + } + public function setGroups(Google_FreeBusyGroup $groups) { + $this->groups = $groups; + } + public function getGroups() { + return $this->groups; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTimeMax( $timeMax) { + $this->timeMax = $timeMax; + } + public function getTimeMax() { + return $this->timeMax; + } + public function setTimeMin( $timeMin) { + $this->timeMin = $timeMin; + } + public function getTimeMin() { + return $this->timeMin; + } +} + +class Google_Setting extends Google_Model { + public $etag; + public $id; + public $kind; + public $value; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Settings extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Setting'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Setting) */ $items) { + $this->assertIsArray($items, 'Google_Setting', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_TimePeriod extends Google_Model { + public $end; + public $start; + public function setEnd( $end) { + $this->end = $end; + } + public function getEnd() { + return $this->end; + } + public function setStart( $start) { + $this->start = $start; + } + public function getStart() { + return $this->start; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CivicInfoService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CivicInfoService.php new file mode 100644 index 0000000..3bac149 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CivicInfoService.php @@ -0,0 +1,778 @@ + + * $civicinfoService = new Google_CivicInfoService(...); + * $elections = $civicinfoService->elections; + * + */ + class Google_ElectionsServiceResource extends Google_ServiceResource { + + /** + * List of available elections to query. (elections.electionQuery) + * + * @param array $optParams Optional parameters. + * @return Google_ElectionsQueryResponse + */ + public function electionQuery($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('electionQuery', array($params)); + if ($this->useObjects()) { + return new Google_ElectionsQueryResponse($data); + } else { + return $data; + } + } + /** + * Looks up information relevant to a voter based on the voter's registered address. + * (elections.voterInfoQuery) + * + * @param string $electionId The unique ID of the election to look up. A list of election IDs can be obtained at.https://www.googleapis.com/civicinfo/{version}/elections + * @param Google_VoterInfoRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool officialOnly If set to true, only data from official state sources will be returned. + * @return Google_VoterInfoResponse + */ + public function voterInfoQuery($electionId, Google_VoterInfoRequest $postBody, $optParams = array()) { + $params = array('electionId' => $electionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('voterInfoQuery', array($params)); + if ($this->useObjects()) { + return new Google_VoterInfoResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_CivicInfo (us_v1). + * + *

    + * An API for accessing civic information. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_CivicInfoService extends Google_Service { + public $elections; + /** + * Constructs the internal representation of the CivicInfo service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'civicinfo/us_v1/'; + $this->version = 'us_v1'; + $this->serviceName = 'civicinfo'; + + $client->addService($this->serviceName, $this->version); + $this->elections = new Google_ElectionsServiceResource($this, $this->serviceName, 'elections', json_decode('{"methods": {"electionQuery": {"id": "civicinfo.elections.electionQuery", "path": "elections", "httpMethod": "GET", "response": {"$ref": "ElectionsQueryResponse"}}, "voterInfoQuery": {"id": "civicinfo.elections.voterInfoQuery", "path": "voterinfo/{electionId}/lookup", "httpMethod": "POST", "parameters": {"electionId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "officialOnly": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "VoterInfoRequest"}, "response": {"$ref": "VoterInfoResponse"}}}}', true)); + + } +} + + + +class Google_AdministrationRegion extends Google_Model { + protected $__electionAdministrationBodyType = 'Google_AdministrativeBody'; + protected $__electionAdministrationBodyDataType = ''; + public $electionAdministrationBody; + public $id; + protected $__local_jurisdictionType = 'Google_AdministrationRegion'; + protected $__local_jurisdictionDataType = ''; + public $local_jurisdiction; + public $name; + protected $__sourcesType = 'Google_Source'; + protected $__sourcesDataType = 'array'; + public $sources; + public function setElectionAdministrationBody(Google_AdministrativeBody $electionAdministrationBody) { + $this->electionAdministrationBody = $electionAdministrationBody; + } + public function getElectionAdministrationBody() { + return $this->electionAdministrationBody; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setLocal_jurisdiction(Google_AdministrationRegion $local_jurisdiction) { + $this->local_jurisdiction = $local_jurisdiction; + } + public function getLocal_jurisdiction() { + return $this->local_jurisdiction; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSources(/* array(Google_Source) */ $sources) { + $this->assertIsArray($sources, 'Google_Source', __METHOD__); + $this->sources = $sources; + } + public function getSources() { + return $this->sources; + } +} + +class Google_AdministrativeBody extends Google_Model { + public $absenteeVotingInfoUrl; + public $ballotInfoUrl; + protected $__correspondenceAddressType = 'Google_SimpleAddressType'; + protected $__correspondenceAddressDataType = ''; + public $correspondenceAddress; + public $electionInfoUrl; + protected $__electionOfficialsType = 'Google_ElectionOfficial'; + protected $__electionOfficialsDataType = 'array'; + public $electionOfficials; + public $electionRegistrationConfirmationUrl; + public $electionRegistrationUrl; + public $electionRulesUrl; + public $hoursOfOperation; + public $name; + protected $__physicalAddressType = 'Google_SimpleAddressType'; + protected $__physicalAddressDataType = ''; + public $physicalAddress; + public $voter_services; + public $votingLocationFinderUrl; + public function setAbsenteeVotingInfoUrl( $absenteeVotingInfoUrl) { + $this->absenteeVotingInfoUrl = $absenteeVotingInfoUrl; + } + public function getAbsenteeVotingInfoUrl() { + return $this->absenteeVotingInfoUrl; + } + public function setBallotInfoUrl( $ballotInfoUrl) { + $this->ballotInfoUrl = $ballotInfoUrl; + } + public function getBallotInfoUrl() { + return $this->ballotInfoUrl; + } + public function setCorrespondenceAddress(Google_SimpleAddressType $correspondenceAddress) { + $this->correspondenceAddress = $correspondenceAddress; + } + public function getCorrespondenceAddress() { + return $this->correspondenceAddress; + } + public function setElectionInfoUrl( $electionInfoUrl) { + $this->electionInfoUrl = $electionInfoUrl; + } + public function getElectionInfoUrl() { + return $this->electionInfoUrl; + } + public function setElectionOfficials(/* array(Google_ElectionOfficial) */ $electionOfficials) { + $this->assertIsArray($electionOfficials, 'Google_ElectionOfficial', __METHOD__); + $this->electionOfficials = $electionOfficials; + } + public function getElectionOfficials() { + return $this->electionOfficials; + } + public function setElectionRegistrationConfirmationUrl( $electionRegistrationConfirmationUrl) { + $this->electionRegistrationConfirmationUrl = $electionRegistrationConfirmationUrl; + } + public function getElectionRegistrationConfirmationUrl() { + return $this->electionRegistrationConfirmationUrl; + } + public function setElectionRegistrationUrl( $electionRegistrationUrl) { + $this->electionRegistrationUrl = $electionRegistrationUrl; + } + public function getElectionRegistrationUrl() { + return $this->electionRegistrationUrl; + } + public function setElectionRulesUrl( $electionRulesUrl) { + $this->electionRulesUrl = $electionRulesUrl; + } + public function getElectionRulesUrl() { + return $this->electionRulesUrl; + } + public function setHoursOfOperation( $hoursOfOperation) { + $this->hoursOfOperation = $hoursOfOperation; + } + public function getHoursOfOperation() { + return $this->hoursOfOperation; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPhysicalAddress(Google_SimpleAddressType $physicalAddress) { + $this->physicalAddress = $physicalAddress; + } + public function getPhysicalAddress() { + return $this->physicalAddress; + } + public function setVoter_services(/* array(Google_string) */ $voter_services) { + $this->assertIsArray($voter_services, 'Google_string', __METHOD__); + $this->voter_services = $voter_services; + } + public function getVoter_services() { + return $this->voter_services; + } + public function setVotingLocationFinderUrl( $votingLocationFinderUrl) { + $this->votingLocationFinderUrl = $votingLocationFinderUrl; + } + public function getVotingLocationFinderUrl() { + return $this->votingLocationFinderUrl; + } +} + +class Google_Candidate extends Google_Model { + public $candidateUrl; + protected $__channelsType = 'Google_Channel'; + protected $__channelsDataType = 'array'; + public $channels; + public $email; + public $name; + public $orderOnBallot; + public $party; + public $phone; + public $photoUrl; + public function setCandidateUrl( $candidateUrl) { + $this->candidateUrl = $candidateUrl; + } + public function getCandidateUrl() { + return $this->candidateUrl; + } + public function setChannels(/* array(Google_Channel) */ $channels) { + $this->assertIsArray($channels, 'Google_Channel', __METHOD__); + $this->channels = $channels; + } + public function getChannels() { + return $this->channels; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOrderOnBallot( $orderOnBallot) { + $this->orderOnBallot = $orderOnBallot; + } + public function getOrderOnBallot() { + return $this->orderOnBallot; + } + public function setParty( $party) { + $this->party = $party; + } + public function getParty() { + return $this->party; + } + public function setPhone( $phone) { + $this->phone = $phone; + } + public function getPhone() { + return $this->phone; + } + public function setPhotoUrl( $photoUrl) { + $this->photoUrl = $photoUrl; + } + public function getPhotoUrl() { + return $this->photoUrl; + } +} + +class Google_Channel extends Google_Model { + public $id; + public $type; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Contest extends Google_Model { + public $ballotPlacement; + protected $__candidatesType = 'Google_Candidate'; + protected $__candidatesDataType = 'array'; + public $candidates; + protected $__districtType = 'Google_ElectoralDistrict'; + protected $__districtDataType = ''; + public $district; + public $electorateSpecifications; + public $id; + public $level; + public $numberElected; + public $numberVotingFor; + public $office; + public $primaryParty; + public $referendumSubtitle; + public $referendumTitle; + public $referendumUrl; + protected $__sourcesType = 'Google_Source'; + protected $__sourcesDataType = 'array'; + public $sources; + public $special; + public $type; + public function setBallotPlacement( $ballotPlacement) { + $this->ballotPlacement = $ballotPlacement; + } + public function getBallotPlacement() { + return $this->ballotPlacement; + } + public function setCandidates(/* array(Google_Candidate) */ $candidates) { + $this->assertIsArray($candidates, 'Google_Candidate', __METHOD__); + $this->candidates = $candidates; + } + public function getCandidates() { + return $this->candidates; + } + public function setDistrict(Google_ElectoralDistrict $district) { + $this->district = $district; + } + public function getDistrict() { + return $this->district; + } + public function setElectorateSpecifications( $electorateSpecifications) { + $this->electorateSpecifications = $electorateSpecifications; + } + public function getElectorateSpecifications() { + return $this->electorateSpecifications; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setLevel( $level) { + $this->level = $level; + } + public function getLevel() { + return $this->level; + } + public function setNumberElected( $numberElected) { + $this->numberElected = $numberElected; + } + public function getNumberElected() { + return $this->numberElected; + } + public function setNumberVotingFor( $numberVotingFor) { + $this->numberVotingFor = $numberVotingFor; + } + public function getNumberVotingFor() { + return $this->numberVotingFor; + } + public function setOffice( $office) { + $this->office = $office; + } + public function getOffice() { + return $this->office; + } + public function setPrimaryParty( $primaryParty) { + $this->primaryParty = $primaryParty; + } + public function getPrimaryParty() { + return $this->primaryParty; + } + public function setReferendumSubtitle( $referendumSubtitle) { + $this->referendumSubtitle = $referendumSubtitle; + } + public function getReferendumSubtitle() { + return $this->referendumSubtitle; + } + public function setReferendumTitle( $referendumTitle) { + $this->referendumTitle = $referendumTitle; + } + public function getReferendumTitle() { + return $this->referendumTitle; + } + public function setReferendumUrl( $referendumUrl) { + $this->referendumUrl = $referendumUrl; + } + public function getReferendumUrl() { + return $this->referendumUrl; + } + public function setSources(/* array(Google_Source) */ $sources) { + $this->assertIsArray($sources, 'Google_Source', __METHOD__); + $this->sources = $sources; + } + public function getSources() { + return $this->sources; + } + public function setSpecial( $special) { + $this->special = $special; + } + public function getSpecial() { + return $this->special; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Election extends Google_Model { + public $electionDay; + public $id; + public $name; + public function setElectionDay( $electionDay) { + $this->electionDay = $electionDay; + } + public function getElectionDay() { + return $this->electionDay; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_ElectionOfficial extends Google_Model { + public $emailAddress; + public $faxNumber; + public $name; + public $officePhoneNumber; + public $title; + public function setEmailAddress( $emailAddress) { + $this->emailAddress = $emailAddress; + } + public function getEmailAddress() { + return $this->emailAddress; + } + public function setFaxNumber( $faxNumber) { + $this->faxNumber = $faxNumber; + } + public function getFaxNumber() { + return $this->faxNumber; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOfficePhoneNumber( $officePhoneNumber) { + $this->officePhoneNumber = $officePhoneNumber; + } + public function getOfficePhoneNumber() { + return $this->officePhoneNumber; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_ElectionsQueryResponse extends Google_Model { + protected $__electionsType = 'Google_Election'; + protected $__electionsDataType = 'array'; + public $elections; + public $kind; + public function setElections(/* array(Google_Election) */ $elections) { + $this->assertIsArray($elections, 'Google_Election', __METHOD__); + $this->elections = $elections; + } + public function getElections() { + return $this->elections; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_ElectoralDistrict extends Google_Model { + public $id; + public $name; + public $scope; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setScope( $scope) { + $this->scope = $scope; + } + public function getScope() { + return $this->scope; + } +} + +class Google_PollingLocation extends Google_Model { + protected $__addressType = 'Google_SimpleAddressType'; + protected $__addressDataType = ''; + public $address; + public $endDate; + public $id; + public $name; + public $notes; + public $pollingHours; + protected $__sourcesType = 'Google_Source'; + protected $__sourcesDataType = 'array'; + public $sources; + public $startDate; + public $voterServices; + public function setAddress(Google_SimpleAddressType $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNotes( $notes) { + $this->notes = $notes; + } + public function getNotes() { + return $this->notes; + } + public function setPollingHours( $pollingHours) { + $this->pollingHours = $pollingHours; + } + public function getPollingHours() { + return $this->pollingHours; + } + public function setSources(/* array(Google_Source) */ $sources) { + $this->assertIsArray($sources, 'Google_Source', __METHOD__); + $this->sources = $sources; + } + public function getSources() { + return $this->sources; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setVoterServices( $voterServices) { + $this->voterServices = $voterServices; + } + public function getVoterServices() { + return $this->voterServices; + } +} + +class Google_SimpleAddressType extends Google_Model { + public $city; + public $line1; + public $line2; + public $line3; + public $locationName; + public $state; + public $zip; + public function setCity( $city) { + $this->city = $city; + } + public function getCity() { + return $this->city; + } + public function setLine1( $line1) { + $this->line1 = $line1; + } + public function getLine1() { + return $this->line1; + } + public function setLine2( $line2) { + $this->line2 = $line2; + } + public function getLine2() { + return $this->line2; + } + public function setLine3( $line3) { + $this->line3 = $line3; + } + public function getLine3() { + return $this->line3; + } + public function setLocationName( $locationName) { + $this->locationName = $locationName; + } + public function getLocationName() { + return $this->locationName; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } + public function setZip( $zip) { + $this->zip = $zip; + } + public function getZip() { + return $this->zip; + } +} + +class Google_Source extends Google_Model { + public $name; + public $official; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOfficial( $official) { + $this->official = $official; + } + public function getOfficial() { + return $this->official; + } +} + +class Google_VoterInfoRequest extends Google_Model { + public $address; + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } +} + +class Google_VoterInfoResponse extends Google_Model { + protected $__contestsType = 'Google_Contest'; + protected $__contestsDataType = 'array'; + public $contests; + protected $__earlyVoteSitesType = 'Google_PollingLocation'; + protected $__earlyVoteSitesDataType = 'array'; + public $earlyVoteSites; + protected $__electionType = 'Google_Election'; + protected $__electionDataType = ''; + public $election; + public $kind; + protected $__normalizedInputType = 'Google_SimpleAddressType'; + protected $__normalizedInputDataType = ''; + public $normalizedInput; + protected $__pollingLocationsType = 'Google_PollingLocation'; + protected $__pollingLocationsDataType = 'array'; + public $pollingLocations; + protected $__stateType = 'Google_AdministrationRegion'; + protected $__stateDataType = 'array'; + public $state; + public $status; + public function setContests(/* array(Google_Contest) */ $contests) { + $this->assertIsArray($contests, 'Google_Contest', __METHOD__); + $this->contests = $contests; + } + public function getContests() { + return $this->contests; + } + public function setEarlyVoteSites(/* array(Google_PollingLocation) */ $earlyVoteSites) { + $this->assertIsArray($earlyVoteSites, 'Google_PollingLocation', __METHOD__); + $this->earlyVoteSites = $earlyVoteSites; + } + public function getEarlyVoteSites() { + return $this->earlyVoteSites; + } + public function setElection(Google_Election $election) { + $this->election = $election; + } + public function getElection() { + return $this->election; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNormalizedInput(Google_SimpleAddressType $normalizedInput) { + $this->normalizedInput = $normalizedInput; + } + public function getNormalizedInput() { + return $this->normalizedInput; + } + public function setPollingLocations(/* array(Google_PollingLocation) */ $pollingLocations) { + $this->assertIsArray($pollingLocations, 'Google_PollingLocation', __METHOD__); + $this->pollingLocations = $pollingLocations; + } + public function getPollingLocations() { + return $this->pollingLocations; + } + public function setState(/* array(Google_AdministrationRegion) */ $state) { + $this->assertIsArray($state, 'Google_AdministrationRegion', __METHOD__); + $this->state = $state; + } + public function getState() { + return $this->state; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ComputeService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ComputeService.php new file mode 100644 index 0000000..dd8d4c5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ComputeService.php @@ -0,0 +1,4403 @@ + + * $computeService = new Google_ComputeService(...); + * $addresses = $computeService->addresses; + * + */ + class Google_AddressesServiceResource extends Google_ServiceResource { + + /** + * Retrieves the list of addresses grouped by scope. (addresses.aggregatedList) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_AddressAggregatedList + */ + public function aggregatedList($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('aggregatedList', array($params)); + if ($this->useObjects()) { + return new Google_AddressAggregatedList($data); + } else { + return $data; + } + } + /** + * Deletes the specified address resource. (addresses.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region scoping this request. + * @param string $address Name of the address resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $region, $address, $optParams = array()) { + $params = array('project' => $project, 'region' => $region, 'address' => $address); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified address resource. (addresses.get) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region scoping this request. + * @param string $address Name of the address resource to return. + * @param array $optParams Optional parameters. + * @return Google_Address + */ + public function get($project, $region, $address, $optParams = array()) { + $params = array('project' => $project, 'region' => $region, 'address' => $address); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Address($data); + } else { + return $data; + } + } + /** + * Creates an address resource in the specified project using the data included in the request. + * (addresses.insert) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region scoping this request. + * @param Google_Address $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function insert($project, $region, Google_Address $postBody, $optParams = array()) { + $params = array('project' => $project, 'region' => $region, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of address resources contained within the specified region. (addresses.list) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_AddressList + */ + public function listAddresses($project, $region, $optParams = array()) { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AddressList($data); + } else { + return $data; + } + } + } + + /** + * The "disks" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $disks = $computeService->disks; + * + */ + class Google_DisksServiceResource extends Google_ServiceResource { + + /** + * Retrieves the list of disks grouped by scope. (disks.aggregatedList) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_DiskAggregatedList + */ + public function aggregatedList($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('aggregatedList', array($params)); + if ($this->useObjects()) { + return new Google_DiskAggregatedList($data); + } else { + return $data; + } + } + /** + * (disks.createSnapshot) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $disk Name of the persistent disk resource to delete. + * @param Google_Snapshot $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function createSnapshot($project, $zone, $disk, Google_Snapshot $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('createSnapshot', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Deletes the specified persistent disk resource. (disks.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $disk Name of the persistent disk resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $zone, $disk, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified persistent disk resource. (disks.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $disk Name of the persistent disk resource to return. + * @param array $optParams Optional parameters. + * @return Google_Disk + */ + public function get($project, $zone, $disk, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'disk' => $disk); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Disk($data); + } else { + return $data; + } + } + /** + * Creates a persistent disk resource in the specified project using the data included in the + * request. (disks.insert) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param Google_Disk $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string sourceImage Optional. Source image to restore onto a disk. + * @return Google_Operation + */ + public function insert($project, $zone, Google_Disk $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of persistent disk resources contained within the specified zone. (disks.list) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_DiskList + */ + public function listDisks($project, $zone, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_DiskList($data); + } else { + return $data; + } + } + } + + /** + * The "firewalls" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $firewalls = $computeService->firewalls; + * + */ + class Google_FirewallsServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified firewall resource. (firewalls.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $firewall Name of the firewall resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $firewall, $optParams = array()) { + $params = array('project' => $project, 'firewall' => $firewall); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified firewall resource. (firewalls.get) + * + * @param string $project Name of the project scoping this request. + * @param string $firewall Name of the firewall resource to return. + * @param array $optParams Optional parameters. + * @return Google_Firewall + */ + public function get($project, $firewall, $optParams = array()) { + $params = array('project' => $project, 'firewall' => $firewall); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Firewall($data); + } else { + return $data; + } + } + /** + * Creates a firewall resource in the specified project using the data included in the request. + * (firewalls.insert) + * + * @param string $project Name of the project scoping this request. + * @param Google_Firewall $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function insert($project, Google_Firewall $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of firewall resources available to the specified project. (firewalls.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_FirewallList + */ + public function listFirewalls($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_FirewallList($data); + } else { + return $data; + } + } + /** + * Updates the specified firewall resource with the data included in the request. This method + * supports patch semantics. (firewalls.patch) + * + * @param string $project Name of the project scoping this request. + * @param string $firewall Name of the firewall resource to update. + * @param Google_Firewall $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function patch($project, $firewall, Google_Firewall $postBody, $optParams = array()) { + $params = array('project' => $project, 'firewall' => $firewall, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Updates the specified firewall resource with the data included in the request. (firewalls.update) + * + * @param string $project Name of the project scoping this request. + * @param string $firewall Name of the firewall resource to update. + * @param Google_Firewall $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function update($project, $firewall, Google_Firewall $postBody, $optParams = array()) { + $params = array('project' => $project, 'firewall' => $firewall, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + } + + /** + * The "globalOperations" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $globalOperations = $computeService->globalOperations; + * + */ + class Google_GlobalOperationsServiceResource extends Google_ServiceResource { + + /** + * Retrieves the list of all operations grouped by scope. (globalOperations.aggregatedList) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_OperationAggregatedList + */ + public function aggregatedList($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('aggregatedList', array($params)); + if ($this->useObjects()) { + return new Google_OperationAggregatedList($data); + } else { + return $data; + } + } + /** + * Deletes the specified operation resource. (globalOperations.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $operation Name of the operation resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $operation, $optParams = array()) { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves the specified operation resource. (globalOperations.get) + * + * @param string $project Name of the project scoping this request. + * @param string $operation Name of the operation resource to return. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function get($project, $operation, $optParams = array()) { + $params = array('project' => $project, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of operation resources contained within the specified project. + * (globalOperations.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_OperationList + */ + public function listGlobalOperations($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_OperationList($data); + } else { + return $data; + } + } + } + + /** + * The "images" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $images = $computeService->images; + * + */ + class Google_ImagesServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified image resource. (images.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $image Name of the image resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $image, $optParams = array()) { + $params = array('project' => $project, 'image' => $image); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Sets the deprecation status of an image. If no message body is given, clears the deprecation + * status instead. (images.deprecate) + * + * @param string $project Name of the project scoping this request. + * @param string $image Image name. + * @param Google_DeprecationStatus $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function deprecate($project, $image, Google_DeprecationStatus $postBody, $optParams = array()) { + $params = array('project' => $project, 'image' => $image, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('deprecate', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified image resource. (images.get) + * + * @param string $project Name of the project scoping this request. + * @param string $image Name of the image resource to return. + * @param array $optParams Optional parameters. + * @return Google_Image + */ + public function get($project, $image, $optParams = array()) { + $params = array('project' => $project, 'image' => $image); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Image($data); + } else { + return $data; + } + } + /** + * Creates an image resource in the specified project using the data included in the request. + * (images.insert) + * + * @param string $project Name of the project scoping this request. + * @param Google_Image $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function insert($project, Google_Image $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of image resources available to the specified project. (images.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_ImageList + */ + public function listImages($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ImageList($data); + } else { + return $data; + } + } + } + + /** + * The "instances" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $instances = $computeService->instances; + * + */ + class Google_InstancesServiceResource extends Google_ServiceResource { + + /** + * Adds an access config to an instance's network interface. (instances.addAccessConfig) + * + * @param string $project Project name. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Instance name. + * @param string $networkInterface Network interface name. + * @param Google_AccessConfig $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function addAccessConfig($project, $zone, $instance, $networkInterface, Google_AccessConfig $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'networkInterface' => $networkInterface, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('addAccessConfig', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * (instances.aggregatedList) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_InstanceAggregatedList + */ + public function aggregatedList($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('aggregatedList', array($params)); + if ($this->useObjects()) { + return new Google_InstanceAggregatedList($data); + } else { + return $data; + } + } + /** + * Attaches a disk resource to an instance. (instances.attachDisk) + * + * @param string $project Project name. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Instance name. + * @param Google_AttachedDisk $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function attachDisk($project, $zone, $instance, Google_AttachedDisk $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('attachDisk', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Deletes the specified instance resource. (instances.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Name of the instance resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $zone, $instance, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Deletes an access config from an instance's network interface. (instances.deleteAccessConfig) + * + * @param string $project Project name. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Instance name. + * @param string $accessConfig Access config name. + * @param string $networkInterface Network interface name. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function deleteAccessConfig($project, $zone, $instance, $accessConfig, $networkInterface, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'accessConfig' => $accessConfig, 'networkInterface' => $networkInterface); + $params = array_merge($params, $optParams); + $data = $this->__call('deleteAccessConfig', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Detaches a disk from an instance. (instances.detachDisk) + * + * @param string $project Project name. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Instance name. + * @param string $deviceName Disk device name to detach. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function detachDisk($project, $zone, $instance, $deviceName, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'deviceName' => $deviceName); + $params = array_merge($params, $optParams); + $data = $this->__call('detachDisk', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified instance resource. (instances.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Name of the instance resource to return. + * @param array $optParams Optional parameters. + * @return Google_Instance + */ + public function get($project, $zone, $instance, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Instance($data); + } else { + return $data; + } + } + /** + * Returns the specified instance's serial port output. (instances.getSerialPortOutput) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Name of the instance scoping this request. + * @param array $optParams Optional parameters. + * @return Google_SerialPortOutput + */ + public function getSerialPortOutput($project, $zone, $instance, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('getSerialPortOutput', array($params)); + if ($this->useObjects()) { + return new Google_SerialPortOutput($data); + } else { + return $data; + } + } + /** + * Creates an instance resource in the specified project using the data included in the request. + * (instances.insert) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param Google_Instance $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function insert($project, $zone, Google_Instance $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of instance resources contained within the specified zone. (instances.list) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_InstanceList + */ + public function listInstances($project, $zone, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_InstanceList($data); + } else { + return $data; + } + } + /** + * Performs a hard reset on the instance. (instances.reset) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Name of the instance scoping this request. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function reset($project, $zone, $instance, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('reset', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Sets metadata for the specified instance to the data included in the request. + * (instances.setMetadata) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Name of the instance scoping this request. + * @param Google_Metadata $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function setMetadata($project, $zone, $instance, Google_Metadata $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('setMetadata', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Sets tags for the specified instance to the data included in the request. (instances.setTags) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $instance Name of the instance scoping this request. + * @param Google_Tags $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function setTags($project, $zone, $instance, Google_Tags $postBody, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('setTags', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + } + + /** + * The "kernels" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $kernels = $computeService->kernels; + * + */ + class Google_KernelsServiceResource extends Google_ServiceResource { + + /** + * Returns the specified kernel resource. (kernels.get) + * + * @param string $project Name of the project scoping this request. + * @param string $kernel Name of the kernel resource to return. + * @param array $optParams Optional parameters. + * @return Google_Kernel + */ + public function get($project, $kernel, $optParams = array()) { + $params = array('project' => $project, 'kernel' => $kernel); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Kernel($data); + } else { + return $data; + } + } + /** + * Retrieves the list of kernel resources available to the specified project. (kernels.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_KernelList + */ + public function listKernels($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_KernelList($data); + } else { + return $data; + } + } + } + + /** + * The "machineTypes" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $machineTypes = $computeService->machineTypes; + * + */ + class Google_MachineTypesServiceResource extends Google_ServiceResource { + + /** + * Retrieves the list of machine type resources grouped by scope. (machineTypes.aggregatedList) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_MachineTypeAggregatedList + */ + public function aggregatedList($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('aggregatedList', array($params)); + if ($this->useObjects()) { + return new Google_MachineTypeAggregatedList($data); + } else { + return $data; + } + } + /** + * Returns the specified machine type resource. (machineTypes.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $machineType Name of the machine type resource to return. + * @param array $optParams Optional parameters. + * @return Google_MachineType + */ + public function get($project, $zone, $machineType, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'machineType' => $machineType); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_MachineType($data); + } else { + return $data; + } + } + /** + * Retrieves the list of machine type resources available to the specified project. + * (machineTypes.list) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_MachineTypeList + */ + public function listMachineTypes($project, $zone, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_MachineTypeList($data); + } else { + return $data; + } + } + } + + /** + * The "networks" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $networks = $computeService->networks; + * + */ + class Google_NetworksServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified network resource. (networks.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $network Name of the network resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $network, $optParams = array()) { + $params = array('project' => $project, 'network' => $network); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified network resource. (networks.get) + * + * @param string $project Name of the project scoping this request. + * @param string $network Name of the network resource to return. + * @param array $optParams Optional parameters. + * @return Google_Network + */ + public function get($project, $network, $optParams = array()) { + $params = array('project' => $project, 'network' => $network); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Network($data); + } else { + return $data; + } + } + /** + * Creates a network resource in the specified project using the data included in the request. + * (networks.insert) + * + * @param string $project Name of the project scoping this request. + * @param Google_Network $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function insert($project, Google_Network $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of network resources available to the specified project. (networks.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_NetworkList + */ + public function listNetworks($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_NetworkList($data); + } else { + return $data; + } + } + } + + /** + * The "projects" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $projects = $computeService->projects; + * + */ + class Google_ProjectsServiceResource extends Google_ServiceResource { + + /** + * Returns the specified project resource. (projects.get) + * + * @param string $project Name of the project resource to retrieve. + * @param array $optParams Optional parameters. + * @return Google_Project + */ + public function get($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Project($data); + } else { + return $data; + } + } + /** + * Sets metadata common to all instances within the specified project using the data included in the + * request. (projects.setCommonInstanceMetadata) + * + * @param string $project Name of the project scoping this request. + * @param Google_Metadata $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function setCommonInstanceMetadata($project, Google_Metadata $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('setCommonInstanceMetadata', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + } + + /** + * The "regionOperations" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $regionOperations = $computeService->regionOperations; + * + */ + class Google_RegionOperationsServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified region-specific operation resource. (regionOperations.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region scoping this request. + * @param string $operation Name of the operation resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $region, $operation, $optParams = array()) { + $params = array('project' => $project, 'region' => $region, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves the specified region-specific operation resource. (regionOperations.get) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the zone scoping this request. + * @param string $operation Name of the operation resource to return. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function get($project, $region, $operation, $optParams = array()) { + $params = array('project' => $project, 'region' => $region, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of operation resources contained within the specified region. + * (regionOperations.list) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_OperationList + */ + public function listRegionOperations($project, $region, $optParams = array()) { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_OperationList($data); + } else { + return $data; + } + } + } + + /** + * The "regions" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $regions = $computeService->regions; + * + */ + class Google_RegionsServiceResource extends Google_ServiceResource { + + /** + * Returns the specified region resource. (regions.get) + * + * @param string $project Name of the project scoping this request. + * @param string $region Name of the region resource to return. + * @param array $optParams Optional parameters. + * @return Google_Region + */ + public function get($project, $region, $optParams = array()) { + $params = array('project' => $project, 'region' => $region); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Region($data); + } else { + return $data; + } + } + /** + * Retrieves the list of region resources available to the specified project. (regions.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_RegionList + */ + public function listRegions($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_RegionList($data); + } else { + return $data; + } + } + } + + /** + * The "routes" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $routes = $computeService->routes; + * + */ + class Google_RoutesServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified route resource. (routes.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $route Name of the route resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $route, $optParams = array()) { + $params = array('project' => $project, 'route' => $route); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified route resource. (routes.get) + * + * @param string $project Name of the project scoping this request. + * @param string $route Name of the route resource to return. + * @param array $optParams Optional parameters. + * @return Google_Route + */ + public function get($project, $route, $optParams = array()) { + $params = array('project' => $project, 'route' => $route); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Route($data); + } else { + return $data; + } + } + /** + * Creates a route resource in the specified project using the data included in the request. + * (routes.insert) + * + * @param string $project Name of the project scoping this request. + * @param Google_Route $postBody + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function insert($project, Google_Route $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of route resources available to the specified project. (routes.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_RouteList + */ + public function listRoutes($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_RouteList($data); + } else { + return $data; + } + } + } + + /** + * The "snapshots" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $snapshots = $computeService->snapshots; + * + */ + class Google_SnapshotsServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified persistent disk snapshot resource. (snapshots.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $snapshot Name of the persistent disk snapshot resource to delete. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function delete($project, $snapshot, $optParams = array()) { + $params = array('project' => $project, 'snapshot' => $snapshot); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Returns the specified persistent disk snapshot resource. (snapshots.get) + * + * @param string $project Name of the project scoping this request. + * @param string $snapshot Name of the persistent disk snapshot resource to return. + * @param array $optParams Optional parameters. + * @return Google_Snapshot + */ + public function get($project, $snapshot, $optParams = array()) { + $params = array('project' => $project, 'snapshot' => $snapshot); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Snapshot($data); + } else { + return $data; + } + } + /** + * Retrieves the list of persistent disk snapshot resources contained within the specified project. + * (snapshots.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_SnapshotList + */ + public function listSnapshots($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SnapshotList($data); + } else { + return $data; + } + } + } + + /** + * The "zoneOperations" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $zoneOperations = $computeService->zoneOperations; + * + */ + class Google_ZoneOperationsServiceResource extends Google_ServiceResource { + + /** + * Deletes the specified zone-specific operation resource. (zoneOperations.delete) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $operation Name of the operation resource to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $zone, $operation, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves the specified zone-specific operation resource. (zoneOperations.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param string $operation Name of the operation resource to return. + * @param array $optParams Optional parameters. + * @return Google_Operation + */ + public function get($project, $zone, $operation, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Operation($data); + } else { + return $data; + } + } + /** + * Retrieves the list of operation resources contained within the specified zone. + * (zoneOperations.list) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_OperationList + */ + public function listZoneOperations($project, $zone, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_OperationList($data); + } else { + return $data; + } + } + } + + /** + * The "zones" collection of methods. + * Typical usage is: + * + * $computeService = new Google_ComputeService(...); + * $zones = $computeService->zones; + * + */ + class Google_ZonesServiceResource extends Google_ServiceResource { + + /** + * Returns the specified zone resource. (zones.get) + * + * @param string $project Name of the project scoping this request. + * @param string $zone Name of the zone resource to return. + * @param array $optParams Optional parameters. + * @return Google_Zone + */ + public function get($project, $zone, $optParams = array()) { + $params = array('project' => $project, 'zone' => $zone); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Zone($data); + } else { + return $data; + } + } + /** + * Retrieves the list of zone resources available to the specified project. (zones.list) + * + * @param string $project Name of the project scoping this request. + * @param array $optParams Optional parameters. + * + * @opt_param string filter Optional. Filter expression for filtering listed resources. + * @opt_param string maxResults Optional. Maximum count of results to be returned. Maximum and default value is 100. + * @opt_param string pageToken Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request. + * @return Google_ZoneList + */ + public function listZones($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ZoneList($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Compute (v1beta15). + * + *

    + * API for the Google Compute Engine service. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_ComputeService extends Google_Service { + public $addresses; + public $disks; + public $firewalls; + public $globalOperations; + public $images; + public $instances; + public $kernels; + public $machineTypes; + public $networks; + public $projects; + public $regionOperations; + public $regions; + public $routes; + public $snapshots; + public $zoneOperations; + public $zones; + /** + * Constructs the internal representation of the Compute service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'compute/v1beta15/projects/'; + $this->version = 'v1beta15'; + $this->serviceName = 'compute'; + + $client->addService($this->serviceName, $this->version); + $this->addresses = new Google_AddressesServiceResource($this, $this->serviceName, 'addresses', json_decode('{"methods": {"aggregatedList": {"id": "compute.addresses.aggregatedList", "path": "{project}/aggregated/addresses", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AddressAggregatedList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "delete": {"id": "compute.addresses.delete", "path": "{project}/regions/{region}/addresses/{address}", "httpMethod": "DELETE", "parameters": {"address": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.addresses.get", "path": "{project}/regions/{region}/addresses/{address}", "httpMethod": "GET", "parameters": {"address": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Address"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.addresses.insert", "path": "{project}/regions/{region}/addresses", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Address"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "list": {"id": "compute.addresses.list", "path": "{project}/regions/{region}/addresses", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AddressList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->disks = new Google_DisksServiceResource($this, $this->serviceName, 'disks', json_decode('{"methods": {"aggregatedList": {"id": "compute.disks.aggregatedList", "path": "{project}/aggregated/disks", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "DiskAggregatedList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "createSnapshot": {"id": "compute.disks.createSnapshot", "path": "{project}/zones/{zone}/disks/{disk}/createSnapshot", "httpMethod": "POST", "parameters": {"disk": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Snapshot"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "delete": {"id": "compute.disks.delete", "path": "{project}/zones/{zone}/disks/{disk}", "httpMethod": "DELETE", "parameters": {"disk": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.disks.get", "path": "{project}/zones/{zone}/disks/{disk}", "httpMethod": "GET", "parameters": {"disk": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Disk"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.disks.insert", "path": "{project}/zones/{zone}/disks", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "sourceImage": {"type": "string", "location": "query"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Disk"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "list": {"id": "compute.disks.list", "path": "{project}/zones/{zone}/disks", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "DiskList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->firewalls = new Google_FirewallsServiceResource($this, $this->serviceName, 'firewalls', json_decode('{"methods": {"delete": {"id": "compute.firewalls.delete", "path": "{project}/global/firewalls/{firewall}", "httpMethod": "DELETE", "parameters": {"firewall": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.firewalls.get", "path": "{project}/global/firewalls/{firewall}", "httpMethod": "GET", "parameters": {"firewall": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Firewall"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.firewalls.insert", "path": "{project}/global/firewalls", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Firewall"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "list": {"id": "compute.firewalls.list", "path": "{project}/global/firewalls", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "FirewallList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "patch": {"id": "compute.firewalls.patch", "path": "{project}/global/firewalls/{firewall}", "httpMethod": "PATCH", "parameters": {"firewall": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Firewall"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "update": {"id": "compute.firewalls.update", "path": "{project}/global/firewalls/{firewall}", "httpMethod": "PUT", "parameters": {"firewall": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Firewall"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}}}', true)); + $this->globalOperations = new Google_GlobalOperationsServiceResource($this, $this->serviceName, 'globalOperations', json_decode('{"methods": {"aggregatedList": {"id": "compute.globalOperations.aggregatedList", "path": "{project}/aggregated/operations", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "OperationAggregatedList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "delete": {"id": "compute.globalOperations.delete", "path": "{project}/global/operations/{operation}", "httpMethod": "DELETE", "parameters": {"operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.globalOperations.get", "path": "{project}/global/operations/{operation}", "httpMethod": "GET", "parameters": {"operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.globalOperations.list", "path": "{project}/global/operations", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "OperationList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->images = new Google_ImagesServiceResource($this, $this->serviceName, 'images', json_decode('{"methods": {"delete": {"id": "compute.images.delete", "path": "{project}/global/images/{image}", "httpMethod": "DELETE", "parameters": {"image": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "deprecate": {"id": "compute.images.deprecate", "path": "{project}/global/images/{image}/deprecate", "httpMethod": "POST", "parameters": {"image": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "DeprecationStatus"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.images.get", "path": "{project}/global/images/{image}", "httpMethod": "GET", "parameters": {"image": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Image"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.images.insert", "path": "{project}/global/images", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Image"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/devstorage.read_only"]}, "list": {"id": "compute.images.list", "path": "{project}/global/images", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ImageList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->instances = new Google_InstancesServiceResource($this, $this->serviceName, 'instances', json_decode('{"methods": {"addAccessConfig": {"id": "compute.instances.addAccessConfig", "path": "{project}/zones/{zone}/instances/{instance}/addAccessConfig", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "networkInterface": {"type": "string", "required": true, "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AccessConfig"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "aggregatedList": {"id": "compute.instances.aggregatedList", "path": "{project}/aggregated/instances", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstanceAggregatedList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "attachDisk": {"id": "compute.instances.attachDisk", "path": "{project}/zones/{zone}/instances/{instance}/attachDisk", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AttachedDisk"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "delete": {"id": "compute.instances.delete", "path": "{project}/zones/{zone}/instances/{instance}", "httpMethod": "DELETE", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "deleteAccessConfig": {"id": "compute.instances.deleteAccessConfig", "path": "{project}/zones/{zone}/instances/{instance}/deleteAccessConfig", "httpMethod": "POST", "parameters": {"accessConfig": {"type": "string", "required": true, "location": "query"}, "instance": {"type": "string", "required": true, "location": "path"}, "networkInterface": {"type": "string", "required": true, "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "detachDisk": {"id": "compute.instances.detachDisk", "path": "{project}/zones/{zone}/instances/{instance}/detachDisk", "httpMethod": "POST", "parameters": {"deviceName": {"type": "string", "required": true, "location": "query"}, "instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.instances.get", "path": "{project}/zones/{zone}/instances/{instance}", "httpMethod": "GET", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Instance"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "getSerialPortOutput": {"id": "compute.instances.getSerialPortOutput", "path": "{project}/zones/{zone}/instances/{instance}/serialPort", "httpMethod": "GET", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "SerialPortOutput"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.instances.insert", "path": "{project}/zones/{zone}/instances", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Instance"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "list": {"id": "compute.instances.list", "path": "{project}/zones/{zone}/instances", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstanceList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "reset": {"id": "compute.instances.reset", "path": "{project}/zones/{zone}/instances/{instance}/reset", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "setMetadata": {"id": "compute.instances.setMetadata", "path": "{project}/zones/{zone}/instances/{instance}/setMetadata", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Metadata"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "setTags": {"id": "compute.instances.setTags", "path": "{project}/zones/{zone}/instances/{instance}/setTags", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Tags"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}}}', true)); + $this->kernels = new Google_KernelsServiceResource($this, $this->serviceName, 'kernels', json_decode('{"methods": {"get": {"id": "compute.kernels.get", "path": "{project}/global/kernels/{kernel}", "httpMethod": "GET", "parameters": {"kernel": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Kernel"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.kernels.list", "path": "{project}/global/kernels", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "KernelList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->machineTypes = new Google_MachineTypesServiceResource($this, $this->serviceName, 'machineTypes', json_decode('{"methods": {"aggregatedList": {"id": "compute.machineTypes.aggregatedList", "path": "{project}/aggregated/machineTypes", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "MachineTypeAggregatedList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "get": {"id": "compute.machineTypes.get", "path": "{project}/zones/{zone}/machineTypes/{machineType}", "httpMethod": "GET", "parameters": {"machineType": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "MachineType"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.machineTypes.list", "path": "{project}/zones/{zone}/machineTypes", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "MachineTypeList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->networks = new Google_NetworksServiceResource($this, $this->serviceName, 'networks', json_decode('{"methods": {"delete": {"id": "compute.networks.delete", "path": "{project}/global/networks/{network}", "httpMethod": "DELETE", "parameters": {"network": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.networks.get", "path": "{project}/global/networks/{network}", "httpMethod": "GET", "parameters": {"network": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Network"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.networks.insert", "path": "{project}/global/networks", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Network"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "list": {"id": "compute.networks.list", "path": "{project}/global/networks", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "NetworkList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->projects = new Google_ProjectsServiceResource($this, $this->serviceName, 'projects', json_decode('{"methods": {"get": {"id": "compute.projects.get", "path": "{project}", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Project"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "setCommonInstanceMetadata": {"id": "compute.projects.setCommonInstanceMetadata", "path": "{project}/setCommonInstanceMetadata", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Metadata"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}}}', true)); + $this->regionOperations = new Google_RegionOperationsServiceResource($this, $this->serviceName, 'regionOperations', json_decode('{"methods": {"delete": {"id": "compute.regionOperations.delete", "path": "{project}/regions/{region}/operations/{operation}", "httpMethod": "DELETE", "parameters": {"operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.regionOperations.get", "path": "{project}/regions/{region}/operations/{operation}", "httpMethod": "GET", "parameters": {"operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.regionOperations.list", "path": "{project}/regions/{region}/operations", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "OperationList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->regions = new Google_RegionsServiceResource($this, $this->serviceName, 'regions', json_decode('{"methods": {"get": {"id": "compute.regions.get", "path": "{project}/regions/{region}", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "region": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Region"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.regions.list", "path": "{project}/regions", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "RegionList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->routes = new Google_RoutesServiceResource($this, $this->serviceName, 'routes', json_decode('{"methods": {"delete": {"id": "compute.routes.delete", "path": "{project}/global/routes/{route}", "httpMethod": "DELETE", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "route": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.routes.get", "path": "{project}/global/routes/{route}", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "route": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Route"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "insert": {"id": "compute.routes.insert", "path": "{project}/global/routes", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Route"}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "list": {"id": "compute.routes.list", "path": "{project}/global/routes", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "RouteList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->snapshots = new Google_SnapshotsServiceResource($this, $this->serviceName, 'snapshots', json_decode('{"methods": {"delete": {"id": "compute.snapshots.delete", "path": "{project}/global/snapshots/{snapshot}", "httpMethod": "DELETE", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "snapshot": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.snapshots.get", "path": "{project}/global/snapshots/{snapshot}", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "snapshot": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Snapshot"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.snapshots.list", "path": "{project}/global/snapshots", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "SnapshotList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->zoneOperations = new Google_ZoneOperationsServiceResource($this, $this->serviceName, 'zoneOperations', json_decode('{"methods": {"delete": {"id": "compute.zoneOperations.delete", "path": "{project}/zones/{zone}/operations/{operation}", "httpMethod": "DELETE", "parameters": {"operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/compute"]}, "get": {"id": "compute.zoneOperations.get", "path": "{project}/zones/{zone}/operations/{operation}", "httpMethod": "GET", "parameters": {"operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Operation"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.zoneOperations.list", "path": "{project}/zones/{zone}/operations", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "OperationList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + $this->zones = new Google_ZonesServiceResource($this, $this->serviceName, 'zones', json_decode('{"methods": {"get": {"id": "compute.zones.get", "path": "{project}/zones/{zone}", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "zone": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Zone"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}, "list": {"id": "compute.zones.list", "path": "{project}/zones", "httpMethod": "GET", "parameters": {"filter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ZoneList"}, "scopes": ["https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly"]}}}', true)); + + } +} + + + +class Google_AccessConfig extends Google_Model { + public $kind; + public $name; + public $natIP; + public $type; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNatIP( $natIP) { + $this->natIP = $natIP; + } + public function getNatIP() { + return $this->natIP; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Address extends Google_Model { + public $address; + public $creationTimestamp; + public $description; + public $id; + public $kind; + public $name; + public $region; + public $selfLink; + public $status; + public $user; + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setUser( $user) { + $this->user = $user; + } + public function getUser() { + return $this->user; + } +} + +class Google_AddressAggregatedList extends Google_Model { + public $id; + protected $__itemsType = 'Google_AddressesScopedList'; + protected $__itemsDataType = 'map'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(Google_AddressesScopedList $items) { + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_AddressList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Address'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Address) */ $items) { + $this->assertIsArray($items, 'Google_Address', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_AddressesScopedList extends Google_Model { + protected $__addressesType = 'Google_Address'; + protected $__addressesDataType = 'array'; + public $addresses; + protected $__warningType = 'Google_AddressesScopedListWarning'; + protected $__warningDataType = ''; + public $warning; + public function setAddresses(/* array(Google_Address) */ $addresses) { + $this->assertIsArray($addresses, 'Google_Address', __METHOD__); + $this->addresses = $addresses; + } + public function getAddresses() { + return $this->addresses; + } + public function setWarning(Google_AddressesScopedListWarning $warning) { + $this->warning = $warning; + } + public function getWarning() { + return $this->warning; + } +} + +class Google_AddressesScopedListWarning extends Google_Model { + public $code; + protected $__dataType = 'Google_AddressesScopedListWarningData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_AddressesScopedListWarningData) */ $data) { + $this->assertIsArray($data, 'Google_AddressesScopedListWarningData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_AddressesScopedListWarningData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_AttachedDisk extends Google_Model { + public $boot; + public $deviceName; + public $index; + public $kind; + public $mode; + public $source; + public $type; + public function setBoot( $boot) { + $this->boot = $boot; + } + public function getBoot() { + return $this->boot; + } + public function setDeviceName( $deviceName) { + $this->deviceName = $deviceName; + } + public function getDeviceName() { + return $this->deviceName; + } + public function setIndex( $index) { + $this->index = $index; + } + public function getIndex() { + return $this->index; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMode( $mode) { + $this->mode = $mode; + } + public function getMode() { + return $this->mode; + } + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_DeprecationStatus extends Google_Model { + public $deleted; + public $deprecated; + public $obsolete; + public $replacement; + public $state; + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setDeprecated( $deprecated) { + $this->deprecated = $deprecated; + } + public function getDeprecated() { + return $this->deprecated; + } + public function setObsolete( $obsolete) { + $this->obsolete = $obsolete; + } + public function getObsolete() { + return $this->obsolete; + } + public function setReplacement( $replacement) { + $this->replacement = $replacement; + } + public function getReplacement() { + return $this->replacement; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } +} + +class Google_Disk extends Google_Model { + public $creationTimestamp; + public $description; + public $id; + public $kind; + public $name; + public $options; + public $selfLink; + public $sizeGb; + public $sourceSnapshot; + public $sourceSnapshotId; + public $status; + public $zone; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOptions( $options) { + $this->options = $options; + } + public function getOptions() { + return $this->options; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSizeGb( $sizeGb) { + $this->sizeGb = $sizeGb; + } + public function getSizeGb() { + return $this->sizeGb; + } + public function setSourceSnapshot( $sourceSnapshot) { + $this->sourceSnapshot = $sourceSnapshot; + } + public function getSourceSnapshot() { + return $this->sourceSnapshot; + } + public function setSourceSnapshotId( $sourceSnapshotId) { + $this->sourceSnapshotId = $sourceSnapshotId; + } + public function getSourceSnapshotId() { + return $this->sourceSnapshotId; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setZone( $zone) { + $this->zone = $zone; + } + public function getZone() { + return $this->zone; + } +} + +class Google_DiskAggregatedList extends Google_Model { + public $id; + protected $__itemsType = 'Google_DisksScopedList'; + protected $__itemsDataType = 'map'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(Google_DisksScopedList $items) { + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_DiskList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Disk'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Disk) */ $items) { + $this->assertIsArray($items, 'Google_Disk', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_DisksScopedList extends Google_Model { + protected $__disksType = 'Google_Disk'; + protected $__disksDataType = 'array'; + public $disks; + protected $__warningType = 'Google_DisksScopedListWarning'; + protected $__warningDataType = ''; + public $warning; + public function setDisks(/* array(Google_Disk) */ $disks) { + $this->assertIsArray($disks, 'Google_Disk', __METHOD__); + $this->disks = $disks; + } + public function getDisks() { + return $this->disks; + } + public function setWarning(Google_DisksScopedListWarning $warning) { + $this->warning = $warning; + } + public function getWarning() { + return $this->warning; + } +} + +class Google_DisksScopedListWarning extends Google_Model { + public $code; + protected $__dataType = 'Google_DisksScopedListWarningData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_DisksScopedListWarningData) */ $data) { + $this->assertIsArray($data, 'Google_DisksScopedListWarningData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_DisksScopedListWarningData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Firewall extends Google_Model { + protected $__allowedType = 'Google_FirewallAllowed'; + protected $__allowedDataType = 'array'; + public $allowed; + public $creationTimestamp; + public $description; + public $id; + public $kind; + public $name; + public $network; + public $selfLink; + public $sourceRanges; + public $sourceTags; + public $targetTags; + public function setAllowed(/* array(Google_FirewallAllowed) */ $allowed) { + $this->assertIsArray($allowed, 'Google_FirewallAllowed', __METHOD__); + $this->allowed = $allowed; + } + public function getAllowed() { + return $this->allowed; + } + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNetwork( $network) { + $this->network = $network; + } + public function getNetwork() { + return $this->network; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSourceRanges(/* array(Google_string) */ $sourceRanges) { + $this->assertIsArray($sourceRanges, 'Google_string', __METHOD__); + $this->sourceRanges = $sourceRanges; + } + public function getSourceRanges() { + return $this->sourceRanges; + } + public function setSourceTags(/* array(Google_string) */ $sourceTags) { + $this->assertIsArray($sourceTags, 'Google_string', __METHOD__); + $this->sourceTags = $sourceTags; + } + public function getSourceTags() { + return $this->sourceTags; + } + public function setTargetTags(/* array(Google_string) */ $targetTags) { + $this->assertIsArray($targetTags, 'Google_string', __METHOD__); + $this->targetTags = $targetTags; + } + public function getTargetTags() { + return $this->targetTags; + } +} + +class Google_FirewallAllowed extends Google_Model { + public $IPProtocol; + public $ports; + public function setIPProtocol( $IPProtocol) { + $this->IPProtocol = $IPProtocol; + } + public function getIPProtocol() { + return $this->IPProtocol; + } + public function setPorts(/* array(Google_string) */ $ports) { + $this->assertIsArray($ports, 'Google_string', __METHOD__); + $this->ports = $ports; + } + public function getPorts() { + return $this->ports; + } +} + +class Google_FirewallList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Firewall'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Firewall) */ $items) { + $this->assertIsArray($items, 'Google_Firewall', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Image extends Google_Model { + public $creationTimestamp; + protected $__deprecatedType = 'Google_DeprecationStatus'; + protected $__deprecatedDataType = ''; + public $deprecated; + public $description; + public $id; + public $kind; + public $name; + public $preferredKernel; + protected $__rawDiskType = 'Google_ImageRawDisk'; + protected $__rawDiskDataType = ''; + public $rawDisk; + public $selfLink; + public $sourceType; + public $status; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDeprecated(Google_DeprecationStatus $deprecated) { + $this->deprecated = $deprecated; + } + public function getDeprecated() { + return $this->deprecated; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPreferredKernel( $preferredKernel) { + $this->preferredKernel = $preferredKernel; + } + public function getPreferredKernel() { + return $this->preferredKernel; + } + public function setRawDisk(Google_ImageRawDisk $rawDisk) { + $this->rawDisk = $rawDisk; + } + public function getRawDisk() { + return $this->rawDisk; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSourceType( $sourceType) { + $this->sourceType = $sourceType; + } + public function getSourceType() { + return $this->sourceType; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_ImageList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Image'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Image) */ $items) { + $this->assertIsArray($items, 'Google_Image', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ImageRawDisk extends Google_Model { + public $containerType; + public $sha1Checksum; + public $source; + public function setContainerType( $containerType) { + $this->containerType = $containerType; + } + public function getContainerType() { + return $this->containerType; + } + public function setSha1Checksum( $sha1Checksum) { + $this->sha1Checksum = $sha1Checksum; + } + public function getSha1Checksum() { + return $this->sha1Checksum; + } + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } +} + +class Google_Instance extends Google_Model { + public $canIpForward; + public $creationTimestamp; + public $description; + protected $__disksType = 'Google_AttachedDisk'; + protected $__disksDataType = 'array'; + public $disks; + public $id; + public $image; + public $kernel; + public $kind; + public $machineType; + protected $__metadataType = 'Google_Metadata'; + protected $__metadataDataType = ''; + public $metadata; + public $name; + protected $__networkInterfacesType = 'Google_NetworkInterface'; + protected $__networkInterfacesDataType = 'array'; + public $networkInterfaces; + public $selfLink; + protected $__serviceAccountsType = 'Google_ServiceAccount'; + protected $__serviceAccountsDataType = 'array'; + public $serviceAccounts; + public $status; + public $statusMessage; + protected $__tagsType = 'Google_Tags'; + protected $__tagsDataType = ''; + public $tags; + public $zone; + public function setCanIpForward( $canIpForward) { + $this->canIpForward = $canIpForward; + } + public function getCanIpForward() { + return $this->canIpForward; + } + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDisks(/* array(Google_AttachedDisk) */ $disks) { + $this->assertIsArray($disks, 'Google_AttachedDisk', __METHOD__); + $this->disks = $disks; + } + public function getDisks() { + return $this->disks; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage( $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setKernel( $kernel) { + $this->kernel = $kernel; + } + public function getKernel() { + return $this->kernel; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMachineType( $machineType) { + $this->machineType = $machineType; + } + public function getMachineType() { + return $this->machineType; + } + public function setMetadata(Google_Metadata $metadata) { + $this->metadata = $metadata; + } + public function getMetadata() { + return $this->metadata; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNetworkInterfaces(/* array(Google_NetworkInterface) */ $networkInterfaces) { + $this->assertIsArray($networkInterfaces, 'Google_NetworkInterface', __METHOD__); + $this->networkInterfaces = $networkInterfaces; + } + public function getNetworkInterfaces() { + return $this->networkInterfaces; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setServiceAccounts(/* array(Google_ServiceAccount) */ $serviceAccounts) { + $this->assertIsArray($serviceAccounts, 'Google_ServiceAccount', __METHOD__); + $this->serviceAccounts = $serviceAccounts; + } + public function getServiceAccounts() { + return $this->serviceAccounts; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setStatusMessage( $statusMessage) { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() { + return $this->statusMessage; + } + public function setTags(Google_Tags $tags) { + $this->tags = $tags; + } + public function getTags() { + return $this->tags; + } + public function setZone( $zone) { + $this->zone = $zone; + } + public function getZone() { + return $this->zone; + } +} + +class Google_InstanceAggregatedList extends Google_Model { + public $id; + protected $__itemsType = 'Google_InstancesScopedList'; + protected $__itemsDataType = 'map'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(Google_InstancesScopedList $items) { + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_InstanceList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Instance'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Instance) */ $items) { + $this->assertIsArray($items, 'Google_Instance', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_InstancesScopedList extends Google_Model { + protected $__instancesType = 'Google_Instance'; + protected $__instancesDataType = 'array'; + public $instances; + protected $__warningType = 'Google_InstancesScopedListWarning'; + protected $__warningDataType = ''; + public $warning; + public function setInstances(/* array(Google_Instance) */ $instances) { + $this->assertIsArray($instances, 'Google_Instance', __METHOD__); + $this->instances = $instances; + } + public function getInstances() { + return $this->instances; + } + public function setWarning(Google_InstancesScopedListWarning $warning) { + $this->warning = $warning; + } + public function getWarning() { + return $this->warning; + } +} + +class Google_InstancesScopedListWarning extends Google_Model { + public $code; + protected $__dataType = 'Google_InstancesScopedListWarningData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_InstancesScopedListWarningData) */ $data) { + $this->assertIsArray($data, 'Google_InstancesScopedListWarningData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_InstancesScopedListWarningData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Kernel extends Google_Model { + public $creationTimestamp; + protected $__deprecatedType = 'Google_DeprecationStatus'; + protected $__deprecatedDataType = ''; + public $deprecated; + public $description; + public $id; + public $kind; + public $name; + public $selfLink; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDeprecated(Google_DeprecationStatus $deprecated) { + $this->deprecated = $deprecated; + } + public function getDeprecated() { + return $this->deprecated; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_KernelList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Kernel'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Kernel) */ $items) { + $this->assertIsArray($items, 'Google_Kernel', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_MachineType extends Google_Model { + public $creationTimestamp; + protected $__deprecatedType = 'Google_DeprecationStatus'; + protected $__deprecatedDataType = ''; + public $deprecated; + public $description; + public $guestCpus; + public $id; + public $imageSpaceGb; + public $kind; + public $maximumPersistentDisks; + public $maximumPersistentDisksSizeGb; + public $memoryMb; + public $name; + protected $__scratchDisksType = 'Google_MachineTypeScratchDisks'; + protected $__scratchDisksDataType = 'array'; + public $scratchDisks; + public $selfLink; + public $zone; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDeprecated(Google_DeprecationStatus $deprecated) { + $this->deprecated = $deprecated; + } + public function getDeprecated() { + return $this->deprecated; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setGuestCpus( $guestCpus) { + $this->guestCpus = $guestCpus; + } + public function getGuestCpus() { + return $this->guestCpus; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImageSpaceGb( $imageSpaceGb) { + $this->imageSpaceGb = $imageSpaceGb; + } + public function getImageSpaceGb() { + return $this->imageSpaceGb; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaximumPersistentDisks( $maximumPersistentDisks) { + $this->maximumPersistentDisks = $maximumPersistentDisks; + } + public function getMaximumPersistentDisks() { + return $this->maximumPersistentDisks; + } + public function setMaximumPersistentDisksSizeGb( $maximumPersistentDisksSizeGb) { + $this->maximumPersistentDisksSizeGb = $maximumPersistentDisksSizeGb; + } + public function getMaximumPersistentDisksSizeGb() { + return $this->maximumPersistentDisksSizeGb; + } + public function setMemoryMb( $memoryMb) { + $this->memoryMb = $memoryMb; + } + public function getMemoryMb() { + return $this->memoryMb; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setScratchDisks(/* array(Google_MachineTypeScratchDisks) */ $scratchDisks) { + $this->assertIsArray($scratchDisks, 'Google_MachineTypeScratchDisks', __METHOD__); + $this->scratchDisks = $scratchDisks; + } + public function getScratchDisks() { + return $this->scratchDisks; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setZone( $zone) { + $this->zone = $zone; + } + public function getZone() { + return $this->zone; + } +} + +class Google_MachineTypeAggregatedList extends Google_Model { + public $id; + protected $__itemsType = 'Google_MachineTypesScopedList'; + protected $__itemsDataType = 'map'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(Google_MachineTypesScopedList $items) { + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_MachineTypeList extends Google_Model { + public $id; + protected $__itemsType = 'Google_MachineType'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_MachineType) */ $items) { + $this->assertIsArray($items, 'Google_MachineType', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_MachineTypeScratchDisks extends Google_Model { + public $diskGb; + public function setDiskGb( $diskGb) { + $this->diskGb = $diskGb; + } + public function getDiskGb() { + return $this->diskGb; + } +} + +class Google_MachineTypesScopedList extends Google_Model { + protected $__machineTypesType = 'Google_MachineType'; + protected $__machineTypesDataType = 'array'; + public $machineTypes; + protected $__warningType = 'Google_MachineTypesScopedListWarning'; + protected $__warningDataType = ''; + public $warning; + public function setMachineTypes(/* array(Google_MachineType) */ $machineTypes) { + $this->assertIsArray($machineTypes, 'Google_MachineType', __METHOD__); + $this->machineTypes = $machineTypes; + } + public function getMachineTypes() { + return $this->machineTypes; + } + public function setWarning(Google_MachineTypesScopedListWarning $warning) { + $this->warning = $warning; + } + public function getWarning() { + return $this->warning; + } +} + +class Google_MachineTypesScopedListWarning extends Google_Model { + public $code; + protected $__dataType = 'Google_MachineTypesScopedListWarningData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_MachineTypesScopedListWarningData) */ $data) { + $this->assertIsArray($data, 'Google_MachineTypesScopedListWarningData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_MachineTypesScopedListWarningData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Metadata extends Google_Model { + public $fingerprint; + protected $__itemsType = 'Google_MetadataItems'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setFingerprint( $fingerprint) { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() { + return $this->fingerprint; + } + public function setItems(/* array(Google_MetadataItems) */ $items) { + $this->assertIsArray($items, 'Google_MetadataItems', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_MetadataItems extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Network extends Google_Model { + public $IPv4Range; + public $creationTimestamp; + public $description; + public $gatewayIPv4; + public $id; + public $kind; + public $name; + public $selfLink; + public function setIPv4Range( $IPv4Range) { + $this->IPv4Range = $IPv4Range; + } + public function getIPv4Range() { + return $this->IPv4Range; + } + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setGatewayIPv4( $gatewayIPv4) { + $this->gatewayIPv4 = $gatewayIPv4; + } + public function getGatewayIPv4() { + return $this->gatewayIPv4; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_NetworkInterface extends Google_Model { + protected $__accessConfigsType = 'Google_AccessConfig'; + protected $__accessConfigsDataType = 'array'; + public $accessConfigs; + public $name; + public $network; + public $networkIP; + public function setAccessConfigs(/* array(Google_AccessConfig) */ $accessConfigs) { + $this->assertIsArray($accessConfigs, 'Google_AccessConfig', __METHOD__); + $this->accessConfigs = $accessConfigs; + } + public function getAccessConfigs() { + return $this->accessConfigs; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNetwork( $network) { + $this->network = $network; + } + public function getNetwork() { + return $this->network; + } + public function setNetworkIP( $networkIP) { + $this->networkIP = $networkIP; + } + public function getNetworkIP() { + return $this->networkIP; + } +} + +class Google_NetworkList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Network'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Network) */ $items) { + $this->assertIsArray($items, 'Google_Network', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Operation extends Google_Model { + public $clientOperationId; + public $creationTimestamp; + public $endTime; + protected $__errorType = 'Google_OperationError'; + protected $__errorDataType = ''; + public $error; + public $httpErrorMessage; + public $httpErrorStatusCode; + public $id; + public $insertTime; + public $kind; + public $name; + public $operationType; + public $progress; + public $region; + public $selfLink; + public $startTime; + public $status; + public $statusMessage; + public $targetId; + public $targetLink; + public $user; + protected $__warningsType = 'Google_OperationWarnings'; + protected $__warningsDataType = 'array'; + public $warnings; + public $zone; + public function setClientOperationId( $clientOperationId) { + $this->clientOperationId = $clientOperationId; + } + public function getClientOperationId() { + return $this->clientOperationId; + } + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setError(Google_OperationError $error) { + $this->error = $error; + } + public function getError() { + return $this->error; + } + public function setHttpErrorMessage( $httpErrorMessage) { + $this->httpErrorMessage = $httpErrorMessage; + } + public function getHttpErrorMessage() { + return $this->httpErrorMessage; + } + public function setHttpErrorStatusCode( $httpErrorStatusCode) { + $this->httpErrorStatusCode = $httpErrorStatusCode; + } + public function getHttpErrorStatusCode() { + return $this->httpErrorStatusCode; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInsertTime( $insertTime) { + $this->insertTime = $insertTime; + } + public function getInsertTime() { + return $this->insertTime; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOperationType( $operationType) { + $this->operationType = $operationType; + } + public function getOperationType() { + return $this->operationType; + } + public function setProgress( $progress) { + $this->progress = $progress; + } + public function getProgress() { + return $this->progress; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setStatusMessage( $statusMessage) { + $this->statusMessage = $statusMessage; + } + public function getStatusMessage() { + return $this->statusMessage; + } + public function setTargetId( $targetId) { + $this->targetId = $targetId; + } + public function getTargetId() { + return $this->targetId; + } + public function setTargetLink( $targetLink) { + $this->targetLink = $targetLink; + } + public function getTargetLink() { + return $this->targetLink; + } + public function setUser( $user) { + $this->user = $user; + } + public function getUser() { + return $this->user; + } + public function setWarnings(/* array(Google_OperationWarnings) */ $warnings) { + $this->assertIsArray($warnings, 'Google_OperationWarnings', __METHOD__); + $this->warnings = $warnings; + } + public function getWarnings() { + return $this->warnings; + } + public function setZone( $zone) { + $this->zone = $zone; + } + public function getZone() { + return $this->zone; + } +} + +class Google_OperationAggregatedList extends Google_Model { + public $id; + protected $__itemsType = 'Google_OperationsScopedList'; + protected $__itemsDataType = 'map'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(Google_OperationsScopedList $items) { + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_OperationError extends Google_Model { + protected $__errorsType = 'Google_OperationErrorErrors'; + protected $__errorsDataType = 'array'; + public $errors; + public function setErrors(/* array(Google_OperationErrorErrors) */ $errors) { + $this->assertIsArray($errors, 'Google_OperationErrorErrors', __METHOD__); + $this->errors = $errors; + } + public function getErrors() { + return $this->errors; + } +} + +class Google_OperationErrorErrors extends Google_Model { + public $code; + public $location; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_OperationList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Operation'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Operation) */ $items) { + $this->assertIsArray($items, 'Google_Operation', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_OperationWarnings extends Google_Model { + public $code; + protected $__dataType = 'Google_OperationWarningsData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_OperationWarningsData) */ $data) { + $this->assertIsArray($data, 'Google_OperationWarningsData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_OperationWarningsData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_OperationsScopedList extends Google_Model { + protected $__operationsType = 'Google_Operation'; + protected $__operationsDataType = 'array'; + public $operations; + protected $__warningType = 'Google_OperationsScopedListWarning'; + protected $__warningDataType = ''; + public $warning; + public function setOperations(/* array(Google_Operation) */ $operations) { + $this->assertIsArray($operations, 'Google_Operation', __METHOD__); + $this->operations = $operations; + } + public function getOperations() { + return $this->operations; + } + public function setWarning(Google_OperationsScopedListWarning $warning) { + $this->warning = $warning; + } + public function getWarning() { + return $this->warning; + } +} + +class Google_OperationsScopedListWarning extends Google_Model { + public $code; + protected $__dataType = 'Google_OperationsScopedListWarningData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_OperationsScopedListWarningData) */ $data) { + $this->assertIsArray($data, 'Google_OperationsScopedListWarningData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_OperationsScopedListWarningData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Project extends Google_Model { + protected $__commonInstanceMetadataType = 'Google_Metadata'; + protected $__commonInstanceMetadataDataType = ''; + public $commonInstanceMetadata; + public $creationTimestamp; + public $description; + public $id; + public $kind; + public $name; + protected $__quotasType = 'Google_Quota'; + protected $__quotasDataType = 'array'; + public $quotas; + public $selfLink; + public function setCommonInstanceMetadata(Google_Metadata $commonInstanceMetadata) { + $this->commonInstanceMetadata = $commonInstanceMetadata; + } + public function getCommonInstanceMetadata() { + return $this->commonInstanceMetadata; + } + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setQuotas(/* array(Google_Quota) */ $quotas) { + $this->assertIsArray($quotas, 'Google_Quota', __METHOD__); + $this->quotas = $quotas; + } + public function getQuotas() { + return $this->quotas; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Quota extends Google_Model { + public $limit; + public $metric; + public $usage; + public function setLimit( $limit) { + $this->limit = $limit; + } + public function getLimit() { + return $this->limit; + } + public function setMetric( $metric) { + $this->metric = $metric; + } + public function getMetric() { + return $this->metric; + } + public function setUsage( $usage) { + $this->usage = $usage; + } + public function getUsage() { + return $this->usage; + } +} + +class Google_Region extends Google_Model { + public $creationTimestamp; + protected $__deprecatedType = 'Google_DeprecationStatus'; + protected $__deprecatedDataType = ''; + public $deprecated; + public $description; + public $id; + public $kind; + public $name; + protected $__quotasType = 'Google_Quota'; + protected $__quotasDataType = 'array'; + public $quotas; + public $selfLink; + public $status; + public $zones; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDeprecated(Google_DeprecationStatus $deprecated) { + $this->deprecated = $deprecated; + } + public function getDeprecated() { + return $this->deprecated; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setQuotas(/* array(Google_Quota) */ $quotas) { + $this->assertIsArray($quotas, 'Google_Quota', __METHOD__); + $this->quotas = $quotas; + } + public function getQuotas() { + return $this->quotas; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setZones(/* array(Google_string) */ $zones) { + $this->assertIsArray($zones, 'Google_string', __METHOD__); + $this->zones = $zones; + } + public function getZones() { + return $this->zones; + } +} + +class Google_RegionList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Region'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Region) */ $items) { + $this->assertIsArray($items, 'Google_Region', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Route extends Google_Model { + public $creationTimestamp; + public $description; + public $destRange; + public $id; + public $kind; + public $name; + public $network; + public $nextHopGateway; + public $nextHopInstance; + public $nextHopIp; + public $nextHopNetwork; + public $priority; + public $selfLink; + public $tags; + protected $__warningsType = 'Google_RouteWarnings'; + protected $__warningsDataType = 'array'; + public $warnings; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDestRange( $destRange) { + $this->destRange = $destRange; + } + public function getDestRange() { + return $this->destRange; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNetwork( $network) { + $this->network = $network; + } + public function getNetwork() { + return $this->network; + } + public function setNextHopGateway( $nextHopGateway) { + $this->nextHopGateway = $nextHopGateway; + } + public function getNextHopGateway() { + return $this->nextHopGateway; + } + public function setNextHopInstance( $nextHopInstance) { + $this->nextHopInstance = $nextHopInstance; + } + public function getNextHopInstance() { + return $this->nextHopInstance; + } + public function setNextHopIp( $nextHopIp) { + $this->nextHopIp = $nextHopIp; + } + public function getNextHopIp() { + return $this->nextHopIp; + } + public function setNextHopNetwork( $nextHopNetwork) { + $this->nextHopNetwork = $nextHopNetwork; + } + public function getNextHopNetwork() { + return $this->nextHopNetwork; + } + public function setPriority( $priority) { + $this->priority = $priority; + } + public function getPriority() { + return $this->priority; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTags(/* array(Google_string) */ $tags) { + $this->assertIsArray($tags, 'Google_string', __METHOD__); + $this->tags = $tags; + } + public function getTags() { + return $this->tags; + } + public function setWarnings(/* array(Google_RouteWarnings) */ $warnings) { + $this->assertIsArray($warnings, 'Google_RouteWarnings', __METHOD__); + $this->warnings = $warnings; + } + public function getWarnings() { + return $this->warnings; + } +} + +class Google_RouteList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Route'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Route) */ $items) { + $this->assertIsArray($items, 'Google_Route', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_RouteWarnings extends Google_Model { + public $code; + protected $__dataType = 'Google_RouteWarningsData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_RouteWarningsData) */ $data) { + $this->assertIsArray($data, 'Google_RouteWarningsData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_RouteWarningsData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_SerialPortOutput extends Google_Model { + public $contents; + public $kind; + public $selfLink; + public function setContents( $contents) { + $this->contents = $contents; + } + public function getContents() { + return $this->contents; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ServiceAccount extends Google_Model { + public $email; + public $scopes; + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setScopes(/* array(Google_string) */ $scopes) { + $this->assertIsArray($scopes, 'Google_string', __METHOD__); + $this->scopes = $scopes; + } + public function getScopes() { + return $this->scopes; + } +} + +class Google_Snapshot extends Google_Model { + public $creationTimestamp; + public $description; + public $diskSizeGb; + public $id; + public $kind; + public $name; + public $selfLink; + public $sourceDisk; + public $sourceDiskId; + public $status; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDiskSizeGb( $diskSizeGb) { + $this->diskSizeGb = $diskSizeGb; + } + public function getDiskSizeGb() { + return $this->diskSizeGb; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSourceDisk( $sourceDisk) { + $this->sourceDisk = $sourceDisk; + } + public function getSourceDisk() { + return $this->sourceDisk; + } + public function setSourceDiskId( $sourceDiskId) { + $this->sourceDiskId = $sourceDiskId; + } + public function getSourceDiskId() { + return $this->sourceDiskId; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_SnapshotList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Snapshot'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Snapshot) */ $items) { + $this->assertIsArray($items, 'Google_Snapshot', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Tags extends Google_Model { + public $fingerprint; + public $items; + public function setFingerprint( $fingerprint) { + $this->fingerprint = $fingerprint; + } + public function getFingerprint() { + return $this->fingerprint; + } + public function setItems(/* array(Google_string) */ $items) { + $this->assertIsArray($items, 'Google_string', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } +} + +class Google_Zone extends Google_Model { + public $creationTimestamp; + protected $__deprecatedType = 'Google_DeprecationStatus'; + protected $__deprecatedDataType = ''; + public $deprecated; + public $description; + public $id; + public $kind; + protected $__maintenanceWindowsType = 'Google_ZoneMaintenanceWindows'; + protected $__maintenanceWindowsDataType = 'array'; + public $maintenanceWindows; + public $name; + protected $__quotasType = 'Google_Quota'; + protected $__quotasDataType = 'array'; + public $quotas; + public $region; + public $selfLink; + public $status; + public function setCreationTimestamp( $creationTimestamp) { + $this->creationTimestamp = $creationTimestamp; + } + public function getCreationTimestamp() { + return $this->creationTimestamp; + } + public function setDeprecated(Google_DeprecationStatus $deprecated) { + $this->deprecated = $deprecated; + } + public function getDeprecated() { + return $this->deprecated; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaintenanceWindows(/* array(Google_ZoneMaintenanceWindows) */ $maintenanceWindows) { + $this->assertIsArray($maintenanceWindows, 'Google_ZoneMaintenanceWindows', __METHOD__); + $this->maintenanceWindows = $maintenanceWindows; + } + public function getMaintenanceWindows() { + return $this->maintenanceWindows; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setQuotas(/* array(Google_Quota) */ $quotas) { + $this->assertIsArray($quotas, 'Google_Quota', __METHOD__); + $this->quotas = $quotas; + } + public function getQuotas() { + return $this->quotas; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_ZoneList extends Google_Model { + public $id; + protected $__itemsType = 'Google_Zone'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Zone) */ $items) { + $this->assertIsArray($items, 'Google_Zone', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ZoneMaintenanceWindows extends Google_Model { + public $beginTime; + public $description; + public $endTime; + public $name; + public function setBeginTime( $beginTime) { + $this->beginTime = $beginTime; + } + public function getBeginTime() { + return $this->beginTime; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CoordinateService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CoordinateService.php new file mode 100644 index 0000000..2db74f5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CoordinateService.php @@ -0,0 +1,842 @@ + + * $coordinateService = new Google_CoordinateService(...); + * $customFieldDef = $coordinateService->customFieldDef; + * + */ + class Google_CustomFieldDefServiceResource extends Google_ServiceResource { + + /** + * Retrieves a list of custom field definitions for a team. (customFieldDef.list) + * + * @param string $teamId Team ID + * @param array $optParams Optional parameters. + * @return Google_CustomFieldDefListResponse + */ + public function listCustomFieldDef($teamId, $optParams = array()) { + $params = array('teamId' => $teamId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CustomFieldDefListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "jobs" collection of methods. + * Typical usage is: + * + * $coordinateService = new Google_CoordinateService(...); + * $jobs = $coordinateService->jobs; + * + */ + class Google_JobsServiceResource extends Google_ServiceResource { + + /** + * Retrieves a job, including all the changes made to the job. (jobs.get) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param array $optParams Optional parameters. + * @return Google_Job + */ + public function get($teamId, $jobId, $optParams = array()) { + $params = array('teamId' => $teamId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Job($data); + } else { + return $data; + } + } + /** + * Inserts a new job. Only the state field of the job should be set. (jobs.insert) + * + * @param string $teamId Team ID + * @param string $address Job address as newline (Unix) separated string + * @param double $lat The latitude coordinate of this job's location. + * @param double $lng The longitude coordinate of this job's location. + * @param string $title Job title + * @param Google_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string assignee Assignee email address, or empty string to unassign. + * @opt_param string customField Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' + * @opt_param string customerName Customer name + * @opt_param string customerPhoneNumber Customer phone number + * @opt_param string note Job note as newline (Unix) separated string + * @return Google_Job + */ + public function insert($teamId, $address, $lat, $lng, $title, Google_Job $postBody, $optParams = array()) { + $params = array('teamId' => $teamId, 'address' => $address, 'lat' => $lat, 'lng' => $lng, 'title' => $title, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Job($data); + } else { + return $data; + } + } + /** + * Retrieves jobs created or modified since the given timestamp. (jobs.list) + * + * @param string $teamId Team ID + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return in one page. + * @opt_param string minModifiedTimestampMs Minimum time a job was modified in milliseconds since epoch. + * @opt_param string pageToken Continuation token + * @return Google_JobListResponse + */ + public function listJobs($teamId, $optParams = array()) { + $params = array('teamId' => $teamId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_JobListResponse($data); + } else { + return $data; + } + } + /** + * Updates a job. Fields that are set in the job state will be updated. This method supports patch + * semantics. (jobs.patch) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string address Job address as newline (Unix) separated string + * @opt_param string assignee Assignee email address, or empty string to unassign. + * @opt_param string customField Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' + * @opt_param string customerName Customer name + * @opt_param string customerPhoneNumber Customer phone number + * @opt_param double lat The latitude coordinate of this job's location. + * @opt_param double lng The longitude coordinate of this job's location. + * @opt_param string note Job note as newline (Unix) separated string + * @opt_param string progress Job progress + * @opt_param string title Job title + * @return Google_Job + */ + public function patch($teamId, $jobId, Google_Job $postBody, $optParams = array()) { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Job($data); + } else { + return $data; + } + } + /** + * Updates a job. Fields that are set in the job state will be updated. (jobs.update) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Job $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string address Job address as newline (Unix) separated string + * @opt_param string assignee Assignee email address, or empty string to unassign. + * @opt_param string customField Map from custom field id (from /team//custom_fields) to the field value. For example '123=Alice' + * @opt_param string customerName Customer name + * @opt_param string customerPhoneNumber Customer phone number + * @opt_param double lat The latitude coordinate of this job's location. + * @opt_param double lng The longitude coordinate of this job's location. + * @opt_param string note Job note as newline (Unix) separated string + * @opt_param string progress Job progress + * @opt_param string title Job title + * @return Google_Job + */ + public function update($teamId, $jobId, Google_Job $postBody, $optParams = array()) { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Job($data); + } else { + return $data; + } + } + } + + /** + * The "location" collection of methods. + * Typical usage is: + * + * $coordinateService = new Google_CoordinateService(...); + * $location = $coordinateService->location; + * + */ + class Google_LocationServiceResource extends Google_ServiceResource { + + /** + * Retrieves a list of locations for a worker. (location.list) + * + * @param string $teamId Team ID + * @param string $workerEmail Worker email address. + * @param string $startTimestampMs Start timestamp in milliseconds since the epoch. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return in one page. + * @opt_param string pageToken Continuation token + * @return Google_LocationListResponse + */ + public function listLocation($teamId, $workerEmail, $startTimestampMs, $optParams = array()) { + $params = array('teamId' => $teamId, 'workerEmail' => $workerEmail, 'startTimestampMs' => $startTimestampMs); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_LocationListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "schedule" collection of methods. + * Typical usage is: + * + * $coordinateService = new Google_CoordinateService(...); + * $schedule = $coordinateService->schedule; + * + */ + class Google_ScheduleServiceResource extends Google_ServiceResource { + + /** + * Retrieves the schedule for a job. (schedule.get) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param array $optParams Optional parameters. + * @return Google_Schedule + */ + public function get($teamId, $jobId, $optParams = array()) { + $params = array('teamId' => $teamId, 'jobId' => $jobId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Schedule($data); + } else { + return $data; + } + } + /** + * Replaces the schedule of a job with the provided schedule. This method supports patch semantics. + * (schedule.patch) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Schedule $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool allDay Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true. + * @opt_param string duration Job duration in milliseconds. + * @opt_param string endTime Scheduled end time in milliseconds since epoch. + * @opt_param string startTime Scheduled start time in milliseconds since epoch. + * @return Google_Schedule + */ + public function patch($teamId, $jobId, Google_Schedule $postBody, $optParams = array()) { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Schedule($data); + } else { + return $data; + } + } + /** + * Replaces the schedule of a job with the provided schedule. (schedule.update) + * + * @param string $teamId Team ID + * @param string $jobId Job number + * @param Google_Schedule $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool allDay Whether the job is scheduled for the whole day. Time of day in start/end times is ignored if this is true. + * @opt_param string duration Job duration in milliseconds. + * @opt_param string endTime Scheduled end time in milliseconds since epoch. + * @opt_param string startTime Scheduled start time in milliseconds since epoch. + * @return Google_Schedule + */ + public function update($teamId, $jobId, Google_Schedule $postBody, $optParams = array()) { + $params = array('teamId' => $teamId, 'jobId' => $jobId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Schedule($data); + } else { + return $data; + } + } + } + + /** + * The "worker" collection of methods. + * Typical usage is: + * + * $coordinateService = new Google_CoordinateService(...); + * $worker = $coordinateService->worker; + * + */ + class Google_WorkerServiceResource extends Google_ServiceResource { + + /** + * Retrieves a list of workers in a team. (worker.list) + * + * @param string $teamId Team ID + * @param array $optParams Optional parameters. + * @return Google_WorkerListResponse + */ + public function listWorker($teamId, $optParams = array()) { + $params = array('teamId' => $teamId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_WorkerListResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Coordinate (v1). + * + *

    + * Lets you view and manage jobs in a Coordinate team. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_CoordinateService extends Google_Service { + public $customFieldDef; + public $jobs; + public $location; + public $schedule; + public $worker; + /** + * Constructs the internal representation of the Coordinate service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'coordinate/v1/teams/'; + $this->version = 'v1'; + $this->serviceName = 'coordinate'; + + $client->addService($this->serviceName, $this->version); + $this->customFieldDef = new Google_CustomFieldDefServiceResource($this, $this->serviceName, 'customFieldDef', json_decode('{"methods": {"list": {"id": "coordinate.customFieldDef.list", "path": "{teamId}/custom_fields", "httpMethod": "GET", "parameters": {"teamId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CustomFieldDefListResponse"}, "scopes": ["https://www.googleapis.com/auth/coordinate", "https://www.googleapis.com/auth/coordinate.readonly"]}}}', true)); + $this->jobs = new Google_JobsServiceResource($this, $this->serviceName, 'jobs', json_decode('{"methods": {"get": {"id": "coordinate.jobs.get", "path": "{teamId}/jobs/{jobId}", "httpMethod": "GET", "parameters": {"jobId": {"type": "string", "required": true, "format": "uint64", "location": "path"}, "teamId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Job"}, "scopes": ["https://www.googleapis.com/auth/coordinate", "https://www.googleapis.com/auth/coordinate.readonly"]}, "insert": {"id": "coordinate.jobs.insert", "path": "{teamId}/jobs", "httpMethod": "POST", "parameters": {"address": {"type": "string", "required": true, "location": "query"}, "assignee": {"type": "string", "location": "query"}, "customField": {"type": "string", "repeated": true, "location": "query"}, "customerName": {"type": "string", "location": "query"}, "customerPhoneNumber": {"type": "string", "location": "query"}, "lat": {"type": "number", "required": true, "format": "double", "location": "query"}, "lng": {"type": "number", "required": true, "format": "double", "location": "query"}, "note": {"type": "string", "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}, "title": {"type": "string", "required": true, "location": "query"}}, "request": {"$ref": "Job"}, "response": {"$ref": "Job"}, "scopes": ["https://www.googleapis.com/auth/coordinate"]}, "list": {"id": "coordinate.jobs.list", "path": "{teamId}/jobs", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "minModifiedTimestampMs": {"type": "string", "format": "uint64", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "JobListResponse"}, "scopes": ["https://www.googleapis.com/auth/coordinate", "https://www.googleapis.com/auth/coordinate.readonly"]}, "patch": {"id": "coordinate.jobs.patch", "path": "{teamId}/jobs/{jobId}", "httpMethod": "PATCH", "parameters": {"address": {"type": "string", "location": "query"}, "assignee": {"type": "string", "location": "query"}, "customField": {"type": "string", "repeated": true, "location": "query"}, "customerName": {"type": "string", "location": "query"}, "customerPhoneNumber": {"type": "string", "location": "query"}, "jobId": {"type": "string", "required": true, "format": "uint64", "location": "path"}, "lat": {"type": "number", "format": "double", "location": "query"}, "lng": {"type": "number", "format": "double", "location": "query"}, "note": {"type": "string", "location": "query"}, "progress": {"type": "string", "enum": ["COMPLETED", "IN_PROGRESS", "NOT_ACCEPTED", "NOT_STARTED", "OBSOLETE"], "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}, "title": {"type": "string", "location": "query"}}, "request": {"$ref": "Job"}, "response": {"$ref": "Job"}, "scopes": ["https://www.googleapis.com/auth/coordinate"]}, "update": {"id": "coordinate.jobs.update", "path": "{teamId}/jobs/{jobId}", "httpMethod": "PUT", "parameters": {"address": {"type": "string", "location": "query"}, "assignee": {"type": "string", "location": "query"}, "customField": {"type": "string", "repeated": true, "location": "query"}, "customerName": {"type": "string", "location": "query"}, "customerPhoneNumber": {"type": "string", "location": "query"}, "jobId": {"type": "string", "required": true, "format": "uint64", "location": "path"}, "lat": {"type": "number", "format": "double", "location": "query"}, "lng": {"type": "number", "format": "double", "location": "query"}, "note": {"type": "string", "location": "query"}, "progress": {"type": "string", "enum": ["COMPLETED", "IN_PROGRESS", "NOT_ACCEPTED", "NOT_STARTED", "OBSOLETE"], "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}, "title": {"type": "string", "location": "query"}}, "request": {"$ref": "Job"}, "response": {"$ref": "Job"}, "scopes": ["https://www.googleapis.com/auth/coordinate"]}}}', true)); + $this->location = new Google_LocationServiceResource($this, $this->serviceName, 'location', json_decode('{"methods": {"list": {"id": "coordinate.location.list", "path": "{teamId}/workers/{workerEmail}/locations", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "startTimestampMs": {"type": "string", "required": true, "format": "uint64", "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}, "workerEmail": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "LocationListResponse"}, "scopes": ["https://www.googleapis.com/auth/coordinate", "https://www.googleapis.com/auth/coordinate.readonly"]}}}', true)); + $this->schedule = new Google_ScheduleServiceResource($this, $this->serviceName, 'schedule', json_decode('{"methods": {"get": {"id": "coordinate.schedule.get", "path": "{teamId}/jobs/{jobId}/schedule", "httpMethod": "GET", "parameters": {"jobId": {"type": "string", "required": true, "format": "uint64", "location": "path"}, "teamId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Schedule"}, "scopes": ["https://www.googleapis.com/auth/coordinate", "https://www.googleapis.com/auth/coordinate.readonly"]}, "patch": {"id": "coordinate.schedule.patch", "path": "{teamId}/jobs/{jobId}/schedule", "httpMethod": "PATCH", "parameters": {"allDay": {"type": "boolean", "location": "query"}, "duration": {"type": "string", "format": "uint64", "location": "query"}, "endTime": {"type": "string", "format": "uint64", "location": "query"}, "jobId": {"type": "string", "required": true, "format": "uint64", "location": "path"}, "startTime": {"type": "string", "format": "uint64", "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Schedule"}, "response": {"$ref": "Schedule"}, "scopes": ["https://www.googleapis.com/auth/coordinate"]}, "update": {"id": "coordinate.schedule.update", "path": "{teamId}/jobs/{jobId}/schedule", "httpMethod": "PUT", "parameters": {"allDay": {"type": "boolean", "location": "query"}, "duration": {"type": "string", "format": "uint64", "location": "query"}, "endTime": {"type": "string", "format": "uint64", "location": "query"}, "jobId": {"type": "string", "required": true, "format": "uint64", "location": "path"}, "startTime": {"type": "string", "format": "uint64", "location": "query"}, "teamId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Schedule"}, "response": {"$ref": "Schedule"}, "scopes": ["https://www.googleapis.com/auth/coordinate"]}}}', true)); + $this->worker = new Google_WorkerServiceResource($this, $this->serviceName, 'worker', json_decode('{"methods": {"list": {"id": "coordinate.worker.list", "path": "{teamId}/workers", "httpMethod": "GET", "parameters": {"teamId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "WorkerListResponse"}, "scopes": ["https://www.googleapis.com/auth/coordinate", "https://www.googleapis.com/auth/coordinate.readonly"]}}}', true)); + + } +} + + + +class Google_CustomField extends Google_Model { + public $customFieldId; + public $kind; + public $value; + public function setCustomFieldId( $customFieldId) { + $this->customFieldId = $customFieldId; + } + public function getCustomFieldId() { + return $this->customFieldId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_CustomFieldDef extends Google_Model { + public $enabled; + public $id; + public $kind; + public $name; + public $requiredForCheckout; + public $type; + public function setEnabled( $enabled) { + $this->enabled = $enabled; + } + public function getEnabled() { + return $this->enabled; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setRequiredForCheckout( $requiredForCheckout) { + $this->requiredForCheckout = $requiredForCheckout; + } + public function getRequiredForCheckout() { + return $this->requiredForCheckout; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_CustomFieldDefListResponse extends Google_Model { + protected $__itemsType = 'Google_CustomFieldDef'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_CustomFieldDef) */ $items) { + $this->assertIsArray($items, 'Google_CustomFieldDef', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_CustomFields extends Google_Model { + protected $__customFieldType = 'Google_CustomField'; + protected $__customFieldDataType = 'array'; + public $customField; + public $kind; + public function setCustomField(/* array(Google_CustomField) */ $customField) { + $this->assertIsArray($customField, 'Google_CustomField', __METHOD__); + $this->customField = $customField; + } + public function getCustomField() { + return $this->customField; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Job extends Google_Model { + public $id; + protected $__jobChangeType = 'Google_JobChange'; + protected $__jobChangeDataType = 'array'; + public $jobChange; + public $kind; + protected $__stateType = 'Google_JobState'; + protected $__stateDataType = ''; + public $state; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setJobChange(/* array(Google_JobChange) */ $jobChange) { + $this->assertIsArray($jobChange, 'Google_JobChange', __METHOD__); + $this->jobChange = $jobChange; + } + public function getJobChange() { + return $this->jobChange; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setState(Google_JobState $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } +} + +class Google_JobChange extends Google_Model { + public $kind; + protected $__stateType = 'Google_JobState'; + protected $__stateDataType = ''; + public $state; + public $timestamp; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setState(Google_JobState $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } + public function setTimestamp( $timestamp) { + $this->timestamp = $timestamp; + } + public function getTimestamp() { + return $this->timestamp; + } +} + +class Google_JobListResponse extends Google_Model { + protected $__itemsType = 'Google_Job'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Job) */ $items) { + $this->assertIsArray($items, 'Google_Job', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_JobState extends Google_Model { + public $assignee; + protected $__customFieldsType = 'Google_CustomFields'; + protected $__customFieldsDataType = ''; + public $customFields; + public $customerName; + public $customerPhoneNumber; + public $kind; + protected $__locationType = 'Google_Location'; + protected $__locationDataType = ''; + public $location; + public $note; + public $progress; + public $title; + public function setAssignee( $assignee) { + $this->assignee = $assignee; + } + public function getAssignee() { + return $this->assignee; + } + public function setCustomFields(Google_CustomFields $customFields) { + $this->customFields = $customFields; + } + public function getCustomFields() { + return $this->customFields; + } + public function setCustomerName( $customerName) { + $this->customerName = $customerName; + } + public function getCustomerName() { + return $this->customerName; + } + public function setCustomerPhoneNumber( $customerPhoneNumber) { + $this->customerPhoneNumber = $customerPhoneNumber; + } + public function getCustomerPhoneNumber() { + return $this->customerPhoneNumber; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation(Google_Location $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setNote(/* array(Google_string) */ $note) { + $this->assertIsArray($note, 'Google_string', __METHOD__); + $this->note = $note; + } + public function getNote() { + return $this->note; + } + public function setProgress( $progress) { + $this->progress = $progress; + } + public function getProgress() { + return $this->progress; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_Location extends Google_Model { + public $addressLine; + public $kind; + public $lat; + public $lng; + public function setAddressLine(/* array(Google_string) */ $addressLine) { + $this->assertIsArray($addressLine, 'Google_string', __METHOD__); + $this->addressLine = $addressLine; + } + public function getAddressLine() { + return $this->addressLine; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLat( $lat) { + $this->lat = $lat; + } + public function getLat() { + return $this->lat; + } + public function setLng( $lng) { + $this->lng = $lng; + } + public function getLng() { + return $this->lng; + } +} + +class Google_LocationListResponse extends Google_Model { + protected $__itemsType = 'Google_LocationRecord'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + protected $__tokenPaginationType = 'Google_TokenPagination'; + protected $__tokenPaginationDataType = ''; + public $tokenPagination; + public function setItems(/* array(Google_LocationRecord) */ $items) { + $this->assertIsArray($items, 'Google_LocationRecord', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTokenPagination(Google_TokenPagination $tokenPagination) { + $this->tokenPagination = $tokenPagination; + } + public function getTokenPagination() { + return $this->tokenPagination; + } +} + +class Google_LocationRecord extends Google_Model { + public $collectionTime; + public $confidenceRadius; + public $kind; + public $latitude; + public $longitude; + public function setCollectionTime( $collectionTime) { + $this->collectionTime = $collectionTime; + } + public function getCollectionTime() { + return $this->collectionTime; + } + public function setConfidenceRadius( $confidenceRadius) { + $this->confidenceRadius = $confidenceRadius; + } + public function getConfidenceRadius() { + return $this->confidenceRadius; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_Schedule extends Google_Model { + public $allDay; + public $duration; + public $endTime; + public $kind; + public $startTime; + public function setAllDay( $allDay) { + $this->allDay = $allDay; + } + public function getAllDay() { + return $this->allDay; + } + public function setDuration( $duration) { + $this->duration = $duration; + } + public function getDuration() { + return $this->duration; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } +} + +class Google_TokenPagination extends Google_Model { + public $kind; + public $nextPageToken; + public $previousPageToken; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPreviousPageToken( $previousPageToken) { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() { + return $this->previousPageToken; + } +} + +class Google_Worker extends Google_Model { + public $id; + public $kind; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_WorkerListResponse extends Google_Model { + protected $__itemsType = 'Google_Worker'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Worker) */ $items) { + $this->assertIsArray($items, 'Google_Worker', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CustomsearchService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CustomsearchService.php new file mode 100644 index 0000000..230b7a4 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_CustomsearchService.php @@ -0,0 +1,837 @@ + + * $customsearchService = new Google_CustomsearchService(...); + * $cse = $customsearchService->cse; + * + */ + class Google_CseServiceResource extends Google_ServiceResource { + + /** + * Returns metadata about the search performed, metadata about the custom search engine used for the + * search, and the search results. (cse.list) + * + * @param string $q Query + * @param array $optParams Optional parameters. + * + * @opt_param string c2coff Turns off the translation between zh-CN and zh-TW. + * @opt_param string cr Country restrict(s). + * @opt_param string cref The URL of a linked custom search engine + * @opt_param string cx The custom search engine ID to scope this search query + * @opt_param string dateRestrict Specifies all search results are from a time period + * @opt_param string exactTerms Identifies a phrase that all documents in the search results must contain + * @opt_param string excludeTerms Identifies a word or phrase that should not appear in any documents in the search results + * @opt_param string fileType Returns images of a specified type. Some of the allowed values are: bmp, gif, png, jpg, svg, pdf, ... + * @opt_param string filter Controls turning on or off the duplicate content filter. + * @opt_param string gl Geolocation of end user. + * @opt_param string googlehost The local Google domain to use to perform the search. + * @opt_param string highRange Creates a range in form as_nlo value..as_nhi value and attempts to append it to query + * @opt_param string hl Sets the user interface language. + * @opt_param string hq Appends the extra query terms to the query. + * @opt_param string imgColorType Returns black and white, grayscale, or color images: mono, gray, and color. + * @opt_param string imgDominantColor Returns images of a specific dominant color: yellow, green, teal, blue, purple, pink, white, gray, black and brown. + * @opt_param string imgSize Returns images of a specified size, where size can be one of: icon, small, medium, large, xlarge, xxlarge, and huge. + * @opt_param string imgType Returns images of a type, which can be one of: clipart, face, lineart, news, and photo. + * @opt_param string linkSite Specifies that all search results should contain a link to a particular URL + * @opt_param string lowRange Creates a range in form as_nlo value..as_nhi value and attempts to append it to query + * @opt_param string lr The language restriction for the search results + * @opt_param string num Number of search results to return + * @opt_param string orTerms Provides additional search terms to check for in a document, where each document in the search results must contain at least one of the additional search terms + * @opt_param string relatedSite Specifies that all search results should be pages that are related to the specified URL + * @opt_param string rights Filters based on licensing. Supported values include: cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived and combinations of these. + * @opt_param string safe Search safety level + * @opt_param string searchType Specifies the search type: image. + * @opt_param string siteSearch Specifies all search results should be pages from a given site + * @opt_param string siteSearchFilter Controls whether to include or exclude results from the site named in the as_sitesearch parameter + * @opt_param string sort The sort expression to apply to the results + * @opt_param string start The index of the first result to return + * @return Google_Search + */ + public function listCse($q, $optParams = array()) { + $params = array('q' => $q); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Search($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Customsearch (v1). + * + *

    + * Lets you search over a website or collection of websites + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_CustomsearchService extends Google_Service { + public $cse; + /** + * Constructs the internal representation of the Customsearch service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'customsearch/'; + $this->version = 'v1'; + $this->serviceName = 'customsearch'; + + $client->addService($this->serviceName, $this->version); + $this->cse = new Google_CseServiceResource($this, $this->serviceName, 'cse', json_decode('{"methods": {"list": {"id": "search.cse.list", "path": "v1", "httpMethod": "GET", "parameters": {"c2coff": {"type": "string", "location": "query"}, "cr": {"type": "string", "location": "query"}, "cref": {"type": "string", "location": "query"}, "cx": {"type": "string", "location": "query"}, "dateRestrict": {"type": "string", "location": "query"}, "exactTerms": {"type": "string", "location": "query"}, "excludeTerms": {"type": "string", "location": "query"}, "fileType": {"type": "string", "location": "query"}, "filter": {"type": "string", "enum": ["0", "1"], "location": "query"}, "gl": {"type": "string", "location": "query"}, "googlehost": {"type": "string", "location": "query"}, "highRange": {"type": "string", "location": "query"}, "hl": {"type": "string", "location": "query"}, "hq": {"type": "string", "location": "query"}, "imgColorType": {"type": "string", "enum": ["color", "gray", "mono"], "location": "query"}, "imgDominantColor": {"type": "string", "enum": ["black", "blue", "brown", "gray", "green", "pink", "purple", "teal", "white", "yellow"], "location": "query"}, "imgSize": {"type": "string", "enum": ["huge", "icon", "large", "medium", "small", "xlarge", "xxlarge"], "location": "query"}, "imgType": {"type": "string", "enum": ["clipart", "face", "lineart", "news", "photo"], "location": "query"}, "linkSite": {"type": "string", "location": "query"}, "lowRange": {"type": "string", "location": "query"}, "lr": {"type": "string", "enum": ["lang_ar", "lang_bg", "lang_ca", "lang_cs", "lang_da", "lang_de", "lang_el", "lang_en", "lang_es", "lang_et", "lang_fi", "lang_fr", "lang_hr", "lang_hu", "lang_id", "lang_is", "lang_it", "lang_iw", "lang_ja", "lang_ko", "lang_lt", "lang_lv", "lang_nl", "lang_no", "lang_pl", "lang_pt", "lang_ro", "lang_ru", "lang_sk", "lang_sl", "lang_sr", "lang_sv", "lang_tr", "lang_zh-CN", "lang_zh-TW"], "location": "query"}, "num": {"type": "integer", "default": "10", "format": "uint32", "location": "query"}, "orTerms": {"type": "string", "location": "query"}, "q": {"type": "string", "required": true, "location": "query"}, "relatedSite": {"type": "string", "location": "query"}, "rights": {"type": "string", "location": "query"}, "safe": {"type": "string", "default": "off", "enum": ["high", "medium", "off"], "location": "query"}, "searchType": {"type": "string", "enum": ["image"], "location": "query"}, "siteSearch": {"type": "string", "location": "query"}, "siteSearchFilter": {"type": "string", "enum": ["e", "i"], "location": "query"}, "sort": {"type": "string", "location": "query"}, "start": {"type": "integer", "format": "uint32", "location": "query"}}, "response": {"$ref": "Search"}}}}', true)); + + } +} + + + +class Google_Context extends Google_Model { + protected $__facetsType = 'Google_ContextFacets'; + protected $__facetsDataType = 'array'; + public $facets; + public $title; + public function setFacets(/* array(Google_ContextFacets) */ $facets) { + $this->assertIsArray($facets, 'Google_ContextFacets', __METHOD__); + $this->facets = $facets; + } + public function getFacets() { + return $this->facets; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_ContextFacets extends Google_Model { + public $anchor; + public $label; + public function setAnchor( $anchor) { + $this->anchor = $anchor; + } + public function getAnchor() { + return $this->anchor; + } + public function setLabel( $label) { + $this->label = $label; + } + public function getLabel() { + return $this->label; + } +} + +class Google_Promotion extends Google_Model { + protected $__bodyLinesType = 'Google_PromotionBodyLines'; + protected $__bodyLinesDataType = 'array'; + public $bodyLines; + public $displayLink; + public $htmlTitle; + protected $__imageType = 'Google_PromotionImage'; + protected $__imageDataType = ''; + public $image; + public $link; + public $title; + public function setBodyLines(/* array(Google_PromotionBodyLines) */ $bodyLines) { + $this->assertIsArray($bodyLines, 'Google_PromotionBodyLines', __METHOD__); + $this->bodyLines = $bodyLines; + } + public function getBodyLines() { + return $this->bodyLines; + } + public function setDisplayLink( $displayLink) { + $this->displayLink = $displayLink; + } + public function getDisplayLink() { + return $this->displayLink; + } + public function setHtmlTitle( $htmlTitle) { + $this->htmlTitle = $htmlTitle; + } + public function getHtmlTitle() { + return $this->htmlTitle; + } + public function setImage(Google_PromotionImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_PromotionBodyLines extends Google_Model { + public $htmlTitle; + public $link; + public $title; + public $url; + public function setHtmlTitle( $htmlTitle) { + $this->htmlTitle = $htmlTitle; + } + public function getHtmlTitle() { + return $this->htmlTitle; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PromotionImage extends Google_Model { + public $height; + public $source; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_Query extends Google_Model { + public $count; + public $cr; + public $cref; + public $cx; + public $dateRestrict; + public $disableCnTwTranslation; + public $exactTerms; + public $excludeTerms; + public $fileType; + public $filter; + public $gl; + public $googleHost; + public $highRange; + public $hl; + public $hq; + public $imgColorType; + public $imgDominantColor; + public $imgSize; + public $imgType; + public $inputEncoding; + public $language; + public $linkSite; + public $lowRange; + public $orTerms; + public $outputEncoding; + public $relatedSite; + public $rights; + public $safe; + public $searchTerms; + public $searchType; + public $siteSearch; + public $siteSearchFilter; + public $sort; + public $startIndex; + public $startPage; + public $title; + public $totalResults; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setCr( $cr) { + $this->cr = $cr; + } + public function getCr() { + return $this->cr; + } + public function setCref( $cref) { + $this->cref = $cref; + } + public function getCref() { + return $this->cref; + } + public function setCx( $cx) { + $this->cx = $cx; + } + public function getCx() { + return $this->cx; + } + public function setDateRestrict( $dateRestrict) { + $this->dateRestrict = $dateRestrict; + } + public function getDateRestrict() { + return $this->dateRestrict; + } + public function setDisableCnTwTranslation( $disableCnTwTranslation) { + $this->disableCnTwTranslation = $disableCnTwTranslation; + } + public function getDisableCnTwTranslation() { + return $this->disableCnTwTranslation; + } + public function setExactTerms( $exactTerms) { + $this->exactTerms = $exactTerms; + } + public function getExactTerms() { + return $this->exactTerms; + } + public function setExcludeTerms( $excludeTerms) { + $this->excludeTerms = $excludeTerms; + } + public function getExcludeTerms() { + return $this->excludeTerms; + } + public function setFileType( $fileType) { + $this->fileType = $fileType; + } + public function getFileType() { + return $this->fileType; + } + public function setFilter( $filter) { + $this->filter = $filter; + } + public function getFilter() { + return $this->filter; + } + public function setGl( $gl) { + $this->gl = $gl; + } + public function getGl() { + return $this->gl; + } + public function setGoogleHost( $googleHost) { + $this->googleHost = $googleHost; + } + public function getGoogleHost() { + return $this->googleHost; + } + public function setHighRange( $highRange) { + $this->highRange = $highRange; + } + public function getHighRange() { + return $this->highRange; + } + public function setHl( $hl) { + $this->hl = $hl; + } + public function getHl() { + return $this->hl; + } + public function setHq( $hq) { + $this->hq = $hq; + } + public function getHq() { + return $this->hq; + } + public function setImgColorType( $imgColorType) { + $this->imgColorType = $imgColorType; + } + public function getImgColorType() { + return $this->imgColorType; + } + public function setImgDominantColor( $imgDominantColor) { + $this->imgDominantColor = $imgDominantColor; + } + public function getImgDominantColor() { + return $this->imgDominantColor; + } + public function setImgSize( $imgSize) { + $this->imgSize = $imgSize; + } + public function getImgSize() { + return $this->imgSize; + } + public function setImgType( $imgType) { + $this->imgType = $imgType; + } + public function getImgType() { + return $this->imgType; + } + public function setInputEncoding( $inputEncoding) { + $this->inputEncoding = $inputEncoding; + } + public function getInputEncoding() { + return $this->inputEncoding; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setLinkSite( $linkSite) { + $this->linkSite = $linkSite; + } + public function getLinkSite() { + return $this->linkSite; + } + public function setLowRange( $lowRange) { + $this->lowRange = $lowRange; + } + public function getLowRange() { + return $this->lowRange; + } + public function setOrTerms( $orTerms) { + $this->orTerms = $orTerms; + } + public function getOrTerms() { + return $this->orTerms; + } + public function setOutputEncoding( $outputEncoding) { + $this->outputEncoding = $outputEncoding; + } + public function getOutputEncoding() { + return $this->outputEncoding; + } + public function setRelatedSite( $relatedSite) { + $this->relatedSite = $relatedSite; + } + public function getRelatedSite() { + return $this->relatedSite; + } + public function setRights( $rights) { + $this->rights = $rights; + } + public function getRights() { + return $this->rights; + } + public function setSafe( $safe) { + $this->safe = $safe; + } + public function getSafe() { + return $this->safe; + } + public function setSearchTerms( $searchTerms) { + $this->searchTerms = $searchTerms; + } + public function getSearchTerms() { + return $this->searchTerms; + } + public function setSearchType( $searchType) { + $this->searchType = $searchType; + } + public function getSearchType() { + return $this->searchType; + } + public function setSiteSearch( $siteSearch) { + $this->siteSearch = $siteSearch; + } + public function getSiteSearch() { + return $this->siteSearch; + } + public function setSiteSearchFilter( $siteSearchFilter) { + $this->siteSearchFilter = $siteSearchFilter; + } + public function getSiteSearchFilter() { + return $this->siteSearchFilter; + } + public function setSort( $sort) { + $this->sort = $sort; + } + public function getSort() { + return $this->sort; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setStartPage( $startPage) { + $this->startPage = $startPage; + } + public function getStartPage() { + return $this->startPage; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } +} + +class Google_Result extends Google_Model { + public $cacheId; + public $displayLink; + public $fileFormat; + public $formattedUrl; + public $htmlFormattedUrl; + public $htmlSnippet; + public $htmlTitle; + protected $__imageType = 'Google_ResultImage'; + protected $__imageDataType = ''; + public $image; + public $kind; + protected $__labelsType = 'Google_ResultLabels'; + protected $__labelsDataType = 'array'; + public $labels; + public $link; + public $mime; + public $pagemap; + public $snippet; + public $title; + public function setCacheId( $cacheId) { + $this->cacheId = $cacheId; + } + public function getCacheId() { + return $this->cacheId; + } + public function setDisplayLink( $displayLink) { + $this->displayLink = $displayLink; + } + public function getDisplayLink() { + return $this->displayLink; + } + public function setFileFormat( $fileFormat) { + $this->fileFormat = $fileFormat; + } + public function getFileFormat() { + return $this->fileFormat; + } + public function setFormattedUrl( $formattedUrl) { + $this->formattedUrl = $formattedUrl; + } + public function getFormattedUrl() { + return $this->formattedUrl; + } + public function setHtmlFormattedUrl( $htmlFormattedUrl) { + $this->htmlFormattedUrl = $htmlFormattedUrl; + } + public function getHtmlFormattedUrl() { + return $this->htmlFormattedUrl; + } + public function setHtmlSnippet( $htmlSnippet) { + $this->htmlSnippet = $htmlSnippet; + } + public function getHtmlSnippet() { + return $this->htmlSnippet; + } + public function setHtmlTitle( $htmlTitle) { + $this->htmlTitle = $htmlTitle; + } + public function getHtmlTitle() { + return $this->htmlTitle; + } + public function setImage(Google_ResultImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLabels(/* array(Google_ResultLabels) */ $labels) { + $this->assertIsArray($labels, 'Google_ResultLabels', __METHOD__); + $this->labels = $labels; + } + public function getLabels() { + return $this->labels; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setMime( $mime) { + $this->mime = $mime; + } + public function getMime() { + return $this->mime; + } + public function setPagemap( $pagemap) { + $this->pagemap = $pagemap; + } + public function getPagemap() { + return $this->pagemap; + } + public function setSnippet( $snippet) { + $this->snippet = $snippet; + } + public function getSnippet() { + return $this->snippet; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_ResultImage extends Google_Model { + public $byteSize; + public $contextLink; + public $height; + public $thumbnailHeight; + public $thumbnailLink; + public $thumbnailWidth; + public $width; + public function setByteSize( $byteSize) { + $this->byteSize = $byteSize; + } + public function getByteSize() { + return $this->byteSize; + } + public function setContextLink( $contextLink) { + $this->contextLink = $contextLink; + } + public function getContextLink() { + return $this->contextLink; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setThumbnailHeight( $thumbnailHeight) { + $this->thumbnailHeight = $thumbnailHeight; + } + public function getThumbnailHeight() { + return $this->thumbnailHeight; + } + public function setThumbnailLink( $thumbnailLink) { + $this->thumbnailLink = $thumbnailLink; + } + public function getThumbnailLink() { + return $this->thumbnailLink; + } + public function setThumbnailWidth( $thumbnailWidth) { + $this->thumbnailWidth = $thumbnailWidth; + } + public function getThumbnailWidth() { + return $this->thumbnailWidth; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ResultLabels extends Google_Model { + public $displayName; + public $name; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_Search extends Google_Model { + protected $__contextType = 'Google_Context'; + protected $__contextDataType = ''; + public $context; + protected $__itemsType = 'Google_Result'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + protected $__promotionsType = 'Google_Promotion'; + protected $__promotionsDataType = 'array'; + public $promotions; + protected $__queriesType = 'Google_Query'; + protected $__queriesDataType = 'map'; + public $queries; + protected $__searchInformationType = 'Google_SearchSearchInformation'; + protected $__searchInformationDataType = ''; + public $searchInformation; + protected $__spellingType = 'Google_SearchSpelling'; + protected $__spellingDataType = ''; + public $spelling; + protected $__urlType = 'Google_SearchUrl'; + protected $__urlDataType = ''; + public $url; + public function setContext(Google_Context $context) { + $this->context = $context; + } + public function getContext() { + return $this->context; + } + public function setItems(/* array(Google_Result) */ $items) { + $this->assertIsArray($items, 'Google_Result', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPromotions(/* array(Google_Promotion) */ $promotions) { + $this->assertIsArray($promotions, 'Google_Promotion', __METHOD__); + $this->promotions = $promotions; + } + public function getPromotions() { + return $this->promotions; + } + public function setQueries(Google_Query $queries) { + $this->queries = $queries; + } + public function getQueries() { + return $this->queries; + } + public function setSearchInformation(Google_SearchSearchInformation $searchInformation) { + $this->searchInformation = $searchInformation; + } + public function getSearchInformation() { + return $this->searchInformation; + } + public function setSpelling(Google_SearchSpelling $spelling) { + $this->spelling = $spelling; + } + public function getSpelling() { + return $this->spelling; + } + public function setUrl(Google_SearchUrl $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_SearchSearchInformation extends Google_Model { + public $formattedSearchTime; + public $formattedTotalResults; + public $searchTime; + public $totalResults; + public function setFormattedSearchTime( $formattedSearchTime) { + $this->formattedSearchTime = $formattedSearchTime; + } + public function getFormattedSearchTime() { + return $this->formattedSearchTime; + } + public function setFormattedTotalResults( $formattedTotalResults) { + $this->formattedTotalResults = $formattedTotalResults; + } + public function getFormattedTotalResults() { + return $this->formattedTotalResults; + } + public function setSearchTime( $searchTime) { + $this->searchTime = $searchTime; + } + public function getSearchTime() { + return $this->searchTime; + } + public function setTotalResults( $totalResults) { + $this->totalResults = $totalResults; + } + public function getTotalResults() { + return $this->totalResults; + } +} + +class Google_SearchSpelling extends Google_Model { + public $correctedQuery; + public $htmlCorrectedQuery; + public function setCorrectedQuery( $correctedQuery) { + $this->correctedQuery = $correctedQuery; + } + public function getCorrectedQuery() { + return $this->correctedQuery; + } + public function setHtmlCorrectedQuery( $htmlCorrectedQuery) { + $this->htmlCorrectedQuery = $htmlCorrectedQuery; + } + public function getHtmlCorrectedQuery() { + return $this->htmlCorrectedQuery; + } +} + +class Google_SearchUrl extends Google_Model { + public $template; + public $type; + public function setTemplate( $template) { + $this->template = $template; + } + public function getTemplate() { + return $this->template; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DatastoreService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DatastoreService.php new file mode 100644 index 0000000..9146961 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DatastoreService.php @@ -0,0 +1,998 @@ + + * $datastoreService = new Google_DatastoreService(...); + * $datasets = $datastoreService->datasets; + * + */ + class Google_DatasetsServiceResource extends Google_ServiceResource { + + /** + * Allocate IDs for incomplete keys (useful for referencing an entity before it is inserted). + * (datasets.allocateIds) + * + * @param string $datasetId Identifies the dataset. + * @param Google_AllocateIdsRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_AllocateIdsResponse + */ + public function allocateIds($datasetId, Google_AllocateIdsRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('allocateIds', array($params)); + if ($this->useObjects()) { + return new Google_AllocateIdsResponse($data); + } else { + return $data; + } + } + /** + * Begin a new transaction. (datasets.beginTransaction) + * + * @param string $datasetId Identifies the dataset. + * @param Google_BeginTransactionRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_BeginTransactionResponse + */ + public function beginTransaction($datasetId, Google_BeginTransactionRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('beginTransaction', array($params)); + if ($this->useObjects()) { + return new Google_BeginTransactionResponse($data); + } else { + return $data; + } + } + /** + * Create, delete or modify some entities outside a transaction. (datasets.blindWrite) + * + * @param string $datasetId Identifies the dataset. + * @param Google_BlindWriteRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_BlindWriteResponse + */ + public function blindWrite($datasetId, Google_BlindWriteRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('blindWrite', array($params)); + if ($this->useObjects()) { + return new Google_BlindWriteResponse($data); + } else { + return $data; + } + } + /** + * Commit a transaction, optionally creating, deleting or modifying some entities. (datasets.commit) + * + * @param string $datasetId Identifies the dataset. + * @param Google_CommitRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_CommitResponse + */ + public function commit($datasetId, Google_CommitRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('commit', array($params)); + if ($this->useObjects()) { + return new Google_CommitResponse($data); + } else { + return $data; + } + } + /** + * Look up some entities by key. (datasets.lookup) + * + * @param string $datasetId Identifies the dataset. + * @param Google_LookupRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_LookupResponse + */ + public function lookup($datasetId, Google_LookupRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('lookup', array($params)); + if ($this->useObjects()) { + return new Google_LookupResponse($data); + } else { + return $data; + } + } + /** + * Roll back a transaction. (datasets.rollback) + * + * @param string $datasetId Identifies the dataset. + * @param Google_RollbackRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_RollbackResponse + */ + public function rollback($datasetId, Google_RollbackRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('rollback', array($params)); + if ($this->useObjects()) { + return new Google_RollbackResponse($data); + } else { + return $data; + } + } + /** + * Query for entities. (datasets.runQuery) + * + * @param string $datasetId Identifies the dataset. + * @param Google_RunQueryRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_RunQueryResponse + */ + public function runQuery($datasetId, Google_RunQueryRequest $postBody, $optParams = array()) { + $params = array('datasetId' => $datasetId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('runQuery', array($params)); + if ($this->useObjects()) { + return new Google_RunQueryResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Datastore (v1beta1). + * + *

    + * API for accessing Google Cloud Datastore. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_DatastoreService extends Google_Service { + public $datasets; + /** + * Constructs the internal representation of the Datastore service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'datastore/v1beta1/datasets/'; + $this->version = 'v1beta1'; + $this->serviceName = 'datastore'; + + $client->addService($this->serviceName, $this->version); + $this->datasets = new Google_DatasetsServiceResource($this, $this->serviceName, 'datasets', json_decode('{"methods": {"allocateIds": {"id": "datastore.datasets.allocateIds", "path": "{datasetId}/allocateIds", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "AllocateIdsRequest"}, "response": {"$ref": "AllocateIdsResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}, "beginTransaction": {"id": "datastore.datasets.beginTransaction", "path": "{datasetId}/beginTransaction", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "BeginTransactionRequest"}, "response": {"$ref": "BeginTransactionResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}, "blindWrite": {"id": "datastore.datasets.blindWrite", "path": "{datasetId}/blindWrite", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "BlindWriteRequest"}, "response": {"$ref": "BlindWriteResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}, "commit": {"id": "datastore.datasets.commit", "path": "{datasetId}/commit", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommitRequest"}, "response": {"$ref": "CommitResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}, "lookup": {"id": "datastore.datasets.lookup", "path": "{datasetId}/lookup", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "LookupRequest"}, "response": {"$ref": "LookupResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}, "rollback": {"id": "datastore.datasets.rollback", "path": "{datasetId}/rollback", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "RollbackRequest"}, "response": {"$ref": "RollbackResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}, "runQuery": {"id": "datastore.datasets.runQuery", "path": "{datasetId}/runQuery", "httpMethod": "POST", "parameters": {"datasetId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "RunQueryRequest"}, "response": {"$ref": "RunQueryResponse"}, "scopes": ["https://www.googleapis.com/auth/userinfo.email"]}}}', true)); + + } +} + + + +class Google_AllocateIdsRequest extends Google_Model { + protected $__keysType = 'Google_Key'; + protected $__keysDataType = 'array'; + public $keys; + public function setKeys(/* array(Google_Key) */ $keys) { + $this->assertIsArray($keys, 'Google_Key', __METHOD__); + $this->keys = $keys; + } + public function getKeys() { + return $this->keys; + } +} + +class Google_AllocateIdsResponse extends Google_Model { + protected $__keysType = 'Google_Key'; + protected $__keysDataType = 'array'; + public $keys; + public $kind; + public function setKeys(/* array(Google_Key) */ $keys) { + $this->assertIsArray($keys, 'Google_Key', __METHOD__); + $this->keys = $keys; + } + public function getKeys() { + return $this->keys; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_BeginTransactionRequest extends Google_Model { + public $isolationLevel; + public function setIsolationLevel( $isolationLevel) { + $this->isolationLevel = $isolationLevel; + } + public function getIsolationLevel() { + return $this->isolationLevel; + } +} + +class Google_BeginTransactionResponse extends Google_Model { + public $kind; + public $transaction; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTransaction( $transaction) { + $this->transaction = $transaction; + } + public function getTransaction() { + return $this->transaction; + } +} + +class Google_BlindWriteRequest extends Google_Model { + protected $__mutationType = 'Google_Mutation'; + protected $__mutationDataType = ''; + public $mutation; + public function setMutation(Google_Mutation $mutation) { + $this->mutation = $mutation; + } + public function getMutation() { + return $this->mutation; + } +} + +class Google_BlindWriteResponse extends Google_Model { + public $kind; + protected $__mutationResultType = 'Google_MutationResult'; + protected $__mutationResultDataType = ''; + public $mutationResult; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMutationResult(Google_MutationResult $mutationResult) { + $this->mutationResult = $mutationResult; + } + public function getMutationResult() { + return $this->mutationResult; + } +} + +class Google_CommitRequest extends Google_Model { + protected $__mutationType = 'Google_Mutation'; + protected $__mutationDataType = ''; + public $mutation; + public $transaction; + public function setMutation(Google_Mutation $mutation) { + $this->mutation = $mutation; + } + public function getMutation() { + return $this->mutation; + } + public function setTransaction( $transaction) { + $this->transaction = $transaction; + } + public function getTransaction() { + return $this->transaction; + } +} + +class Google_CommitResponse extends Google_Model { + public $kind; + protected $__mutationResultType = 'Google_MutationResult'; + protected $__mutationResultDataType = ''; + public $mutationResult; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMutationResult(Google_MutationResult $mutationResult) { + $this->mutationResult = $mutationResult; + } + public function getMutationResult() { + return $this->mutationResult; + } +} + +class Google_CompositeFilter extends Google_Model { + protected $__filtersType = 'Google_Filter'; + protected $__filtersDataType = 'array'; + public $filters; + public $operator; + public function setFilters(/* array(Google_Filter) */ $filters) { + $this->assertIsArray($filters, 'Google_Filter', __METHOD__); + $this->filters = $filters; + } + public function getFilters() { + return $this->filters; + } + public function setOperator( $operator) { + $this->operator = $operator; + } + public function getOperator() { + return $this->operator; + } +} + +class Google_Entity extends Google_Model { + protected $__keyType = 'Google_Key'; + protected $__keyDataType = ''; + public $key; + protected $__propertiesType = 'Google_Property'; + protected $__propertiesDataType = 'map'; + public $properties; + public function setKey(Google_Key $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + /* lynchb@ Made a modification here to remove the typing + * allow for an array of properties to be set + * on an entity. Otherwise the file is unchanged + * from the generator. + */ + public function setProperties($properties) { + $this->properties = $properties; + } + public function getProperties() { + return $this->properties; + } +} + +class Google_EntityResult extends Google_Model { + protected $__entityType = 'Google_Entity'; + protected $__entityDataType = ''; + public $entity; + public function setEntity(Google_Entity $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } +} + +class Google_Filter extends Google_Model { + protected $__compositeFilterType = 'Google_CompositeFilter'; + protected $__compositeFilterDataType = ''; + public $compositeFilter; + protected $__propertyFilterType = 'Google_PropertyFilter'; + protected $__propertyFilterDataType = ''; + public $propertyFilter; + public function setCompositeFilter(Google_CompositeFilter $compositeFilter) { + $this->compositeFilter = $compositeFilter; + } + public function getCompositeFilter() { + return $this->compositeFilter; + } + public function setPropertyFilter(Google_PropertyFilter $propertyFilter) { + $this->propertyFilter = $propertyFilter; + } + public function getPropertyFilter() { + return $this->propertyFilter; + } +} + +class Google_Key extends Google_Model { + protected $__partitionIdType = 'Google_PartitionId'; + protected $__partitionIdDataType = ''; + public $partitionId; + protected $__pathType = 'Google_KeyPathElement'; + protected $__pathDataType = 'array'; + public $path; + public function setPartitionId(Google_PartitionId $partitionId) { + $this->partitionId = $partitionId; + } + public function getPartitionId() { + return $this->partitionId; + } + public function setPath(/* array(Google_KeyPathElement) */ $path) { + $this->assertIsArray($path, 'Google_KeyPathElement', __METHOD__); + $this->path = $path; + } + public function getPath() { + return $this->path; + } +} + +class Google_KeyPathElement extends Google_Model { + public $id; + public $kind; + public $name; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_KindExpression extends Google_Model { + public $name; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_LookupRequest extends Google_Model { + protected $__keysType = 'Google_Key'; + protected $__keysDataType = 'array'; + public $keys; + protected $__readOptionsType = 'Google_ReadOptions'; + protected $__readOptionsDataType = ''; + public $readOptions; + public function setKeys(/* array(Google_Key) */ $keys) { + $this->assertIsArray($keys, 'Google_Key', __METHOD__); + $this->keys = $keys; + } + public function getKeys() { + return $this->keys; + } + public function setReadOptions(Google_ReadOptions $readOptions) { + $this->readOptions = $readOptions; + } + public function getReadOptions() { + return $this->readOptions; + } +} + +class Google_LookupResponse extends Google_Model { + protected $__deferredType = 'Google_Key'; + protected $__deferredDataType = 'array'; + public $deferred; + protected $__foundType = 'Google_EntityResult'; + protected $__foundDataType = 'array'; + public $found; + public $kind; + protected $__missingType = 'Google_EntityResult'; + protected $__missingDataType = 'array'; + public $missing; + public function setDeferred(/* array(Google_Key) */ $deferred) { + $this->assertIsArray($deferred, 'Google_Key', __METHOD__); + $this->deferred = $deferred; + } + public function getDeferred() { + return $this->deferred; + } + public function setFound(/* array(Google_EntityResult) */ $found) { + $this->assertIsArray($found, 'Google_EntityResult', __METHOD__); + $this->found = $found; + } + public function getFound() { + return $this->found; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMissing(/* array(Google_EntityResult) */ $missing) { + $this->assertIsArray($missing, 'Google_EntityResult', __METHOD__); + $this->missing = $missing; + } + public function getMissing() { + return $this->missing; + } +} + +class Google_Mutation extends Google_Model { + protected $__deleteType = 'Google_Key'; + protected $__deleteDataType = 'array'; + public $delete; + public $force; + protected $__insertType = 'Google_Entity'; + protected $__insertDataType = 'array'; + public $insert; + protected $__insertAutoIdType = 'Google_Entity'; + protected $__insertAutoIdDataType = 'array'; + public $insertAutoId; + protected $__updateType = 'Google_Entity'; + protected $__updateDataType = 'array'; + public $update; + protected $__upsertType = 'Google_Entity'; + protected $__upsertDataType = 'array'; + public $upsert; + public function setDelete(/* array(Google_Key) */ $delete) { + $this->assertIsArray($delete, 'Google_Key', __METHOD__); + $this->delete = $delete; + } + public function getDelete() { + return $this->delete; + } + public function setForce( $force) { + $this->force = $force; + } + public function getForce() { + return $this->force; + } + public function setInsert(/* array(Google_Entity) */ $insert) { + $this->assertIsArray($insert, 'Google_Entity', __METHOD__); + $this->insert = $insert; + } + public function getInsert() { + return $this->insert; + } + public function setInsertAutoId(/* array(Google_Entity) */ $insertAutoId) { + $this->assertIsArray($insertAutoId, 'Google_Entity', __METHOD__); + $this->insertAutoId = $insertAutoId; + } + public function getInsertAutoId() { + return $this->insertAutoId; + } + public function setUpdate(/* array(Google_Entity) */ $update) { + $this->assertIsArray($update, 'Google_Entity', __METHOD__); + $this->update = $update; + } + public function getUpdate() { + return $this->update; + } + public function setUpsert(/* array(Google_Entity) */ $upsert) { + $this->assertIsArray($upsert, 'Google_Entity', __METHOD__); + $this->upsert = $upsert; + } + public function getUpsert() { + return $this->upsert; + } +} + +class Google_MutationResult extends Google_Model { + public $indexUpdates; + protected $__insertAutoIdKeysType = 'Google_Key'; + protected $__insertAutoIdKeysDataType = 'array'; + public $insertAutoIdKeys; + public function setIndexUpdates( $indexUpdates) { + $this->indexUpdates = $indexUpdates; + } + public function getIndexUpdates() { + return $this->indexUpdates; + } + public function setInsertAutoIdKeys(/* array(Google_Key) */ $insertAutoIdKeys) { + $this->assertIsArray($insertAutoIdKeys, 'Google_Key', __METHOD__); + $this->insertAutoIdKeys = $insertAutoIdKeys; + } + public function getInsertAutoIdKeys() { + return $this->insertAutoIdKeys; + } +} + +class Google_PartitionId extends Google_Model { + public $datasetId; + public $namespace; + public function setDatasetId( $datasetId) { + $this->datasetId = $datasetId; + } + public function getDatasetId() { + return $this->datasetId; + } + public function setNamespace( $namespace) { + $this->namespace = $namespace; + } + public function getNamespace() { + return $this->namespace; + } +} + +class Google_Property extends Google_Model { + public $multi; + protected $__valuesType = 'Google_Value'; + protected $__valuesDataType = 'array'; + public $values; + public function setMulti( $multi) { + $this->multi = $multi; + } + public function getMulti() { + return $this->multi; + } + public function setValues(/* array(Google_Value) */ $values) { + $this->assertIsArray($values, 'Google_Value', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } +} + +class Google_PropertyExpression extends Google_Model { + public $aggregationFunction; + protected $__propertyType = 'Google_PropertyReference'; + protected $__propertyDataType = ''; + public $property; + public function setAggregationFunction( $aggregationFunction) { + $this->aggregationFunction = $aggregationFunction; + } + public function getAggregationFunction() { + return $this->aggregationFunction; + } + public function setProperty(Google_PropertyReference $property) { + $this->property = $property; + } + public function getProperty() { + return $this->property; + } +} + +class Google_PropertyFilter extends Google_Model { + public $operator; + protected $__propertyType = 'Google_PropertyReference'; + protected $__propertyDataType = ''; + public $property; + protected $__valueType = 'Google_Value'; + protected $__valueDataType = ''; + public $value; + public function setOperator( $operator) { + $this->operator = $operator; + } + public function getOperator() { + return $this->operator; + } + public function setProperty(Google_PropertyReference $property) { + $this->property = $property; + } + public function getProperty() { + return $this->property; + } + public function setValue(Google_Value $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_PropertyOrder extends Google_Model { + public $direction; + protected $__propertyType = 'Google_PropertyReference'; + protected $__propertyDataType = ''; + public $property; + public function setDirection( $direction) { + $this->direction = $direction; + } + public function getDirection() { + return $this->direction; + } + public function setProperty(Google_PropertyReference $property) { + $this->property = $property; + } + public function getProperty() { + return $this->property; + } +} + +class Google_PropertyReference extends Google_Model { + public $name; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_Query extends Google_Model { + public $endCursor; + protected $__filterType = 'Google_Filter'; + protected $__filterDataType = ''; + public $filter; + protected $__groupByType = 'Google_PropertyReference'; + protected $__groupByDataType = 'array'; + public $groupBy; + protected $__kindsType = 'Google_KindExpression'; + protected $__kindsDataType = 'array'; + public $kinds; + public $limit; + public $offset; + protected $__orderType = 'Google_PropertyOrder'; + protected $__orderDataType = 'array'; + public $order; + protected $__projectionType = 'Google_PropertyExpression'; + protected $__projectionDataType = 'array'; + public $projection; + public $startCursor; + public function setEndCursor( $endCursor) { + $this->endCursor = $endCursor; + } + public function getEndCursor() { + return $this->endCursor; + } + public function setFilter(Google_Filter $filter) { + $this->filter = $filter; + } + public function getFilter() { + return $this->filter; + } + public function setGroupBy(/* array(Google_PropertyReference) */ $groupBy) { + $this->assertIsArray($groupBy, 'Google_PropertyReference', __METHOD__); + $this->groupBy = $groupBy; + } + public function getGroupBy() { + return $this->groupBy; + } + public function setKinds(/* array(Google_KindExpression) */ $kinds) { + $this->assertIsArray($kinds, 'Google_KindExpression', __METHOD__); + $this->kinds = $kinds; + } + public function getKinds() { + return $this->kinds; + } + public function setLimit( $limit) { + $this->limit = $limit; + } + public function getLimit() { + return $this->limit; + } + public function setOffset( $offset) { + $this->offset = $offset; + } + public function getOffset() { + return $this->offset; + } + public function setOrder(/* array(Google_PropertyOrder) */ $order) { + $this->assertIsArray($order, 'Google_PropertyOrder', __METHOD__); + $this->order = $order; + } + public function getOrder() { + return $this->order; + } + public function setProjection(/* array(Google_PropertyExpression) */ $projection) { + $this->assertIsArray($projection, 'Google_PropertyExpression', __METHOD__); + $this->projection = $projection; + } + public function getProjection() { + return $this->projection; + } + public function setStartCursor( $startCursor) { + $this->startCursor = $startCursor; + } + public function getStartCursor() { + return $this->startCursor; + } +} + +class Google_QueryResultBatch extends Google_Model { + public $endCursor; + public $entityResultType; + protected $__entityResultsType = 'Google_EntityResult'; + protected $__entityResultsDataType = 'array'; + public $entityResults; + public $moreResults; + public $skippedResults; + public function setEndCursor( $endCursor) { + $this->endCursor = $endCursor; + } + public function getEndCursor() { + return $this->endCursor; + } + public function setEntityResultType( $entityResultType) { + $this->entityResultType = $entityResultType; + } + public function getEntityResultType() { + return $this->entityResultType; + } + public function setEntityResults(/* array(Google_EntityResult) */ $entityResults) { + $this->assertIsArray($entityResults, 'Google_EntityResult', __METHOD__); + $this->entityResults = $entityResults; + } + public function getEntityResults() { + return $this->entityResults; + } + public function setMoreResults( $moreResults) { + $this->moreResults = $moreResults; + } + public function getMoreResults() { + return $this->moreResults; + } + public function setSkippedResults( $skippedResults) { + $this->skippedResults = $skippedResults; + } + public function getSkippedResults() { + return $this->skippedResults; + } +} + +class Google_ReadOptions extends Google_Model { + public $readConsistency; + public $transaction; + public function setReadConsistency( $readConsistency) { + $this->readConsistency = $readConsistency; + } + public function getReadConsistency() { + return $this->readConsistency; + } + public function setTransaction( $transaction) { + $this->transaction = $transaction; + } + public function getTransaction() { + return $this->transaction; + } +} + +class Google_RollbackRequest extends Google_Model { + public $transaction; + public function setTransaction( $transaction) { + $this->transaction = $transaction; + } + public function getTransaction() { + return $this->transaction; + } +} + +class Google_RollbackResponse extends Google_Model { + public $kind; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_RunQueryRequest extends Google_Model { + protected $__partitionIdType = 'Google_PartitionId'; + protected $__partitionIdDataType = ''; + public $partitionId; + protected $__queryType = 'Google_Query'; + protected $__queryDataType = ''; + public $query; + protected $__readOptionsType = 'Google_ReadOptions'; + protected $__readOptionsDataType = ''; + public $readOptions; + public function setPartitionId(Google_PartitionId $partitionId) { + $this->partitionId = $partitionId; + } + public function getPartitionId() { + return $this->partitionId; + } + public function setQuery(Google_Query $query) { + $this->query = $query; + } + public function getQuery() { + return $this->query; + } + public function setReadOptions(Google_ReadOptions $readOptions) { + $this->readOptions = $readOptions; + } + public function getReadOptions() { + return $this->readOptions; + } +} + +class Google_RunQueryResponse extends Google_Model { + protected $__batchType = 'Google_QueryResultBatch'; + protected $__batchDataType = ''; + public $batch; + public $kind; + public function setBatch(Google_QueryResultBatch $batch) { + $this->batch = $batch; + } + public function getBatch() { + return $this->batch; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Value extends Google_Model { + public $blobKeyValue; + public $blobValue; + public $booleanValue; + public $dateTimeValue; + public $doubleValue; + protected $__entityValueType = 'Google_Entity'; + protected $__entityValueDataType = ''; + public $entityValue; + public $indexed; + public $integerValue; + protected $__keyValueType = 'Google_Key'; + protected $__keyValueDataType = ''; + public $keyValue; + public $meaning; + public $stringValue; + public function setBlobKeyValue( $blobKeyValue) { + $this->blobKeyValue = $blobKeyValue; + } + public function getBlobKeyValue() { + return $this->blobKeyValue; + } + public function setBlobValue( $blobValue) { + $this->blobValue = $blobValue; + } + public function getBlobValue() { + return $this->blobValue; + } + public function setBooleanValue( $booleanValue) { + $this->booleanValue = $booleanValue; + } + public function getBooleanValue() { + return $this->booleanValue; + } + public function setDateTimeValue( $dateTimeValue) { + $this->dateTimeValue = $dateTimeValue; + } + public function getDateTimeValue() { + return $this->dateTimeValue; + } + public function setDoubleValue( $doubleValue) { + $this->doubleValue = $doubleValue; + } + public function getDoubleValue() { + return $this->doubleValue; + } + public function setEntityValue(Google_Entity $entityValue) { + $this->entityValue = $entityValue; + } + public function getEntityValue() { + return $this->entityValue; + } + public function setIndexed( $indexed) { + $this->indexed = $indexed; + } + public function getIndexed() { + return $this->indexed; + } + public function setIntegerValue( $integerValue) { + $this->integerValue = $integerValue; + } + public function getIntegerValue() { + return $this->integerValue; + } + public function setKeyValue(Google_Key $keyValue) { + $this->keyValue = $keyValue; + } + public function getKeyValue() { + return $this->keyValue; + } + public function setMeaning( $meaning) { + $this->meaning = $meaning; + } + public function getMeaning() { + return $this->meaning; + } + public function setStringValue( $stringValue) { + $this->stringValue = $stringValue; + } + public function getStringValue() { + return $this->stringValue; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DfareportingService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DfareportingService.php new file mode 100644 index 0000000..685358f --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DfareportingService.php @@ -0,0 +1,1986 @@ + + * $dfareportingService = new Google_DfareportingService(...); + * $dimensionValues = $dfareportingService->dimensionValues; + * + */ + class Google_DimensionValuesServiceResource extends Google_ServiceResource { + + /** + * Retrieves list of report dimension values for a list of filters. (dimensionValues.query) + * + * @param string $profileId The DFA user profile ID. + * @param Google_DimensionValueRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous result page. + * @return Google_DimensionValueList + */ + public function query($profileId, Google_DimensionValueRequest $postBody, $optParams = array()) { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('query', array($params)); + if ($this->useObjects()) { + return new Google_DimensionValueList($data); + } else { + return $data; + } + } + } + + /** + * The "files" collection of methods. + * Typical usage is: + * + * $dfareportingService = new Google_DfareportingService(...); + * $files = $dfareportingService->files; + * + */ + class Google_FilesServiceResource extends Google_ServiceResource { + + /** + * Retrieves a report file by its report ID and file ID. (files.get) + * + * @param string $reportId The ID of the report. + * @param string $fileId The ID of the report file. + * @param array $optParams Optional parameters. + * @return Google_DfareportingFile + */ + public function get($reportId, $fileId, $optParams = array()) { + $params = array('reportId' => $reportId, 'fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_DfareportingFile($data); + } else { + return $data; + } + } + /** + * Lists files for a user profile. (files.list) + * + * @param string $profileId The DFA profile ID. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous result page. + * @opt_param string scope The scope that defines which results are returned, default is 'MINE'. + * @opt_param string sortField The field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is 'DESCENDING'. + * @return Google_FileList + */ + public function listFiles($profileId, $optParams = array()) { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_FileList($data); + } else { + return $data; + } + } + } + + /** + * The "reports" collection of methods. + * Typical usage is: + * + * $dfareportingService = new Google_DfareportingService(...); + * $reports = $dfareportingService->reports; + * + */ + class Google_ReportsServiceResource extends Google_ServiceResource { + + /** + * Deletes a report by its ID. (reports.delete) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param array $optParams Optional parameters. + */ + public function delete($profileId, $reportId, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves a report by its ID. (reports.get) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param array $optParams Optional parameters. + * @return Google_Report + */ + public function get($profileId, $reportId, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + /** + * Creates a report. (reports.insert) + * + * @param string $profileId The DFA user profile ID. + * @param Google_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Report + */ + public function insert($profileId, Google_Report $postBody, $optParams = array()) { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + /** + * Retrieves list of reports. (reports.list) + * + * @param string $profileId The DFA user profile ID. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous result page. + * @opt_param string scope The scope that defines which results are returned, default is 'MINE'. + * @opt_param string sortField The field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is 'DESCENDING'. + * @return Google_ReportList + */ + public function listReports($profileId, $optParams = array()) { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ReportList($data); + } else { + return $data; + } + } + /** + * Updates a report. This method supports patch semantics. (reports.patch) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param Google_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Report + */ + public function patch($profileId, $reportId, Google_Report $postBody, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + /** + * Runs a report. (reports.run) + * + * @param string $profileId The DFA profile ID. + * @param string $reportId The ID of the report. + * @param array $optParams Optional parameters. + * + * @opt_param bool synchronous If set and true, tries to run the report synchronously. + * @return Google_DfareportingFile + */ + public function run($profileId, $reportId, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + $data = $this->__call('run', array($params)); + if ($this->useObjects()) { + return new Google_DfareportingFile($data); + } else { + return $data; + } + } + /** + * Updates a report. (reports.update) + * + * @param string $profileId The DFA user profile ID. + * @param string $reportId The ID of the report. + * @param Google_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_Report + */ + public function update($profileId, $reportId, Google_Report $postBody, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + } + + /** + * The "compatibleFields" collection of methods. + * Typical usage is: + * + * $dfareportingService = new Google_DfareportingService(...); + * $compatibleFields = $dfareportingService->compatibleFields; + * + */ + class Google_ReportsCompatibleFieldsServiceResource extends Google_ServiceResource { + + /** + * Returns the fields that are compatible to be selected in the respective sections of a report + * criteria, given the fields already selected in the input report and user permissions. + * (compatibleFields.query) + * + * @param string $profileId The DFA user profile ID. + * @param Google_Report $postBody + * @param array $optParams Optional parameters. + * @return Google_CompatibleFields + */ + public function query($profileId, Google_Report $postBody, $optParams = array()) { + $params = array('profileId' => $profileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('query', array($params)); + if ($this->useObjects()) { + return new Google_CompatibleFields($data); + } else { + return $data; + } + } + } + /** + * The "files" collection of methods. + * Typical usage is: + * + * $dfareportingService = new Google_DfareportingService(...); + * $files = $dfareportingService->files; + * + */ + class Google_ReportsFilesServiceResource extends Google_ServiceResource { + + /** + * Retrieves a report file. (files.get) + * + * @param string $profileId The DFA profile ID. + * @param string $reportId The ID of the report. + * @param string $fileId The ID of the report file. + * @param array $optParams Optional parameters. + * @return Google_DfareportingFile + */ + public function get($profileId, $reportId, $fileId, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId, 'fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_DfareportingFile($data); + } else { + return $data; + } + } + /** + * Lists files for a report. (files.list) + * + * @param string $profileId The DFA profile ID. + * @param string $reportId The ID of the parent report. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. + * @opt_param string pageToken The value of the nextToken from the previous result page. + * @opt_param string sortField The field by which to sort the list. + * @opt_param string sortOrder Order of sorted results, default is 'DESCENDING'. + * @return Google_FileList + */ + public function listReportsFiles($profileId, $reportId, $optParams = array()) { + $params = array('profileId' => $profileId, 'reportId' => $reportId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_FileList($data); + } else { + return $data; + } + } + } + + /** + * The "userProfiles" collection of methods. + * Typical usage is: + * + * $dfareportingService = new Google_DfareportingService(...); + * $userProfiles = $dfareportingService->userProfiles; + * + */ + class Google_UserProfilesServiceResource extends Google_ServiceResource { + + /** + * Gets one user profile by ID. (userProfiles.get) + * + * @param string $profileId The user profile ID. + * @param array $optParams Optional parameters. + * @return Google_UserProfile + */ + public function get($profileId, $optParams = array()) { + $params = array('profileId' => $profileId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_UserProfile($data); + } else { + return $data; + } + } + /** + * Retrieves list of user profiles for a user. (userProfiles.list) + * + * @param array $optParams Optional parameters. + * @return Google_UserProfileList + */ + public function listUserProfiles($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_UserProfileList($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Dfareporting (v1.3). + * + *

    + * Lets you create, run and download reports. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_DfareportingService extends Google_Service { + public $dimensionValues; + public $files; + public $reports; + public $reports_compatibleFields; + public $reports_files; + public $userProfiles; + /** + * Constructs the internal representation of the Dfareporting service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'dfareporting/v1.3/'; + $this->version = 'v1.3'; + $this->serviceName = 'dfareporting'; + + $client->addService($this->serviceName, $this->version); + $this->dimensionValues = new Google_DimensionValuesServiceResource($this, $this->serviceName, 'dimensionValues', json_decode('{"methods": {"query": {"id": "dfareporting.dimensionValues.query", "path": "userprofiles/{profileId}/dimensionvalues/query", "httpMethod": "POST", "parameters": {"maxResults": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "request": {"$ref": "DimensionValueRequest"}, "response": {"$ref": "DimensionValueList"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}}}', true)); + $this->files = new Google_FilesServiceResource($this, $this->serviceName, 'files', json_decode('{"methods": {"get": {"id": "dfareporting.files.get", "path": "reports/{reportId}/files/{fileId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"], "supportsMediaDownload": true}, "list": {"id": "dfareporting.files.list", "path": "userprofiles/{profileId}/files", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "10", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "scope": {"type": "string", "default": "MINE", "enum": ["ALL", "MINE", "SHARED_WITH_ME"], "location": "query"}, "sortField": {"type": "string", "default": "LAST_MODIFIED_TIME", "enum": ["ID", "LAST_MODIFIED_TIME"], "location": "query"}, "sortOrder": {"type": "string", "default": "DESCENDING", "enum": ["ASCENDING", "DESCENDING"], "location": "query"}}, "response": {"$ref": "FileList"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}}}', true)); + $this->reports = new Google_ReportsServiceResource($this, $this->serviceName, 'reports', json_decode('{"methods": {"delete": {"id": "dfareporting.reports.delete", "path": "userprofiles/{profileId}/reports/{reportId}", "httpMethod": "DELETE", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "get": {"id": "dfareporting.reports.get", "path": "userprofiles/{profileId}/reports/{reportId}", "httpMethod": "GET", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "insert": {"id": "dfareporting.reports.insert", "path": "userprofiles/{profileId}/reports", "httpMethod": "POST", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "request": {"$ref": "Report"}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "list": {"id": "dfareporting.reports.list", "path": "userprofiles/{profileId}/reports", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "10", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "scope": {"type": "string", "default": "MINE", "enum": ["ALL", "MINE"], "location": "query"}, "sortField": {"type": "string", "default": "LAST_MODIFIED_TIME", "enum": ["ID", "LAST_MODIFIED_TIME", "NAME"], "location": "query"}, "sortOrder": {"type": "string", "default": "DESCENDING", "enum": ["ASCENDING", "DESCENDING"], "location": "query"}}, "response": {"$ref": "ReportList"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "patch": {"id": "dfareporting.reports.patch", "path": "userprofiles/{profileId}/reports/{reportId}", "httpMethod": "PATCH", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "request": {"$ref": "Report"}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "run": {"id": "dfareporting.reports.run", "path": "userprofiles/{profileId}/reports/{reportId}/run", "httpMethod": "POST", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "synchronous": {"type": "boolean", "location": "query"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "update": {"id": "dfareporting.reports.update", "path": "userprofiles/{profileId}/reports/{reportId}", "httpMethod": "PUT", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "request": {"$ref": "Report"}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}}}', true)); + $this->reports_compatibleFields = new Google_ReportsCompatibleFieldsServiceResource($this, $this->serviceName, 'compatibleFields', json_decode('{"methods": {"query": {"id": "dfareporting.reports.compatibleFields.query", "path": "userprofiles/{profileId}/reports/compatiblefields/query", "httpMethod": "POST", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "request": {"$ref": "Report"}, "response": {"$ref": "CompatibleFields"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}}}', true)); + $this->reports_files = new Google_ReportsFilesServiceResource($this, $this->serviceName, 'files', json_decode('{"methods": {"get": {"id": "dfareporting.reports.files.get", "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"], "supportsMediaDownload": true}, "list": {"id": "dfareporting.reports.files.list", "path": "userprofiles/{profileId}/reports/{reportId}/files", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "int32", "minimum": "0", "maximum": "10", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "reportId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "sortField": {"type": "string", "default": "LAST_MODIFIED_TIME", "enum": ["ID", "LAST_MODIFIED_TIME"], "location": "query"}, "sortOrder": {"type": "string", "default": "DESCENDING", "enum": ["ASCENDING", "DESCENDING"], "location": "query"}}, "response": {"$ref": "FileList"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}}}', true)); + $this->userProfiles = new Google_UserProfilesServiceResource($this, $this->serviceName, 'userProfiles', json_decode('{"methods": {"get": {"id": "dfareporting.userProfiles.get", "path": "userprofiles/{profileId}", "httpMethod": "GET", "parameters": {"profileId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "UserProfile"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}, "list": {"id": "dfareporting.userProfiles.list", "path": "userprofiles", "httpMethod": "GET", "response": {"$ref": "UserProfileList"}, "scopes": ["https://www.googleapis.com/auth/dfareporting"]}}}', true)); + + } +} + + + +class Google_Activities extends Google_Model { + protected $__filtersType = 'Google_DimensionValue'; + protected $__filtersDataType = 'array'; + public $filters; + public $kind; + public $metricNames; + public function setFilters(/* array(Google_DimensionValue) */ $filters) { + $this->assertIsArray($filters, 'Google_DimensionValue', __METHOD__); + $this->filters = $filters; + } + public function getFilters() { + return $this->filters; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } +} + +class Google_CompatibleFields extends Google_Model { + protected $__crossDimensionReachReportCompatibleFieldsType = 'Google_CrossDimensionReachReportCompatibleFields'; + protected $__crossDimensionReachReportCompatibleFieldsDataType = ''; + public $crossDimensionReachReportCompatibleFields; + protected $__floodlightReportCompatibleFieldsType = 'Google_FloodlightReportCompatibleFields'; + protected $__floodlightReportCompatibleFieldsDataType = ''; + public $floodlightReportCompatibleFields; + public $kind; + protected $__pathToConversionReportCompatibleFieldsType = 'Google_PathToConversionReportCompatibleFields'; + protected $__pathToConversionReportCompatibleFieldsDataType = ''; + public $pathToConversionReportCompatibleFields; + protected $__reachReportCompatibleFieldsType = 'Google_ReachReportCompatibleFields'; + protected $__reachReportCompatibleFieldsDataType = ''; + public $reachReportCompatibleFields; + protected $__reportCompatibleFieldsType = 'Google_ReportCompatibleFields'; + protected $__reportCompatibleFieldsDataType = ''; + public $reportCompatibleFields; + public function setCrossDimensionReachReportCompatibleFields(Google_CrossDimensionReachReportCompatibleFields $crossDimensionReachReportCompatibleFields) { + $this->crossDimensionReachReportCompatibleFields = $crossDimensionReachReportCompatibleFields; + } + public function getCrossDimensionReachReportCompatibleFields() { + return $this->crossDimensionReachReportCompatibleFields; + } + public function setFloodlightReportCompatibleFields(Google_FloodlightReportCompatibleFields $floodlightReportCompatibleFields) { + $this->floodlightReportCompatibleFields = $floodlightReportCompatibleFields; + } + public function getFloodlightReportCompatibleFields() { + return $this->floodlightReportCompatibleFields; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPathToConversionReportCompatibleFields(Google_PathToConversionReportCompatibleFields $pathToConversionReportCompatibleFields) { + $this->pathToConversionReportCompatibleFields = $pathToConversionReportCompatibleFields; + } + public function getPathToConversionReportCompatibleFields() { + return $this->pathToConversionReportCompatibleFields; + } + public function setReachReportCompatibleFields(Google_ReachReportCompatibleFields $reachReportCompatibleFields) { + $this->reachReportCompatibleFields = $reachReportCompatibleFields; + } + public function getReachReportCompatibleFields() { + return $this->reachReportCompatibleFields; + } + public function setReportCompatibleFields(Google_ReportCompatibleFields $reportCompatibleFields) { + $this->reportCompatibleFields = $reportCompatibleFields; + } + public function getReportCompatibleFields() { + return $this->reportCompatibleFields; + } +} + +class Google_CrossDimensionReachReportCompatibleFields extends Google_Model { + protected $__breakdownType = 'Google_Dimension'; + protected $__breakdownDataType = 'array'; + public $breakdown; + protected $__dimensionFiltersType = 'Google_Dimension'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + public $kind; + protected $__metricsType = 'Google_Metric'; + protected $__metricsDataType = 'array'; + public $metrics; + protected $__overlapMetricsType = 'Google_Metric'; + protected $__overlapMetricsDataType = 'array'; + public $overlapMetrics; + public function setBreakdown(/* array(Google_Dimension) */ $breakdown) { + $this->assertIsArray($breakdown, 'Google_Dimension', __METHOD__); + $this->breakdown = $breakdown; + } + public function getBreakdown() { + return $this->breakdown; + } + public function setDimensionFilters(/* array(Google_Dimension) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_Dimension', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMetrics(/* array(Google_Metric) */ $metrics) { + $this->assertIsArray($metrics, 'Google_Metric', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setOverlapMetrics(/* array(Google_Metric) */ $overlapMetrics) { + $this->assertIsArray($overlapMetrics, 'Google_Metric', __METHOD__); + $this->overlapMetrics = $overlapMetrics; + } + public function getOverlapMetrics() { + return $this->overlapMetrics; + } +} + +class Google_CustomRichMediaEvents extends Google_Model { + protected $__filteredEventIdsType = 'Google_DimensionValue'; + protected $__filteredEventIdsDataType = 'array'; + public $filteredEventIds; + public $kind; + public function setFilteredEventIds(/* array(Google_DimensionValue) */ $filteredEventIds) { + $this->assertIsArray($filteredEventIds, 'Google_DimensionValue', __METHOD__); + $this->filteredEventIds = $filteredEventIds; + } + public function getFilteredEventIds() { + return $this->filteredEventIds; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_DateRange extends Google_Model { + public $endDate; + public $kind; + public $relativeDateRange; + public $startDate; + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRelativeDateRange( $relativeDateRange) { + $this->relativeDateRange = $relativeDateRange; + } + public function getRelativeDateRange() { + return $this->relativeDateRange; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } +} + +class Google_DfareportingFile extends Google_Model { + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + public $etag; + public $fileName; + public $format; + public $id; + public $kind; + public $lastModifiedTime; + public $reportId; + public $status; + protected $__urlsType = 'Google_DfareportingFileUrls'; + protected $__urlsDataType = ''; + public $urls; + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setFileName( $fileName) { + $this->fileName = $fileName; + } + public function getFileName() { + return $this->fileName; + } + public function setFormat( $format) { + $this->format = $format; + } + public function getFormat() { + return $this->format; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModifiedTime( $lastModifiedTime) { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() { + return $this->lastModifiedTime; + } + public function setReportId( $reportId) { + $this->reportId = $reportId; + } + public function getReportId() { + return $this->reportId; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setUrls(Google_DfareportingFileUrls $urls) { + $this->urls = $urls; + } + public function getUrls() { + return $this->urls; + } +} + +class Google_DfareportingFileUrls extends Google_Model { + public $apiUrl; + public $browserUrl; + public function setApiUrl( $apiUrl) { + $this->apiUrl = $apiUrl; + } + public function getApiUrl() { + return $this->apiUrl; + } + public function setBrowserUrl( $browserUrl) { + $this->browserUrl = $browserUrl; + } + public function getBrowserUrl() { + return $this->browserUrl; + } +} + +class Google_Dimension extends Google_Model { + public $kind; + public $name; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_DimensionFilter extends Google_Model { + public $dimensionName; + public $kind; + public $value; + public function setDimensionName( $dimensionName) { + $this->dimensionName = $dimensionName; + } + public function getDimensionName() { + return $this->dimensionName; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_DimensionValue extends Google_Model { + public $dimensionName; + public $etag; + public $id; + public $kind; + public $matchType; + public $value; + public function setDimensionName( $dimensionName) { + $this->dimensionName = $dimensionName; + } + public function getDimensionName() { + return $this->dimensionName; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMatchType( $matchType) { + $this->matchType = $matchType; + } + public function getMatchType() { + return $this->matchType; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_DimensionValueList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_DimensionValue'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_DimensionValue) */ $items) { + $this->assertIsArray($items, 'Google_DimensionValue', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_DimensionValueRequest extends Google_Model { + public $dimensionName; + public $endDate; + protected $__filtersType = 'Google_DimensionFilter'; + protected $__filtersDataType = 'array'; + public $filters; + public $kind; + public $startDate; + public function setDimensionName( $dimensionName) { + $this->dimensionName = $dimensionName; + } + public function getDimensionName() { + return $this->dimensionName; + } + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setFilters(/* array(Google_DimensionFilter) */ $filters) { + $this->assertIsArray($filters, 'Google_DimensionFilter', __METHOD__); + $this->filters = $filters; + } + public function getFilters() { + return $this->filters; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } +} + +class Google_FileList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_DfareportingFile'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_DfareportingFile) */ $items) { + $this->assertIsArray($items, 'Google_DfareportingFile', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_FloodlightReportCompatibleFields extends Google_Model { + protected $__dimensionFiltersType = 'Google_Dimension'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_Dimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + public $kind; + protected $__metricsType = 'Google_Metric'; + protected $__metricsDataType = 'array'; + public $metrics; + public function setDimensionFilters(/* array(Google_Dimension) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_Dimension', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_Dimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_Dimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMetrics(/* array(Google_Metric) */ $metrics) { + $this->assertIsArray($metrics, 'Google_Metric', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } +} + +class Google_Metric extends Google_Model { + public $kind; + public $name; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_PathToConversionReportCompatibleFields extends Google_Model { + protected $__conversionDimensionsType = 'Google_Dimension'; + protected $__conversionDimensionsDataType = 'array'; + public $conversionDimensions; + protected $__customFloodlightVariablesType = 'Google_Dimension'; + protected $__customFloodlightVariablesDataType = 'array'; + public $customFloodlightVariables; + public $kind; + protected $__metricsType = 'Google_Metric'; + protected $__metricsDataType = 'array'; + public $metrics; + protected $__perInteractionDimensionsType = 'Google_Dimension'; + protected $__perInteractionDimensionsDataType = 'array'; + public $perInteractionDimensions; + public function setConversionDimensions(/* array(Google_Dimension) */ $conversionDimensions) { + $this->assertIsArray($conversionDimensions, 'Google_Dimension', __METHOD__); + $this->conversionDimensions = $conversionDimensions; + } + public function getConversionDimensions() { + return $this->conversionDimensions; + } + public function setCustomFloodlightVariables(/* array(Google_Dimension) */ $customFloodlightVariables) { + $this->assertIsArray($customFloodlightVariables, 'Google_Dimension', __METHOD__); + $this->customFloodlightVariables = $customFloodlightVariables; + } + public function getCustomFloodlightVariables() { + return $this->customFloodlightVariables; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMetrics(/* array(Google_Metric) */ $metrics) { + $this->assertIsArray($metrics, 'Google_Metric', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setPerInteractionDimensions(/* array(Google_Dimension) */ $perInteractionDimensions) { + $this->assertIsArray($perInteractionDimensions, 'Google_Dimension', __METHOD__); + $this->perInteractionDimensions = $perInteractionDimensions; + } + public function getPerInteractionDimensions() { + return $this->perInteractionDimensions; + } +} + +class Google_ReachReportCompatibleFields extends Google_Model { + protected $__dimensionFiltersType = 'Google_Dimension'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_Dimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + public $kind; + protected $__metricsType = 'Google_Metric'; + protected $__metricsDataType = 'array'; + public $metrics; + protected $__pivotedActivityMetricsType = 'Google_Metric'; + protected $__pivotedActivityMetricsDataType = 'array'; + public $pivotedActivityMetrics; + protected $__reachByFrequencyMetricsType = 'Google_Metric'; + protected $__reachByFrequencyMetricsDataType = 'array'; + public $reachByFrequencyMetrics; + public function setDimensionFilters(/* array(Google_Dimension) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_Dimension', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_Dimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_Dimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMetrics(/* array(Google_Metric) */ $metrics) { + $this->assertIsArray($metrics, 'Google_Metric', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setPivotedActivityMetrics(/* array(Google_Metric) */ $pivotedActivityMetrics) { + $this->assertIsArray($pivotedActivityMetrics, 'Google_Metric', __METHOD__); + $this->pivotedActivityMetrics = $pivotedActivityMetrics; + } + public function getPivotedActivityMetrics() { + return $this->pivotedActivityMetrics; + } + public function setReachByFrequencyMetrics(/* array(Google_Metric) */ $reachByFrequencyMetrics) { + $this->assertIsArray($reachByFrequencyMetrics, 'Google_Metric', __METHOD__); + $this->reachByFrequencyMetrics = $reachByFrequencyMetrics; + } + public function getReachByFrequencyMetrics() { + return $this->reachByFrequencyMetrics; + } +} + +class Google_Recipient extends Google_Model { + public $deliveryType; + public $email; + public $kind; + public function setDeliveryType( $deliveryType) { + $this->deliveryType = $deliveryType; + } + public function getDeliveryType() { + return $this->deliveryType; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Report extends Google_Model { + public $accountId; + protected $__activeGrpCriteriaType = 'Google_ReportActiveGrpCriteria'; + protected $__activeGrpCriteriaDataType = ''; + public $activeGrpCriteria; + protected $__criteriaType = 'Google_ReportCriteria'; + protected $__criteriaDataType = ''; + public $criteria; + protected $__crossDimensionReachCriteriaType = 'Google_ReportCrossDimensionReachCriteria'; + protected $__crossDimensionReachCriteriaDataType = ''; + public $crossDimensionReachCriteria; + protected $__deliveryType = 'Google_ReportDelivery'; + protected $__deliveryDataType = ''; + public $delivery; + public $etag; + public $fileName; + protected $__floodlightCriteriaType = 'Google_ReportFloodlightCriteria'; + protected $__floodlightCriteriaDataType = ''; + public $floodlightCriteria; + public $format; + public $id; + public $kind; + public $lastModifiedTime; + public $name; + public $ownerProfileId; + protected $__pathToConversionCriteriaType = 'Google_ReportPathToConversionCriteria'; + protected $__pathToConversionCriteriaDataType = ''; + public $pathToConversionCriteria; + protected $__reachCriteriaType = 'Google_ReportReachCriteria'; + protected $__reachCriteriaDataType = ''; + public $reachCriteria; + protected $__scheduleType = 'Google_ReportSchedule'; + protected $__scheduleDataType = ''; + public $schedule; + public $subAccountId; + public $type; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setActiveGrpCriteria(Google_ReportActiveGrpCriteria $activeGrpCriteria) { + $this->activeGrpCriteria = $activeGrpCriteria; + } + public function getActiveGrpCriteria() { + return $this->activeGrpCriteria; + } + public function setCriteria(Google_ReportCriteria $criteria) { + $this->criteria = $criteria; + } + public function getCriteria() { + return $this->criteria; + } + public function setCrossDimensionReachCriteria(Google_ReportCrossDimensionReachCriteria $crossDimensionReachCriteria) { + $this->crossDimensionReachCriteria = $crossDimensionReachCriteria; + } + public function getCrossDimensionReachCriteria() { + return $this->crossDimensionReachCriteria; + } + public function setDelivery(Google_ReportDelivery $delivery) { + $this->delivery = $delivery; + } + public function getDelivery() { + return $this->delivery; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setFileName( $fileName) { + $this->fileName = $fileName; + } + public function getFileName() { + return $this->fileName; + } + public function setFloodlightCriteria(Google_ReportFloodlightCriteria $floodlightCriteria) { + $this->floodlightCriteria = $floodlightCriteria; + } + public function getFloodlightCriteria() { + return $this->floodlightCriteria; + } + public function setFormat( $format) { + $this->format = $format; + } + public function getFormat() { + return $this->format; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModifiedTime( $lastModifiedTime) { + $this->lastModifiedTime = $lastModifiedTime; + } + public function getLastModifiedTime() { + return $this->lastModifiedTime; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOwnerProfileId( $ownerProfileId) { + $this->ownerProfileId = $ownerProfileId; + } + public function getOwnerProfileId() { + return $this->ownerProfileId; + } + public function setPathToConversionCriteria(Google_ReportPathToConversionCriteria $pathToConversionCriteria) { + $this->pathToConversionCriteria = $pathToConversionCriteria; + } + public function getPathToConversionCriteria() { + return $this->pathToConversionCriteria; + } + public function setReachCriteria(Google_ReportReachCriteria $reachCriteria) { + $this->reachCriteria = $reachCriteria; + } + public function getReachCriteria() { + return $this->reachCriteria; + } + public function setSchedule(Google_ReportSchedule $schedule) { + $this->schedule = $schedule; + } + public function getSchedule() { + return $this->schedule; + } + public function setSubAccountId( $subAccountId) { + $this->subAccountId = $subAccountId; + } + public function getSubAccountId() { + return $this->subAccountId; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ReportActiveGrpCriteria extends Google_Model { + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + protected $__dimensionFiltersType = 'Google_DimensionValue'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_SortedDimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + public $metricNames; + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setDimensionFilters(/* array(Google_DimensionValue) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_DimensionValue', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_SortedDimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_SortedDimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } +} + +class Google_ReportCompatibleFields extends Google_Model { + protected $__dimensionFiltersType = 'Google_Dimension'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_Dimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + public $kind; + protected $__metricsType = 'Google_Metric'; + protected $__metricsDataType = 'array'; + public $metrics; + protected $__pivotedActivityMetricsType = 'Google_Metric'; + protected $__pivotedActivityMetricsDataType = 'array'; + public $pivotedActivityMetrics; + public function setDimensionFilters(/* array(Google_Dimension) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_Dimension', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_Dimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_Dimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMetrics(/* array(Google_Metric) */ $metrics) { + $this->assertIsArray($metrics, 'Google_Metric', __METHOD__); + $this->metrics = $metrics; + } + public function getMetrics() { + return $this->metrics; + } + public function setPivotedActivityMetrics(/* array(Google_Metric) */ $pivotedActivityMetrics) { + $this->assertIsArray($pivotedActivityMetrics, 'Google_Metric', __METHOD__); + $this->pivotedActivityMetrics = $pivotedActivityMetrics; + } + public function getPivotedActivityMetrics() { + return $this->pivotedActivityMetrics; + } +} + +class Google_ReportCriteria extends Google_Model { + protected $__activitiesType = 'Google_Activities'; + protected $__activitiesDataType = ''; + public $activities; + protected $__customRichMediaEventsType = 'Google_CustomRichMediaEvents'; + protected $__customRichMediaEventsDataType = ''; + public $customRichMediaEvents; + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + protected $__dimensionFiltersType = 'Google_DimensionValue'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_SortedDimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + public $metricNames; + public function setActivities(Google_Activities $activities) { + $this->activities = $activities; + } + public function getActivities() { + return $this->activities; + } + public function setCustomRichMediaEvents(Google_CustomRichMediaEvents $customRichMediaEvents) { + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setDimensionFilters(/* array(Google_DimensionValue) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_DimensionValue', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_SortedDimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_SortedDimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } +} + +class Google_ReportCrossDimensionReachCriteria extends Google_Model { + protected $__breakdownType = 'Google_SortedDimension'; + protected $__breakdownDataType = 'array'; + public $breakdown; + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + public $dimension; + protected $__dimensionFiltersType = 'Google_DimensionValue'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + public $metricNames; + public $overlapMetricNames; + public $pivoted; + public function setBreakdown(/* array(Google_SortedDimension) */ $breakdown) { + $this->assertIsArray($breakdown, 'Google_SortedDimension', __METHOD__); + $this->breakdown = $breakdown; + } + public function getBreakdown() { + return $this->breakdown; + } + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setDimension( $dimension) { + $this->dimension = $dimension; + } + public function getDimension() { + return $this->dimension; + } + public function setDimensionFilters(/* array(Google_DimensionValue) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_DimensionValue', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } + public function setOverlapMetricNames(/* array(Google_string) */ $overlapMetricNames) { + $this->assertIsArray($overlapMetricNames, 'Google_string', __METHOD__); + $this->overlapMetricNames = $overlapMetricNames; + } + public function getOverlapMetricNames() { + return $this->overlapMetricNames; + } + public function setPivoted( $pivoted) { + $this->pivoted = $pivoted; + } + public function getPivoted() { + return $this->pivoted; + } +} + +class Google_ReportDelivery extends Google_Model { + public $emailOwner; + public $emailOwnerDeliveryType; + public $message; + protected $__recipientsType = 'Google_Recipient'; + protected $__recipientsDataType = 'array'; + public $recipients; + public function setEmailOwner( $emailOwner) { + $this->emailOwner = $emailOwner; + } + public function getEmailOwner() { + return $this->emailOwner; + } + public function setEmailOwnerDeliveryType( $emailOwnerDeliveryType) { + $this->emailOwnerDeliveryType = $emailOwnerDeliveryType; + } + public function getEmailOwnerDeliveryType() { + return $this->emailOwnerDeliveryType; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } + public function setRecipients(/* array(Google_Recipient) */ $recipients) { + $this->assertIsArray($recipients, 'Google_Recipient', __METHOD__); + $this->recipients = $recipients; + } + public function getRecipients() { + return $this->recipients; + } +} + +class Google_ReportFloodlightCriteria extends Google_Model { + protected $__customRichMediaEventsType = 'Google_DimensionValue'; + protected $__customRichMediaEventsDataType = 'array'; + public $customRichMediaEvents; + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + protected $__dimensionFiltersType = 'Google_DimensionValue'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_SortedDimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + protected $__floodlightConfigIdType = 'Google_DimensionValue'; + protected $__floodlightConfigIdDataType = ''; + public $floodlightConfigId; + public $metricNames; + protected $__reportPropertiesType = 'Google_ReportFloodlightCriteriaReportProperties'; + protected $__reportPropertiesDataType = ''; + public $reportProperties; + public function setCustomRichMediaEvents(/* array(Google_DimensionValue) */ $customRichMediaEvents) { + $this->assertIsArray($customRichMediaEvents, 'Google_DimensionValue', __METHOD__); + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setDimensionFilters(/* array(Google_DimensionValue) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_DimensionValue', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_SortedDimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_SortedDimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setFloodlightConfigId(Google_DimensionValue $floodlightConfigId) { + $this->floodlightConfigId = $floodlightConfigId; + } + public function getFloodlightConfigId() { + return $this->floodlightConfigId; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } + public function setReportProperties(Google_ReportFloodlightCriteriaReportProperties $reportProperties) { + $this->reportProperties = $reportProperties; + } + public function getReportProperties() { + return $this->reportProperties; + } +} + +class Google_ReportFloodlightCriteriaReportProperties extends Google_Model { + public $includeAttributedIPConversions; + public $includeUnattributedCookieConversions; + public $includeUnattributedIPConversions; + public function setIncludeAttributedIPConversions( $includeAttributedIPConversions) { + $this->includeAttributedIPConversions = $includeAttributedIPConversions; + } + public function getIncludeAttributedIPConversions() { + return $this->includeAttributedIPConversions; + } + public function setIncludeUnattributedCookieConversions( $includeUnattributedCookieConversions) { + $this->includeUnattributedCookieConversions = $includeUnattributedCookieConversions; + } + public function getIncludeUnattributedCookieConversions() { + return $this->includeUnattributedCookieConversions; + } + public function setIncludeUnattributedIPConversions( $includeUnattributedIPConversions) { + $this->includeUnattributedIPConversions = $includeUnattributedIPConversions; + } + public function getIncludeUnattributedIPConversions() { + return $this->includeUnattributedIPConversions; + } +} + +class Google_ReportList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Report'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Report) */ $items) { + $this->assertIsArray($items, 'Google_Report', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_ReportPathToConversionCriteria extends Google_Model { + protected $__activityFiltersType = 'Google_DimensionValue'; + protected $__activityFiltersDataType = 'array'; + public $activityFilters; + protected $__conversionDimensionsType = 'Google_SortedDimension'; + protected $__conversionDimensionsDataType = 'array'; + public $conversionDimensions; + protected $__customFloodlightVariablesType = 'Google_SortedDimension'; + protected $__customFloodlightVariablesDataType = 'array'; + public $customFloodlightVariables; + protected $__customRichMediaEventsType = 'Google_DimensionValue'; + protected $__customRichMediaEventsDataType = 'array'; + public $customRichMediaEvents; + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + protected $__floodlightConfigIdType = 'Google_DimensionValue'; + protected $__floodlightConfigIdDataType = ''; + public $floodlightConfigId; + public $metricNames; + protected $__perInteractionDimensionsType = 'Google_SortedDimension'; + protected $__perInteractionDimensionsDataType = 'array'; + public $perInteractionDimensions; + protected $__reportPropertiesType = 'Google_ReportPathToConversionCriteriaReportProperties'; + protected $__reportPropertiesDataType = ''; + public $reportProperties; + public function setActivityFilters(/* array(Google_DimensionValue) */ $activityFilters) { + $this->assertIsArray($activityFilters, 'Google_DimensionValue', __METHOD__); + $this->activityFilters = $activityFilters; + } + public function getActivityFilters() { + return $this->activityFilters; + } + public function setConversionDimensions(/* array(Google_SortedDimension) */ $conversionDimensions) { + $this->assertIsArray($conversionDimensions, 'Google_SortedDimension', __METHOD__); + $this->conversionDimensions = $conversionDimensions; + } + public function getConversionDimensions() { + return $this->conversionDimensions; + } + public function setCustomFloodlightVariables(/* array(Google_SortedDimension) */ $customFloodlightVariables) { + $this->assertIsArray($customFloodlightVariables, 'Google_SortedDimension', __METHOD__); + $this->customFloodlightVariables = $customFloodlightVariables; + } + public function getCustomFloodlightVariables() { + return $this->customFloodlightVariables; + } + public function setCustomRichMediaEvents(/* array(Google_DimensionValue) */ $customRichMediaEvents) { + $this->assertIsArray($customRichMediaEvents, 'Google_DimensionValue', __METHOD__); + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setFloodlightConfigId(Google_DimensionValue $floodlightConfigId) { + $this->floodlightConfigId = $floodlightConfigId; + } + public function getFloodlightConfigId() { + return $this->floodlightConfigId; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } + public function setPerInteractionDimensions(/* array(Google_SortedDimension) */ $perInteractionDimensions) { + $this->assertIsArray($perInteractionDimensions, 'Google_SortedDimension', __METHOD__); + $this->perInteractionDimensions = $perInteractionDimensions; + } + public function getPerInteractionDimensions() { + return $this->perInteractionDimensions; + } + public function setReportProperties(Google_ReportPathToConversionCriteriaReportProperties $reportProperties) { + $this->reportProperties = $reportProperties; + } + public function getReportProperties() { + return $this->reportProperties; + } +} + +class Google_ReportPathToConversionCriteriaReportProperties extends Google_Model { + public $clicksLookbackWindow; + public $impressionsLookbackWindow; + public $includeAttributedIPConversions; + public $includeUnattributedCookieConversions; + public $includeUnattributedIPConversions; + public $maximumClickInteractions; + public $maximumImpressionInteractions; + public $maximumInteractionGap; + public $pivotOnInteractionPath; + public function setClicksLookbackWindow( $clicksLookbackWindow) { + $this->clicksLookbackWindow = $clicksLookbackWindow; + } + public function getClicksLookbackWindow() { + return $this->clicksLookbackWindow; + } + public function setImpressionsLookbackWindow( $impressionsLookbackWindow) { + $this->impressionsLookbackWindow = $impressionsLookbackWindow; + } + public function getImpressionsLookbackWindow() { + return $this->impressionsLookbackWindow; + } + public function setIncludeAttributedIPConversions( $includeAttributedIPConversions) { + $this->includeAttributedIPConversions = $includeAttributedIPConversions; + } + public function getIncludeAttributedIPConversions() { + return $this->includeAttributedIPConversions; + } + public function setIncludeUnattributedCookieConversions( $includeUnattributedCookieConversions) { + $this->includeUnattributedCookieConversions = $includeUnattributedCookieConversions; + } + public function getIncludeUnattributedCookieConversions() { + return $this->includeUnattributedCookieConversions; + } + public function setIncludeUnattributedIPConversions( $includeUnattributedIPConversions) { + $this->includeUnattributedIPConversions = $includeUnattributedIPConversions; + } + public function getIncludeUnattributedIPConversions() { + return $this->includeUnattributedIPConversions; + } + public function setMaximumClickInteractions( $maximumClickInteractions) { + $this->maximumClickInteractions = $maximumClickInteractions; + } + public function getMaximumClickInteractions() { + return $this->maximumClickInteractions; + } + public function setMaximumImpressionInteractions( $maximumImpressionInteractions) { + $this->maximumImpressionInteractions = $maximumImpressionInteractions; + } + public function getMaximumImpressionInteractions() { + return $this->maximumImpressionInteractions; + } + public function setMaximumInteractionGap( $maximumInteractionGap) { + $this->maximumInteractionGap = $maximumInteractionGap; + } + public function getMaximumInteractionGap() { + return $this->maximumInteractionGap; + } + public function setPivotOnInteractionPath( $pivotOnInteractionPath) { + $this->pivotOnInteractionPath = $pivotOnInteractionPath; + } + public function getPivotOnInteractionPath() { + return $this->pivotOnInteractionPath; + } +} + +class Google_ReportReachCriteria extends Google_Model { + protected $__activitiesType = 'Google_Activities'; + protected $__activitiesDataType = ''; + public $activities; + protected $__customRichMediaEventsType = 'Google_CustomRichMediaEvents'; + protected $__customRichMediaEventsDataType = ''; + public $customRichMediaEvents; + protected $__dateRangeType = 'Google_DateRange'; + protected $__dateRangeDataType = ''; + public $dateRange; + protected $__dimensionFiltersType = 'Google_DimensionValue'; + protected $__dimensionFiltersDataType = 'array'; + public $dimensionFilters; + protected $__dimensionsType = 'Google_SortedDimension'; + protected $__dimensionsDataType = 'array'; + public $dimensions; + public $metricNames; + public $reachByFrequencyMetricNames; + public function setActivities(Google_Activities $activities) { + $this->activities = $activities; + } + public function getActivities() { + return $this->activities; + } + public function setCustomRichMediaEvents(Google_CustomRichMediaEvents $customRichMediaEvents) { + $this->customRichMediaEvents = $customRichMediaEvents; + } + public function getCustomRichMediaEvents() { + return $this->customRichMediaEvents; + } + public function setDateRange(Google_DateRange $dateRange) { + $this->dateRange = $dateRange; + } + public function getDateRange() { + return $this->dateRange; + } + public function setDimensionFilters(/* array(Google_DimensionValue) */ $dimensionFilters) { + $this->assertIsArray($dimensionFilters, 'Google_DimensionValue', __METHOD__); + $this->dimensionFilters = $dimensionFilters; + } + public function getDimensionFilters() { + return $this->dimensionFilters; + } + public function setDimensions(/* array(Google_SortedDimension) */ $dimensions) { + $this->assertIsArray($dimensions, 'Google_SortedDimension', __METHOD__); + $this->dimensions = $dimensions; + } + public function getDimensions() { + return $this->dimensions; + } + public function setMetricNames(/* array(Google_string) */ $metricNames) { + $this->assertIsArray($metricNames, 'Google_string', __METHOD__); + $this->metricNames = $metricNames; + } + public function getMetricNames() { + return $this->metricNames; + } + public function setReachByFrequencyMetricNames(/* array(Google_string) */ $reachByFrequencyMetricNames) { + $this->assertIsArray($reachByFrequencyMetricNames, 'Google_string', __METHOD__); + $this->reachByFrequencyMetricNames = $reachByFrequencyMetricNames; + } + public function getReachByFrequencyMetricNames() { + return $this->reachByFrequencyMetricNames; + } +} + +class Google_ReportSchedule extends Google_Model { + public $active; + public $every; + public $expirationDate; + public $repeats; + public $repeatsOnWeekDays; + public $runsOnDayOfMonth; + public $startDate; + public function setActive( $active) { + $this->active = $active; + } + public function getActive() { + return $this->active; + } + public function setEvery( $every) { + $this->every = $every; + } + public function getEvery() { + return $this->every; + } + public function setExpirationDate( $expirationDate) { + $this->expirationDate = $expirationDate; + } + public function getExpirationDate() { + return $this->expirationDate; + } + public function setRepeats( $repeats) { + $this->repeats = $repeats; + } + public function getRepeats() { + return $this->repeats; + } + public function setRepeatsOnWeekDays(/* array(Google_string) */ $repeatsOnWeekDays) { + $this->assertIsArray($repeatsOnWeekDays, 'Google_string', __METHOD__); + $this->repeatsOnWeekDays = $repeatsOnWeekDays; + } + public function getRepeatsOnWeekDays() { + return $this->repeatsOnWeekDays; + } + public function setRunsOnDayOfMonth( $runsOnDayOfMonth) { + $this->runsOnDayOfMonth = $runsOnDayOfMonth; + } + public function getRunsOnDayOfMonth() { + return $this->runsOnDayOfMonth; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } +} + +class Google_SortedDimension extends Google_Model { + public $kind; + public $name; + public $sortOrder; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSortOrder( $sortOrder) { + $this->sortOrder = $sortOrder; + } + public function getSortOrder() { + return $this->sortOrder; + } +} + +class Google_UserProfile extends Google_Model { + public $accountId; + public $accountName; + public $etag; + public $kind; + public $profileId; + public $subAccountId; + public $subAccountName; + public $userName; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setAccountName( $accountName) { + $this->accountName = $accountName; + } + public function getAccountName() { + return $this->accountName; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setSubAccountId( $subAccountId) { + $this->subAccountId = $subAccountId; + } + public function getSubAccountId() { + return $this->subAccountId; + } + public function setSubAccountName( $subAccountName) { + $this->subAccountName = $subAccountName; + } + public function getSubAccountName() { + return $this->subAccountName; + } + public function setUserName( $userName) { + $this->userName = $userName; + } + public function getUserName() { + return $this->userName; + } +} + +class Google_UserProfileList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_UserProfile'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_UserProfile) */ $items) { + $this->assertIsArray($items, 'Google_UserProfile', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DirectoryService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DirectoryService.php new file mode 100644 index 0000000..906883a --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DirectoryService.php @@ -0,0 +1,2263 @@ + + * $adminService = new Google_DirectoryService(...); + * $chromeosdevices = $adminService->chromeosdevices; + * + */ + class Google_ChromeosdevicesServiceResource extends Google_ServiceResource { + + + /** + * Retrieve Chrome OS Device (chromeosdevices.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $deviceId Immutable id of Chrome OS Device + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of selected fields. + * @return Google_ChromeOsDevice + */ + public function get($customerId, $deviceId, $optParams = array()) { + $params = array('customerId' => $customerId, 'deviceId' => $deviceId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ChromeOsDevice($data); + } else { + return $data; + } + } + /** + * Retrieve all Chrome OS Devices of a customer (paginated) (chromeosdevices.list) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. Default is 100 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string projection Restrict information returned to a set of selected fields. + * @opt_param string query Search string in the format given at http://support.google.com/chromeos/a/bin/answer.py?hl=en=1698333 + * @opt_param string sortOrder Whether to return results in ascending or descending order. Only of use when orderBy is also used + * @return Google_ChromeOsDevices + */ + public function listChromeosdevices($customerId, $optParams = array()) { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ChromeOsDevices($data); + } else { + return $data; + } + } + /** + * Update Chrome OS Device. This method supports patch semantics. (chromeosdevices.patch) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $deviceId Immutable id of Chrome OS Device + * @param Google_ChromeOsDevice $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of selected fields. + * @return Google_ChromeOsDevice + */ + public function patch($customerId, $deviceId, Google_ChromeOsDevice $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'deviceId' => $deviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_ChromeOsDevice($data); + } else { + return $data; + } + } + /** + * Update Chrome OS Device (chromeosdevices.update) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $deviceId Immutable id of Chrome OS Device + * @param Google_ChromeOsDevice $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of selected fields. + * @return Google_ChromeOsDevice + */ + public function update($customerId, $deviceId, Google_ChromeOsDevice $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'deviceId' => $deviceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_ChromeOsDevice($data); + } else { + return $data; + } + } + } + + /** + * The "groups" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $groups = $adminService->groups; + * + */ + class Google_GroupsServiceResource extends Google_ServiceResource { + + + /** + * Delete Group (groups.delete) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + */ + public function delete($groupKey, $optParams = array()) { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieve Group (groups.get) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + * @return Google_Group + */ + public function get($groupKey, $optParams = array()) { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Group($data); + } else { + return $data; + } + } + /** + * Create Group (groups.insert) + * + * @param Google_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Group + */ + public function insert(Google_Group $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Group($data); + } else { + return $data; + } + } + /** + * Retrieve all groups in a domain (paginated) (groups.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customer Immutable id of the Google Apps account. In case of multi-domain, to fetch all groups for a customer, fill this field instead of domain. + * @opt_param string domain Name of the domain. Fill this field to get groups from only this domain. To return all groups in a multi-domain fill customer field instead. + * @opt_param int maxResults Maximum number of results to return. Default is 200 + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string userKey Email or immutable Id of the user if only those groups are to be listed, the given user is a member of. If Id, it should match with id of user object + * @return Google_Groups + */ + public function listGroups($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Groups($data); + } else { + return $data; + } + } + /** + * Update Group. This method supports patch semantics. (groups.patch) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should match with id of group object + * @param Google_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Group + */ + public function patch($groupKey, Google_Group $postBody, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Group($data); + } else { + return $data; + } + } + /** + * Update Group (groups.update) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should match with id of group object + * @param Google_Group $postBody + * @param array $optParams Optional parameters. + * @return Google_Group + */ + public function update($groupKey, Google_Group $postBody, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Group($data); + } else { + return $data; + } + } + } + + /** + * The "aliases" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $aliases = $adminService->aliases; + * + */ + class Google_GroupsAliasesServiceResource extends Google_ServiceResource { + + + /** + * Remove a alias for the group (aliases.delete) + * + * @param string $groupKey Email or immutable Id of the group + * @param string $alias The alias to be removed + * @param array $optParams Optional parameters. + */ + public function delete($groupKey, $alias, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'alias' => $alias); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Add a alias for the group (aliases.insert) + * + * @param string $groupKey Email or immutable Id of the group + * @param Google_Alias $postBody + * @param array $optParams Optional parameters. + * @return Google_Alias + */ + public function insert($groupKey, Google_Alias $postBody, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Alias($data); + } else { + return $data; + } + } + /** + * List all aliases for a group (aliases.list) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + * @return Google_Aliases + */ + public function listGroupsAliases($groupKey, $optParams = array()) { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Aliases($data); + } else { + return $data; + } + } + } + + /** + * The "members" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $members = $adminService->members; + * + */ + class Google_MembersServiceResource extends Google_ServiceResource { + + + /** + * Remove membership. (members.delete) + * + * @param string $groupKey Email or immutable Id of the group + * @param string $memberKey Email or immutable Id of the member + * @param array $optParams Optional parameters. + */ + public function delete($groupKey, $memberKey, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieve Group Member (members.get) + * + * @param string $groupKey Email or immutable Id of the group + * @param string $memberKey Email or immutable Id of the member + * @param array $optParams Optional parameters. + * @return Google_Member + */ + public function get($groupKey, $memberKey, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Member($data); + } else { + return $data; + } + } + /** + * Add user to the specified group. (members.insert) + * + * @param string $groupKey Email or immutable Id of the group + * @param Google_Member $postBody + * @param array $optParams Optional parameters. + * @return Google_Member + */ + public function insert($groupKey, Google_Member $postBody, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Member($data); + } else { + return $data; + } + } + /** + * Retrieve all members in a group (paginated) (members.list) + * + * @param string $groupKey Email or immutable Id of the group + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. Default is 200 + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string roles Comma separated role values to filter list results on. + * @return Google_Members + */ + public function listMembers($groupKey, $optParams = array()) { + $params = array('groupKey' => $groupKey); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Members($data); + } else { + return $data; + } + } + /** + * Update membership of a user in the specified group. This method supports patch semantics. + * (members.patch) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should match with id of group object + * @param string $memberKey Email or immutable Id of the user. If Id, it should match with id of member object + * @param Google_Member $postBody + * @param array $optParams Optional parameters. + * @return Google_Member + */ + public function patch($groupKey, $memberKey, Google_Member $postBody, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Member($data); + } else { + return $data; + } + } + /** + * Update membership of a user in the specified group. (members.update) + * + * @param string $groupKey Email or immutable Id of the group. If Id, it should match with id of group object + * @param string $memberKey Email or immutable Id of the user. If Id, it should match with id of member object + * @param Google_Member $postBody + * @param array $optParams Optional parameters. + * @return Google_Member + */ + public function update($groupKey, $memberKey, Google_Member $postBody, $optParams = array()) { + $params = array('groupKey' => $groupKey, 'memberKey' => $memberKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Member($data); + } else { + return $data; + } + } + } + + /** + * The "mobiledevices" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $mobiledevices = $adminService->mobiledevices; + * + */ + class Google_MobiledevicesServiceResource extends Google_ServiceResource { + + + /** + * Take action on Mobile Device (mobiledevices.action) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Mobile Device + * @param Google_MobileDeviceAction $postBody + * @param array $optParams Optional parameters. + */ + public function action($customerId, $resourceId, Google_MobileDeviceAction $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('action', array($params)); + return $data; + } + /** + * Delete Mobile Device (mobiledevices.delete) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Mobile Device + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $resourceId, $optParams = array()) { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieve Mobile Device (mobiledevices.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $resourceId Immutable id of Mobile Device + * @param array $optParams Optional parameters. + * + * @opt_param string projection Restrict information returned to a set of selected fields. + * @return Google_MobileDevice + */ + public function get($customerId, $resourceId, $optParams = array()) { + $params = array('customerId' => $customerId, 'resourceId' => $resourceId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_MobileDevice($data); + } else { + return $data; + } + } + /** + * Retrieve all Mobile Devices of a customer (paginated) (mobiledevices.list) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of results to return. Default is 100 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string projection Restrict information returned to a set of selected fields. + * @opt_param string query Search string in the format given at http://support.google.com/a/bin/answer.py?hl=en=1408863#search + * @opt_param string sortOrder Whether to return results in ascending or descending order. Only of use when orderBy is also used + * @return Google_MobileDevices + */ + public function listMobiledevices($customerId, $optParams = array()) { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_MobileDevices($data); + } else { + return $data; + } + } + } + + /** + * The "orgunits" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $orgunits = $adminService->orgunits; + * + */ + class Google_OrgunitsServiceResource extends Google_ServiceResource { + + + /** + * Remove Organization Unit (orgunits.delete) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $orgUnitPath Full path of the organization unit + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $orgUnitPath, $optParams = array()) { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieve Organization Unit (orgunits.get) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $orgUnitPath Full path of the organization unit + * @param array $optParams Optional parameters. + * @return Google_OrgUnit + */ + public function get($customerId, $orgUnitPath, $optParams = array()) { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_OrgUnit($data); + } else { + return $data; + } + } + /** + * Add Organization Unit (orgunits.insert) + * + * @param string $customerId Immutable id of the Google Apps account + * @param Google_OrgUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_OrgUnit + */ + public function insert($customerId, Google_OrgUnit $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_OrgUnit($data); + } else { + return $data; + } + } + /** + * Retrieve all Organization Units (orgunits.list) + * + * @param string $customerId Immutable id of the Google Apps account + * @param array $optParams Optional parameters. + * + * @opt_param string orgUnitPath the URL-encoded organization unit + * @opt_param string type Whether to return all sub-organizations or just immediate children + * @return Google_OrgUnits + */ + public function listOrgunits($customerId, $optParams = array()) { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_OrgUnits($data); + } else { + return $data; + } + } + /** + * Update Organization Unit. This method supports patch semantics. (orgunits.patch) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $orgUnitPath Full path of the organization unit + * @param Google_OrgUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_OrgUnit + */ + public function patch($customerId, $orgUnitPath, Google_OrgUnit $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_OrgUnit($data); + } else { + return $data; + } + } + /** + * Update Organization Unit (orgunits.update) + * + * @param string $customerId Immutable id of the Google Apps account + * @param string $orgUnitPath Full path of the organization unit + * @param Google_OrgUnit $postBody + * @param array $optParams Optional parameters. + * @return Google_OrgUnit + */ + public function update($customerId, $orgUnitPath, Google_OrgUnit $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'orgUnitPath' => $orgUnitPath, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_OrgUnit($data); + } else { + return $data; + } + } + } + + /** + * The "users" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $users = $adminService->users; + * + */ + class Google_UsersServiceResource extends Google_ServiceResource { + + + /** + * Delete user (users.delete) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $optParams = array()) { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * retrieve user (users.get) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + * @return Google_User + */ + public function get($userKey, $optParams = array()) { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_User($data); + } else { + return $data; + } + } + /** + * create user. (users.insert) + * + * @param Google_User $postBody + * @param array $optParams Optional parameters. + * @return Google_User + */ + public function insert(Google_User $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_User($data); + } else { + return $data; + } + } + /** + * Retrieve either deleted users or all users in a domain (paginated) (users.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customer Immutable id of the Google Apps account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain. + * @opt_param string domain Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead. + * @opt_param int maxResults Maximum number of results to return. Default is 100. Max allowed is 500 + * @opt_param string orderBy Column to use for sorting results + * @opt_param string pageToken Token to specify next page in the list + * @opt_param string query Query string for prefix matching searches. Should be of the form "key:value*" where key can be "email", "givenName" or "familyName". The asterisk is required, for example: "givenName:Ann*" is a valid query. + * @opt_param string showDeleted If set to true retrieves the list of deleted users. Default is false + * @opt_param string sortOrder Whether to return results in ascending or descending order. + * @return Google_Users + */ + public function listUsers($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Users($data); + } else { + return $data; + } + } + /** + * change admin status of a user (users.makeAdmin) + * + * @param string $userKey Email or immutable Id of the user as admin + * @param Google_UserMakeAdmin $postBody + * @param array $optParams Optional parameters. + */ + public function makeAdmin($userKey, Google_UserMakeAdmin $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('makeAdmin', array($params)); + return $data; + } + /** + * update user. This method supports patch semantics. (users.patch) + * + * @param string $userKey Email or immutable Id of the user. If Id, it should match with id of user object + * @param Google_User $postBody + * @param array $optParams Optional parameters. + * @return Google_User + */ + public function patch($userKey, Google_User $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_User($data); + } else { + return $data; + } + } + /** + * Undelete a deleted user (users.undelete) + * + * @param string $userKey The immutable id of the user + * @param Google_UserUndelete $postBody + * @param array $optParams Optional parameters. + */ + public function undelete($userKey, Google_UserUndelete $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('undelete', array($params)); + return $data; + } + /** + * update user (users.update) + * + * @param string $userKey Email or immutable Id of the user. If Id, it should match with id of user object + * @param Google_User $postBody + * @param array $optParams Optional parameters. + * @return Google_User + */ + public function update($userKey, Google_User $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_User($data); + } else { + return $data; + } + } + } + + /** + * The "aliases" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $aliases = $adminService->aliases; + * + */ + class Google_UsersAliasesServiceResource extends Google_ServiceResource { + + + /** + * Remove a alias for the user (aliases.delete) + * + * @param string $userKey Email or immutable Id of the user + * @param string $alias The alias to be removed + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $alias, $optParams = array()) { + $params = array('userKey' => $userKey, 'alias' => $alias); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Add a alias for the user (aliases.insert) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_Alias $postBody + * @param array $optParams Optional parameters. + * @return Google_Alias + */ + public function insert($userKey, Google_Alias $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Alias($data); + } else { + return $data; + } + } + /** + * List all aliases for a user (aliases.list) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + * @return Google_Aliases + */ + public function listUsersAliases($userKey, $optParams = array()) { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Aliases($data); + } else { + return $data; + } + } + } + /** + * The "photos" collection of methods. + * Typical usage is: + * + * $adminService = new Google_DirectoryService(...); + * $photos = $adminService->photos; + * + */ + class Google_UsersPhotosServiceResource extends Google_ServiceResource { + + + /** + * Remove photos for the user (photos.delete) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + */ + public function delete($userKey, $optParams = array()) { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieve photo of a user (photos.get) + * + * @param string $userKey Email or immutable Id of the user + * @param array $optParams Optional parameters. + * @return Google_UserPhoto + */ + public function get($userKey, $optParams = array()) { + $params = array('userKey' => $userKey); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_UserPhoto($data); + } else { + return $data; + } + } + /** + * Add a photo for the user. This method supports patch semantics. (photos.patch) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_UserPhoto $postBody + * @param array $optParams Optional parameters. + * @return Google_UserPhoto + */ + public function patch($userKey, Google_UserPhoto $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_UserPhoto($data); + } else { + return $data; + } + } + /** + * Add a photo for the user (photos.update) + * + * @param string $userKey Email or immutable Id of the user + * @param Google_UserPhoto $postBody + * @param array $optParams Optional parameters. + * @return Google_UserPhoto + */ + public function update($userKey, Google_UserPhoto $postBody, $optParams = array()) { + $params = array('userKey' => $userKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_UserPhoto($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Directory (directory_v1). + * + *

    + * Apps Directory API lets you view and manage enterprise resources like user, groups, OrgUnit, devices. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_DirectoryService extends Google_Service { + public $chromeosdevices; + public $groups; + public $groups_aliases; + public $members; + public $mobiledevices; + public $orgunits; + public $users; + public $users_aliases; + public $users_photos; + /** + * Constructs the internal representation of the Directory service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'admin/directory/v1/'; + $this->version = 'directory_v1'; + $this->serviceName = 'admin'; + + $client->addService($this->serviceName, $this->version); + $this->chromeosdevices = new Google_ChromeosdevicesServiceResource($this, $this->serviceName, 'chromeosdevices', json_decode('{"methods": {"get": {"id": "directory.chromeosdevices.get", "path": "customer/{customerId}/devices/chromeos/{deviceId}", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "deviceId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}}, "response": {"$ref": "ChromeOsDevice"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.chromeos", "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"]}, "list": {"id": "directory.chromeosdevices.list", "path": "customer/{customerId}/devices/chromeos", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "orderBy": {"type": "string", "enum": ["annotatedLocation", "annotatedUser", "lastSync", "notes", "serialNumber", "status", "supportEndDate"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "query": {"type": "string", "location": "query"}, "sortOrder": {"type": "string", "enum": ["ASCENDING", "DESCENDING"], "location": "query"}}, "response": {"$ref": "ChromeOsDevices"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.chromeos", "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly"]}, "patch": {"id": "directory.chromeosdevices.patch", "path": "customer/{customerId}/devices/chromeos/{deviceId}", "httpMethod": "PATCH", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "deviceId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}}, "request": {"$ref": "ChromeOsDevice"}, "response": {"$ref": "ChromeOsDevice"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.chromeos"]}, "update": {"id": "directory.chromeosdevices.update", "path": "customer/{customerId}/devices/chromeos/{deviceId}", "httpMethod": "PUT", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "deviceId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}}, "request": {"$ref": "ChromeOsDevice"}, "response": {"$ref": "ChromeOsDevice"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.chromeos"]}}}', true)); + $this->groups = new Google_GroupsServiceResource($this, $this->serviceName, 'groups', json_decode('{"methods": {"delete": {"id": "directory.groups.delete", "path": "groups/{groupKey}", "httpMethod": "DELETE", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group"]}, "get": {"id": "directory.groups.get", "path": "groups/{groupKey}", "httpMethod": "GET", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Group"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.readonly"]}, "insert": {"id": "directory.groups.insert", "path": "groups", "httpMethod": "POST", "request": {"$ref": "Group"}, "response": {"$ref": "Group"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group"]}, "list": {"id": "directory.groups.list", "path": "groups", "httpMethod": "GET", "parameters": {"customer": {"type": "string", "location": "query"}, "domain": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userKey": {"type": "string", "location": "query"}}, "response": {"$ref": "Groups"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.readonly"]}, "patch": {"id": "directory.groups.patch", "path": "groups/{groupKey}", "httpMethod": "PATCH", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Group"}, "response": {"$ref": "Group"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group"]}, "update": {"id": "directory.groups.update", "path": "groups/{groupKey}", "httpMethod": "PUT", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Group"}, "response": {"$ref": "Group"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group"]}}}', true)); + $this->groups_aliases = new Google_GroupsAliasesServiceResource($this, $this->serviceName, 'aliases', json_decode('{"methods": {"delete": {"id": "directory.groups.aliases.delete", "path": "groups/{groupKey}/aliases/{alias}", "httpMethod": "DELETE", "parameters": {"alias": {"type": "string", "required": true, "location": "path"}, "groupKey": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group"]}, "insert": {"id": "directory.groups.aliases.insert", "path": "groups/{groupKey}/aliases", "httpMethod": "POST", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Alias"}, "response": {"$ref": "Alias"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group"]}, "list": {"id": "directory.groups.aliases.list", "path": "groups/{groupKey}/aliases", "httpMethod": "GET", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Aliases"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.readonly"]}}}', true)); + $this->members = new Google_MembersServiceResource($this, $this->serviceName, 'members', json_decode('{"methods": {"delete": {"id": "directory.members.delete", "path": "groups/{groupKey}/members/{memberKey}", "httpMethod": "DELETE", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}, "memberKey": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.member"]}, "get": {"id": "directory.members.get", "path": "groups/{groupKey}/members/{memberKey}", "httpMethod": "GET", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}, "memberKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Member"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.member", "https://www.googleapis.com/auth/admin.directory.group.member.readonly", "https://www.googleapis.com/auth/admin.directory.group.readonly"]}, "insert": {"id": "directory.members.insert", "path": "groups/{groupKey}/members", "httpMethod": "POST", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Member"}, "response": {"$ref": "Member"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.member"]}, "list": {"id": "directory.members.list", "path": "groups/{groupKey}/members", "httpMethod": "GET", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "roles": {"type": "string", "location": "query"}}, "response": {"$ref": "Members"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.member", "https://www.googleapis.com/auth/admin.directory.group.member.readonly", "https://www.googleapis.com/auth/admin.directory.group.readonly"]}, "patch": {"id": "directory.members.patch", "path": "groups/{groupKey}/members/{memberKey}", "httpMethod": "PATCH", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}, "memberKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Member"}, "response": {"$ref": "Member"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.member"]}, "update": {"id": "directory.members.update", "path": "groups/{groupKey}/members/{memberKey}", "httpMethod": "PUT", "parameters": {"groupKey": {"type": "string", "required": true, "location": "path"}, "memberKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Member"}, "response": {"$ref": "Member"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.group", "https://www.googleapis.com/auth/admin.directory.group.member"]}}}', true)); + $this->mobiledevices = new Google_MobiledevicesServiceResource($this, $this->serviceName, 'mobiledevices', json_decode('{"methods": {"action": {"id": "directory.mobiledevices.action", "path": "customer/{customerId}/devices/mobile/{resourceId}/action", "httpMethod": "POST", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "resourceId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "MobileDeviceAction"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.mobile", "https://www.googleapis.com/auth/admin.directory.device.mobile.action"]}, "delete": {"id": "directory.mobiledevices.delete", "path": "customer/{customerId}/devices/mobile/{resourceId}", "httpMethod": "DELETE", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "resourceId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.mobile"]}, "get": {"id": "directory.mobiledevices.get", "path": "customer/{customerId}/devices/mobile/{resourceId}", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "resourceId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "MobileDevice"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.mobile", "https://www.googleapis.com/auth/admin.directory.device.mobile.action", "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"]}, "list": {"id": "directory.mobiledevices.list", "path": "customer/{customerId}/devices/mobile", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "orderBy": {"type": "string", "enum": ["deviceId", "email", "lastSync", "model", "name", "os", "status", "type"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "query": {"type": "string", "location": "query"}, "sortOrder": {"type": "string", "enum": ["ASCENDING", "DESCENDING"], "location": "query"}}, "response": {"$ref": "MobileDevices"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.device.mobile", "https://www.googleapis.com/auth/admin.directory.device.mobile.action", "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly"]}}}', true)); + $this->orgunits = new Google_OrgunitsServiceResource($this, $this->serviceName, 'orgunits', json_decode('{"methods": {"delete": {"id": "directory.orgunits.delete", "path": "customer/{customerId}/orgunits{/orgUnitPath*}", "httpMethod": "DELETE", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "orgUnitPath": {"type": "string", "required": true, "repeated": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.orgunit"]}, "get": {"id": "directory.orgunits.get", "path": "customer/{customerId}/orgunits{/orgUnitPath*}", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "orgUnitPath": {"type": "string", "required": true, "repeated": true, "location": "path"}}, "response": {"$ref": "OrgUnit"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.orgunit", "https://www.googleapis.com/auth/admin.directory.orgunit.readonly"]}, "insert": {"id": "directory.orgunits.insert", "path": "customer/{customerId}/orgunits", "httpMethod": "POST", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "OrgUnit"}, "response": {"$ref": "OrgUnit"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.orgunit"]}, "list": {"id": "directory.orgunits.list", "path": "customer/{customerId}/orgunits", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "orgUnitPath": {"type": "string", "default": "", "location": "query"}, "type": {"type": "string", "enum": ["all", "children"], "location": "query"}}, "response": {"$ref": "OrgUnits"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.orgunit", "https://www.googleapis.com/auth/admin.directory.orgunit.readonly"]}, "patch": {"id": "directory.orgunits.patch", "path": "customer/{customerId}/orgunits{/orgUnitPath*}", "httpMethod": "PATCH", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "orgUnitPath": {"type": "string", "required": true, "repeated": true, "location": "path"}}, "request": {"$ref": "OrgUnit"}, "response": {"$ref": "OrgUnit"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.orgunit"]}, "update": {"id": "directory.orgunits.update", "path": "customer/{customerId}/orgunits{/orgUnitPath*}", "httpMethod": "PUT", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "orgUnitPath": {"type": "string", "required": true, "repeated": true, "location": "path"}}, "request": {"$ref": "OrgUnit"}, "response": {"$ref": "OrgUnit"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.orgunit"]}}}', true)); + $this->users = new Google_UsersServiceResource($this, $this->serviceName, 'users', json_decode('{"methods": {"delete": {"id": "directory.users.delete", "path": "users/{userKey}", "httpMethod": "DELETE", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "get": {"id": "directory.users.get", "path": "users/{userKey}", "httpMethod": "GET", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "User"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.user.readonly"]}, "insert": {"id": "directory.users.insert", "path": "users", "httpMethod": "POST", "request": {"$ref": "User"}, "response": {"$ref": "User"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "list": {"id": "directory.users.list", "path": "users", "httpMethod": "GET", "parameters": {"customer": {"type": "string", "location": "query"}, "domain": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "500", "location": "query"}, "orderBy": {"type": "string", "enum": ["email", "familyName", "givenName"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "query": {"type": "string", "location": "query"}, "showDeleted": {"type": "string", "location": "query"}, "sortOrder": {"type": "string", "enum": ["ASCENDING", "DESCENDING"], "location": "query"}}, "response": {"$ref": "Users"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.user.readonly"]}, "makeAdmin": {"id": "directory.users.makeAdmin", "path": "users/{userKey}/makeAdmin", "httpMethod": "POST", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "UserMakeAdmin"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "patch": {"id": "directory.users.patch", "path": "users/{userKey}", "httpMethod": "PATCH", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "User"}, "response": {"$ref": "User"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "undelete": {"id": "directory.users.undelete", "path": "users/{userKey}/undelete", "httpMethod": "POST", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "UserUndelete"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "update": {"id": "directory.users.update", "path": "users/{userKey}", "httpMethod": "PUT", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "User"}, "response": {"$ref": "User"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}}}', true)); + $this->users_aliases = new Google_UsersAliasesServiceResource($this, $this->serviceName, 'aliases', json_decode('{"methods": {"delete": {"id": "directory.users.aliases.delete", "path": "users/{userKey}/aliases/{alias}", "httpMethod": "DELETE", "parameters": {"alias": {"type": "string", "required": true, "location": "path"}, "userKey": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.user.alias"]}, "insert": {"id": "directory.users.aliases.insert", "path": "users/{userKey}/aliases", "httpMethod": "POST", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Alias"}, "response": {"$ref": "Alias"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.user.alias"]}, "list": {"id": "directory.users.aliases.list", "path": "users/{userKey}/aliases", "httpMethod": "GET", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Aliases"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.user.alias", "https://www.googleapis.com/auth/admin.directory.user.alias.readonly", "https://www.googleapis.com/auth/admin.directory.user.readonly"]}}}', true)); + $this->users_photos = new Google_UsersPhotosServiceResource($this, $this->serviceName, 'photos', json_decode('{"methods": {"delete": {"id": "directory.users.photos.delete", "path": "users/{userKey}/photos/thumbnail", "httpMethod": "DELETE", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "get": {"id": "directory.users.photos.get", "path": "users/{userKey}/photos/thumbnail", "httpMethod": "GET", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "UserPhoto"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user", "https://www.googleapis.com/auth/admin.directory.user.readonly"]}, "patch": {"id": "directory.users.photos.patch", "path": "users/{userKey}/photos/thumbnail", "httpMethod": "PATCH", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "UserPhoto"}, "response": {"$ref": "UserPhoto"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}, "update": {"id": "directory.users.photos.update", "path": "users/{userKey}/photos/thumbnail", "httpMethod": "PUT", "parameters": {"userKey": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "UserPhoto"}, "response": {"$ref": "UserPhoto"}, "scopes": ["https://www.googleapis.com/auth/admin.directory.user"]}}}', true)); + + } +} + + + +class Google_Alias extends Google_Model { + public $alias; + public $id; + public $kind; + public $primaryEmail; + public function setAlias($alias) { + $this->alias = $alias; + } + public function getAlias() { + return $this->alias; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPrimaryEmail($primaryEmail) { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() { + return $this->primaryEmail; + } +} + +class Google_Aliases extends Google_Model { + protected $__aliasesType = 'Google_Alias'; + protected $__aliasesDataType = 'array'; + public $aliases; + public $kind; + public function setAliases(/* array(Google_Alias) */ $aliases) { + $this->assertIsArray($aliases, 'Google_Alias', __METHOD__); + $this->aliases = $aliases; + } + public function getAliases() { + return $this->aliases; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_ChromeOsDevice extends Google_Model { + public $annotatedLocation; + public $annotatedUser; + public $bootMode; + public $deviceId; + public $firmwareVersion; + public $kind; + public $lastEnrollmentTime; + public $lastSync; + public $macAddress; + public $meid; + public $model; + public $notes; + public $orderNumber; + public $orgUnitPath; + public $osVersion; + public $platformVersion; + public $serialNumber; + public $status; + public $supportEndDate; + public $willAutoRenew; + public function setAnnotatedLocation($annotatedLocation) { + $this->annotatedLocation = $annotatedLocation; + } + public function getAnnotatedLocation() { + return $this->annotatedLocation; + } + public function setAnnotatedUser($annotatedUser) { + $this->annotatedUser = $annotatedUser; + } + public function getAnnotatedUser() { + return $this->annotatedUser; + } + public function setBootMode($bootMode) { + $this->bootMode = $bootMode; + } + public function getBootMode() { + return $this->bootMode; + } + public function setDeviceId($deviceId) { + $this->deviceId = $deviceId; + } + public function getDeviceId() { + return $this->deviceId; + } + public function setFirmwareVersion($firmwareVersion) { + $this->firmwareVersion = $firmwareVersion; + } + public function getFirmwareVersion() { + return $this->firmwareVersion; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastEnrollmentTime($lastEnrollmentTime) { + $this->lastEnrollmentTime = $lastEnrollmentTime; + } + public function getLastEnrollmentTime() { + return $this->lastEnrollmentTime; + } + public function setLastSync($lastSync) { + $this->lastSync = $lastSync; + } + public function getLastSync() { + return $this->lastSync; + } + public function setMacAddress($macAddress) { + $this->macAddress = $macAddress; + } + public function getMacAddress() { + return $this->macAddress; + } + public function setMeid($meid) { + $this->meid = $meid; + } + public function getMeid() { + return $this->meid; + } + public function setModel($model) { + $this->model = $model; + } + public function getModel() { + return $this->model; + } + public function setNotes($notes) { + $this->notes = $notes; + } + public function getNotes() { + return $this->notes; + } + public function setOrderNumber($orderNumber) { + $this->orderNumber = $orderNumber; + } + public function getOrderNumber() { + return $this->orderNumber; + } + public function setOrgUnitPath($orgUnitPath) { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() { + return $this->orgUnitPath; + } + public function setOsVersion($osVersion) { + $this->osVersion = $osVersion; + } + public function getOsVersion() { + return $this->osVersion; + } + public function setPlatformVersion($platformVersion) { + $this->platformVersion = $platformVersion; + } + public function getPlatformVersion() { + return $this->platformVersion; + } + public function setSerialNumber($serialNumber) { + $this->serialNumber = $serialNumber; + } + public function getSerialNumber() { + return $this->serialNumber; + } + public function setStatus($status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setSupportEndDate($supportEndDate) { + $this->supportEndDate = $supportEndDate; + } + public function getSupportEndDate() { + return $this->supportEndDate; + } + public function setWillAutoRenew($willAutoRenew) { + $this->willAutoRenew = $willAutoRenew; + } + public function getWillAutoRenew() { + return $this->willAutoRenew; + } +} + +class Google_ChromeOsDevices extends Google_Model { + protected $__chromeosdevicesType = 'Google_ChromeOsDevice'; + protected $__chromeosdevicesDataType = 'array'; + public $chromeosdevices; + public $kind; + public $nextPageToken; + public function setChromeosdevices(/* array(Google_ChromeOsDevice) */ $chromeosdevices) { + $this->assertIsArray($chromeosdevices, 'Google_ChromeOsDevice', __METHOD__); + $this->chromeosdevices = $chromeosdevices; + } + public function getChromeosdevices() { + return $this->chromeosdevices; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Group extends Google_Model { + public $adminCreated; + public $aliases; + public $description; + public $email; + public $id; + public $kind; + public $name; + public $nonEditableAliases; + public function setAdminCreated($adminCreated) { + $this->adminCreated = $adminCreated; + } + public function getAdminCreated() { + return $this->adminCreated; + } + public function setAliases(/* array(Google_string) */ $aliases) { + $this->assertIsArray($aliases, 'Google_string', __METHOD__); + $this->aliases = $aliases; + } + public function getAliases() { + return $this->aliases; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEmail($email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNonEditableAliases(/* array(Google_string) */ $nonEditableAliases) { + $this->assertIsArray($nonEditableAliases, 'Google_string', __METHOD__); + $this->nonEditableAliases = $nonEditableAliases; + } + public function getNonEditableAliases() { + return $this->nonEditableAliases; + } +} + +class Google_Groups extends Google_Model { + protected $__groupsType = 'Google_Group'; + protected $__groupsDataType = 'array'; + public $groups; + public $kind; + public $nextPageToken; + public function setGroups(/* array(Google_Group) */ $groups) { + $this->assertIsArray($groups, 'Google_Group', __METHOD__); + $this->groups = $groups; + } + public function getGroups() { + return $this->groups; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Member extends Google_Model { + public $email; + public $id; + public $kind; + public $role; + public $type; + public function setEmail($email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRole($role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Members extends Google_Model { + public $kind; + protected $__membersType = 'Google_Member'; + protected $__membersDataType = 'array'; + public $members; + public $nextPageToken; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMembers(/* array(Google_Member) */ $members) { + $this->assertIsArray($members, 'Google_Member', __METHOD__); + $this->members = $members; + } + public function getMembers() { + return $this->members; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_MobileDevice extends Google_Model { + protected $__applicationsType = 'Google_MobileDeviceApplications'; + protected $__applicationsDataType = 'array'; + public $applications; + public $deviceId; + public $email; + public $firstSync; + public $hardwareId; + public $kind; + public $lastSync; + public $model; + public $name; + public $os; + public $resourceId; + public $status; + public $type; + public $userAgent; + public function setApplications(/* array(Google_MobileDeviceApplications) */ $applications) { + $this->assertIsArray($applications, 'Google_MobileDeviceApplications', __METHOD__); + $this->applications = $applications; + } + public function getApplications() { + return $this->applications; + } + public function setDeviceId($deviceId) { + $this->deviceId = $deviceId; + } + public function getDeviceId() { + return $this->deviceId; + } + public function setEmail(/* array(Google_string) */ $email) { + $this->assertIsArray($email, 'Google_string', __METHOD__); + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setFirstSync($firstSync) { + $this->firstSync = $firstSync; + } + public function getFirstSync() { + return $this->firstSync; + } + public function setHardwareId($hardwareId) { + $this->hardwareId = $hardwareId; + } + public function getHardwareId() { + return $this->hardwareId; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastSync($lastSync) { + $this->lastSync = $lastSync; + } + public function getLastSync() { + return $this->lastSync; + } + public function setModel($model) { + $this->model = $model; + } + public function getModel() { + return $this->model; + } + public function setName(/* array(Google_string) */ $name) { + $this->assertIsArray($name, 'Google_string', __METHOD__); + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOs($os) { + $this->os = $os; + } + public function getOs() { + return $this->os; + } + public function setResourceId($resourceId) { + $this->resourceId = $resourceId; + } + public function getResourceId() { + return $this->resourceId; + } + public function setStatus($status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUserAgent($userAgent) { + $this->userAgent = $userAgent; + } + public function getUserAgent() { + return $this->userAgent; + } +} + +class Google_MobileDeviceAction extends Google_Model { + public $action; + public function setAction($action) { + $this->action = $action; + } + public function getAction() { + return $this->action; + } +} + +class Google_MobileDeviceApplications extends Google_Model { + public $displayName; + public $packageName; + public $permission; + public $versionCode; + public $versionName; + public function setDisplayName($displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setPackageName($packageName) { + $this->packageName = $packageName; + } + public function getPackageName() { + return $this->packageName; + } + public function setPermission(/* array(Google_string) */ $permission) { + $this->assertIsArray($permission, 'Google_string', __METHOD__); + $this->permission = $permission; + } + public function getPermission() { + return $this->permission; + } + public function setVersionCode($versionCode) { + $this->versionCode = $versionCode; + } + public function getVersionCode() { + return $this->versionCode; + } + public function setVersionName($versionName) { + $this->versionName = $versionName; + } + public function getVersionName() { + return $this->versionName; + } +} + +class Google_MobileDevices extends Google_Model { + public $kind; + protected $__mobiledevicesType = 'Google_MobileDevice'; + protected $__mobiledevicesDataType = 'array'; + public $mobiledevices; + public $nextPageToken; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMobiledevices(/* array(Google_MobileDevice) */ $mobiledevices) { + $this->assertIsArray($mobiledevices, 'Google_MobileDevice', __METHOD__); + $this->mobiledevices = $mobiledevices; + } + public function getMobiledevices() { + return $this->mobiledevices; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_OrgUnit extends Google_Model { + public $blockInheritance; + public $description; + public $kind; + public $name; + public $orgUnitPath; + public $parentOrgUnitPath; + public function setBlockInheritance($blockInheritance) { + $this->blockInheritance = $blockInheritance; + } + public function getBlockInheritance() { + return $this->blockInheritance; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOrgUnitPath($orgUnitPath) { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() { + return $this->orgUnitPath; + } + public function setParentOrgUnitPath($parentOrgUnitPath) { + $this->parentOrgUnitPath = $parentOrgUnitPath; + } + public function getParentOrgUnitPath() { + return $this->parentOrgUnitPath; + } +} + +class Google_OrgUnits extends Google_Model { + public $kind; + protected $__organizationUnitsType = 'Google_OrgUnit'; + protected $__organizationUnitsDataType = 'array'; + public $organizationUnits; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOrganizationUnits(/* array(Google_OrgUnit) */ $organizationUnits) { + $this->assertIsArray($organizationUnits, 'Google_OrgUnit', __METHOD__); + $this->organizationUnits = $organizationUnits; + } + public function getOrganizationUnits() { + return $this->organizationUnits; + } +} + +class Google_User extends Google_Model { + protected $__addressesType = 'Google_UserAddress'; + protected $__addressesDataType = 'array'; + public $addresses; + public $agreedToTerms; + public $aliases; + public $changePasswordAtNextLogin; + public $creationTime; + public $customerId; + protected $__emailsType = 'Google_UserEmail'; + protected $__emailsDataType = 'array'; + public $emails; + protected $__externalIdsType = 'Google_UserExternalId'; + protected $__externalIdsDataType = 'array'; + public $externalIds; + public $hashFunction; + public $id; + protected $__imsType = 'Google_UserIm'; + protected $__imsDataType = 'array'; + public $ims; + public $includeInGlobalAddressList; + public $ipWhitelisted; + public $isAdmin; + public $isDelegatedAdmin; + public $isMailboxSetup; + public $kind; + public $lastLoginTime; + protected $__nameType = 'Google_UserName'; + protected $__nameDataType = ''; + public $name; + public $nonEditableAliases; + public $orgUnitPath; + protected $__organizationsType = 'Google_UserOrganization'; + protected $__organizationsDataType = 'array'; + public $organizations; + public $password; + protected $__phonesType = 'Google_UserPhone'; + protected $__phonesDataType = 'array'; + public $phones; + public $primaryEmail; + protected $__relationsType = 'Google_UserRelation'; + protected $__relationsDataType = 'array'; + public $relations; + public $suspended; + public $suspensionReason; + public $thumbnailPhotoUrl; + public function setAddresses(/* array(Google_UserAddress) */ $addresses) { + $this->assertIsArray($addresses, 'Google_UserAddress', __METHOD__); + $this->addresses = $addresses; + } + public function getAddresses() { + return $this->addresses; + } + public function setAgreedToTerms($agreedToTerms) { + $this->agreedToTerms = $agreedToTerms; + } + public function getAgreedToTerms() { + return $this->agreedToTerms; + } + public function setAliases(/* array(Google_string) */ $aliases) { + $this->assertIsArray($aliases, 'Google_string', __METHOD__); + $this->aliases = $aliases; + } + public function getAliases() { + return $this->aliases; + } + public function setChangePasswordAtNextLogin($changePasswordAtNextLogin) { + $this->changePasswordAtNextLogin = $changePasswordAtNextLogin; + } + public function getChangePasswordAtNextLogin() { + return $this->changePasswordAtNextLogin; + } + public function setCreationTime($creationTime) { + $this->creationTime = $creationTime; + } + public function getCreationTime() { + return $this->creationTime; + } + public function setCustomerId($customerId) { + $this->customerId = $customerId; + } + public function getCustomerId() { + return $this->customerId; + } + public function setEmails(/* array(Google_UserEmail) */ $emails) { + $this->assertIsArray($emails, 'Google_UserEmail', __METHOD__); + $this->emails = $emails; + } + public function getEmails() { + return $this->emails; + } + public function setExternalIds(/* array(Google_UserExternalId) */ $externalIds) { + $this->assertIsArray($externalIds, 'Google_UserExternalId', __METHOD__); + $this->externalIds = $externalIds; + } + public function getExternalIds() { + return $this->externalIds; + } + public function setHashFunction($hashFunction) { + $this->hashFunction = $hashFunction; + } + public function getHashFunction() { + return $this->hashFunction; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIms(/* array(Google_UserIm) */ $ims) { + $this->assertIsArray($ims, 'Google_UserIm', __METHOD__); + $this->ims = $ims; + } + public function getIms() { + return $this->ims; + } + public function setIncludeInGlobalAddressList($includeInGlobalAddressList) { + $this->includeInGlobalAddressList = $includeInGlobalAddressList; + } + public function getIncludeInGlobalAddressList() { + return $this->includeInGlobalAddressList; + } + public function setIpWhitelisted($ipWhitelisted) { + $this->ipWhitelisted = $ipWhitelisted; + } + public function getIpWhitelisted() { + return $this->ipWhitelisted; + } + public function setIsAdmin($isAdmin) { + $this->isAdmin = $isAdmin; + } + public function getIsAdmin() { + return $this->isAdmin; + } + public function setIsDelegatedAdmin($isDelegatedAdmin) { + $this->isDelegatedAdmin = $isDelegatedAdmin; + } + public function getIsDelegatedAdmin() { + return $this->isDelegatedAdmin; + } + public function setIsMailboxSetup($isMailboxSetup) { + $this->isMailboxSetup = $isMailboxSetup; + } + public function getIsMailboxSetup() { + return $this->isMailboxSetup; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastLoginTime($lastLoginTime) { + $this->lastLoginTime = $lastLoginTime; + } + public function getLastLoginTime() { + return $this->lastLoginTime; + } + public function setName(Google_UserName $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNonEditableAliases(/* array(Google_string) */ $nonEditableAliases) { + $this->assertIsArray($nonEditableAliases, 'Google_string', __METHOD__); + $this->nonEditableAliases = $nonEditableAliases; + } + public function getNonEditableAliases() { + return $this->nonEditableAliases; + } + public function setOrgUnitPath($orgUnitPath) { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() { + return $this->orgUnitPath; + } + public function setOrganizations(/* array(Google_UserOrganization) */ $organizations) { + $this->assertIsArray($organizations, 'Google_UserOrganization', __METHOD__); + $this->organizations = $organizations; + } + public function getOrganizations() { + return $this->organizations; + } + public function setPassword($password) { + $this->password = $password; + } + public function getPassword() { + return $this->password; + } + public function setPhones(/* array(Google_UserPhone) */ $phones) { + $this->assertIsArray($phones, 'Google_UserPhone', __METHOD__); + $this->phones = $phones; + } + public function getPhones() { + return $this->phones; + } + public function setPrimaryEmail($primaryEmail) { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() { + return $this->primaryEmail; + } + public function setRelations(/* array(Google_UserRelation) */ $relations) { + $this->assertIsArray($relations, 'Google_UserRelation', __METHOD__); + $this->relations = $relations; + } + public function getRelations() { + return $this->relations; + } + public function setSuspended($suspended) { + $this->suspended = $suspended; + } + public function getSuspended() { + return $this->suspended; + } + public function setSuspensionReason($suspensionReason) { + $this->suspensionReason = $suspensionReason; + } + public function getSuspensionReason() { + return $this->suspensionReason; + } + public function setThumbnailPhotoUrl($thumbnailPhotoUrl) { + $this->thumbnailPhotoUrl = $thumbnailPhotoUrl; + } + public function getThumbnailPhotoUrl() { + return $this->thumbnailPhotoUrl; + } +} + +class Google_UserAddress extends Google_Model { + public $country; + public $countryCode; + public $customType; + public $extendedAddress; + public $formatted; + public $locality; + public $poBox; + public $postalCode; + public $primary; + public $region; + public $sourceIsStructured; + public $streetAddress; + public $type; + public function setCountry($country) { + $this->country = $country; + } + public function getCountry() { + return $this->country; + } + public function setCountryCode($countryCode) { + $this->countryCode = $countryCode; + } + public function getCountryCode() { + return $this->countryCode; + } + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setExtendedAddress($extendedAddress) { + $this->extendedAddress = $extendedAddress; + } + public function getExtendedAddress() { + return $this->extendedAddress; + } + public function setFormatted($formatted) { + $this->formatted = $formatted; + } + public function getFormatted() { + return $this->formatted; + } + public function setLocality($locality) { + $this->locality = $locality; + } + public function getLocality() { + return $this->locality; + } + public function setPoBox($poBox) { + $this->poBox = $poBox; + } + public function getPoBox() { + return $this->poBox; + } + public function setPostalCode($postalCode) { + $this->postalCode = $postalCode; + } + public function getPostalCode() { + return $this->postalCode; + } + public function setPrimary($primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setRegion($region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setSourceIsStructured($sourceIsStructured) { + $this->sourceIsStructured = $sourceIsStructured; + } + public function getSourceIsStructured() { + return $this->sourceIsStructured; + } + public function setStreetAddress($streetAddress) { + $this->streetAddress = $streetAddress; + } + public function getStreetAddress() { + return $this->streetAddress; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_UserEmail extends Google_Model { + public $address; + public $customType; + public $primary; + public $type; + public function setAddress($address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setPrimary($primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_UserExternalId extends Google_Model { + public $customType; + public $type; + public $value; + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue($value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_UserIm extends Google_Model { + public $customProtocol; + public $customType; + public $im; + public $primary; + public $protocol; + public $type; + public function setCustomProtocol($customProtocol) { + $this->customProtocol = $customProtocol; + } + public function getCustomProtocol() { + return $this->customProtocol; + } + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setIm($im) { + $this->im = $im; + } + public function getIm() { + return $this->im; + } + public function setPrimary($primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setProtocol($protocol) { + $this->protocol = $protocol; + } + public function getProtocol() { + return $this->protocol; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_UserMakeAdmin extends Google_Model { + public $status; + public function setStatus($status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_UserName extends Google_Model { + public $familyName; + public $fullName; + public $givenName; + public function setFamilyName($familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setFullName($fullName) { + $this->fullName = $fullName; + } + public function getFullName() { + return $this->fullName; + } + public function setGivenName($givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } +} + +class Google_UserOrganization extends Google_Model { + public $costCenter; + public $customType; + public $department; + public $description; + public $domain; + public $location; + public $name; + public $primary; + public $symbol; + public $title; + public $type; + public function setCostCenter($costCenter) { + $this->costCenter = $costCenter; + } + public function getCostCenter() { + return $this->costCenter; + } + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setDepartment($department) { + $this->department = $department; + } + public function getDepartment() { + return $this->department; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDomain($domain) { + $this->domain = $domain; + } + public function getDomain() { + return $this->domain; + } + public function setLocation($location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPrimary($primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setSymbol($symbol) { + $this->symbol = $symbol; + } + public function getSymbol() { + return $this->symbol; + } + public function setTitle($title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_UserPhone extends Google_Model { + public $customType; + public $primary; + public $type; + public $value; + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setPrimary($primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue($value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_UserPhoto extends Google_Model { + public $height; + public $id; + public $kind; + public $mimeType; + public $photoData; + public $primaryEmail; + public $width; + public function setHeight($height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMimeType($mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } + public function setPhotoData($photoData) { + $this->photoData = $photoData; + } + public function getPhotoData() { + return $this->photoData; + } + public function setPrimaryEmail($primaryEmail) { + $this->primaryEmail = $primaryEmail; + } + public function getPrimaryEmail() { + return $this->primaryEmail; + } + public function setWidth($width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_UserRelation extends Google_Model { + public $customType; + public $type; + public $value; + public function setCustomType($customType) { + $this->customType = $customType; + } + public function getCustomType() { + return $this->customType; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue($value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_UserUndelete extends Google_Model { + public $orgUnitPath; + public function setOrgUnitPath($orgUnitPath) { + $this->orgUnitPath = $orgUnitPath; + } + public function getOrgUnitPath() { + return $this->orgUnitPath; + } +} + +class Google_Users extends Google_Model { + public $kind; + public $nextPageToken; + public $trigger_event; + protected $__usersType = 'Google_User'; + protected $__usersDataType = 'array'; + public $users; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken($nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTrigger_event($trigger_event) { + $this->trigger_event = $trigger_event; + } + public function getTrigger_event() { + return $this->trigger_event; + } + public function setUsers(/* array(Google_User) */ $users) { + $this->assertIsArray($users, 'Google_User', __METHOD__); + $this->users = $users; + } + public function getUsers() { + return $this->users; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DriveService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DriveService.php new file mode 100644 index 0000000..66703d0 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_DriveService.php @@ -0,0 +1,3381 @@ + + * $driveService = new Google_DriveService(...); + * $about = $driveService->about; + * + */ + class Google_AboutServiceResource extends Google_ServiceResource { + + /** + * Gets the information about the current user along with Drive API settings (about.get) + * + * @param array $optParams Optional parameters. + * + * @opt_param bool includeSubscribed When calculating the number of remaining change IDs, whether to include shared files and public files the user has opened. When set to false, this counts only change IDs for owned files and any shared or public files that the user has explictly added to a folder in Drive. + * @opt_param string maxChangeIdCount Maximum number of remaining change IDs to count + * @opt_param string startChangeId Change ID to start counting from when calculating number of remaining change IDs + * @return Google_About + */ + public function get($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_About($data); + } else { + return $data; + } + } + } + + /** + * The "apps" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $apps = $driveService->apps; + * + */ + class Google_AppsServiceResource extends Google_ServiceResource { + + /** + * Gets a specific app. (apps.get) + * + * @param string $appId The ID of the app. + * @param array $optParams Optional parameters. + * @return Google_App + */ + public function get($appId, $optParams = array()) { + $params = array('appId' => $appId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_App($data); + } else { + return $data; + } + } + /** + * Lists a user's installed apps. (apps.list) + * + * @param array $optParams Optional parameters. + * @return Google_AppList + */ + public function listApps($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AppList($data); + } else { + return $data; + } + } + } + + /** + * The "changes" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $changes = $driveService->changes; + * + */ + class Google_ChangesServiceResource extends Google_ServiceResource { + + /** + * Gets a specific change. (changes.get) + * + * @param string $changeId The ID of the change. + * @param array $optParams Optional parameters. + * @return Google_Change + */ + public function get($changeId, $optParams = array()) { + $params = array('changeId' => $changeId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Change($data); + } else { + return $data; + } + } + /** + * Lists the changes for a user. (changes.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted Whether to include deleted items. + * @opt_param bool includeSubscribed Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive. + * @opt_param int maxResults Maximum number of changes to return. + * @opt_param string pageToken Page token for changes. + * @opt_param string startChangeId Change ID to start listing changes from. + * @return Google_ChangeList + */ + public function listChanges($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ChangeList($data); + } else { + return $data; + } + } + /** + * Subscribe to changes for a user. (changes.watch) + * + * @param Google_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted Whether to include deleted items. + * @opt_param bool includeSubscribed Whether to include shared files and public files the user has opened. When set to false, the list will include owned files plus any shared or public files the user has explictly added to a folder in Drive. + * @opt_param int maxResults Maximum number of changes to return. + * @opt_param string pageToken Page token for changes. + * @opt_param string startChangeId Change ID to start listing changes from. + * @return Google_Channel + */ + public function watch(Google_Channel $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('watch', array($params)); + if ($this->useObjects()) { + return new Google_Channel($data); + } else { + return $data; + } + } + } + + /** + * The "channels" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $channels = $driveService->channels; + * + */ + class Google_ChannelsServiceResource extends Google_ServiceResource { + + /** + * (channels.stop) + * + * @param Google_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Channel $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('stop', array($params)); + return $data; + } + } + + /** + * The "children" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $children = $driveService->children; + * + */ + class Google_ChildrenServiceResource extends Google_ServiceResource { + + /** + * Removes a child from a folder. (children.delete) + * + * @param string $folderId The ID of the folder. + * @param string $childId The ID of the child. + * @param array $optParams Optional parameters. + */ + public function delete($folderId, $childId, $optParams = array()) { + $params = array('folderId' => $folderId, 'childId' => $childId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a specific child reference. (children.get) + * + * @param string $folderId The ID of the folder. + * @param string $childId The ID of the child. + * @param array $optParams Optional parameters. + * @return Google_ChildReference + */ + public function get($folderId, $childId, $optParams = array()) { + $params = array('folderId' => $folderId, 'childId' => $childId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ChildReference($data); + } else { + return $data; + } + } + /** + * Inserts a file into a folder. (children.insert) + * + * @param string $folderId The ID of the folder. + * @param Google_ChildReference $postBody + * @param array $optParams Optional parameters. + * @return Google_ChildReference + */ + public function insert($folderId, Google_ChildReference $postBody, $optParams = array()) { + $params = array('folderId' => $folderId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_ChildReference($data); + } else { + return $data; + } + } + /** + * Lists a folder's children. (children.list) + * + * @param string $folderId The ID of the folder. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of children to return. + * @opt_param string pageToken Page token for children. + * @opt_param string q Query string for searching children. + * @return Google_ChildList + */ + public function listChildren($folderId, $optParams = array()) { + $params = array('folderId' => $folderId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ChildList($data); + } else { + return $data; + } + } + } + + /** + * The "comments" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $comments = $driveService->comments; + * + */ + class Google_CommentsServiceResource extends Google_ServiceResource { + + /** + * Deletes a comment. (comments.delete) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $commentId, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a comment by ID. (comments.get) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted If set, this will succeed when retrieving a deleted comment, and will include any deleted replies. + * @return Google_Comment + */ + public function get($fileId, $commentId, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Creates a new comment on the given file. (comments.insert) + * + * @param string $fileId The ID of the file. + * @param Google_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function insert($fileId, Google_Comment $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Lists a file's comments. (comments.list) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned. + * @opt_param int maxResults The maximum number of discussions to include in the response, used for paging. + * @opt_param string pageToken The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @opt_param string updatedMin Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp. + * @return Google_CommentList + */ + public function listComments($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommentList($data); + } else { + return $data; + } + } + /** + * Updates an existing comment. This method supports patch semantics. (comments.patch) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param Google_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function patch($fileId, $commentId, Google_Comment $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Updates an existing comment. (comments.update) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param Google_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function update($fileId, $commentId, Google_Comment $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + } + + /** + * The "files" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $files = $driveService->files; + * + */ + class Google_FilesServiceResource extends Google_ServiceResource { + + /** + * Creates a copy of the specified file. (files.copy) + * + * @param string $fileId The ID of the file to copy. + * @param Google_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format. + * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes. + * @opt_param bool pinned Whether to pin the head revision of the new copy. + * @opt_param string timedTextLanguage The language of the timed text. + * @opt_param string timedTextTrackName The timed text track name. + * @opt_param string visibility The visibility of the new file. This parameter is only relevant when the source is not a native Google Doc and convert=false. + * @return Google_DriveFile + */ + public function copy($fileId, Google_DriveFile $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('copy', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Permanently deletes a file by ID. Skips the trash. (files.delete) + * + * @param string $fileId The ID of the file to delete. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a file's metadata by ID. (files.get) + * + * @param string $fileId The ID for the file in question. + * @param array $optParams Optional parameters. + * + * @opt_param string projection This parameter is deprecated and has no function. + * @opt_param bool updateViewedDate Whether to update the view date after successfully retrieving the file. + * @return Google_DriveFile + */ + public function get($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Insert a new file. (files.insert) + * + * @param Google_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format. + * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes. + * @opt_param bool pinned Whether to pin the head revision of the uploaded file. + * @opt_param string timedTextLanguage The language of the timed text. + * @opt_param string timedTextTrackName The timed text track name. + * @opt_param bool useContentAsIndexableText Whether to use the content as indexable text. + * @opt_param string visibility The visibility of the new file. This parameter is only relevant when convert=false. + * @return Google_DriveFile + */ + public function insert(Google_DriveFile $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Lists the user's files. (files.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of files to return. + * @opt_param string pageToken Page token for files. + * @opt_param string projection This parameter is deprecated and has no function. + * @opt_param string q Query string for searching files. + * @return Google_FileList + */ + public function listFiles($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_FileList($data); + } else { + return $data; + } + } + /** + * Updates file metadata and/or content. This method supports patch semantics. (files.patch) + * + * @param string $fileId The ID of the file to update. + * @param Google_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format. + * @opt_param bool newRevision Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota). + * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes. + * @opt_param bool pinned Whether to pin the new revision. + * @opt_param bool setModifiedDate Whether to set the modified date with the supplied modified date. + * @opt_param string timedTextLanguage The language of the timed text. + * @opt_param string timedTextTrackName The timed text track name. + * @opt_param bool updateViewedDate Whether to update the view date after successfully updating the file. + * @opt_param bool useContentAsIndexableText Whether to use the content as indexable text. + * @return Google_DriveFile + */ + public function patch($fileId, Google_DriveFile $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Set the file's updated time to the current server time. (files.touch) + * + * @param string $fileId The ID of the file to update. + * @param array $optParams Optional parameters. + * @return Google_DriveFile + */ + public function touch($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('touch', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Moves a file to the trash. (files.trash) + * + * @param string $fileId The ID of the file to trash. + * @param array $optParams Optional parameters. + * @return Google_DriveFile + */ + public function trash($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('trash', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Restores a file from the trash. (files.untrash) + * + * @param string $fileId The ID of the file to untrash. + * @param array $optParams Optional parameters. + * @return Google_DriveFile + */ + public function untrash($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('untrash', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Updates file metadata and/or content. (files.update) + * + * @param string $fileId The ID of the file to update. + * @param Google_DriveFile $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool convert Whether to convert this file to the corresponding Google Docs format. + * @opt_param bool newRevision Whether a blob upload should create a new revision. If not set or false, the blob data in the current head revision is replaced. If true, a new blob is created as head revision, and previous revisions are preserved (causing increased use of the user's data storage quota). + * @opt_param bool ocr Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. + * @opt_param string ocrLanguage If ocr is true, hints at the language to use. Valid values are ISO 639-1 codes. + * @opt_param bool pinned Whether to pin the new revision. + * @opt_param bool setModifiedDate Whether to set the modified date with the supplied modified date. + * @opt_param string timedTextLanguage The language of the timed text. + * @opt_param string timedTextTrackName The timed text track name. + * @opt_param bool updateViewedDate Whether to update the view date after successfully updating the file. + * @opt_param bool useContentAsIndexableText Whether to use the content as indexable text. + * @return Google_DriveFile + */ + public function update($fileId, Google_DriveFile $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_DriveFile($data); + } else { + return $data; + } + } + /** + * Subscribe to changes on a file (files.watch) + * + * @param string $fileId The ID for the file in question. + * @param Google_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projection This parameter is deprecated and has no function. + * @opt_param bool updateViewedDate Whether to update the view date after successfully retrieving the file. + * @return Google_Channel + */ + public function watch($fileId, Google_Channel $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('watch', array($params)); + if ($this->useObjects()) { + return new Google_Channel($data); + } else { + return $data; + } + } + } + + /** + * The "parents" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $parents = $driveService->parents; + * + */ + class Google_ParentsServiceResource extends Google_ServiceResource { + + /** + * Removes a parent from a file. (parents.delete) + * + * @param string $fileId The ID of the file. + * @param string $parentId The ID of the parent. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $parentId, $optParams = array()) { + $params = array('fileId' => $fileId, 'parentId' => $parentId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a specific parent reference. (parents.get) + * + * @param string $fileId The ID of the file. + * @param string $parentId The ID of the parent. + * @param array $optParams Optional parameters. + * @return Google_ParentReference + */ + public function get($fileId, $parentId, $optParams = array()) { + $params = array('fileId' => $fileId, 'parentId' => $parentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ParentReference($data); + } else { + return $data; + } + } + /** + * Adds a parent folder for a file. (parents.insert) + * + * @param string $fileId The ID of the file. + * @param Google_ParentReference $postBody + * @param array $optParams Optional parameters. + * @return Google_ParentReference + */ + public function insert($fileId, Google_ParentReference $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_ParentReference($data); + } else { + return $data; + } + } + /** + * Lists a file's parents. (parents.list) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * @return Google_ParentList + */ + public function listParents($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ParentList($data); + } else { + return $data; + } + } + } + + /** + * The "permissions" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $permissions = $driveService->permissions; + * + */ + class Google_PermissionsServiceResource extends Google_ServiceResource { + + /** + * Deletes a permission from a file. (permissions.delete) + * + * @param string $fileId The ID for the file. + * @param string $permissionId The ID for the permission. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $permissionId, $optParams = array()) { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a permission by ID. (permissions.get) + * + * @param string $fileId The ID for the file. + * @param string $permissionId The ID for the permission. + * @param array $optParams Optional parameters. + * @return Google_Permission + */ + public function get($fileId, $permissionId, $optParams = array()) { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Permission($data); + } else { + return $data; + } + } + /** + * Inserts a permission for a file. (permissions.insert) + * + * @param string $fileId The ID for the file. + * @param Google_Permission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string emailMessage A custom message to include in notification emails. + * @opt_param bool sendNotificationEmails Whether to send notification emails when sharing to users or groups. + * @return Google_Permission + */ + public function insert($fileId, Google_Permission $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Permission($data); + } else { + return $data; + } + } + /** + * Lists a file's permissions. (permissions.list) + * + * @param string $fileId The ID for the file. + * @param array $optParams Optional parameters. + * @return Google_PermissionList + */ + public function listPermissions($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PermissionList($data); + } else { + return $data; + } + } + /** + * Updates a permission. This method supports patch semantics. (permissions.patch) + * + * @param string $fileId The ID for the file. + * @param string $permissionId The ID for the permission. + * @param Google_Permission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool transferOwnership Whether changing a role to 'owner' should also downgrade the current owners to writers. + * @return Google_Permission + */ + public function patch($fileId, $permissionId, Google_Permission $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Permission($data); + } else { + return $data; + } + } + /** + * Updates a permission. (permissions.update) + * + * @param string $fileId The ID for the file. + * @param string $permissionId The ID for the permission. + * @param Google_Permission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool transferOwnership Whether changing a role to 'owner' should also downgrade the current owners to writers. + * @return Google_Permission + */ + public function update($fileId, $permissionId, Google_Permission $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'permissionId' => $permissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Permission($data); + } else { + return $data; + } + } + } + + /** + * The "properties" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $properties = $driveService->properties; + * + */ + class Google_PropertiesServiceResource extends Google_ServiceResource { + + /** + * Deletes a property. (properties.delete) + * + * @param string $fileId The ID of the file. + * @param string $propertyKey The key of the property. + * @param array $optParams Optional parameters. + * + * @opt_param string visibility The visibility of the property. + */ + public function delete($fileId, $propertyKey, $optParams = array()) { + $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a property by its key. (properties.get) + * + * @param string $fileId The ID of the file. + * @param string $propertyKey The key of the property. + * @param array $optParams Optional parameters. + * + * @opt_param string visibility The visibility of the property. + * @return Google_Property + */ + public function get($fileId, $propertyKey, $optParams = array()) { + $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Property($data); + } else { + return $data; + } + } + /** + * Adds a property to a file. (properties.insert) + * + * @param string $fileId The ID of the file. + * @param Google_Property $postBody + * @param array $optParams Optional parameters. + * @return Google_Property + */ + public function insert($fileId, Google_Property $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Property($data); + } else { + return $data; + } + } + /** + * Lists a file's properties. (properties.list) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * @return Google_PropertyList + */ + public function listProperties($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PropertyList($data); + } else { + return $data; + } + } + /** + * Updates a property. This method supports patch semantics. (properties.patch) + * + * @param string $fileId The ID of the file. + * @param string $propertyKey The key of the property. + * @param Google_Property $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string visibility The visibility of the property. + * @return Google_Property + */ + public function patch($fileId, $propertyKey, Google_Property $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Property($data); + } else { + return $data; + } + } + /** + * Updates a property. (properties.update) + * + * @param string $fileId The ID of the file. + * @param string $propertyKey The key of the property. + * @param Google_Property $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string visibility The visibility of the property. + * @return Google_Property + */ + public function update($fileId, $propertyKey, Google_Property $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'propertyKey' => $propertyKey, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Property($data); + } else { + return $data; + } + } + } + + /** + * The "realtime" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $realtime = $driveService->realtime; + * + */ + class Google_RealtimeServiceResource extends Google_ServiceResource { + + /** + * Exports the contents of the Realtime API data model associated with this file as JSON. + * (realtime.get) + * + * @param string $fileId The ID of the file that the Realtime API data model is associated with. + * @param array $optParams Optional parameters. + */ + public function get($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + return $data; + } + } + + /** + * The "replies" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $replies = $driveService->replies; + * + */ + class Google_RepliesServiceResource extends Google_ServiceResource { + + /** + * Deletes a reply. (replies.delete) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $commentId, $replyId, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a reply. (replies.get) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted If set, this will succeed when retrieving a deleted reply. + * @return Google_CommentReply + */ + public function get($fileId, $commentId, $replyId, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_CommentReply($data); + } else { + return $data; + } + } + /** + * Creates a new reply to the given comment. (replies.insert) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param Google_CommentReply $postBody + * @param array $optParams Optional parameters. + * @return Google_CommentReply + */ + public function insert($fileId, $commentId, Google_CommentReply $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommentReply($data); + } else { + return $data; + } + } + /** + * Lists all of the replies to a comment. (replies.list) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param array $optParams Optional parameters. + * + * @opt_param bool includeDeleted If set, all replies, including deleted replies (with content stripped) will be returned. + * @opt_param int maxResults The maximum number of replies to include in the response, used for paging. + * @opt_param string pageToken The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_CommentReplyList + */ + public function listReplies($fileId, $commentId, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommentReplyList($data); + } else { + return $data; + } + } + /** + * Updates an existing reply. This method supports patch semantics. (replies.patch) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param Google_CommentReply $postBody + * @param array $optParams Optional parameters. + * @return Google_CommentReply + */ + public function patch($fileId, $commentId, $replyId, Google_CommentReply $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_CommentReply($data); + } else { + return $data; + } + } + /** + * Updates an existing reply. (replies.update) + * + * @param string $fileId The ID of the file. + * @param string $commentId The ID of the comment. + * @param string $replyId The ID of the reply. + * @param Google_CommentReply $postBody + * @param array $optParams Optional parameters. + * @return Google_CommentReply + */ + public function update($fileId, $commentId, $replyId, Google_CommentReply $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'commentId' => $commentId, 'replyId' => $replyId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_CommentReply($data); + } else { + return $data; + } + } + } + + /** + * The "revisions" collection of methods. + * Typical usage is: + * + * $driveService = new Google_DriveService(...); + * $revisions = $driveService->revisions; + * + */ + class Google_RevisionsServiceResource extends Google_ServiceResource { + + /** + * Removes a revision. (revisions.delete) + * + * @param string $fileId The ID of the file. + * @param string $revisionId The ID of the revision. + * @param array $optParams Optional parameters. + */ + public function delete($fileId, $revisionId, $optParams = array()) { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a specific revision. (revisions.get) + * + * @param string $fileId The ID of the file. + * @param string $revisionId The ID of the revision. + * @param array $optParams Optional parameters. + * @return Google_Revision + */ + public function get($fileId, $revisionId, $optParams = array()) { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Revision($data); + } else { + return $data; + } + } + /** + * Lists a file's revisions. (revisions.list) + * + * @param string $fileId The ID of the file. + * @param array $optParams Optional parameters. + * @return Google_RevisionList + */ + public function listRevisions($fileId, $optParams = array()) { + $params = array('fileId' => $fileId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_RevisionList($data); + } else { + return $data; + } + } + /** + * Updates a revision. This method supports patch semantics. (revisions.patch) + * + * @param string $fileId The ID for the file. + * @param string $revisionId The ID for the revision. + * @param Google_Revision $postBody + * @param array $optParams Optional parameters. + * @return Google_Revision + */ + public function patch($fileId, $revisionId, Google_Revision $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Revision($data); + } else { + return $data; + } + } + /** + * Updates a revision. (revisions.update) + * + * @param string $fileId The ID for the file. + * @param string $revisionId The ID for the revision. + * @param Google_Revision $postBody + * @param array $optParams Optional parameters. + * @return Google_Revision + */ + public function update($fileId, $revisionId, Google_Revision $postBody, $optParams = array()) { + $params = array('fileId' => $fileId, 'revisionId' => $revisionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Revision($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Drive (v2). + * + *

    + * The API to interact with Drive. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_DriveService extends Google_Service { + public $about; + public $apps; + public $changes; + public $channels; + public $children; + public $comments; + public $files; + public $parents; + public $permissions; + public $properties; + public $realtime; + public $replies; + public $revisions; + /** + * Constructs the internal representation of the Drive service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'drive/v2/'; + $this->version = 'v2'; + $this->serviceName = 'drive'; + + $client->addService($this->serviceName, $this->version); + $this->about = new Google_AboutServiceResource($this, $this->serviceName, 'about', json_decode('{"methods": {"get": {"id": "drive.about.get", "path": "about", "httpMethod": "GET", "parameters": {"includeSubscribed": {"type": "boolean", "default": "true", "location": "query"}, "maxChangeIdCount": {"type": "string", "default": "1", "format": "int64", "location": "query"}, "startChangeId": {"type": "string", "format": "int64", "location": "query"}}, "response": {"$ref": "About"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->apps = new Google_AppsServiceResource($this, $this->serviceName, 'apps', json_decode('{"methods": {"get": {"id": "drive.apps.get", "path": "apps/{appId}", "httpMethod": "GET", "parameters": {"appId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "App"}, "scopes": ["https://www.googleapis.com/auth/drive.apps.readonly"]}, "list": {"id": "drive.apps.list", "path": "apps", "httpMethod": "GET", "response": {"$ref": "AppList"}, "scopes": ["https://www.googleapis.com/auth/drive.apps.readonly"]}}}', true)); + $this->changes = new Google_ChangesServiceResource($this, $this->serviceName, 'changes', json_decode('{"methods": {"get": {"id": "drive.changes.get", "path": "changes/{changeId}", "httpMethod": "GET", "parameters": {"changeId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Change"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "list": {"id": "drive.changes.list", "path": "changes", "httpMethod": "GET", "parameters": {"includeDeleted": {"type": "boolean", "default": "true", "location": "query"}, "includeSubscribed": {"type": "boolean", "default": "true", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "startChangeId": {"type": "string", "format": "int64", "location": "query"}}, "response": {"$ref": "ChangeList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"], "supportsSubscription": true}, "watch": {"id": "drive.changes.watch", "path": "changes/watch", "httpMethod": "POST", "parameters": {"includeDeleted": {"type": "boolean", "default": "true", "location": "query"}, "includeSubscribed": {"type": "boolean", "default": "true", "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "startChangeId": {"type": "string", "format": "int64", "location": "query"}}, "request": {"$ref": "Channel"}, "response": {"$ref": "Channel"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"], "supportsSubscription": true}}}', true)); + $this->channels = new Google_ChannelsServiceResource($this, $this->serviceName, 'channels', json_decode('{"methods": {"stop": {"id": "drive.channels.stop", "path": "channels/stop", "httpMethod": "POST", "request": {"$ref": "Channel"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->children = new Google_ChildrenServiceResource($this, $this->serviceName, 'children', json_decode('{"methods": {"delete": {"id": "drive.children.delete", "path": "files/{folderId}/children/{childId}", "httpMethod": "DELETE", "parameters": {"childId": {"type": "string", "required": true, "location": "path"}, "folderId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.children.get", "path": "files/{folderId}/children/{childId}", "httpMethod": "GET", "parameters": {"childId": {"type": "string", "required": true, "location": "path"}, "folderId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ChildReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.children.insert", "path": "files/{folderId}/children", "httpMethod": "POST", "parameters": {"folderId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ChildReference"}, "response": {"$ref": "ChildReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.children.list", "path": "files/{folderId}/children", "httpMethod": "GET", "parameters": {"folderId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "q": {"type": "string", "location": "query"}}, "response": {"$ref": "ChildList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->comments = new Google_CommentsServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods": {"delete": {"id": "drive.comments.delete", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "DELETE", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "get": {"id": "drive.comments.get", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.comments.insert", "path": "files/{fileId}/comments", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "list": {"id": "drive.comments.list", "path": "files/{fileId}/comments", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}, "maxResults": {"type": "integer", "default": "20", "format": "int32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "updatedMin": {"type": "string", "location": "query"}}, "response": {"$ref": "CommentList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.comments.patch", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "PATCH", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.comments.update", "path": "files/{fileId}/comments/{commentId}", "httpMethod": "PUT", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->files = new Google_FilesServiceResource($this, $this->serviceName, 'files', json_decode('{"methods": {"copy": {"id": "drive.files.copy", "path": "files/{fileId}/copy", "httpMethod": "POST", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "visibility": {"type": "string", "default": "DEFAULT", "enum": ["DEFAULT", "PRIVATE"], "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file"]}, "delete": {"id": "drive.files.delete", "path": "files/{fileId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.files.get", "path": "files/{fileId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "false", "location": "query"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"], "supportsSubscription": true}, "insert": {"id": "drive.files.insert", "path": "files", "httpMethod": "POST", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "useContentAsIndexableText": {"type": "boolean", "default": "false", "location": "query"}, "visibility": {"type": "string", "default": "DEFAULT", "enum": ["DEFAULT", "PRIVATE"], "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["*/*"], "maxSize": "10GB", "protocols": {"simple": {"multipart": true, "path": "/upload/drive/v2/files"}, "resumable": {"multipart": true, "path": "/resumable/upload/drive/v2/files"}}}, "supportsSubscription": true}, "list": {"id": "drive.files.list", "path": "files", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "default": "100", "format": "int32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "q": {"type": "string", "location": "query"}}, "response": {"$ref": "FileList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.files.patch", "path": "files/{fileId}", "httpMethod": "PATCH", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "newRevision": {"type": "boolean", "default": "true", "location": "query"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "setModifiedDate": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "true", "location": "query"}, "useContentAsIndexableText": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.scripts"]}, "touch": {"id": "drive.files.touch", "path": "files/{fileId}/touch", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file"]}, "trash": {"id": "drive.files.trash", "path": "files/{fileId}/trash", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file"]}, "untrash": {"id": "drive.files.untrash", "path": "files/{fileId}/untrash", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.files.update", "path": "files/{fileId}", "httpMethod": "PUT", "parameters": {"convert": {"type": "boolean", "default": "false", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "newRevision": {"type": "boolean", "default": "true", "location": "query"}, "ocr": {"type": "boolean", "default": "false", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"type": "boolean", "default": "false", "location": "query"}, "setModifiedDate": {"type": "boolean", "default": "false", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "true", "location": "query"}, "useContentAsIndexableText": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "File"}, "response": {"$ref": "File"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.scripts"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["*/*"], "maxSize": "10GB", "protocols": {"simple": {"multipart": true, "path": "/upload/drive/v2/files/{fileId}"}, "resumable": {"multipart": true, "path": "/resumable/upload/drive/v2/files/{fileId}"}}}}, "watch": {"id": "drive.files.watch", "path": "files/{fileId}/watch", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["BASIC", "FULL"], "location": "query"}, "updateViewedDate": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "Channel"}, "response": {"$ref": "Channel"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.apps.readonly", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"], "supportsSubscription": true}}}', true)); + $this->parents = new Google_ParentsServiceResource($this, $this->serviceName, 'parents', json_decode('{"methods": {"delete": {"id": "drive.parents.delete", "path": "files/{fileId}/parents/{parentId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "parentId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.parents.get", "path": "files/{fileId}/parents/{parentId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "parentId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ParentReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.parents.insert", "path": "files/{fileId}/parents", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ParentReference"}, "response": {"$ref": "ParentReference"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.parents.list", "path": "files/{fileId}/parents", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ParentList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}}}', true)); + $this->permissions = new Google_PermissionsServiceResource($this, $this->serviceName, 'permissions', json_decode('{"methods": {"delete": {"id": "drive.permissions.delete", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.permissions.get", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.permissions.insert", "path": "files/{fileId}/permissions", "httpMethod": "POST", "parameters": {"emailMessage": {"type": "string", "location": "query"}, "fileId": {"type": "string", "required": true, "location": "path"}, "sendNotificationEmails": {"type": "boolean", "default": "true", "location": "query"}}, "request": {"$ref": "Permission"}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.permissions.list", "path": "files/{fileId}/permissions", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PermissionList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.permissions.patch", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "PATCH", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}, "transferOwnership": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "Permission"}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.permissions.update", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "PUT", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "permissionId": {"type": "string", "required": true, "location": "path"}, "transferOwnership": {"type": "boolean", "default": "false", "location": "query"}}, "request": {"$ref": "Permission"}, "response": {"$ref": "Permission"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->properties = new Google_PropertiesServiceResource($this, $this->serviceName, 'properties', json_decode('{"methods": {"delete": {"id": "drive.properties.delete", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.properties.get", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.properties.insert", "path": "files/{fileId}/properties", "httpMethod": "POST", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Property"}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.properties.list", "path": "files/{fileId}/properties", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PropertyList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.properties.patch", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "PATCH", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "request": {"$ref": "Property"}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.properties.update", "path": "files/{fileId}/properties/{propertyKey}", "httpMethod": "PUT", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "propertyKey": {"type": "string", "required": true, "location": "path"}, "visibility": {"type": "string", "default": "private", "location": "query"}}, "request": {"$ref": "Property"}, "response": {"$ref": "Property"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->realtime = new Google_RealtimeServiceResource($this, $this->serviceName, 'realtime', json_decode('{"methods": {"get": {"id": "drive.realtime.get", "path": "files/{fileId}/realtime", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"], "supportsMediaDownload": true}}}', true)); + $this->replies = new Google_RepliesServiceResource($this, $this->serviceName, 'replies', json_decode('{"methods": {"delete": {"id": "drive.replies.delete", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "DELETE", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.replies.get", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "insert": {"id": "drive.replies.insert", "path": "files/{fileId}/comments/{commentId}/replies", "httpMethod": "POST", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommentReply"}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "list": {"id": "drive.replies.list", "path": "files/{fileId}/comments/{commentId}/replies", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "includeDeleted": {"type": "boolean", "default": "false", "location": "query"}, "maxResults": {"type": "integer", "default": "20", "format": "int32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CommentReplyList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.replies.patch", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "PATCH", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommentReply"}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.replies.update", "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", "httpMethod": "PUT", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "fileId": {"type": "string", "required": true, "location": "path"}, "replyId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommentReply"}, "response": {"$ref": "CommentReply"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + $this->revisions = new Google_RevisionsServiceResource($this, $this->serviceName, 'revisions', json_decode('{"methods": {"delete": {"id": "drive.revisions.delete", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "DELETE", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "get": {"id": "drive.revisions.get", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Revision"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "list": {"id": "drive.revisions.list", "path": "files/{fileId}/revisions", "httpMethod": "GET", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "RevisionList"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata.readonly", "https://www.googleapis.com/auth/drive.readonly"]}, "patch": {"id": "drive.revisions.patch", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "PATCH", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Revision"}, "response": {"$ref": "Revision"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}, "update": {"id": "drive.revisions.update", "path": "files/{fileId}/revisions/{revisionId}", "httpMethod": "PUT", "parameters": {"fileId": {"type": "string", "required": true, "location": "path"}, "revisionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Revision"}, "response": {"$ref": "Revision"}, "scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"]}}}', true)); + + } +} + + + +class Google_About extends Google_Model { + protected $__additionalRoleInfoType = 'Google_AboutAdditionalRoleInfo'; + protected $__additionalRoleInfoDataType = 'array'; + public $additionalRoleInfo; + public $domainSharingPolicy; + public $etag; + protected $__exportFormatsType = 'Google_AboutExportFormats'; + protected $__exportFormatsDataType = 'array'; + public $exportFormats; + protected $__featuresType = 'Google_AboutFeatures'; + protected $__featuresDataType = 'array'; + public $features; + protected $__importFormatsType = 'Google_AboutImportFormats'; + protected $__importFormatsDataType = 'array'; + public $importFormats; + public $isCurrentAppInstalled; + public $kind; + public $largestChangeId; + protected $__maxUploadSizesType = 'Google_AboutMaxUploadSizes'; + protected $__maxUploadSizesDataType = 'array'; + public $maxUploadSizes; + public $name; + public $permissionId; + public $quotaBytesTotal; + public $quotaBytesUsed; + public $quotaBytesUsedAggregate; + public $quotaBytesUsedInTrash; + public $remainingChangeIds; + public $rootFolderId; + public $selfLink; + protected $__userType = 'Google_User'; + protected $__userDataType = ''; + public $user; + public function setAdditionalRoleInfo(/* array(Google_AboutAdditionalRoleInfo) */ $additionalRoleInfo) { + $this->assertIsArray($additionalRoleInfo, 'Google_AboutAdditionalRoleInfo', __METHOD__); + $this->additionalRoleInfo = $additionalRoleInfo; + } + public function getAdditionalRoleInfo() { + return $this->additionalRoleInfo; + } + public function setDomainSharingPolicy( $domainSharingPolicy) { + $this->domainSharingPolicy = $domainSharingPolicy; + } + public function getDomainSharingPolicy() { + return $this->domainSharingPolicy; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExportFormats(/* array(Google_AboutExportFormats) */ $exportFormats) { + $this->assertIsArray($exportFormats, 'Google_AboutExportFormats', __METHOD__); + $this->exportFormats = $exportFormats; + } + public function getExportFormats() { + return $this->exportFormats; + } + public function setFeatures(/* array(Google_AboutFeatures) */ $features) { + $this->assertIsArray($features, 'Google_AboutFeatures', __METHOD__); + $this->features = $features; + } + public function getFeatures() { + return $this->features; + } + public function setImportFormats(/* array(Google_AboutImportFormats) */ $importFormats) { + $this->assertIsArray($importFormats, 'Google_AboutImportFormats', __METHOD__); + $this->importFormats = $importFormats; + } + public function getImportFormats() { + return $this->importFormats; + } + public function setIsCurrentAppInstalled( $isCurrentAppInstalled) { + $this->isCurrentAppInstalled = $isCurrentAppInstalled; + } + public function getIsCurrentAppInstalled() { + return $this->isCurrentAppInstalled; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLargestChangeId( $largestChangeId) { + $this->largestChangeId = $largestChangeId; + } + public function getLargestChangeId() { + return $this->largestChangeId; + } + public function setMaxUploadSizes(/* array(Google_AboutMaxUploadSizes) */ $maxUploadSizes) { + $this->assertIsArray($maxUploadSizes, 'Google_AboutMaxUploadSizes', __METHOD__); + $this->maxUploadSizes = $maxUploadSizes; + } + public function getMaxUploadSizes() { + return $this->maxUploadSizes; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPermissionId( $permissionId) { + $this->permissionId = $permissionId; + } + public function getPermissionId() { + return $this->permissionId; + } + public function setQuotaBytesTotal( $quotaBytesTotal) { + $this->quotaBytesTotal = $quotaBytesTotal; + } + public function getQuotaBytesTotal() { + return $this->quotaBytesTotal; + } + public function setQuotaBytesUsed( $quotaBytesUsed) { + $this->quotaBytesUsed = $quotaBytesUsed; + } + public function getQuotaBytesUsed() { + return $this->quotaBytesUsed; + } + public function setQuotaBytesUsedAggregate( $quotaBytesUsedAggregate) { + $this->quotaBytesUsedAggregate = $quotaBytesUsedAggregate; + } + public function getQuotaBytesUsedAggregate() { + return $this->quotaBytesUsedAggregate; + } + public function setQuotaBytesUsedInTrash( $quotaBytesUsedInTrash) { + $this->quotaBytesUsedInTrash = $quotaBytesUsedInTrash; + } + public function getQuotaBytesUsedInTrash() { + return $this->quotaBytesUsedInTrash; + } + public function setRemainingChangeIds( $remainingChangeIds) { + $this->remainingChangeIds = $remainingChangeIds; + } + public function getRemainingChangeIds() { + return $this->remainingChangeIds; + } + public function setRootFolderId( $rootFolderId) { + $this->rootFolderId = $rootFolderId; + } + public function getRootFolderId() { + return $this->rootFolderId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUser(Google_User $user) { + $this->user = $user; + } + public function getUser() { + return $this->user; + } +} + +class Google_AboutAdditionalRoleInfo extends Google_Model { + protected $__roleSetsType = 'Google_AboutAdditionalRoleInfoRoleSets'; + protected $__roleSetsDataType = 'array'; + public $roleSets; + public $type; + public function setRoleSets(/* array(Google_AboutAdditionalRoleInfoRoleSets) */ $roleSets) { + $this->assertIsArray($roleSets, 'Google_AboutAdditionalRoleInfoRoleSets', __METHOD__); + $this->roleSets = $roleSets; + } + public function getRoleSets() { + return $this->roleSets; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_AboutAdditionalRoleInfoRoleSets extends Google_Model { + public $additionalRoles; + public $primaryRole; + public function setAdditionalRoles(/* array(Google_string) */ $additionalRoles) { + $this->assertIsArray($additionalRoles, 'Google_string', __METHOD__); + $this->additionalRoles = $additionalRoles; + } + public function getAdditionalRoles() { + return $this->additionalRoles; + } + public function setPrimaryRole( $primaryRole) { + $this->primaryRole = $primaryRole; + } + public function getPrimaryRole() { + return $this->primaryRole; + } +} + +class Google_AboutExportFormats extends Google_Model { + public $source; + public $targets; + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setTargets(/* array(Google_string) */ $targets) { + $this->assertIsArray($targets, 'Google_string', __METHOD__); + $this->targets = $targets; + } + public function getTargets() { + return $this->targets; + } +} + +class Google_AboutFeatures extends Google_Model { + public $featureName; + public $featureRate; + public function setFeatureName( $featureName) { + $this->featureName = $featureName; + } + public function getFeatureName() { + return $this->featureName; + } + public function setFeatureRate( $featureRate) { + $this->featureRate = $featureRate; + } + public function getFeatureRate() { + return $this->featureRate; + } +} + +class Google_AboutImportFormats extends Google_Model { + public $source; + public $targets; + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setTargets(/* array(Google_string) */ $targets) { + $this->assertIsArray($targets, 'Google_string', __METHOD__); + $this->targets = $targets; + } + public function getTargets() { + return $this->targets; + } +} + +class Google_AboutMaxUploadSizes extends Google_Model { + public $size; + public $type; + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_App extends Google_Model { + public $authorized; + protected $__iconsType = 'Google_AppIcons'; + protected $__iconsDataType = 'array'; + public $icons; + public $id; + public $installed; + public $kind; + public $longDescription; + public $name; + public $objectType; + public $openUrlTemplate; + public $primaryFileExtensions; + public $primaryMimeTypes; + public $productId; + public $productUrl; + public $secondaryFileExtensions; + public $secondaryMimeTypes; + public $shortDescription; + public $supportsCreate; + public $supportsImport; + public $supportsMultiOpen; + public $useByDefault; + public function setAuthorized( $authorized) { + $this->authorized = $authorized; + } + public function getAuthorized() { + return $this->authorized; + } + public function setIcons(/* array(Google_AppIcons) */ $icons) { + $this->assertIsArray($icons, 'Google_AppIcons', __METHOD__); + $this->icons = $icons; + } + public function getIcons() { + return $this->icons; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInstalled( $installed) { + $this->installed = $installed; + } + public function getInstalled() { + return $this->installed; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLongDescription( $longDescription) { + $this->longDescription = $longDescription; + } + public function getLongDescription() { + return $this->longDescription; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOpenUrlTemplate( $openUrlTemplate) { + $this->openUrlTemplate = $openUrlTemplate; + } + public function getOpenUrlTemplate() { + return $this->openUrlTemplate; + } + public function setPrimaryFileExtensions(/* array(Google_string) */ $primaryFileExtensions) { + $this->assertIsArray($primaryFileExtensions, 'Google_string', __METHOD__); + $this->primaryFileExtensions = $primaryFileExtensions; + } + public function getPrimaryFileExtensions() { + return $this->primaryFileExtensions; + } + public function setPrimaryMimeTypes(/* array(Google_string) */ $primaryMimeTypes) { + $this->assertIsArray($primaryMimeTypes, 'Google_string', __METHOD__); + $this->primaryMimeTypes = $primaryMimeTypes; + } + public function getPrimaryMimeTypes() { + return $this->primaryMimeTypes; + } + public function setProductId( $productId) { + $this->productId = $productId; + } + public function getProductId() { + return $this->productId; + } + public function setProductUrl( $productUrl) { + $this->productUrl = $productUrl; + } + public function getProductUrl() { + return $this->productUrl; + } + public function setSecondaryFileExtensions(/* array(Google_string) */ $secondaryFileExtensions) { + $this->assertIsArray($secondaryFileExtensions, 'Google_string', __METHOD__); + $this->secondaryFileExtensions = $secondaryFileExtensions; + } + public function getSecondaryFileExtensions() { + return $this->secondaryFileExtensions; + } + public function setSecondaryMimeTypes(/* array(Google_string) */ $secondaryMimeTypes) { + $this->assertIsArray($secondaryMimeTypes, 'Google_string', __METHOD__); + $this->secondaryMimeTypes = $secondaryMimeTypes; + } + public function getSecondaryMimeTypes() { + return $this->secondaryMimeTypes; + } + public function setShortDescription( $shortDescription) { + $this->shortDescription = $shortDescription; + } + public function getShortDescription() { + return $this->shortDescription; + } + public function setSupportsCreate( $supportsCreate) { + $this->supportsCreate = $supportsCreate; + } + public function getSupportsCreate() { + return $this->supportsCreate; + } + public function setSupportsImport( $supportsImport) { + $this->supportsImport = $supportsImport; + } + public function getSupportsImport() { + return $this->supportsImport; + } + public function setSupportsMultiOpen( $supportsMultiOpen) { + $this->supportsMultiOpen = $supportsMultiOpen; + } + public function getSupportsMultiOpen() { + return $this->supportsMultiOpen; + } + public function setUseByDefault( $useByDefault) { + $this->useByDefault = $useByDefault; + } + public function getUseByDefault() { + return $this->useByDefault; + } +} + +class Google_AppIcons extends Google_Model { + public $category; + public $iconUrl; + public $size; + public function setCategory( $category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setIconUrl( $iconUrl) { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() { + return $this->iconUrl; + } + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } +} + +class Google_AppList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_App'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_App) */ $items) { + $this->assertIsArray($items, 'Google_App', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Change extends Google_Model { + public $deleted; + protected $__fileType = 'Google_DriveFile'; + protected $__fileDataType = ''; + public $file; + public $fileId; + public $id; + public $kind; + public $selfLink; + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setFile(Google_DriveFile $file) { + $this->file = $file; + } + public function getFile() { + return $this->file; + } + public function setFileId( $fileId) { + $this->fileId = $fileId; + } + public function getFileId() { + return $this->fileId; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ChangeList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Change'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $largestChangeId; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Change) */ $items) { + $this->assertIsArray($items, 'Google_Change', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLargestChangeId( $largestChangeId) { + $this->largestChangeId = $largestChangeId; + } + public function getLargestChangeId() { + return $this->largestChangeId; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Channel extends Google_Model { + public $address; + public $expiration; + public $id; + public $kind; + public $params; + public $resourceId; + public $resourceUri; + public $token; + public $type; + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setExpiration( $expiration) { + $this->expiration = $expiration; + } + public function getExpiration() { + return $this->expiration; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParams( $params) { + $this->params = $params; + } + public function getParams() { + return $this->params; + } + public function setResourceId( $resourceId) { + $this->resourceId = $resourceId; + } + public function getResourceId() { + return $this->resourceId; + } + public function setResourceUri( $resourceUri) { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() { + return $this->resourceUri; + } + public function setToken( $token) { + $this->token = $token; + } + public function getToken() { + return $this->token; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ChildList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_ChildReference'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_ChildReference) */ $items) { + $this->assertIsArray($items, 'Google_ChildReference', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ChildReference extends Google_Model { + public $childLink; + public $id; + public $kind; + public $selfLink; + public function setChildLink( $childLink) { + $this->childLink = $childLink; + } + public function getChildLink() { + return $this->childLink; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Comment extends Google_Model { + public $anchor; + protected $__authorType = 'Google_User'; + protected $__authorDataType = ''; + public $author; + public $commentId; + public $content; + protected $__contextType = 'Google_CommentContext'; + protected $__contextDataType = ''; + public $context; + public $createdDate; + public $deleted; + public $fileId; + public $fileTitle; + public $htmlContent; + public $kind; + public $modifiedDate; + protected $__repliesType = 'Google_CommentReply'; + protected $__repliesDataType = 'array'; + public $replies; + public $selfLink; + public $status; + public function setAnchor( $anchor) { + $this->anchor = $anchor; + } + public function getAnchor() { + return $this->anchor; + } + public function setAuthor(Google_User $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setCommentId( $commentId) { + $this->commentId = $commentId; + } + public function getCommentId() { + return $this->commentId; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setContext(Google_CommentContext $context) { + $this->context = $context; + } + public function getContext() { + return $this->context; + } + public function setCreatedDate( $createdDate) { + $this->createdDate = $createdDate; + } + public function getCreatedDate() { + return $this->createdDate; + } + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setFileId( $fileId) { + $this->fileId = $fileId; + } + public function getFileId() { + return $this->fileId; + } + public function setFileTitle( $fileTitle) { + $this->fileTitle = $fileTitle; + } + public function getFileTitle() { + return $this->fileTitle; + } + public function setHtmlContent( $htmlContent) { + $this->htmlContent = $htmlContent; + } + public function getHtmlContent() { + return $this->htmlContent; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModifiedDate( $modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setReplies(/* array(Google_CommentReply) */ $replies) { + $this->assertIsArray($replies, 'Google_CommentReply', __METHOD__); + $this->replies = $replies; + } + public function getReplies() { + return $this->replies; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_CommentContext extends Google_Model { + public $type; + public $value; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_CommentList extends Google_Model { + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_CommentReply extends Google_Model { + protected $__authorType = 'Google_User'; + protected $__authorDataType = ''; + public $author; + public $content; + public $createdDate; + public $deleted; + public $htmlContent; + public $kind; + public $modifiedDate; + public $replyId; + public $verb; + public function setAuthor(Google_User $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setCreatedDate( $createdDate) { + $this->createdDate = $createdDate; + } + public function getCreatedDate() { + return $this->createdDate; + } + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setHtmlContent( $htmlContent) { + $this->htmlContent = $htmlContent; + } + public function getHtmlContent() { + return $this->htmlContent; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModifiedDate( $modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setReplyId( $replyId) { + $this->replyId = $replyId; + } + public function getReplyId() { + return $this->replyId; + } + public function setVerb( $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_CommentReplyList extends Google_Model { + protected $__itemsType = 'Google_CommentReply'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setItems(/* array(Google_CommentReply) */ $items) { + $this->assertIsArray($items, 'Google_CommentReply', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_DriveFile extends Google_Model { + public $alternateLink; + public $appDataContents; + public $createdDate; + public $defaultOpenWithLink; + public $description; + public $downloadUrl; + public $editable; + public $embedLink; + public $etag; + public $explicitlyTrashed; + public $exportLinks; + public $fileExtension; + public $fileSize; + public $headRevisionId; + public $iconLink; + public $id; + protected $__imageMediaMetadataType = 'Google_DriveFileImageMediaMetadata'; + protected $__imageMediaMetadataDataType = ''; + public $imageMediaMetadata; + protected $__indexableTextType = 'Google_DriveFileIndexableText'; + protected $__indexableTextDataType = ''; + public $indexableText; + public $kind; + protected $__labelsType = 'Google_DriveFileLabels'; + protected $__labelsDataType = ''; + public $labels; + protected $__lastModifyingUserType = 'Google_User'; + protected $__lastModifyingUserDataType = ''; + public $lastModifyingUser; + public $lastModifyingUserName; + public $lastViewedByMeDate; + public $md5Checksum; + public $mimeType; + public $modifiedByMeDate; + public $modifiedDate; + public $openWithLinks; + public $originalFilename; + public $ownerNames; + protected $__ownersType = 'Google_User'; + protected $__ownersDataType = 'array'; + public $owners; + protected $__parentsType = 'Google_ParentReference'; + protected $__parentsDataType = 'array'; + public $parents; + public $quotaBytesUsed; + public $selfLink; + public $shared; + public $sharedWithMeDate; + protected $__thumbnailType = 'Google_DriveFileThumbnail'; + protected $__thumbnailDataType = ''; + public $thumbnail; + public $thumbnailLink; + public $title; + protected $__userPermissionType = 'Google_Permission'; + protected $__userPermissionDataType = ''; + public $userPermission; + public $webContentLink; + public $webViewLink; + public $writersCanShare; + public function setAlternateLink( $alternateLink) { + $this->alternateLink = $alternateLink; + } + public function getAlternateLink() { + return $this->alternateLink; + } + public function setAppDataContents( $appDataContents) { + $this->appDataContents = $appDataContents; + } + public function getAppDataContents() { + return $this->appDataContents; + } + public function setCreatedDate( $createdDate) { + $this->createdDate = $createdDate; + } + public function getCreatedDate() { + return $this->createdDate; + } + public function setDefaultOpenWithLink( $defaultOpenWithLink) { + $this->defaultOpenWithLink = $defaultOpenWithLink; + } + public function getDefaultOpenWithLink() { + return $this->defaultOpenWithLink; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDownloadUrl( $downloadUrl) { + $this->downloadUrl = $downloadUrl; + } + public function getDownloadUrl() { + return $this->downloadUrl; + } + public function setEditable( $editable) { + $this->editable = $editable; + } + public function getEditable() { + return $this->editable; + } + public function setEmbedLink( $embedLink) { + $this->embedLink = $embedLink; + } + public function getEmbedLink() { + return $this->embedLink; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExplicitlyTrashed( $explicitlyTrashed) { + $this->explicitlyTrashed = $explicitlyTrashed; + } + public function getExplicitlyTrashed() { + return $this->explicitlyTrashed; + } + public function setExportLinks( $exportLinks) { + $this->exportLinks = $exportLinks; + } + public function getExportLinks() { + return $this->exportLinks; + } + public function setFileExtension( $fileExtension) { + $this->fileExtension = $fileExtension; + } + public function getFileExtension() { + return $this->fileExtension; + } + public function setFileSize( $fileSize) { + $this->fileSize = $fileSize; + } + public function getFileSize() { + return $this->fileSize; + } + public function setHeadRevisionId( $headRevisionId) { + $this->headRevisionId = $headRevisionId; + } + public function getHeadRevisionId() { + return $this->headRevisionId; + } + public function setIconLink( $iconLink) { + $this->iconLink = $iconLink; + } + public function getIconLink() { + return $this->iconLink; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImageMediaMetadata(Google_DriveFileImageMediaMetadata $imageMediaMetadata) { + $this->imageMediaMetadata = $imageMediaMetadata; + } + public function getImageMediaMetadata() { + return $this->imageMediaMetadata; + } + public function setIndexableText(Google_DriveFileIndexableText $indexableText) { + $this->indexableText = $indexableText; + } + public function getIndexableText() { + return $this->indexableText; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLabels(Google_DriveFileLabels $labels) { + $this->labels = $labels; + } + public function getLabels() { + return $this->labels; + } + public function setLastModifyingUser(Google_User $lastModifyingUser) { + $this->lastModifyingUser = $lastModifyingUser; + } + public function getLastModifyingUser() { + return $this->lastModifyingUser; + } + public function setLastModifyingUserName( $lastModifyingUserName) { + $this->lastModifyingUserName = $lastModifyingUserName; + } + public function getLastModifyingUserName() { + return $this->lastModifyingUserName; + } + public function setLastViewedByMeDate( $lastViewedByMeDate) { + $this->lastViewedByMeDate = $lastViewedByMeDate; + } + public function getLastViewedByMeDate() { + return $this->lastViewedByMeDate; + } + public function setMd5Checksum( $md5Checksum) { + $this->md5Checksum = $md5Checksum; + } + public function getMd5Checksum() { + return $this->md5Checksum; + } + public function setMimeType( $mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } + public function setModifiedByMeDate( $modifiedByMeDate) { + $this->modifiedByMeDate = $modifiedByMeDate; + } + public function getModifiedByMeDate() { + return $this->modifiedByMeDate; + } + public function setModifiedDate( $modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setOpenWithLinks( $openWithLinks) { + $this->openWithLinks = $openWithLinks; + } + public function getOpenWithLinks() { + return $this->openWithLinks; + } + public function setOriginalFilename( $originalFilename) { + $this->originalFilename = $originalFilename; + } + public function getOriginalFilename() { + return $this->originalFilename; + } + public function setOwnerNames(/* array(Google_string) */ $ownerNames) { + $this->assertIsArray($ownerNames, 'Google_string', __METHOD__); + $this->ownerNames = $ownerNames; + } + public function getOwnerNames() { + return $this->ownerNames; + } + public function setOwners(/* array(Google_User) */ $owners) { + $this->assertIsArray($owners, 'Google_User', __METHOD__); + $this->owners = $owners; + } + public function getOwners() { + return $this->owners; + } + public function setParents(/* array(Google_ParentReference) */ $parents) { + $this->assertIsArray($parents, 'Google_ParentReference', __METHOD__); + $this->parents = $parents; + } + public function getParents() { + return $this->parents; + } + public function setQuotaBytesUsed( $quotaBytesUsed) { + $this->quotaBytesUsed = $quotaBytesUsed; + } + public function getQuotaBytesUsed() { + return $this->quotaBytesUsed; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setShared( $shared) { + $this->shared = $shared; + } + public function getShared() { + return $this->shared; + } + public function setSharedWithMeDate( $sharedWithMeDate) { + $this->sharedWithMeDate = $sharedWithMeDate; + } + public function getSharedWithMeDate() { + return $this->sharedWithMeDate; + } + public function setThumbnail(Google_DriveFileThumbnail $thumbnail) { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() { + return $this->thumbnail; + } + public function setThumbnailLink( $thumbnailLink) { + $this->thumbnailLink = $thumbnailLink; + } + public function getThumbnailLink() { + return $this->thumbnailLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUserPermission(Google_Permission $userPermission) { + $this->userPermission = $userPermission; + } + public function getUserPermission() { + return $this->userPermission; + } + public function setWebContentLink( $webContentLink) { + $this->webContentLink = $webContentLink; + } + public function getWebContentLink() { + return $this->webContentLink; + } + public function setWebViewLink( $webViewLink) { + $this->webViewLink = $webViewLink; + } + public function getWebViewLink() { + return $this->webViewLink; + } + public function setWritersCanShare( $writersCanShare) { + $this->writersCanShare = $writersCanShare; + } + public function getWritersCanShare() { + return $this->writersCanShare; + } +} + +class Google_DriveFileImageMediaMetadata extends Google_Model { + public $aperture; + public $cameraMake; + public $cameraModel; + public $colorSpace; + public $date; + public $exposureBias; + public $exposureMode; + public $exposureTime; + public $flashUsed; + public $focalLength; + public $height; + public $isoSpeed; + public $lens; + protected $__locationType = 'Google_DriveFileImageMediaMetadataLocation'; + protected $__locationDataType = ''; + public $location; + public $maxApertureValue; + public $meteringMode; + public $rotation; + public $sensor; + public $subjectDistance; + public $whiteBalance; + public $width; + public function setAperture( $aperture) { + $this->aperture = $aperture; + } + public function getAperture() { + return $this->aperture; + } + public function setCameraMake( $cameraMake) { + $this->cameraMake = $cameraMake; + } + public function getCameraMake() { + return $this->cameraMake; + } + public function setCameraModel( $cameraModel) { + $this->cameraModel = $cameraModel; + } + public function getCameraModel() { + return $this->cameraModel; + } + public function setColorSpace( $colorSpace) { + $this->colorSpace = $colorSpace; + } + public function getColorSpace() { + return $this->colorSpace; + } + public function setDate( $date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setExposureBias( $exposureBias) { + $this->exposureBias = $exposureBias; + } + public function getExposureBias() { + return $this->exposureBias; + } + public function setExposureMode( $exposureMode) { + $this->exposureMode = $exposureMode; + } + public function getExposureMode() { + return $this->exposureMode; + } + public function setExposureTime( $exposureTime) { + $this->exposureTime = $exposureTime; + } + public function getExposureTime() { + return $this->exposureTime; + } + public function setFlashUsed( $flashUsed) { + $this->flashUsed = $flashUsed; + } + public function getFlashUsed() { + return $this->flashUsed; + } + public function setFocalLength( $focalLength) { + $this->focalLength = $focalLength; + } + public function getFocalLength() { + return $this->focalLength; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setIsoSpeed( $isoSpeed) { + $this->isoSpeed = $isoSpeed; + } + public function getIsoSpeed() { + return $this->isoSpeed; + } + public function setLens( $lens) { + $this->lens = $lens; + } + public function getLens() { + return $this->lens; + } + public function setLocation(Google_DriveFileImageMediaMetadataLocation $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setMaxApertureValue( $maxApertureValue) { + $this->maxApertureValue = $maxApertureValue; + } + public function getMaxApertureValue() { + return $this->maxApertureValue; + } + public function setMeteringMode( $meteringMode) { + $this->meteringMode = $meteringMode; + } + public function getMeteringMode() { + return $this->meteringMode; + } + public function setRotation( $rotation) { + $this->rotation = $rotation; + } + public function getRotation() { + return $this->rotation; + } + public function setSensor( $sensor) { + $this->sensor = $sensor; + } + public function getSensor() { + return $this->sensor; + } + public function setSubjectDistance( $subjectDistance) { + $this->subjectDistance = $subjectDistance; + } + public function getSubjectDistance() { + return $this->subjectDistance; + } + public function setWhiteBalance( $whiteBalance) { + $this->whiteBalance = $whiteBalance; + } + public function getWhiteBalance() { + return $this->whiteBalance; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_DriveFileImageMediaMetadataLocation extends Google_Model { + public $altitude; + public $latitude; + public $longitude; + public function setAltitude( $altitude) { + $this->altitude = $altitude; + } + public function getAltitude() { + return $this->altitude; + } + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_DriveFileIndexableText extends Google_Model { + public $text; + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_DriveFileLabels extends Google_Model { + public $hidden; + public $restricted; + public $starred; + public $trashed; + public $viewed; + public function setHidden( $hidden) { + $this->hidden = $hidden; + } + public function getHidden() { + return $this->hidden; + } + public function setRestricted( $restricted) { + $this->restricted = $restricted; + } + public function getRestricted() { + return $this->restricted; + } + public function setStarred( $starred) { + $this->starred = $starred; + } + public function getStarred() { + return $this->starred; + } + public function setTrashed( $trashed) { + $this->trashed = $trashed; + } + public function getTrashed() { + return $this->trashed; + } + public function setViewed( $viewed) { + $this->viewed = $viewed; + } + public function getViewed() { + return $this->viewed; + } +} + +class Google_DriveFileThumbnail extends Google_Model { + public $image; + public $mimeType; + public function setImage( $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setMimeType( $mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } +} + +class Google_FileList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_DriveFile'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_DriveFile) */ $items) { + $this->assertIsArray($items, 'Google_DriveFile', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ParentList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_ParentReference'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_ParentReference) */ $items) { + $this->assertIsArray($items, 'Google_ParentReference', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ParentReference extends Google_Model { + public $id; + public $isRoot; + public $kind; + public $parentLink; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIsRoot( $isRoot) { + $this->isRoot = $isRoot; + } + public function getIsRoot() { + return $this->isRoot; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParentLink( $parentLink) { + $this->parentLink = $parentLink; + } + public function getParentLink() { + return $this->parentLink; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Permission extends Google_Model { + public $additionalRoles; + public $authKey; + public $etag; + public $id; + public $kind; + public $name; + public $photoLink; + public $role; + public $selfLink; + public $type; + public $value; + public $withLink; + public function setAdditionalRoles(/* array(Google_string) */ $additionalRoles) { + $this->assertIsArray($additionalRoles, 'Google_string', __METHOD__); + $this->additionalRoles = $additionalRoles; + } + public function getAdditionalRoles() { + return $this->additionalRoles; + } + public function setAuthKey( $authKey) { + $this->authKey = $authKey; + } + public function getAuthKey() { + return $this->authKey; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPhotoLink( $photoLink) { + $this->photoLink = $photoLink; + } + public function getPhotoLink() { + return $this->photoLink; + } + public function setRole( $role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } + public function setWithLink( $withLink) { + $this->withLink = $withLink; + } + public function getWithLink() { + return $this->withLink; + } +} + +class Google_PermissionList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Permission'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Permission) */ $items) { + $this->assertIsArray($items, 'Google_Permission', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Property extends Google_Model { + public $etag; + public $key; + public $kind; + public $selfLink; + public $value; + public $visibility; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } + public function setVisibility( $visibility) { + $this->visibility = $visibility; + } + public function getVisibility() { + return $this->visibility; + } +} + +class Google_PropertyList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Property'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Property) */ $items) { + $this->assertIsArray($items, 'Google_Property', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Revision extends Google_Model { + public $downloadUrl; + public $etag; + public $exportLinks; + public $fileSize; + public $id; + public $kind; + protected $__lastModifyingUserType = 'Google_User'; + protected $__lastModifyingUserDataType = ''; + public $lastModifyingUser; + public $lastModifyingUserName; + public $md5Checksum; + public $mimeType; + public $modifiedDate; + public $originalFilename; + public $pinned; + public $publishAuto; + public $published; + public $publishedLink; + public $publishedOutsideDomain; + public $selfLink; + public function setDownloadUrl( $downloadUrl) { + $this->downloadUrl = $downloadUrl; + } + public function getDownloadUrl() { + return $this->downloadUrl; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExportLinks( $exportLinks) { + $this->exportLinks = $exportLinks; + } + public function getExportLinks() { + return $this->exportLinks; + } + public function setFileSize( $fileSize) { + $this->fileSize = $fileSize; + } + public function getFileSize() { + return $this->fileSize; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModifyingUser(Google_User $lastModifyingUser) { + $this->lastModifyingUser = $lastModifyingUser; + } + public function getLastModifyingUser() { + return $this->lastModifyingUser; + } + public function setLastModifyingUserName( $lastModifyingUserName) { + $this->lastModifyingUserName = $lastModifyingUserName; + } + public function getLastModifyingUserName() { + return $this->lastModifyingUserName; + } + public function setMd5Checksum( $md5Checksum) { + $this->md5Checksum = $md5Checksum; + } + public function getMd5Checksum() { + return $this->md5Checksum; + } + public function setMimeType( $mimeType) { + $this->mimeType = $mimeType; + } + public function getMimeType() { + return $this->mimeType; + } + public function setModifiedDate( $modifiedDate) { + $this->modifiedDate = $modifiedDate; + } + public function getModifiedDate() { + return $this->modifiedDate; + } + public function setOriginalFilename( $originalFilename) { + $this->originalFilename = $originalFilename; + } + public function getOriginalFilename() { + return $this->originalFilename; + } + public function setPinned( $pinned) { + $this->pinned = $pinned; + } + public function getPinned() { + return $this->pinned; + } + public function setPublishAuto( $publishAuto) { + $this->publishAuto = $publishAuto; + } + public function getPublishAuto() { + return $this->publishAuto; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setPublishedLink( $publishedLink) { + $this->publishedLink = $publishedLink; + } + public function getPublishedLink() { + return $this->publishedLink; + } + public function setPublishedOutsideDomain( $publishedOutsideDomain) { + $this->publishedOutsideDomain = $publishedOutsideDomain; + } + public function getPublishedOutsideDomain() { + return $this->publishedOutsideDomain; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_RevisionList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Revision'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $selfLink; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Revision) */ $items) { + $this->assertIsArray($items, 'Google_Revision', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_User extends Google_Model { + public $displayName; + public $isAuthenticatedUser; + public $kind; + public $permissionId; + protected $__pictureType = 'Google_UserPicture'; + protected $__pictureDataType = ''; + public $picture; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setIsAuthenticatedUser( $isAuthenticatedUser) { + $this->isAuthenticatedUser = $isAuthenticatedUser; + } + public function getIsAuthenticatedUser() { + return $this->isAuthenticatedUser; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPermissionId( $permissionId) { + $this->permissionId = $permissionId; + } + public function getPermissionId() { + return $this->permissionId; + } + public function setPicture(Google_UserPicture $picture) { + $this->picture = $picture; + } + public function getPicture() { + return $this->picture; + } +} + +class Google_UserPicture extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_FreebaseService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_FreebaseService.php new file mode 100644 index 0000000..7d5852e --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_FreebaseService.php @@ -0,0 +1,388 @@ + + * $freebaseService = new Google_FreebaseService(...); + * $text = $freebaseService->text; + * + */ + class Google_TextServiceResource extends Google_ServiceResource { + + /** + * Returns blob attached to node at specified id as HTML (text.get) + * + * @param string $id The id of the item that you want data about + * @param array $optParams Optional parameters. + * + * @opt_param string format Sanitizing transformation. + * @opt_param string maxlength The max number of characters to return. Valid only for 'plain' format. + * @return Google_ContentserviceGet + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ContentserviceGet($data); + } else { + return $data; + } + } + } + + /** + * The "topic" collection of methods. + * Typical usage is: + * + * $freebaseService = new Google_FreebaseService(...); + * $topic = $freebaseService->topic; + * + */ + class Google_TopicServiceResource extends Google_ServiceResource { + + /** + * Get properties and meta-data about a topic. (topic.lookup) + * + * @param string $id The id of the item that you want data about. + * @param array $optParams Optional parameters. + * + * @opt_param string dateline Determines how up-to-date the data returned is. A unix epoch time, a guid or a 'now' + * @opt_param string filter A frebase domain, type or property id, 'suggest', 'commons', or 'all'. Filter the results and returns only appropriate properties. + * @opt_param string lang The language you 'd like the content in - a freebase /type/lang language key. + * @opt_param string limit The maximum number of property values to return for each property. + * @opt_param bool raw Do not apply any constraints, or get any names. + * @return Google_TopicLookup + */ + public function lookup($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('lookup', array($params)); + if ($this->useObjects()) { + return new Google_TopicLookup($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Freebase (v1). + * + *

    + * Topic and MQL APIs provide you structured access to Freebase data. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_FreebaseService extends Google_Service { + public $text; + public $topic; + /** + * Constructs the internal representation of the Freebase service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'freebase/v1/'; + $this->version = 'v1'; + $this->serviceName = 'freebase'; + + $client->addService($this->serviceName, $this->version); + $this->text = new Google_TextServiceResource($this, $this->serviceName, 'text', json_decode('{"methods": {"get": {"id": "freebase.text.get", "path": "text{/id*}", "httpMethod": "GET", "parameters": {"format": {"type": "string", "default": "plain", "enum": ["html", "plain", "raw"], "location": "query"}, "id": {"type": "string", "required": true, "repeated": true, "location": "path"}, "maxlength": {"type": "integer", "format": "uint32", "location": "query"}}, "response": {"$ref": "ContentserviceGet"}}}}', true)); + $this->topic = new Google_TopicServiceResource($this, $this->serviceName, 'topic', json_decode('{"methods": {"lookup": {"id": "freebase.topic.lookup", "path": "topic{/id*}", "httpMethod": "GET", "parameters": {"dateline": {"type": "string", "location": "query"}, "filter": {"type": "string", "repeated": true, "location": "query"}, "id": {"type": "string", "required": true, "repeated": true, "location": "path"}, "lang": {"type": "string", "default": "en", "location": "query"}, "limit": {"type": "integer", "default": "10", "format": "uint32", "location": "query"}, "raw": {"type": "boolean", "default": "false", "location": "query"}}, "response": {"$ref": "TopicLookup"}}}}', true)); + + $this->image = new Google_ImageServiceResource($this, $this->serviceName, 'image', json_decode('{"httpMethod": "GET", "path": "image{/id*}", "supportsMediaDownload": true, "id": "freebase.image", "parameters": {"fallbackid": {"type": "string", "default": "/freebase/no_image_png", "location": "query"}, "id": {"type": "string", "required": true, "repeated": true, "location": "path"}, "maxheight": {"type": "integer", "format": "uint32", "maximum": "4096", "location": "query"}, "maxwidth": {"type": "integer", "format": "uint32", "maximum": "4096", "location": "query"}, "mode": {"type": "string", "default": "fit", "enum": ["fill", "fillcrop", "fillcropmid", "fit"], "location": "query"}, "pad": {"type": "boolean", "default": "false", "location": "query"}}}', true)); + $this->mqlread = new Google_MqlreadServiceResource($this, $this->serviceName, 'mqlread', json_decode('{"httpMethod": "GET", "path": "mqlread", "supportsMediaDownload": true, "id": "freebase.mqlread", "parameters": {"as_of_time": {"type": "string", "location": "query"}, "callback": {"type": "string", "location": "query"}, "cost": {"type": "boolean", "default": "false", "location": "query"}, "cursor": {"type": "string", "location": "query"}, "dateline": {"type": "string", "location": "query"}, "html_escape": {"type": "boolean", "default": "true", "location": "query"}, "indent": {"type": "integer", "default": "0", "format": "uint32", "maximum": "10", "location": "query"}, "lang": {"type": "string", "default": "/lang/en", "location": "query"}, "query": {"type": "string", "required": true, "location": "query"}, "uniqueness_failure": {"type": "string", "default": "hard", "enum": ["hard", "soft"], "location": "query"}}}', true)); + $this->mqlwrite = new Google_MqlwriteServiceResource($this, $this->serviceName, 'mqlwrite', json_decode('{"httpMethod": "GET", "path": "mqlwrite", "scopes": ["https://www.googleapis.com/auth/freebase"], "supportsMediaDownload": true, "id": "freebase.mqlwrite", "parameters": {"callback": {"type": "string", "location": "query"}, "dateline": {"type": "string", "location": "query"}, "indent": {"type": "integer", "default": "0", "format": "uint32", "maximum": "10", "location": "query"}, "query": {"type": "string", "required": true, "location": "query"}, "use_permission_of": {"type": "string", "location": "query"}}}', true)); + } +} + + + +class Google_ContentserviceGet extends Google_Model { + public $result; + public function setResult( $result) { + $this->result = $result; + } + public function getResult() { + return $this->result; + } +} + +class Google_TopicLookup extends Google_Model { + public $id; + protected $__propertyType = 'Google_TopicLookupProperty'; + protected $__propertyDataType = ''; + public $property; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setProperty(Google_TopicLookupProperty $property) { + $this->property = $property; + } + public function getProperty() { + return $this->property; + } +} + +class Google_TopicLookupProperty extends Google_Model { + protected $___freebase_object_profile_linkcountType = 'Google_TopicStatslinkcount'; + protected $___freebase_object_profile_linkcountDataType = ''; + public $_freebase_object_profile_linkcount; + public function set_freebase_object_profile_linkcount(Google_TopicStatslinkcount $_freebase_object_profile_linkcount) { + $this->_freebase_object_profile_linkcount = $_freebase_object_profile_linkcount; + } + public function get_freebase_object_profile_linkcount() { + return $this->_freebase_object_profile_linkcount; + } +} + +class Google_TopicPropertyvalue extends Google_Model { + public $count; + public $status; + protected $__valuesType = 'Google_TopicValue'; + protected $__valuesDataType = 'array'; + public $values; + public $valuetype; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setValues(/* array(Google_TopicValue) */ $values) { + $this->assertIsArray($values, 'Google_TopicValue', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } + public function setValuetype( $valuetype) { + $this->valuetype = $valuetype; + } + public function getValuetype() { + return $this->valuetype; + } +} + +class Google_TopicStatslinkcount extends Google_Model { + public $type; + protected $__valuesType = 'Google_TopicStatslinkcountValues'; + protected $__valuesDataType = 'array'; + public $values; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValues(/* array(Google_TopicStatslinkcountValues) */ $values) { + $this->assertIsArray($values, 'Google_TopicStatslinkcountValues', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } +} + +class Google_TopicStatslinkcountValues extends Google_Model { + public $count; + public $id; + protected $__valuesType = 'Google_TopicStatslinkcountValuesValues'; + protected $__valuesDataType = 'array'; + public $values; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setValues(/* array(Google_TopicStatslinkcountValuesValues) */ $values) { + $this->assertIsArray($values, 'Google_TopicStatslinkcountValuesValues', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } +} + +class Google_TopicStatslinkcountValuesValues extends Google_Model { + public $count; + public $id; + protected $__valuesType = 'Google_TopicStatslinkcountValuesValuesValues'; + protected $__valuesDataType = 'array'; + public $values; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setValues(/* array(Google_TopicStatslinkcountValuesValuesValues) */ $values) { + $this->assertIsArray($values, 'Google_TopicStatslinkcountValuesValuesValues', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } +} + +class Google_TopicStatslinkcountValuesValuesValues extends Google_Model { + public $count; + public $id; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_TopicValue extends Google_Model { + protected $__citationType = 'Google_TopicValueCitation'; + protected $__citationDataType = ''; + public $citation; + public $creator; + public $dataset; + public $id; + public $lang; + public $project; + protected $__propertyType = 'Google_TopicPropertyvalue'; + protected $__propertyDataType = 'map'; + public $property; + public $text; + public $timestamp; + public $value; + public function setCitation(Google_TopicValueCitation $citation) { + $this->citation = $citation; + } + public function getCitation() { + return $this->citation; + } + public function setCreator( $creator) { + $this->creator = $creator; + } + public function getCreator() { + return $this->creator; + } + public function setDataset( $dataset) { + $this->dataset = $dataset; + } + public function getDataset() { + return $this->dataset; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setLang( $lang) { + $this->lang = $lang; + } + public function getLang() { + return $this->lang; + } + public function setProject( $project) { + $this->project = $project; + } + public function getProject() { + return $this->project; + } + public function setProperty(Google_TopicPropertyvalue $property) { + $this->property = $property; + } + public function getProperty() { + return $this->property; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setTimestamp( $timestamp) { + $this->timestamp = $timestamp; + } + public function getTimestamp() { + return $this->timestamp; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_TopicValueCitation extends Google_Model { + public $provider; + public $statement; + public $uri; + public function setProvider( $provider) { + $this->provider = $provider; + } + public function getProvider() { + return $this->provider; + } + public function setStatement( $statement) { + $this->statement = $statement; + } + public function getStatement() { + return $this->statement; + } + public function setUri( $uri) { + $this->uri = $uri; + } + public function getUri() { + return $this->uri; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_FusiontablesService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_FusiontablesService.php new file mode 100644 index 0000000..6868c4e --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_FusiontablesService.php @@ -0,0 +1,1388 @@ + + * $fusiontablesService = new Google_FusiontablesService(...); + * $column = $fusiontablesService->column; + * + */ + class Google_ColumnServiceResource extends Google_ServiceResource { + + /** + * Deletes the column. (column.delete) + * + * @param string $tableId Table from which the column is being deleted. + * @param string $columnId Name or identifier for the column being deleted. + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $columnId, $optParams = array()) { + $params = array('tableId' => $tableId, 'columnId' => $columnId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves a specific column by its id. (column.get) + * + * @param string $tableId Table to which the column belongs. + * @param string $columnId Name or identifier for the column that is being requested. + * @param array $optParams Optional parameters. + * @return Google_Column + */ + public function get($tableId, $columnId, $optParams = array()) { + $params = array('tableId' => $tableId, 'columnId' => $columnId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Column($data); + } else { + return $data; + } + } + /** + * Adds a new column to the table. (column.insert) + * + * @param string $tableId Table for which a new column is being added. + * @param Google_Column $postBody + * @param array $optParams Optional parameters. + * @return Google_Column + */ + public function insert($tableId, Google_Column $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Column($data); + } else { + return $data; + } + } + /** + * Retrieves a list of columns. (column.list) + * + * @param string $tableId Table whose columns are being listed. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of columns to return. Optional. Default is 5. + * @opt_param string pageToken Continuation token specifying which result page to return. Optional. + * @return Google_ColumnList + */ + public function listColumn($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ColumnList($data); + } else { + return $data; + } + } + /** + * Updates the name or type of an existing column. This method supports patch semantics. + * (column.patch) + * + * @param string $tableId Table for which the column is being updated. + * @param string $columnId Name or identifier for the column that is being updated. + * @param Google_Column $postBody + * @param array $optParams Optional parameters. + * @return Google_Column + */ + public function patch($tableId, $columnId, Google_Column $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'columnId' => $columnId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Column($data); + } else { + return $data; + } + } + /** + * Updates the name or type of an existing column. (column.update) + * + * @param string $tableId Table for which the column is being updated. + * @param string $columnId Name or identifier for the column that is being updated. + * @param Google_Column $postBody + * @param array $optParams Optional parameters. + * @return Google_Column + */ + public function update($tableId, $columnId, Google_Column $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'columnId' => $columnId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Column($data); + } else { + return $data; + } + } + } + + /** + * The "query" collection of methods. + * Typical usage is: + * + * $fusiontablesService = new Google_FusiontablesService(...); + * $query = $fusiontablesService->query; + * + */ + class Google_QueryServiceResource extends Google_ServiceResource { + + /** + * Executes an SQL SELECT/INSERT/UPDATE/DELETE/SHOW/DESCRIBE/CREATE statement. (query.sql) + * + * @param string $sql An SQL SELECT/SHOW/DESCRIBE/INSERT/UPDATE/DELETE/CREATE statement. + * @param array $optParams Optional parameters. + * + * @opt_param bool hdrs Should column names be included (in the first row)?. Default is true. + * @opt_param bool typed Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true. + * @return Google_Sqlresponse + */ + public function sql($sql, $optParams = array()) { + $params = array('sql' => $sql); + $params = array_merge($params, $optParams); + $data = $this->__call('sql', array($params)); + if ($this->useObjects()) { + return new Google_Sqlresponse($data); + } else { + return $data; + } + } + /** + * Executes an SQL SELECT/SHOW/DESCRIBE statement. (query.sqlGet) + * + * @param string $sql An SQL SELECT/SHOW/DESCRIBE statement. + * @param array $optParams Optional parameters. + * + * @opt_param bool hdrs Should column names be included (in the first row)?. Default is true. + * @opt_param bool typed Should typed values be returned in the (JSON) response -- numbers for numeric values and parsed geometries for KML values? Default is true. + * @return Google_Sqlresponse + */ + public function sqlGet($sql, $optParams = array()) { + $params = array('sql' => $sql); + $params = array_merge($params, $optParams); + $data = $this->__call('sqlGet', array($params)); + if ($this->useObjects()) { + return new Google_Sqlresponse($data); + } else { + return $data; + } + } + } + + /** + * The "style" collection of methods. + * Typical usage is: + * + * $fusiontablesService = new Google_FusiontablesService(...); + * $style = $fusiontablesService->style; + * + */ + class Google_StyleServiceResource extends Google_ServiceResource { + + /** + * Deletes a style. (style.delete) + * + * @param string $tableId Table from which the style is being deleted + * @param int $styleId Identifier (within a table) for the style being deleted + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $styleId, $optParams = array()) { + $params = array('tableId' => $tableId, 'styleId' => $styleId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a specific style. (style.get) + * + * @param string $tableId Table to which the requested style belongs + * @param int $styleId Identifier (integer) for a specific style in a table + * @param array $optParams Optional parameters. + * @return Google_StyleSetting + */ + public function get($tableId, $styleId, $optParams = array()) { + $params = array('tableId' => $tableId, 'styleId' => $styleId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_StyleSetting($data); + } else { + return $data; + } + } + /** + * Adds a new style for the table. (style.insert) + * + * @param string $tableId Table for which a new style is being added + * @param Google_StyleSetting $postBody + * @param array $optParams Optional parameters. + * @return Google_StyleSetting + */ + public function insert($tableId, Google_StyleSetting $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_StyleSetting($data); + } else { + return $data; + } + } + /** + * Retrieves a list of styles. (style.list) + * + * @param string $tableId Table whose styles are being listed + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of styles to return. Optional. Default is 5. + * @opt_param string pageToken Continuation token specifying which result page to return. Optional. + * @return Google_StyleSettingList + */ + public function listStyle($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_StyleSettingList($data); + } else { + return $data; + } + } + /** + * Updates an existing style. This method supports patch semantics. (style.patch) + * + * @param string $tableId Table whose style is being updated. + * @param int $styleId Identifier (within a table) for the style being updated. + * @param Google_StyleSetting $postBody + * @param array $optParams Optional parameters. + * @return Google_StyleSetting + */ + public function patch($tableId, $styleId, Google_StyleSetting $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'styleId' => $styleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_StyleSetting($data); + } else { + return $data; + } + } + /** + * Updates an existing style. (style.update) + * + * @param string $tableId Table whose style is being updated. + * @param int $styleId Identifier (within a table) for the style being updated. + * @param Google_StyleSetting $postBody + * @param array $optParams Optional parameters. + * @return Google_StyleSetting + */ + public function update($tableId, $styleId, Google_StyleSetting $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'styleId' => $styleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_StyleSetting($data); + } else { + return $data; + } + } + } + + /** + * The "table" collection of methods. + * Typical usage is: + * + * $fusiontablesService = new Google_FusiontablesService(...); + * $table = $fusiontablesService->table; + * + */ + class Google_TableServiceResource extends Google_ServiceResource { + + /** + * Copies a table. (table.copy) + * + * @param string $tableId ID of the table that is being copied. + * @param array $optParams Optional parameters. + * + * @opt_param bool copyPresentation Whether to also copy tabs, styles, and templates. Default is false. + * @return Google_Table + */ + public function copy($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('copy', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Deletes a table. (table.delete) + * + * @param string $tableId ID of the table that is being deleted. + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves a specific table by its id. (table.get) + * + * @param string $tableId Identifier(ID) for the table being requested. + * @param array $optParams Optional parameters. + * @return Google_Table + */ + public function get($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Import more rows into a table. (table.importRows) + * + * @param string $tableId The table into which new rows are being imported. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ','. + * @opt_param string encoding The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding. + * @opt_param int endLine The index of the last line from which to start importing, exclusive. Thus, the number of imported lines is endLine - startLine. If this parameter is not provided, the file will be imported until the last line of the file. If endLine is negative, then the imported content will exclude the last endLine lines. That is, if endline is negative, no line will be imported whose index is greater than N + endLine where N is the number of lines in the file, and the number of imported lines will be N + endLine - startLine. + * @opt_param bool isStrict Whether the CSV must have the same number of values for each row. If false, rows with fewer values will be padded with empty values. Default is true. + * @opt_param int startLine The index of the first line from which to start importing, inclusive. Default is 0. + * @return Google_Import + */ + public function importRows($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('importRows', array($params)); + if ($this->useObjects()) { + return new Google_Import($data); + } else { + return $data; + } + } + /** + * Import a new table. (table.importTable) + * + * @param string $name The name to be assigned to the new table. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter The delimiter used to separate cell values. This can only consist of a single character. Default is ','. + * @opt_param string encoding The encoding of the content. Default is UTF-8. Use 'auto-detect' if you are unsure of the encoding. + * @return Google_Table + */ + public function importTable($name, $optParams = array()) { + $params = array('name' => $name); + $params = array_merge($params, $optParams); + $data = $this->__call('importTable', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Creates a new table. (table.insert) + * + * @param Google_Table $postBody + * @param array $optParams Optional parameters. + * @return Google_Table + */ + public function insert(Google_Table $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Retrieves a list of tables a user owns. (table.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of styles to return. Optional. Default is 5. + * @opt_param string pageToken Continuation token specifying which result page to return. Optional. + * @return Google_TableList + */ + public function listTable($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TableList($data); + } else { + return $data; + } + } + /** + * Updates an existing table. Unless explicitly requested, only the name, description, and + * attribution will be updated. This method supports patch semantics. (table.patch) + * + * @param string $tableId ID of the table that is being updated. + * @param Google_Table $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool replaceViewDefinition Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition. + * @return Google_Table + */ + public function patch($tableId, Google_Table $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + /** + * Updates an existing table. Unless explicitly requested, only the name, description, and + * attribution will be updated. (table.update) + * + * @param string $tableId ID of the table that is being updated. + * @param Google_Table $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool replaceViewDefinition Should the view definition also be updated? The specified view definition replaces the existing one. Only a view can be updated with a new definition. + * @return Google_Table + */ + public function update($tableId, Google_Table $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Table($data); + } else { + return $data; + } + } + } + + /** + * The "template" collection of methods. + * Typical usage is: + * + * $fusiontablesService = new Google_FusiontablesService(...); + * $template = $fusiontablesService->template; + * + */ + class Google_TemplateServiceResource extends Google_ServiceResource { + + /** + * Deletes a template (template.delete) + * + * @param string $tableId Table from which the template is being deleted + * @param int $templateId Identifier for the template which is being deleted + * @param array $optParams Optional parameters. + */ + public function delete($tableId, $templateId, $optParams = array()) { + $params = array('tableId' => $tableId, 'templateId' => $templateId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves a specific template by its id (template.get) + * + * @param string $tableId Table to which the template belongs + * @param int $templateId Identifier for the template that is being requested + * @param array $optParams Optional parameters. + * @return Google_Template + */ + public function get($tableId, $templateId, $optParams = array()) { + $params = array('tableId' => $tableId, 'templateId' => $templateId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Template($data); + } else { + return $data; + } + } + /** + * Creates a new template for the table. (template.insert) + * + * @param string $tableId Table for which a new template is being created + * @param Google_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Template + */ + public function insert($tableId, Google_Template $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Template($data); + } else { + return $data; + } + } + /** + * Retrieves a list of templates. (template.list) + * + * @param string $tableId Identifier for the table whose templates are being requested + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of templates to return. Optional. Default is 5. + * @opt_param string pageToken Continuation token specifying which results page to return. Optional. + * @return Google_TemplateList + */ + public function listTemplate($tableId, $optParams = array()) { + $params = array('tableId' => $tableId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TemplateList($data); + } else { + return $data; + } + } + /** + * Updates an existing template. This method supports patch semantics. (template.patch) + * + * @param string $tableId Table to which the updated template belongs + * @param int $templateId Identifier for the template that is being updated + * @param Google_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Template + */ + public function patch($tableId, $templateId, Google_Template $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'templateId' => $templateId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Template($data); + } else { + return $data; + } + } + /** + * Updates an existing template (template.update) + * + * @param string $tableId Table to which the updated template belongs + * @param int $templateId Identifier for the template that is being updated + * @param Google_Template $postBody + * @param array $optParams Optional parameters. + * @return Google_Template + */ + public function update($tableId, $templateId, Google_Template $postBody, $optParams = array()) { + $params = array('tableId' => $tableId, 'templateId' => $templateId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Template($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Fusiontables (v1). + * + *

    + * API for working with Fusion Tables data. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_FusiontablesService extends Google_Service { + public $column; + public $query; + public $style; + public $table; + public $template; + /** + * Constructs the internal representation of the Fusiontables service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'fusiontables/v1/'; + $this->version = 'v1'; + $this->serviceName = 'fusiontables'; + + $client->addService($this->serviceName, $this->version); + $this->column = new Google_ColumnServiceResource($this, $this->serviceName, 'column', json_decode('{"methods": {"delete": {"id": "fusiontables.column.delete", "path": "tables/{tableId}/columns/{columnId}", "httpMethod": "DELETE", "parameters": {"columnId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "get": {"id": "fusiontables.column.get", "path": "tables/{tableId}/columns/{columnId}", "httpMethod": "GET", "parameters": {"columnId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Column"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "insert": {"id": "fusiontables.column.insert", "path": "tables/{tableId}/columns", "httpMethod": "POST", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Column"}, "response": {"$ref": "Column"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "list": {"id": "fusiontables.column.list", "path": "tables/{tableId}/columns", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ColumnList"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "patch": {"id": "fusiontables.column.patch", "path": "tables/{tableId}/columns/{columnId}", "httpMethod": "PATCH", "parameters": {"columnId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Column"}, "response": {"$ref": "Column"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "update": {"id": "fusiontables.column.update", "path": "tables/{tableId}/columns/{columnId}", "httpMethod": "PUT", "parameters": {"columnId": {"type": "string", "required": true, "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Column"}, "response": {"$ref": "Column"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}}}', true)); + $this->query = new Google_QueryServiceResource($this, $this->serviceName, 'query', json_decode('{"methods": {"sql": {"id": "fusiontables.query.sql", "path": "query", "httpMethod": "POST", "parameters": {"hdrs": {"type": "boolean", "location": "query"}, "sql": {"type": "string", "required": true, "location": "query"}, "typed": {"type": "boolean", "location": "query"}}, "response": {"$ref": "Sqlresponse"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "sqlGet": {"id": "fusiontables.query.sqlGet", "path": "query", "httpMethod": "GET", "parameters": {"hdrs": {"type": "boolean", "location": "query"}, "sql": {"type": "string", "required": true, "location": "query"}, "typed": {"type": "boolean", "location": "query"}}, "response": {"$ref": "Sqlresponse"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}}}', true)); + $this->style = new Google_StyleServiceResource($this, $this->serviceName, 'style', json_decode('{"methods": {"delete": {"id": "fusiontables.style.delete", "path": "tables/{tableId}/styles/{styleId}", "httpMethod": "DELETE", "parameters": {"styleId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "get": {"id": "fusiontables.style.get", "path": "tables/{tableId}/styles/{styleId}", "httpMethod": "GET", "parameters": {"styleId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "StyleSetting"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "insert": {"id": "fusiontables.style.insert", "path": "tables/{tableId}/styles", "httpMethod": "POST", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "StyleSetting"}, "response": {"$ref": "StyleSetting"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "list": {"id": "fusiontables.style.list", "path": "tables/{tableId}/styles", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "StyleSettingList"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "patch": {"id": "fusiontables.style.patch", "path": "tables/{tableId}/styles/{styleId}", "httpMethod": "PATCH", "parameters": {"styleId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "StyleSetting"}, "response": {"$ref": "StyleSetting"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "update": {"id": "fusiontables.style.update", "path": "tables/{tableId}/styles/{styleId}", "httpMethod": "PUT", "parameters": {"styleId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "StyleSetting"}, "response": {"$ref": "StyleSetting"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}}}', true)); + $this->table = new Google_TableServiceResource($this, $this->serviceName, 'table', json_decode('{"methods": {"copy": {"id": "fusiontables.table.copy", "path": "tables/{tableId}/copy", "httpMethod": "POST", "parameters": {"copyPresentation": {"type": "boolean", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "delete": {"id": "fusiontables.table.delete", "path": "tables/{tableId}", "httpMethod": "DELETE", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "get": {"id": "fusiontables.table.get", "path": "tables/{tableId}", "httpMethod": "GET", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "importRows": {"id": "fusiontables.table.importRows", "path": "tables/{tableId}/import", "httpMethod": "POST", "parameters": {"delimiter": {"type": "string", "location": "query"}, "encoding": {"type": "string", "location": "query"}, "endLine": {"type": "integer", "format": "int32", "location": "query"}, "isStrict": {"type": "boolean", "location": "query"}, "startLine": {"type": "integer", "format": "int32", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Import"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["application/octet-stream"], "maxSize": "100MB", "protocols": {"simple": {"multipart": true, "path": "/upload/fusiontables/v1/tables/{tableId}/import"}, "resumable": {"multipart": true, "path": "/resumable/upload/fusiontables/v1/tables/{tableId}/import"}}}}, "importTable": {"id": "fusiontables.table.importTable", "path": "tables/import", "httpMethod": "POST", "parameters": {"delimiter": {"type": "string", "location": "query"}, "encoding": {"type": "string", "location": "query"}, "name": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["application/octet-stream"], "maxSize": "100MB", "protocols": {"simple": {"multipart": true, "path": "/upload/fusiontables/v1/tables/import"}, "resumable": {"multipart": true, "path": "/resumable/upload/fusiontables/v1/tables/import"}}}}, "insert": {"id": "fusiontables.table.insert", "path": "tables", "httpMethod": "POST", "request": {"$ref": "Table"}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "list": {"id": "fusiontables.table.list", "path": "tables", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "TableList"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "patch": {"id": "fusiontables.table.patch", "path": "tables/{tableId}", "httpMethod": "PATCH", "parameters": {"replaceViewDefinition": {"type": "boolean", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Table"}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "update": {"id": "fusiontables.table.update", "path": "tables/{tableId}", "httpMethod": "PUT", "parameters": {"replaceViewDefinition": {"type": "boolean", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Table"}, "response": {"$ref": "Table"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}}}', true)); + $this->template = new Google_TemplateServiceResource($this, $this->serviceName, 'template', json_decode('{"methods": {"delete": {"id": "fusiontables.template.delete", "path": "tables/{tableId}/templates/{templateId}", "httpMethod": "DELETE", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}, "templateId": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "get": {"id": "fusiontables.template.get", "path": "tables/{tableId}/templates/{templateId}", "httpMethod": "GET", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}, "templateId": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "response": {"$ref": "Template"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "insert": {"id": "fusiontables.template.insert", "path": "tables/{tableId}/templates", "httpMethod": "POST", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Template"}, "response": {"$ref": "Template"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "list": {"id": "fusiontables.template.list", "path": "tables/{tableId}/templates", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "tableId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "TemplateList"}, "scopes": ["https://www.googleapis.com/auth/fusiontables", "https://www.googleapis.com/auth/fusiontables.readonly"]}, "patch": {"id": "fusiontables.template.patch", "path": "tables/{tableId}/templates/{templateId}", "httpMethod": "PATCH", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}, "templateId": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "request": {"$ref": "Template"}, "response": {"$ref": "Template"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}, "update": {"id": "fusiontables.template.update", "path": "tables/{tableId}/templates/{templateId}", "httpMethod": "PUT", "parameters": {"tableId": {"type": "string", "required": true, "location": "path"}, "templateId": {"type": "integer", "required": true, "format": "int32", "location": "path"}}, "request": {"$ref": "Template"}, "response": {"$ref": "Template"}, "scopes": ["https://www.googleapis.com/auth/fusiontables"]}}}', true)); + + } +} + + + +class Google_Bucket extends Google_Model { + public $color; + public $icon; + public $max; + public $min; + public $opacity; + public $weight; + public function setColor( $color) { + $this->color = $color; + } + public function getColor() { + return $this->color; + } + public function setIcon( $icon) { + $this->icon = $icon; + } + public function getIcon() { + return $this->icon; + } + public function setMax( $max) { + $this->max = $max; + } + public function getMax() { + return $this->max; + } + public function setMin( $min) { + $this->min = $min; + } + public function getMin() { + return $this->min; + } + public function setOpacity( $opacity) { + $this->opacity = $opacity; + } + public function getOpacity() { + return $this->opacity; + } + public function setWeight( $weight) { + $this->weight = $weight; + } + public function getWeight() { + return $this->weight; + } +} + +class Google_Column extends Google_Model { + protected $__baseColumnType = 'Google_ColumnBaseColumn'; + protected $__baseColumnDataType = ''; + public $baseColumn; + public $columnId; + public $kind; + public $name; + public $type; + public function setBaseColumn(Google_ColumnBaseColumn $baseColumn) { + $this->baseColumn = $baseColumn; + } + public function getBaseColumn() { + return $this->baseColumn; + } + public function setColumnId( $columnId) { + $this->columnId = $columnId; + } + public function getColumnId() { + return $this->columnId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ColumnBaseColumn extends Google_Model { + public $columnId; + public $tableIndex; + public function setColumnId( $columnId) { + $this->columnId = $columnId; + } + public function getColumnId() { + return $this->columnId; + } + public function setTableIndex( $tableIndex) { + $this->tableIndex = $tableIndex; + } + public function getTableIndex() { + return $this->tableIndex; + } +} + +class Google_ColumnList extends Google_Model { + protected $__itemsType = 'Google_Column'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public function setItems(/* array(Google_Column) */ $items) { + $this->assertIsArray($items, 'Google_Column', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Geometry extends Google_Model { + public $geometries; + public $geometry; + public $type; + public function setGeometries(/* array(Google_object) */ $geometries) { + $this->assertIsArray($geometries, 'Google_object', __METHOD__); + $this->geometries = $geometries; + } + public function getGeometries() { + return $this->geometries; + } + public function setGeometry( $geometry) { + $this->geometry = $geometry; + } + public function getGeometry() { + return $this->geometry; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Import extends Google_Model { + public $kind; + public $numRowsReceived; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNumRowsReceived( $numRowsReceived) { + $this->numRowsReceived = $numRowsReceived; + } + public function getNumRowsReceived() { + return $this->numRowsReceived; + } +} + +class Google_Line extends Google_Model { + public $coordinates; + public $type; + public function setCoordinates(/* array(Google_double) */ $coordinates) { + $this->assertIsArray($coordinates, 'Google_double', __METHOD__); + $this->coordinates = $coordinates; + } + public function getCoordinates() { + return $this->coordinates; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_LineStyle extends Google_Model { + public $strokeColor; + protected $__strokeColorStylerType = 'Google_StyleFunction'; + protected $__strokeColorStylerDataType = ''; + public $strokeColorStyler; + public $strokeOpacity; + public $strokeWeight; + protected $__strokeWeightStylerType = 'Google_StyleFunction'; + protected $__strokeWeightStylerDataType = ''; + public $strokeWeightStyler; + public function setStrokeColor( $strokeColor) { + $this->strokeColor = $strokeColor; + } + public function getStrokeColor() { + return $this->strokeColor; + } + public function setStrokeColorStyler(Google_StyleFunction $strokeColorStyler) { + $this->strokeColorStyler = $strokeColorStyler; + } + public function getStrokeColorStyler() { + return $this->strokeColorStyler; + } + public function setStrokeOpacity( $strokeOpacity) { + $this->strokeOpacity = $strokeOpacity; + } + public function getStrokeOpacity() { + return $this->strokeOpacity; + } + public function setStrokeWeight( $strokeWeight) { + $this->strokeWeight = $strokeWeight; + } + public function getStrokeWeight() { + return $this->strokeWeight; + } + public function setStrokeWeightStyler(Google_StyleFunction $strokeWeightStyler) { + $this->strokeWeightStyler = $strokeWeightStyler; + } + public function getStrokeWeightStyler() { + return $this->strokeWeightStyler; + } +} + +class Google_Point extends Google_Model { + public $coordinates; + public $type; + public function setCoordinates(/* array(Google_double) */ $coordinates) { + $this->assertIsArray($coordinates, 'Google_double', __METHOD__); + $this->coordinates = $coordinates; + } + public function getCoordinates() { + return $this->coordinates; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_PointStyle extends Google_Model { + public $iconName; + protected $__iconStylerType = 'Google_StyleFunction'; + protected $__iconStylerDataType = ''; + public $iconStyler; + public function setIconName( $iconName) { + $this->iconName = $iconName; + } + public function getIconName() { + return $this->iconName; + } + public function setIconStyler(Google_StyleFunction $iconStyler) { + $this->iconStyler = $iconStyler; + } + public function getIconStyler() { + return $this->iconStyler; + } +} + +class Google_Polygon extends Google_Model { + public $coordinates; + public $type; + public function setCoordinates(/* array(Google_double) */ $coordinates) { + $this->assertIsArray($coordinates, 'Google_double', __METHOD__); + $this->coordinates = $coordinates; + } + public function getCoordinates() { + return $this->coordinates; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_PolygonStyle extends Google_Model { + public $fillColor; + protected $__fillColorStylerType = 'Google_StyleFunction'; + protected $__fillColorStylerDataType = ''; + public $fillColorStyler; + public $fillOpacity; + public $strokeColor; + protected $__strokeColorStylerType = 'Google_StyleFunction'; + protected $__strokeColorStylerDataType = ''; + public $strokeColorStyler; + public $strokeOpacity; + public $strokeWeight; + protected $__strokeWeightStylerType = 'Google_StyleFunction'; + protected $__strokeWeightStylerDataType = ''; + public $strokeWeightStyler; + public function setFillColor( $fillColor) { + $this->fillColor = $fillColor; + } + public function getFillColor() { + return $this->fillColor; + } + public function setFillColorStyler(Google_StyleFunction $fillColorStyler) { + $this->fillColorStyler = $fillColorStyler; + } + public function getFillColorStyler() { + return $this->fillColorStyler; + } + public function setFillOpacity( $fillOpacity) { + $this->fillOpacity = $fillOpacity; + } + public function getFillOpacity() { + return $this->fillOpacity; + } + public function setStrokeColor( $strokeColor) { + $this->strokeColor = $strokeColor; + } + public function getStrokeColor() { + return $this->strokeColor; + } + public function setStrokeColorStyler(Google_StyleFunction $strokeColorStyler) { + $this->strokeColorStyler = $strokeColorStyler; + } + public function getStrokeColorStyler() { + return $this->strokeColorStyler; + } + public function setStrokeOpacity( $strokeOpacity) { + $this->strokeOpacity = $strokeOpacity; + } + public function getStrokeOpacity() { + return $this->strokeOpacity; + } + public function setStrokeWeight( $strokeWeight) { + $this->strokeWeight = $strokeWeight; + } + public function getStrokeWeight() { + return $this->strokeWeight; + } + public function setStrokeWeightStyler(Google_StyleFunction $strokeWeightStyler) { + $this->strokeWeightStyler = $strokeWeightStyler; + } + public function getStrokeWeightStyler() { + return $this->strokeWeightStyler; + } +} + +class Google_Sqlresponse extends Google_Model { + public $columns; + public $kind; + public $rows; + public function setColumns(/* array(Google_string) */ $columns) { + $this->assertIsArray($columns, 'Google_string', __METHOD__); + $this->columns = $columns; + } + public function getColumns() { + return $this->columns; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRows(/* array(Google_object) */ $rows) { + $this->assertIsArray($rows, 'Google_object', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } +} + +class Google_StyleFunction extends Google_Model { + protected $__bucketsType = 'Google_Bucket'; + protected $__bucketsDataType = 'array'; + public $buckets; + public $columnName; + protected $__gradientType = 'Google_StyleFunctionGradient'; + protected $__gradientDataType = ''; + public $gradient; + public $kind; + public function setBuckets(/* array(Google_Bucket) */ $buckets) { + $this->assertIsArray($buckets, 'Google_Bucket', __METHOD__); + $this->buckets = $buckets; + } + public function getBuckets() { + return $this->buckets; + } + public function setColumnName( $columnName) { + $this->columnName = $columnName; + } + public function getColumnName() { + return $this->columnName; + } + public function setGradient(Google_StyleFunctionGradient $gradient) { + $this->gradient = $gradient; + } + public function getGradient() { + return $this->gradient; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_StyleFunctionGradient extends Google_Model { + protected $__colorsType = 'Google_StyleFunctionGradientColors'; + protected $__colorsDataType = 'array'; + public $colors; + public $max; + public $min; + public function setColors(/* array(Google_StyleFunctionGradientColors) */ $colors) { + $this->assertIsArray($colors, 'Google_StyleFunctionGradientColors', __METHOD__); + $this->colors = $colors; + } + public function getColors() { + return $this->colors; + } + public function setMax( $max) { + $this->max = $max; + } + public function getMax() { + return $this->max; + } + public function setMin( $min) { + $this->min = $min; + } + public function getMin() { + return $this->min; + } +} + +class Google_StyleFunctionGradientColors extends Google_Model { + public $color; + public $opacity; + public function setColor( $color) { + $this->color = $color; + } + public function getColor() { + return $this->color; + } + public function setOpacity( $opacity) { + $this->opacity = $opacity; + } + public function getOpacity() { + return $this->opacity; + } +} + +class Google_StyleSetting extends Google_Model { + public $kind; + protected $__markerOptionsType = 'Google_PointStyle'; + protected $__markerOptionsDataType = ''; + public $markerOptions; + public $name; + protected $__polygonOptionsType = 'Google_PolygonStyle'; + protected $__polygonOptionsDataType = ''; + public $polygonOptions; + protected $__polylineOptionsType = 'Google_LineStyle'; + protected $__polylineOptionsDataType = ''; + public $polylineOptions; + public $styleId; + public $tableId; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMarkerOptions(Google_PointStyle $markerOptions) { + $this->markerOptions = $markerOptions; + } + public function getMarkerOptions() { + return $this->markerOptions; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPolygonOptions(Google_PolygonStyle $polygonOptions) { + $this->polygonOptions = $polygonOptions; + } + public function getPolygonOptions() { + return $this->polygonOptions; + } + public function setPolylineOptions(Google_LineStyle $polylineOptions) { + $this->polylineOptions = $polylineOptions; + } + public function getPolylineOptions() { + return $this->polylineOptions; + } + public function setStyleId( $styleId) { + $this->styleId = $styleId; + } + public function getStyleId() { + return $this->styleId; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } +} + +class Google_StyleSettingList extends Google_Model { + protected $__itemsType = 'Google_StyleSetting'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public function setItems(/* array(Google_StyleSetting) */ $items) { + $this->assertIsArray($items, 'Google_StyleSetting', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Table extends Google_Model { + public $attribution; + public $attributionLink; + public $baseTableIds; + protected $__columnsType = 'Google_Column'; + protected $__columnsDataType = 'array'; + public $columns; + public $description; + public $isExportable; + public $kind; + public $name; + public $sql; + public $tableId; + public function setAttribution( $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setAttributionLink( $attributionLink) { + $this->attributionLink = $attributionLink; + } + public function getAttributionLink() { + return $this->attributionLink; + } + public function setBaseTableIds(/* array(Google_string) */ $baseTableIds) { + $this->assertIsArray($baseTableIds, 'Google_string', __METHOD__); + $this->baseTableIds = $baseTableIds; + } + public function getBaseTableIds() { + return $this->baseTableIds; + } + public function setColumns(/* array(Google_Column) */ $columns) { + $this->assertIsArray($columns, 'Google_Column', __METHOD__); + $this->columns = $columns; + } + public function getColumns() { + return $this->columns; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setIsExportable( $isExportable) { + $this->isExportable = $isExportable; + } + public function getIsExportable() { + return $this->isExportable; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setSql( $sql) { + $this->sql = $sql; + } + public function getSql() { + return $this->sql; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } +} + +class Google_TableList extends Google_Model { + protected $__itemsType = 'Google_Table'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Table) */ $items) { + $this->assertIsArray($items, 'Google_Table', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Template extends Google_Model { + public $automaticColumnNames; + public $body; + public $kind; + public $name; + public $tableId; + public $templateId; + public function setAutomaticColumnNames(/* array(Google_string) */ $automaticColumnNames) { + $this->assertIsArray($automaticColumnNames, 'Google_string', __METHOD__); + $this->automaticColumnNames = $automaticColumnNames; + } + public function getAutomaticColumnNames() { + return $this->automaticColumnNames; + } + public function setBody( $body) { + $this->body = $body; + } + public function getBody() { + return $this->body; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setTableId( $tableId) { + $this->tableId = $tableId; + } + public function getTableId() { + return $this->tableId; + } + public function setTemplateId( $templateId) { + $this->templateId = $templateId; + } + public function getTemplateId() { + return $this->templateId; + } +} + +class Google_TemplateList extends Google_Model { + protected $__itemsType = 'Google_Template'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public function setItems(/* array(Google_Template) */ $items) { + $this->assertIsArray($items, 'Google_Template', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GamesManagementService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GamesManagementService.php new file mode 100644 index 0000000..409ce1e --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GamesManagementService.php @@ -0,0 +1,384 @@ + + * $gamesManagementService = new Google_GamesManagementService(...); + * $achievements = $gamesManagementService->achievements; + * + */ + class Google_AchievementsServiceResource extends Google_ServiceResource { + + /** + * Resets the achievement with the given ID. This method is only accessible to whitelisted tester + * accounts for your application. (achievements.reset) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * @return Google_AchievementResetResponse + */ + public function reset($achievementId, $optParams = array()) { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + $data = $this->__call('reset', array($params)); + if ($this->useObjects()) { + return new Google_AchievementResetResponse($data); + } else { + return $data; + } + } + /** + * Resets all achievements for the currently authenticated player for your application. This method + * is only accessible to whitelisted tester accounts for your application. (achievements.resetAll) + * + * @param array $optParams Optional parameters. + * @return Google_AchievementResetAllResponse + */ + public function resetAll($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('resetAll', array($params)); + if ($this->useObjects()) { + return new Google_AchievementResetAllResponse($data); + } else { + return $data; + } + } + } + + /** + * The "applications" collection of methods. + * Typical usage is: + * + * $gamesManagementService = new Google_GamesManagementService(...); + * $applications = $gamesManagementService->applications; + * + */ + class Google_ApplicationsServiceResource extends Google_ServiceResource { + + /** + * Get the list of players hidden from the given application. This method is only available to user + * accounts for your developer console. (applications.listHidden) + * + * @param string $applicationId The application being requested. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults The maximum number of player resources to return in the response, used for paging. For any response, the actual number of player resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_HiddenPlayerList + */ + public function listHidden($applicationId, $optParams = array()) { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + $data = $this->__call('listHidden', array($params)); + if ($this->useObjects()) { + return new Google_HiddenPlayerList($data); + } else { + return $data; + } + } + } + + /** + * The "players" collection of methods. + * Typical usage is: + * + * $gamesManagementService = new Google_GamesManagementService(...); + * $players = $gamesManagementService->players; + * + */ + class Google_PlayersServiceResource extends Google_ServiceResource { + + /** + * Hide the given player's leaderboard scores from the given application. This method is only + * available to user accounts for your developer console. (players.hide) + * + * @param string $applicationId The application being requested. + * @param string $playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param array $optParams Optional parameters. + */ + public function hide($applicationId, $playerId, $optParams = array()) { + $params = array('applicationId' => $applicationId, 'playerId' => $playerId); + $params = array_merge($params, $optParams); + $data = $this->__call('hide', array($params)); + return $data; + } + /** + * Unhide the given player's leaderboard scores from the given application. This method is only + * available to user accounts for your developer console. (players.unhide) + * + * @param string $applicationId The application being requested. + * @param string $playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param array $optParams Optional parameters. + */ + public function unhide($applicationId, $playerId, $optParams = array()) { + $params = array('applicationId' => $applicationId, 'playerId' => $playerId); + $params = array_merge($params, $optParams); + $data = $this->__call('unhide', array($params)); + return $data; + } + } + + /** + * The "rooms" collection of methods. + * Typical usage is: + * + * $gamesManagementService = new Google_GamesManagementService(...); + * $rooms = $gamesManagementService->rooms; + * + */ + class Google_RoomsServiceResource extends Google_ServiceResource { + + /** + * Reset all rooms for the currently authenticated player for your application. This method is only + * accessible to whitelisted tester accounts for your application. (rooms.reset) + * + * @param array $optParams Optional parameters. + */ + public function reset($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('reset', array($params)); + return $data; + } + } + + /** + * The "scores" collection of methods. + * Typical usage is: + * + * $gamesManagementService = new Google_GamesManagementService(...); + * $scores = $gamesManagementService->scores; + * + */ + class Google_ScoresServiceResource extends Google_ServiceResource { + + /** + * Reset scores for the specified leaderboard, resetting the leaderboard to empty. This method is + * only accessible to whitelisted tester accounts for your application. (scores.reset) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + * @return Google_PlayerScoreResetResponse + */ + public function reset($leaderboardId, $optParams = array()) { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + $data = $this->__call('reset', array($params)); + if ($this->useObjects()) { + return new Google_PlayerScoreResetResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_GamesManagement (v1management). + * + *

    + * The Management API for Google Play Game Services. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_GamesManagementService extends Google_Service { + public $achievements; + public $applications; + public $players; + public $rooms; + public $scores; + /** + * Constructs the internal representation of the GamesManagement service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'games/v1management/'; + $this->version = 'v1management'; + $this->serviceName = 'gamesManagement'; + + $client->addService($this->serviceName, $this->version); + $this->achievements = new Google_AchievementsServiceResource($this, $this->serviceName, 'achievements', json_decode('{"methods": {"reset": {"id": "gamesManagement.achievements.reset", "path": "achievements/{achievementId}/reset", "httpMethod": "POST", "parameters": {"achievementId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AchievementResetResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "resetAll": {"id": "gamesManagement.achievements.resetAll", "path": "achievements/reset", "httpMethod": "POST", "response": {"$ref": "AchievementResetAllResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->applications = new Google_ApplicationsServiceResource($this, $this->serviceName, 'applications', json_decode('{"methods": {"listHidden": {"id": "gamesManagement.applications.listHidden", "path": "applications/{applicationId}/players/hidden", "httpMethod": "GET", "parameters": {"applicationId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "15", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "HiddenPlayerList"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->players = new Google_PlayersServiceResource($this, $this->serviceName, 'players', json_decode('{"methods": {"hide": {"id": "gamesManagement.players.hide", "path": "applications/{applicationId}/players/hidden/{playerId}", "httpMethod": "POST", "parameters": {"applicationId": {"type": "string", "required": true, "location": "path"}, "playerId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "unhide": {"id": "gamesManagement.players.unhide", "path": "applications/{applicationId}/players/hidden/{playerId}", "httpMethod": "DELETE", "parameters": {"applicationId": {"type": "string", "required": true, "location": "path"}, "playerId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->rooms = new Google_RoomsServiceResource($this, $this->serviceName, 'rooms', json_decode('{"methods": {"reset": {"id": "gamesManagement.rooms.reset", "path": "rooms/reset", "httpMethod": "POST", "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->scores = new Google_ScoresServiceResource($this, $this->serviceName, 'scores', json_decode('{"methods": {"reset": {"id": "gamesManagement.scores.reset", "path": "leaderboards/{leaderboardId}/scores/reset", "httpMethod": "POST", "parameters": {"leaderboardId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PlayerScoreResetResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + + } +} + + + +class Google_AchievementResetAllResponse extends Google_Model { + public $kind; + protected $__resultsType = 'Google_AchievementResetResponse'; + protected $__resultsDataType = 'array'; + public $results; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setResults(/* array(Google_AchievementResetResponse) */ $results) { + $this->assertIsArray($results, 'Google_AchievementResetResponse', __METHOD__); + $this->results = $results; + } + public function getResults() { + return $this->results; + } +} + +class Google_AchievementResetResponse extends Google_Model { + public $currentState; + public $definitionId; + public $kind; + public $updateOccurred; + public function setCurrentState( $currentState) { + $this->currentState = $currentState; + } + public function getCurrentState() { + return $this->currentState; + } + public function setDefinitionId( $definitionId) { + $this->definitionId = $definitionId; + } + public function getDefinitionId() { + return $this->definitionId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUpdateOccurred( $updateOccurred) { + $this->updateOccurred = $updateOccurred; + } + public function getUpdateOccurred() { + return $this->updateOccurred; + } +} + +class Google_HiddenPlayer extends Google_Model { + public $hiddenTimeMillis; + public $kind; + protected $__playerType = 'Google_Player'; + protected $__playerDataType = ''; + public $player; + public function setHiddenTimeMillis( $hiddenTimeMillis) { + $this->hiddenTimeMillis = $hiddenTimeMillis; + } + public function getHiddenTimeMillis() { + return $this->hiddenTimeMillis; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPlayer(Google_Player $player) { + $this->player = $player; + } + public function getPlayer() { + return $this->player; + } +} + +class Google_HiddenPlayerList extends Google_Model { + protected $__itemsType = 'Google_HiddenPlayer'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_HiddenPlayer) */ $items) { + $this->assertIsArray($items, 'Google_HiddenPlayer', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Player extends Google_Model { + public $avatarImageUrl; + public $displayName; + public $kind; + public $playerId; + public function setAvatarImageUrl( $avatarImageUrl) { + $this->avatarImageUrl = $avatarImageUrl; + } + public function getAvatarImageUrl() { + return $this->avatarImageUrl; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPlayerId( $playerId) { + $this->playerId = $playerId; + } + public function getPlayerId() { + return $this->playerId; + } +} + +class Google_PlayerScoreResetResponse extends Google_Model { + public $kind; + public $resetScoreTimeSpans; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setResetScoreTimeSpans(/* array(Google_string) */ $resetScoreTimeSpans) { + $this->assertIsArray($resetScoreTimeSpans, 'Google_string', __METHOD__); + $this->resetScoreTimeSpans = $resetScoreTimeSpans; + } + public function getResetScoreTimeSpans() { + return $this->resetScoreTimeSpans; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GamesService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GamesService.php new file mode 100644 index 0000000..75f6238 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GamesService.php @@ -0,0 +1,2467 @@ + + * $gamesService = new Google_GamesService(...); + * $achievementDefinitions = $gamesService->achievementDefinitions; + * + */ + class Google_AchievementDefinitionsServiceResource extends Google_ServiceResource { + + /** + * Lists all the achievement definitions for your application. (achievementDefinitions.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_AchievementDefinitionsListResponse + */ + public function listAchievementDefinitions($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AchievementDefinitionsListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "achievements" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $achievements = $gamesService->achievements; + * + */ + class Google_AchievementsServiceResource extends Google_ServiceResource { + + /** + * Increments the steps of the achievement with the given ID for the currently authenticated player. + * (achievements.increment) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param int $stepsToIncrement The number of steps to increment. + * @param array $optParams Optional parameters. + * + * @opt_param string requestId A randomly generated numeric ID for each request specified by the caller. This number is used at the server to ensure that the increment is performed correctly across retries. + * @return Google_AchievementIncrementResponse + */ + public function increment($achievementId, $stepsToIncrement, $optParams = array()) { + $params = array('achievementId' => $achievementId, 'stepsToIncrement' => $stepsToIncrement); + $params = array_merge($params, $optParams); + $data = $this->__call('increment', array($params)); + if ($this->useObjects()) { + return new Google_AchievementIncrementResponse($data); + } else { + return $data; + } + } + /** + * Lists the progress for all your application's achievements for the currently authenticated + * player. (achievements.list) + * + * @param string $playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of achievement resources to return in the response, used for paging. For any response, the actual number of achievement resources returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @opt_param string state Tells the server to return only achievements with the specified state. If this parameter isn't specified, all achievements are returned. + * @return Google_PlayerAchievementListResponse + */ + public function listAchievements($playerId, $optParams = array()) { + $params = array('playerId' => $playerId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PlayerAchievementListResponse($data); + } else { + return $data; + } + } + /** + * Sets the state of the achievement with the given ID to REVEALED for the currently authenticated + * player. (achievements.reveal) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * @return Google_AchievementRevealResponse + */ + public function reveal($achievementId, $optParams = array()) { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + $data = $this->__call('reveal', array($params)); + if ($this->useObjects()) { + return new Google_AchievementRevealResponse($data); + } else { + return $data; + } + } + /** + * Unlocks this achievement for the currently authenticated player. (achievements.unlock) + * + * @param string $achievementId The ID of the achievement used by this method. + * @param array $optParams Optional parameters. + * @return Google_AchievementUnlockResponse + */ + public function unlock($achievementId, $optParams = array()) { + $params = array('achievementId' => $achievementId); + $params = array_merge($params, $optParams); + $data = $this->__call('unlock', array($params)); + if ($this->useObjects()) { + return new Google_AchievementUnlockResponse($data); + } else { + return $data; + } + } + } + + /** + * The "applications" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $applications = $gamesService->applications; + * + */ + class Google_ApplicationsServiceResource extends Google_ServiceResource { + + /** + * Retrieves the metadata of the application with the given ID. If the requested application is not + * available for the specified platformType, the returned response will not include any instance + * data. (applications.get) + * + * @param string $applicationId The application being requested. + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param string platformType Restrict application details returned to the specific platform. + * @return Google_Application + */ + public function get($applicationId, $optParams = array()) { + $params = array('applicationId' => $applicationId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Application($data); + } else { + return $data; + } + } + /** + * Indicate that the the currently authenticated user is playing your application. + * (applications.played) + * + * @param array $optParams Optional parameters. + */ + public function played($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('played', array($params)); + return $data; + } + } + + /** + * The "leaderboards" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $leaderboards = $gamesService->leaderboards; + * + */ + class Google_LeaderboardsServiceResource extends Google_ServiceResource { + + /** + * Retrieves the metadata of the leaderboard with the given ID. (leaderboards.get) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @return Google_Leaderboard + */ + public function get($leaderboardId, $optParams = array()) { + $params = array('leaderboardId' => $leaderboardId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Leaderboard($data); + } else { + return $data; + } + } + /** + * Lists all the leaderboard metadata for your application. (leaderboards.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of leaderboards to return in the response. For any response, the actual number of leaderboards returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_LeaderboardListResponse + */ + public function listLeaderboards($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_LeaderboardListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "players" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $players = $gamesService->players; + * + */ + class Google_PlayersServiceResource extends Google_ServiceResource { + + /** + * Retrieves the Player resource with the given ID. To retrieve the player for the currently + * authenticated user, set playerId to me. (players.get) + * + * @param string $playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param array $optParams Optional parameters. + * @return Google_Player + */ + public function get($playerId, $optParams = array()) { + $params = array('playerId' => $playerId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Player($data); + } else { + return $data; + } + } + } + + /** + * The "revisions" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $revisions = $gamesService->revisions; + * + */ + class Google_RevisionsServiceResource extends Google_ServiceResource { + + /** + * Checks whether the games client is out of date. (revisions.check) + * + * @param string $clientRevision The revision of the client SDK used by your application. + * @param array $optParams Optional parameters. + * @return Google_RevisionCheckResponse + */ + public function check($clientRevision, $optParams = array()) { + $params = array('clientRevision' => $clientRevision); + $params = array_merge($params, $optParams); + $data = $this->__call('check', array($params)); + if ($this->useObjects()) { + return new Google_RevisionCheckResponse($data); + } else { + return $data; + } + } + } + + /** + * The "rooms" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $rooms = $gamesService->rooms; + * + */ + class Google_RoomsServiceResource extends Google_ServiceResource { + + /** + * Create a room. For internal use by the Games SDK only. Calling this method directly is + * unsupported. (rooms.create) + * + * @param Google_RoomCreateRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @return Google_Room + */ + public function create(Google_RoomCreateRequest $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('create', array($params)); + if ($this->useObjects()) { + return new Google_Room($data); + } else { + return $data; + } + } + /** + * Decline an invitation to join a room. For internal use by the Games SDK only. Calling this method + * directly is unsupported. (rooms.decline) + * + * @param string $roomId The ID of the room. + * @param array $optParams Optional parameters. + * @return Google_Room + */ + public function decline($roomId, $optParams = array()) { + $params = array('roomId' => $roomId); + $params = array_merge($params, $optParams); + $data = $this->__call('decline', array($params)); + if ($this->useObjects()) { + return new Google_Room($data); + } else { + return $data; + } + } + /** + * Dismiss an invitation to join a room. For internal use by the Games SDK only. Calling this method + * directly is unsupported. (rooms.dismiss) + * + * @param string $roomId The ID of the room. + * @param array $optParams Optional parameters. + */ + public function dismiss($roomId, $optParams = array()) { + $params = array('roomId' => $roomId); + $params = array_merge($params, $optParams); + $data = $this->__call('dismiss', array($params)); + return $data; + } + /** + * Get the data for a room. (rooms.get) + * + * @param string $roomId The ID of the room. + * @param array $optParams Optional parameters. + * + * @opt_param string language Specify the preferred language to use to format room info. + * @return Google_Room + */ + public function get($roomId, $optParams = array()) { + $params = array('roomId' => $roomId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Room($data); + } else { + return $data; + } + } + /** + * Join a room. For internal use by the Games SDK only. Calling this method directly is unsupported. + * (rooms.join) + * + * @param string $roomId The ID of the room. + * @param Google_RoomJoinRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Room + */ + public function join($roomId, Google_RoomJoinRequest $postBody, $optParams = array()) { + $params = array('roomId' => $roomId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('join', array($params)); + if ($this->useObjects()) { + return new Google_Room($data); + } else { + return $data; + } + } + /** + * Leave a room. For internal use by the Games SDK only. Calling this method directly is + * unsupported. (rooms.leave) + * + * @param string $roomId The ID of the room. + * @param Google_RoomLeaveRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Room + */ + public function leave($roomId, Google_RoomLeaveRequest $postBody, $optParams = array()) { + $params = array('roomId' => $roomId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('leave', array($params)); + if ($this->useObjects()) { + return new Google_Room($data); + } else { + return $data; + } + } + /** + * Returns invitations to join rooms. (rooms.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of rooms to return in the response, used for paging. For any response, the actual number of rooms to return may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_RoomList + */ + public function listRooms($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_RoomList($data); + } else { + return $data; + } + } + /** + * Updates sent by a client reporting the status of peers in a room. For internal use by the Games + * SDK only. Calling this method directly is unsupported. (rooms.reportStatus) + * + * @param string $roomId The ID of the room. + * @param Google_RoomP2PStatuses $postBody + * @param array $optParams Optional parameters. + * @return Google_RoomStatus + */ + public function reportStatus($roomId, Google_RoomP2PStatuses $postBody, $optParams = array()) { + $params = array('roomId' => $roomId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('reportStatus', array($params)); + if ($this->useObjects()) { + return new Google_RoomStatus($data); + } else { + return $data; + } + } + } + + /** + * The "scores" collection of methods. + * Typical usage is: + * + * $gamesService = new Google_GamesService(...); + * $scores = $gamesService->scores; + * + */ + class Google_ScoresServiceResource extends Google_ServiceResource { + + /** + * Get high scores and optionally, ranks in leaderboards for the currently authenticated player. For + * a specific time span, leaderboardId can be set to ALL to retrieve data for all leaderboards in a + * given time span. (scores.get) + * + * @param string $playerId A player ID. A value of me may be used in place of the authenticated player's ID. + * @param string $leaderboardId The ID of the leaderboard. + * @param string $timeSpan The time span for the scores and ranks you're requesting. + * @param array $optParams Optional parameters. + * + * @opt_param string includeRankType The types of ranks to return. If the parameter is omitted, no ranks will be returned. + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_PlayerLeaderboardScoreListResponse + */ + public function get($playerId, $leaderboardId, $timeSpan, $optParams = array()) { + $params = array('playerId' => $playerId, 'leaderboardId' => $leaderboardId, 'timeSpan' => $timeSpan); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_PlayerLeaderboardScoreListResponse($data); + } else { + return $data; + } + } + /** + * Lists the scores in a leaderboard, starting from the top. (scores.list) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param string $collection The collection of scores you're requesting. + * @param string $timeSpan The time span for the scores and ranks you're requesting. + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @return Google_LeaderboardScores + */ + public function listScores($leaderboardId, $collection, $timeSpan, $optParams = array()) { + $params = array('leaderboardId' => $leaderboardId, 'collection' => $collection, 'timeSpan' => $timeSpan); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_LeaderboardScores($data); + } else { + return $data; + } + } + /** + * Lists the scores in a leaderboard around (and including) a player's score. (scores.listWindow) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param string $collection The collection of scores you're requesting. + * @param string $timeSpan The time span for the scores and ranks you're requesting. + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @opt_param int maxResults The maximum number of leaderboard scores to return in the response. For any response, the actual number of leaderboard scores returned may be less than the specified maxResults. + * @opt_param string pageToken The token returned by the previous request. + * @opt_param int resultsAbove The preferred number of scores to return above the player's score. More scores may be returned if the player is at the bottom of the leaderboard; fewer may be returned if the player is at the top. Must be less than or equal to maxResults. + * @opt_param bool returnTopIfAbsent True if the top scores should be returned when the player is not in the leaderboard. Defaults to true. + * @return Google_LeaderboardScores + */ + public function listWindow($leaderboardId, $collection, $timeSpan, $optParams = array()) { + $params = array('leaderboardId' => $leaderboardId, 'collection' => $collection, 'timeSpan' => $timeSpan); + $params = array_merge($params, $optParams); + $data = $this->__call('listWindow', array($params)); + if ($this->useObjects()) { + return new Google_LeaderboardScores($data); + } else { + return $data; + } + } + /** + * Submits a score to the specified leaderboard. (scores.submit) + * + * @param string $leaderboardId The ID of the leaderboard. + * @param string $score The score you're submitting. The submitted score is ignored if it is worse than a previously submitted score, where worse depends on the leaderboard sort order. The meaning of the score value depends on the leaderboard format type. For fixed-point, the score represents the raw value. For time, the score represents elapsed time in milliseconds. For currency, the score represents a value in micro units. + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @return Google_PlayerScoreResponse + */ + public function submit($leaderboardId, $score, $optParams = array()) { + $params = array('leaderboardId' => $leaderboardId, 'score' => $score); + $params = array_merge($params, $optParams); + $data = $this->__call('submit', array($params)); + if ($this->useObjects()) { + return new Google_PlayerScoreResponse($data); + } else { + return $data; + } + } + /** + * Submits multiple scores to leaderboards. (scores.submitMultiple) + * + * @param Google_PlayerScoreSubmissionList $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string language The preferred language to use for strings returned by this method. + * @return Google_PlayerScoreListResponse + */ + public function submitMultiple(Google_PlayerScoreSubmissionList $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('submitMultiple', array($params)); + if ($this->useObjects()) { + return new Google_PlayerScoreListResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Games (v1). + * + *

    + * The API for Google Play Game Services. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_GamesService extends Google_Service { + public $achievementDefinitions; + public $achievements; + public $applications; + public $leaderboards; + public $players; + public $revisions; + public $rooms; + public $scores; + /** + * Constructs the internal representation of the Games service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'games/v1/'; + $this->version = 'v1'; + $this->serviceName = 'games'; + + $client->addService($this->serviceName, $this->version); + $this->achievementDefinitions = new Google_AchievementDefinitionsServiceResource($this, $this->serviceName, 'achievementDefinitions', json_decode('{"methods": {"list": {"id": "games.achievementDefinitions.list", "path": "achievements", "httpMethod": "GET", "parameters": {"language": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "200", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "AchievementDefinitionsListResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->achievements = new Google_AchievementsServiceResource($this, $this->serviceName, 'achievements', json_decode('{"methods": {"increment": {"id": "games.achievements.increment", "path": "achievements/{achievementId}/increment", "httpMethod": "POST", "parameters": {"achievementId": {"type": "string", "required": true, "location": "path"}, "requestId": {"type": "string", "format": "int64", "location": "query"}, "stepsToIncrement": {"type": "integer", "required": true, "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "AchievementIncrementResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "list": {"id": "games.achievements.list", "path": "players/{playerId}/achievements", "httpMethod": "GET", "parameters": {"language": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "200", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "playerId": {"type": "string", "required": true, "location": "path"}, "state": {"type": "string", "enum": ["ALL", "HIDDEN", "REVEALED", "UNLOCKED"], "location": "query"}}, "response": {"$ref": "PlayerAchievementListResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "reveal": {"id": "games.achievements.reveal", "path": "achievements/{achievementId}/reveal", "httpMethod": "POST", "parameters": {"achievementId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AchievementRevealResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "unlock": {"id": "games.achievements.unlock", "path": "achievements/{achievementId}/unlock", "httpMethod": "POST", "parameters": {"achievementId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AchievementUnlockResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->applications = new Google_ApplicationsServiceResource($this, $this->serviceName, 'applications', json_decode('{"methods": {"get": {"id": "games.applications.get", "path": "applications/{applicationId}", "httpMethod": "GET", "parameters": {"applicationId": {"type": "string", "required": true, "location": "path"}, "language": {"type": "string", "location": "query"}, "platformType": {"type": "string", "enum": ["ANDROID", "IOS", "WEB_APP"], "location": "query"}}, "response": {"$ref": "Application"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "played": {"id": "games.applications.played", "path": "applications/played", "httpMethod": "POST", "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->leaderboards = new Google_LeaderboardsServiceResource($this, $this->serviceName, 'leaderboards', json_decode('{"methods": {"get": {"id": "games.leaderboards.get", "path": "leaderboards/{leaderboardId}", "httpMethod": "GET", "parameters": {"language": {"type": "string", "location": "query"}, "leaderboardId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Leaderboard"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "list": {"id": "games.leaderboards.list", "path": "leaderboards", "httpMethod": "GET", "parameters": {"language": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "LeaderboardListResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->players = new Google_PlayersServiceResource($this, $this->serviceName, 'players', json_decode('{"methods": {"get": {"id": "games.players.get", "path": "players/{playerId}", "httpMethod": "GET", "parameters": {"playerId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Player"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->revisions = new Google_RevisionsServiceResource($this, $this->serviceName, 'revisions', json_decode('{"methods": {"check": {"id": "games.revisions.check", "path": "revisions/check", "httpMethod": "GET", "parameters": {"clientRevision": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "RevisionCheckResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->rooms = new Google_RoomsServiceResource($this, $this->serviceName, 'rooms', json_decode('{"methods": {"create": {"id": "games.rooms.create", "path": "rooms/create", "httpMethod": "POST", "parameters": {"language": {"type": "string", "location": "query"}}, "request": {"$ref": "RoomCreateRequest"}, "response": {"$ref": "Room"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "decline": {"id": "games.rooms.decline", "path": "rooms/{roomId}/decline", "httpMethod": "POST", "parameters": {"roomId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Room"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "dismiss": {"id": "games.rooms.dismiss", "path": "rooms/{roomId}/dismiss", "httpMethod": "POST", "parameters": {"roomId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "get": {"id": "games.rooms.get", "path": "rooms/{roomId}", "httpMethod": "GET", "parameters": {"language": {"type": "string", "location": "query"}, "roomId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Room"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "join": {"id": "games.rooms.join", "path": "rooms/{roomId}/join", "httpMethod": "POST", "parameters": {"roomId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "RoomJoinRequest"}, "response": {"$ref": "Room"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "leave": {"id": "games.rooms.leave", "path": "rooms/{roomId}/leave", "httpMethod": "POST", "parameters": {"roomId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "RoomLeaveRequest"}, "response": {"$ref": "Room"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "list": {"id": "games.rooms.list", "path": "rooms", "httpMethod": "GET", "parameters": {"language": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "500", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "RoomList"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "reportStatus": {"id": "games.rooms.reportStatus", "path": "rooms/{roomId}/reportstatus", "httpMethod": "POST", "parameters": {"roomId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "RoomP2PStatuses"}, "response": {"$ref": "RoomStatus"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->scores = new Google_ScoresServiceResource($this, $this->serviceName, 'scores', json_decode('{"methods": {"get": {"id": "games.scores.get", "path": "players/{playerId}/leaderboards/{leaderboardId}/scores/{timeSpan}", "httpMethod": "GET", "parameters": {"includeRankType": {"type": "string", "enum": ["ALL", "PUBLIC", "SOCIAL"], "location": "query"}, "language": {"type": "string", "location": "query"}, "leaderboardId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "25", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "playerId": {"type": "string", "required": true, "location": "path"}, "timeSpan": {"type": "string", "required": true, "enum": ["ALL", "ALL_TIME", "DAILY", "WEEKLY"], "location": "path"}}, "response": {"$ref": "PlayerLeaderboardScoreListResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "list": {"id": "games.scores.list", "path": "leaderboards/{leaderboardId}/scores/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["PUBLIC", "SOCIAL"], "location": "path"}, "language": {"type": "string", "location": "query"}, "leaderboardId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "25", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "timeSpan": {"type": "string", "required": true, "enum": ["ALL_TIME", "DAILY", "WEEKLY"], "location": "query"}}, "response": {"$ref": "LeaderboardScores"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "listWindow": {"id": "games.scores.listWindow", "path": "leaderboards/{leaderboardId}/window/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["PUBLIC", "SOCIAL"], "location": "path"}, "language": {"type": "string", "location": "query"}, "leaderboardId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "25", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "resultsAbove": {"type": "integer", "format": "int32", "location": "query"}, "returnTopIfAbsent": {"type": "boolean", "location": "query"}, "timeSpan": {"type": "string", "required": true, "enum": ["ALL_TIME", "DAILY", "WEEKLY"], "location": "query"}}, "response": {"$ref": "LeaderboardScores"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "submit": {"id": "games.scores.submit", "path": "leaderboards/{leaderboardId}/scores", "httpMethod": "POST", "parameters": {"language": {"type": "string", "location": "query"}, "leaderboardId": {"type": "string", "required": true, "location": "path"}, "score": {"type": "string", "required": true, "format": "int64", "location": "query"}}, "response": {"$ref": "PlayerScoreResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "submitMultiple": {"id": "games.scores.submitMultiple", "path": "leaderboards/scores", "httpMethod": "POST", "parameters": {"language": {"type": "string", "location": "query"}}, "request": {"$ref": "PlayerScoreSubmissionList"}, "response": {"$ref": "PlayerScoreListResponse"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + + } +} + + + +class Google_AchievementDefinition extends Google_Model { + public $achievementType; + public $description; + public $formattedTotalSteps; + public $id; + public $initialState; + public $isRevealedIconUrlDefault; + public $isUnlockedIconUrlDefault; + public $kind; + public $name; + public $revealedIconUrl; + public $totalSteps; + public $unlockedIconUrl; + public function setAchievementType( $achievementType) { + $this->achievementType = $achievementType; + } + public function getAchievementType() { + return $this->achievementType; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setFormattedTotalSteps( $formattedTotalSteps) { + $this->formattedTotalSteps = $formattedTotalSteps; + } + public function getFormattedTotalSteps() { + return $this->formattedTotalSteps; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInitialState( $initialState) { + $this->initialState = $initialState; + } + public function getInitialState() { + return $this->initialState; + } + public function setIsRevealedIconUrlDefault( $isRevealedIconUrlDefault) { + $this->isRevealedIconUrlDefault = $isRevealedIconUrlDefault; + } + public function getIsRevealedIconUrlDefault() { + return $this->isRevealedIconUrlDefault; + } + public function setIsUnlockedIconUrlDefault( $isUnlockedIconUrlDefault) { + $this->isUnlockedIconUrlDefault = $isUnlockedIconUrlDefault; + } + public function getIsUnlockedIconUrlDefault() { + return $this->isUnlockedIconUrlDefault; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setRevealedIconUrl( $revealedIconUrl) { + $this->revealedIconUrl = $revealedIconUrl; + } + public function getRevealedIconUrl() { + return $this->revealedIconUrl; + } + public function setTotalSteps( $totalSteps) { + $this->totalSteps = $totalSteps; + } + public function getTotalSteps() { + return $this->totalSteps; + } + public function setUnlockedIconUrl( $unlockedIconUrl) { + $this->unlockedIconUrl = $unlockedIconUrl; + } + public function getUnlockedIconUrl() { + return $this->unlockedIconUrl; + } +} + +class Google_AchievementDefinitionsListResponse extends Google_Model { + protected $__itemsType = 'Google_AchievementDefinition'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_AchievementDefinition) */ $items) { + $this->assertIsArray($items, 'Google_AchievementDefinition', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_AchievementIncrementResponse extends Google_Model { + public $currentSteps; + public $kind; + public $newlyUnlocked; + public function setCurrentSteps( $currentSteps) { + $this->currentSteps = $currentSteps; + } + public function getCurrentSteps() { + return $this->currentSteps; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNewlyUnlocked( $newlyUnlocked) { + $this->newlyUnlocked = $newlyUnlocked; + } + public function getNewlyUnlocked() { + return $this->newlyUnlocked; + } +} + +class Google_AchievementRevealResponse extends Google_Model { + public $currentState; + public $kind; + public function setCurrentState( $currentState) { + $this->currentState = $currentState; + } + public function getCurrentState() { + return $this->currentState; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_AchievementUnlockResponse extends Google_Model { + public $kind; + public $newlyUnlocked; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNewlyUnlocked( $newlyUnlocked) { + $this->newlyUnlocked = $newlyUnlocked; + } + public function getNewlyUnlocked() { + return $this->newlyUnlocked; + } +} + +class Google_AggregateStats extends Google_Model { + public $count; + public $kind; + public $max; + public $min; + public $sum; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMax( $max) { + $this->max = $max; + } + public function getMax() { + return $this->max; + } + public function setMin( $min) { + $this->min = $min; + } + public function getMin() { + return $this->min; + } + public function setSum( $sum) { + $this->sum = $sum; + } + public function getSum() { + return $this->sum; + } +} + +class Google_AnonymousPlayer extends Google_Model { + public $avatarImageUrl; + public $displayName; + public $kind; + public function setAvatarImageUrl( $avatarImageUrl) { + $this->avatarImageUrl = $avatarImageUrl; + } + public function getAvatarImageUrl() { + return $this->avatarImageUrl; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Application extends Google_Model { + public $achievement_count; + protected $__assetsType = 'Google_ImageAsset'; + protected $__assetsDataType = 'array'; + public $assets; + public $author; + protected $__categoryType = 'Google_ApplicationCategory'; + protected $__categoryDataType = ''; + public $category; + public $description; + public $id; + protected $__instancesType = 'Google_Instance'; + protected $__instancesDataType = 'array'; + public $instances; + public $kind; + public $lastUpdatedTimestamp; + public $leaderboard_count; + public $name; + public function setAchievement_count( $achievement_count) { + $this->achievement_count = $achievement_count; + } + public function getAchievement_count() { + return $this->achievement_count; + } + public function setAssets(/* array(Google_ImageAsset) */ $assets) { + $this->assertIsArray($assets, 'Google_ImageAsset', __METHOD__); + $this->assets = $assets; + } + public function getAssets() { + return $this->assets; + } + public function setAuthor( $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setCategory(Google_ApplicationCategory $category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInstances(/* array(Google_Instance) */ $instances) { + $this->assertIsArray($instances, 'Google_Instance', __METHOD__); + $this->instances = $instances; + } + public function getInstances() { + return $this->instances; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastUpdatedTimestamp( $lastUpdatedTimestamp) { + $this->lastUpdatedTimestamp = $lastUpdatedTimestamp; + } + public function getLastUpdatedTimestamp() { + return $this->lastUpdatedTimestamp; + } + public function setLeaderboard_count( $leaderboard_count) { + $this->leaderboard_count = $leaderboard_count; + } + public function getLeaderboard_count() { + return $this->leaderboard_count; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_ApplicationCategory extends Google_Model { + public $kind; + public $primary; + public $secondary; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPrimary( $primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setSecondary( $secondary) { + $this->secondary = $secondary; + } + public function getSecondary() { + return $this->secondary; + } +} + +class Google_ImageAsset extends Google_Model { + public $height; + public $kind; + public $name; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_Instance extends Google_Model { + public $acquisitionUri; + protected $__androidInstanceType = 'Google_InstanceAndroidDetails'; + protected $__androidInstanceDataType = ''; + public $androidInstance; + protected $__iosInstanceType = 'Google_InstanceIosDetails'; + protected $__iosInstanceDataType = ''; + public $iosInstance; + public $kind; + public $name; + public $platformType; + public $realtimePlay; + public $turnBasedPlay; + protected $__webInstanceType = 'Google_InstanceWebDetails'; + protected $__webInstanceDataType = ''; + public $webInstance; + public function setAcquisitionUri( $acquisitionUri) { + $this->acquisitionUri = $acquisitionUri; + } + public function getAcquisitionUri() { + return $this->acquisitionUri; + } + public function setAndroidInstance(Google_InstanceAndroidDetails $androidInstance) { + $this->androidInstance = $androidInstance; + } + public function getAndroidInstance() { + return $this->androidInstance; + } + public function setIosInstance(Google_InstanceIosDetails $iosInstance) { + $this->iosInstance = $iosInstance; + } + public function getIosInstance() { + return $this->iosInstance; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPlatformType( $platformType) { + $this->platformType = $platformType; + } + public function getPlatformType() { + return $this->platformType; + } + public function setRealtimePlay( $realtimePlay) { + $this->realtimePlay = $realtimePlay; + } + public function getRealtimePlay() { + return $this->realtimePlay; + } + public function setTurnBasedPlay( $turnBasedPlay) { + $this->turnBasedPlay = $turnBasedPlay; + } + public function getTurnBasedPlay() { + return $this->turnBasedPlay; + } + public function setWebInstance(Google_InstanceWebDetails $webInstance) { + $this->webInstance = $webInstance; + } + public function getWebInstance() { + return $this->webInstance; + } +} + +class Google_InstanceAndroidDetails extends Google_Model { + public $enablePiracyCheck; + public $kind; + public $packageName; + public $preferred; + public function setEnablePiracyCheck( $enablePiracyCheck) { + $this->enablePiracyCheck = $enablePiracyCheck; + } + public function getEnablePiracyCheck() { + return $this->enablePiracyCheck; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPackageName( $packageName) { + $this->packageName = $packageName; + } + public function getPackageName() { + return $this->packageName; + } + public function setPreferred( $preferred) { + $this->preferred = $preferred; + } + public function getPreferred() { + return $this->preferred; + } +} + +class Google_InstanceIosDetails extends Google_Model { + public $bundleIdentifier; + public $itunesAppId; + public $kind; + public $preferredForIpad; + public $preferredForIphone; + public $supportIpad; + public $supportIphone; + public function setBundleIdentifier( $bundleIdentifier) { + $this->bundleIdentifier = $bundleIdentifier; + } + public function getBundleIdentifier() { + return $this->bundleIdentifier; + } + public function setItunesAppId( $itunesAppId) { + $this->itunesAppId = $itunesAppId; + } + public function getItunesAppId() { + return $this->itunesAppId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPreferredForIpad( $preferredForIpad) { + $this->preferredForIpad = $preferredForIpad; + } + public function getPreferredForIpad() { + return $this->preferredForIpad; + } + public function setPreferredForIphone( $preferredForIphone) { + $this->preferredForIphone = $preferredForIphone; + } + public function getPreferredForIphone() { + return $this->preferredForIphone; + } + public function setSupportIpad( $supportIpad) { + $this->supportIpad = $supportIpad; + } + public function getSupportIpad() { + return $this->supportIpad; + } + public function setSupportIphone( $supportIphone) { + $this->supportIphone = $supportIphone; + } + public function getSupportIphone() { + return $this->supportIphone; + } +} + +class Google_InstanceWebDetails extends Google_Model { + public $kind; + public $launchUrl; + public $preferred; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLaunchUrl( $launchUrl) { + $this->launchUrl = $launchUrl; + } + public function getLaunchUrl() { + return $this->launchUrl; + } + public function setPreferred( $preferred) { + $this->preferred = $preferred; + } + public function getPreferred() { + return $this->preferred; + } +} + +class Google_Leaderboard extends Google_Model { + public $iconUrl; + public $id; + public $isIconUrlDefault; + public $kind; + public $name; + public $order; + public function setIconUrl( $iconUrl) { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() { + return $this->iconUrl; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIsIconUrlDefault( $isIconUrlDefault) { + $this->isIconUrlDefault = $isIconUrlDefault; + } + public function getIsIconUrlDefault() { + return $this->isIconUrlDefault; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOrder( $order) { + $this->order = $order; + } + public function getOrder() { + return $this->order; + } +} + +class Google_LeaderboardEntry extends Google_Model { + public $formattedScore; + public $formattedScoreRank; + public $kind; + protected $__playerType = 'Google_Player'; + protected $__playerDataType = ''; + public $player; + public $scoreRank; + public $scoreValue; + public $timeSpan; + public $writeTimestampMillis; + public function setFormattedScore( $formattedScore) { + $this->formattedScore = $formattedScore; + } + public function getFormattedScore() { + return $this->formattedScore; + } + public function setFormattedScoreRank( $formattedScoreRank) { + $this->formattedScoreRank = $formattedScoreRank; + } + public function getFormattedScoreRank() { + return $this->formattedScoreRank; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPlayer(Google_Player $player) { + $this->player = $player; + } + public function getPlayer() { + return $this->player; + } + public function setScoreRank( $scoreRank) { + $this->scoreRank = $scoreRank; + } + public function getScoreRank() { + return $this->scoreRank; + } + public function setScoreValue( $scoreValue) { + $this->scoreValue = $scoreValue; + } + public function getScoreValue() { + return $this->scoreValue; + } + public function setTimeSpan( $timeSpan) { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() { + return $this->timeSpan; + } + public function setWriteTimestampMillis( $writeTimestampMillis) { + $this->writeTimestampMillis = $writeTimestampMillis; + } + public function getWriteTimestampMillis() { + return $this->writeTimestampMillis; + } +} + +class Google_LeaderboardListResponse extends Google_Model { + protected $__itemsType = 'Google_Leaderboard'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Leaderboard) */ $items) { + $this->assertIsArray($items, 'Google_Leaderboard', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_LeaderboardScoreRank extends Google_Model { + public $formattedNumScores; + public $formattedRank; + public $kind; + public $numScores; + public $rank; + public function setFormattedNumScores( $formattedNumScores) { + $this->formattedNumScores = $formattedNumScores; + } + public function getFormattedNumScores() { + return $this->formattedNumScores; + } + public function setFormattedRank( $formattedRank) { + $this->formattedRank = $formattedRank; + } + public function getFormattedRank() { + return $this->formattedRank; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNumScores( $numScores) { + $this->numScores = $numScores; + } + public function getNumScores() { + return $this->numScores; + } + public function setRank( $rank) { + $this->rank = $rank; + } + public function getRank() { + return $this->rank; + } +} + +class Google_LeaderboardScores extends Google_Model { + protected $__itemsType = 'Google_LeaderboardEntry'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $numScores; + protected $__playerScoreType = 'Google_LeaderboardEntry'; + protected $__playerScoreDataType = ''; + public $playerScore; + public $prevPageToken; + public function setItems(/* array(Google_LeaderboardEntry) */ $items) { + $this->assertIsArray($items, 'Google_LeaderboardEntry', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setNumScores( $numScores) { + $this->numScores = $numScores; + } + public function getNumScores() { + return $this->numScores; + } + public function setPlayerScore(Google_LeaderboardEntry $playerScore) { + $this->playerScore = $playerScore; + } + public function getPlayerScore() { + return $this->playerScore; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_NetworkDiagnostics extends Google_Model { + public $androidNetworkSubtype; + public $androidNetworkType; + public $kind; + public $registrationLatencyMillis; + public function setAndroidNetworkSubtype( $androidNetworkSubtype) { + $this->androidNetworkSubtype = $androidNetworkSubtype; + } + public function getAndroidNetworkSubtype() { + return $this->androidNetworkSubtype; + } + public function setAndroidNetworkType( $androidNetworkType) { + $this->androidNetworkType = $androidNetworkType; + } + public function getAndroidNetworkType() { + return $this->androidNetworkType; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRegistrationLatencyMillis( $registrationLatencyMillis) { + $this->registrationLatencyMillis = $registrationLatencyMillis; + } + public function getRegistrationLatencyMillis() { + return $this->registrationLatencyMillis; + } +} + +class Google_PeerChannelDiagnostics extends Google_Model { + protected $__bytesReceivedType = 'Google_AggregateStats'; + protected $__bytesReceivedDataType = ''; + public $bytesReceived; + protected $__bytesSentType = 'Google_AggregateStats'; + protected $__bytesSentDataType = ''; + public $bytesSent; + public $kind; + public $numMessagesLost; + public $numMessagesReceived; + public $numMessagesSent; + public $numSendFailures; + protected $__roundtripLatencyMillisType = 'Google_AggregateStats'; + protected $__roundtripLatencyMillisDataType = ''; + public $roundtripLatencyMillis; + public function setBytesReceived(Google_AggregateStats $bytesReceived) { + $this->bytesReceived = $bytesReceived; + } + public function getBytesReceived() { + return $this->bytesReceived; + } + public function setBytesSent(Google_AggregateStats $bytesSent) { + $this->bytesSent = $bytesSent; + } + public function getBytesSent() { + return $this->bytesSent; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNumMessagesLost( $numMessagesLost) { + $this->numMessagesLost = $numMessagesLost; + } + public function getNumMessagesLost() { + return $this->numMessagesLost; + } + public function setNumMessagesReceived( $numMessagesReceived) { + $this->numMessagesReceived = $numMessagesReceived; + } + public function getNumMessagesReceived() { + return $this->numMessagesReceived; + } + public function setNumMessagesSent( $numMessagesSent) { + $this->numMessagesSent = $numMessagesSent; + } + public function getNumMessagesSent() { + return $this->numMessagesSent; + } + public function setNumSendFailures( $numSendFailures) { + $this->numSendFailures = $numSendFailures; + } + public function getNumSendFailures() { + return $this->numSendFailures; + } + public function setRoundtripLatencyMillis(Google_AggregateStats $roundtripLatencyMillis) { + $this->roundtripLatencyMillis = $roundtripLatencyMillis; + } + public function getRoundtripLatencyMillis() { + return $this->roundtripLatencyMillis; + } +} + +class Google_PeerSessionDiagnostics extends Google_Model { + public $connectedTimestampMillis; + public $kind; + public $participantId; + protected $__reliableChannelType = 'Google_PeerChannelDiagnostics'; + protected $__reliableChannelDataType = ''; + public $reliableChannel; + protected $__unreliableChannelType = 'Google_PeerChannelDiagnostics'; + protected $__unreliableChannelDataType = ''; + public $unreliableChannel; + public function setConnectedTimestampMillis( $connectedTimestampMillis) { + $this->connectedTimestampMillis = $connectedTimestampMillis; + } + public function getConnectedTimestampMillis() { + return $this->connectedTimestampMillis; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParticipantId( $participantId) { + $this->participantId = $participantId; + } + public function getParticipantId() { + return $this->participantId; + } + public function setReliableChannel(Google_PeerChannelDiagnostics $reliableChannel) { + $this->reliableChannel = $reliableChannel; + } + public function getReliableChannel() { + return $this->reliableChannel; + } + public function setUnreliableChannel(Google_PeerChannelDiagnostics $unreliableChannel) { + $this->unreliableChannel = $unreliableChannel; + } + public function getUnreliableChannel() { + return $this->unreliableChannel; + } +} + +class Google_Player extends Google_Model { + public $avatarImageUrl; + public $displayName; + public $kind; + public $playerId; + public function setAvatarImageUrl( $avatarImageUrl) { + $this->avatarImageUrl = $avatarImageUrl; + } + public function getAvatarImageUrl() { + return $this->avatarImageUrl; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPlayerId( $playerId) { + $this->playerId = $playerId; + } + public function getPlayerId() { + return $this->playerId; + } +} + +class Google_PlayerAchievement extends Google_Model { + public $achievementState; + public $currentSteps; + public $formattedCurrentStepsString; + public $id; + public $kind; + public $lastUpdatedTimestamp; + public function setAchievementState( $achievementState) { + $this->achievementState = $achievementState; + } + public function getAchievementState() { + return $this->achievementState; + } + public function setCurrentSteps( $currentSteps) { + $this->currentSteps = $currentSteps; + } + public function getCurrentSteps() { + return $this->currentSteps; + } + public function setFormattedCurrentStepsString( $formattedCurrentStepsString) { + $this->formattedCurrentStepsString = $formattedCurrentStepsString; + } + public function getFormattedCurrentStepsString() { + return $this->formattedCurrentStepsString; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastUpdatedTimestamp( $lastUpdatedTimestamp) { + $this->lastUpdatedTimestamp = $lastUpdatedTimestamp; + } + public function getLastUpdatedTimestamp() { + return $this->lastUpdatedTimestamp; + } +} + +class Google_PlayerAchievementListResponse extends Google_Model { + protected $__itemsType = 'Google_PlayerAchievement'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_PlayerAchievement) */ $items) { + $this->assertIsArray($items, 'Google_PlayerAchievement', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_PlayerLeaderboardScore extends Google_Model { + public $kind; + public $leaderboard_id; + protected $__publicRankType = 'Google_LeaderboardScoreRank'; + protected $__publicRankDataType = ''; + public $publicRank; + public $scoreString; + public $scoreValue; + protected $__socialRankType = 'Google_LeaderboardScoreRank'; + protected $__socialRankDataType = ''; + public $socialRank; + public $timeSpan; + public $writeTimestamp; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLeaderboard_id( $leaderboard_id) { + $this->leaderboard_id = $leaderboard_id; + } + public function getLeaderboard_id() { + return $this->leaderboard_id; + } + public function setPublicRank(Google_LeaderboardScoreRank $publicRank) { + $this->publicRank = $publicRank; + } + public function getPublicRank() { + return $this->publicRank; + } + public function setScoreString( $scoreString) { + $this->scoreString = $scoreString; + } + public function getScoreString() { + return $this->scoreString; + } + public function setScoreValue( $scoreValue) { + $this->scoreValue = $scoreValue; + } + public function getScoreValue() { + return $this->scoreValue; + } + public function setSocialRank(Google_LeaderboardScoreRank $socialRank) { + $this->socialRank = $socialRank; + } + public function getSocialRank() { + return $this->socialRank; + } + public function setTimeSpan( $timeSpan) { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() { + return $this->timeSpan; + } + public function setWriteTimestamp( $writeTimestamp) { + $this->writeTimestamp = $writeTimestamp; + } + public function getWriteTimestamp() { + return $this->writeTimestamp; + } +} + +class Google_PlayerLeaderboardScoreListResponse extends Google_Model { + protected $__itemsType = 'Google_PlayerLeaderboardScore'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_PlayerLeaderboardScore) */ $items) { + $this->assertIsArray($items, 'Google_PlayerLeaderboardScore', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_PlayerScore extends Google_Model { + public $formattedScore; + public $kind; + public $score; + public $timeSpan; + public function setFormattedScore( $formattedScore) { + $this->formattedScore = $formattedScore; + } + public function getFormattedScore() { + return $this->formattedScore; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setScore( $score) { + $this->score = $score; + } + public function getScore() { + return $this->score; + } + public function setTimeSpan( $timeSpan) { + $this->timeSpan = $timeSpan; + } + public function getTimeSpan() { + return $this->timeSpan; + } +} + +class Google_PlayerScoreListResponse extends Google_Model { + public $kind; + protected $__submittedScoresType = 'Google_PlayerScoreResponse'; + protected $__submittedScoresDataType = 'array'; + public $submittedScores; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSubmittedScores(/* array(Google_PlayerScoreResponse) */ $submittedScores) { + $this->assertIsArray($submittedScores, 'Google_PlayerScoreResponse', __METHOD__); + $this->submittedScores = $submittedScores; + } + public function getSubmittedScores() { + return $this->submittedScores; + } +} + +class Google_PlayerScoreResponse extends Google_Model { + public $beatenScoreTimeSpans; + public $formattedScore; + public $kind; + public $leaderboardId; + protected $__unbeatenScoresType = 'Google_PlayerScore'; + protected $__unbeatenScoresDataType = 'array'; + public $unbeatenScores; + public function setBeatenScoreTimeSpans(/* array(Google_string) */ $beatenScoreTimeSpans) { + $this->assertIsArray($beatenScoreTimeSpans, 'Google_string', __METHOD__); + $this->beatenScoreTimeSpans = $beatenScoreTimeSpans; + } + public function getBeatenScoreTimeSpans() { + return $this->beatenScoreTimeSpans; + } + public function setFormattedScore( $formattedScore) { + $this->formattedScore = $formattedScore; + } + public function getFormattedScore() { + return $this->formattedScore; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLeaderboardId( $leaderboardId) { + $this->leaderboardId = $leaderboardId; + } + public function getLeaderboardId() { + return $this->leaderboardId; + } + public function setUnbeatenScores(/* array(Google_PlayerScore) */ $unbeatenScores) { + $this->assertIsArray($unbeatenScores, 'Google_PlayerScore', __METHOD__); + $this->unbeatenScores = $unbeatenScores; + } + public function getUnbeatenScores() { + return $this->unbeatenScores; + } +} + +class Google_PlayerScoreSubmissionList extends Google_Model { + public $kind; + protected $__scoresType = 'Google_ScoreSubmission'; + protected $__scoresDataType = 'array'; + public $scores; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setScores(/* array(Google_ScoreSubmission) */ $scores) { + $this->assertIsArray($scores, 'Google_ScoreSubmission', __METHOD__); + $this->scores = $scores; + } + public function getScores() { + return $this->scores; + } +} + +class Google_RevisionCheckResponse extends Google_Model { + public $kind; + public $revisionStatus; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRevisionStatus( $revisionStatus) { + $this->revisionStatus = $revisionStatus; + } + public function getRevisionStatus() { + return $this->revisionStatus; + } +} + +class Google_Room extends Google_Model { + public $applicationId; + protected $__autoMatchingCriteriaType = 'Google_RoomAutoMatchingCriteria'; + protected $__autoMatchingCriteriaDataType = ''; + public $autoMatchingCriteria; + protected $__autoMatchingStatusType = 'Google_RoomAutoMatchStatus'; + protected $__autoMatchingStatusDataType = ''; + public $autoMatchingStatus; + protected $__creationDetailsType = 'Google_RoomModification'; + protected $__creationDetailsDataType = ''; + public $creationDetails; + public $description; + public $kind; + protected $__lastUpdateDetailsType = 'Google_RoomModification'; + protected $__lastUpdateDetailsDataType = ''; + public $lastUpdateDetails; + protected $__participantsType = 'Google_RoomParticipant'; + protected $__participantsDataType = 'array'; + public $participants; + public $roomId; + public $roomStatusVersion; + public $status; + public $variant; + public function setApplicationId( $applicationId) { + $this->applicationId = $applicationId; + } + public function getApplicationId() { + return $this->applicationId; + } + public function setAutoMatchingCriteria(Google_RoomAutoMatchingCriteria $autoMatchingCriteria) { + $this->autoMatchingCriteria = $autoMatchingCriteria; + } + public function getAutoMatchingCriteria() { + return $this->autoMatchingCriteria; + } + public function setAutoMatchingStatus(Google_RoomAutoMatchStatus $autoMatchingStatus) { + $this->autoMatchingStatus = $autoMatchingStatus; + } + public function getAutoMatchingStatus() { + return $this->autoMatchingStatus; + } + public function setCreationDetails(Google_RoomModification $creationDetails) { + $this->creationDetails = $creationDetails; + } + public function getCreationDetails() { + return $this->creationDetails; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastUpdateDetails(Google_RoomModification $lastUpdateDetails) { + $this->lastUpdateDetails = $lastUpdateDetails; + } + public function getLastUpdateDetails() { + return $this->lastUpdateDetails; + } + public function setParticipants(/* array(Google_RoomParticipant) */ $participants) { + $this->assertIsArray($participants, 'Google_RoomParticipant', __METHOD__); + $this->participants = $participants; + } + public function getParticipants() { + return $this->participants; + } + public function setRoomId( $roomId) { + $this->roomId = $roomId; + } + public function getRoomId() { + return $this->roomId; + } + public function setRoomStatusVersion( $roomStatusVersion) { + $this->roomStatusVersion = $roomStatusVersion; + } + public function getRoomStatusVersion() { + return $this->roomStatusVersion; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setVariant( $variant) { + $this->variant = $variant; + } + public function getVariant() { + return $this->variant; + } +} + +class Google_RoomAutoMatchStatus extends Google_Model { + public $kind; + public $waitEstimateSeconds; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setWaitEstimateSeconds( $waitEstimateSeconds) { + $this->waitEstimateSeconds = $waitEstimateSeconds; + } + public function getWaitEstimateSeconds() { + return $this->waitEstimateSeconds; + } +} + +class Google_RoomAutoMatchingCriteria extends Google_Model { + public $exclusiveBitmask; + public $kind; + public $maxAutoMatchingPlayers; + public $minAutoMatchingPlayers; + public function setExclusiveBitmask( $exclusiveBitmask) { + $this->exclusiveBitmask = $exclusiveBitmask; + } + public function getExclusiveBitmask() { + return $this->exclusiveBitmask; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxAutoMatchingPlayers( $maxAutoMatchingPlayers) { + $this->maxAutoMatchingPlayers = $maxAutoMatchingPlayers; + } + public function getMaxAutoMatchingPlayers() { + return $this->maxAutoMatchingPlayers; + } + public function setMinAutoMatchingPlayers( $minAutoMatchingPlayers) { + $this->minAutoMatchingPlayers = $minAutoMatchingPlayers; + } + public function getMinAutoMatchingPlayers() { + return $this->minAutoMatchingPlayers; + } +} + +class Google_RoomClientAddress extends Google_Model { + public $kind; + public $xmppAddress; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setXmppAddress( $xmppAddress) { + $this->xmppAddress = $xmppAddress; + } + public function getXmppAddress() { + return $this->xmppAddress; + } +} + +class Google_RoomCreateRequest extends Google_Model { + protected $__autoMatchingCriteriaType = 'Google_RoomAutoMatchingCriteria'; + protected $__autoMatchingCriteriaDataType = ''; + public $autoMatchingCriteria; + public $capabilities; + protected $__clientAddressType = 'Google_RoomClientAddress'; + protected $__clientAddressDataType = ''; + public $clientAddress; + public $invitedPlayerIds; + public $kind; + protected $__networkDiagnosticsType = 'Google_NetworkDiagnostics'; + protected $__networkDiagnosticsDataType = ''; + public $networkDiagnostics; + public $variant; + public function setAutoMatchingCriteria(Google_RoomAutoMatchingCriteria $autoMatchingCriteria) { + $this->autoMatchingCriteria = $autoMatchingCriteria; + } + public function getAutoMatchingCriteria() { + return $this->autoMatchingCriteria; + } + public function setCapabilities(/* array(Google_string) */ $capabilities) { + $this->assertIsArray($capabilities, 'Google_string', __METHOD__); + $this->capabilities = $capabilities; + } + public function getCapabilities() { + return $this->capabilities; + } + public function setClientAddress(Google_RoomClientAddress $clientAddress) { + $this->clientAddress = $clientAddress; + } + public function getClientAddress() { + return $this->clientAddress; + } + public function setInvitedPlayerIds(/* array(Google_string) */ $invitedPlayerIds) { + $this->assertIsArray($invitedPlayerIds, 'Google_string', __METHOD__); + $this->invitedPlayerIds = $invitedPlayerIds; + } + public function getInvitedPlayerIds() { + return $this->invitedPlayerIds; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNetworkDiagnostics(Google_NetworkDiagnostics $networkDiagnostics) { + $this->networkDiagnostics = $networkDiagnostics; + } + public function getNetworkDiagnostics() { + return $this->networkDiagnostics; + } + public function setVariant( $variant) { + $this->variant = $variant; + } + public function getVariant() { + return $this->variant; + } +} + +class Google_RoomJoinRequest extends Google_Model { + public $capabilities; + protected $__clientAddressType = 'Google_RoomClientAddress'; + protected $__clientAddressDataType = ''; + public $clientAddress; + public $kind; + protected $__networkDiagnosticsType = 'Google_NetworkDiagnostics'; + protected $__networkDiagnosticsDataType = ''; + public $networkDiagnostics; + public function setCapabilities(/* array(Google_string) */ $capabilities) { + $this->assertIsArray($capabilities, 'Google_string', __METHOD__); + $this->capabilities = $capabilities; + } + public function getCapabilities() { + return $this->capabilities; + } + public function setClientAddress(Google_RoomClientAddress $clientAddress) { + $this->clientAddress = $clientAddress; + } + public function getClientAddress() { + return $this->clientAddress; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNetworkDiagnostics(Google_NetworkDiagnostics $networkDiagnostics) { + $this->networkDiagnostics = $networkDiagnostics; + } + public function getNetworkDiagnostics() { + return $this->networkDiagnostics; + } +} + +class Google_RoomLeaveDiagnostics extends Google_Model { + public $androidNetworkSubtype; + public $androidNetworkType; + public $kind; + protected $__peerSessionType = 'Google_PeerSessionDiagnostics'; + protected $__peerSessionDataType = 'array'; + public $peerSession; + public $socketsUsed; + public function setAndroidNetworkSubtype( $androidNetworkSubtype) { + $this->androidNetworkSubtype = $androidNetworkSubtype; + } + public function getAndroidNetworkSubtype() { + return $this->androidNetworkSubtype; + } + public function setAndroidNetworkType( $androidNetworkType) { + $this->androidNetworkType = $androidNetworkType; + } + public function getAndroidNetworkType() { + return $this->androidNetworkType; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPeerSession(/* array(Google_PeerSessionDiagnostics) */ $peerSession) { + $this->assertIsArray($peerSession, 'Google_PeerSessionDiagnostics', __METHOD__); + $this->peerSession = $peerSession; + } + public function getPeerSession() { + return $this->peerSession; + } + public function setSocketsUsed( $socketsUsed) { + $this->socketsUsed = $socketsUsed; + } + public function getSocketsUsed() { + return $this->socketsUsed; + } +} + +class Google_RoomLeaveRequest extends Google_Model { + public $kind; + protected $__leaveDiagnosticsType = 'Google_RoomLeaveDiagnostics'; + protected $__leaveDiagnosticsDataType = ''; + public $leaveDiagnostics; + public $reason; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLeaveDiagnostics(Google_RoomLeaveDiagnostics $leaveDiagnostics) { + $this->leaveDiagnostics = $leaveDiagnostics; + } + public function getLeaveDiagnostics() { + return $this->leaveDiagnostics; + } + public function setReason( $reason) { + $this->reason = $reason; + } + public function getReason() { + return $this->reason; + } +} + +class Google_RoomList extends Google_Model { + protected $__itemsType = 'Google_Room'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Room) */ $items) { + $this->assertIsArray($items, 'Google_Room', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_RoomModification extends Google_Model { + public $kind; + public $modifiedTimestampMillis; + public $participantId; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModifiedTimestampMillis( $modifiedTimestampMillis) { + $this->modifiedTimestampMillis = $modifiedTimestampMillis; + } + public function getModifiedTimestampMillis() { + return $this->modifiedTimestampMillis; + } + public function setParticipantId( $participantId) { + $this->participantId = $participantId; + } + public function getParticipantId() { + return $this->participantId; + } +} + +class Google_RoomP2PStatus extends Google_Model { + public $connectionSetupLatencyMillis; + public $error; + public $error_reason; + public $kind; + public $participantId; + public $status; + public $unreliableRoundtripLatencyMillis; + public function setConnectionSetupLatencyMillis( $connectionSetupLatencyMillis) { + $this->connectionSetupLatencyMillis = $connectionSetupLatencyMillis; + } + public function getConnectionSetupLatencyMillis() { + return $this->connectionSetupLatencyMillis; + } + public function setError( $error) { + $this->error = $error; + } + public function getError() { + return $this->error; + } + public function setError_reason( $error_reason) { + $this->error_reason = $error_reason; + } + public function getError_reason() { + return $this->error_reason; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParticipantId( $participantId) { + $this->participantId = $participantId; + } + public function getParticipantId() { + return $this->participantId; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setUnreliableRoundtripLatencyMillis( $unreliableRoundtripLatencyMillis) { + $this->unreliableRoundtripLatencyMillis = $unreliableRoundtripLatencyMillis; + } + public function getUnreliableRoundtripLatencyMillis() { + return $this->unreliableRoundtripLatencyMillis; + } +} + +class Google_RoomP2PStatuses extends Google_Model { + public $kind; + protected $__updatesType = 'Google_RoomP2PStatus'; + protected $__updatesDataType = 'array'; + public $updates; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUpdates(/* array(Google_RoomP2PStatus) */ $updates) { + $this->assertIsArray($updates, 'Google_RoomP2PStatus', __METHOD__); + $this->updates = $updates; + } + public function getUpdates() { + return $this->updates; + } +} + +class Google_RoomParticipant extends Google_Model { + protected $__autoMatchedPlayerType = 'Google_AnonymousPlayer'; + protected $__autoMatchedPlayerDataType = ''; + public $autoMatchedPlayer; + public $capabilities; + protected $__clientAddressType = 'Google_RoomClientAddress'; + protected $__clientAddressDataType = ''; + public $clientAddress; + public $connected; + public $id; + public $kind; + public $leaveReason; + protected $__playerType = 'Google_Player'; + protected $__playerDataType = ''; + public $player; + public $status; + public function setAutoMatchedPlayer(Google_AnonymousPlayer $autoMatchedPlayer) { + $this->autoMatchedPlayer = $autoMatchedPlayer; + } + public function getAutoMatchedPlayer() { + return $this->autoMatchedPlayer; + } + public function setCapabilities(/* array(Google_string) */ $capabilities) { + $this->assertIsArray($capabilities, 'Google_string', __METHOD__); + $this->capabilities = $capabilities; + } + public function getCapabilities() { + return $this->capabilities; + } + public function setClientAddress(Google_RoomClientAddress $clientAddress) { + $this->clientAddress = $clientAddress; + } + public function getClientAddress() { + return $this->clientAddress; + } + public function setConnected( $connected) { + $this->connected = $connected; + } + public function getConnected() { + return $this->connected; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLeaveReason( $leaveReason) { + $this->leaveReason = $leaveReason; + } + public function getLeaveReason() { + return $this->leaveReason; + } + public function setPlayer(Google_Player $player) { + $this->player = $player; + } + public function getPlayer() { + return $this->player; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_RoomStatus extends Google_Model { + protected $__autoMatchingStatusType = 'Google_RoomAutoMatchStatus'; + protected $__autoMatchingStatusDataType = ''; + public $autoMatchingStatus; + public $kind; + protected $__participantsType = 'Google_RoomParticipant'; + protected $__participantsDataType = 'array'; + public $participants; + public $roomId; + public $status; + public $statusVersion; + public function setAutoMatchingStatus(Google_RoomAutoMatchStatus $autoMatchingStatus) { + $this->autoMatchingStatus = $autoMatchingStatus; + } + public function getAutoMatchingStatus() { + return $this->autoMatchingStatus; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParticipants(/* array(Google_RoomParticipant) */ $participants) { + $this->assertIsArray($participants, 'Google_RoomParticipant', __METHOD__); + $this->participants = $participants; + } + public function getParticipants() { + return $this->participants; + } + public function setRoomId( $roomId) { + $this->roomId = $roomId; + } + public function getRoomId() { + return $this->roomId; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setStatusVersion( $statusVersion) { + $this->statusVersion = $statusVersion; + } + public function getStatusVersion() { + return $this->statusVersion; + } +} + +class Google_ScoreSubmission extends Google_Model { + public $kind; + public $leaderboardId; + public $score; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLeaderboardId( $leaderboardId) { + $this->leaderboardId = $leaderboardId; + } + public function getLeaderboardId() { + return $this->leaderboardId; + } + public function setScore( $score) { + $this->score = $score; + } + public function getScore() { + return $this->score; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GanService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GanService.php new file mode 100644 index 0000000..a746b02 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GanService.php @@ -0,0 +1,1827 @@ + + * $ganService = new Google_GanService(...); + * $advertisers = $ganService->advertisers; + * + */ + class Google_AdvertisersServiceResource extends Google_ServiceResource { + + /** + * Retrieves data about a single advertiser if that the requesting advertiser/publisher has access + * to it. Only publishers can lookup advertisers. Advertisers can request information about + * themselves by omitting the advertiserId query parameter. (advertisers.get) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId The ID of the advertiser to look up. Optional. + * @return Google_Advertiser + */ + public function get($role, $roleId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Advertiser($data); + } else { + return $data; + } + } + /** + * Retrieves data about all advertisers that the requesting advertiser/publisher has access to. + * (advertisers.list) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserCategory Caret(^) delimted list of advertiser categories. Valid categories are defined here: http://www.google.com/support/affiliatenetwork/advertiser/bin/answer.py?hl=en=107581. Filters out all advertisers not in one of the given advertiser categories. Optional. + * @opt_param string maxResults Max number of items to return in this page. Optional. Defaults to 20. + * @opt_param double minNinetyDayEpc Filters out all advertisers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional. + * @opt_param int minPayoutRank A value between 1 and 4, where 1 represents the quartile of advertisers with the lowest ranks and 4 represents the quartile of advertisers with the highest ranks. Filters out all advertisers with a lower rank than the given quartile. For example if a 2 was given only advertisers with a payout rank of 25 or higher would be included. Optional. + * @opt_param double minSevenDayEpc Filters out all advertisers that have a seven day EPC average lower than the given value (inclusive). Min value: 0.0. Optional. + * @opt_param string pageToken The value of 'nextPageToken' from the previous page. Optional. + * @opt_param string relationshipStatus Filters out all advertisers for which do not have the given relationship status with the requesting publisher. + * @return Google_Advertisers + */ + public function listAdvertisers($role, $roleId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Advertisers($data); + } else { + return $data; + } + } + } + + /** + * The "ccOffers" collection of methods. + * Typical usage is: + * + * $ganService = new Google_GanService(...); + * $ccOffers = $ganService->ccOffers; + * + */ + class Google_CcOffersServiceResource extends Google_ServiceResource { + + /** + * Retrieves credit card offers for the given publisher. (ccOffers.list) + * + * @param string $publisher The ID of the publisher in question. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiser The advertiser ID of a card issuer whose offers to include. Optional, may be repeated. + * @opt_param string projection The set of fields to return. + * @return Google_CcOffers + */ + public function listCcOffers($publisher, $optParams = array()) { + $params = array('publisher' => $publisher); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CcOffers($data); + } else { + return $data; + } + } + } + + /** + * The "events" collection of methods. + * Typical usage is: + * + * $ganService = new Google_GanService(...); + * $events = $ganService->events; + * + */ + class Google_EventsServiceResource extends Google_ServiceResource { + + /** + * Retrieves event data for a given advertiser/publisher. (events.list) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId Caret(^) delimited list of advertiser IDs. Filters out all events that do not reference one of the given advertiser IDs. Only used when under publishers role. Optional. + * @opt_param string chargeType Filters out all charge events that are not of the given charge type. Valid values: 'other', 'slotting_fee', 'monthly_minimum', 'tier_bonus', 'credit', 'debit'. Optional. + * @opt_param string eventDateMax Filters out all events later than given date. Optional. Defaults to 24 hours after eventMin. + * @opt_param string eventDateMin Filters out all events earlier than given date. Optional. Defaults to 24 hours from current date/time. + * @opt_param string linkId Caret(^) delimited list of link IDs. Filters out all events that do not reference one of the given link IDs. Optional. + * @opt_param string maxResults Max number of offers to return in this page. Optional. Defaults to 20. + * @opt_param string memberId Caret(^) delimited list of member IDs. Filters out all events that do not reference one of the given member IDs. Optional. + * @opt_param string modifyDateMax Filters out all events modified later than given date. Optional. Defaults to 24 hours after modifyDateMin, if modifyDateMin is explicitly set. + * @opt_param string modifyDateMin Filters out all events modified earlier than given date. Optional. Defaults to 24 hours before the current modifyDateMax, if modifyDateMax is explicitly set. + * @opt_param string orderId Caret(^) delimited list of order IDs. Filters out all events that do not reference one of the given order IDs. Optional. + * @opt_param string pageToken The value of 'nextPageToken' from the previous page. Optional. + * @opt_param string productCategory Caret(^) delimited list of product categories. Filters out all events that do not reference a product in one of the given product categories. Optional. + * @opt_param string publisherId Caret(^) delimited list of publisher IDs. Filters out all events that do not reference one of the given publishers IDs. Only used when under advertiser role. Optional. + * @opt_param string sku Caret(^) delimited list of SKUs. Filters out all events that do not reference one of the given SKU. Optional. + * @opt_param string status Filters out all events that do not have the given status. Valid values: 'active', 'canceled'. Optional. + * @opt_param string type Filters out all events that are not of the given type. Valid values: 'action', 'transaction', 'charge'. Optional. + * @return Google_Events + */ + public function listEvents($role, $roleId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Events($data); + } else { + return $data; + } + } + } + + /** + * The "links" collection of methods. + * Typical usage is: + * + * $ganService = new Google_GanService(...); + * $links = $ganService->links; + * + */ + class Google_LinksServiceResource extends Google_ServiceResource { + + /** + * Retrieves data about a single link if the requesting advertiser/publisher has access to it. + * Advertisers can look up their own links. Publishers can look up visible links or links belonging + * to advertisers they are in a relationship with. (links.get) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param string $linkId The ID of the link to look up. + * @param array $optParams Optional parameters. + * @return Google_Link + */ + public function get($role, $roleId, $linkId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId, 'linkId' => $linkId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Link($data); + } else { + return $data; + } + } + /** + * Inserts a new link. (links.insert) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param Google_Link $postBody + * @param array $optParams Optional parameters. + * @return Google_Link + */ + public function insert($role, $roleId, Google_Link $postBody, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Link($data); + } else { + return $data; + } + } + /** + * Retrieves all links that match the query parameters. (links.list) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId Limits the resulting links to the ones belonging to the listed advertisers. + * @opt_param string assetSize The size of the given asset. + * @opt_param string authorship The role of the author of the link. + * @opt_param string createDateMax The end of the create date range. + * @opt_param string createDateMin The beginning of the create date range. + * @opt_param string linkType The type of the link. + * @opt_param string maxResults Max number of items to return in this page. Optional. Defaults to 20. + * @opt_param string pageToken The value of 'nextPageToken' from the previous page. Optional. + * @opt_param string promotionType The promotion type. + * @opt_param string relationshipStatus The status of the relationship. + * @opt_param string searchText Field for full text search across title and merchandising text, supports link id search. + * @opt_param string startDateMax The end of the start date range. + * @opt_param string startDateMin The beginning of the start date range. + * @return Google_Links + */ + public function listLinks($role, $roleId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Links($data); + } else { + return $data; + } + } + } + + /** + * The "publishers" collection of methods. + * Typical usage is: + * + * $ganService = new Google_GanService(...); + * $publishers = $ganService->publishers; + * + */ + class Google_PublishersServiceResource extends Google_ServiceResource { + + /** + * Retrieves data about a single advertiser if that the requesting advertiser/publisher has access + * to it. Only advertisers can look up publishers. Publishers can request information about + * themselves by omitting the publisherId query parameter. (publishers.get) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param array $optParams Optional parameters. + * + * @opt_param string publisherId The ID of the publisher to look up. Optional. + * @return Google_Publisher + */ + public function get($role, $roleId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Publisher($data); + } else { + return $data; + } + } + /** + * Retrieves data about all publishers that the requesting advertiser/publisher has access to. + * (publishers.list) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Max number of items to return in this page. Optional. Defaults to 20. + * @opt_param double minNinetyDayEpc Filters out all publishers that have a ninety day EPC average lower than the given value (inclusive). Min value: 0.0. Optional. + * @opt_param int minPayoutRank A value between 1 and 4, where 1 represents the quartile of publishers with the lowest ranks and 4 represents the quartile of publishers with the highest ranks. Filters out all publishers with a lower rank than the given quartile. For example if a 2 was given only publishers with a payout rank of 25 or higher would be included. Optional. + * @opt_param double minSevenDayEpc Filters out all publishers that have a seven day EPC average lower than the given value (inclusive). Min value 0.0. Optional. + * @opt_param string pageToken The value of 'nextPageToken' from the previous page. Optional. + * @opt_param string publisherCategory Caret(^) delimted list of publisher categories. Valid categories: (unclassified|community_and_content|shopping_and_promotion|loyalty_and_rewards|network|search_specialist|comparison_shopping|email). Filters out all publishers not in one of the given advertiser categories. Optional. + * @opt_param string relationshipStatus Filters out all publishers for which do not have the given relationship status with the requesting publisher. + * @return Google_Publishers + */ + public function listPublishers($role, $roleId, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Publishers($data); + } else { + return $data; + } + } + } + + /** + * The "reports" collection of methods. + * Typical usage is: + * + * $ganService = new Google_GanService(...); + * $reports = $ganService->reports; + * + */ + class Google_ReportsServiceResource extends Google_ServiceResource { + + /** + * Retrieves a report of the specified type. (reports.get) + * + * @param string $role The role of the requester. Valid values: 'advertisers' or 'publishers'. + * @param string $roleId The ID of the requesting advertiser or publisher. + * @param string $reportType The type of report being requested. Valid values: 'order_delta'. Required. + * @param array $optParams Optional parameters. + * + * @opt_param string advertiserId The IDs of the advertisers to look up, if applicable. + * @opt_param bool calculateTotals Whether or not to calculate totals rows. Optional. + * @opt_param string endDate The end date (exclusive), in RFC 3339 format, for the report data to be returned. Defaults to one day after startDate, if that is given, or today. Optional. + * @opt_param string eventType Filters out all events that are not of the given type. Valid values: 'action', 'transaction', or 'charge'. Optional. + * @opt_param string linkId Filters to capture one of given link IDs. Optional. + * @opt_param string maxResults Max number of items to return in this page. Optional. Defaults to return all results. + * @opt_param string orderId Filters to capture one of the given order IDs. Optional. + * @opt_param string publisherId The IDs of the publishers to look up, if applicable. + * @opt_param string startDate The start date (inclusive), in RFC 3339 format, for the report data to be returned. Defaults to one day before endDate, if that is given, or yesterday. Optional. + * @opt_param string startIndex Offset on which to return results when paging. Optional. + * @opt_param string status Filters out all events that do not have the given status. Valid values: 'active', 'canceled', or 'invalid'. Optional. + * @return Google_Report + */ + public function get($role, $roleId, $reportType, $optParams = array()) { + $params = array('role' => $role, 'roleId' => $roleId, 'reportType' => $reportType); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Report($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Gan (v1beta1). + * + *

    + * Lets you have programmatic access to your Google Affiliate Network data. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_GanService extends Google_Service { + public $advertisers; + public $ccOffers; + public $events; + public $links; + public $publishers; + public $reports; + /** + * Constructs the internal representation of the Gan service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'gan/v1beta1/'; + $this->version = 'v1beta1'; + $this->serviceName = 'gan'; + + $client->addService($this->serviceName, $this->version); + $this->advertisers = new Google_AdvertisersServiceResource($this, $this->serviceName, 'advertisers', json_decode('{"methods": {"get": {"id": "gan.advertisers.get", "path": "{role}/{roleId}/advertiser", "httpMethod": "GET", "parameters": {"advertiserId": {"type": "string", "location": "query"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Advertiser"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}, "list": {"id": "gan.advertisers.list", "path": "{role}/{roleId}/advertisers", "httpMethod": "GET", "parameters": {"advertiserCategory": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "minNinetyDayEpc": {"type": "number", "format": "double", "location": "query"}, "minPayoutRank": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "4", "location": "query"}, "minSevenDayEpc": {"type": "number", "format": "double", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "relationshipStatus": {"type": "string", "enum": ["approved", "available", "deactivated", "declined", "pending"], "location": "query"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Advertisers"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}}}', true)); + $this->ccOffers = new Google_CcOffersServiceResource($this, $this->serviceName, 'ccOffers', json_decode('{"methods": {"list": {"id": "gan.ccOffers.list", "path": "publishers/{publisher}/ccOffers", "httpMethod": "GET", "parameters": {"advertiser": {"type": "string", "repeated": true, "location": "query"}, "projection": {"type": "string", "enum": ["full", "summary"], "location": "query"}, "publisher": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CcOffers"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}}}', true)); + $this->events = new Google_EventsServiceResource($this, $this->serviceName, 'events', json_decode('{"methods": {"list": {"id": "gan.events.list", "path": "{role}/{roleId}/events", "httpMethod": "GET", "parameters": {"advertiserId": {"type": "string", "location": "query"}, "chargeType": {"type": "string", "enum": ["credit", "debit", "monthly_minimum", "other", "slotting_fee", "tier_bonus"], "location": "query"}, "eventDateMax": {"type": "string", "location": "query"}, "eventDateMin": {"type": "string", "location": "query"}, "linkId": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "memberId": {"type": "string", "location": "query"}, "modifyDateMax": {"type": "string", "location": "query"}, "modifyDateMin": {"type": "string", "location": "query"}, "orderId": {"type": "string", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "productCategory": {"type": "string", "location": "query"}, "publisherId": {"type": "string", "location": "query"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}, "sku": {"type": "string", "location": "query"}, "status": {"type": "string", "enum": ["active", "canceled"], "location": "query"}, "type": {"type": "string", "enum": ["action", "charge", "transaction"], "location": "query"}}, "response": {"$ref": "Events"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}}}', true)); + $this->links = new Google_LinksServiceResource($this, $this->serviceName, 'links', json_decode('{"methods": {"get": {"id": "gan.links.get", "path": "{role}/{roleId}/link/{linkId}", "httpMethod": "GET", "parameters": {"linkId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Link"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}, "insert": {"id": "gan.links.insert", "path": "{role}/{roleId}/link", "httpMethod": "POST", "parameters": {"role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Link"}, "response": {"$ref": "Link"}, "scopes": ["https://www.googleapis.com/auth/gan"]}, "list": {"id": "gan.links.list", "path": "{role}/{roleId}/links", "httpMethod": "GET", "parameters": {"advertiserId": {"type": "string", "format": "int64", "repeated": true, "location": "query"}, "assetSize": {"type": "string", "repeated": true, "location": "query"}, "authorship": {"type": "string", "enum": ["advertiser", "publisher"], "location": "query"}, "createDateMax": {"type": "string", "location": "query"}, "createDateMin": {"type": "string", "location": "query"}, "linkType": {"type": "string", "enum": ["banner", "text"], "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "promotionType": {"type": "string", "enum": ["coupon", "free_gift", "free_shipping", "percent_off", "price_cut"], "repeated": true, "location": "query"}, "relationshipStatus": {"type": "string", "enum": ["approved", "available"], "location": "query"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}, "searchText": {"type": "string", "location": "query"}, "startDateMax": {"type": "string", "location": "query"}, "startDateMin": {"type": "string", "location": "query"}}, "response": {"$ref": "Links"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}}}', true)); + $this->publishers = new Google_PublishersServiceResource($this, $this->serviceName, 'publishers', json_decode('{"methods": {"get": {"id": "gan.publishers.get", "path": "{role}/{roleId}/publisher", "httpMethod": "GET", "parameters": {"publisherId": {"type": "string", "location": "query"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Publisher"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}, "list": {"id": "gan.publishers.list", "path": "{role}/{roleId}/publishers", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "maximum": "100", "location": "query"}, "minNinetyDayEpc": {"type": "number", "format": "double", "location": "query"}, "minPayoutRank": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "4", "location": "query"}, "minSevenDayEpc": {"type": "number", "format": "double", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "publisherCategory": {"type": "string", "location": "query"}, "relationshipStatus": {"type": "string", "enum": ["approved", "available", "deactivated", "declined", "pending"], "location": "query"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Publishers"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}}}', true)); + $this->reports = new Google_ReportsServiceResource($this, $this->serviceName, 'reports', json_decode('{"methods": {"get": {"id": "gan.reports.get", "path": "{role}/{roleId}/report/{reportType}", "httpMethod": "GET", "parameters": {"advertiserId": {"type": "string", "repeated": true, "location": "query"}, "calculateTotals": {"type": "boolean", "location": "query"}, "endDate": {"type": "string", "location": "query"}, "eventType": {"type": "string", "enum": ["action", "charge", "transaction"], "location": "query"}, "linkId": {"type": "string", "repeated": true, "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "orderId": {"type": "string", "repeated": true, "location": "query"}, "publisherId": {"type": "string", "repeated": true, "location": "query"}, "reportType": {"type": "string", "required": true, "enum": ["order_delta"], "location": "path"}, "role": {"type": "string", "required": true, "enum": ["advertisers", "publishers"], "location": "path"}, "roleId": {"type": "string", "required": true, "location": "path"}, "startDate": {"type": "string", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "status": {"type": "string", "enum": ["active", "canceled", "invalid"], "location": "query"}}, "response": {"$ref": "Report"}, "scopes": ["https://www.googleapis.com/auth/gan", "https://www.googleapis.com/auth/gan.readonly"]}}}', true)); + + } +} + + + +class Google_Advertiser extends Google_Model { + public $allowPublisherCreatedLinks; + public $category; + public $commissionDuration; + public $contactEmail; + public $contactPhone; + public $defaultLinkId; + public $description; + protected $__epcNinetyDayAverageType = 'Google_Money'; + protected $__epcNinetyDayAverageDataType = ''; + public $epcNinetyDayAverage; + protected $__epcSevenDayAverageType = 'Google_Money'; + protected $__epcSevenDayAverageDataType = ''; + public $epcSevenDayAverage; + public $id; + protected $__itemType = 'Google_Advertiser'; + protected $__itemDataType = ''; + public $item; + public $joinDate; + public $kind; + public $logoUrl; + public $merchantCenterIds; + public $name; + public $payoutRank; + public $productFeedsEnabled; + public $redirectDomains; + public $siteUrl; + public $status; + public function setAllowPublisherCreatedLinks( $allowPublisherCreatedLinks) { + $this->allowPublisherCreatedLinks = $allowPublisherCreatedLinks; + } + public function getAllowPublisherCreatedLinks() { + return $this->allowPublisherCreatedLinks; + } + public function setCategory( $category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setCommissionDuration( $commissionDuration) { + $this->commissionDuration = $commissionDuration; + } + public function getCommissionDuration() { + return $this->commissionDuration; + } + public function setContactEmail( $contactEmail) { + $this->contactEmail = $contactEmail; + } + public function getContactEmail() { + return $this->contactEmail; + } + public function setContactPhone( $contactPhone) { + $this->contactPhone = $contactPhone; + } + public function getContactPhone() { + return $this->contactPhone; + } + public function setDefaultLinkId( $defaultLinkId) { + $this->defaultLinkId = $defaultLinkId; + } + public function getDefaultLinkId() { + return $this->defaultLinkId; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEpcNinetyDayAverage(Google_Money $epcNinetyDayAverage) { + $this->epcNinetyDayAverage = $epcNinetyDayAverage; + } + public function getEpcNinetyDayAverage() { + return $this->epcNinetyDayAverage; + } + public function setEpcSevenDayAverage(Google_Money $epcSevenDayAverage) { + $this->epcSevenDayAverage = $epcSevenDayAverage; + } + public function getEpcSevenDayAverage() { + return $this->epcSevenDayAverage; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItem(Google_Advertiser $item) { + $this->item = $item; + } + public function getItem() { + return $this->item; + } + public function setJoinDate( $joinDate) { + $this->joinDate = $joinDate; + } + public function getJoinDate() { + return $this->joinDate; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLogoUrl( $logoUrl) { + $this->logoUrl = $logoUrl; + } + public function getLogoUrl() { + return $this->logoUrl; + } + public function setMerchantCenterIds(/* array(Google_string) */ $merchantCenterIds) { + $this->assertIsArray($merchantCenterIds, 'Google_string', __METHOD__); + $this->merchantCenterIds = $merchantCenterIds; + } + public function getMerchantCenterIds() { + return $this->merchantCenterIds; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPayoutRank( $payoutRank) { + $this->payoutRank = $payoutRank; + } + public function getPayoutRank() { + return $this->payoutRank; + } + public function setProductFeedsEnabled( $productFeedsEnabled) { + $this->productFeedsEnabled = $productFeedsEnabled; + } + public function getProductFeedsEnabled() { + return $this->productFeedsEnabled; + } + public function setRedirectDomains(/* array(Google_string) */ $redirectDomains) { + $this->assertIsArray($redirectDomains, 'Google_string', __METHOD__); + $this->redirectDomains = $redirectDomains; + } + public function getRedirectDomains() { + return $this->redirectDomains; + } + public function setSiteUrl( $siteUrl) { + $this->siteUrl = $siteUrl; + } + public function getSiteUrl() { + return $this->siteUrl; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_Advertisers extends Google_Model { + protected $__itemsType = 'Google_Advertiser'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Advertiser) */ $items) { + $this->assertIsArray($items, 'Google_Advertiser', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_CcOffer extends Google_Model { + public $additionalCardBenefits; + public $additionalCardHolderFee; + public $ageMinimum; + public $ageMinimumDetails; + public $annualFee; + public $annualFeeDisplay; + public $annualRewardMaximum; + public $approvedCategories; + public $aprDisplay; + public $balanceComputationMethod; + public $balanceTransferTerms; + protected $__bonusRewardsType = 'Google_CcOfferBonusRewards'; + protected $__bonusRewardsDataType = 'array'; + public $bonusRewards; + public $carRentalInsurance; + public $cardBenefits; + public $cardName; + public $cardType; + public $cashAdvanceTerms; + public $creditLimitMax; + public $creditLimitMin; + public $creditRatingDisplay; + protected $__defaultFeesType = 'Google_CcOfferDefaultFees'; + protected $__defaultFeesDataType = 'array'; + public $defaultFees; + public $disclaimer; + public $emergencyInsurance; + public $existingCustomerOnly; + public $extendedWarranty; + public $firstYearAnnualFee; + public $flightAccidentInsurance; + public $foreignCurrencyTransactionFee; + public $fraudLiability; + public $gracePeriodDisplay; + public $imageUrl; + public $initialSetupAndProcessingFee; + public $introBalanceTransferTerms; + public $introCashAdvanceTerms; + public $introPurchaseTerms; + public $issuer; + public $issuerId; + public $issuerWebsite; + public $kind; + public $landingPageUrl; + public $latePaymentFee; + public $luggageInsurance; + public $maxPurchaseRate; + public $minPurchaseRate; + public $minimumFinanceCharge; + public $network; + public $offerId; + public $offersImmediateCashReward; + public $overLimitFee; + public $prohibitedCategories; + public $purchaseRateAdditionalDetails; + public $purchaseRateType; + public $returnedPaymentFee; + public $rewardPartner; + public $rewardUnit; + protected $__rewardsType = 'Google_CcOfferRewards'; + protected $__rewardsDataType = 'array'; + public $rewards; + public $rewardsExpire; + public $rewardsHaveBlackoutDates; + public $statementCopyFee; + public $trackingUrl; + public $travelInsurance; + public $variableRatesLastUpdated; + public $variableRatesUpdateFrequency; + public function setAdditionalCardBenefits(/* array(Google_string) */ $additionalCardBenefits) { + $this->assertIsArray($additionalCardBenefits, 'Google_string', __METHOD__); + $this->additionalCardBenefits = $additionalCardBenefits; + } + public function getAdditionalCardBenefits() { + return $this->additionalCardBenefits; + } + public function setAdditionalCardHolderFee( $additionalCardHolderFee) { + $this->additionalCardHolderFee = $additionalCardHolderFee; + } + public function getAdditionalCardHolderFee() { + return $this->additionalCardHolderFee; + } + public function setAgeMinimum( $ageMinimum) { + $this->ageMinimum = $ageMinimum; + } + public function getAgeMinimum() { + return $this->ageMinimum; + } + public function setAgeMinimumDetails( $ageMinimumDetails) { + $this->ageMinimumDetails = $ageMinimumDetails; + } + public function getAgeMinimumDetails() { + return $this->ageMinimumDetails; + } + public function setAnnualFee( $annualFee) { + $this->annualFee = $annualFee; + } + public function getAnnualFee() { + return $this->annualFee; + } + public function setAnnualFeeDisplay( $annualFeeDisplay) { + $this->annualFeeDisplay = $annualFeeDisplay; + } + public function getAnnualFeeDisplay() { + return $this->annualFeeDisplay; + } + public function setAnnualRewardMaximum( $annualRewardMaximum) { + $this->annualRewardMaximum = $annualRewardMaximum; + } + public function getAnnualRewardMaximum() { + return $this->annualRewardMaximum; + } + public function setApprovedCategories(/* array(Google_string) */ $approvedCategories) { + $this->assertIsArray($approvedCategories, 'Google_string', __METHOD__); + $this->approvedCategories = $approvedCategories; + } + public function getApprovedCategories() { + return $this->approvedCategories; + } + public function setAprDisplay( $aprDisplay) { + $this->aprDisplay = $aprDisplay; + } + public function getAprDisplay() { + return $this->aprDisplay; + } + public function setBalanceComputationMethod( $balanceComputationMethod) { + $this->balanceComputationMethod = $balanceComputationMethod; + } + public function getBalanceComputationMethod() { + return $this->balanceComputationMethod; + } + public function setBalanceTransferTerms( $balanceTransferTerms) { + $this->balanceTransferTerms = $balanceTransferTerms; + } + public function getBalanceTransferTerms() { + return $this->balanceTransferTerms; + } + public function setBonusRewards(/* array(Google_CcOfferBonusRewards) */ $bonusRewards) { + $this->assertIsArray($bonusRewards, 'Google_CcOfferBonusRewards', __METHOD__); + $this->bonusRewards = $bonusRewards; + } + public function getBonusRewards() { + return $this->bonusRewards; + } + public function setCarRentalInsurance( $carRentalInsurance) { + $this->carRentalInsurance = $carRentalInsurance; + } + public function getCarRentalInsurance() { + return $this->carRentalInsurance; + } + public function setCardBenefits(/* array(Google_string) */ $cardBenefits) { + $this->assertIsArray($cardBenefits, 'Google_string', __METHOD__); + $this->cardBenefits = $cardBenefits; + } + public function getCardBenefits() { + return $this->cardBenefits; + } + public function setCardName( $cardName) { + $this->cardName = $cardName; + } + public function getCardName() { + return $this->cardName; + } + public function setCardType( $cardType) { + $this->cardType = $cardType; + } + public function getCardType() { + return $this->cardType; + } + public function setCashAdvanceTerms( $cashAdvanceTerms) { + $this->cashAdvanceTerms = $cashAdvanceTerms; + } + public function getCashAdvanceTerms() { + return $this->cashAdvanceTerms; + } + public function setCreditLimitMax( $creditLimitMax) { + $this->creditLimitMax = $creditLimitMax; + } + public function getCreditLimitMax() { + return $this->creditLimitMax; + } + public function setCreditLimitMin( $creditLimitMin) { + $this->creditLimitMin = $creditLimitMin; + } + public function getCreditLimitMin() { + return $this->creditLimitMin; + } + public function setCreditRatingDisplay( $creditRatingDisplay) { + $this->creditRatingDisplay = $creditRatingDisplay; + } + public function getCreditRatingDisplay() { + return $this->creditRatingDisplay; + } + public function setDefaultFees(/* array(Google_CcOfferDefaultFees) */ $defaultFees) { + $this->assertIsArray($defaultFees, 'Google_CcOfferDefaultFees', __METHOD__); + $this->defaultFees = $defaultFees; + } + public function getDefaultFees() { + return $this->defaultFees; + } + public function setDisclaimer( $disclaimer) { + $this->disclaimer = $disclaimer; + } + public function getDisclaimer() { + return $this->disclaimer; + } + public function setEmergencyInsurance( $emergencyInsurance) { + $this->emergencyInsurance = $emergencyInsurance; + } + public function getEmergencyInsurance() { + return $this->emergencyInsurance; + } + public function setExistingCustomerOnly( $existingCustomerOnly) { + $this->existingCustomerOnly = $existingCustomerOnly; + } + public function getExistingCustomerOnly() { + return $this->existingCustomerOnly; + } + public function setExtendedWarranty( $extendedWarranty) { + $this->extendedWarranty = $extendedWarranty; + } + public function getExtendedWarranty() { + return $this->extendedWarranty; + } + public function setFirstYearAnnualFee( $firstYearAnnualFee) { + $this->firstYearAnnualFee = $firstYearAnnualFee; + } + public function getFirstYearAnnualFee() { + return $this->firstYearAnnualFee; + } + public function setFlightAccidentInsurance( $flightAccidentInsurance) { + $this->flightAccidentInsurance = $flightAccidentInsurance; + } + public function getFlightAccidentInsurance() { + return $this->flightAccidentInsurance; + } + public function setForeignCurrencyTransactionFee( $foreignCurrencyTransactionFee) { + $this->foreignCurrencyTransactionFee = $foreignCurrencyTransactionFee; + } + public function getForeignCurrencyTransactionFee() { + return $this->foreignCurrencyTransactionFee; + } + public function setFraudLiability( $fraudLiability) { + $this->fraudLiability = $fraudLiability; + } + public function getFraudLiability() { + return $this->fraudLiability; + } + public function setGracePeriodDisplay( $gracePeriodDisplay) { + $this->gracePeriodDisplay = $gracePeriodDisplay; + } + public function getGracePeriodDisplay() { + return $this->gracePeriodDisplay; + } + public function setImageUrl( $imageUrl) { + $this->imageUrl = $imageUrl; + } + public function getImageUrl() { + return $this->imageUrl; + } + public function setInitialSetupAndProcessingFee( $initialSetupAndProcessingFee) { + $this->initialSetupAndProcessingFee = $initialSetupAndProcessingFee; + } + public function getInitialSetupAndProcessingFee() { + return $this->initialSetupAndProcessingFee; + } + public function setIntroBalanceTransferTerms( $introBalanceTransferTerms) { + $this->introBalanceTransferTerms = $introBalanceTransferTerms; + } + public function getIntroBalanceTransferTerms() { + return $this->introBalanceTransferTerms; + } + public function setIntroCashAdvanceTerms( $introCashAdvanceTerms) { + $this->introCashAdvanceTerms = $introCashAdvanceTerms; + } + public function getIntroCashAdvanceTerms() { + return $this->introCashAdvanceTerms; + } + public function setIntroPurchaseTerms( $introPurchaseTerms) { + $this->introPurchaseTerms = $introPurchaseTerms; + } + public function getIntroPurchaseTerms() { + return $this->introPurchaseTerms; + } + public function setIssuer( $issuer) { + $this->issuer = $issuer; + } + public function getIssuer() { + return $this->issuer; + } + public function setIssuerId( $issuerId) { + $this->issuerId = $issuerId; + } + public function getIssuerId() { + return $this->issuerId; + } + public function setIssuerWebsite( $issuerWebsite) { + $this->issuerWebsite = $issuerWebsite; + } + public function getIssuerWebsite() { + return $this->issuerWebsite; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLandingPageUrl( $landingPageUrl) { + $this->landingPageUrl = $landingPageUrl; + } + public function getLandingPageUrl() { + return $this->landingPageUrl; + } + public function setLatePaymentFee( $latePaymentFee) { + $this->latePaymentFee = $latePaymentFee; + } + public function getLatePaymentFee() { + return $this->latePaymentFee; + } + public function setLuggageInsurance( $luggageInsurance) { + $this->luggageInsurance = $luggageInsurance; + } + public function getLuggageInsurance() { + return $this->luggageInsurance; + } + public function setMaxPurchaseRate( $maxPurchaseRate) { + $this->maxPurchaseRate = $maxPurchaseRate; + } + public function getMaxPurchaseRate() { + return $this->maxPurchaseRate; + } + public function setMinPurchaseRate( $minPurchaseRate) { + $this->minPurchaseRate = $minPurchaseRate; + } + public function getMinPurchaseRate() { + return $this->minPurchaseRate; + } + public function setMinimumFinanceCharge( $minimumFinanceCharge) { + $this->minimumFinanceCharge = $minimumFinanceCharge; + } + public function getMinimumFinanceCharge() { + return $this->minimumFinanceCharge; + } + public function setNetwork( $network) { + $this->network = $network; + } + public function getNetwork() { + return $this->network; + } + public function setOfferId( $offerId) { + $this->offerId = $offerId; + } + public function getOfferId() { + return $this->offerId; + } + public function setOffersImmediateCashReward( $offersImmediateCashReward) { + $this->offersImmediateCashReward = $offersImmediateCashReward; + } + public function getOffersImmediateCashReward() { + return $this->offersImmediateCashReward; + } + public function setOverLimitFee( $overLimitFee) { + $this->overLimitFee = $overLimitFee; + } + public function getOverLimitFee() { + return $this->overLimitFee; + } + public function setProhibitedCategories(/* array(Google_string) */ $prohibitedCategories) { + $this->assertIsArray($prohibitedCategories, 'Google_string', __METHOD__); + $this->prohibitedCategories = $prohibitedCategories; + } + public function getProhibitedCategories() { + return $this->prohibitedCategories; + } + public function setPurchaseRateAdditionalDetails( $purchaseRateAdditionalDetails) { + $this->purchaseRateAdditionalDetails = $purchaseRateAdditionalDetails; + } + public function getPurchaseRateAdditionalDetails() { + return $this->purchaseRateAdditionalDetails; + } + public function setPurchaseRateType( $purchaseRateType) { + $this->purchaseRateType = $purchaseRateType; + } + public function getPurchaseRateType() { + return $this->purchaseRateType; + } + public function setReturnedPaymentFee( $returnedPaymentFee) { + $this->returnedPaymentFee = $returnedPaymentFee; + } + public function getReturnedPaymentFee() { + return $this->returnedPaymentFee; + } + public function setRewardPartner( $rewardPartner) { + $this->rewardPartner = $rewardPartner; + } + public function getRewardPartner() { + return $this->rewardPartner; + } + public function setRewardUnit( $rewardUnit) { + $this->rewardUnit = $rewardUnit; + } + public function getRewardUnit() { + return $this->rewardUnit; + } + public function setRewards(/* array(Google_CcOfferRewards) */ $rewards) { + $this->assertIsArray($rewards, 'Google_CcOfferRewards', __METHOD__); + $this->rewards = $rewards; + } + public function getRewards() { + return $this->rewards; + } + public function setRewardsExpire( $rewardsExpire) { + $this->rewardsExpire = $rewardsExpire; + } + public function getRewardsExpire() { + return $this->rewardsExpire; + } + public function setRewardsHaveBlackoutDates( $rewardsHaveBlackoutDates) { + $this->rewardsHaveBlackoutDates = $rewardsHaveBlackoutDates; + } + public function getRewardsHaveBlackoutDates() { + return $this->rewardsHaveBlackoutDates; + } + public function setStatementCopyFee( $statementCopyFee) { + $this->statementCopyFee = $statementCopyFee; + } + public function getStatementCopyFee() { + return $this->statementCopyFee; + } + public function setTrackingUrl( $trackingUrl) { + $this->trackingUrl = $trackingUrl; + } + public function getTrackingUrl() { + return $this->trackingUrl; + } + public function setTravelInsurance( $travelInsurance) { + $this->travelInsurance = $travelInsurance; + } + public function getTravelInsurance() { + return $this->travelInsurance; + } + public function setVariableRatesLastUpdated( $variableRatesLastUpdated) { + $this->variableRatesLastUpdated = $variableRatesLastUpdated; + } + public function getVariableRatesLastUpdated() { + return $this->variableRatesLastUpdated; + } + public function setVariableRatesUpdateFrequency( $variableRatesUpdateFrequency) { + $this->variableRatesUpdateFrequency = $variableRatesUpdateFrequency; + } + public function getVariableRatesUpdateFrequency() { + return $this->variableRatesUpdateFrequency; + } +} + +class Google_CcOfferBonusRewards extends Google_Model { + public $amount; + public $details; + public function setAmount( $amount) { + $this->amount = $amount; + } + public function getAmount() { + return $this->amount; + } + public function setDetails( $details) { + $this->details = $details; + } + public function getDetails() { + return $this->details; + } +} + +class Google_CcOfferDefaultFees extends Google_Model { + public $category; + public $maxRate; + public $minRate; + public $rateType; + public function setCategory( $category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setMaxRate( $maxRate) { + $this->maxRate = $maxRate; + } + public function getMaxRate() { + return $this->maxRate; + } + public function setMinRate( $minRate) { + $this->minRate = $minRate; + } + public function getMinRate() { + return $this->minRate; + } + public function setRateType( $rateType) { + $this->rateType = $rateType; + } + public function getRateType() { + return $this->rateType; + } +} + +class Google_CcOfferRewards extends Google_Model { + public $additionalDetails; + public $amount; + public $category; + public $expirationMonths; + public $maxRewardTier; + public $minRewardTier; + public function setAdditionalDetails( $additionalDetails) { + $this->additionalDetails = $additionalDetails; + } + public function getAdditionalDetails() { + return $this->additionalDetails; + } + public function setAmount( $amount) { + $this->amount = $amount; + } + public function getAmount() { + return $this->amount; + } + public function setCategory( $category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setExpirationMonths( $expirationMonths) { + $this->expirationMonths = $expirationMonths; + } + public function getExpirationMonths() { + return $this->expirationMonths; + } + public function setMaxRewardTier( $maxRewardTier) { + $this->maxRewardTier = $maxRewardTier; + } + public function getMaxRewardTier() { + return $this->maxRewardTier; + } + public function setMinRewardTier( $minRewardTier) { + $this->minRewardTier = $minRewardTier; + } + public function getMinRewardTier() { + return $this->minRewardTier; + } +} + +class Google_CcOffers extends Google_Model { + protected $__itemsType = 'Google_CcOffer'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_CcOffer) */ $items) { + $this->assertIsArray($items, 'Google_CcOffer', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Event extends Google_Model { + public $advertiserId; + public $advertiserName; + public $chargeId; + public $chargeType; + protected $__commissionableSalesType = 'Google_Money'; + protected $__commissionableSalesDataType = ''; + public $commissionableSales; + protected $__earningsType = 'Google_Money'; + protected $__earningsDataType = ''; + public $earnings; + public $eventDate; + public $kind; + public $memberId; + public $modifyDate; + protected $__networkFeeType = 'Google_Money'; + protected $__networkFeeDataType = ''; + public $networkFee; + public $orderId; + protected $__productsType = 'Google_EventProducts'; + protected $__productsDataType = 'array'; + public $products; + protected $__publisherFeeType = 'Google_Money'; + protected $__publisherFeeDataType = ''; + public $publisherFee; + public $publisherId; + public $publisherName; + public $status; + public $type; + public function setAdvertiserId( $advertiserId) { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() { + return $this->advertiserId; + } + public function setAdvertiserName( $advertiserName) { + $this->advertiserName = $advertiserName; + } + public function getAdvertiserName() { + return $this->advertiserName; + } + public function setChargeId( $chargeId) { + $this->chargeId = $chargeId; + } + public function getChargeId() { + return $this->chargeId; + } + public function setChargeType( $chargeType) { + $this->chargeType = $chargeType; + } + public function getChargeType() { + return $this->chargeType; + } + public function setCommissionableSales(Google_Money $commissionableSales) { + $this->commissionableSales = $commissionableSales; + } + public function getCommissionableSales() { + return $this->commissionableSales; + } + public function setEarnings(Google_Money $earnings) { + $this->earnings = $earnings; + } + public function getEarnings() { + return $this->earnings; + } + public function setEventDate( $eventDate) { + $this->eventDate = $eventDate; + } + public function getEventDate() { + return $this->eventDate; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMemberId( $memberId) { + $this->memberId = $memberId; + } + public function getMemberId() { + return $this->memberId; + } + public function setModifyDate( $modifyDate) { + $this->modifyDate = $modifyDate; + } + public function getModifyDate() { + return $this->modifyDate; + } + public function setNetworkFee(Google_Money $networkFee) { + $this->networkFee = $networkFee; + } + public function getNetworkFee() { + return $this->networkFee; + } + public function setOrderId( $orderId) { + $this->orderId = $orderId; + } + public function getOrderId() { + return $this->orderId; + } + public function setProducts(/* array(Google_EventProducts) */ $products) { + $this->assertIsArray($products, 'Google_EventProducts', __METHOD__); + $this->products = $products; + } + public function getProducts() { + return $this->products; + } + public function setPublisherFee(Google_Money $publisherFee) { + $this->publisherFee = $publisherFee; + } + public function getPublisherFee() { + return $this->publisherFee; + } + public function setPublisherId( $publisherId) { + $this->publisherId = $publisherId; + } + public function getPublisherId() { + return $this->publisherId; + } + public function setPublisherName( $publisherName) { + $this->publisherName = $publisherName; + } + public function getPublisherName() { + return $this->publisherName; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_EventProducts extends Google_Model { + public $categoryId; + public $categoryName; + protected $__earningsType = 'Google_Money'; + protected $__earningsDataType = ''; + public $earnings; + protected $__networkFeeType = 'Google_Money'; + protected $__networkFeeDataType = ''; + public $networkFee; + protected $__publisherFeeType = 'Google_Money'; + protected $__publisherFeeDataType = ''; + public $publisherFee; + public $quantity; + public $sku; + public $skuName; + protected $__unitPriceType = 'Google_Money'; + protected $__unitPriceDataType = ''; + public $unitPrice; + public function setCategoryId( $categoryId) { + $this->categoryId = $categoryId; + } + public function getCategoryId() { + return $this->categoryId; + } + public function setCategoryName( $categoryName) { + $this->categoryName = $categoryName; + } + public function getCategoryName() { + return $this->categoryName; + } + public function setEarnings(Google_Money $earnings) { + $this->earnings = $earnings; + } + public function getEarnings() { + return $this->earnings; + } + public function setNetworkFee(Google_Money $networkFee) { + $this->networkFee = $networkFee; + } + public function getNetworkFee() { + return $this->networkFee; + } + public function setPublisherFee(Google_Money $publisherFee) { + $this->publisherFee = $publisherFee; + } + public function getPublisherFee() { + return $this->publisherFee; + } + public function setQuantity( $quantity) { + $this->quantity = $quantity; + } + public function getQuantity() { + return $this->quantity; + } + public function setSku( $sku) { + $this->sku = $sku; + } + public function getSku() { + return $this->sku; + } + public function setSkuName( $skuName) { + $this->skuName = $skuName; + } + public function getSkuName() { + return $this->skuName; + } + public function setUnitPrice(Google_Money $unitPrice) { + $this->unitPrice = $unitPrice; + } + public function getUnitPrice() { + return $this->unitPrice; + } +} + +class Google_Events extends Google_Model { + protected $__itemsType = 'Google_Event'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Event) */ $items) { + $this->assertIsArray($items, 'Google_Event', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Link extends Google_Model { + public $advertiserId; + public $authorship; + public $availability; + public $clickTrackingUrl; + public $createDate; + public $description; + public $destinationUrl; + public $duration; + public $endDate; + protected $__epcNinetyDayAverageType = 'Google_Money'; + protected $__epcNinetyDayAverageDataType = ''; + public $epcNinetyDayAverage; + protected $__epcSevenDayAverageType = 'Google_Money'; + protected $__epcSevenDayAverageDataType = ''; + public $epcSevenDayAverage; + public $id; + public $imageAltText; + public $impressionTrackingUrl; + public $isActive; + public $kind; + public $linkType; + public $name; + public $promotionType; + protected $__specialOffersType = 'Google_LinkSpecialOffers'; + protected $__specialOffersDataType = ''; + public $specialOffers; + public $startDate; + public function setAdvertiserId( $advertiserId) { + $this->advertiserId = $advertiserId; + } + public function getAdvertiserId() { + return $this->advertiserId; + } + public function setAuthorship( $authorship) { + $this->authorship = $authorship; + } + public function getAuthorship() { + return $this->authorship; + } + public function setAvailability( $availability) { + $this->availability = $availability; + } + public function getAvailability() { + return $this->availability; + } + public function setClickTrackingUrl( $clickTrackingUrl) { + $this->clickTrackingUrl = $clickTrackingUrl; + } + public function getClickTrackingUrl() { + return $this->clickTrackingUrl; + } + public function setCreateDate( $createDate) { + $this->createDate = $createDate; + } + public function getCreateDate() { + return $this->createDate; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDestinationUrl( $destinationUrl) { + $this->destinationUrl = $destinationUrl; + } + public function getDestinationUrl() { + return $this->destinationUrl; + } + public function setDuration( $duration) { + $this->duration = $duration; + } + public function getDuration() { + return $this->duration; + } + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setEpcNinetyDayAverage(Google_Money $epcNinetyDayAverage) { + $this->epcNinetyDayAverage = $epcNinetyDayAverage; + } + public function getEpcNinetyDayAverage() { + return $this->epcNinetyDayAverage; + } + public function setEpcSevenDayAverage(Google_Money $epcSevenDayAverage) { + $this->epcSevenDayAverage = $epcSevenDayAverage; + } + public function getEpcSevenDayAverage() { + return $this->epcSevenDayAverage; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImageAltText( $imageAltText) { + $this->imageAltText = $imageAltText; + } + public function getImageAltText() { + return $this->imageAltText; + } + public function setImpressionTrackingUrl( $impressionTrackingUrl) { + $this->impressionTrackingUrl = $impressionTrackingUrl; + } + public function getImpressionTrackingUrl() { + return $this->impressionTrackingUrl; + } + public function setIsActive( $isActive) { + $this->isActive = $isActive; + } + public function getIsActive() { + return $this->isActive; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLinkType( $linkType) { + $this->linkType = $linkType; + } + public function getLinkType() { + return $this->linkType; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPromotionType( $promotionType) { + $this->promotionType = $promotionType; + } + public function getPromotionType() { + return $this->promotionType; + } + public function setSpecialOffers(Google_LinkSpecialOffers $specialOffers) { + $this->specialOffers = $specialOffers; + } + public function getSpecialOffers() { + return $this->specialOffers; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } +} + +class Google_LinkSpecialOffers extends Google_Model { + public $freeGift; + public $freeShipping; + protected $__freeShippingMinType = 'Google_Money'; + protected $__freeShippingMinDataType = ''; + public $freeShippingMin; + public $percentOff; + protected $__percentOffMinType = 'Google_Money'; + protected $__percentOffMinDataType = ''; + public $percentOffMin; + protected $__priceCutType = 'Google_Money'; + protected $__priceCutDataType = ''; + public $priceCut; + protected $__priceCutMinType = 'Google_Money'; + protected $__priceCutMinDataType = ''; + public $priceCutMin; + public $promotionCodes; + public function setFreeGift( $freeGift) { + $this->freeGift = $freeGift; + } + public function getFreeGift() { + return $this->freeGift; + } + public function setFreeShipping( $freeShipping) { + $this->freeShipping = $freeShipping; + } + public function getFreeShipping() { + return $this->freeShipping; + } + public function setFreeShippingMin(Google_Money $freeShippingMin) { + $this->freeShippingMin = $freeShippingMin; + } + public function getFreeShippingMin() { + return $this->freeShippingMin; + } + public function setPercentOff( $percentOff) { + $this->percentOff = $percentOff; + } + public function getPercentOff() { + return $this->percentOff; + } + public function setPercentOffMin(Google_Money $percentOffMin) { + $this->percentOffMin = $percentOffMin; + } + public function getPercentOffMin() { + return $this->percentOffMin; + } + public function setPriceCut(Google_Money $priceCut) { + $this->priceCut = $priceCut; + } + public function getPriceCut() { + return $this->priceCut; + } + public function setPriceCutMin(Google_Money $priceCutMin) { + $this->priceCutMin = $priceCutMin; + } + public function getPriceCutMin() { + return $this->priceCutMin; + } + public function setPromotionCodes(/* array(Google_string) */ $promotionCodes) { + $this->assertIsArray($promotionCodes, 'Google_string', __METHOD__); + $this->promotionCodes = $promotionCodes; + } + public function getPromotionCodes() { + return $this->promotionCodes; + } +} + +class Google_Links extends Google_Model { + protected $__itemsType = 'Google_Link'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Link) */ $items) { + $this->assertIsArray($items, 'Google_Link', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Money extends Google_Model { + public $amount; + public $currencyCode; + public function setAmount( $amount) { + $this->amount = $amount; + } + public function getAmount() { + return $this->amount; + } + public function setCurrencyCode( $currencyCode) { + $this->currencyCode = $currencyCode; + } + public function getCurrencyCode() { + return $this->currencyCode; + } +} + +class Google_Publisher extends Google_Model { + public $classification; + protected $__epcNinetyDayAverageType = 'Google_Money'; + protected $__epcNinetyDayAverageDataType = ''; + public $epcNinetyDayAverage; + protected $__epcSevenDayAverageType = 'Google_Money'; + protected $__epcSevenDayAverageDataType = ''; + public $epcSevenDayAverage; + public $id; + protected $__itemType = 'Google_Publisher'; + protected $__itemDataType = ''; + public $item; + public $joinDate; + public $kind; + public $name; + public $payoutRank; + public $sites; + public $status; + public function setClassification( $classification) { + $this->classification = $classification; + } + public function getClassification() { + return $this->classification; + } + public function setEpcNinetyDayAverage(Google_Money $epcNinetyDayAverage) { + $this->epcNinetyDayAverage = $epcNinetyDayAverage; + } + public function getEpcNinetyDayAverage() { + return $this->epcNinetyDayAverage; + } + public function setEpcSevenDayAverage(Google_Money $epcSevenDayAverage) { + $this->epcSevenDayAverage = $epcSevenDayAverage; + } + public function getEpcSevenDayAverage() { + return $this->epcSevenDayAverage; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItem(Google_Publisher $item) { + $this->item = $item; + } + public function getItem() { + return $this->item; + } + public function setJoinDate( $joinDate) { + $this->joinDate = $joinDate; + } + public function getJoinDate() { + return $this->joinDate; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPayoutRank( $payoutRank) { + $this->payoutRank = $payoutRank; + } + public function getPayoutRank() { + return $this->payoutRank; + } + public function setSites(/* array(Google_string) */ $sites) { + $this->assertIsArray($sites, 'Google_string', __METHOD__); + $this->sites = $sites; + } + public function getSites() { + return $this->sites; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_Publishers extends Google_Model { + protected $__itemsType = 'Google_Publisher'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Publisher) */ $items) { + $this->assertIsArray($items, 'Google_Publisher', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Report extends Google_Model { + public $column_names; + public $end_date; + public $kind; + public $matching_row_count; + public $rows; + public $start_date; + public $totals_rows; + public $type; + public function setColumn_names(/* array(Google_string) */ $column_names) { + $this->assertIsArray($column_names, 'Google_string', __METHOD__); + $this->column_names = $column_names; + } + public function getColumn_names() { + return $this->column_names; + } + public function setEnd_date( $end_date) { + $this->end_date = $end_date; + } + public function getEnd_date() { + return $this->end_date; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMatching_row_count( $matching_row_count) { + $this->matching_row_count = $matching_row_count; + } + public function getMatching_row_count() { + return $this->matching_row_count; + } + public function setRows(/* array(Google_object) */ $rows) { + $this->assertIsArray($rows, 'Google_object', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } + public function setStart_date( $start_date) { + $this->start_date = $start_date; + } + public function getStart_date() { + return $this->start_date; + } + public function setTotals_rows(/* array(Google_object) */ $totals_rows) { + $this->assertIsArray($totals_rows, 'Google_object', __METHOD__); + $this->totals_rows = $totals_rows; + } + public function getTotals_rows() { + return $this->totals_rows; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GroupssettingsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GroupssettingsService.php new file mode 100644 index 0000000..4096ad9 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_GroupssettingsService.php @@ -0,0 +1,299 @@ + + * $groupssettingsService = new Google_GroupssettingsService(...); + * $groups = $groupssettingsService->groups; + * + */ + class Google_GroupsServiceResource extends Google_ServiceResource { + + /** + * Gets one resource by id. (groups.get) + * + * @param string $groupUniqueId The resource ID + * @param array $optParams Optional parameters. + * @return Google_Groups + */ + public function get($groupUniqueId, $optParams = array()) { + $params = array('groupUniqueId' => $groupUniqueId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Groups($data); + } else { + return $data; + } + } + /** + * Updates an existing resource. This method supports patch semantics. (groups.patch) + * + * @param string $groupUniqueId The resource ID + * @param Google_Groups $postBody + * @param array $optParams Optional parameters. + * @return Google_Groups + */ + public function patch($groupUniqueId, Google_Groups $postBody, $optParams = array()) { + $params = array('groupUniqueId' => $groupUniqueId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Groups($data); + } else { + return $data; + } + } + /** + * Updates an existing resource. (groups.update) + * + * @param string $groupUniqueId The resource ID + * @param Google_Groups $postBody + * @param array $optParams Optional parameters. + * @return Google_Groups + */ + public function update($groupUniqueId, Google_Groups $postBody, $optParams = array()) { + $params = array('groupUniqueId' => $groupUniqueId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Groups($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Groupssettings (v1). + * + *

    + * Lets you manage permission levels and related settings of a group. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_GroupssettingsService extends Google_Service { + public $groups; + /** + * Constructs the internal representation of the Groupssettings service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'groups/v1/groups/'; + $this->version = 'v1'; + $this->serviceName = 'groupssettings'; + + $client->addService($this->serviceName, $this->version); + $this->groups = new Google_GroupsServiceResource($this, $this->serviceName, 'groups', json_decode('{"methods": {"get": {"id": "groupsSettings.groups.get", "path": "{groupUniqueId}", "httpMethod": "GET", "parameters": {"groupUniqueId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Groups"}, "scopes": ["https://www.googleapis.com/auth/apps.groups.settings"]}, "patch": {"id": "groupsSettings.groups.patch", "path": "{groupUniqueId}", "httpMethod": "PATCH", "parameters": {"groupUniqueId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Groups"}, "response": {"$ref": "Groups"}, "scopes": ["https://www.googleapis.com/auth/apps.groups.settings"]}, "update": {"id": "groupsSettings.groups.update", "path": "{groupUniqueId}", "httpMethod": "PUT", "parameters": {"groupUniqueId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Groups"}, "response": {"$ref": "Groups"}, "scopes": ["https://www.googleapis.com/auth/apps.groups.settings"]}}}', true)); + + } +} + + + +class Google_Groups extends Google_Model { + public $allowExternalMembers; + public $allowGoogleCommunication; + public $allowWebPosting; + public $archiveOnly; + public $customReplyTo; + public $defaultMessageDenyNotificationText; + public $description; + public $email; + public $includeInGlobalAddressList; + public $isArchived; + public $kind; + public $maxMessageBytes; + public $membersCanPostAsTheGroup; + public $messageDisplayFont; + public $messageModerationLevel; + public $name; + public $primaryLanguage; + public $replyTo; + public $sendMessageDenyNotification; + public $showInGroupDirectory; + public $spamModerationLevel; + public $whoCanInvite; + public $whoCanJoin; + public $whoCanPostMessage; + public $whoCanViewGroup; + public $whoCanViewMembership; + public function setAllowExternalMembers( $allowExternalMembers) { + $this->allowExternalMembers = $allowExternalMembers; + } + public function getAllowExternalMembers() { + return $this->allowExternalMembers; + } + public function setAllowGoogleCommunication( $allowGoogleCommunication) { + $this->allowGoogleCommunication = $allowGoogleCommunication; + } + public function getAllowGoogleCommunication() { + return $this->allowGoogleCommunication; + } + public function setAllowWebPosting( $allowWebPosting) { + $this->allowWebPosting = $allowWebPosting; + } + public function getAllowWebPosting() { + return $this->allowWebPosting; + } + public function setArchiveOnly( $archiveOnly) { + $this->archiveOnly = $archiveOnly; + } + public function getArchiveOnly() { + return $this->archiveOnly; + } + public function setCustomReplyTo( $customReplyTo) { + $this->customReplyTo = $customReplyTo; + } + public function getCustomReplyTo() { + return $this->customReplyTo; + } + public function setDefaultMessageDenyNotificationText( $defaultMessageDenyNotificationText) { + $this->defaultMessageDenyNotificationText = $defaultMessageDenyNotificationText; + } + public function getDefaultMessageDenyNotificationText() { + return $this->defaultMessageDenyNotificationText; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setIncludeInGlobalAddressList( $includeInGlobalAddressList) { + $this->includeInGlobalAddressList = $includeInGlobalAddressList; + } + public function getIncludeInGlobalAddressList() { + return $this->includeInGlobalAddressList; + } + public function setIsArchived( $isArchived) { + $this->isArchived = $isArchived; + } + public function getIsArchived() { + return $this->isArchived; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxMessageBytes( $maxMessageBytes) { + $this->maxMessageBytes = $maxMessageBytes; + } + public function getMaxMessageBytes() { + return $this->maxMessageBytes; + } + public function setMembersCanPostAsTheGroup( $membersCanPostAsTheGroup) { + $this->membersCanPostAsTheGroup = $membersCanPostAsTheGroup; + } + public function getMembersCanPostAsTheGroup() { + return $this->membersCanPostAsTheGroup; + } + public function setMessageDisplayFont( $messageDisplayFont) { + $this->messageDisplayFont = $messageDisplayFont; + } + public function getMessageDisplayFont() { + return $this->messageDisplayFont; + } + public function setMessageModerationLevel( $messageModerationLevel) { + $this->messageModerationLevel = $messageModerationLevel; + } + public function getMessageModerationLevel() { + return $this->messageModerationLevel; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPrimaryLanguage( $primaryLanguage) { + $this->primaryLanguage = $primaryLanguage; + } + public function getPrimaryLanguage() { + return $this->primaryLanguage; + } + public function setReplyTo( $replyTo) { + $this->replyTo = $replyTo; + } + public function getReplyTo() { + return $this->replyTo; + } + public function setSendMessageDenyNotification( $sendMessageDenyNotification) { + $this->sendMessageDenyNotification = $sendMessageDenyNotification; + } + public function getSendMessageDenyNotification() { + return $this->sendMessageDenyNotification; + } + public function setShowInGroupDirectory( $showInGroupDirectory) { + $this->showInGroupDirectory = $showInGroupDirectory; + } + public function getShowInGroupDirectory() { + return $this->showInGroupDirectory; + } + public function setSpamModerationLevel( $spamModerationLevel) { + $this->spamModerationLevel = $spamModerationLevel; + } + public function getSpamModerationLevel() { + return $this->spamModerationLevel; + } + public function setWhoCanInvite( $whoCanInvite) { + $this->whoCanInvite = $whoCanInvite; + } + public function getWhoCanInvite() { + return $this->whoCanInvite; + } + public function setWhoCanJoin( $whoCanJoin) { + $this->whoCanJoin = $whoCanJoin; + } + public function getWhoCanJoin() { + return $this->whoCanJoin; + } + public function setWhoCanPostMessage( $whoCanPostMessage) { + $this->whoCanPostMessage = $whoCanPostMessage; + } + public function getWhoCanPostMessage() { + return $this->whoCanPostMessage; + } + public function setWhoCanViewGroup( $whoCanViewGroup) { + $this->whoCanViewGroup = $whoCanViewGroup; + } + public function getWhoCanViewGroup() { + return $this->whoCanViewGroup; + } + public function setWhoCanViewMembership( $whoCanViewMembership) { + $this->whoCanViewMembership = $whoCanViewMembership; + } + public function getWhoCanViewMembership() { + return $this->whoCanViewMembership; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_LatitudeService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_LatitudeService.php new file mode 100644 index 0000000..21cd03c --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_LatitudeService.php @@ -0,0 +1,283 @@ + + * $latitudeService = new Google_LatitudeService(...); + * $currentLocation = $latitudeService->currentLocation; + * + */ + class Google_CurrentLocationServiceResource extends Google_ServiceResource { + + + /** + * Updates or creates the user's current location. (currentLocation.insert) + * + * @param Google_Location $postBody + * @param array $optParams Optional parameters. + * @return Google_Location + */ + public function insert(Google_Location $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Location($data); + } else { + return $data; + } + } + /** + * Returns the authenticated user's current location. (currentLocation.get) + * + * @param array $optParams Optional parameters. + * + * @opt_param string granularity Granularity of the requested location. + * @return Google_Location + */ + public function get($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Location($data); + } else { + return $data; + } + } + /** + * Deletes the authenticated user's current location. (currentLocation.delete) + * + * @param array $optParams Optional parameters. + */ + public function delete($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + } + + /** + * The "location" collection of methods. + * Typical usage is: + * + * $latitudeService = new Google_LatitudeService(...); + * $location = $latitudeService->location; + * + */ + class Google_LocationServiceResource extends Google_ServiceResource { + + + /** + * Inserts or updates a location in the user's location history. (location.insert) + * + * @param Google_Location $postBody + * @param array $optParams Optional parameters. + * @return Google_Location + */ + public function insert(Google_Location $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Location($data); + } else { + return $data; + } + } + /** + * Reads a location from the user's location history. (location.get) + * + * @param string $locationId Timestamp of the location to read (ms since epoch). + * @param array $optParams Optional parameters. + * + * @opt_param string granularity Granularity of the location to return. + * @return Google_Location + */ + public function get($locationId, $optParams = array()) { + $params = array('locationId' => $locationId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Location($data); + } else { + return $data; + } + } + /** + * Lists the user's location history. (location.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of locations to return. + * @opt_param string max-time Maximum timestamp of locations to return (ms since epoch). + * @opt_param string min-time Minimum timestamp of locations to return (ms since epoch). + * @opt_param string granularity Granularity of the requested locations. + * @return Google_LocationFeed + */ + public function listLocation($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_LocationFeed($data); + } else { + return $data; + } + } + /** + * Deletes a location from the user's location history. (location.delete) + * + * @param string $locationId Timestamp of the location to delete (ms since epoch). + * @param array $optParams Optional parameters. + */ + public function delete($locationId, $optParams = array()) { + $params = array('locationId' => $locationId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + } + +/** + * Service definition for Google_Latitude (v1). + * + *

    + * Lets you read and update your current location and work with your location history + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_LatitudeService extends Google_Service { + public $currentLocation; + public $location; + /** + * Constructs the internal representation of the Latitude service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'latitude/v1/'; + $this->version = 'v1'; + $this->serviceName = 'latitude'; + + $client->addService($this->serviceName, $this->version); + $this->currentLocation = new Google_CurrentLocationServiceResource($this, $this->serviceName, 'currentLocation', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city", "https://www.googleapis.com/auth/latitude.current.best", "https://www.googleapis.com/auth/latitude.current.city"], "request": {"$ref": "LatitudeCurrentlocationResourceJson"}, "response": {"$ref": "LatitudeCurrentlocationResourceJson"}, "httpMethod": "POST", "path": "currentLocation", "id": "latitude.currentLocation.insert"}, "get": {"scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city", "https://www.googleapis.com/auth/latitude.current.best", "https://www.googleapis.com/auth/latitude.current.city"], "parameters": {"granularity": {"default": "city", "enum": ["best", "city"], "type": "string", "location": "query"}}, "response": {"$ref": "LatitudeCurrentlocationResourceJson"}, "httpMethod": "GET", "path": "currentLocation", "id": "latitude.currentLocation.get"}, "delete": {"path": "currentLocation", "scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city", "https://www.googleapis.com/auth/latitude.current.best", "https://www.googleapis.com/auth/latitude.current.city"], "id": "latitude.currentLocation.delete", "httpMethod": "DELETE"}}}', true)); + $this->location = new Google_LocationServiceResource($this, $this->serviceName, 'location', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city"], "request": {"$ref": "Location"}, "response": {"$ref": "Location"}, "httpMethod": "POST", "path": "location", "id": "latitude.location.insert"}, "get": {"scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city"], "parameters": {"locationId": {"required": true, "type": "string", "location": "path"}, "granularity": {"default": "city", "enum": ["best", "city"], "type": "string", "location": "query"}}, "id": "latitude.location.get", "httpMethod": "GET", "path": "location/{locationId}", "response": {"$ref": "Location"}}, "list": {"scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city"], "parameters": {"max-results": {"type": "string", "location": "query"}, "max-time": {"type": "string", "location": "query"}, "min-time": {"type": "string", "location": "query"}, "granularity": {"default": "city", "enum": ["best", "city"], "type": "string", "location": "query"}}, "response": {"$ref": "LocationFeed"}, "httpMethod": "GET", "path": "location", "id": "latitude.location.list"}, "delete": {"scopes": ["https://www.googleapis.com/auth/latitude.all.best", "https://www.googleapis.com/auth/latitude.all.city"], "path": "location/{locationId}", "id": "latitude.location.delete", "parameters": {"locationId": {"required": true, "type": "string", "location": "path"}}, "httpMethod": "DELETE"}}}', true)); + + } +} + +class Google_Location extends Google_Model { + public $kind; + public $altitude; + public $longitude; + public $activityId; + public $latitude; + public $altitudeAccuracy; + public $timestampMs; + public $speed; + public $heading; + public $accuracy; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setAltitude($altitude) { + $this->altitude = $altitude; + } + public function getAltitude() { + return $this->altitude; + } + public function setLongitude($longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } + public function setActivityId($activityId) { + $this->activityId = $activityId; + } + public function getActivityId() { + return $this->activityId; + } + public function setLatitude($latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setAltitudeAccuracy($altitudeAccuracy) { + $this->altitudeAccuracy = $altitudeAccuracy; + } + public function getAltitudeAccuracy() { + return $this->altitudeAccuracy; + } + public function setTimestampMs($timestampMs) { + $this->timestampMs = $timestampMs; + } + public function getTimestampMs() { + return $this->timestampMs; + } + public function setSpeed($speed) { + $this->speed = $speed; + } + public function getSpeed() { + return $this->speed; + } + public function setHeading($heading) { + $this->heading = $heading; + } + public function getHeading() { + return $this->heading; + } + public function setAccuracy($accuracy) { + $this->accuracy = $accuracy; + } + public function getAccuracy() { + return $this->accuracy; + } +} + +class Google_LocationFeed extends Google_Model { + protected $__itemsType = 'Google_Location'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Location) */ $items) { + $this->assertIsArray($items, 'Google_Location', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_LicensingService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_LicensingService.php new file mode 100644 index 0000000..34db140 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_LicensingService.php @@ -0,0 +1,286 @@ + + * $licensingService = new Google_LicensingService(...); + * $licenseAssignments = $licensingService->licenseAssignments; + * + */ + class Google_LicenseAssignmentsServiceResource extends Google_ServiceResource { + + /** + * Revoke License. (licenseAssignments.delete) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param string $userId email id or unique Id of the user + * @param array $optParams Optional parameters. + */ + public function delete($productId, $skuId, $userId, $optParams = array()) { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Get license assignment of a particular product and sku for a user (licenseAssignments.get) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param string $userId email id or unique Id of the user + * @param array $optParams Optional parameters. + * @return Google_LicenseAssignment + */ + public function get($productId, $skuId, $userId, $optParams = array()) { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_LicenseAssignment($data); + } else { + return $data; + } + } + /** + * Assign License. (licenseAssignments.insert) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param Google_LicenseAssignmentInsert $postBody + * @param array $optParams Optional parameters. + * @return Google_LicenseAssignment + */ + public function insert($productId, $skuId, Google_LicenseAssignmentInsert $postBody, $optParams = array()) { + $params = array('productId' => $productId, 'skuId' => $skuId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_LicenseAssignment($data); + } else { + return $data; + } + } + /** + * List license assignments for given product of the customer. (licenseAssignments.listForProduct) + * + * @param string $productId Name for product + * @param string $customerId CustomerId represents the customer for whom licenseassignments are queried + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100. + * @opt_param string pageToken Token to fetch the next page.Optional. By default server will return first page + * @return Google_LicenseAssignmentList + */ + public function listForProduct($productId, $customerId, $optParams = array()) { + $params = array('productId' => $productId, 'customerId' => $customerId); + $params = array_merge($params, $optParams); + $data = $this->__call('listForProduct', array($params)); + if ($this->useObjects()) { + return new Google_LicenseAssignmentList($data); + } else { + return $data; + } + } + /** + * List license assignments for given product and sku of the customer. + * (licenseAssignments.listForProductAndSku) + * + * @param string $productId Name for product + * @param string $skuId Name for sku + * @param string $customerId CustomerId represents the customer for whom licenseassignments are queried + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of campaigns to return at one time. Must be positive. Optional. Default value is 100. + * @opt_param string pageToken Token to fetch the next page.Optional. By default server will return first page + * @return Google_LicenseAssignmentList + */ + public function listForProductAndSku($productId, $skuId, $customerId, $optParams = array()) { + $params = array('productId' => $productId, 'skuId' => $skuId, 'customerId' => $customerId); + $params = array_merge($params, $optParams); + $data = $this->__call('listForProductAndSku', array($params)); + if ($this->useObjects()) { + return new Google_LicenseAssignmentList($data); + } else { + return $data; + } + } + /** + * Assign License. This method supports patch semantics. (licenseAssignments.patch) + * + * @param string $productId Name for product + * @param string $skuId Name for sku for which license would be revoked + * @param string $userId email id or unique Id of the user + * @param Google_LicenseAssignment $postBody + * @param array $optParams Optional parameters. + * @return Google_LicenseAssignment + */ + public function patch($productId, $skuId, $userId, Google_LicenseAssignment $postBody, $optParams = array()) { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_LicenseAssignment($data); + } else { + return $data; + } + } + /** + * Assign License. (licenseAssignments.update) + * + * @param string $productId Name for product + * @param string $skuId Name for sku for which license would be revoked + * @param string $userId email id or unique Id of the user + * @param Google_LicenseAssignment $postBody + * @param array $optParams Optional parameters. + * @return Google_LicenseAssignment + */ + public function update($productId, $skuId, $userId, Google_LicenseAssignment $postBody, $optParams = array()) { + $params = array('productId' => $productId, 'skuId' => $skuId, 'userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_LicenseAssignment($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Licensing (v1). + * + *

    + * Licensing API to view and manage license for your domain. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_LicensingService extends Google_Service { + public $licenseAssignments; + /** + * Constructs the internal representation of the Licensing service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'apps/licensing/v1/product/'; + $this->version = 'v1'; + $this->serviceName = 'licensing'; + + $client->addService($this->serviceName, $this->version); + $this->licenseAssignments = new Google_LicenseAssignmentsServiceResource($this, $this->serviceName, 'licenseAssignments', json_decode('{"methods": {"delete": {"id": "licensing.licenseAssignments.delete", "path": "{productId}/sku/{skuId}/user/{userId}", "httpMethod": "DELETE", "parameters": {"productId": {"type": "string", "required": true, "location": "path"}, "skuId": {"type": "string", "required": true, "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}}, "get": {"id": "licensing.licenseAssignments.get", "path": "{productId}/sku/{skuId}/user/{userId}", "httpMethod": "GET", "parameters": {"productId": {"type": "string", "required": true, "location": "path"}, "skuId": {"type": "string", "required": true, "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "LicenseAssignment"}}, "insert": {"id": "licensing.licenseAssignments.insert", "path": "{productId}/sku/{skuId}/user", "httpMethod": "POST", "parameters": {"productId": {"type": "string", "required": true, "location": "path"}, "skuId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "LicenseAssignmentInsert"}, "response": {"$ref": "LicenseAssignment"}}, "listForProduct": {"id": "licensing.licenseAssignments.listForProduct", "path": "{productId}/users", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "1", "maximum": "1000", "location": "query"}, "pageToken": {"type": "string", "default": "", "location": "query"}, "productId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "LicenseAssignmentList"}}, "listForProductAndSku": {"id": "licensing.licenseAssignments.listForProductAndSku", "path": "{productId}/sku/{skuId}/users", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "query"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "1", "maximum": "1000", "location": "query"}, "pageToken": {"type": "string", "default": "", "location": "query"}, "productId": {"type": "string", "required": true, "location": "path"}, "skuId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "LicenseAssignmentList"}}, "patch": {"id": "licensing.licenseAssignments.patch", "path": "{productId}/sku/{skuId}/user/{userId}", "httpMethod": "PATCH", "parameters": {"productId": {"type": "string", "required": true, "location": "path"}, "skuId": {"type": "string", "required": true, "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "LicenseAssignment"}, "response": {"$ref": "LicenseAssignment"}}, "update": {"id": "licensing.licenseAssignments.update", "path": "{productId}/sku/{skuId}/user/{userId}", "httpMethod": "PUT", "parameters": {"productId": {"type": "string", "required": true, "location": "path"}, "skuId": {"type": "string", "required": true, "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "LicenseAssignment"}, "response": {"$ref": "LicenseAssignment"}}}}', true)); + + } +} + + + +class Google_LicenseAssignment extends Google_Model { + public $etags; + public $kind; + public $productId; + public $selfLink; + public $skuId; + public $userId; + public function setEtags( $etags) { + $this->etags = $etags; + } + public function getEtags() { + return $this->etags; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProductId( $productId) { + $this->productId = $productId; + } + public function getProductId() { + return $this->productId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSkuId( $skuId) { + $this->skuId = $skuId; + } + public function getSkuId() { + return $this->skuId; + } + public function setUserId( $userId) { + $this->userId = $userId; + } + public function getUserId() { + return $this->userId; + } +} + +class Google_LicenseAssignmentInsert extends Google_Model { + public $userId; + public function setUserId( $userId) { + $this->userId = $userId; + } + public function getUserId() { + return $this->userId; + } +} + +class Google_LicenseAssignmentList extends Google_Model { + public $etag; + protected $__itemsType = 'Google_LicenseAssignment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_LicenseAssignment) */ $items) { + $this->assertIsArray($items, 'Google_LicenseAssignment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_MirrorService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_MirrorService.php new file mode 100644 index 0000000..01facdb --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_MirrorService.php @@ -0,0 +1,1203 @@ + + * $mirrorService = new Google_MirrorService(...); + * $contacts = $mirrorService->contacts; + * + */ + class Google_ContactsServiceResource extends Google_ServiceResource { + + /** + * Deletes a contact. (contacts.delete) + * + * @param string $id The ID of the contact. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a single contact by ID. (contacts.get) + * + * @param string $id The ID of the contact. + * @param array $optParams Optional parameters. + * @return Google_Contact + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Contact($data); + } else { + return $data; + } + } + /** + * Inserts a new contact. (contacts.insert) + * + * @param Google_Contact $postBody + * @param array $optParams Optional parameters. + * @return Google_Contact + */ + public function insert(Google_Contact $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Contact($data); + } else { + return $data; + } + } + /** + * Retrieves a list of contacts for the authenticated user. (contacts.list) + * + * @param array $optParams Optional parameters. + * @return Google_ContactsListResponse + */ + public function listContacts($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ContactsListResponse($data); + } else { + return $data; + } + } + /** + * Updates a contact in place. This method supports patch semantics. + * (contacts.patch) + * + * @param string $id The ID of the contact. + * @param Google_Contact $postBody + * @param array $optParams Optional parameters. + * @return Google_Contact + */ + public function patch($id, Google_Contact $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Contact($data); + } else { + return $data; + } + } + /** + * Updates a contact in place. (contacts.update) + * + * @param string $id The ID of the contact. + * @param Google_Contact $postBody + * @param array $optParams Optional parameters. + * @return Google_Contact + */ + public function update($id, Google_Contact $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Contact($data); + } else { + return $data; + } + } + } + + /** + * The "locations" collection of methods. + * Typical usage is: + * + * $mirrorService = new Google_MirrorService(...); + * $locations = $mirrorService->locations; + * + */ + class Google_LocationsServiceResource extends Google_ServiceResource { + + /** + * Gets a single location by ID. (locations.get) + * + * @param string $id The ID of the location or latest for the last known location. + * @param array $optParams Optional parameters. + * @return Google_Location + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Location($data); + } else { + return $data; + } + } + /** + * Retrieves a list of locations for the user. (locations.list) + * + * @param array $optParams Optional parameters. + * @return Google_LocationsListResponse + */ + public function listLocations($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_LocationsListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "subscriptions" collection of methods. + * Typical usage is: + * + * $mirrorService = new Google_MirrorService(...); + * $subscriptions = $mirrorService->subscriptions; + * + */ + class Google_SubscriptionsServiceResource extends Google_ServiceResource { + + /** + * Deletes a subscription. (subscriptions.delete) + * + * @param string $id The ID of the subscription. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Creates a new subscription. (subscriptions.insert) + * + * @param Google_Subscription $postBody + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function insert(Google_Subscription $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + /** + * Retrieves a list of subscriptions for the authenticated user and service. + * (subscriptions.list) + * + * @param array $optParams Optional parameters. + * @return Google_SubscriptionsListResponse + */ + public function listSubscriptions($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SubscriptionsListResponse($data); + } else { + return $data; + } + } + /** + * Updates an existing subscription in place. (subscriptions.update) + * + * @param string $id The ID of the subscription. + * @param Google_Subscription $postBody + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function update($id, Google_Subscription $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + } + + /** + * The "timeline" collection of methods. + * Typical usage is: + * + * $mirrorService = new Google_MirrorService(...); + * $timeline = $mirrorService->timeline; + * + */ + class Google_TimelineServiceResource extends Google_ServiceResource { + + /** + * Deletes a timeline item. (timeline.delete) + * + * @param string $id The ID of the timeline item. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a single timeline item by ID. (timeline.get) + * + * @param string $id The ID of the timeline item. + * @param array $optParams Optional parameters. + * @return Google_TimelineItem + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_TimelineItem($data); + } else { + return $data; + } + } + /** + * Inserts a new item into the timeline. (timeline.insert) + * + * @param Google_TimelineItem $postBody + * @param array $optParams Optional parameters. + * @return Google_TimelineItem + */ + public function insert(Google_TimelineItem $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_TimelineItem($data); + } else { + return $data; + } + } + /** + * Retrieves a list of timeline items for the authenticated user. + * (timeline.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string bundleId If provided, only items with the given bundleId will be returned. + * @opt_param bool includeDeleted If true, tombstone records for deleted items will be returned. + * @opt_param string maxResults The maximum number of items to include in the response, used for paging. + * @opt_param string orderBy Controls the order in which timeline items are returned. + * @opt_param string pageToken Token for the page of results to return. + * @opt_param bool pinnedOnly If true, only pinned items will be returned. + * @opt_param string sourceItemId If provided, only items with the given sourceItemId will be returned. + * @return Google_TimelineListResponse + */ + public function listTimeline($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TimelineListResponse($data); + } else { + return $data; + } + } + /** + * Updates a timeline item in place. This method supports patch semantics. + * (timeline.patch) + * + * @param string $id The ID of the timeline item. + * @param Google_TimelineItem $postBody + * @param array $optParams Optional parameters. + * @return Google_TimelineItem + */ + public function patch($id, Google_TimelineItem $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_TimelineItem($data); + } else { + return $data; + } + } + /** + * Updates a timeline item in place. (timeline.update) + * + * @param string $id The ID of the timeline item. + * @param Google_TimelineItem $postBody + * @param array $optParams Optional parameters. + * @return Google_TimelineItem + */ + public function update($id, Google_TimelineItem $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_TimelineItem($data); + } else { + return $data; + } + } + } + + /** + * The "attachments" collection of methods. + * Typical usage is: + * + * $mirrorService = new Google_MirrorService(...); + * $attachments = $mirrorService->attachments; + * + */ + class Google_TimelineAttachmentsServiceResource extends Google_ServiceResource { + + /** + * Deletes an attachment from a timeline item. (attachments.delete) + * + * @param string $itemId The ID of the timeline item the attachment belongs to. + * @param string $attachmentId The ID of the attachment. + * @param array $optParams Optional parameters. + */ + public function delete($itemId, $attachmentId, $optParams = array()) { + $params = array('itemId' => $itemId, 'attachmentId' => $attachmentId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves an attachment on a timeline item by item ID and attachment ID. + * (attachments.get) + * + * @param string $itemId The ID of the timeline item the attachment belongs to. + * @param string $attachmentId The ID of the attachment. + * @param array $optParams Optional parameters. + * @return Google_Attachment + */ + public function get($itemId, $attachmentId, $optParams = array()) { + $params = array('itemId' => $itemId, 'attachmentId' => $attachmentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Attachment($data); + } else { + return $data; + } + } + /** + * Adds a new attachment to a timeline item. (attachments.insert) + * + * @param string $itemId The ID of the timeline item the attachment belongs to. + * @param array $optParams Optional parameters. + * @return Google_Attachment + */ + public function insert($itemId, $optParams = array()) { + $params = array('itemId' => $itemId); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Attachment($data); + } else { + return $data; + } + } + /** + * Returns a list of attachments for a timeline item. (attachments.list) + * + * @param string $itemId The ID of the timeline item whose attachments should be listed. + * @param array $optParams Optional parameters. + * @return Google_AttachmentsListResponse + */ + public function listTimelineAttachments($itemId, $optParams = array()) { + $params = array('itemId' => $itemId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AttachmentsListResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Mirror (v1). + * + *

    + * API for interacting with Glass users via the timeline. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_MirrorService extends Google_Service { + public $contacts; + public $locations; + public $subscriptions; + public $timeline; + public $timeline_attachments; + /** + * Constructs the internal representation of the Mirror service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'mirror/v1/'; + $this->version = 'v1'; + $this->serviceName = 'mirror'; + + $client->addService($this->serviceName, $this->version); + $this->contacts = new Google_ContactsServiceResource($this, $this->serviceName, 'contacts', json_decode('{"methods": {"delete": {"id": "mirror.contacts.delete", "path": "contacts/{id}", "httpMethod": "DELETE", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}}, "get": {"id": "mirror.contacts.get", "path": "contacts/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Contact"}}, "insert": {"id": "mirror.contacts.insert", "path": "contacts", "httpMethod": "POST", "request": {"$ref": "Contact"}, "response": {"$ref": "Contact"}}, "list": {"id": "mirror.contacts.list", "path": "contacts", "httpMethod": "GET", "response": {"$ref": "ContactsListResponse"}}, "patch": {"id": "mirror.contacts.patch", "path": "contacts/{id}", "httpMethod": "PATCH", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Contact"}, "response": {"$ref": "Contact"}}, "update": {"id": "mirror.contacts.update", "path": "contacts/{id}", "httpMethod": "PUT", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Contact"}, "response": {"$ref": "Contact"}}}}', true)); + $this->locations = new Google_LocationsServiceResource($this, $this->serviceName, 'locations', json_decode('{"methods": {"get": {"id": "mirror.locations.get", "path": "locations/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Location"}}, "list": {"id": "mirror.locations.list", "path": "locations", "httpMethod": "GET", "response": {"$ref": "LocationsListResponse"}}}}', true)); + $this->subscriptions = new Google_SubscriptionsServiceResource($this, $this->serviceName, 'subscriptions', json_decode('{"methods": {"delete": {"id": "mirror.subscriptions.delete", "path": "subscriptions/{id}", "httpMethod": "DELETE", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}}, "insert": {"id": "mirror.subscriptions.insert", "path": "subscriptions", "httpMethod": "POST", "request": {"$ref": "Subscription"}, "response": {"$ref": "Subscription"}}, "list": {"id": "mirror.subscriptions.list", "path": "subscriptions", "httpMethod": "GET", "response": {"$ref": "SubscriptionsListResponse"}}, "update": {"id": "mirror.subscriptions.update", "path": "subscriptions/{id}", "httpMethod": "PUT", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Subscription"}, "response": {"$ref": "Subscription"}}}}', true)); + $this->timeline = new Google_TimelineServiceResource($this, $this->serviceName, 'timeline', json_decode('{"methods": {"delete": {"id": "mirror.timeline.delete", "path": "timeline/{id}", "httpMethod": "DELETE", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}}, "get": {"id": "mirror.timeline.get", "path": "timeline/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "TimelineItem"}}, "insert": {"id": "mirror.timeline.insert", "path": "timeline", "httpMethod": "POST", "request": {"$ref": "TimelineItem"}, "response": {"$ref": "TimelineItem"}, "supportsMediaUpload": true, "mediaUpload": {"accept": ["audio/*", "image/*", "video/*"], "maxSize": "10MB", "protocols": {"simple": {"multipart": true, "path": "/upload/mirror/v1/timeline"}, "resumable": {"multipart": true, "path": "/resumable/upload/mirror/v1/timeline"}}}}, "list": {"id": "mirror.timeline.list", "path": "timeline", "httpMethod": "GET", "parameters": {"bundleId": {"type": "string", "location": "query"}, "includeDeleted": {"type": "boolean", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "orderBy": {"type": "string", "enum": ["displayTime", "writeTime"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "pinnedOnly": {"type": "boolean", "location": "query"}, "sourceItemId": {"type": "string", "location": "query"}}, "response": {"$ref": "TimelineListResponse"}}, "patch": {"id": "mirror.timeline.patch", "path": "timeline/{id}", "httpMethod": "PATCH", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "TimelineItem"}, "response": {"$ref": "TimelineItem"}}, "update": {"id": "mirror.timeline.update", "path": "timeline/{id}", "httpMethod": "PUT", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "TimelineItem"}, "response": {"$ref": "TimelineItem"}, "supportsMediaUpload": true, "mediaUpload": {"accept": ["audio/*", "image/*", "video/*"], "maxSize": "10MB", "protocols": {"simple": {"multipart": true, "path": "/upload/mirror/v1/timeline/{id}"}, "resumable": {"multipart": true, "path": "/resumable/upload/mirror/v1/timeline/{id}"}}}}}}', true)); + $this->timeline_attachments = new Google_TimelineAttachmentsServiceResource($this, $this->serviceName, 'attachments', json_decode('{"methods": {"delete": {"id": "mirror.timeline.attachments.delete", "path": "timeline/{itemId}/attachments/{attachmentId}", "httpMethod": "DELETE", "parameters": {"attachmentId": {"type": "string", "required": true, "location": "path"}, "itemId": {"type": "string", "required": true, "location": "path"}}}, "get": {"id": "mirror.timeline.attachments.get", "path": "timeline/{itemId}/attachments/{attachmentId}", "httpMethod": "GET", "parameters": {"attachmentId": {"type": "string", "required": true, "location": "path"}, "itemId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Attachment"}, "supportsMediaDownload": true}, "insert": {"id": "mirror.timeline.attachments.insert", "path": "timeline/{itemId}/attachments", "httpMethod": "POST", "parameters": {"itemId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Attachment"}, "supportsMediaUpload": true, "mediaUpload": {"accept": ["audio/*", "image/*", "video/*"], "maxSize": "10MB", "protocols": {"simple": {"multipart": true, "path": "/upload/mirror/v1/timeline/{itemId}/attachments"}, "resumable": {"multipart": true, "path": "/resumable/upload/mirror/v1/timeline/{itemId}/attachments"}}}}, "list": {"id": "mirror.timeline.attachments.list", "path": "timeline/{itemId}/attachments", "httpMethod": "GET", "parameters": {"itemId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AttachmentsListResponse"}}}}', true)); + + } +} + + + +class Google_Attachment extends Google_Model { + public $contentType; + public $contentUrl; + public $id; + public $isProcessingContent; + public function setContentType( $contentType) { + $this->contentType = $contentType; + } + public function getContentType() { + return $this->contentType; + } + public function setContentUrl( $contentUrl) { + $this->contentUrl = $contentUrl; + } + public function getContentUrl() { + return $this->contentUrl; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIsProcessingContent( $isProcessingContent) { + $this->isProcessingContent = $isProcessingContent; + } + public function getIsProcessingContent() { + return $this->isProcessingContent; + } +} + +class Google_AttachmentsListResponse extends Google_Model { + protected $__itemsType = 'Google_Attachment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Attachment) */ $items) { + $this->assertIsArray($items, 'Google_Attachment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Command extends Google_Model { + public $type; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Contact extends Google_Model { + protected $__acceptCommandsType = 'Google_Command'; + protected $__acceptCommandsDataType = 'array'; + public $acceptCommands; + public $acceptTypes; + public $displayName; + public $id; + public $imageUrls; + public $kind; + public $phoneNumber; + public $priority; + public $source; + public $speakableName; + public $type; + public function setAcceptCommands(/* array(Google_Command) */ $acceptCommands) { + $this->assertIsArray($acceptCommands, 'Google_Command', __METHOD__); + $this->acceptCommands = $acceptCommands; + } + public function getAcceptCommands() { + return $this->acceptCommands; + } + public function setAcceptTypes(/* array(Google_string) */ $acceptTypes) { + $this->assertIsArray($acceptTypes, 'Google_string', __METHOD__); + $this->acceptTypes = $acceptTypes; + } + public function getAcceptTypes() { + return $this->acceptTypes; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImageUrls(/* array(Google_string) */ $imageUrls) { + $this->assertIsArray($imageUrls, 'Google_string', __METHOD__); + $this->imageUrls = $imageUrls; + } + public function getImageUrls() { + return $this->imageUrls; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPhoneNumber( $phoneNumber) { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() { + return $this->phoneNumber; + } + public function setPriority( $priority) { + $this->priority = $priority; + } + public function getPriority() { + return $this->priority; + } + public function setSource( $source) { + $this->source = $source; + } + public function getSource() { + return $this->source; + } + public function setSpeakableName( $speakableName) { + $this->speakableName = $speakableName; + } + public function getSpeakableName() { + return $this->speakableName; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ContactsListResponse extends Google_Model { + protected $__itemsType = 'Google_Contact'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Contact) */ $items) { + $this->assertIsArray($items, 'Google_Contact', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Location extends Google_Model { + public $accuracy; + public $address; + public $displayName; + public $id; + public $kind; + public $latitude; + public $longitude; + public $timestamp; + public function setAccuracy( $accuracy) { + $this->accuracy = $accuracy; + } + public function getAccuracy() { + return $this->accuracy; + } + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } + public function setTimestamp( $timestamp) { + $this->timestamp = $timestamp; + } + public function getTimestamp() { + return $this->timestamp; + } +} + +class Google_LocationsListResponse extends Google_Model { + protected $__itemsType = 'Google_Location'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Location) */ $items) { + $this->assertIsArray($items, 'Google_Location', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_MenuItem extends Google_Model { + public $action; + public $id; + public $payload; + public $removeWhenSelected; + protected $__valuesType = 'Google_MenuValue'; + protected $__valuesDataType = 'array'; + public $values; + public function setAction( $action) { + $this->action = $action; + } + public function getAction() { + return $this->action; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setPayload( $payload) { + $this->payload = $payload; + } + public function getPayload() { + return $this->payload; + } + public function setRemoveWhenSelected( $removeWhenSelected) { + $this->removeWhenSelected = $removeWhenSelected; + } + public function getRemoveWhenSelected() { + return $this->removeWhenSelected; + } + public function setValues(/* array(Google_MenuValue) */ $values) { + $this->assertIsArray($values, 'Google_MenuValue', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } +} + +class Google_MenuValue extends Google_Model { + public $displayName; + public $iconUrl; + public $state; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setIconUrl( $iconUrl) { + $this->iconUrl = $iconUrl; + } + public function getIconUrl() { + return $this->iconUrl; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } +} + +class Google_Notification extends Google_Model { + public $collection; + public $itemId; + public $operation; + protected $__userActionsType = 'Google_UserAction'; + protected $__userActionsDataType = 'array'; + public $userActions; + public $userToken; + public $verifyToken; + public function setCollection( $collection) { + $this->collection = $collection; + } + public function getCollection() { + return $this->collection; + } + public function setItemId( $itemId) { + $this->itemId = $itemId; + } + public function getItemId() { + return $this->itemId; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } + public function setUserActions(/* array(Google_UserAction) */ $userActions) { + $this->assertIsArray($userActions, 'Google_UserAction', __METHOD__); + $this->userActions = $userActions; + } + public function getUserActions() { + return $this->userActions; + } + public function setUserToken( $userToken) { + $this->userToken = $userToken; + } + public function getUserToken() { + return $this->userToken; + } + public function setVerifyToken( $verifyToken) { + $this->verifyToken = $verifyToken; + } + public function getVerifyToken() { + return $this->verifyToken; + } +} + +class Google_NotificationConfig extends Google_Model { + public $deliveryTime; + public $level; + public function setDeliveryTime( $deliveryTime) { + $this->deliveryTime = $deliveryTime; + } + public function getDeliveryTime() { + return $this->deliveryTime; + } + public function setLevel( $level) { + $this->level = $level; + } + public function getLevel() { + return $this->level; + } +} + +class Google_Subscription extends Google_Model { + public $callbackUrl; + public $collection; + public $id; + public $kind; + protected $__notificationType = 'Google_Notification'; + protected $__notificationDataType = ''; + public $notification; + public $operation; + public $updated; + public $userToken; + public $verifyToken; + public function setCallbackUrl( $callbackUrl) { + $this->callbackUrl = $callbackUrl; + } + public function getCallbackUrl() { + return $this->callbackUrl; + } + public function setCollection( $collection) { + $this->collection = $collection; + } + public function getCollection() { + return $this->collection; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNotification(Google_Notification $notification) { + $this->notification = $notification; + } + public function getNotification() { + return $this->notification; + } + public function setOperation(/* array(Google_string) */ $operation) { + $this->assertIsArray($operation, 'Google_string', __METHOD__); + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUserToken( $userToken) { + $this->userToken = $userToken; + } + public function getUserToken() { + return $this->userToken; + } + public function setVerifyToken( $verifyToken) { + $this->verifyToken = $verifyToken; + } + public function getVerifyToken() { + return $this->verifyToken; + } +} + +class Google_SubscriptionsListResponse extends Google_Model { + protected $__itemsType = 'Google_Subscription'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Subscription) */ $items) { + $this->assertIsArray($items, 'Google_Subscription', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_TimelineItem extends Google_Model { + protected $__attachmentsType = 'Google_Attachment'; + protected $__attachmentsDataType = 'array'; + public $attachments; + public $bundleId; + public $canonicalUrl; + public $created; + protected $__creatorType = 'Google_Contact'; + protected $__creatorDataType = ''; + public $creator; + public $displayTime; + public $etag; + public $html; + public $htmlPages; + public $id; + public $inReplyTo; + public $isBundleCover; + public $isDeleted; + public $isPinned; + public $kind; + protected $__locationType = 'Google_Location'; + protected $__locationDataType = ''; + public $location; + protected $__menuItemsType = 'Google_MenuItem'; + protected $__menuItemsDataType = 'array'; + public $menuItems; + protected $__notificationType = 'Google_NotificationConfig'; + protected $__notificationDataType = ''; + public $notification; + public $pinScore; + protected $__recipientsType = 'Google_Contact'; + protected $__recipientsDataType = 'array'; + public $recipients; + public $selfLink; + public $sourceItemId; + public $speakableText; + public $speakableType; + public $text; + public $title; + public $updated; + public function setAttachments(/* array(Google_Attachment) */ $attachments) { + $this->assertIsArray($attachments, 'Google_Attachment', __METHOD__); + $this->attachments = $attachments; + } + public function getAttachments() { + return $this->attachments; + } + public function setBundleId( $bundleId) { + $this->bundleId = $bundleId; + } + public function getBundleId() { + return $this->bundleId; + } + public function setCanonicalUrl( $canonicalUrl) { + $this->canonicalUrl = $canonicalUrl; + } + public function getCanonicalUrl() { + return $this->canonicalUrl; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setCreator(Google_Contact $creator) { + $this->creator = $creator; + } + public function getCreator() { + return $this->creator; + } + public function setDisplayTime( $displayTime) { + $this->displayTime = $displayTime; + } + public function getDisplayTime() { + return $this->displayTime; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setHtml( $html) { + $this->html = $html; + } + public function getHtml() { + return $this->html; + } + public function setHtmlPages(/* array(Google_string) */ $htmlPages) { + $this->assertIsArray($htmlPages, 'Google_string', __METHOD__); + $this->htmlPages = $htmlPages; + } + public function getHtmlPages() { + return $this->htmlPages; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInReplyTo( $inReplyTo) { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() { + return $this->inReplyTo; + } + public function setIsBundleCover( $isBundleCover) { + $this->isBundleCover = $isBundleCover; + } + public function getIsBundleCover() { + return $this->isBundleCover; + } + public function setIsDeleted( $isDeleted) { + $this->isDeleted = $isDeleted; + } + public function getIsDeleted() { + return $this->isDeleted; + } + public function setIsPinned( $isPinned) { + $this->isPinned = $isPinned; + } + public function getIsPinned() { + return $this->isPinned; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation(Google_Location $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setMenuItems(/* array(Google_MenuItem) */ $menuItems) { + $this->assertIsArray($menuItems, 'Google_MenuItem', __METHOD__); + $this->menuItems = $menuItems; + } + public function getMenuItems() { + return $this->menuItems; + } + public function setNotification(Google_NotificationConfig $notification) { + $this->notification = $notification; + } + public function getNotification() { + return $this->notification; + } + public function setPinScore( $pinScore) { + $this->pinScore = $pinScore; + } + public function getPinScore() { + return $this->pinScore; + } + public function setRecipients(/* array(Google_Contact) */ $recipients) { + $this->assertIsArray($recipients, 'Google_Contact', __METHOD__); + $this->recipients = $recipients; + } + public function getRecipients() { + return $this->recipients; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSourceItemId( $sourceItemId) { + $this->sourceItemId = $sourceItemId; + } + public function getSourceItemId() { + return $this->sourceItemId; + } + public function setSpeakableText( $speakableText) { + $this->speakableText = $speakableText; + } + public function getSpeakableText() { + return $this->speakableText; + } + public function setSpeakableType( $speakableType) { + $this->speakableType = $speakableType; + } + public function getSpeakableType() { + return $this->speakableType; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_TimelineListResponse extends Google_Model { + protected $__itemsType = 'Google_TimelineItem'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_TimelineItem) */ $items) { + $this->assertIsArray($items, 'Google_TimelineItem', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_UserAction extends Google_Model { + public $payload; + public $type; + public function setPayload( $payload) { + $this->payload = $payload; + } + public function getPayload() { + return $this->payload; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ModeratorService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ModeratorService.php new file mode 100644 index 0000000..b00d65f --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ModeratorService.php @@ -0,0 +1,1888 @@ + + * $moderatorService = new Google_ModeratorService(...); + * $votes = $moderatorService->votes; + * + */ + class Google_VotesServiceResource extends Google_ServiceResource { + + + /** + * Inserts a new vote by the authenticated user for the specified submission within the specified + * series. (votes.insert) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param Google_Vote $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string unauthToken User identifier for unauthenticated usage mode + * @return Google_Vote + */ + public function insert($seriesId, $submissionId, Google_Vote $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Vote($data); + } else { + return $data; + } + } + /** + * Updates the votes by the authenticated user for the specified submission within the specified + * series. This method supports patch semantics. (votes.patch) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param Google_Vote $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string userId + * @opt_param string unauthToken User identifier for unauthenticated usage mode + * @return Google_Vote + */ + public function patch($seriesId, $submissionId, Google_Vote $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Vote($data); + } else { + return $data; + } + } + /** + * Lists the votes by the authenticated user for the given series. (votes.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param string start-index Index of the first result to be retrieved. + * @return Google_VoteList + */ + public function listVotes($seriesId, $optParams = array()) { + $params = array('seriesId' => $seriesId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_VoteList($data); + } else { + return $data; + } + } + /** + * Updates the votes by the authenticated user for the specified submission within the specified + * series. (votes.update) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param Google_Vote $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string userId + * @opt_param string unauthToken User identifier for unauthenticated usage mode + * @return Google_Vote + */ + public function update($seriesId, $submissionId, Google_Vote $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Vote($data); + } else { + return $data; + } + } + /** + * Returns the votes by the authenticated user for the specified submission within the specified + * series. (votes.get) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string userId + * @opt_param string unauthToken User identifier for unauthenticated usage mode + * @return Google_Vote + */ + public function get($seriesId, $submissionId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Vote($data); + } else { + return $data; + } + } + } + + /** + * The "responses" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $responses = $moderatorService->responses; + * + */ + class Google_ResponsesServiceResource extends Google_ServiceResource { + + + /** + * Inserts a response for the specified submission in the specified topic within the specified + * series. (responses.insert) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $topicId The decimal ID of the Topic within the Series. + * @param string $parentSubmissionId The decimal ID of the parent Submission within the Series. + * @param Google_Submission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string unauthToken User identifier for unauthenticated usage mode + * @opt_param bool anonymous Set to true to mark the new submission as anonymous. + * @return Google_Submission + */ + public function insert($seriesId, $topicId, $parentSubmissionId, Google_Submission $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'topicId' => $topicId, 'parentSubmissionId' => $parentSubmissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Submission($data); + } else { + return $data; + } + } + /** + * Lists or searches the responses for the specified submission within the specified series and + * returns the search results. (responses.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param string sort Sort order. + * @opt_param string author Restricts the results to submissions by a specific author. + * @opt_param string start-index Index of the first result to be retrieved. + * @opt_param string q Search query. + * @opt_param bool hasAttachedVideo Specifies whether to restrict to submissions that have videos attached. + * @return Google_SubmissionList + */ + public function listResponses($seriesId, $submissionId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SubmissionList($data); + } else { + return $data; + } + } + } + + /** + * The "tags" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $tags = $moderatorService->tags; + * + */ + class Google_TagsServiceResource extends Google_ServiceResource { + + + /** + * Inserts a new tag for the specified submission within the specified series. (tags.insert) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param Google_Tag $postBody + * @param array $optParams Optional parameters. + * @return Google_Tag + */ + public function insert($seriesId, $submissionId, Google_Tag $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Tag($data); + } else { + return $data; + } + } + /** + * Lists all tags for the specified submission within the specified series. (tags.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param array $optParams Optional parameters. + * @return Google_TagList + */ + public function listTags($seriesId, $submissionId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TagList($data); + } else { + return $data; + } + } + /** + * Deletes the specified tag from the specified submission within the specified series. + * (tags.delete) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param string $tagId + * @param array $optParams Optional parameters. + */ + public function delete($seriesId, $submissionId, $tagId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId, 'tagId' => $tagId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + } + + /** + * The "series" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $series = $moderatorService->series; + * + */ + class Google_SeriesServiceResource extends Google_ServiceResource { + + + /** + * Inserts a new series. (series.insert) + * + * @param Google_Series $postBody + * @param array $optParams Optional parameters. + * @return Google_Series + */ + public function insert(Google_Series $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Series($data); + } else { + return $data; + } + } + /** + * Updates the specified series. This method supports patch semantics. (series.patch) + * + * @param string $seriesId The decimal ID of the Series. + * @param Google_Series $postBody + * @param array $optParams Optional parameters. + * @return Google_Series + */ + public function patch($seriesId, Google_Series $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Series($data); + } else { + return $data; + } + } + /** + * Searches the series and returns the search results. (series.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param string q Search query. + * @opt_param string start-index Index of the first result to be retrieved. + * @return Google_SeriesList + */ + public function listSeries($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SeriesList($data); + } else { + return $data; + } + } + /** + * Updates the specified series. (series.update) + * + * @param string $seriesId The decimal ID of the Series. + * @param Google_Series $postBody + * @param array $optParams Optional parameters. + * @return Google_Series + */ + public function update($seriesId, Google_Series $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Series($data); + } else { + return $data; + } + } + /** + * Returns the specified series. (series.get) + * + * @param string $seriesId The decimal ID of the Series. + * @param array $optParams Optional parameters. + * @return Google_Series + */ + public function get($seriesId, $optParams = array()) { + $params = array('seriesId' => $seriesId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Series($data); + } else { + return $data; + } + } + } + + /** + * The "submissions" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $submissions = $moderatorService->submissions; + * + */ + class Google_SeriesSubmissionsServiceResource extends Google_ServiceResource { + + + /** + * Searches the submissions for the specified series and returns the search results. + * (submissions.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string lang The language code for the language the client prefers results in. + * @opt_param string max-results Maximum number of results to return. + * @opt_param bool includeVotes Specifies whether to include the current user's vote + * @opt_param string start-index Index of the first result to be retrieved. + * @opt_param string author Restricts the results to submissions by a specific author. + * @opt_param string sort Sort order. + * @opt_param string q Search query. + * @opt_param bool hasAttachedVideo Specifies whether to restrict to submissions that have videos attached. + * @return Google_SubmissionList + */ + public function listSeriesSubmissions($seriesId, $optParams = array()) { + $params = array('seriesId' => $seriesId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SubmissionList($data); + } else { + return $data; + } + } + } + /** + * The "responses" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $responses = $moderatorService->responses; + * + */ + class Google_SeriesResponsesServiceResource extends Google_ServiceResource { + + + /** + * Searches the responses for the specified series and returns the search results. (responses.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param string sort Sort order. + * @opt_param string author Restricts the results to submissions by a specific author. + * @opt_param string start-index Index of the first result to be retrieved. + * @opt_param string q Search query. + * @opt_param bool hasAttachedVideo Specifies whether to restrict to submissions that have videos attached. + * @return Google_SeriesList + */ + public function listSeriesResponses($seriesId, $optParams = array()) { + $params = array('seriesId' => $seriesId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SeriesList($data); + } else { + return $data; + } + } + } + + /** + * The "topics" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $topics = $moderatorService->topics; + * + */ + class Google_TopicsServiceResource extends Google_ServiceResource { + + + /** + * Inserts a new topic into the specified series. (topics.insert) + * + * @param string $seriesId The decimal ID of the Series. + * @param Google_Topic $postBody + * @param array $optParams Optional parameters. + * @return Google_Topic + */ + public function insert($seriesId, Google_Topic $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Topic($data); + } else { + return $data; + } + } + /** + * Searches the topics within the specified series and returns the search results. (topics.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param string q Search query. + * @opt_param string start-index Index of the first result to be retrieved. + * @opt_param string mode + * @return Google_TopicList + */ + public function listTopics($seriesId, $optParams = array()) { + $params = array('seriesId' => $seriesId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TopicList($data); + } else { + return $data; + } + } + /** + * Updates the specified topic within the specified series. (topics.update) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $topicId The decimal ID of the Topic within the Series. + * @param Google_Topic $postBody + * @param array $optParams Optional parameters. + * @return Google_Topic + */ + public function update($seriesId, $topicId, Google_Topic $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'topicId' => $topicId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Topic($data); + } else { + return $data; + } + } + /** + * Returns the specified topic from the specified series. (topics.get) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $topicId The decimal ID of the Topic within the Series. + * @param array $optParams Optional parameters. + * @return Google_Topic + */ + public function get($seriesId, $topicId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'topicId' => $topicId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Topic($data); + } else { + return $data; + } + } + } + + /** + * The "submissions" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $submissions = $moderatorService->submissions; + * + */ + class Google_TopicsSubmissionsServiceResource extends Google_ServiceResource { + + + /** + * Searches the submissions for the specified topic within the specified series and returns the + * search results. (submissions.list) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $topicId The decimal ID of the Topic within the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param bool includeVotes Specifies whether to include the current user's vote + * @opt_param string start-index Index of the first result to be retrieved. + * @opt_param string author Restricts the results to submissions by a specific author. + * @opt_param string sort Sort order. + * @opt_param string q Search query. + * @opt_param bool hasAttachedVideo Specifies whether to restrict to submissions that have videos attached. + * @return Google_SubmissionList + */ + public function listTopicsSubmissions($seriesId, $topicId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'topicId' => $topicId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SubmissionList($data); + } else { + return $data; + } + } + } + + /** + * The "global" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $global = $moderatorService->global; + * + */ + class Google_ModeratorGlobalServiceResource extends Google_ServiceResource { + + + } + + /** + * The "series" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $series = $moderatorService->series; + * + */ + class Google_ModeratorGlobalSeriesServiceResource extends Google_ServiceResource { + + + /** + * Searches the public series and returns the search results. (series.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string max-results Maximum number of results to return. + * @opt_param string q Search query. + * @opt_param string start-index Index of the first result to be retrieved. + * @return Google_SeriesList + */ + public function listModeratorGlobalSeries($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SeriesList($data); + } else { + return $data; + } + } + } + + /** + * The "profiles" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $profiles = $moderatorService->profiles; + * + */ + class Google_ProfilesServiceResource extends Google_ServiceResource { + + + /** + * Updates the profile information for the authenticated user. This method supports patch semantics. + * (profiles.patch) + * + * @param Google_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function patch(Google_Profile $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + /** + * Updates the profile information for the authenticated user. (profiles.update) + * + * @param Google_Profile $postBody + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function update(Google_Profile $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + /** + * Returns the profile information for the authenticated user. (profiles.get) + * + * @param array $optParams Optional parameters. + * @return Google_Profile + */ + public function get($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Profile($data); + } else { + return $data; + } + } + } + + /** + * The "featured" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $featured = $moderatorService->featured; + * + */ + class Google_FeaturedServiceResource extends Google_ServiceResource { + + + } + + /** + * The "series" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $series = $moderatorService->series; + * + */ + class Google_FeaturedSeriesServiceResource extends Google_ServiceResource { + + + /** + * Lists the featured series. (series.list) + * + * @param array $optParams Optional parameters. + * @return Google_SeriesList + */ + public function listFeaturedSeries($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SeriesList($data); + } else { + return $data; + } + } + } + + /** + * The "myrecent" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $myrecent = $moderatorService->myrecent; + * + */ + class Google_MyrecentServiceResource extends Google_ServiceResource { + + + } + + /** + * The "series" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $series = $moderatorService->series; + * + */ + class Google_MyrecentSeriesServiceResource extends Google_ServiceResource { + + + /** + * Lists the series the authenticated user has visited. (series.list) + * + * @param array $optParams Optional parameters. + * @return Google_SeriesList + */ + public function listMyrecentSeries($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SeriesList($data); + } else { + return $data; + } + } + } + + /** + * The "my" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $my = $moderatorService->my; + * + */ + class Google_MyServiceResource extends Google_ServiceResource { + + + } + + /** + * The "series" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $series = $moderatorService->series; + * + */ + class Google_MySeriesServiceResource extends Google_ServiceResource { + + + /** + * Lists all series created by the authenticated user. (series.list) + * + * @param array $optParams Optional parameters. + * @return Google_SeriesList + */ + public function listMySeries($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SeriesList($data); + } else { + return $data; + } + } + } + + /** + * The "submissions" collection of methods. + * Typical usage is: + * + * $moderatorService = new Google_ModeratorService(...); + * $submissions = $moderatorService->submissions; + * + */ + class Google_SubmissionsServiceResource extends Google_ServiceResource { + + + /** + * Inserts a new submission in the specified topic within the specified series. (submissions.insert) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $topicId The decimal ID of the Topic within the Series. + * @param Google_Submission $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string unauthToken User identifier for unauthenticated usage mode + * @opt_param bool anonymous Set to true to mark the new submission as anonymous. + * @return Google_Submission + */ + public function insert($seriesId, $topicId, Google_Submission $postBody, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'topicId' => $topicId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Submission($data); + } else { + return $data; + } + } + /** + * Returns the specified submission within the specified series. (submissions.get) + * + * @param string $seriesId The decimal ID of the Series. + * @param string $submissionId The decimal ID of the Submission within the Series. + * @param array $optParams Optional parameters. + * + * @opt_param string lang The language code for the language the client prefers results in. + * @opt_param bool includeVotes Specifies whether to include the current user's vote + * @return Google_Submission + */ + public function get($seriesId, $submissionId, $optParams = array()) { + $params = array('seriesId' => $seriesId, 'submissionId' => $submissionId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Submission($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Moderator (v1). + * + *

    + * Moderator API + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_ModeratorService extends Google_Service { + public $votes; + public $responses; + public $tags; + public $series; + public $series_submissions; + public $series_responses; + public $topics; + public $topics_submissions; + public $global_series; + public $profiles; + public $featured_series; + public $myrecent_series; + public $my_series; + public $submissions; + /** + * Constructs the internal representation of the Moderator service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'moderator/v1/'; + $this->version = 'v1'; + $this->serviceName = 'moderator'; + + $client->addService($this->serviceName, $this->version); + $this->votes = new Google_VotesServiceResource($this, $this->serviceName, 'votes', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "unauthToken": {"type": "string", "location": "query"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Vote"}, "response": {"$ref": "Vote"}, "httpMethod": "POST", "path": "series/{seriesId}/submissions/{submissionId}/votes/@me", "id": "moderator.votes.insert"}, "patch": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "userId": {"type": "string", "location": "query"}, "unauthToken": {"type": "string", "location": "query"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Vote"}, "response": {"$ref": "Vote"}, "httpMethod": "PATCH", "path": "series/{seriesId}/submissions/{submissionId}/votes/@me", "id": "moderator.votes.patch"}, "list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}}, "id": "moderator.votes.list", "httpMethod": "GET", "path": "series/{seriesId}/votes/@me", "response": {"$ref": "VoteList"}}, "update": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "userId": {"type": "string", "location": "query"}, "unauthToken": {"type": "string", "location": "query"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Vote"}, "response": {"$ref": "Vote"}, "httpMethod": "PUT", "path": "series/{seriesId}/submissions/{submissionId}/votes/@me", "id": "moderator.votes.update"}, "get": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "userId": {"type": "string", "location": "query"}, "unauthToken": {"type": "string", "location": "query"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "id": "moderator.votes.get", "httpMethod": "GET", "path": "series/{seriesId}/submissions/{submissionId}/votes/@me", "response": {"$ref": "Vote"}}}}', true)); + $this->responses = new Google_ResponsesServiceResource($this, $this->serviceName, 'responses', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "parentSubmissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "unauthToken": {"type": "string", "location": "query"}, "anonymous": {"type": "boolean", "location": "query"}, "topicId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Submission"}, "response": {"$ref": "Submission"}, "httpMethod": "POST", "path": "series/{seriesId}/topics/{topicId}/submissions/{parentSubmissionId}/responses", "id": "moderator.responses.insert"}, "list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "sort": {"type": "string", "location": "query"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "author": {"type": "string", "location": "query"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "q": {"type": "string", "location": "query"}, "hasAttachedVideo": {"type": "boolean", "location": "query"}}, "id": "moderator.responses.list", "httpMethod": "GET", "path": "series/{seriesId}/submissions/{submissionId}/responses", "response": {"$ref": "SubmissionList"}}}}', true)); + $this->tags = new Google_TagsServiceResource($this, $this->serviceName, 'tags', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Tag"}, "response": {"$ref": "Tag"}, "httpMethod": "POST", "path": "series/{seriesId}/submissions/{submissionId}/tags", "id": "moderator.tags.insert"}, "list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "id": "moderator.tags.list", "httpMethod": "GET", "path": "series/{seriesId}/submissions/{submissionId}/tags", "response": {"$ref": "TagList"}}, "delete": {"scopes": ["https://www.googleapis.com/auth/moderator"], "path": "series/{seriesId}/submissions/{submissionId}/tags/{tagId}", "id": "moderator.tags.delete", "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "tagId": {"required": true, "type": "string", "location": "path"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "httpMethod": "DELETE"}}}', true)); + $this->series = new Google_SeriesServiceResource($this, $this->serviceName, 'series', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/moderator"], "request": {"$ref": "Series"}, "response": {"$ref": "Series"}, "httpMethod": "POST", "path": "series", "id": "moderator.series.insert"}, "patch": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Series"}, "response": {"$ref": "Series"}, "httpMethod": "PATCH", "path": "series/{seriesId}", "id": "moderator.series.patch"}, "list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "q": {"type": "string", "location": "query"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}}, "response": {"$ref": "SeriesList"}, "httpMethod": "GET", "path": "series", "id": "moderator.series.list"}, "update": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Series"}, "response": {"$ref": "Series"}, "httpMethod": "PUT", "path": "series/{seriesId}", "id": "moderator.series.update"}, "get": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "id": "moderator.series.get", "httpMethod": "GET", "path": "series/{seriesId}", "response": {"$ref": "Series"}}}}', true)); + $this->series_submissions = new Google_SeriesSubmissionsServiceResource($this, $this->serviceName, 'submissions', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"lang": {"type": "string", "location": "query"}, "max-results": {"type": "integer", "location": "query", "format": "uint32"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "includeVotes": {"type": "boolean", "location": "query"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}, "author": {"type": "string", "location": "query"}, "sort": {"type": "string", "location": "query"}, "q": {"type": "string", "location": "query"}, "hasAttachedVideo": {"type": "boolean", "location": "query"}}, "id": "moderator.series.submissions.list", "httpMethod": "GET", "path": "series/{seriesId}/submissions", "response": {"$ref": "SubmissionList"}}}}', true)); + $this->series_responses = new Google_SeriesResponsesServiceResource($this, $this->serviceName, 'responses', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "sort": {"type": "string", "location": "query"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "author": {"type": "string", "location": "query"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}, "q": {"type": "string", "location": "query"}, "hasAttachedVideo": {"type": "boolean", "location": "query"}}, "id": "moderator.series.responses.list", "httpMethod": "GET", "path": "series/{seriesId}/responses", "response": {"$ref": "SeriesList"}}}}', true)); + $this->topics = new Google_TopicsServiceResource($this, $this->serviceName, 'topics', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Topic"}, "response": {"$ref": "Topic"}, "httpMethod": "POST", "path": "series/{seriesId}/topics", "id": "moderator.topics.insert"}, "list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "q": {"type": "string", "location": "query"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}, "mode": {"type": "string", "location": "query"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "id": "moderator.topics.list", "httpMethod": "GET", "path": "series/{seriesId}/topics", "response": {"$ref": "TopicList"}}, "update": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "topicId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "request": {"$ref": "Topic"}, "response": {"$ref": "Topic"}, "httpMethod": "PUT", "path": "series/{seriesId}/topics/{topicId}", "id": "moderator.topics.update"}, "get": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "topicId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}}, "id": "moderator.topics.get", "httpMethod": "GET", "path": "series/{seriesId}/topics/{topicId}", "response": {"$ref": "Topic"}}}}', true)); + $this->topics_submissions = new Google_TopicsSubmissionsServiceResource($this, $this->serviceName, 'submissions', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "includeVotes": {"type": "boolean", "location": "query"}, "topicId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}, "author": {"type": "string", "location": "query"}, "sort": {"type": "string", "location": "query"}, "q": {"type": "string", "location": "query"}, "hasAttachedVideo": {"type": "boolean", "location": "query"}}, "id": "moderator.topics.submissions.list", "httpMethod": "GET", "path": "series/{seriesId}/topics/{topicId}/submissions", "response": {"$ref": "SubmissionList"}}}}', true)); + $this->global_series = new Google_ModeratorGlobalSeriesServiceResource($this, $this->serviceName, 'series', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"max-results": {"type": "integer", "location": "query", "format": "uint32"}, "q": {"type": "string", "location": "query"}, "start-index": {"type": "integer", "location": "query", "format": "uint32"}}, "response": {"$ref": "SeriesList"}, "httpMethod": "GET", "path": "search", "id": "moderator.global.series.list"}}}', true)); + $this->profiles = new Google_ProfilesServiceResource($this, $this->serviceName, 'profiles', json_decode('{"methods": {"patch": {"scopes": ["https://www.googleapis.com/auth/moderator"], "request": {"$ref": "Profile"}, "response": {"$ref": "Profile"}, "httpMethod": "PATCH", "path": "profiles/@me", "id": "moderator.profiles.patch"}, "update": {"scopes": ["https://www.googleapis.com/auth/moderator"], "request": {"$ref": "Profile"}, "response": {"$ref": "Profile"}, "httpMethod": "PUT", "path": "profiles/@me", "id": "moderator.profiles.update"}, "get": {"scopes": ["https://www.googleapis.com/auth/moderator"], "path": "profiles/@me", "response": {"$ref": "Profile"}, "id": "moderator.profiles.get", "httpMethod": "GET"}}}', true)); + $this->featured_series = new Google_FeaturedSeriesServiceResource($this, $this->serviceName, 'series', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "path": "series/featured", "response": {"$ref": "SeriesList"}, "id": "moderator.featured.series.list", "httpMethod": "GET"}}}', true)); + $this->myrecent_series = new Google_MyrecentSeriesServiceResource($this, $this->serviceName, 'series', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "path": "series/@me/recent", "response": {"$ref": "SeriesList"}, "id": "moderator.myrecent.series.list", "httpMethod": "GET"}}}', true)); + $this->my_series = new Google_MySeriesServiceResource($this, $this->serviceName, 'series', json_decode('{"methods": {"list": {"scopes": ["https://www.googleapis.com/auth/moderator"], "path": "series/@me/mine", "response": {"$ref": "SeriesList"}, "id": "moderator.my.series.list", "httpMethod": "GET"}}}', true)); + $this->submissions = new Google_SubmissionsServiceResource($this, $this->serviceName, 'submissions', json_decode('{"methods": {"insert": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "topicId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "unauthToken": {"type": "string", "location": "query"}, "anonymous": {"type": "boolean", "location": "query"}}, "request": {"$ref": "Submission"}, "response": {"$ref": "Submission"}, "httpMethod": "POST", "path": "series/{seriesId}/topics/{topicId}/submissions", "id": "moderator.submissions.insert"}, "get": {"scopes": ["https://www.googleapis.com/auth/moderator"], "parameters": {"lang": {"type": "string", "location": "query"}, "seriesId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "submissionId": {"required": true, "type": "integer", "location": "path", "format": "uint32"}, "includeVotes": {"type": "boolean", "location": "query"}}, "id": "moderator.submissions.get", "httpMethod": "GET", "path": "series/{seriesId}/submissions/{submissionId}", "response": {"$ref": "Submission"}}}}', true)); + + } +} + +class Google_ModeratorTopicsResourcePartial extends Google_Model { + protected $__idType = 'Google_ModeratorTopicsResourcePartialId'; + protected $__idDataType = ''; + public $id; + public function setId(Google_ModeratorTopicsResourcePartialId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_ModeratorTopicsResourcePartialId extends Google_Model { + public $seriesId; + public $topicId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } + public function setTopicId($topicId) { + $this->topicId = $topicId; + } + public function getTopicId() { + return $this->topicId; + } +} + +class Google_ModeratorVotesResourcePartial extends Google_Model { + public $vote; + public $flag; + public function setVote($vote) { + $this->vote = $vote; + } + public function getVote() { + return $this->vote; + } + public function setFlag($flag) { + $this->flag = $flag; + } + public function getFlag() { + return $this->flag; + } +} + +class Google_Profile extends Google_Model { + public $kind; + protected $__attributionType = 'Google_ProfileAttribution'; + protected $__attributionDataType = ''; + public $attribution; + protected $__idType = 'Google_ProfileId'; + protected $__idDataType = ''; + public $id; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setAttribution(Google_ProfileAttribution $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setId(Google_ProfileId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_ProfileAttribution extends Google_Model { + protected $__geoType = 'Google_ProfileAttributionGeo'; + protected $__geoDataType = ''; + public $geo; + public $displayName; + public $location; + public $avatarUrl; + public function setGeo(Google_ProfileAttributionGeo $geo) { + $this->geo = $geo; + } + public function getGeo() { + return $this->geo; + } + public function setDisplayName($displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setLocation($location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setAvatarUrl($avatarUrl) { + $this->avatarUrl = $avatarUrl; + } + public function getAvatarUrl() { + return $this->avatarUrl; + } +} + +class Google_ProfileAttributionGeo extends Google_Model { + public $latitude; + public $location; + public $longitude; + public function setLatitude($latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLocation($location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setLongitude($longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_ProfileId extends Google_Model { + public $user; + public function setUser($user) { + $this->user = $user; + } + public function getUser() { + return $this->user; + } +} + +class Google_Series extends Google_Model { + public $kind; + public $description; + protected $__rulesType = 'Google_SeriesRules'; + protected $__rulesDataType = ''; + public $rules; + public $unauthVotingAllowed; + public $videoSubmissionAllowed; + public $name; + public $numTopics; + public $anonymousSubmissionAllowed; + public $unauthSubmissionAllowed; + protected $__idType = 'Google_SeriesId'; + protected $__idDataType = ''; + public $id; + protected $__countersType = 'Google_SeriesCounters'; + protected $__countersDataType = ''; + public $counters; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setRules(Google_SeriesRules $rules) { + $this->rules = $rules; + } + public function getRules() { + return $this->rules; + } + public function setUnauthVotingAllowed($unauthVotingAllowed) { + $this->unauthVotingAllowed = $unauthVotingAllowed; + } + public function getUnauthVotingAllowed() { + return $this->unauthVotingAllowed; + } + public function setVideoSubmissionAllowed($videoSubmissionAllowed) { + $this->videoSubmissionAllowed = $videoSubmissionAllowed; + } + public function getVideoSubmissionAllowed() { + return $this->videoSubmissionAllowed; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNumTopics($numTopics) { + $this->numTopics = $numTopics; + } + public function getNumTopics() { + return $this->numTopics; + } + public function setAnonymousSubmissionAllowed($anonymousSubmissionAllowed) { + $this->anonymousSubmissionAllowed = $anonymousSubmissionAllowed; + } + public function getAnonymousSubmissionAllowed() { + return $this->anonymousSubmissionAllowed; + } + public function setUnauthSubmissionAllowed($unauthSubmissionAllowed) { + $this->unauthSubmissionAllowed = $unauthSubmissionAllowed; + } + public function getUnauthSubmissionAllowed() { + return $this->unauthSubmissionAllowed; + } + public function setId(Google_SeriesId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setCounters(Google_SeriesCounters $counters) { + $this->counters = $counters; + } + public function getCounters() { + return $this->counters; + } +} + +class Google_SeriesCounters extends Google_Model { + public $users; + public $noneVotes; + public $videoSubmissions; + public $minusVotes; + public $anonymousSubmissions; + public $submissions; + public $plusVotes; + public function setUsers($users) { + $this->users = $users; + } + public function getUsers() { + return $this->users; + } + public function setNoneVotes($noneVotes) { + $this->noneVotes = $noneVotes; + } + public function getNoneVotes() { + return $this->noneVotes; + } + public function setVideoSubmissions($videoSubmissions) { + $this->videoSubmissions = $videoSubmissions; + } + public function getVideoSubmissions() { + return $this->videoSubmissions; + } + public function setMinusVotes($minusVotes) { + $this->minusVotes = $minusVotes; + } + public function getMinusVotes() { + return $this->minusVotes; + } + public function setAnonymousSubmissions($anonymousSubmissions) { + $this->anonymousSubmissions = $anonymousSubmissions; + } + public function getAnonymousSubmissions() { + return $this->anonymousSubmissions; + } + public function setSubmissions($submissions) { + $this->submissions = $submissions; + } + public function getSubmissions() { + return $this->submissions; + } + public function setPlusVotes($plusVotes) { + $this->plusVotes = $plusVotes; + } + public function getPlusVotes() { + return $this->plusVotes; + } +} + +class Google_SeriesId extends Google_Model { + public $seriesId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } +} + +class Google_SeriesList extends Google_Model { + protected $__itemsType = 'Google_Series'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Series) */ $items) { + $this->assertIsArray($items, 'Google_Series', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_SeriesRules extends Google_Model { + protected $__votesType = 'Google_SeriesRulesVotes'; + protected $__votesDataType = ''; + public $votes; + protected $__submissionsType = 'Google_SeriesRulesSubmissions'; + protected $__submissionsDataType = ''; + public $submissions; + public function setVotes(Google_SeriesRulesVotes $votes) { + $this->votes = $votes; + } + public function getVotes() { + return $this->votes; + } + public function setSubmissions(Google_SeriesRulesSubmissions $submissions) { + $this->submissions = $submissions; + } + public function getSubmissions() { + return $this->submissions; + } +} + +class Google_SeriesRulesSubmissions extends Google_Model { + public $close; + public $open; + public function setClose($close) { + $this->close = $close; + } + public function getClose() { + return $this->close; + } + public function setOpen($open) { + $this->open = $open; + } + public function getOpen() { + return $this->open; + } +} + +class Google_SeriesRulesVotes extends Google_Model { + public $close; + public $open; + public function setClose($close) { + $this->close = $close; + } + public function getClose() { + return $this->close; + } + public function setOpen($open) { + $this->open = $open; + } + public function getOpen() { + return $this->open; + } +} + +class Google_Submission extends Google_Model { + public $kind; + protected $__attributionType = 'Google_SubmissionAttribution'; + protected $__attributionDataType = ''; + public $attribution; + public $created; + public $text; + protected $__topicsType = 'Google_ModeratorTopicsResourcePartial'; + protected $__topicsDataType = 'array'; + public $topics; + public $author; + protected $__translationsType = 'Google_SubmissionTranslations'; + protected $__translationsDataType = 'array'; + public $translations; + protected $__parentSubmissionIdType = 'Google_SubmissionParentSubmissionId'; + protected $__parentSubmissionIdDataType = ''; + public $parentSubmissionId; + protected $__voteType = 'Google_ModeratorVotesResourcePartial'; + protected $__voteDataType = ''; + public $vote; + public $attachmentUrl; + protected $__geoType = 'Google_SubmissionGeo'; + protected $__geoDataType = ''; + public $geo; + protected $__idType = 'Google_SubmissionId'; + protected $__idDataType = ''; + public $id; + protected $__countersType = 'Google_SubmissionCounters'; + protected $__countersDataType = ''; + public $counters; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setAttribution(Google_SubmissionAttribution $attribution) { + $this->attribution = $attribution; + } + public function getAttribution() { + return $this->attribution; + } + public function setCreated($created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setText($text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setTopics(/* array(Google_ModeratorTopicsResourcePartial) */ $topics) { + $this->assertIsArray($topics, 'Google_ModeratorTopicsResourcePartial', __METHOD__); + $this->topics = $topics; + } + public function getTopics() { + return $this->topics; + } + public function setAuthor($author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setTranslations(/* array(Google_SubmissionTranslations) */ $translations) { + $this->assertIsArray($translations, 'Google_SubmissionTranslations', __METHOD__); + $this->translations = $translations; + } + public function getTranslations() { + return $this->translations; + } + public function setParentSubmissionId(Google_SubmissionParentSubmissionId $parentSubmissionId) { + $this->parentSubmissionId = $parentSubmissionId; + } + public function getParentSubmissionId() { + return $this->parentSubmissionId; + } + public function setVote(Google_ModeratorVotesResourcePartial $vote) { + $this->vote = $vote; + } + public function getVote() { + return $this->vote; + } + public function setAttachmentUrl($attachmentUrl) { + $this->attachmentUrl = $attachmentUrl; + } + public function getAttachmentUrl() { + return $this->attachmentUrl; + } + public function setGeo(Google_SubmissionGeo $geo) { + $this->geo = $geo; + } + public function getGeo() { + return $this->geo; + } + public function setId(Google_SubmissionId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setCounters(Google_SubmissionCounters $counters) { + $this->counters = $counters; + } + public function getCounters() { + return $this->counters; + } +} + +class Google_SubmissionAttribution extends Google_Model { + public $displayName; + public $location; + public $avatarUrl; + public function setDisplayName($displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setLocation($location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setAvatarUrl($avatarUrl) { + $this->avatarUrl = $avatarUrl; + } + public function getAvatarUrl() { + return $this->avatarUrl; + } +} + +class Google_SubmissionCounters extends Google_Model { + public $noneVotes; + public $minusVotes; + public $plusVotes; + public function setNoneVotes($noneVotes) { + $this->noneVotes = $noneVotes; + } + public function getNoneVotes() { + return $this->noneVotes; + } + public function setMinusVotes($minusVotes) { + $this->minusVotes = $minusVotes; + } + public function getMinusVotes() { + return $this->minusVotes; + } + public function setPlusVotes($plusVotes) { + $this->plusVotes = $plusVotes; + } + public function getPlusVotes() { + return $this->plusVotes; + } +} + +class Google_SubmissionGeo extends Google_Model { + public $latitude; + public $location; + public $longitude; + public function setLatitude($latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLocation($location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setLongitude($longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_SubmissionId extends Google_Model { + public $seriesId; + public $submissionId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } + public function setSubmissionId($submissionId) { + $this->submissionId = $submissionId; + } + public function getSubmissionId() { + return $this->submissionId; + } +} + +class Google_SubmissionList extends Google_Model { + protected $__itemsType = 'Google_Submission'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Submission) */ $items) { + $this->assertIsArray($items, 'Google_Submission', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_SubmissionParentSubmissionId extends Google_Model { + public $seriesId; + public $submissionId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } + public function setSubmissionId($submissionId) { + $this->submissionId = $submissionId; + } + public function getSubmissionId() { + return $this->submissionId; + } +} + +class Google_SubmissionTranslations extends Google_Model { + public $lang; + public $text; + public function setLang($lang) { + $this->lang = $lang; + } + public function getLang() { + return $this->lang; + } + public function setText($text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_Tag extends Google_Model { + public $text; + public $kind; + protected $__idType = 'Google_TagId'; + protected $__idDataType = ''; + public $id; + public function setText($text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setId(Google_TagId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_TagId extends Google_Model { + public $seriesId; + public $tagId; + public $submissionId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } + public function setTagId($tagId) { + $this->tagId = $tagId; + } + public function getTagId() { + return $this->tagId; + } + public function setSubmissionId($submissionId) { + $this->submissionId = $submissionId; + } + public function getSubmissionId() { + return $this->submissionId; + } +} + +class Google_TagList extends Google_Model { + protected $__itemsType = 'Google_Tag'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Tag) */ $items) { + $this->assertIsArray($items, 'Google_Tag', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Topic extends Google_Model { + public $kind; + public $description; + protected $__rulesType = 'Google_TopicRules'; + protected $__rulesDataType = ''; + public $rules; + protected $__featuredSubmissionType = 'Google_Submission'; + protected $__featuredSubmissionDataType = ''; + public $featuredSubmission; + public $presenter; + protected $__countersType = 'Google_TopicCounters'; + protected $__countersDataType = ''; + public $counters; + protected $__idType = 'Google_TopicId'; + protected $__idDataType = ''; + public $id; + public $name; + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setRules(Google_TopicRules $rules) { + $this->rules = $rules; + } + public function getRules() { + return $this->rules; + } + public function setFeaturedSubmission(Google_Submission $featuredSubmission) { + $this->featuredSubmission = $featuredSubmission; + } + public function getFeaturedSubmission() { + return $this->featuredSubmission; + } + public function setPresenter($presenter) { + $this->presenter = $presenter; + } + public function getPresenter() { + return $this->presenter; + } + public function setCounters(Google_TopicCounters $counters) { + $this->counters = $counters; + } + public function getCounters() { + return $this->counters; + } + public function setId(Google_TopicId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_TopicCounters extends Google_Model { + public $users; + public $noneVotes; + public $videoSubmissions; + public $minusVotes; + public $submissions; + public $plusVotes; + public function setUsers($users) { + $this->users = $users; + } + public function getUsers() { + return $this->users; + } + public function setNoneVotes($noneVotes) { + $this->noneVotes = $noneVotes; + } + public function getNoneVotes() { + return $this->noneVotes; + } + public function setVideoSubmissions($videoSubmissions) { + $this->videoSubmissions = $videoSubmissions; + } + public function getVideoSubmissions() { + return $this->videoSubmissions; + } + public function setMinusVotes($minusVotes) { + $this->minusVotes = $minusVotes; + } + public function getMinusVotes() { + return $this->minusVotes; + } + public function setSubmissions($submissions) { + $this->submissions = $submissions; + } + public function getSubmissions() { + return $this->submissions; + } + public function setPlusVotes($plusVotes) { + $this->plusVotes = $plusVotes; + } + public function getPlusVotes() { + return $this->plusVotes; + } +} + +class Google_TopicId extends Google_Model { + public $seriesId; + public $topicId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } + public function setTopicId($topicId) { + $this->topicId = $topicId; + } + public function getTopicId() { + return $this->topicId; + } +} + +class Google_TopicList extends Google_Model { + protected $__itemsType = 'Google_Topic'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Topic) */ $items) { + $this->assertIsArray($items, 'Google_Topic', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_TopicRules extends Google_Model { + protected $__votesType = 'Google_TopicRulesVotes'; + protected $__votesDataType = ''; + public $votes; + protected $__submissionsType = 'Google_TopicRulesSubmissions'; + protected $__submissionsDataType = ''; + public $submissions; + public function setVotes(Google_TopicRulesVotes $votes) { + $this->votes = $votes; + } + public function getVotes() { + return $this->votes; + } + public function setSubmissions(Google_TopicRulesSubmissions $submissions) { + $this->submissions = $submissions; + } + public function getSubmissions() { + return $this->submissions; + } +} + +class Google_TopicRulesSubmissions extends Google_Model { + public $close; + public $open; + public function setClose($close) { + $this->close = $close; + } + public function getClose() { + return $this->close; + } + public function setOpen($open) { + $this->open = $open; + } + public function getOpen() { + return $this->open; + } +} + +class Google_TopicRulesVotes extends Google_Model { + public $close; + public $open; + public function setClose($close) { + $this->close = $close; + } + public function getClose() { + return $this->close; + } + public function setOpen($open) { + $this->open = $open; + } + public function getOpen() { + return $this->open; + } +} + +class Google_Vote extends Google_Model { + public $vote; + public $flag; + protected $__idType = 'Google_VoteId'; + protected $__idDataType = ''; + public $id; + public $kind; + public function setVote($vote) { + $this->vote = $vote; + } + public function getVote() { + return $this->vote; + } + public function setFlag($flag) { + $this->flag = $flag; + } + public function getFlag() { + return $this->flag; + } + public function setId(Google_VoteId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_VoteId extends Google_Model { + public $seriesId; + public $submissionId; + public function setSeriesId($seriesId) { + $this->seriesId = $seriesId; + } + public function getSeriesId() { + return $this->seriesId; + } + public function setSubmissionId($submissionId) { + $this->submissionId = $submissionId; + } + public function getSubmissionId() { + return $this->submissionId; + } +} + +class Google_VoteList extends Google_Model { + protected $__itemsType = 'Google_Vote'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Vote) */ $items) { + $this->assertIsArray($items, 'Google_Vote', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_Oauth2Service.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_Oauth2Service.php new file mode 100644 index 0000000..28fbc6d --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_Oauth2Service.php @@ -0,0 +1,272 @@ + + * $oauth2Service = new Google_Oauth2Service(...); + * $userinfo = $oauth2Service->userinfo; + * + */ + class Google_UserinfoServiceResource extends Google_ServiceResource { + + /** + * (userinfo.get) + * + * @param array $optParams Optional parameters. + * @return Google_Userinfo + */ + public function get($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Userinfo($data); + } else { + return $data; + } + } + } + + /** + * The "v2" collection of methods. + * Typical usage is: + * + * $oauth2Service = new Google_Oauth2Service(...); + * $v2 = $oauth2Service->v2; + * + */ + class Google_UserinfoV2ServiceResource extends Google_ServiceResource { + + } + + /** + * The "me" collection of methods. + * Typical usage is: + * + * $oauth2Service = new Google_Oauth2Service(...); + * $me = $oauth2Service->me; + * + */ + class Google_UserinfoV2MeServiceResource extends Google_ServiceResource { + + /** + * (me.get) + * + * @param array $optParams Optional parameters. + * @return Google_Userinfo + */ + public function get($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Userinfo($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Oauth2 (v2). + * + *

    + * Lets you access OAuth2 protocol related APIs. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_Oauth2Service extends Google_Service { + public $userinfo; + public $userinfo_v2_me; + /** + * Constructs the internal representation of the Oauth2 service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = ''; + $this->version = 'v2'; + $this->serviceName = 'oauth2'; + + $client->addService($this->serviceName, $this->version); + $this->userinfo = new Google_UserinfoServiceResource($this, $this->serviceName, 'userinfo', json_decode('{"methods": {"get": {"id": "oauth2.userinfo.get", "path": "oauth2/v2/userinfo", "httpMethod": "GET", "response": {"$ref": "Userinfo"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile"]}}}', true)); + $this->userinfo_v2_me = new Google_UserinfoV2MeServiceResource($this, $this->serviceName, 'me', json_decode('{"methods": {"get": {"id": "oauth2.userinfo.v2.me.get", "path": "userinfo/v2/me", "httpMethod": "GET", "response": {"$ref": "Userinfo"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me", "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile"]}}}', true)); + + } +} + + + +class Google_Tokeninfo extends Google_Model { + public $access_type; + public $audience; + public $email; + public $expires_in; + public $issued_to; + public $scope; + public $user_id; + public $verified_email; + public function setAccess_type( $access_type) { + $this->access_type = $access_type; + } + public function getAccess_type() { + return $this->access_type; + } + public function setAudience( $audience) { + $this->audience = $audience; + } + public function getAudience() { + return $this->audience; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setExpires_in( $expires_in) { + $this->expires_in = $expires_in; + } + public function getExpires_in() { + return $this->expires_in; + } + public function setIssued_to( $issued_to) { + $this->issued_to = $issued_to; + } + public function getIssued_to() { + return $this->issued_to; + } + public function setScope( $scope) { + $this->scope = $scope; + } + public function getScope() { + return $this->scope; + } + public function setUser_id( $user_id) { + $this->user_id = $user_id; + } + public function getUser_id() { + return $this->user_id; + } + public function setVerified_email( $verified_email) { + $this->verified_email = $verified_email; + } + public function getVerified_email() { + return $this->verified_email; + } +} + +class Google_Userinfo extends Google_Model { + public $birthday; + public $email; + public $family_name; + public $gender; + public $given_name; + public $hd; + public $id; + public $link; + public $locale; + public $name; + public $picture; + public $timezone; + public $verified_email; + public function setBirthday( $birthday) { + $this->birthday = $birthday; + } + public function getBirthday() { + return $this->birthday; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setFamily_name( $family_name) { + $this->family_name = $family_name; + } + public function getFamily_name() { + return $this->family_name; + } + public function setGender( $gender) { + $this->gender = $gender; + } + public function getGender() { + return $this->gender; + } + public function setGiven_name( $given_name) { + $this->given_name = $given_name; + } + public function getGiven_name() { + return $this->given_name; + } + public function setHd( $hd) { + $this->hd = $hd; + } + public function getHd() { + return $this->hd; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setLocale( $locale) { + $this->locale = $locale; + } + public function getLocale() { + return $this->locale; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPicture( $picture) { + $this->picture = $picture; + } + public function getPicture() { + return $this->picture; + } + public function setTimezone( $timezone) { + $this->timezone = $timezone; + } + public function getTimezone() { + return $this->timezone; + } + public function setVerified_email( $verified_email) { + $this->verified_email = $verified_email; + } + public function getVerified_email() { + return $this->verified_email; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_OrkutService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_OrkutService.php new file mode 100644 index 0000000..80c6fe0 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_OrkutService.php @@ -0,0 +1,2540 @@ + + * $orkutService = new Google_OrkutService(...); + * $acl = $orkutService->acl; + * + */ + class Google_AclServiceResource extends Google_ServiceResource { + + /** + * Excludes an element from the ACL of the activity. (acl.delete) + * + * @param string $activityId ID of the activity. + * @param string $userId ID of the user to be removed from the activity. + * @param array $optParams Optional parameters. + */ + public function delete($activityId, $userId, $optParams = array()) { + $params = array('activityId' => $activityId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + } + + /** + * The "activities" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $activities = $orkutService->activities; + * + */ + class Google_ActivitiesServiceResource extends Google_ServiceResource { + + /** + * Deletes an existing activity, if the access controls allow it. (activities.delete) + * + * @param string $activityId ID of the activity to remove. + * @param array $optParams Optional parameters. + */ + public function delete($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves a list of activities. (activities.list) + * + * @param string $userId The ID of the user whose activities will be listed. Can be me to refer to the viewer (i.e. the authenticated user). + * @param string $collection The collection of activities to list. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of activities to include in the response. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_ActivityList + */ + public function listActivities($userId, $collection, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ActivityList($data); + } else { + return $data; + } + } + } + + /** + * The "activityVisibility" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $activityVisibility = $orkutService->activityVisibility; + * + */ + class Google_ActivityVisibilityServiceResource extends Google_ServiceResource { + + /** + * Gets the visibility of an existing activity. (activityVisibility.get) + * + * @param string $activityId ID of the activity to get the visibility. + * @param array $optParams Optional parameters. + * @return Google_Visibility + */ + public function get($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Visibility($data); + } else { + return $data; + } + } + /** + * Updates the visibility of an existing activity. This method supports patch semantics. + * (activityVisibility.patch) + * + * @param string $activityId ID of the activity. + * @param Google_Visibility $postBody + * @param array $optParams Optional parameters. + * @return Google_Visibility + */ + public function patch($activityId, Google_Visibility $postBody, $optParams = array()) { + $params = array('activityId' => $activityId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Visibility($data); + } else { + return $data; + } + } + /** + * Updates the visibility of an existing activity. (activityVisibility.update) + * + * @param string $activityId ID of the activity. + * @param Google_Visibility $postBody + * @param array $optParams Optional parameters. + * @return Google_Visibility + */ + public function update($activityId, Google_Visibility $postBody, $optParams = array()) { + $params = array('activityId' => $activityId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Visibility($data); + } else { + return $data; + } + } + } + + /** + * The "badges" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $badges = $orkutService->badges; + * + */ + class Google_BadgesServiceResource extends Google_ServiceResource { + + /** + * Retrieves a badge from a user. (badges.get) + * + * @param string $userId The ID of the user whose badges will be listed. Can be me to refer to caller. + * @param string $badgeId The ID of the badge that will be retrieved. + * @param array $optParams Optional parameters. + * @return Google_Badge + */ + public function get($userId, $badgeId, $optParams = array()) { + $params = array('userId' => $userId, 'badgeId' => $badgeId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Badge($data); + } else { + return $data; + } + } + /** + * Retrieves the list of visible badges of a user. (badges.list) + * + * @param string $userId The id of the user whose badges will be listed. Can be me to refer to caller. + * @param array $optParams Optional parameters. + * @return Google_BadgeList + */ + public function listBadges($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_BadgeList($data); + } else { + return $data; + } + } + } + + /** + * The "comments" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $comments = $orkutService->comments; + * + */ + class Google_CommentsServiceResource extends Google_ServiceResource { + + /** + * Deletes an existing comment. (comments.delete) + * + * @param string $commentId ID of the comment to remove. + * @param array $optParams Optional parameters. + */ + public function delete($commentId, $optParams = array()) { + $params = array('commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves an existing comment. (comments.get) + * + * @param string $commentId ID of the comment to get. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @return Google_Comment + */ + public function get($commentId, $optParams = array()) { + $params = array('commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Inserts a new comment to an activity. (comments.insert) + * + * @param string $activityId The ID of the activity to contain the new comment. + * @param Google_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function insert($activityId, Google_Comment $postBody, $optParams = array()) { + $params = array('activityId' => $activityId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Retrieves a list of comments, possibly filtered. (comments.list) + * + * @param string $activityId The ID of the activity containing the comments. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of activities to include in the response. + * @opt_param string orderBy Sort search results. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_CommentList + */ + public function listComments($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommentList($data); + } else { + return $data; + } + } + } + + /** + * The "communities" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communities = $orkutService->communities; + * + */ + class Google_CommunitiesServiceResource extends Google_ServiceResource { + + /** + * Retrieves the basic information (aka. profile) of a community. (communities.get) + * + * @param int $communityId The ID of the community to get. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @return Google_Community + */ + public function get($communityId, $optParams = array()) { + $params = array('communityId' => $communityId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Community($data); + } else { + return $data; + } + } + /** + * Retrieves the list of communities the current user is a member of. (communities.list) + * + * @param string $userId The ID of the user whose communities will be listed. Can be me to refer to caller. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of communities to include in the response. + * @opt_param string orderBy How to order the communities by. + * @return Google_CommunityList + */ + public function listCommunities($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityList($data); + } else { + return $data; + } + } + } + + /** + * The "communityFollow" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityFollow = $orkutService->communityFollow; + * + */ + class Google_CommunityFollowServiceResource extends Google_ServiceResource { + + /** + * Removes a user from the followers of a community. (communityFollow.delete) + * + * @param int $communityId ID of the community. + * @param string $userId ID of the user. + * @param array $optParams Optional parameters. + */ + public function delete($communityId, $userId, $optParams = array()) { + $params = array('communityId' => $communityId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Adds a user as a follower of a community. (communityFollow.insert) + * + * @param int $communityId ID of the community. + * @param string $userId ID of the user. + * @param array $optParams Optional parameters. + * @return Google_CommunityMembers + */ + public function insert($communityId, $userId, $optParams = array()) { + $params = array('communityId' => $communityId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommunityMembers($data); + } else { + return $data; + } + } + } + + /** + * The "communityMembers" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityMembers = $orkutService->communityMembers; + * + */ + class Google_CommunityMembersServiceResource extends Google_ServiceResource { + + /** + * Makes the user leave a community. (communityMembers.delete) + * + * @param int $communityId ID of the community. + * @param string $userId ID of the user. + * @param array $optParams Optional parameters. + */ + public function delete($communityId, $userId, $optParams = array()) { + $params = array('communityId' => $communityId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves the relationship between a user and a community. (communityMembers.get) + * + * @param int $communityId ID of the community. + * @param string $userId ID of the user. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @return Google_CommunityMembers + */ + public function get($communityId, $userId, $optParams = array()) { + $params = array('communityId' => $communityId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_CommunityMembers($data); + } else { + return $data; + } + } + /** + * Makes the user join a community. (communityMembers.insert) + * + * @param int $communityId ID of the community. + * @param string $userId ID of the user. + * @param array $optParams Optional parameters. + * @return Google_CommunityMembers + */ + public function insert($communityId, $userId, $optParams = array()) { + $params = array('communityId' => $communityId, 'userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommunityMembers($data); + } else { + return $data; + } + } + /** + * Lists members of a community. Use the pagination tokens to retrieve the full list; do not rely on + * the member count available in the community profile information to know when to stop iterating, + * as that count may be approximate. (communityMembers.list) + * + * @param int $communityId The ID of the community whose members will be listed. + * @param array $optParams Optional parameters. + * + * @opt_param bool friendsOnly Whether to list only community members who are friends of the user. + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of members to include in the response. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_CommunityMembersList + */ + public function listCommunityMembers($communityId, $optParams = array()) { + $params = array('communityId' => $communityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityMembersList($data); + } else { + return $data; + } + } + } + + /** + * The "communityMessages" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityMessages = $orkutService->communityMessages; + * + */ + class Google_CommunityMessagesServiceResource extends Google_ServiceResource { + + /** + * Moves a message of the community to the trash folder. (communityMessages.delete) + * + * @param int $communityId The ID of the community whose message will be moved to the trash folder. + * @param string $topicId The ID of the topic whose message will be moved to the trash folder. + * @param string $messageId The ID of the message to be moved to the trash folder. + * @param array $optParams Optional parameters. + */ + public function delete($communityId, $topicId, $messageId, $optParams = array()) { + $params = array('communityId' => $communityId, 'topicId' => $topicId, 'messageId' => $messageId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Adds a message to a given community topic. (communityMessages.insert) + * + * @param int $communityId The ID of the community the message should be added to. + * @param string $topicId The ID of the topic the message should be added to. + * @param Google_CommunityMessage $postBody + * @param array $optParams Optional parameters. + * @return Google_CommunityMessage + */ + public function insert($communityId, $topicId, Google_CommunityMessage $postBody, $optParams = array()) { + $params = array('communityId' => $communityId, 'topicId' => $topicId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommunityMessage($data); + } else { + return $data; + } + } + /** + * Retrieves the messages of a topic of a community. (communityMessages.list) + * + * @param int $communityId The ID of the community which messages will be listed. + * @param string $topicId The ID of the topic which messages will be listed. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of messages to include in the response. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_CommunityMessageList + */ + public function listCommunityMessages($communityId, $topicId, $optParams = array()) { + $params = array('communityId' => $communityId, 'topicId' => $topicId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityMessageList($data); + } else { + return $data; + } + } + } + + /** + * The "communityPollComments" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityPollComments = $orkutService->communityPollComments; + * + */ + class Google_CommunityPollCommentsServiceResource extends Google_ServiceResource { + + /** + * Adds a comment on a community poll. (communityPollComments.insert) + * + * @param int $communityId The ID of the community whose poll is being commented. + * @param string $pollId The ID of the poll being commented. + * @param Google_CommunityPollComment $postBody + * @param array $optParams Optional parameters. + * @return Google_CommunityPollComment + */ + public function insert($communityId, $pollId, Google_CommunityPollComment $postBody, $optParams = array()) { + $params = array('communityId' => $communityId, 'pollId' => $pollId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommunityPollComment($data); + } else { + return $data; + } + } + /** + * Retrieves the comments of a community poll. (communityPollComments.list) + * + * @param int $communityId The ID of the community whose poll is having its comments listed. + * @param string $pollId The ID of the community whose polls will be listed. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of comments to include in the response. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_CommunityPollCommentList + */ + public function listCommunityPollComments($communityId, $pollId, $optParams = array()) { + $params = array('communityId' => $communityId, 'pollId' => $pollId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityPollCommentList($data); + } else { + return $data; + } + } + } + + /** + * The "communityPollVotes" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityPollVotes = $orkutService->communityPollVotes; + * + */ + class Google_CommunityPollVotesServiceResource extends Google_ServiceResource { + + /** + * Votes on a community poll. (communityPollVotes.insert) + * + * @param int $communityId The ID of the community whose poll is being voted. + * @param string $pollId The ID of the poll being voted. + * @param Google_CommunityPollVote $postBody + * @param array $optParams Optional parameters. + * @return Google_CommunityPollVote + */ + public function insert($communityId, $pollId, Google_CommunityPollVote $postBody, $optParams = array()) { + $params = array('communityId' => $communityId, 'pollId' => $pollId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommunityPollVote($data); + } else { + return $data; + } + } + } + + /** + * The "communityPolls" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityPolls = $orkutService->communityPolls; + * + */ + class Google_CommunityPollsServiceResource extends Google_ServiceResource { + + /** + * Retrieves one specific poll of a community. (communityPolls.get) + * + * @param int $communityId The ID of the community for whose poll will be retrieved. + * @param string $pollId The ID of the poll to get. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @return Google_CommunityPoll + */ + public function get($communityId, $pollId, $optParams = array()) { + $params = array('communityId' => $communityId, 'pollId' => $pollId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_CommunityPoll($data); + } else { + return $data; + } + } + /** + * Retrieves the polls of a community. (communityPolls.list) + * + * @param int $communityId The ID of the community which polls will be listed. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of polls to include in the response. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_CommunityPollList + */ + public function listCommunityPolls($communityId, $optParams = array()) { + $params = array('communityId' => $communityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityPollList($data); + } else { + return $data; + } + } + } + + /** + * The "communityRelated" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityRelated = $orkutService->communityRelated; + * + */ + class Google_CommunityRelatedServiceResource extends Google_ServiceResource { + + /** + * Retrieves the communities related to another one. (communityRelated.list) + * + * @param int $communityId The ID of the community whose related communities will be listed. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @return Google_CommunityList + */ + public function listCommunityRelated($communityId, $optParams = array()) { + $params = array('communityId' => $communityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityList($data); + } else { + return $data; + } + } + } + + /** + * The "communityTopics" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $communityTopics = $orkutService->communityTopics; + * + */ + class Google_CommunityTopicsServiceResource extends Google_ServiceResource { + + /** + * Moves a topic of the community to the trash folder. (communityTopics.delete) + * + * @param int $communityId The ID of the community whose topic will be moved to the trash folder. + * @param string $topicId The ID of the topic to be moved to the trash folder. + * @param array $optParams Optional parameters. + */ + public function delete($communityId, $topicId, $optParams = array()) { + $params = array('communityId' => $communityId, 'topicId' => $topicId); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves a topic of a community. (communityTopics.get) + * + * @param int $communityId The ID of the community whose topic will be retrieved. + * @param string $topicId The ID of the topic to get. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @return Google_CommunityTopic + */ + public function get($communityId, $topicId, $optParams = array()) { + $params = array('communityId' => $communityId, 'topicId' => $topicId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_CommunityTopic($data); + } else { + return $data; + } + } + /** + * Adds a topic to a given community. (communityTopics.insert) + * + * @param int $communityId The ID of the community the topic should be added to. + * @param Google_CommunityTopic $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool isShout Whether this topic is a shout. + * @return Google_CommunityTopic + */ + public function insert($communityId, Google_CommunityTopic $postBody, $optParams = array()) { + $params = array('communityId' => $communityId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_CommunityTopic($data); + } else { + return $data; + } + } + /** + * Retrieves the topics of a community. (communityTopics.list) + * + * @param int $communityId The ID of the community which topics will be listed. + * @param array $optParams Optional parameters. + * + * @opt_param string hl Specifies the interface language (host language) of your user interface. + * @opt_param string maxResults The maximum number of topics to include in the response. + * @opt_param string pageToken A continuation token that allows pagination. + * @return Google_CommunityTopicList + */ + public function listCommunityTopics($communityId, $optParams = array()) { + $params = array('communityId' => $communityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommunityTopicList($data); + } else { + return $data; + } + } + } + + /** + * The "counters" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $counters = $orkutService->counters; + * + */ + class Google_CountersServiceResource extends Google_ServiceResource { + + /** + * Retrieves the counters of a user. (counters.list) + * + * @param string $userId The ID of the user whose counters will be listed. Can be me to refer to caller. + * @param array $optParams Optional parameters. + * @return Google_Counters + */ + public function listCounters($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Counters($data); + } else { + return $data; + } + } + } + + /** + * The "scraps" collection of methods. + * Typical usage is: + * + * $orkutService = new Google_OrkutService(...); + * $scraps = $orkutService->scraps; + * + */ + class Google_ScrapsServiceResource extends Google_ServiceResource { + + /** + * Creates a new scrap. (scraps.insert) + * + * @param Google_Activity $postBody + * @param array $optParams Optional parameters. + * @return Google_Activity + */ + public function insert(Google_Activity $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Activity($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Orkut (v2). + * + *

    + * Lets you manage activities, comments and badges in Orkut. More stuff coming in time. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_OrkutService extends Google_Service { + public $acl; + public $activities; + public $activityVisibility; + public $badges; + public $comments; + public $communities; + public $communityFollow; + public $communityMembers; + public $communityMessages; + public $communityPollComments; + public $communityPollVotes; + public $communityPolls; + public $communityRelated; + public $communityTopics; + public $counters; + public $scraps; + /** + * Constructs the internal representation of the Orkut service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'orkut/v2/'; + $this->version = 'v2'; + $this->serviceName = 'orkut'; + + $client->addService($this->serviceName, $this->version); + $this->acl = new Google_AclServiceResource($this, $this->serviceName, 'acl', json_decode('{"methods": {"delete": {"id": "orkut.acl.delete", "path": "activities/{activityId}/acl/{userId}", "httpMethod": "DELETE", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}}}', true)); + $this->activities = new Google_ActivitiesServiceResource($this, $this->serviceName, 'activities', json_decode('{"methods": {"delete": {"id": "orkut.activities.delete", "path": "activities/{activityId}", "httpMethod": "DELETE", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "list": {"id": "orkut.activities.list", "path": "people/{userId}/activities/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["all", "scraps", "stream"], "location": "path"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ActivityList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->activityVisibility = new Google_ActivityVisibilityServiceResource($this, $this->serviceName, 'activityVisibility', json_decode('{"methods": {"get": {"id": "orkut.activityVisibility.get", "path": "activities/{activityId}/visibility", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Visibility"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "patch": {"id": "orkut.activityVisibility.patch", "path": "activities/{activityId}/visibility", "httpMethod": "PATCH", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Visibility"}, "response": {"$ref": "Visibility"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "update": {"id": "orkut.activityVisibility.update", "path": "activities/{activityId}/visibility", "httpMethod": "PUT", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Visibility"}, "response": {"$ref": "Visibility"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}}}', true)); + $this->badges = new Google_BadgesServiceResource($this, $this->serviceName, 'badges', json_decode('{"methods": {"get": {"id": "orkut.badges.get", "path": "people/{userId}/badges/{badgeId}", "httpMethod": "GET", "parameters": {"badgeId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Badge"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "list": {"id": "orkut.badges.list", "path": "people/{userId}/badges", "httpMethod": "GET", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BadgeList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->comments = new Google_CommentsServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods": {"delete": {"id": "orkut.comments.delete", "path": "comments/{commentId}", "httpMethod": "DELETE", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "get": {"id": "orkut.comments.get", "path": "comments/{commentId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}, "hl": {"type": "string", "location": "query"}}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "insert": {"id": "orkut.comments.insert", "path": "activities/{activityId}/comments", "httpMethod": "POST", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "list": {"id": "orkut.comments.list", "path": "activities/{activityId}/comments", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "location": "query"}, "orderBy": {"type": "string", "default": "DESCENDING_SORT", "enum": ["ascending", "descending"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CommentList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communities = new Google_CommunitiesServiceResource($this, $this->serviceName, 'communities', json_decode('{"methods": {"get": {"id": "orkut.communities.get", "path": "communities/{communityId}", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}}, "response": {"$ref": "Community"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "list": {"id": "orkut.communities.list", "path": "people/{userId}/communities", "httpMethod": "GET", "parameters": {"hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "location": "query"}, "orderBy": {"type": "string", "enum": ["id", "ranked"], "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommunityList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communityFollow = new Google_CommunityFollowServiceResource($this, $this->serviceName, 'communityFollow', json_decode('{"methods": {"delete": {"id": "orkut.communityFollow.delete", "path": "communities/{communityId}/followers/{userId}", "httpMethod": "DELETE", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "insert": {"id": "orkut.communityFollow.insert", "path": "communities/{communityId}/followers/{userId}", "httpMethod": "POST", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommunityMembers"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}}}', true)); + $this->communityMembers = new Google_CommunityMembersServiceResource($this, $this->serviceName, 'communityMembers', json_decode('{"methods": {"delete": {"id": "orkut.communityMembers.delete", "path": "communities/{communityId}/members/{userId}", "httpMethod": "DELETE", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "get": {"id": "orkut.communityMembers.get", "path": "communities/{communityId}/members/{userId}", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommunityMembers"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "insert": {"id": "orkut.communityMembers.insert", "path": "communities/{communityId}/members/{userId}", "httpMethod": "POST", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommunityMembers"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "list": {"id": "orkut.communityMembers.list", "path": "communities/{communityId}/members", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "friendsOnly": {"type": "boolean", "location": "query"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CommunityMembersList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communityMessages = new Google_CommunityMessagesServiceResource($this, $this->serviceName, 'communityMessages', json_decode('{"methods": {"delete": {"id": "orkut.communityMessages.delete", "path": "communities/{communityId}/topics/{topicId}/messages/{messageId}", "httpMethod": "DELETE", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "messageId": {"type": "string", "required": true, "format": "int64", "location": "path"}, "topicId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "insert": {"id": "orkut.communityMessages.insert", "path": "communities/{communityId}/topics/{topicId}/messages", "httpMethod": "POST", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "topicId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "request": {"$ref": "CommunityMessage"}, "response": {"$ref": "CommunityMessage"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "list": {"id": "orkut.communityMessages.list", "path": "communities/{communityId}/topics/{topicId}/messages", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "topicId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "CommunityMessageList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communityPollComments = new Google_CommunityPollCommentsServiceResource($this, $this->serviceName, 'communityPollComments', json_decode('{"methods": {"insert": {"id": "orkut.communityPollComments.insert", "path": "communities/{communityId}/polls/{pollId}/comments", "httpMethod": "POST", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "pollId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommunityPollComment"}, "response": {"$ref": "CommunityPollComment"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "list": {"id": "orkut.communityPollComments.list", "path": "communities/{communityId}/polls/{pollId}/comments", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "pollId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommunityPollCommentList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communityPollVotes = new Google_CommunityPollVotesServiceResource($this, $this->serviceName, 'communityPollVotes', json_decode('{"methods": {"insert": {"id": "orkut.communityPollVotes.insert", "path": "communities/{communityId}/polls/{pollId}/votes", "httpMethod": "POST", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "pollId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "CommunityPollVote"}, "response": {"$ref": "CommunityPollVote"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}}}', true)); + $this->communityPolls = new Google_CommunityPollsServiceResource($this, $this->serviceName, 'communityPolls', json_decode('{"methods": {"get": {"id": "orkut.communityPolls.get", "path": "communities/{communityId}/polls/{pollId}", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "pollId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CommunityPoll"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "list": {"id": "orkut.communityPolls.list", "path": "communities/{communityId}/polls", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CommunityPollList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communityRelated = new Google_CommunityRelatedServiceResource($this, $this->serviceName, 'communityRelated', json_decode('{"methods": {"list": {"id": "orkut.communityRelated.list", "path": "communities/{communityId}/related", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}}, "response": {"$ref": "CommunityList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->communityTopics = new Google_CommunityTopicsServiceResource($this, $this->serviceName, 'communityTopics', json_decode('{"methods": {"delete": {"id": "orkut.communityTopics.delete", "path": "communities/{communityId}/topics/{topicId}", "httpMethod": "DELETE", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "topicId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "get": {"id": "orkut.communityTopics.get", "path": "communities/{communityId}/topics/{topicId}", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "topicId": {"type": "string", "required": true, "format": "int64", "location": "path"}}, "response": {"$ref": "CommunityTopic"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}, "insert": {"id": "orkut.communityTopics.insert", "path": "communities/{communityId}/topics", "httpMethod": "POST", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "isShout": {"type": "boolean", "location": "query"}}, "request": {"$ref": "CommunityTopic"}, "response": {"$ref": "CommunityTopic"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}, "list": {"id": "orkut.communityTopics.list", "path": "communities/{communityId}/topics", "httpMethod": "GET", "parameters": {"communityId": {"type": "integer", "required": true, "format": "int32", "location": "path"}, "hl": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "CommunityTopicList"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->counters = new Google_CountersServiceResource($this, $this->serviceName, 'counters', json_decode('{"methods": {"list": {"id": "orkut.counters.list", "path": "people/{userId}/counters", "httpMethod": "GET", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Counters"}, "scopes": ["https://www.googleapis.com/auth/orkut", "https://www.googleapis.com/auth/orkut.readonly"]}}}', true)); + $this->scraps = new Google_ScrapsServiceResource($this, $this->serviceName, 'scraps', json_decode('{"methods": {"insert": {"id": "orkut.scraps.insert", "path": "activities/scraps", "httpMethod": "POST", "request": {"$ref": "Activity"}, "response": {"$ref": "Activity"}, "scopes": ["https://www.googleapis.com/auth/orkut"]}}}', true)); + + } +} + + + +class Google_Acl extends Google_Model { + public $description; + protected $__itemsType = 'Google_AclItems'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $totalParticipants; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setItems(/* array(Google_AclItems) */ $items) { + $this->assertIsArray($items, 'Google_AclItems', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTotalParticipants( $totalParticipants) { + $this->totalParticipants = $totalParticipants; + } + public function getTotalParticipants() { + return $this->totalParticipants; + } +} + +class Google_AclItems extends Google_Model { + public $id; + public $type; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Activity extends Google_Model { + protected $__accessType = 'Google_Acl'; + protected $__accessDataType = ''; + public $access; + protected $__actorType = 'Google_OrkutAuthorResource'; + protected $__actorDataType = ''; + public $actor; + public $id; + public $kind; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + protected $__objectType = 'Google_ActivityObject'; + protected $__objectDataType = ''; + public $object; + public $published; + public $title; + public $updated; + public $verb; + public function setAccess(Google_Acl $access) { + $this->access = $access; + } + public function getAccess() { + return $this->access; + } + public function setActor(Google_OrkutAuthorResource $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setObject(Google_ActivityObject $object) { + $this->object = $object; + } + public function getObject() { + return $this->object; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVerb( $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_ActivityList extends Google_Model { + protected $__itemsType = 'Google_Activity'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Activity) */ $items) { + $this->assertIsArray($items, 'Google_Activity', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_ActivityObject extends Google_Model { + public $content; + protected $__itemsType = 'Google_OrkutActivityobjectsResource'; + protected $__itemsDataType = 'array'; + public $items; + public $objectType; + protected $__repliesType = 'Google_ActivityObjectReplies'; + protected $__repliesDataType = ''; + public $replies; + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setItems(/* array(Google_OrkutActivityobjectsResource) */ $items) { + $this->assertIsArray($items, 'Google_OrkutActivityobjectsResource', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setReplies(Google_ActivityObjectReplies $replies) { + $this->replies = $replies; + } + public function getReplies() { + return $this->replies; + } +} + +class Google_ActivityObjectReplies extends Google_Model { + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $totalItems; + public $url; + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_Badge extends Google_Model { + public $badgeLargeLogo; + public $badgeSmallLogo; + public $caption; + public $description; + public $id; + public $kind; + public $sponsorLogo; + public $sponsorName; + public $sponsorUrl; + public function setBadgeLargeLogo( $badgeLargeLogo) { + $this->badgeLargeLogo = $badgeLargeLogo; + } + public function getBadgeLargeLogo() { + return $this->badgeLargeLogo; + } + public function setBadgeSmallLogo( $badgeSmallLogo) { + $this->badgeSmallLogo = $badgeSmallLogo; + } + public function getBadgeSmallLogo() { + return $this->badgeSmallLogo; + } + public function setCaption( $caption) { + $this->caption = $caption; + } + public function getCaption() { + return $this->caption; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSponsorLogo( $sponsorLogo) { + $this->sponsorLogo = $sponsorLogo; + } + public function getSponsorLogo() { + return $this->sponsorLogo; + } + public function setSponsorName( $sponsorName) { + $this->sponsorName = $sponsorName; + } + public function getSponsorName() { + return $this->sponsorName; + } + public function setSponsorUrl( $sponsorUrl) { + $this->sponsorUrl = $sponsorUrl; + } + public function getSponsorUrl() { + return $this->sponsorUrl; + } +} + +class Google_BadgeList extends Google_Model { + protected $__itemsType = 'Google_Badge'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Badge) */ $items) { + $this->assertIsArray($items, 'Google_Badge', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Comment extends Google_Model { + protected $__actorType = 'Google_OrkutAuthorResource'; + protected $__actorDataType = ''; + public $actor; + public $content; + public $id; + protected $__inReplyToType = 'Google_CommentInReplyTo'; + protected $__inReplyToDataType = ''; + public $inReplyTo; + public $kind; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + public $published; + public function setActor(Google_OrkutAuthorResource $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInReplyTo(Google_CommentInReplyTo $inReplyTo) { + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() { + return $this->inReplyTo; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } +} + +class Google_CommentInReplyTo extends Google_Model { + public $href; + public $ref; + public $rel; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setRef( $ref) { + $this->ref = $ref; + } + public function getRef() { + return $this->ref; + } + public function setRel( $rel) { + $this->rel = $rel; + } + public function getRel() { + return $this->rel; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_CommentList extends Google_Model { + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $previousPageToken; + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPreviousPageToken( $previousPageToken) { + $this->previousPageToken = $previousPageToken; + } + public function getPreviousPageToken() { + return $this->previousPageToken; + } +} + +class Google_Community extends Google_Model { + public $category; + protected $__co_ownersType = 'Google_OrkutAuthorResource'; + protected $__co_ownersDataType = 'array'; + public $co_owners; + public $creation_date; + public $description; + public $id; + public $kind; + public $language; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + public $location; + public $member_count; + protected $__moderatorsType = 'Google_OrkutAuthorResource'; + protected $__moderatorsDataType = 'array'; + public $moderators; + public $name; + protected $__ownerType = 'Google_OrkutAuthorResource'; + protected $__ownerDataType = ''; + public $owner; + public $photo_url; + public function setCategory( $category) { + $this->category = $category; + } + public function getCategory() { + return $this->category; + } + public function setCo_owners(/* array(Google_OrkutAuthorResource) */ $co_owners) { + $this->assertIsArray($co_owners, 'Google_OrkutAuthorResource', __METHOD__); + $this->co_owners = $co_owners; + } + public function getCo_owners() { + return $this->co_owners; + } + public function setCreation_date( $creation_date) { + $this->creation_date = $creation_date; + } + public function getCreation_date() { + return $this->creation_date; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setMember_count( $member_count) { + $this->member_count = $member_count; + } + public function getMember_count() { + return $this->member_count; + } + public function setModerators(/* array(Google_OrkutAuthorResource) */ $moderators) { + $this->assertIsArray($moderators, 'Google_OrkutAuthorResource', __METHOD__); + $this->moderators = $moderators; + } + public function getModerators() { + return $this->moderators; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOwner(Google_OrkutAuthorResource $owner) { + $this->owner = $owner; + } + public function getOwner() { + return $this->owner; + } + public function setPhoto_url( $photo_url) { + $this->photo_url = $photo_url; + } + public function getPhoto_url() { + return $this->photo_url; + } +} + +class Google_CommunityList extends Google_Model { + protected $__itemsType = 'Google_Community'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Community) */ $items) { + $this->assertIsArray($items, 'Google_Community', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_CommunityMembers extends Google_Model { + protected $__communityMembershipStatusType = 'Google_CommunityMembershipStatus'; + protected $__communityMembershipStatusDataType = ''; + public $communityMembershipStatus; + public $kind; + protected $__personType = 'Google_OrkutActivitypersonResource'; + protected $__personDataType = ''; + public $person; + public function setCommunityMembershipStatus(Google_CommunityMembershipStatus $communityMembershipStatus) { + $this->communityMembershipStatus = $communityMembershipStatus; + } + public function getCommunityMembershipStatus() { + return $this->communityMembershipStatus; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPerson(Google_OrkutActivitypersonResource $person) { + $this->person = $person; + } + public function getPerson() { + return $this->person; + } +} + +class Google_CommunityMembersList extends Google_Model { + public $firstPageToken; + protected $__itemsType = 'Google_CommunityMembers'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $lastPageToken; + public $nextPageToken; + public $prevPageToken; + public function setFirstPageToken( $firstPageToken) { + $this->firstPageToken = $firstPageToken; + } + public function getFirstPageToken() { + return $this->firstPageToken; + } + public function setItems(/* array(Google_CommunityMembers) */ $items) { + $this->assertIsArray($items, 'Google_CommunityMembers', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastPageToken( $lastPageToken) { + $this->lastPageToken = $lastPageToken; + } + public function getLastPageToken() { + return $this->lastPageToken; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_CommunityMembershipStatus extends Google_Model { + public $canCreatePoll; + public $canCreateTopic; + public $canShout; + public $isCoOwner; + public $isFollowing; + public $isModerator; + public $isOwner; + public $isRestoreAvailable; + public $isTakebackAvailable; + public $kind; + public $status; + public function setCanCreatePoll( $canCreatePoll) { + $this->canCreatePoll = $canCreatePoll; + } + public function getCanCreatePoll() { + return $this->canCreatePoll; + } + public function setCanCreateTopic( $canCreateTopic) { + $this->canCreateTopic = $canCreateTopic; + } + public function getCanCreateTopic() { + return $this->canCreateTopic; + } + public function setCanShout( $canShout) { + $this->canShout = $canShout; + } + public function getCanShout() { + return $this->canShout; + } + public function setIsCoOwner( $isCoOwner) { + $this->isCoOwner = $isCoOwner; + } + public function getIsCoOwner() { + return $this->isCoOwner; + } + public function setIsFollowing( $isFollowing) { + $this->isFollowing = $isFollowing; + } + public function getIsFollowing() { + return $this->isFollowing; + } + public function setIsModerator( $isModerator) { + $this->isModerator = $isModerator; + } + public function getIsModerator() { + return $this->isModerator; + } + public function setIsOwner( $isOwner) { + $this->isOwner = $isOwner; + } + public function getIsOwner() { + return $this->isOwner; + } + public function setIsRestoreAvailable( $isRestoreAvailable) { + $this->isRestoreAvailable = $isRestoreAvailable; + } + public function getIsRestoreAvailable() { + return $this->isRestoreAvailable; + } + public function setIsTakebackAvailable( $isTakebackAvailable) { + $this->isTakebackAvailable = $isTakebackAvailable; + } + public function getIsTakebackAvailable() { + return $this->isTakebackAvailable; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_CommunityMessage extends Google_Model { + public $addedDate; + protected $__authorType = 'Google_OrkutAuthorResource'; + protected $__authorDataType = ''; + public $author; + public $body; + public $id; + public $isSpam; + public $kind; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + public $subject; + public function setAddedDate( $addedDate) { + $this->addedDate = $addedDate; + } + public function getAddedDate() { + return $this->addedDate; + } + public function setAuthor(Google_OrkutAuthorResource $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBody( $body) { + $this->body = $body; + } + public function getBody() { + return $this->body; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIsSpam( $isSpam) { + $this->isSpam = $isSpam; + } + public function getIsSpam() { + return $this->isSpam; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setSubject( $subject) { + $this->subject = $subject; + } + public function getSubject() { + return $this->subject; + } +} + +class Google_CommunityMessageList extends Google_Model { + public $firstPageToken; + protected $__itemsType = 'Google_CommunityMessage'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $lastPageToken; + public $nextPageToken; + public $prevPageToken; + public function setFirstPageToken( $firstPageToken) { + $this->firstPageToken = $firstPageToken; + } + public function getFirstPageToken() { + return $this->firstPageToken; + } + public function setItems(/* array(Google_CommunityMessage) */ $items) { + $this->assertIsArray($items, 'Google_CommunityMessage', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastPageToken( $lastPageToken) { + $this->lastPageToken = $lastPageToken; + } + public function getLastPageToken() { + return $this->lastPageToken; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_CommunityPoll extends Google_Model { + protected $__authorType = 'Google_OrkutAuthorResource'; + protected $__authorDataType = ''; + public $author; + public $communityId; + public $creationTime; + public $description; + public $endingTime; + public $hasVoted; + public $id; + protected $__imageType = 'Google_CommunityPollImage'; + protected $__imageDataType = ''; + public $image; + public $isClosed; + public $isMultipleAnswers; + public $isOpenForVoting; + public $isRestricted; + public $isSpam; + public $isUsersVotePublic; + public $isVotingAllowedForNonMembers; + public $kind; + public $lastUpdate; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + protected $__optionsType = 'Google_OrkutCommunitypolloptionResource'; + protected $__optionsDataType = 'array'; + public $options; + public $question; + public $totalNumberOfVotes; + public $votedOptions; + public function setAuthor(Google_OrkutAuthorResource $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setCommunityId( $communityId) { + $this->communityId = $communityId; + } + public function getCommunityId() { + return $this->communityId; + } + public function setCreationTime( $creationTime) { + $this->creationTime = $creationTime; + } + public function getCreationTime() { + return $this->creationTime; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEndingTime( $endingTime) { + $this->endingTime = $endingTime; + } + public function getEndingTime() { + return $this->endingTime; + } + public function setHasVoted( $hasVoted) { + $this->hasVoted = $hasVoted; + } + public function getHasVoted() { + return $this->hasVoted; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_CommunityPollImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setIsClosed( $isClosed) { + $this->isClosed = $isClosed; + } + public function getIsClosed() { + return $this->isClosed; + } + public function setIsMultipleAnswers( $isMultipleAnswers) { + $this->isMultipleAnswers = $isMultipleAnswers; + } + public function getIsMultipleAnswers() { + return $this->isMultipleAnswers; + } + public function setIsOpenForVoting( $isOpenForVoting) { + $this->isOpenForVoting = $isOpenForVoting; + } + public function getIsOpenForVoting() { + return $this->isOpenForVoting; + } + public function setIsRestricted( $isRestricted) { + $this->isRestricted = $isRestricted; + } + public function getIsRestricted() { + return $this->isRestricted; + } + public function setIsSpam( $isSpam) { + $this->isSpam = $isSpam; + } + public function getIsSpam() { + return $this->isSpam; + } + public function setIsUsersVotePublic( $isUsersVotePublic) { + $this->isUsersVotePublic = $isUsersVotePublic; + } + public function getIsUsersVotePublic() { + return $this->isUsersVotePublic; + } + public function setIsVotingAllowedForNonMembers( $isVotingAllowedForNonMembers) { + $this->isVotingAllowedForNonMembers = $isVotingAllowedForNonMembers; + } + public function getIsVotingAllowedForNonMembers() { + return $this->isVotingAllowedForNonMembers; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastUpdate( $lastUpdate) { + $this->lastUpdate = $lastUpdate; + } + public function getLastUpdate() { + return $this->lastUpdate; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setOptions(/* array(Google_OrkutCommunitypolloptionResource) */ $options) { + $this->assertIsArray($options, 'Google_OrkutCommunitypolloptionResource', __METHOD__); + $this->options = $options; + } + public function getOptions() { + return $this->options; + } + public function setQuestion( $question) { + $this->question = $question; + } + public function getQuestion() { + return $this->question; + } + public function setTotalNumberOfVotes( $totalNumberOfVotes) { + $this->totalNumberOfVotes = $totalNumberOfVotes; + } + public function getTotalNumberOfVotes() { + return $this->totalNumberOfVotes; + } + public function setVotedOptions(/* array(Google_int) */ $votedOptions) { + $this->assertIsArray($votedOptions, 'Google_int', __METHOD__); + $this->votedOptions = $votedOptions; + } + public function getVotedOptions() { + return $this->votedOptions; + } +} + +class Google_CommunityPollComment extends Google_Model { + public $addedDate; + protected $__authorType = 'Google_OrkutAuthorResource'; + protected $__authorDataType = ''; + public $author; + public $body; + public $id; + public $kind; + public function setAddedDate( $addedDate) { + $this->addedDate = $addedDate; + } + public function getAddedDate() { + return $this->addedDate; + } + public function setAuthor(Google_OrkutAuthorResource $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBody( $body) { + $this->body = $body; + } + public function getBody() { + return $this->body; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_CommunityPollCommentList extends Google_Model { + public $firstPageToken; + protected $__itemsType = 'Google_CommunityPollComment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $lastPageToken; + public $nextPageToken; + public $prevPageToken; + public function setFirstPageToken( $firstPageToken) { + $this->firstPageToken = $firstPageToken; + } + public function getFirstPageToken() { + return $this->firstPageToken; + } + public function setItems(/* array(Google_CommunityPollComment) */ $items) { + $this->assertIsArray($items, 'Google_CommunityPollComment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastPageToken( $lastPageToken) { + $this->lastPageToken = $lastPageToken; + } + public function getLastPageToken() { + return $this->lastPageToken; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_CommunityPollImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommunityPollList extends Google_Model { + public $firstPageToken; + protected $__itemsType = 'Google_CommunityPoll'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $lastPageToken; + public $nextPageToken; + public $prevPageToken; + public function setFirstPageToken( $firstPageToken) { + $this->firstPageToken = $firstPageToken; + } + public function getFirstPageToken() { + return $this->firstPageToken; + } + public function setItems(/* array(Google_CommunityPoll) */ $items) { + $this->assertIsArray($items, 'Google_CommunityPoll', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastPageToken( $lastPageToken) { + $this->lastPageToken = $lastPageToken; + } + public function getLastPageToken() { + return $this->lastPageToken; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_CommunityPollVote extends Google_Model { + public $isVotevisible; + public $kind; + public $optionIds; + public function setIsVotevisible( $isVotevisible) { + $this->isVotevisible = $isVotevisible; + } + public function getIsVotevisible() { + return $this->isVotevisible; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOptionIds(/* array(Google_int) */ $optionIds) { + $this->assertIsArray($optionIds, 'Google_int', __METHOD__); + $this->optionIds = $optionIds; + } + public function getOptionIds() { + return $this->optionIds; + } +} + +class Google_CommunityTopic extends Google_Model { + protected $__authorType = 'Google_OrkutAuthorResource'; + protected $__authorDataType = ''; + public $author; + public $body; + public $id; + public $isClosed; + public $kind; + public $lastUpdate; + public $latestMessageSnippet; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + protected $__messagesType = 'Google_CommunityMessage'; + protected $__messagesDataType = 'array'; + public $messages; + public $numberOfReplies; + public $title; + public function setAuthor(Google_OrkutAuthorResource $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBody( $body) { + $this->body = $body; + } + public function getBody() { + return $this->body; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIsClosed( $isClosed) { + $this->isClosed = $isClosed; + } + public function getIsClosed() { + return $this->isClosed; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastUpdate( $lastUpdate) { + $this->lastUpdate = $lastUpdate; + } + public function getLastUpdate() { + return $this->lastUpdate; + } + public function setLatestMessageSnippet( $latestMessageSnippet) { + $this->latestMessageSnippet = $latestMessageSnippet; + } + public function getLatestMessageSnippet() { + return $this->latestMessageSnippet; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setMessages(/* array(Google_CommunityMessage) */ $messages) { + $this->assertIsArray($messages, 'Google_CommunityMessage', __METHOD__); + $this->messages = $messages; + } + public function getMessages() { + return $this->messages; + } + public function setNumberOfReplies( $numberOfReplies) { + $this->numberOfReplies = $numberOfReplies; + } + public function getNumberOfReplies() { + return $this->numberOfReplies; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_CommunityTopicList extends Google_Model { + public $firstPageToken; + protected $__itemsType = 'Google_CommunityTopic'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $lastPageToken; + public $nextPageToken; + public $prevPageToken; + public function setFirstPageToken( $firstPageToken) { + $this->firstPageToken = $firstPageToken; + } + public function getFirstPageToken() { + return $this->firstPageToken; + } + public function setItems(/* array(Google_CommunityTopic) */ $items) { + $this->assertIsArray($items, 'Google_CommunityTopic', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastPageToken( $lastPageToken) { + $this->lastPageToken = $lastPageToken; + } + public function getLastPageToken() { + return $this->lastPageToken; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrevPageToken( $prevPageToken) { + $this->prevPageToken = $prevPageToken; + } + public function getPrevPageToken() { + return $this->prevPageToken; + } +} + +class Google_Counters extends Google_Model { + protected $__itemsType = 'Google_OrkutCounterResource'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_OrkutCounterResource) */ $items) { + $this->assertIsArray($items, 'Google_OrkutCounterResource', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_OrkutActivityobjectsResource extends Google_Model { + protected $__communityType = 'Google_Community'; + protected $__communityDataType = ''; + public $community; + public $content; + public $displayName; + public $id; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + public $objectType; + protected $__personType = 'Google_OrkutActivitypersonResource'; + protected $__personDataType = ''; + public $person; + public function setCommunity(Google_Community $community) { + $this->community = $community; + } + public function getCommunity() { + return $this->community; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setPerson(Google_OrkutActivitypersonResource $person) { + $this->person = $person; + } + public function getPerson() { + return $this->person; + } +} + +class Google_OrkutActivitypersonResource extends Google_Model { + public $birthday; + public $gender; + public $id; + protected $__imageType = 'Google_OrkutActivitypersonResourceImage'; + protected $__imageDataType = ''; + public $image; + protected $__nameType = 'Google_OrkutActivitypersonResourceName'; + protected $__nameDataType = ''; + public $name; + public $url; + public function setBirthday( $birthday) { + $this->birthday = $birthday; + } + public function getBirthday() { + return $this->birthday; + } + public function setGender( $gender) { + $this->gender = $gender; + } + public function getGender() { + return $this->gender; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_OrkutActivitypersonResourceImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setName(Google_OrkutActivitypersonResourceName $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_OrkutActivitypersonResourceImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_OrkutActivitypersonResourceName extends Google_Model { + public $familyName; + public $givenName; + public function setFamilyName( $familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setGivenName( $givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } +} + +class Google_OrkutAuthorResource extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_OrkutAuthorResourceImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_OrkutAuthorResourceImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_OrkutAuthorResourceImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_OrkutCommunitypolloptionResource extends Google_Model { + public $description; + protected $__imageType = 'Google_OrkutCommunitypolloptionResourceImage'; + protected $__imageDataType = ''; + public $image; + public $numberOfVotes; + public $optionId; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setImage(Google_OrkutCommunitypolloptionResourceImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setNumberOfVotes( $numberOfVotes) { + $this->numberOfVotes = $numberOfVotes; + } + public function getNumberOfVotes() { + return $this->numberOfVotes; + } + public function setOptionId( $optionId) { + $this->optionId = $optionId; + } + public function getOptionId() { + return $this->optionId; + } +} + +class Google_OrkutCommunitypolloptionResourceImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_OrkutCounterResource extends Google_Model { + protected $__linkType = 'Google_OrkutLinkResource'; + protected $__linkDataType = ''; + public $link; + public $name; + public $total; + public function setLink(Google_OrkutLinkResource $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setTotal( $total) { + $this->total = $total; + } + public function getTotal() { + return $this->total; + } +} + +class Google_OrkutLinkResource extends Google_Model { + public $href; + public $rel; + public $title; + public $type; + public function setHref( $href) { + $this->href = $href; + } + public function getHref() { + return $this->href; + } + public function setRel( $rel) { + $this->rel = $rel; + } + public function getRel() { + return $this->rel; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Visibility extends Google_Model { + public $kind; + protected $__linksType = 'Google_OrkutLinkResource'; + protected $__linksDataType = 'array'; + public $links; + public $visibility; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLinks(/* array(Google_OrkutLinkResource) */ $links) { + $this->assertIsArray($links, 'Google_OrkutLinkResource', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setVisibility( $visibility) { + $this->visibility = $visibility; + } + public function getVisibility() { + return $this->visibility; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PagespeedonlineService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PagespeedonlineService.php new file mode 100644 index 0000000..0390cec --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PagespeedonlineService.php @@ -0,0 +1,516 @@ + + * $pagespeedonlineService = new Google_PagespeedonlineService(...); + * $pagespeedapi = $pagespeedonlineService->pagespeedapi; + * + */ + class Google_PagespeedapiServiceResource extends Google_ServiceResource { + + /** + * Runs Page Speed analysis on the page at the specified URL, and returns a Page Speed score, a list + * of suggestions to make that page faster, and other information. (pagespeedapi.runpagespeed) + * + * @param string $url The URL to fetch and analyze + * @param array $optParams Optional parameters. + * + * @opt_param string locale The locale used to localize formatted results + * @opt_param string rule A Page Speed rule to run; if none are given, all rules are run + * @opt_param bool screenshot Indicates if binary data containing a screenshot should be included + * @opt_param string strategy The analysis strategy to use + * @return Google_Result + */ + public function runpagespeed($url, $optParams = array()) { + $params = array('url' => $url); + $params = array_merge($params, $optParams); + $data = $this->__call('runpagespeed', array($params)); + if ($this->useObjects()) { + return new Google_Result($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Pagespeedonline (v1). + * + *

    + * Lets you analyze the performance of a web page and get tailored suggestions to make that page faster. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_PagespeedonlineService extends Google_Service { + public $pagespeedapi; + /** + * Constructs the internal representation of the Pagespeedonline service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'pagespeedonline/v1/'; + $this->version = 'v1'; + $this->serviceName = 'pagespeedonline'; + + $client->addService($this->serviceName, $this->version); + $this->pagespeedapi = new Google_PagespeedapiServiceResource($this, $this->serviceName, 'pagespeedapi', json_decode('{"methods": {"runpagespeed": {"id": "pagespeedonline.pagespeedapi.runpagespeed", "path": "runPagespeed", "httpMethod": "GET", "parameters": {"locale": {"type": "string", "location": "query"}, "rule": {"type": "string", "repeated": true, "location": "query"}, "screenshot": {"type": "boolean", "default": "false", "location": "query"}, "strategy": {"type": "string", "enum": ["desktop", "mobile"], "location": "query"}, "url": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "Result"}}}}', true)); + + } +} + + + +class Google_Result extends Google_Model { + protected $__formattedResultsType = 'Google_ResultFormattedResults'; + protected $__formattedResultsDataType = ''; + public $formattedResults; + public $id; + public $invalidRules; + public $kind; + protected $__pageStatsType = 'Google_ResultPageStats'; + protected $__pageStatsDataType = ''; + public $pageStats; + public $responseCode; + public $score; + protected $__screenshotType = 'Google_ResultScreenshot'; + protected $__screenshotDataType = ''; + public $screenshot; + public $title; + protected $__versionType = 'Google_ResultVersion'; + protected $__versionDataType = ''; + public $version; + public function setFormattedResults(Google_ResultFormattedResults $formattedResults) { + $this->formattedResults = $formattedResults; + } + public function getFormattedResults() { + return $this->formattedResults; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInvalidRules(/* array(Google_string) */ $invalidRules) { + $this->assertIsArray($invalidRules, 'Google_string', __METHOD__); + $this->invalidRules = $invalidRules; + } + public function getInvalidRules() { + return $this->invalidRules; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPageStats(Google_ResultPageStats $pageStats) { + $this->pageStats = $pageStats; + } + public function getPageStats() { + return $this->pageStats; + } + public function setResponseCode( $responseCode) { + $this->responseCode = $responseCode; + } + public function getResponseCode() { + return $this->responseCode; + } + public function setScore( $score) { + $this->score = $score; + } + public function getScore() { + return $this->score; + } + public function setScreenshot(Google_ResultScreenshot $screenshot) { + $this->screenshot = $screenshot; + } + public function getScreenshot() { + return $this->screenshot; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setVersion(Google_ResultVersion $version) { + $this->version = $version; + } + public function getVersion() { + return $this->version; + } +} + +class Google_ResultFormattedResults extends Google_Model { + public $locale; + protected $__ruleResultsType = 'Google_ResultFormattedResultsRuleResultsElement'; + protected $__ruleResultsDataType = 'map'; + public $ruleResults; + public function setLocale( $locale) { + $this->locale = $locale; + } + public function getLocale() { + return $this->locale; + } + public function setRuleResults(Google_ResultFormattedResultsRuleResultsElement $ruleResults) { + $this->ruleResults = $ruleResults; + } + public function getRuleResults() { + return $this->ruleResults; + } +} + +class Google_ResultFormattedResultsRuleResultsElement extends Google_Model { + public $localizedRuleName; + public $ruleImpact; + public $ruleScore; + protected $__urlBlocksType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocks'; + protected $__urlBlocksDataType = 'array'; + public $urlBlocks; + public function setLocalizedRuleName( $localizedRuleName) { + $this->localizedRuleName = $localizedRuleName; + } + public function getLocalizedRuleName() { + return $this->localizedRuleName; + } + public function setRuleImpact( $ruleImpact) { + $this->ruleImpact = $ruleImpact; + } + public function getRuleImpact() { + return $this->ruleImpact; + } + public function setRuleScore( $ruleScore) { + $this->ruleScore = $ruleScore; + } + public function getRuleScore() { + return $this->ruleScore; + } + public function setUrlBlocks(/* array(Google_ResultFormattedResultsRuleResultsElementUrlBlocks) */ $urlBlocks) { + $this->assertIsArray($urlBlocks, 'Google_ResultFormattedResultsRuleResultsElementUrlBlocks', __METHOD__); + $this->urlBlocks = $urlBlocks; + } + public function getUrlBlocks() { + return $this->urlBlocks; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocks extends Google_Model { + protected $__headerType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeader'; + protected $__headerDataType = ''; + public $header; + protected $__urlsType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrls'; + protected $__urlsDataType = 'array'; + public $urls; + public function setHeader(Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeader $header) { + $this->header = $header; + } + public function getHeader() { + return $this->header; + } + public function setUrls(/* array(Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrls) */ $urls) { + $this->assertIsArray($urls, 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrls', __METHOD__); + $this->urls = $urls; + } + public function getUrls() { + return $this->urls; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeader extends Google_Model { + protected $__argsType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeaderArgs'; + protected $__argsDataType = 'array'; + public $args; + public $format; + public function setArgs(/* array(Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeaderArgs) */ $args) { + $this->assertIsArray($args, 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeaderArgs', __METHOD__); + $this->args = $args; + } + public function getArgs() { + return $this->args; + } + public function setFormat( $format) { + $this->format = $format; + } + public function getFormat() { + return $this->format; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksHeaderArgs extends Google_Model { + public $type; + public $value; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrls extends Google_Model { + protected $__detailsType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetails'; + protected $__detailsDataType = 'array'; + public $details; + protected $__resultType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResult'; + protected $__resultDataType = ''; + public $result; + public function setDetails(/* array(Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetails) */ $details) { + $this->assertIsArray($details, 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetails', __METHOD__); + $this->details = $details; + } + public function getDetails() { + return $this->details; + } + public function setResult(Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResult $result) { + $this->result = $result; + } + public function getResult() { + return $this->result; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetails extends Google_Model { + protected $__argsType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetailsArgs'; + protected $__argsDataType = 'array'; + public $args; + public $format; + public function setArgs(/* array(Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetailsArgs) */ $args) { + $this->assertIsArray($args, 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetailsArgs', __METHOD__); + $this->args = $args; + } + public function getArgs() { + return $this->args; + } + public function setFormat( $format) { + $this->format = $format; + } + public function getFormat() { + return $this->format; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsDetailsArgs extends Google_Model { + public $type; + public $value; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResult extends Google_Model { + protected $__argsType = 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResultArgs'; + protected $__argsDataType = 'array'; + public $args; + public $format; + public function setArgs(/* array(Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResultArgs) */ $args) { + $this->assertIsArray($args, 'Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResultArgs', __METHOD__); + $this->args = $args; + } + public function getArgs() { + return $this->args; + } + public function setFormat( $format) { + $this->format = $format; + } + public function getFormat() { + return $this->format; + } +} + +class Google_ResultFormattedResultsRuleResultsElementUrlBlocksUrlsResultArgs extends Google_Model { + public $type; + public $value; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ResultPageStats extends Google_Model { + public $cssResponseBytes; + public $flashResponseBytes; + public $htmlResponseBytes; + public $imageResponseBytes; + public $javascriptResponseBytes; + public $numberCssResources; + public $numberHosts; + public $numberJsResources; + public $numberResources; + public $numberStaticResources; + public $otherResponseBytes; + public $textResponseBytes; + public $totalRequestBytes; + public function setCssResponseBytes( $cssResponseBytes) { + $this->cssResponseBytes = $cssResponseBytes; + } + public function getCssResponseBytes() { + return $this->cssResponseBytes; + } + public function setFlashResponseBytes( $flashResponseBytes) { + $this->flashResponseBytes = $flashResponseBytes; + } + public function getFlashResponseBytes() { + return $this->flashResponseBytes; + } + public function setHtmlResponseBytes( $htmlResponseBytes) { + $this->htmlResponseBytes = $htmlResponseBytes; + } + public function getHtmlResponseBytes() { + return $this->htmlResponseBytes; + } + public function setImageResponseBytes( $imageResponseBytes) { + $this->imageResponseBytes = $imageResponseBytes; + } + public function getImageResponseBytes() { + return $this->imageResponseBytes; + } + public function setJavascriptResponseBytes( $javascriptResponseBytes) { + $this->javascriptResponseBytes = $javascriptResponseBytes; + } + public function getJavascriptResponseBytes() { + return $this->javascriptResponseBytes; + } + public function setNumberCssResources( $numberCssResources) { + $this->numberCssResources = $numberCssResources; + } + public function getNumberCssResources() { + return $this->numberCssResources; + } + public function setNumberHosts( $numberHosts) { + $this->numberHosts = $numberHosts; + } + public function getNumberHosts() { + return $this->numberHosts; + } + public function setNumberJsResources( $numberJsResources) { + $this->numberJsResources = $numberJsResources; + } + public function getNumberJsResources() { + return $this->numberJsResources; + } + public function setNumberResources( $numberResources) { + $this->numberResources = $numberResources; + } + public function getNumberResources() { + return $this->numberResources; + } + public function setNumberStaticResources( $numberStaticResources) { + $this->numberStaticResources = $numberStaticResources; + } + public function getNumberStaticResources() { + return $this->numberStaticResources; + } + public function setOtherResponseBytes( $otherResponseBytes) { + $this->otherResponseBytes = $otherResponseBytes; + } + public function getOtherResponseBytes() { + return $this->otherResponseBytes; + } + public function setTextResponseBytes( $textResponseBytes) { + $this->textResponseBytes = $textResponseBytes; + } + public function getTextResponseBytes() { + return $this->textResponseBytes; + } + public function setTotalRequestBytes( $totalRequestBytes) { + $this->totalRequestBytes = $totalRequestBytes; + } + public function getTotalRequestBytes() { + return $this->totalRequestBytes; + } +} + +class Google_ResultScreenshot extends Google_Model { + public $data; + public $height; + public $mime_type; + public $width; + public function setData( $data) { + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setMime_type( $mime_type) { + $this->mime_type = $mime_type; + } + public function getMime_type() { + return $this->mime_type; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ResultVersion extends Google_Model { + public $major; + public $minor; + public function setMajor( $major) { + $this->major = $major; + } + public function getMajor() { + return $this->major; + } + public function setMinor( $minor) { + $this->minor = $minor; + } + public function getMinor() { + return $this->minor; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusDomainsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusDomainsService.php new file mode 100644 index 0000000..ba8abe7 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusDomainsService.php @@ -0,0 +1,2508 @@ + + * $plusService = new Google_PlusService(...); + * $activities = $plusService->activities; + * + */ + class Google_ActivitiesServiceResource extends Google_ServiceResource { + + /** + * Get an activity. (activities.get) + * + * @param string $activityId The ID of the activity to get. + * @param array $optParams Optional parameters. + * @return Google_Activity + */ + public function get($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Activity($data); + } else { + return $data; + } + } + /** + * Create a new activity for the authenticated user. (activities.insert) + * + * @param string $userId The ID of the user to create the activity on behalf of. Its value should be "me", to indicate the authenticated user. + * @param Google_Activity $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool preview If "true", extract the potential media attachments for a url. The response will include all possible attachments for a url, including video, photos, and articles based on the content of the page. + * @return Google_Activity + */ + public function insert($userId, Google_Activity $postBody, $optParams = array()) { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Activity($data); + } else { + return $data; + } + } + /** + * List all of the activities in the specified collection for a particular user. + * (activities.list) + * + * @param string $userId The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. + * @param string $collection The collection of activities to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_ActivityFeed + */ + public function listActivities($userId, $collection, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ActivityFeed($data); + } else { + return $data; + } + } + } + + /** + * The "audiences" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $audiences = $plusService->audiences; + * + */ + class Google_AudiencesServiceResource extends Google_ServiceResource { + + /** + * List all of the audiences to which a user can share. (audiences.list) + * + * @param string $userId The ID of the user to get audiences for. The special value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of circles to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_AudiencesFeed + */ + public function listAudiences($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_AudiencesFeed($data); + } else { + return $data; + } + } + } + + /** + * The "circles" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $circles = $plusService->circles; + * + */ + class Google_CirclesServiceResource extends Google_ServiceResource { + + /** + * Add a person to a circle. Google+ limits certain circle operations, including + * the number of circle adds. Learn More. (circles.addPeople) + * + * @param string $circleId The ID of the circle to add the person to. + * @param array $optParams Optional parameters. + * + * @opt_param string email Email of the people to add to the circle. Optional, can be repeated. + * @opt_param string userId IDs of the people to add to the circle. Optional, can be repeated. + * @return Google_Circle + */ + public function addPeople($circleId, $optParams = array()) { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + $data = $this->__call('addPeople', array($params)); + if ($this->useObjects()) { + return new Google_Circle($data); + } else { + return $data; + } + } + /** + * Get a circle. (circles.get) + * + * @param string $circleId The ID of the circle to get. + * @param array $optParams Optional parameters. + * @return Google_Circle + */ + public function get($circleId, $optParams = array()) { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Circle($data); + } else { + return $data; + } + } + /** + * Create a new circle for the authenticated user. (circles.insert) + * + * @param string $userId The ID of the user to create the circle on behalf of. The value "me" can be used to indicate the authenticated user. + * @param Google_Circle $postBody + * @param array $optParams Optional parameters. + * @return Google_Circle + */ + public function insert($userId, Google_Circle $postBody, $optParams = array()) { + $params = array('userId' => $userId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Circle($data); + } else { + return $data; + } + } + /** + * List all of the circles for a user. (circles.list) + * + * @param string $userId The ID of the user to get circles for. The special value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of circles to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_CircleFeed + */ + public function listCircles($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CircleFeed($data); + } else { + return $data; + } + } + /** + * Update a circle. This method supports patch semantics. (circles.patch) + * + * @param string $circleId The ID of the circle to update. + * @param Google_Circle $postBody + * @param array $optParams Optional parameters. + * @return Google_Circle + */ + public function patch($circleId, Google_Circle $postBody, $optParams = array()) { + $params = array('circleId' => $circleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Circle($data); + } else { + return $data; + } + } + /** + * Delete a circle. (circles.remove) + * + * @param string $circleId The ID of the circle to delete. + * @param array $optParams Optional parameters. + */ + public function remove($circleId, $optParams = array()) { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + $data = $this->__call('remove', array($params)); + return $data; + } + /** + * Remove a person from a circle. (circles.removePeople) + * + * @param string $circleId The ID of the circle to remove the person from. + * @param array $optParams Optional parameters. + * + * @opt_param string email Email of the people to add to the circle. Optional, can be repeated. + * @opt_param string userId IDs of the people to remove from the circle. Optional, can be repeated. + */ + public function removePeople($circleId, $optParams = array()) { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + $data = $this->__call('removePeople', array($params)); + return $data; + } + /** + * Update a circle. (circles.update) + * + * @param string $circleId The ID of the circle to update. + * @param Google_Circle $postBody + * @param array $optParams Optional parameters. + * @return Google_Circle + */ + public function update($circleId, Google_Circle $postBody, $optParams = array()) { + $params = array('circleId' => $circleId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Circle($data); + } else { + return $data; + } + } + } + + /** + * The "comments" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $comments = $plusService->comments; + * + */ + class Google_CommentsServiceResource extends Google_ServiceResource { + + /** + * Get a comment. (comments.get) + * + * @param string $commentId The ID of the comment to get. + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function get($commentId, $optParams = array()) { + $params = array('commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * Create a new comment in reply to an activity. (comments.insert) + * + * @param string $activityId The ID of the activity to reply to. + * @param Google_Comment $postBody + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function insert($activityId, Google_Comment $postBody, $optParams = array()) { + $params = array('activityId' => $activityId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * List all of the comments for an activity. (comments.list) + * + * @param string $activityId The ID of the activity to get comments for. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @opt_param string sortOrder The order in which to sort the list of comments. + * @return Google_CommentFeed + */ + public function listComments($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommentFeed($data); + } else { + return $data; + } + } + } + + /** + * The "media" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $media = $plusService->media; + * + */ + class Google_MediaServiceResource extends Google_ServiceResource { + + /** + * Add a new media item to an album. The current upload size limitations are + * 36MB for a photo and 1GB for a video. Uploads will not count against quota if + * photos are less than 2048 pixels on their longest side or videos are less + * than 15 minutes in length. (media.insert) + * + * @param string $userId The ID of the user to create the activity on behalf of. + * @param string $collection + * @param Google_Media $postBody + * @param array $optParams Optional parameters. + * @return Google_Media + */ + public function insert($userId, $collection, Google_Media $postBody, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Media($data); + } else { + return $data; + } + } + } + + /** + * The "people" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $people = $plusService->people; + * + */ + class Google_PeopleServiceResource extends Google_ServiceResource { + + /** + * Get a person's profile. (people.get) + * + * @param string $userId The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Person + */ + public function get($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Person($data); + } else { + return $data; + } + } + /** + * List all of the people in the specified collection. (people.list) + * + * @param string $userId Get the collection of people for the person identified. Use "me" to indicate the authenticated user. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string orderBy The order to return people in. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_PeopleFeed + */ + public function listPeople($userId, $collection, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PeopleFeed($data); + } else { + return $data; + } + } + /** + * List all of the people in the specified collection for a particular activity. + * (people.listByActivity) + * + * @param string $activityId The ID of the activity to get the list of people for. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_PeopleFeed + */ + public function listByActivity($activityId, $collection, $optParams = array()) { + $params = array('activityId' => $activityId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('listByActivity', array($params)); + if ($this->useObjects()) { + return new Google_PeopleFeed($data); + } else { + return $data; + } + } + /** + * List all of the people who are members of a circle. (people.listByCircle) + * + * @param string $circleId The ID of the circle to get the members of. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_PeopleFeed + */ + public function listByCircle($circleId, $optParams = array()) { + $params = array('circleId' => $circleId); + $params = array_merge($params, $optParams); + $data = $this->__call('listByCircle', array($params)); + if ($this->useObjects()) { + return new Google_PeopleFeed($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Plus (v1domains). + * + *

    + * The Google+ API enables developers to build on top of the Google+ platform. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_PlusService extends Google_Service { + public $activities; + public $audiences; + public $circles; + public $comments; + public $media; + public $people; + /** + * Constructs the internal representation of the Plus service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'plus/v1domains/'; + $this->version = 'v1domains'; + $this->serviceName = 'plus'; + + $client->addService($this->serviceName, $this->version); + $this->activities = new Google_ActivitiesServiceResource($this, $this->serviceName, 'activities', json_decode('{"methods": {"get": {"id": "plus.activities.get", "path": "activities/{activityId}", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Activity"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "insert": {"id": "plus.activities.insert", "path": "people/{userId}/activities", "httpMethod": "POST", "parameters": {"preview": {"type": "boolean", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Activity"}, "response": {"$ref": "Activity"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "list": {"id": "plus.activities.list", "path": "people/{userId}/activities/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["user"], "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ActivityFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}}}', true)); + $this->audiences = new Google_AudiencesServiceResource($this, $this->serviceName, 'audiences', json_decode('{"methods": {"list": {"id": "plus.audiences.list", "path": "people/{userId}/audiences", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "AudiencesFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}}}', true)); + $this->circles = new Google_CirclesServiceResource($this, $this->serviceName, 'circles', json_decode('{"methods": {"addPeople": {"id": "plus.circles.addPeople", "path": "circles/{circleId}/people", "httpMethod": "PUT", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}, "email": {"type": "string", "repeated": true, "location": "query"}, "userId": {"type": "string", "repeated": true, "location": "query"}}, "response": {"$ref": "Circle"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "get": {"id": "plus.circles.get", "path": "circles/{circleId}", "httpMethod": "GET", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Circle"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "insert": {"id": "plus.circles.insert", "path": "people/{userId}/circles", "httpMethod": "POST", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Circle"}, "response": {"$ref": "Circle"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "list": {"id": "plus.circles.list", "path": "people/{userId}/circles", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "CircleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "patch": {"id": "plus.circles.patch", "path": "circles/{circleId}", "httpMethod": "PATCH", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Circle"}, "response": {"$ref": "Circle"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "remove": {"id": "plus.circles.remove", "path": "circles/{circleId}", "httpMethod": "DELETE", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "removePeople": {"id": "plus.circles.removePeople", "path": "circles/{circleId}/people", "httpMethod": "DELETE", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}, "email": {"type": "string", "repeated": true, "location": "query"}, "userId": {"type": "string", "repeated": true, "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "update": {"id": "plus.circles.update", "path": "circles/{circleId}", "httpMethod": "PUT", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Circle"}, "response": {"$ref": "Circle"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->comments = new Google_CommentsServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods": {"get": {"id": "plus.comments.get", "path": "comments/{commentId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "insert": {"id": "plus.comments.insert", "path": "activities/{activityId}/comments", "httpMethod": "POST", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Comment"}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "list": {"id": "plus.comments.list", "path": "activities/{activityId}/comments", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "0", "maximum": "500", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "sortOrder": {"type": "string", "default": "ascending", "enum": ["ascending", "descending"], "location": "query"}}, "response": {"$ref": "CommentFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->media = new Google_MediaServiceResource($this, $this->serviceName, 'media', json_decode('{"methods": {"insert": {"id": "plus.media.insert", "path": "people/{userId}/media/{collection}", "httpMethod": "POST", "parameters": {"collection": {"type": "string", "required": true, "enum": ["cloud"], "location": "path"}, "userId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Media"}, "response": {"$ref": "Media"}, "scopes": ["https://www.googleapis.com/auth/plus.login"], "supportsMediaUpload": true, "mediaUpload": {"accept": ["image/*", "video/*"], "protocols": {"simple": {"multipart": true, "path": "/upload/plus/v1domains/people/{userId}/media/{collection}"}, "resumable": {"multipart": true, "path": "/resumable/upload/plus/v1domains/people/{userId}/media/{collection}"}}}}}}', true)); + $this->people = new Google_PeopleServiceResource($this, $this->serviceName, 'people', json_decode('{"methods": {"get": {"id": "plus.people.get", "path": "people/{userId}", "httpMethod": "GET", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Person"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me", "https://www.googleapis.com/auth/plus.profiles.read"]}, "list": {"id": "plus.people.list", "path": "people/{userId}/people/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["circled"], "location": "path"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "orderBy": {"type": "string", "enum": ["alphabetical", "best"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PeopleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "listByActivity": {"id": "plus.people.listByActivity", "path": "activities/{activityId}/people/{collection}", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}, "collection": {"type": "string", "required": true, "enum": ["plusoners", "resharers", "sharedto"], "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "PeopleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "listByCircle": {"id": "plus.people.listByCircle", "path": "circles/{circleId}/people", "httpMethod": "GET", "parameters": {"circleId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "PeopleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + + } +} + + + +class Google_Acl extends Google_Model { + public $description; + public $domainRestricted; + protected $__itemsType = 'Google_PlusAclentryResource'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDomainRestricted( $domainRestricted) { + $this->domainRestricted = $domainRestricted; + } + public function getDomainRestricted() { + return $this->domainRestricted; + } + public function setItems(/* array(Google_PlusAclentryResource) */ $items) { + $this->assertIsArray($items, 'Google_PlusAclentryResource', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Activity extends Google_Model { + protected $__accessType = 'Google_Acl'; + protected $__accessDataType = ''; + public $access; + protected $__actorType = 'Google_ActivityActor'; + protected $__actorDataType = ''; + public $actor; + public $address; + public $annotation; + public $crosspostSource; + public $etag; + public $geocode; + public $id; + public $kind; + protected $__locationType = 'Google_Place'; + protected $__locationDataType = ''; + public $location; + protected $__objectType = 'Google_ActivityObject'; + protected $__objectDataType = ''; + public $object; + public $placeId; + public $placeName; + protected $__providerType = 'Google_ActivityProvider'; + protected $__providerDataType = ''; + public $provider; + public $published; + public $radius; + public $title; + public $updated; + public $url; + public $verb; + public function setAccess(Google_Acl $access) { + $this->access = $access; + } + public function getAccess() { + return $this->access; + } + public function setActor(Google_ActivityActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setAnnotation( $annotation) { + $this->annotation = $annotation; + } + public function getAnnotation() { + return $this->annotation; + } + public function setCrosspostSource( $crosspostSource) { + $this->crosspostSource = $crosspostSource; + } + public function getCrosspostSource() { + return $this->crosspostSource; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setGeocode( $geocode) { + $this->geocode = $geocode; + } + public function getGeocode() { + return $this->geocode; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation(Google_Place $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setObject(Google_ActivityObject $object) { + $this->object = $object; + } + public function getObject() { + return $this->object; + } + public function setPlaceId( $placeId) { + $this->placeId = $placeId; + } + public function getPlaceId() { + return $this->placeId; + } + public function setPlaceName( $placeName) { + $this->placeName = $placeName; + } + public function getPlaceName() { + return $this->placeName; + } + public function setProvider(Google_ActivityProvider $provider) { + $this->provider = $provider; + } + public function getProvider() { + return $this->provider; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setRadius( $radius) { + $this->radius = $radius; + } + public function getRadius() { + return $this->radius; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setVerb( $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_ActivityActor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_ActivityActorImage'; + protected $__imageDataType = ''; + public $image; + protected $__nameType = 'Google_ActivityActorName'; + protected $__nameDataType = ''; + public $name; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_ActivityActorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setName(Google_ActivityActorName $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityActorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityActorName extends Google_Model { + public $familyName; + public $givenName; + public function setFamilyName( $familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setGivenName( $givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } +} + +class Google_ActivityFeed extends Google_Model { + public $etag; + public $id; + protected $__itemsType = 'Google_Activity'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public $title; + public $updated; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Activity) */ $items) { + $this->assertIsArray($items, 'Google_Activity', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_ActivityObject extends Google_Model { + protected $__actorType = 'Google_ActivityObjectActor'; + protected $__actorDataType = ''; + public $actor; + protected $__attachmentsType = 'Google_ActivityObjectAttachments'; + protected $__attachmentsDataType = 'array'; + public $attachments; + public $content; + public $id; + public $objectType; + public $originalContent; + protected $__plusonersType = 'Google_ActivityObjectPlusoners'; + protected $__plusonersDataType = ''; + public $plusoners; + protected $__repliesType = 'Google_ActivityObjectReplies'; + protected $__repliesDataType = ''; + public $replies; + protected $__resharersType = 'Google_ActivityObjectResharers'; + protected $__resharersDataType = ''; + public $resharers; + protected $__statusForViewerType = 'Google_ActivityObjectStatusForViewer'; + protected $__statusForViewerDataType = ''; + public $statusForViewer; + public $url; + public function setActor(Google_ActivityObjectActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setAttachments(/* array(Google_ActivityObjectAttachments) */ $attachments) { + $this->assertIsArray($attachments, 'Google_ActivityObjectAttachments', __METHOD__); + $this->attachments = $attachments; + } + public function getAttachments() { + return $this->attachments; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOriginalContent( $originalContent) { + $this->originalContent = $originalContent; + } + public function getOriginalContent() { + return $this->originalContent; + } + public function setPlusoners(Google_ActivityObjectPlusoners $plusoners) { + $this->plusoners = $plusoners; + } + public function getPlusoners() { + return $this->plusoners; + } + public function setReplies(Google_ActivityObjectReplies $replies) { + $this->replies = $replies; + } + public function getReplies() { + return $this->replies; + } + public function setResharers(Google_ActivityObjectResharers $resharers) { + $this->resharers = $resharers; + } + public function getResharers() { + return $this->resharers; + } + public function setStatusForViewer(Google_ActivityObjectStatusForViewer $statusForViewer) { + $this->statusForViewer = $statusForViewer; + } + public function getStatusForViewer() { + return $this->statusForViewer; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectActor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_ActivityObjectActorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_ActivityObjectActorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectActorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachments extends Google_Model { + public $content; + public $displayName; + protected $__embedType = 'Google_ActivityObjectAttachmentsEmbed'; + protected $__embedDataType = ''; + public $embed; + protected $__fullImageType = 'Google_ActivityObjectAttachmentsFullImage'; + protected $__fullImageDataType = ''; + public $fullImage; + public $id; + protected $__imageType = 'Google_ActivityObjectAttachmentsImage'; + protected $__imageDataType = ''; + public $image; + public $objectType; + protected $__previewThumbnailsType = 'Google_ActivityObjectAttachmentsPreviewThumbnails'; + protected $__previewThumbnailsDataType = 'array'; + public $previewThumbnails; + protected $__thumbnailsType = 'Google_ActivityObjectAttachmentsThumbnails'; + protected $__thumbnailsDataType = 'array'; + public $thumbnails; + public $url; + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEmbed(Google_ActivityObjectAttachmentsEmbed $embed) { + $this->embed = $embed; + } + public function getEmbed() { + return $this->embed; + } + public function setFullImage(Google_ActivityObjectAttachmentsFullImage $fullImage) { + $this->fullImage = $fullImage; + } + public function getFullImage() { + return $this->fullImage; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_ActivityObjectAttachmentsImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setPreviewThumbnails(/* array(Google_ActivityObjectAttachmentsPreviewThumbnails) */ $previewThumbnails) { + $this->assertIsArray($previewThumbnails, 'Google_ActivityObjectAttachmentsPreviewThumbnails', __METHOD__); + $this->previewThumbnails = $previewThumbnails; + } + public function getPreviewThumbnails() { + return $this->previewThumbnails; + } + public function setThumbnails(/* array(Google_ActivityObjectAttachmentsThumbnails) */ $thumbnails) { + $this->assertIsArray($thumbnails, 'Google_ActivityObjectAttachmentsThumbnails', __METHOD__); + $this->thumbnails = $thumbnails; + } + public function getThumbnails() { + return $this->thumbnails; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsEmbed extends Google_Model { + public $type; + public $url; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsFullImage extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ActivityObjectAttachmentsImage extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ActivityObjectAttachmentsPreviewThumbnails extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsThumbnails extends Google_Model { + public $description; + protected $__imageType = 'Google_ActivityObjectAttachmentsThumbnailsImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setImage(Google_ActivityObjectAttachmentsThumbnailsImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsThumbnailsImage extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ActivityObjectPlusoners extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ActivityObjectReplies extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ActivityObjectResharers extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ActivityObjectStatusForViewer extends Google_Model { + public $canComment; + public $canPlusone; + public $isPlusOned; + public $resharingDisabled; + public function setCanComment( $canComment) { + $this->canComment = $canComment; + } + public function getCanComment() { + return $this->canComment; + } + public function setCanPlusone( $canPlusone) { + $this->canPlusone = $canPlusone; + } + public function getCanPlusone() { + return $this->canPlusone; + } + public function setIsPlusOned( $isPlusOned) { + $this->isPlusOned = $isPlusOned; + } + public function getIsPlusOned() { + return $this->isPlusOned; + } + public function setResharingDisabled( $resharingDisabled) { + $this->resharingDisabled = $resharingDisabled; + } + public function getResharingDisabled() { + return $this->resharingDisabled; + } +} + +class Google_ActivityProvider extends Google_Model { + public $title; + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_Audience extends Google_Model { + public $etag; + protected $__itemType = 'Google_PlusAclentryResource'; + protected $__itemDataType = ''; + public $item; + public $kind; + public $visibility; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItem(Google_PlusAclentryResource $item) { + $this->item = $item; + } + public function getItem() { + return $this->item; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setVisibility( $visibility) { + $this->visibility = $visibility; + } + public function getVisibility() { + return $this->visibility; + } +} + +class Google_AudiencesFeed extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Audience'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Audience) */ $items) { + $this->assertIsArray($items, 'Google_Audience', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Circle extends Google_Model { + public $description; + public $displayName; + public $etag; + public $id; + public $kind; + protected $__peopleType = 'Google_CirclePeople'; + protected $__peopleDataType = ''; + public $people; + public $selfLink; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPeople(Google_CirclePeople $people) { + $this->people = $people; + } + public function getPeople() { + return $this->people; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_CircleFeed extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Circle'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public $title; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Circle) */ $items) { + $this->assertIsArray($items, 'Google_Circle', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_CirclePeople extends Google_Model { + public $totalItems; + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Comment extends Google_Model { + protected $__actorType = 'Google_CommentActor'; + protected $__actorDataType = ''; + public $actor; + public $etag; + public $id; + protected $__inReplyToType = 'Google_CommentInReplyTo'; + protected $__inReplyToDataType = 'array'; + public $inReplyTo; + public $kind; + protected $__objectType = 'Google_CommentObject'; + protected $__objectDataType = ''; + public $object; + protected $__plusonersType = 'Google_CommentPlusoners'; + protected $__plusonersDataType = ''; + public $plusoners; + public $published; + public $selfLink; + public $updated; + public $verb; + public function setActor(Google_CommentActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInReplyTo(/* array(Google_CommentInReplyTo) */ $inReplyTo) { + $this->assertIsArray($inReplyTo, 'Google_CommentInReplyTo', __METHOD__); + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() { + return $this->inReplyTo; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setObject(Google_CommentObject $object) { + $this->object = $object; + } + public function getObject() { + return $this->object; + } + public function setPlusoners(Google_CommentPlusoners $plusoners) { + $this->plusoners = $plusoners; + } + public function getPlusoners() { + return $this->plusoners; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVerb( $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_CommentActor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_CommentActorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_CommentActorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentActorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentFeed extends Google_Model { + public $etag; + public $id; + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $title; + public $updated; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_CommentInReplyTo extends Google_Model { + public $id; + public $url; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentObject extends Google_Model { + public $content; + public $objectType; + public $originalContent; + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOriginalContent( $originalContent) { + $this->originalContent = $originalContent; + } + public function getOriginalContent() { + return $this->originalContent; + } +} + +class Google_CommentPlusoners extends Google_Model { + public $totalItems; + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Media extends Google_Model { + protected $__authorType = 'Google_MediaAuthor'; + protected $__authorDataType = ''; + public $author; + public $displayName; + public $etag; + protected $__exifType = 'Google_MediaExif'; + protected $__exifDataType = ''; + public $exif; + public $height; + public $id; + public $kind; + public $mediaUrl; + public $published; + public $sizeBytes; + protected $__streamsType = 'Google_Videostream'; + protected $__streamsDataType = 'array'; + public $streams; + public $summary; + public $updated; + public $url; + public $videoDuration; + public $videoStatus; + public $width; + public function setAuthor(Google_MediaAuthor $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExif(Google_MediaExif $exif) { + $this->exif = $exif; + } + public function getExif() { + return $this->exif; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMediaUrl( $mediaUrl) { + $this->mediaUrl = $mediaUrl; + } + public function getMediaUrl() { + return $this->mediaUrl; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setSizeBytes( $sizeBytes) { + $this->sizeBytes = $sizeBytes; + } + public function getSizeBytes() { + return $this->sizeBytes; + } + public function setStreams(/* array(Google_Videostream) */ $streams) { + $this->assertIsArray($streams, 'Google_Videostream', __METHOD__); + $this->streams = $streams; + } + public function getStreams() { + return $this->streams; + } + public function setSummary( $summary) { + $this->summary = $summary; + } + public function getSummary() { + return $this->summary; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setVideoDuration( $videoDuration) { + $this->videoDuration = $videoDuration; + } + public function getVideoDuration() { + return $this->videoDuration; + } + public function setVideoStatus( $videoStatus) { + $this->videoStatus = $videoStatus; + } + public function getVideoStatus() { + return $this->videoStatus; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_MediaAuthor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_MediaAuthorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_MediaAuthorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_MediaAuthorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_MediaExif extends Google_Model { + public $time; + public function setTime( $time) { + $this->time = $time; + } + public function getTime() { + return $this->time; + } +} + +class Google_PeopleFeed extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Person'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public $title; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Person) */ $items) { + $this->assertIsArray($items, 'Google_Person', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Person extends Google_Model { + public $aboutMe; + public $birthday; + public $braggingRights; + public $circledByCount; + protected $__coverType = 'Google_PersonCover'; + protected $__coverDataType = ''; + public $cover; + public $currentLocation; + public $displayName; + public $etag; + public $gender; + public $id; + protected $__imageType = 'Google_PersonImage'; + protected $__imageDataType = ''; + public $image; + public $isPlusUser; + public $kind; + protected $__nameType = 'Google_PersonName'; + protected $__nameDataType = ''; + public $name; + public $nickname; + public $objectType; + protected $__organizationsType = 'Google_PersonOrganizations'; + protected $__organizationsDataType = 'array'; + public $organizations; + protected $__placesLivedType = 'Google_PersonPlacesLived'; + protected $__placesLivedDataType = 'array'; + public $placesLived; + public $plusOneCount; + public $relationshipStatus; + public $tagline; + public $url; + protected $__urlsType = 'Google_PersonUrls'; + protected $__urlsDataType = 'array'; + public $urls; + public $verified; + public function setAboutMe( $aboutMe) { + $this->aboutMe = $aboutMe; + } + public function getAboutMe() { + return $this->aboutMe; + } + public function setBirthday( $birthday) { + $this->birthday = $birthday; + } + public function getBirthday() { + return $this->birthday; + } + public function setBraggingRights( $braggingRights) { + $this->braggingRights = $braggingRights; + } + public function getBraggingRights() { + return $this->braggingRights; + } + public function setCircledByCount( $circledByCount) { + $this->circledByCount = $circledByCount; + } + public function getCircledByCount() { + return $this->circledByCount; + } + public function setCover(Google_PersonCover $cover) { + $this->cover = $cover; + } + public function getCover() { + return $this->cover; + } + public function setCurrentLocation( $currentLocation) { + $this->currentLocation = $currentLocation; + } + public function getCurrentLocation() { + return $this->currentLocation; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setGender( $gender) { + $this->gender = $gender; + } + public function getGender() { + return $this->gender; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_PersonImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setIsPlusUser( $isPlusUser) { + $this->isPlusUser = $isPlusUser; + } + public function getIsPlusUser() { + return $this->isPlusUser; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setName(Google_PersonName $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNickname( $nickname) { + $this->nickname = $nickname; + } + public function getNickname() { + return $this->nickname; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOrganizations(/* array(Google_PersonOrganizations) */ $organizations) { + $this->assertIsArray($organizations, 'Google_PersonOrganizations', __METHOD__); + $this->organizations = $organizations; + } + public function getOrganizations() { + return $this->organizations; + } + public function setPlacesLived(/* array(Google_PersonPlacesLived) */ $placesLived) { + $this->assertIsArray($placesLived, 'Google_PersonPlacesLived', __METHOD__); + $this->placesLived = $placesLived; + } + public function getPlacesLived() { + return $this->placesLived; + } + public function setPlusOneCount( $plusOneCount) { + $this->plusOneCount = $plusOneCount; + } + public function getPlusOneCount() { + return $this->plusOneCount; + } + public function setRelationshipStatus( $relationshipStatus) { + $this->relationshipStatus = $relationshipStatus; + } + public function getRelationshipStatus() { + return $this->relationshipStatus; + } + public function setTagline( $tagline) { + $this->tagline = $tagline; + } + public function getTagline() { + return $this->tagline; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setUrls(/* array(Google_PersonUrls) */ $urls) { + $this->assertIsArray($urls, 'Google_PersonUrls', __METHOD__); + $this->urls = $urls; + } + public function getUrls() { + return $this->urls; + } + public function setVerified( $verified) { + $this->verified = $verified; + } + public function getVerified() { + return $this->verified; + } +} + +class Google_PersonCover extends Google_Model { + protected $__coverInfoType = 'Google_PersonCoverCoverInfo'; + protected $__coverInfoDataType = ''; + public $coverInfo; + protected $__coverPhotoType = 'Google_PersonCoverCoverPhoto'; + protected $__coverPhotoDataType = ''; + public $coverPhoto; + public $layout; + public function setCoverInfo(Google_PersonCoverCoverInfo $coverInfo) { + $this->coverInfo = $coverInfo; + } + public function getCoverInfo() { + return $this->coverInfo; + } + public function setCoverPhoto(Google_PersonCoverCoverPhoto $coverPhoto) { + $this->coverPhoto = $coverPhoto; + } + public function getCoverPhoto() { + return $this->coverPhoto; + } + public function setLayout( $layout) { + $this->layout = $layout; + } + public function getLayout() { + return $this->layout; + } +} + +class Google_PersonCoverCoverInfo extends Google_Model { + public $leftImageOffset; + public $topImageOffset; + public function setLeftImageOffset( $leftImageOffset) { + $this->leftImageOffset = $leftImageOffset; + } + public function getLeftImageOffset() { + return $this->leftImageOffset; + } + public function setTopImageOffset( $topImageOffset) { + $this->topImageOffset = $topImageOffset; + } + public function getTopImageOffset() { + return $this->topImageOffset; + } +} + +class Google_PersonCoverCoverPhoto extends Google_Model { + public $height; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_PersonImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PersonName extends Google_Model { + public $familyName; + public $formatted; + public $givenName; + public $honorificPrefix; + public $honorificSuffix; + public $middleName; + public function setFamilyName( $familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setFormatted( $formatted) { + $this->formatted = $formatted; + } + public function getFormatted() { + return $this->formatted; + } + public function setGivenName( $givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } + public function setHonorificPrefix( $honorificPrefix) { + $this->honorificPrefix = $honorificPrefix; + } + public function getHonorificPrefix() { + return $this->honorificPrefix; + } + public function setHonorificSuffix( $honorificSuffix) { + $this->honorificSuffix = $honorificSuffix; + } + public function getHonorificSuffix() { + return $this->honorificSuffix; + } + public function setMiddleName( $middleName) { + $this->middleName = $middleName; + } + public function getMiddleName() { + return $this->middleName; + } +} + +class Google_PersonOrganizations extends Google_Model { + public $department; + public $description; + public $endDate; + public $location; + public $name; + public $primary; + public $startDate; + public $title; + public $type; + public function setDepartment( $department) { + $this->department = $department; + } + public function getDepartment() { + return $this->department; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPrimary( $primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_PersonPlacesLived extends Google_Model { + public $primary; + public $value; + public function setPrimary( $primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_PersonUrls extends Google_Model { + public $label; + public $type; + public $value; + public function setLabel( $label) { + $this->label = $label; + } + public function getLabel() { + return $this->label; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Place extends Google_Model { + protected $__addressType = 'Google_PlaceAddress'; + protected $__addressDataType = ''; + public $address; + public $displayName; + public $kind; + protected $__positionType = 'Google_PlacePosition'; + protected $__positionDataType = ''; + public $position; + public function setAddress(Google_PlaceAddress $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPosition(Google_PlacePosition $position) { + $this->position = $position; + } + public function getPosition() { + return $this->position; + } +} + +class Google_PlaceAddress extends Google_Model { + public $formatted; + public function setFormatted( $formatted) { + $this->formatted = $formatted; + } + public function getFormatted() { + return $this->formatted; + } +} + +class Google_PlacePosition extends Google_Model { + public $latitude; + public $longitude; + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_PlusAclentryResource extends Google_Model { + public $displayName; + public $id; + public $type; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_Videostream extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusMomentsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusMomentsService.php new file mode 100644 index 0000000..b6a5828 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusMomentsService.php @@ -0,0 +1,567 @@ + + * $plusService = new Google_PlusMomentsService(...); + * $moments = $plusService->moments; + * + */ + class Google_MomentsServiceResource extends Google_ServiceResource { + + + /** + * Record a user activity (e.g Bill watched a video on Youtube) (moments.insert) + * + * @param string $userId The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. + * @param string $collection The collection to which to write moments. + * @param Google_Moment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool debug Return the moment as written. Should be used only for debugging. + * @return Google_Moment + */ + public function insert($userId, $collection, Google_Moment $postBody, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Moment($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Plus (v1moments). + * + *

    + * The Google+ API enables developers to build on top of the Google+ platform. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_PlusMomentsService extends Google_Service { + public $moments; + /** + * Constructs the internal representation of the Plus service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'plus/v1moments/people/'; + $this->version = 'v1moments'; + $this->serviceName = 'plus'; + + $client->addService($this->serviceName, $this->version); + $this->moments = new Google_MomentsServiceResource($this, $this->serviceName, 'moments', + json_decode('{"methods": {"insert": {"parameters": {"debug": {"type": "boolean", "location": "query"}, "userId": {"required": true, "type": "string", "location": "path"}, "collection": {"required": true, "type": "string", "location": "path", "enum": ["vault"]}}, "request": {"$ref": "Moment"}, "response": {"$ref": "Moment"}, "httpMethod": "POST", "path": "{userId}/moments/{collection}", "id": "plus.moments.insert"}}}', true)); + + } +} + +class Google_ItemScope extends Google_Model { + public $startDate; + public $endDate; + public $text; + public $image; + protected $__addressType = 'Google_ItemScope'; + protected $__addressDataType = ''; + public $address; + public $birthDate; + public $datePublished; + public $addressLocality; + public $duration; + public $additionalName; + public $worstRating; + protected $__contributorType = 'Google_ItemScope'; + protected $__contributorDataType = 'array'; + public $contributor; + public $thumbnailUrl; + public $id; + public $postOfficeBoxNumber; + protected $__attendeesType = 'Google_ItemScope'; + protected $__attendeesDataType = 'array'; + public $attendees; + protected $__authorType = 'Google_ItemScope'; + protected $__authorDataType = 'array'; + public $author; + protected $__associated_mediaType = 'Google_ItemScope'; + protected $__associated_mediaDataType = 'array'; + public $associated_media; + public $bestRating; + public $addressCountry; + public $width; + public $streetAddress; + protected $__locationType = 'Google_ItemScope'; + protected $__locationDataType = ''; + public $location; + public $latitude; + protected $__byArtistType = 'Google_ItemScope'; + protected $__byArtistDataType = ''; + public $byArtist; + public $type; + public $dateModified; + public $contentSize; + public $contentUrl; + protected $__partOfTVSeriesType = 'Google_ItemScope'; + protected $__partOfTVSeriesDataType = ''; + public $partOfTVSeries; + public $description; + public $familyName; + public $kind; + public $dateCreated; + public $postalCode; + public $attendeeCount; + protected $__inAlbumType = 'Google_ItemScope'; + protected $__inAlbumDataType = ''; + public $inAlbum; + public $addressRegion; + public $height; + protected $__geoType = 'Google_ItemScope'; + protected $__geoDataType = ''; + public $geo; + public $embedUrl; + public $tickerSymbol; + public $playerType; + protected $__aboutType = 'Google_ItemScope'; + protected $__aboutDataType = ''; + public $about; + public $givenName; + public $name; + protected $__performersType = 'Google_ItemScope'; + protected $__performersDataType = 'array'; + public $performers; + public $url; + public $gender; + public $longitude; + protected $__thumbnailType = 'Google_ItemScope'; + protected $__thumbnailDataType = ''; + public $thumbnail; + public $caption; + public $ratingValue; + protected $__reviewRatingType = 'Google_ItemScope'; + protected $__reviewRatingDataType = ''; + public $reviewRating; + protected $__audioType = 'Google_ItemScope'; + protected $__audioDataType = ''; + public $audio; + public function setStartDate($startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setEndDate($endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setText($text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setImage($image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setAddress(Google_ItemScope $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setBirthDate($birthDate) { + $this->birthDate = $birthDate; + } + public function getBirthDate() { + return $this->birthDate; + } + public function setDatePublished($datePublished) { + $this->datePublished = $datePublished; + } + public function getDatePublished() { + return $this->datePublished; + } + public function setAddressLocality($addressLocality) { + $this->addressLocality = $addressLocality; + } + public function getAddressLocality() { + return $this->addressLocality; + } + public function setDuration($duration) { + $this->duration = $duration; + } + public function getDuration() { + return $this->duration; + } + public function setAdditionalName(/* array(Google_string) */ $additionalName) { + $this->assertIsArray($additionalName, 'Google_string', __METHOD__); + $this->additionalName = $additionalName; + } + public function getAdditionalName() { + return $this->additionalName; + } + public function setWorstRating($worstRating) { + $this->worstRating = $worstRating; + } + public function getWorstRating() { + return $this->worstRating; + } + public function setContributor(/* array(Google_ItemScope) */ $contributor) { + $this->assertIsArray($contributor, 'Google_ItemScope', __METHOD__); + $this->contributor = $contributor; + } + public function getContributor() { + return $this->contributor; + } + public function setThumbnailUrl($thumbnailUrl) { + $this->thumbnailUrl = $thumbnailUrl; + } + public function getThumbnailUrl() { + return $this->thumbnailUrl; + } + public function setId($id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setPostOfficeBoxNumber($postOfficeBoxNumber) { + $this->postOfficeBoxNumber = $postOfficeBoxNumber; + } + public function getPostOfficeBoxNumber() { + return $this->postOfficeBoxNumber; + } + public function setAttendees(/* array(Google_ItemScope) */ $attendees) { + $this->assertIsArray($attendees, 'Google_ItemScope', __METHOD__); + $this->attendees = $attendees; + } + public function getAttendees() { + return $this->attendees; + } + public function setAuthor(/* array(Google_ItemScope) */ $author) { + $this->assertIsArray($author, 'Google_ItemScope', __METHOD__); + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setAssociated_media(/* array(Google_ItemScope) */ $associated_media) { + $this->assertIsArray($associated_media, 'Google_ItemScope', __METHOD__); + $this->associated_media = $associated_media; + } + public function getAssociated_media() { + return $this->associated_media; + } + public function setBestRating($bestRating) { + $this->bestRating = $bestRating; + } + public function getBestRating() { + return $this->bestRating; + } + public function setAddressCountry($addressCountry) { + $this->addressCountry = $addressCountry; + } + public function getAddressCountry() { + return $this->addressCountry; + } + public function setWidth($width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } + public function setStreetAddress($streetAddress) { + $this->streetAddress = $streetAddress; + } + public function getStreetAddress() { + return $this->streetAddress; + } + public function setLocation(Google_ItemScope $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setLatitude($latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setByArtist(Google_ItemScope $byArtist) { + $this->byArtist = $byArtist; + } + public function getByArtist() { + return $this->byArtist; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setDateModified($dateModified) { + $this->dateModified = $dateModified; + } + public function getDateModified() { + return $this->dateModified; + } + public function setContentSize($contentSize) { + $this->contentSize = $contentSize; + } + public function getContentSize() { + return $this->contentSize; + } + public function setContentUrl($contentUrl) { + $this->contentUrl = $contentUrl; + } + public function getContentUrl() { + return $this->contentUrl; + } + public function setPartOfTVSeries(Google_ItemScope $partOfTVSeries) { + $this->partOfTVSeries = $partOfTVSeries; + } + public function getPartOfTVSeries() { + return $this->partOfTVSeries; + } + public function setDescription($description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setFamilyName($familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setDateCreated($dateCreated) { + $this->dateCreated = $dateCreated; + } + public function getDateCreated() { + return $this->dateCreated; + } + public function setPostalCode($postalCode) { + $this->postalCode = $postalCode; + } + public function getPostalCode() { + return $this->postalCode; + } + public function setAttendeeCount($attendeeCount) { + $this->attendeeCount = $attendeeCount; + } + public function getAttendeeCount() { + return $this->attendeeCount; + } + public function setInAlbum(Google_ItemScope $inAlbum) { + $this->inAlbum = $inAlbum; + } + public function getInAlbum() { + return $this->inAlbum; + } + public function setAddressRegion($addressRegion) { + $this->addressRegion = $addressRegion; + } + public function getAddressRegion() { + return $this->addressRegion; + } + public function setHeight($height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setGeo(Google_ItemScope $geo) { + $this->geo = $geo; + } + public function getGeo() { + return $this->geo; + } + public function setEmbedUrl($embedUrl) { + $this->embedUrl = $embedUrl; + } + public function getEmbedUrl() { + return $this->embedUrl; + } + public function setTickerSymbol($tickerSymbol) { + $this->tickerSymbol = $tickerSymbol; + } + public function getTickerSymbol() { + return $this->tickerSymbol; + } + public function setPlayerType($playerType) { + $this->playerType = $playerType; + } + public function getPlayerType() { + return $this->playerType; + } + public function setAbout(Google_ItemScope $about) { + $this->about = $about; + } + public function getAbout() { + return $this->about; + } + public function setGivenName($givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } + public function setName($name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPerformers(/* array(Google_ItemScope) */ $performers) { + $this->assertIsArray($performers, 'Google_ItemScope', __METHOD__); + $this->performers = $performers; + } + public function getPerformers() { + return $this->performers; + } + public function setUrl($url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setGender($gender) { + $this->gender = $gender; + } + public function getGender() { + return $this->gender; + } + public function setLongitude($longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } + public function setThumbnail(Google_ItemScope $thumbnail) { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() { + return $this->thumbnail; + } + public function setCaption($caption) { + $this->caption = $caption; + } + public function getCaption() { + return $this->caption; + } + public function setRatingValue($ratingValue) { + $this->ratingValue = $ratingValue; + } + public function getRatingValue() { + return $this->ratingValue; + } + public function setReviewRating(Google_ItemScope $reviewRating) { + $this->reviewRating = $reviewRating; + } + public function getReviewRating() { + return $this->reviewRating; + } + public function setAudio(Google_ItemScope $audio) { + $this->audio = $audio; + } + public function getAudio() { + return $this->audio; + } +} + +class Google_Moment extends Google_Model { + public $startDate; + public $kind; + protected $__targetType = 'Google_ItemScope'; + protected $__targetDataType = ''; + public $target; + protected $__verbType = 'Google_MomentVerb'; + protected $__verbDataType = ''; + public $verb; + protected $__resultType = 'Google_ItemScope'; + protected $__resultDataType = ''; + public $result; + public $type; + public function setStartDate($startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setKind($kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTarget(Google_ItemScope $target) { + $this->target = $target; + } + public function getTarget() { + return $this->target; + } + public function setVerb(Google_MomentVerb $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } + public function setResult(Google_ItemScope $result) { + $this->result = $result; + } + public function getResult() { + return $this->result; + } + public function setType($type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_MomentVerb extends Google_Model { + public $url; + public function setUrl($url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusService.php new file mode 100644 index 0000000..d4176df --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PlusService.php @@ -0,0 +1,2429 @@ + + * $plusService = new Google_PlusService(...); + * $activities = $plusService->activities; + * + */ + class Google_ActivitiesServiceResource extends Google_ServiceResource { + + /** + * Get an activity. (activities.get) + * + * @param string $activityId The ID of the activity to get. + * @param array $optParams Optional parameters. + * @return Google_Activity + */ + public function get($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Activity($data); + } else { + return $data; + } + } + /** + * List all of the activities in the specified collection for a particular user. (activities.list) + * + * @param string $userId The ID of the user to get activities for. The special value "me" can be used to indicate the authenticated user. + * @param string $collection The collection of activities to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_ActivityFeed + */ + public function listActivities($userId, $collection, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ActivityFeed($data); + } else { + return $data; + } + } + /** + * Search public activities. (activities.search) + * + * @param string $query Full-text search query string. + * @param array $optParams Optional parameters. + * + * @opt_param string language Specify the preferred language to search with. See search language codes for available values. + * @opt_param string maxResults The maximum number of activities to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string orderBy Specifies how to order search results. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length. + * @return Google_ActivityFeed + */ + public function search($query, $optParams = array()) { + $params = array('query' => $query); + $params = array_merge($params, $optParams); + $data = $this->__call('search', array($params)); + if ($this->useObjects()) { + return new Google_ActivityFeed($data); + } else { + return $data; + } + } + } + + /** + * The "comments" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $comments = $plusService->comments; + * + */ + class Google_CommentsServiceResource extends Google_ServiceResource { + + /** + * Get a comment. (comments.get) + * + * @param string $commentId The ID of the comment to get. + * @param array $optParams Optional parameters. + * @return Google_Comment + */ + public function get($commentId, $optParams = array()) { + $params = array('commentId' => $commentId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Comment($data); + } else { + return $data; + } + } + /** + * List all of the comments for an activity. (comments.list) + * + * @param string $activityId The ID of the activity to get comments for. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of comments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @opt_param string sortOrder The order in which to sort the list of comments. + * @return Google_CommentFeed + */ + public function listComments($activityId, $optParams = array()) { + $params = array('activityId' => $activityId); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_CommentFeed($data); + } else { + return $data; + } + } + } + + /** + * The "moments" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $moments = $plusService->moments; + * + */ + class Google_MomentsServiceResource extends Google_ServiceResource { + + /** + * Record a moment representing a user's activity such as making a purchase or commenting on a blog. + * (moments.insert) + * + * @param string $userId The ID of the user to record activities for. The only valid values are "me" and the ID of the authenticated user. + * @param string $collection The collection to which to write moments. + * @param Google_Moment $postBody + * @param array $optParams Optional parameters. + * + * @opt_param bool debug Return the moment as written. Should be used only for debugging. + * @return Google_Moment + */ + public function insert($userId, $collection, Google_Moment $postBody, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Moment($data); + } else { + return $data; + } + } + /** + * List all of the moments for a particular user. (moments.list) + * + * @param string $userId The ID of the user to get moments for. The special value "me" can be used to indicate the authenticated user. + * @param string $collection The collection of moments to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of moments to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @opt_param string targetUrl Only moments containing this targetUrl will be returned. + * @opt_param string type Only moments of this type will be returned. + * @return Google_MomentsFeed + */ + public function listMoments($userId, $collection, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_MomentsFeed($data); + } else { + return $data; + } + } + /** + * Delete a moment. (moments.remove) + * + * @param string $id The ID of the moment to delete. + * @param array $optParams Optional parameters. + */ + public function remove($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('remove', array($params)); + return $data; + } + } + + /** + * The "people" collection of methods. + * Typical usage is: + * + * $plusService = new Google_PlusService(...); + * $people = $plusService->people; + * + */ + class Google_PeopleServiceResource extends Google_ServiceResource { + + /** + * Get a person's profile. If your app uses scope https://www.googleapis.com/auth/plus.login, this + * method is guaranteed to return ageRange and language. (people.get) + * + * @param string $userId The ID of the person to get the profile for. The special value "me" can be used to indicate the authenticated user. + * @param array $optParams Optional parameters. + * @return Google_Person + */ + public function get($userId, $optParams = array()) { + $params = array('userId' => $userId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Person($data); + } else { + return $data; + } + } + /** + * List all of the people in the specified collection. (people.list) + * + * @param string $userId Get the collection of people for the person identified. Use "me" to indicate the authenticated user. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string orderBy The order to return people in. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_PeopleFeed + */ + public function listPeople($userId, $collection, $optParams = array()) { + $params = array('userId' => $userId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PeopleFeed($data); + } else { + return $data; + } + } + /** + * List all of the people in the specified collection for a particular activity. + * (people.listByActivity) + * + * @param string $activityId The ID of the activity to get the list of people for. + * @param string $collection The collection of people to list. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. + * @return Google_PeopleFeed + */ + public function listByActivity($activityId, $collection, $optParams = array()) { + $params = array('activityId' => $activityId, 'collection' => $collection); + $params = array_merge($params, $optParams); + $data = $this->__call('listByActivity', array($params)); + if ($this->useObjects()) { + return new Google_PeopleFeed($data); + } else { + return $data; + } + } + /** + * Search all public profiles. (people.search) + * + * @param string $query Specify a query string for full text search of public text in all profiles. + * @param array $optParams Optional parameters. + * + * @opt_param string language Specify the preferred language to search with. See search language codes for available values. + * @opt_param string maxResults The maximum number of people to include in the response, which is used for paging. For any response, the actual number returned might be less than the specified maxResults. + * @opt_param string pageToken The continuation token, which is used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. This token can be of any length. + * @return Google_PeopleFeed + */ + public function search($query, $optParams = array()) { + $params = array('query' => $query); + $params = array_merge($params, $optParams); + $data = $this->__call('search', array($params)); + if ($this->useObjects()) { + return new Google_PeopleFeed($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Plus (v1). + * + *

    + * The Google+ API enables developers to build on top of the Google+ platform. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_PlusService extends Google_Service { + public $activities; + public $comments; + public $moments; + public $people; + /** + * Constructs the internal representation of the Plus service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'plus/v1/'; + $this->version = 'v1'; + $this->serviceName = 'plus'; + + $client->addService($this->serviceName, $this->version); + $this->activities = new Google_ActivitiesServiceResource($this, $this->serviceName, 'activities', json_decode('{"methods": {"get": {"id": "plus.activities.get", "path": "activities/{activityId}", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Activity"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "list": {"id": "plus.activities.list", "path": "people/{userId}/activities/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["public"], "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ActivityFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "search": {"id": "plus.activities.search", "path": "activities", "httpMethod": "GET", "parameters": {"language": {"type": "string", "default": "en-US", "location": "query"}, "maxResults": {"type": "integer", "default": "10", "format": "uint32", "minimum": "1", "maximum": "20", "location": "query"}, "orderBy": {"type": "string", "default": "recent", "enum": ["best", "recent"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "query": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "ActivityFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}}}', true)); + $this->comments = new Google_CommentsServiceResource($this, $this->serviceName, 'comments', json_decode('{"methods": {"get": {"id": "plus.comments.get", "path": "comments/{commentId}", "httpMethod": "GET", "parameters": {"commentId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Comment"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "list": {"id": "plus.comments.list", "path": "activities/{activityId}/comments", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "0", "maximum": "500", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "sortOrder": {"type": "string", "default": "ascending", "enum": ["ascending", "descending"], "location": "query"}}, "response": {"$ref": "CommentFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}}}', true)); + $this->moments = new Google_MomentsServiceResource($this, $this->serviceName, 'moments', json_decode('{"methods": {"insert": {"id": "plus.moments.insert", "path": "people/{userId}/moments/{collection}", "httpMethod": "POST", "parameters": {"collection": {"type": "string", "required": true, "enum": ["vault"], "location": "path"}, "debug": {"type": "boolean", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Moment"}, "response": {"$ref": "Moment"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "list": {"id": "plus.moments.list", "path": "people/{userId}/moments/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["vault"], "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "targetUrl": {"type": "string", "location": "query"}, "type": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "MomentsFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "remove": {"id": "plus.moments.remove", "path": "moments/{id}", "httpMethod": "DELETE", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}}}', true)); + $this->people = new Google_PeopleServiceResource($this, $this->serviceName, 'people', json_decode('{"methods": {"get": {"id": "plus.people.get", "path": "people/{userId}", "httpMethod": "GET", "parameters": {"userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Person"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "list": {"id": "plus.people.list", "path": "people/{userId}/people/{collection}", "httpMethod": "GET", "parameters": {"collection": {"type": "string", "required": true, "enum": ["visible"], "location": "path"}, "maxResults": {"type": "integer", "default": "100", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "orderBy": {"type": "string", "enum": ["alphabetical", "best"], "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "userId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "PeopleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login"]}, "listByActivity": {"id": "plus.people.listByActivity", "path": "activities/{activityId}/people/{collection}", "httpMethod": "GET", "parameters": {"activityId": {"type": "string", "required": true, "location": "path"}, "collection": {"type": "string", "required": true, "enum": ["plusoners", "resharers"], "location": "path"}, "maxResults": {"type": "integer", "default": "20", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "PeopleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}, "search": {"id": "plus.people.search", "path": "people", "httpMethod": "GET", "parameters": {"language": {"type": "string", "default": "en-US", "location": "query"}, "maxResults": {"type": "integer", "default": "25", "format": "uint32", "minimum": "1", "maximum": "50", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "query": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "PeopleFeed"}, "scopes": ["https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me"]}}}', true)); + + } +} + + + +class Google_Acl extends Google_Model { + public $description; + protected $__itemsType = 'Google_PlusAclentryResource'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setItems(/* array(Google_PlusAclentryResource) */ $items) { + $this->assertIsArray($items, 'Google_PlusAclentryResource', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Activity extends Google_Model { + protected $__accessType = 'Google_Acl'; + protected $__accessDataType = ''; + public $access; + protected $__actorType = 'Google_ActivityActor'; + protected $__actorDataType = ''; + public $actor; + public $address; + public $annotation; + public $crosspostSource; + public $etag; + public $geocode; + public $id; + public $kind; + protected $__locationType = 'Google_Place'; + protected $__locationDataType = ''; + public $location; + protected $__objectType = 'Google_ActivityObject'; + protected $__objectDataType = ''; + public $object; + public $placeId; + public $placeName; + protected $__providerType = 'Google_ActivityProvider'; + protected $__providerDataType = ''; + public $provider; + public $published; + public $radius; + public $title; + public $updated; + public $url; + public $verb; + public function setAccess(Google_Acl $access) { + $this->access = $access; + } + public function getAccess() { + return $this->access; + } + public function setActor(Google_ActivityActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setAnnotation( $annotation) { + $this->annotation = $annotation; + } + public function getAnnotation() { + return $this->annotation; + } + public function setCrosspostSource( $crosspostSource) { + $this->crosspostSource = $crosspostSource; + } + public function getCrosspostSource() { + return $this->crosspostSource; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setGeocode( $geocode) { + $this->geocode = $geocode; + } + public function getGeocode() { + return $this->geocode; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocation(Google_Place $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setObject(Google_ActivityObject $object) { + $this->object = $object; + } + public function getObject() { + return $this->object; + } + public function setPlaceId( $placeId) { + $this->placeId = $placeId; + } + public function getPlaceId() { + return $this->placeId; + } + public function setPlaceName( $placeName) { + $this->placeName = $placeName; + } + public function getPlaceName() { + return $this->placeName; + } + public function setProvider(Google_ActivityProvider $provider) { + $this->provider = $provider; + } + public function getProvider() { + return $this->provider; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setRadius( $radius) { + $this->radius = $radius; + } + public function getRadius() { + return $this->radius; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setVerb( $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_ActivityActor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_ActivityActorImage'; + protected $__imageDataType = ''; + public $image; + protected $__nameType = 'Google_ActivityActorName'; + protected $__nameDataType = ''; + public $name; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_ActivityActorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setName(Google_ActivityActorName $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityActorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityActorName extends Google_Model { + public $familyName; + public $givenName; + public function setFamilyName( $familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setGivenName( $givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } +} + +class Google_ActivityFeed extends Google_Model { + public $etag; + public $id; + protected $__itemsType = 'Google_Activity'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public $title; + public $updated; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Activity) */ $items) { + $this->assertIsArray($items, 'Google_Activity', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_ActivityObject extends Google_Model { + protected $__actorType = 'Google_ActivityObjectActor'; + protected $__actorDataType = ''; + public $actor; + protected $__attachmentsType = 'Google_ActivityObjectAttachments'; + protected $__attachmentsDataType = 'array'; + public $attachments; + public $content; + public $id; + public $objectType; + public $originalContent; + protected $__plusonersType = 'Google_ActivityObjectPlusoners'; + protected $__plusonersDataType = ''; + public $plusoners; + protected $__repliesType = 'Google_ActivityObjectReplies'; + protected $__repliesDataType = ''; + public $replies; + protected $__resharersType = 'Google_ActivityObjectResharers'; + protected $__resharersDataType = ''; + public $resharers; + public $url; + public function setActor(Google_ActivityObjectActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setAttachments(/* array(Google_ActivityObjectAttachments) */ $attachments) { + $this->assertIsArray($attachments, 'Google_ActivityObjectAttachments', __METHOD__); + $this->attachments = $attachments; + } + public function getAttachments() { + return $this->attachments; + } + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOriginalContent( $originalContent) { + $this->originalContent = $originalContent; + } + public function getOriginalContent() { + return $this->originalContent; + } + public function setPlusoners(Google_ActivityObjectPlusoners $plusoners) { + $this->plusoners = $plusoners; + } + public function getPlusoners() { + return $this->plusoners; + } + public function setReplies(Google_ActivityObjectReplies $replies) { + $this->replies = $replies; + } + public function getReplies() { + return $this->replies; + } + public function setResharers(Google_ActivityObjectResharers $resharers) { + $this->resharers = $resharers; + } + public function getResharers() { + return $this->resharers; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectActor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_ActivityObjectActorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_ActivityObjectActorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectActorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachments extends Google_Model { + public $content; + public $displayName; + protected $__embedType = 'Google_ActivityObjectAttachmentsEmbed'; + protected $__embedDataType = ''; + public $embed; + protected $__fullImageType = 'Google_ActivityObjectAttachmentsFullImage'; + protected $__fullImageDataType = ''; + public $fullImage; + public $id; + protected $__imageType = 'Google_ActivityObjectAttachmentsImage'; + protected $__imageDataType = ''; + public $image; + public $objectType; + protected $__thumbnailsType = 'Google_ActivityObjectAttachmentsThumbnails'; + protected $__thumbnailsDataType = 'array'; + public $thumbnails; + public $url; + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEmbed(Google_ActivityObjectAttachmentsEmbed $embed) { + $this->embed = $embed; + } + public function getEmbed() { + return $this->embed; + } + public function setFullImage(Google_ActivityObjectAttachmentsFullImage $fullImage) { + $this->fullImage = $fullImage; + } + public function getFullImage() { + return $this->fullImage; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_ActivityObjectAttachmentsImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setThumbnails(/* array(Google_ActivityObjectAttachmentsThumbnails) */ $thumbnails) { + $this->assertIsArray($thumbnails, 'Google_ActivityObjectAttachmentsThumbnails', __METHOD__); + $this->thumbnails = $thumbnails; + } + public function getThumbnails() { + return $this->thumbnails; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsEmbed extends Google_Model { + public $type; + public $url; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsFullImage extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ActivityObjectAttachmentsImage extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ActivityObjectAttachmentsThumbnails extends Google_Model { + public $description; + protected $__imageType = 'Google_ActivityObjectAttachmentsThumbnailsImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setImage(Google_ActivityObjectAttachmentsThumbnailsImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ActivityObjectAttachmentsThumbnailsImage extends Google_Model { + public $height; + public $type; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ActivityObjectPlusoners extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ActivityObjectReplies extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ActivityObjectResharers extends Google_Model { + public $selfLink; + public $totalItems; + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ActivityProvider extends Google_Model { + public $title; + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } +} + +class Google_Comment extends Google_Model { + protected $__actorType = 'Google_CommentActor'; + protected $__actorDataType = ''; + public $actor; + public $etag; + public $id; + protected $__inReplyToType = 'Google_CommentInReplyTo'; + protected $__inReplyToDataType = 'array'; + public $inReplyTo; + public $kind; + protected $__objectType = 'Google_CommentObject'; + protected $__objectDataType = ''; + public $object; + protected $__plusonersType = 'Google_CommentPlusoners'; + protected $__plusonersDataType = ''; + public $plusoners; + public $published; + public $selfLink; + public $updated; + public $verb; + public function setActor(Google_CommentActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setInReplyTo(/* array(Google_CommentInReplyTo) */ $inReplyTo) { + $this->assertIsArray($inReplyTo, 'Google_CommentInReplyTo', __METHOD__); + $this->inReplyTo = $inReplyTo; + } + public function getInReplyTo() { + return $this->inReplyTo; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setObject(Google_CommentObject $object) { + $this->object = $object; + } + public function getObject() { + return $this->object; + } + public function setPlusoners(Google_CommentPlusoners $plusoners) { + $this->plusoners = $plusoners; + } + public function getPlusoners() { + return $this->plusoners; + } + public function setPublished( $published) { + $this->published = $published; + } + public function getPublished() { + return $this->published; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } + public function setVerb( $verb) { + $this->verb = $verb; + } + public function getVerb() { + return $this->verb; + } +} + +class Google_CommentActor extends Google_Model { + public $displayName; + public $id; + protected $__imageType = 'Google_CommentActorImage'; + protected $__imageDataType = ''; + public $image; + public $url; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_CommentActorImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentActorImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentFeed extends Google_Model { + public $etag; + public $id; + protected $__itemsType = 'Google_Comment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $title; + public $updated; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Comment) */ $items) { + $this->assertIsArray($items, 'Google_Comment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_CommentInReplyTo extends Google_Model { + public $id; + public $url; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_CommentObject extends Google_Model { + public $content; + public $objectType; + public $originalContent; + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOriginalContent( $originalContent) { + $this->originalContent = $originalContent; + } + public function getOriginalContent() { + return $this->originalContent; + } +} + +class Google_CommentPlusoners extends Google_Model { + public $totalItems; + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ItemScope extends Google_Model { + protected $__aboutType = 'Google_ItemScope'; + protected $__aboutDataType = ''; + public $about; + public $additionalName; + protected $__addressType = 'Google_ItemScope'; + protected $__addressDataType = ''; + public $address; + public $addressCountry; + public $addressLocality; + public $addressRegion; + protected $__associated_mediaType = 'Google_ItemScope'; + protected $__associated_mediaDataType = 'array'; + public $associated_media; + public $attendeeCount; + protected $__attendeesType = 'Google_ItemScope'; + protected $__attendeesDataType = 'array'; + public $attendees; + protected $__audioType = 'Google_ItemScope'; + protected $__audioDataType = ''; + public $audio; + protected $__authorType = 'Google_ItemScope'; + protected $__authorDataType = 'array'; + public $author; + public $bestRating; + public $birthDate; + protected $__byArtistType = 'Google_ItemScope'; + protected $__byArtistDataType = ''; + public $byArtist; + public $caption; + public $contentSize; + public $contentUrl; + protected $__contributorType = 'Google_ItemScope'; + protected $__contributorDataType = 'array'; + public $contributor; + public $dateCreated; + public $dateModified; + public $datePublished; + public $description; + public $duration; + public $embedUrl; + public $endDate; + public $familyName; + public $gender; + protected $__geoType = 'Google_ItemScope'; + protected $__geoDataType = ''; + public $geo; + public $givenName; + public $height; + public $id; + public $image; + protected $__inAlbumType = 'Google_ItemScope'; + protected $__inAlbumDataType = ''; + public $inAlbum; + public $kind; + public $latitude; + protected $__locationType = 'Google_ItemScope'; + protected $__locationDataType = ''; + public $location; + public $longitude; + public $name; + protected $__partOfTVSeriesType = 'Google_ItemScope'; + protected $__partOfTVSeriesDataType = ''; + public $partOfTVSeries; + protected $__performersType = 'Google_ItemScope'; + protected $__performersDataType = 'array'; + public $performers; + public $playerType; + public $postOfficeBoxNumber; + public $postalCode; + public $ratingValue; + protected $__reviewRatingType = 'Google_ItemScope'; + protected $__reviewRatingDataType = ''; + public $reviewRating; + public $startDate; + public $streetAddress; + public $text; + protected $__thumbnailType = 'Google_ItemScope'; + protected $__thumbnailDataType = ''; + public $thumbnail; + public $thumbnailUrl; + public $tickerSymbol; + public $type; + public $url; + public $width; + public $worstRating; + public function setAbout(Google_ItemScope $about) { + $this->about = $about; + } + public function getAbout() { + return $this->about; + } + public function setAdditionalName(/* array(Google_string) */ $additionalName) { + $this->assertIsArray($additionalName, 'Google_string', __METHOD__); + $this->additionalName = $additionalName; + } + public function getAdditionalName() { + return $this->additionalName; + } + public function setAddress(Google_ItemScope $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setAddressCountry( $addressCountry) { + $this->addressCountry = $addressCountry; + } + public function getAddressCountry() { + return $this->addressCountry; + } + public function setAddressLocality( $addressLocality) { + $this->addressLocality = $addressLocality; + } + public function getAddressLocality() { + return $this->addressLocality; + } + public function setAddressRegion( $addressRegion) { + $this->addressRegion = $addressRegion; + } + public function getAddressRegion() { + return $this->addressRegion; + } + public function setAssociated_media(/* array(Google_ItemScope) */ $associated_media) { + $this->assertIsArray($associated_media, 'Google_ItemScope', __METHOD__); + $this->associated_media = $associated_media; + } + public function getAssociated_media() { + return $this->associated_media; + } + public function setAttendeeCount( $attendeeCount) { + $this->attendeeCount = $attendeeCount; + } + public function getAttendeeCount() { + return $this->attendeeCount; + } + public function setAttendees(/* array(Google_ItemScope) */ $attendees) { + $this->assertIsArray($attendees, 'Google_ItemScope', __METHOD__); + $this->attendees = $attendees; + } + public function getAttendees() { + return $this->attendees; + } + public function setAudio(Google_ItemScope $audio) { + $this->audio = $audio; + } + public function getAudio() { + return $this->audio; + } + public function setAuthor(/* array(Google_ItemScope) */ $author) { + $this->assertIsArray($author, 'Google_ItemScope', __METHOD__); + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBestRating( $bestRating) { + $this->bestRating = $bestRating; + } + public function getBestRating() { + return $this->bestRating; + } + public function setBirthDate( $birthDate) { + $this->birthDate = $birthDate; + } + public function getBirthDate() { + return $this->birthDate; + } + public function setByArtist(Google_ItemScope $byArtist) { + $this->byArtist = $byArtist; + } + public function getByArtist() { + return $this->byArtist; + } + public function setCaption( $caption) { + $this->caption = $caption; + } + public function getCaption() { + return $this->caption; + } + public function setContentSize( $contentSize) { + $this->contentSize = $contentSize; + } + public function getContentSize() { + return $this->contentSize; + } + public function setContentUrl( $contentUrl) { + $this->contentUrl = $contentUrl; + } + public function getContentUrl() { + return $this->contentUrl; + } + public function setContributor(/* array(Google_ItemScope) */ $contributor) { + $this->assertIsArray($contributor, 'Google_ItemScope', __METHOD__); + $this->contributor = $contributor; + } + public function getContributor() { + return $this->contributor; + } + public function setDateCreated( $dateCreated) { + $this->dateCreated = $dateCreated; + } + public function getDateCreated() { + return $this->dateCreated; + } + public function setDateModified( $dateModified) { + $this->dateModified = $dateModified; + } + public function getDateModified() { + return $this->dateModified; + } + public function setDatePublished( $datePublished) { + $this->datePublished = $datePublished; + } + public function getDatePublished() { + return $this->datePublished; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDuration( $duration) { + $this->duration = $duration; + } + public function getDuration() { + return $this->duration; + } + public function setEmbedUrl( $embedUrl) { + $this->embedUrl = $embedUrl; + } + public function getEmbedUrl() { + return $this->embedUrl; + } + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setFamilyName( $familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setGender( $gender) { + $this->gender = $gender; + } + public function getGender() { + return $this->gender; + } + public function setGeo(Google_ItemScope $geo) { + $this->geo = $geo; + } + public function getGeo() { + return $this->geo; + } + public function setGivenName( $givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage( $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setInAlbum(Google_ItemScope $inAlbum) { + $this->inAlbum = $inAlbum; + } + public function getInAlbum() { + return $this->inAlbum; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLocation(Google_ItemScope $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPartOfTVSeries(Google_ItemScope $partOfTVSeries) { + $this->partOfTVSeries = $partOfTVSeries; + } + public function getPartOfTVSeries() { + return $this->partOfTVSeries; + } + public function setPerformers(/* array(Google_ItemScope) */ $performers) { + $this->assertIsArray($performers, 'Google_ItemScope', __METHOD__); + $this->performers = $performers; + } + public function getPerformers() { + return $this->performers; + } + public function setPlayerType( $playerType) { + $this->playerType = $playerType; + } + public function getPlayerType() { + return $this->playerType; + } + public function setPostOfficeBoxNumber( $postOfficeBoxNumber) { + $this->postOfficeBoxNumber = $postOfficeBoxNumber; + } + public function getPostOfficeBoxNumber() { + return $this->postOfficeBoxNumber; + } + public function setPostalCode( $postalCode) { + $this->postalCode = $postalCode; + } + public function getPostalCode() { + return $this->postalCode; + } + public function setRatingValue( $ratingValue) { + $this->ratingValue = $ratingValue; + } + public function getRatingValue() { + return $this->ratingValue; + } + public function setReviewRating(Google_ItemScope $reviewRating) { + $this->reviewRating = $reviewRating; + } + public function getReviewRating() { + return $this->reviewRating; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setStreetAddress( $streetAddress) { + $this->streetAddress = $streetAddress; + } + public function getStreetAddress() { + return $this->streetAddress; + } + public function setText( $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } + public function setThumbnail(Google_ItemScope $thumbnail) { + $this->thumbnail = $thumbnail; + } + public function getThumbnail() { + return $this->thumbnail; + } + public function setThumbnailUrl( $thumbnailUrl) { + $this->thumbnailUrl = $thumbnailUrl; + } + public function getThumbnailUrl() { + return $this->thumbnailUrl; + } + public function setTickerSymbol( $tickerSymbol) { + $this->tickerSymbol = $tickerSymbol; + } + public function getTickerSymbol() { + return $this->tickerSymbol; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } + public function setWorstRating( $worstRating) { + $this->worstRating = $worstRating; + } + public function getWorstRating() { + return $this->worstRating; + } +} + +class Google_Moment extends Google_Model { + public $id; + public $kind; + protected $__resultType = 'Google_ItemScope'; + protected $__resultDataType = ''; + public $result; + public $startDate; + protected $__targetType = 'Google_ItemScope'; + protected $__targetDataType = ''; + public $target; + public $type; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setResult(Google_ItemScope $result) { + $this->result = $result; + } + public function getResult() { + return $this->result; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setTarget(Google_ItemScope $target) { + $this->target = $target; + } + public function getTarget() { + return $this->target; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_MomentsFeed extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Moment'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextLink; + public $nextPageToken; + public $selfLink; + public $title; + public $updated; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Moment) */ $items) { + $this->assertIsArray($items, 'Google_Moment', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_PeopleFeed extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Person'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public $title; + public $totalItems; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Person) */ $items) { + $this->assertIsArray($items, 'Google_Person', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_Person extends Google_Model { + public $aboutMe; + protected $__ageRangeType = 'Google_PersonAgeRange'; + protected $__ageRangeDataType = ''; + public $ageRange; + public $birthday; + public $braggingRights; + public $circledByCount; + protected $__coverType = 'Google_PersonCover'; + protected $__coverDataType = ''; + public $cover; + public $currentLocation; + public $displayName; + public $etag; + public $gender; + public $id; + protected $__imageType = 'Google_PersonImage'; + protected $__imageDataType = ''; + public $image; + public $isPlusUser; + public $kind; + public $language; + protected $__nameType = 'Google_PersonName'; + protected $__nameDataType = ''; + public $name; + public $nickname; + public $objectType; + protected $__organizationsType = 'Google_PersonOrganizations'; + protected $__organizationsDataType = 'array'; + public $organizations; + protected $__placesLivedType = 'Google_PersonPlacesLived'; + protected $__placesLivedDataType = 'array'; + public $placesLived; + public $plusOneCount; + public $relationshipStatus; + public $tagline; + public $url; + protected $__urlsType = 'Google_PersonUrls'; + protected $__urlsDataType = 'array'; + public $urls; + public $verified; + public function setAboutMe( $aboutMe) { + $this->aboutMe = $aboutMe; + } + public function getAboutMe() { + return $this->aboutMe; + } + public function setAgeRange(Google_PersonAgeRange $ageRange) { + $this->ageRange = $ageRange; + } + public function getAgeRange() { + return $this->ageRange; + } + public function setBirthday( $birthday) { + $this->birthday = $birthday; + } + public function getBirthday() { + return $this->birthday; + } + public function setBraggingRights( $braggingRights) { + $this->braggingRights = $braggingRights; + } + public function getBraggingRights() { + return $this->braggingRights; + } + public function setCircledByCount( $circledByCount) { + $this->circledByCount = $circledByCount; + } + public function getCircledByCount() { + return $this->circledByCount; + } + public function setCover(Google_PersonCover $cover) { + $this->cover = $cover; + } + public function getCover() { + return $this->cover; + } + public function setCurrentLocation( $currentLocation) { + $this->currentLocation = $currentLocation; + } + public function getCurrentLocation() { + return $this->currentLocation; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setGender( $gender) { + $this->gender = $gender; + } + public function getGender() { + return $this->gender; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setImage(Google_PersonImage $image) { + $this->image = $image; + } + public function getImage() { + return $this->image; + } + public function setIsPlusUser( $isPlusUser) { + $this->isPlusUser = $isPlusUser; + } + public function getIsPlusUser() { + return $this->isPlusUser; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setName(Google_PersonName $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setNickname( $nickname) { + $this->nickname = $nickname; + } + public function getNickname() { + return $this->nickname; + } + public function setObjectType( $objectType) { + $this->objectType = $objectType; + } + public function getObjectType() { + return $this->objectType; + } + public function setOrganizations(/* array(Google_PersonOrganizations) */ $organizations) { + $this->assertIsArray($organizations, 'Google_PersonOrganizations', __METHOD__); + $this->organizations = $organizations; + } + public function getOrganizations() { + return $this->organizations; + } + public function setPlacesLived(/* array(Google_PersonPlacesLived) */ $placesLived) { + $this->assertIsArray($placesLived, 'Google_PersonPlacesLived', __METHOD__); + $this->placesLived = $placesLived; + } + public function getPlacesLived() { + return $this->placesLived; + } + public function setPlusOneCount( $plusOneCount) { + $this->plusOneCount = $plusOneCount; + } + public function getPlusOneCount() { + return $this->plusOneCount; + } + public function setRelationshipStatus( $relationshipStatus) { + $this->relationshipStatus = $relationshipStatus; + } + public function getRelationshipStatus() { + return $this->relationshipStatus; + } + public function setTagline( $tagline) { + $this->tagline = $tagline; + } + public function getTagline() { + return $this->tagline; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setUrls(/* array(Google_PersonUrls) */ $urls) { + $this->assertIsArray($urls, 'Google_PersonUrls', __METHOD__); + $this->urls = $urls; + } + public function getUrls() { + return $this->urls; + } + public function setVerified( $verified) { + $this->verified = $verified; + } + public function getVerified() { + return $this->verified; + } +} + +class Google_PersonAgeRange extends Google_Model { + public $max; + public $min; + public function setMax( $max) { + $this->max = $max; + } + public function getMax() { + return $this->max; + } + public function setMin( $min) { + $this->min = $min; + } + public function getMin() { + return $this->min; + } +} + +class Google_PersonCover extends Google_Model { + protected $__coverInfoType = 'Google_PersonCoverCoverInfo'; + protected $__coverInfoDataType = ''; + public $coverInfo; + protected $__coverPhotoType = 'Google_PersonCoverCoverPhoto'; + protected $__coverPhotoDataType = ''; + public $coverPhoto; + public $layout; + public function setCoverInfo(Google_PersonCoverCoverInfo $coverInfo) { + $this->coverInfo = $coverInfo; + } + public function getCoverInfo() { + return $this->coverInfo; + } + public function setCoverPhoto(Google_PersonCoverCoverPhoto $coverPhoto) { + $this->coverPhoto = $coverPhoto; + } + public function getCoverPhoto() { + return $this->coverPhoto; + } + public function setLayout( $layout) { + $this->layout = $layout; + } + public function getLayout() { + return $this->layout; + } +} + +class Google_PersonCoverCoverInfo extends Google_Model { + public $leftImageOffset; + public $topImageOffset; + public function setLeftImageOffset( $leftImageOffset) { + $this->leftImageOffset = $leftImageOffset; + } + public function getLeftImageOffset() { + return $this->leftImageOffset; + } + public function setTopImageOffset( $topImageOffset) { + $this->topImageOffset = $topImageOffset; + } + public function getTopImageOffset() { + return $this->topImageOffset; + } +} + +class Google_PersonCoverCoverPhoto extends Google_Model { + public $height; + public $url; + public $width; + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_PersonImage extends Google_Model { + public $url; + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_PersonName extends Google_Model { + public $familyName; + public $formatted; + public $givenName; + public $honorificPrefix; + public $honorificSuffix; + public $middleName; + public function setFamilyName( $familyName) { + $this->familyName = $familyName; + } + public function getFamilyName() { + return $this->familyName; + } + public function setFormatted( $formatted) { + $this->formatted = $formatted; + } + public function getFormatted() { + return $this->formatted; + } + public function setGivenName( $givenName) { + $this->givenName = $givenName; + } + public function getGivenName() { + return $this->givenName; + } + public function setHonorificPrefix( $honorificPrefix) { + $this->honorificPrefix = $honorificPrefix; + } + public function getHonorificPrefix() { + return $this->honorificPrefix; + } + public function setHonorificSuffix( $honorificSuffix) { + $this->honorificSuffix = $honorificSuffix; + } + public function getHonorificSuffix() { + return $this->honorificSuffix; + } + public function setMiddleName( $middleName) { + $this->middleName = $middleName; + } + public function getMiddleName() { + return $this->middleName; + } +} + +class Google_PersonOrganizations extends Google_Model { + public $department; + public $description; + public $endDate; + public $location; + public $name; + public $primary; + public $startDate; + public $title; + public $type; + public function setDepartment( $department) { + $this->department = $department; + } + public function getDepartment() { + return $this->department; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setEndDate( $endDate) { + $this->endDate = $endDate; + } + public function getEndDate() { + return $this->endDate; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setPrimary( $primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setStartDate( $startDate) { + $this->startDate = $startDate; + } + public function getStartDate() { + return $this->startDate; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_PersonPlacesLived extends Google_Model { + public $primary; + public $value; + public function setPrimary( $primary) { + $this->primary = $primary; + } + public function getPrimary() { + return $this->primary; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_PersonUrls extends Google_Model { + public $label; + public $type; + public $value; + public function setLabel( $label) { + $this->label = $label; + } + public function getLabel() { + return $this->label; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_Place extends Google_Model { + protected $__addressType = 'Google_PlaceAddress'; + protected $__addressDataType = ''; + public $address; + public $displayName; + public $kind; + protected $__positionType = 'Google_PlacePosition'; + protected $__positionDataType = ''; + public $position; + public function setAddress(Google_PlaceAddress $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPosition(Google_PlacePosition $position) { + $this->position = $position; + } + public function getPosition() { + return $this->position; + } +} + +class Google_PlaceAddress extends Google_Model { + public $formatted; + public function setFormatted( $formatted) { + $this->formatted = $formatted; + } + public function getFormatted() { + return $this->formatted; + } +} + +class Google_PlacePosition extends Google_Model { + public $latitude; + public $longitude; + public function setLatitude( $latitude) { + $this->latitude = $latitude; + } + public function getLatitude() { + return $this->latitude; + } + public function setLongitude( $longitude) { + $this->longitude = $longitude; + } + public function getLongitude() { + return $this->longitude; + } +} + +class Google_PlusAclentryResource extends Google_Model { + public $displayName; + public $id; + public $type; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PredictionService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PredictionService.php new file mode 100644 index 0000000..869b490 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_PredictionService.php @@ -0,0 +1,836 @@ + + * $predictionService = new Google_PredictionService(...); + * $hostedmodels = $predictionService->hostedmodels; + * + */ + class Google_HostedmodelsServiceResource extends Google_ServiceResource { + + /** + * Submit input and request an output against a hosted model. (hostedmodels.predict) + * + * @param string $project The project associated with the model. + * @param string $hostedModelName The name of a hosted model. + * @param Google_Input $postBody + * @param array $optParams Optional parameters. + * @return Google_Output + */ + public function predict($project, $hostedModelName, Google_Input $postBody, $optParams = array()) { + $params = array('project' => $project, 'hostedModelName' => $hostedModelName, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('predict', array($params)); + if ($this->useObjects()) { + return new Google_Output($data); + } else { + return $data; + } + } + } + + /** + * The "trainedmodels" collection of methods. + * Typical usage is: + * + * $predictionService = new Google_PredictionService(...); + * $trainedmodels = $predictionService->trainedmodels; + * + */ + class Google_TrainedmodelsServiceResource extends Google_ServiceResource { + + /** + * Get analysis of the model and the data the model was trained on. (trainedmodels.analyze) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param array $optParams Optional parameters. + * @return Google_Analyze + */ + public function analyze($project, $id, $optParams = array()) { + $params = array('project' => $project, 'id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('analyze', array($params)); + if ($this->useObjects()) { + return new Google_Analyze($data); + } else { + return $data; + } + } + /** + * Delete a trained model. (trainedmodels.delete) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param array $optParams Optional parameters. + */ + public function delete($project, $id, $optParams = array()) { + $params = array('project' => $project, 'id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Check training status of your model. (trainedmodels.get) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param array $optParams Optional parameters. + * @return Google_Insert2 + */ + public function get($project, $id, $optParams = array()) { + $params = array('project' => $project, 'id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Insert2($data); + } else { + return $data; + } + } + /** + * Train a Prediction API model. (trainedmodels.insert) + * + * @param string $project The project associated with the model. + * @param Google_Insert $postBody + * @param array $optParams Optional parameters. + * @return Google_Insert2 + */ + public function insert($project, Google_Insert $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Insert2($data); + } else { + return $data; + } + } + /** + * List available models. (trainedmodels.list) + * + * @param string $project The project associated with the model. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of results to return. + * @opt_param string pageToken Pagination token. + * @return Google_PredictionList + */ + public function listTrainedmodels($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_PredictionList($data); + } else { + return $data; + } + } + /** + * Submit model id and request a prediction. (trainedmodels.predict) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param Google_Input $postBody + * @param array $optParams Optional parameters. + * @return Google_Output + */ + public function predict($project, $id, Google_Input $postBody, $optParams = array()) { + $params = array('project' => $project, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('predict', array($params)); + if ($this->useObjects()) { + return new Google_Output($data); + } else { + return $data; + } + } + /** + * Add new data to a trained model. (trainedmodels.update) + * + * @param string $project The project associated with the model. + * @param string $id The unique name for the predictive model. + * @param Google_Update $postBody + * @param array $optParams Optional parameters. + * @return Google_Insert2 + */ + public function update($project, $id, Google_Update $postBody, $optParams = array()) { + $params = array('project' => $project, 'id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Insert2($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Prediction (v1.6). + * + *

    + * Lets you access a cloud hosted machine learning service that makes it easy to build smart apps + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_PredictionService extends Google_Service { + public $hostedmodels; + public $trainedmodels; + /** + * Constructs the internal representation of the Prediction service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'prediction/v1.6/projects/'; + $this->version = 'v1.6'; + $this->serviceName = 'prediction'; + + $client->addService($this->serviceName, $this->version); + $this->hostedmodels = new Google_HostedmodelsServiceResource($this, $this->serviceName, 'hostedmodels', json_decode('{"methods": {"predict": {"id": "prediction.hostedmodels.predict", "path": "{project}/hostedmodels/{hostedModelName}/predict", "httpMethod": "POST", "parameters": {"hostedModelName": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Input"}, "response": {"$ref": "Output"}, "scopes": ["https://www.googleapis.com/auth/prediction"]}}}', true)); + $this->trainedmodels = new Google_TrainedmodelsServiceResource($this, $this->serviceName, 'trainedmodels', json_decode('{"methods": {"analyze": {"id": "prediction.trainedmodels.analyze", "path": "{project}/trainedmodels/{id}/analyze", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Analyze"}, "scopes": ["https://www.googleapis.com/auth/prediction"]}, "delete": {"id": "prediction.trainedmodels.delete", "path": "{project}/trainedmodels/{id}", "httpMethod": "DELETE", "parameters": {"id": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/prediction"]}, "get": {"id": "prediction.trainedmodels.get", "path": "{project}/trainedmodels/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Insert2"}, "scopes": ["https://www.googleapis.com/auth/prediction"]}, "insert": {"id": "prediction.trainedmodels.insert", "path": "{project}/trainedmodels", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Insert"}, "response": {"$ref": "Insert2"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write", "https://www.googleapis.com/auth/prediction"]}, "list": {"id": "prediction.trainedmodels.list", "path": "{project}/trainedmodels/list", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "List"}, "scopes": ["https://www.googleapis.com/auth/prediction"]}, "predict": {"id": "prediction.trainedmodels.predict", "path": "{project}/trainedmodels/{id}/predict", "httpMethod": "POST", "parameters": {"id": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Input"}, "response": {"$ref": "Output"}, "scopes": ["https://www.googleapis.com/auth/prediction"]}, "update": {"id": "prediction.trainedmodels.update", "path": "{project}/trainedmodels/{id}", "httpMethod": "PUT", "parameters": {"id": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Update"}, "response": {"$ref": "Insert2"}, "scopes": ["https://www.googleapis.com/auth/prediction"]}}}', true)); + + } +} + + + +class Google_Analyze extends Google_Model { + protected $__dataDescriptionType = 'Google_AnalyzeDataDescription'; + protected $__dataDescriptionDataType = ''; + public $dataDescription; + public $errors; + public $id; + public $kind; + protected $__modelDescriptionType = 'Google_AnalyzeModelDescription'; + protected $__modelDescriptionDataType = ''; + public $modelDescription; + public $selfLink; + public function setDataDescription(Google_AnalyzeDataDescription $dataDescription) { + $this->dataDescription = $dataDescription; + } + public function getDataDescription() { + return $this->dataDescription; + } + public function setErrors(/* array(Google_string) */ $errors) { + $this->assertIsArray($errors, 'Google_string', __METHOD__); + $this->errors = $errors; + } + public function getErrors() { + return $this->errors; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModelDescription(Google_AnalyzeModelDescription $modelDescription) { + $this->modelDescription = $modelDescription; + } + public function getModelDescription() { + return $this->modelDescription; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_AnalyzeDataDescription extends Google_Model { + protected $__featuresType = 'Google_AnalyzeDataDescriptionFeatures'; + protected $__featuresDataType = 'array'; + public $features; + protected $__outputFeatureType = 'Google_AnalyzeDataDescriptionOutputFeature'; + protected $__outputFeatureDataType = ''; + public $outputFeature; + public function setFeatures(/* array(Google_AnalyzeDataDescriptionFeatures) */ $features) { + $this->assertIsArray($features, 'Google_AnalyzeDataDescriptionFeatures', __METHOD__); + $this->features = $features; + } + public function getFeatures() { + return $this->features; + } + public function setOutputFeature(Google_AnalyzeDataDescriptionOutputFeature $outputFeature) { + $this->outputFeature = $outputFeature; + } + public function getOutputFeature() { + return $this->outputFeature; + } +} + +class Google_AnalyzeDataDescriptionFeatures extends Google_Model { + protected $__categoricalType = 'Google_AnalyzeDataDescriptionFeaturesCategorical'; + protected $__categoricalDataType = ''; + public $categorical; + public $index; + protected $__numericType = 'Google_AnalyzeDataDescriptionFeaturesNumeric'; + protected $__numericDataType = ''; + public $numeric; + protected $__textType = 'Google_AnalyzeDataDescriptionFeaturesText'; + protected $__textDataType = ''; + public $text; + public function setCategorical(Google_AnalyzeDataDescriptionFeaturesCategorical $categorical) { + $this->categorical = $categorical; + } + public function getCategorical() { + return $this->categorical; + } + public function setIndex( $index) { + $this->index = $index; + } + public function getIndex() { + return $this->index; + } + public function setNumeric(Google_AnalyzeDataDescriptionFeaturesNumeric $numeric) { + $this->numeric = $numeric; + } + public function getNumeric() { + return $this->numeric; + } + public function setText(Google_AnalyzeDataDescriptionFeaturesText $text) { + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_AnalyzeDataDescriptionFeaturesCategorical extends Google_Model { + public $count; + protected $__valuesType = 'Google_AnalyzeDataDescriptionFeaturesCategoricalValues'; + protected $__valuesDataType = 'array'; + public $values; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setValues(/* array(Google_AnalyzeDataDescriptionFeaturesCategoricalValues) */ $values) { + $this->assertIsArray($values, 'Google_AnalyzeDataDescriptionFeaturesCategoricalValues', __METHOD__); + $this->values = $values; + } + public function getValues() { + return $this->values; + } +} + +class Google_AnalyzeDataDescriptionFeaturesCategoricalValues extends Google_Model { + public $count; + public $value; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_AnalyzeDataDescriptionFeaturesNumeric extends Google_Model { + public $count; + public $mean; + public $variance; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setMean( $mean) { + $this->mean = $mean; + } + public function getMean() { + return $this->mean; + } + public function setVariance( $variance) { + $this->variance = $variance; + } + public function getVariance() { + return $this->variance; + } +} + +class Google_AnalyzeDataDescriptionFeaturesText extends Google_Model { + public $count; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } +} + +class Google_AnalyzeDataDescriptionOutputFeature extends Google_Model { + protected $__numericType = 'Google_AnalyzeDataDescriptionOutputFeatureNumeric'; + protected $__numericDataType = ''; + public $numeric; + protected $__textType = 'Google_AnalyzeDataDescriptionOutputFeatureText'; + protected $__textDataType = 'array'; + public $text; + public function setNumeric(Google_AnalyzeDataDescriptionOutputFeatureNumeric $numeric) { + $this->numeric = $numeric; + } + public function getNumeric() { + return $this->numeric; + } + public function setText(/* array(Google_AnalyzeDataDescriptionOutputFeatureText) */ $text) { + $this->assertIsArray($text, 'Google_AnalyzeDataDescriptionOutputFeatureText', __METHOD__); + $this->text = $text; + } + public function getText() { + return $this->text; + } +} + +class Google_AnalyzeDataDescriptionOutputFeatureNumeric extends Google_Model { + public $count; + public $mean; + public $variance; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setMean( $mean) { + $this->mean = $mean; + } + public function getMean() { + return $this->mean; + } + public function setVariance( $variance) { + $this->variance = $variance; + } + public function getVariance() { + return $this->variance; + } +} + +class Google_AnalyzeDataDescriptionOutputFeatureText extends Google_Model { + public $count; + public $value; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_AnalyzeModelDescription extends Google_Model { + public $confusionMatrix; + public $confusionMatrixRowTotals; + protected $__modelinfoType = 'Google_Insert2'; + protected $__modelinfoDataType = ''; + public $modelinfo; + public function setConfusionMatrix( $confusionMatrix) { + $this->confusionMatrix = $confusionMatrix; + } + public function getConfusionMatrix() { + return $this->confusionMatrix; + } + public function setConfusionMatrixRowTotals( $confusionMatrixRowTotals) { + $this->confusionMatrixRowTotals = $confusionMatrixRowTotals; + } + public function getConfusionMatrixRowTotals() { + return $this->confusionMatrixRowTotals; + } + public function setModelinfo(Google_Insert2 $modelinfo) { + $this->modelinfo = $modelinfo; + } + public function getModelinfo() { + return $this->modelinfo; + } +} + +class Google_Input extends Google_Model { + protected $__inputType = 'Google_InputInput'; + protected $__inputDataType = ''; + public $input; + public function setInput(Google_InputInput $input) { + $this->input = $input; + } + public function getInput() { + return $this->input; + } +} + +class Google_InputInput extends Google_Model { + public $csvInstance; + public function setCsvInstance(/* array(Google_object) */ $csvInstance) { + $this->assertIsArray($csvInstance, 'Google_object', __METHOD__); + $this->csvInstance = $csvInstance; + } + public function getCsvInstance() { + return $this->csvInstance; + } +} + +class Google_Insert extends Google_Model { + public $id; + public $modelType; + public $sourceModel; + public $storageDataLocation; + public $storagePMMLLocation; + public $storagePMMLModelLocation; + protected $__trainingInstancesType = 'Google_InsertTrainingInstances'; + protected $__trainingInstancesDataType = 'array'; + public $trainingInstances; + public $utility; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setModelType( $modelType) { + $this->modelType = $modelType; + } + public function getModelType() { + return $this->modelType; + } + public function setSourceModel( $sourceModel) { + $this->sourceModel = $sourceModel; + } + public function getSourceModel() { + return $this->sourceModel; + } + public function setStorageDataLocation( $storageDataLocation) { + $this->storageDataLocation = $storageDataLocation; + } + public function getStorageDataLocation() { + return $this->storageDataLocation; + } + public function setStoragePMMLLocation( $storagePMMLLocation) { + $this->storagePMMLLocation = $storagePMMLLocation; + } + public function getStoragePMMLLocation() { + return $this->storagePMMLLocation; + } + public function setStoragePMMLModelLocation( $storagePMMLModelLocation) { + $this->storagePMMLModelLocation = $storagePMMLModelLocation; + } + public function getStoragePMMLModelLocation() { + return $this->storagePMMLModelLocation; + } + public function setTrainingInstances(/* array(Google_InsertTrainingInstances) */ $trainingInstances) { + $this->assertIsArray($trainingInstances, 'Google_InsertTrainingInstances', __METHOD__); + $this->trainingInstances = $trainingInstances; + } + public function getTrainingInstances() { + return $this->trainingInstances; + } + public function setUtility(/* array(Google_double) */ $utility) { + $this->assertIsArray($utility, 'Google_double', __METHOD__); + $this->utility = $utility; + } + public function getUtility() { + return $this->utility; + } +} + +class Google_Insert2 extends Google_Model { + public $created; + public $id; + public $kind; + protected $__modelInfoType = 'Google_Insert2ModelInfo'; + protected $__modelInfoDataType = ''; + public $modelInfo; + public $modelType; + public $selfLink; + public $storageDataLocation; + public $storagePMMLLocation; + public $storagePMMLModelLocation; + public $trainingComplete; + public $trainingStatus; + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setModelInfo(Google_Insert2ModelInfo $modelInfo) { + $this->modelInfo = $modelInfo; + } + public function getModelInfo() { + return $this->modelInfo; + } + public function setModelType( $modelType) { + $this->modelType = $modelType; + } + public function getModelType() { + return $this->modelType; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStorageDataLocation( $storageDataLocation) { + $this->storageDataLocation = $storageDataLocation; + } + public function getStorageDataLocation() { + return $this->storageDataLocation; + } + public function setStoragePMMLLocation( $storagePMMLLocation) { + $this->storagePMMLLocation = $storagePMMLLocation; + } + public function getStoragePMMLLocation() { + return $this->storagePMMLLocation; + } + public function setStoragePMMLModelLocation( $storagePMMLModelLocation) { + $this->storagePMMLModelLocation = $storagePMMLModelLocation; + } + public function getStoragePMMLModelLocation() { + return $this->storagePMMLModelLocation; + } + public function setTrainingComplete( $trainingComplete) { + $this->trainingComplete = $trainingComplete; + } + public function getTrainingComplete() { + return $this->trainingComplete; + } + public function setTrainingStatus( $trainingStatus) { + $this->trainingStatus = $trainingStatus; + } + public function getTrainingStatus() { + return $this->trainingStatus; + } +} + +class Google_Insert2ModelInfo extends Google_Model { + public $classWeightedAccuracy; + public $classificationAccuracy; + public $meanSquaredError; + public $modelType; + public $numberInstances; + public $numberLabels; + public function setClassWeightedAccuracy( $classWeightedAccuracy) { + $this->classWeightedAccuracy = $classWeightedAccuracy; + } + public function getClassWeightedAccuracy() { + return $this->classWeightedAccuracy; + } + public function setClassificationAccuracy( $classificationAccuracy) { + $this->classificationAccuracy = $classificationAccuracy; + } + public function getClassificationAccuracy() { + return $this->classificationAccuracy; + } + public function setMeanSquaredError( $meanSquaredError) { + $this->meanSquaredError = $meanSquaredError; + } + public function getMeanSquaredError() { + return $this->meanSquaredError; + } + public function setModelType( $modelType) { + $this->modelType = $modelType; + } + public function getModelType() { + return $this->modelType; + } + public function setNumberInstances( $numberInstances) { + $this->numberInstances = $numberInstances; + } + public function getNumberInstances() { + return $this->numberInstances; + } + public function setNumberLabels( $numberLabels) { + $this->numberLabels = $numberLabels; + } + public function getNumberLabels() { + return $this->numberLabels; + } +} + +class Google_InsertTrainingInstances extends Google_Model { + public $csvInstance; + public $output; + public function setCsvInstance(/* array(Google_object) */ $csvInstance) { + $this->assertIsArray($csvInstance, 'Google_object', __METHOD__); + $this->csvInstance = $csvInstance; + } + public function getCsvInstance() { + return $this->csvInstance; + } + public function setOutput( $output) { + $this->output = $output; + } + public function getOutput() { + return $this->output; + } +} + +class Google_Output extends Google_Model { + public $id; + public $kind; + public $outputLabel; + protected $__outputMultiType = 'Google_OutputOutputMulti'; + protected $__outputMultiDataType = 'array'; + public $outputMulti; + public $outputValue; + public $selfLink; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOutputLabel( $outputLabel) { + $this->outputLabel = $outputLabel; + } + public function getOutputLabel() { + return $this->outputLabel; + } + public function setOutputMulti(/* array(Google_OutputOutputMulti) */ $outputMulti) { + $this->assertIsArray($outputMulti, 'Google_OutputOutputMulti', __METHOD__); + $this->outputMulti = $outputMulti; + } + public function getOutputMulti() { + return $this->outputMulti; + } + public function setOutputValue( $outputValue) { + $this->outputValue = $outputValue; + } + public function getOutputValue() { + return $this->outputValue; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_OutputOutputMulti extends Google_Model { + public $label; + public $score; + public function setLabel( $label) { + $this->label = $label; + } + public function getLabel() { + return $this->label; + } + public function setScore( $score) { + $this->score = $score; + } + public function getScore() { + return $this->score; + } +} + +class Google_PredictionList extends Google_Model { + protected $__itemsType = 'Google_Insert2'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $selfLink; + public function setItems(/* array(Google_Insert2) */ $items) { + $this->assertIsArray($items, 'Google_Insert2', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Update extends Google_Model { + public $csvInstance; + public $output; + public function setCsvInstance(/* array(Google_object) */ $csvInstance) { + $this->assertIsArray($csvInstance, 'Google_object', __METHOD__); + $this->csvInstance = $csvInstance; + } + public function getCsvInstance() { + return $this->csvInstance; + } + public function setOutput( $output) { + $this->output = $output; + } + public function getOutput() { + return $this->output; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ReportsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ReportsService.php new file mode 100644 index 0000000..7049f63 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ReportsService.php @@ -0,0 +1,545 @@ + + * $adminService = new Google_ReportsService(...); + * $activities = $adminService->activities; + * + */ + class Google_ActivitiesServiceResource extends Google_ServiceResource { + + /** + * Retrieves a list of activities for a specific customer and application. (activities.list) + * + * @param string $userKey Represents the profile id or the user email for which the data should be filtered. When 'all' is specified as the userKey, it returns usageReports for all users. + * @param string $applicationName Application name for which the events are to be retrieved. + * @param array $optParams Optional parameters. + * + * @opt_param string actorIpAddress IP Address of host where the event was performed. Supports both IPv4 and IPv6 addresses. + * @opt_param string endTime Return events which occured at or before this time. + * @opt_param string eventName Name of the event being queried. + * @opt_param string filters Event parameters in the form [parameter1 name][operator][parameter1 value],[parameter2 name][operator][parameter2 value],... + * @opt_param int maxResults Number of activity records to be shown in each page. + * @opt_param string pageToken Token to specify next page. + * @opt_param string startTime Return events which occured at or after this time. + * @return Google_Activities + */ + public function listActivities($userKey, $applicationName, $optParams = array()) { + $params = array('userKey' => $userKey, 'applicationName' => $applicationName); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Activities($data); + } else { + return $data; + } + } + } + + /** + * The "customerUsageReports" collection of methods. + * Typical usage is: + * + * $adminService = new Google_ReportsService(...); + * $customerUsageReports = $adminService->customerUsageReports; + * + */ + class Google_CustomerUsageReportsServiceResource extends Google_ServiceResource { + + /** + * Retrieves a report which is a collection of properties / statistics for a specific customer. + * (customerUsageReports.get) + * + * @param string $date Represents the date in yyyy-mm-dd format for which the data is to be fetched. + * @param array $optParams Optional parameters. + * + * @opt_param string pageToken Token to specify next page. + * @opt_param string parameters Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @return Google_UsageReports + */ + public function get($date, $optParams = array()) { + $params = array('date' => $date); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_UsageReports($data); + } else { + return $data; + } + } + } + + /** + * The "userUsageReport" collection of methods. + * Typical usage is: + * + * $adminService = new Google_ReportsService(...); + * $userUsageReport = $adminService->userUsageReport; + * + */ + class Google_UserUsageReportServiceResource extends Google_ServiceResource { + + /** + * Retrieves a report which is a collection of properties / statistics for a set of users. + * (userUsageReport.get) + * + * @param string $userKey Represents the profile id or the user email for which the data should be filtered. + * @param string $date Represents the date in yyyy-mm-dd format for which the data is to be fetched. + * @param array $optParams Optional parameters. + * + * @opt_param string filters Represents the set of filters including parameter operator value. + * @opt_param string maxResults Maximum number of results to return. Maximum allowed is 1000 + * @opt_param string pageToken Token to specify next page. + * @opt_param string parameters Represents the application name, parameter name pairs to fetch in csv as app_name1:param_name1, app_name2:param_name2. + * @return Google_UsageReports + */ + public function get($userKey, $date, $optParams = array()) { + $params = array('userKey' => $userKey, 'date' => $date); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_UsageReports($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Reports (reports_v1). + * + *

    + * Allows the administrators of Google Apps customers to fetch reports about the usage, collaboration, security and risk for their users. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_ReportsService extends Google_Service { + public $activities; + public $customerUsageReports; + public $userUsageReport; + /** + * Constructs the internal representation of the Reports service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'admin/reports/v1/'; + $this->version = 'reports_v1'; + $this->serviceName = 'admin'; + + $client->addService($this->serviceName, $this->version); + $this->activities = new Google_ActivitiesServiceResource($this, $this->serviceName, 'activities', json_decode('{"methods": {"list": {"id": "reports.activities.list", "path": "activity/users/{userKey}/applications/{applicationName}", "httpMethod": "GET", "parameters": {"actorIpAddress": {"type": "string", "location": "query"}, "applicationName": {"type": "string", "required": true, "location": "path"}, "endTime": {"type": "string", "location": "query"}, "eventName": {"type": "string", "location": "query"}, "filters": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "int32", "minimum": "1", "maximum": "1000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "startTime": {"type": "string", "location": "query"}, "userKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Activities"}, "scopes": ["https://www.googleapis.com/auth/admin.reports.audit.readonly"]}}}', true)); + $this->customerUsageReports = new Google_CustomerUsageReportsServiceResource($this, $this->serviceName, 'customerUsageReports', json_decode('{"methods": {"get": {"id": "reports.customerUsageReports.get", "path": "usage/dates/{date}", "httpMethod": "GET", "parameters": {"date": {"type": "string", "required": true, "location": "path"}, "pageToken": {"type": "string", "location": "query"}, "parameters": {"type": "string", "location": "query"}}, "response": {"$ref": "UsageReports"}, "scopes": ["https://www.googleapis.com/auth/admin.reports.usage.readonly"]}}}', true)); + $this->userUsageReport = new Google_UserUsageReportServiceResource($this, $this->serviceName, 'userUsageReport', json_decode('{"methods": {"get": {"id": "reports.userUsageReport.get", "path": "usage/users/{userKey}/dates/{date}", "httpMethod": "GET", "parameters": {"date": {"type": "string", "required": true, "location": "path"}, "filters": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "maximum": "1000", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "parameters": {"type": "string", "location": "query"}, "userKey": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "UsageReports"}, "scopes": ["https://www.googleapis.com/auth/admin.reports.usage.readonly"]}}}', true)); + + } +} + + + +class Google_Activities extends Google_Model { + protected $__itemsType = 'Google_Activity'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Activity) */ $items) { + $this->assertIsArray($items, 'Google_Activity', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Activity extends Google_Model { + protected $__actorType = 'Google_ActivityActor'; + protected $__actorDataType = ''; + public $actor; + protected $__eventsType = 'Google_ActivityEvents'; + protected $__eventsDataType = 'array'; + public $events; + protected $__idType = 'Google_ActivityId'; + protected $__idDataType = ''; + public $id; + public $ipAddress; + public $kind; + public $ownerDomain; + public function setActor(Google_ActivityActor $actor) { + $this->actor = $actor; + } + public function getActor() { + return $this->actor; + } + public function setEvents(/* array(Google_ActivityEvents) */ $events) { + $this->assertIsArray($events, 'Google_ActivityEvents', __METHOD__); + $this->events = $events; + } + public function getEvents() { + return $this->events; + } + public function setId(Google_ActivityId $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setIpAddress( $ipAddress) { + $this->ipAddress = $ipAddress; + } + public function getIpAddress() { + return $this->ipAddress; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOwnerDomain( $ownerDomain) { + $this->ownerDomain = $ownerDomain; + } + public function getOwnerDomain() { + return $this->ownerDomain; + } +} + +class Google_ActivityActor extends Google_Model { + public $callerType; + public $email; + public $key; + public $profileId; + public function setCallerType( $callerType) { + $this->callerType = $callerType; + } + public function getCallerType() { + return $this->callerType; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } +} + +class Google_ActivityEvents extends Google_Model { + public $name; + protected $__parametersType = 'Google_ActivityEventsParameters'; + protected $__parametersDataType = 'array'; + public $parameters; + public $type; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setParameters(/* array(Google_ActivityEventsParameters) */ $parameters) { + $this->assertIsArray($parameters, 'Google_ActivityEventsParameters', __METHOD__); + $this->parameters = $parameters; + } + public function getParameters() { + return $this->parameters; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ActivityEventsParameters extends Google_Model { + public $boolValue; + public $intValue; + public $name; + public $value; + public function setBoolValue( $boolValue) { + $this->boolValue = $boolValue; + } + public function getBoolValue() { + return $this->boolValue; + } + public function setIntValue( $intValue) { + $this->intValue = $intValue; + } + public function getIntValue() { + return $this->intValue; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ActivityId extends Google_Model { + public $applicationName; + public $customerId; + public $time; + public $uniqueQualifier; + public function setApplicationName( $applicationName) { + $this->applicationName = $applicationName; + } + public function getApplicationName() { + return $this->applicationName; + } + public function setCustomerId( $customerId) { + $this->customerId = $customerId; + } + public function getCustomerId() { + return $this->customerId; + } + public function setTime( $time) { + $this->time = $time; + } + public function getTime() { + return $this->time; + } + public function setUniqueQualifier( $uniqueQualifier) { + $this->uniqueQualifier = $uniqueQualifier; + } + public function getUniqueQualifier() { + return $this->uniqueQualifier; + } +} + +class Google_UsageReport extends Google_Model { + public $date; + protected $__entityType = 'Google_UsageReportEntity'; + protected $__entityDataType = ''; + public $entity; + public $kind; + protected $__parametersType = 'Google_UsageReportParameters'; + protected $__parametersDataType = 'array'; + public $parameters; + public function setDate( $date) { + $this->date = $date; + } + public function getDate() { + return $this->date; + } + public function setEntity(Google_UsageReportEntity $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParameters(/* array(Google_UsageReportParameters) */ $parameters) { + $this->assertIsArray($parameters, 'Google_UsageReportParameters', __METHOD__); + $this->parameters = $parameters; + } + public function getParameters() { + return $this->parameters; + } +} + +class Google_UsageReportEntity extends Google_Model { + public $customerId; + public $profileId; + public $type; + public $userEmail; + public function setCustomerId( $customerId) { + $this->customerId = $customerId; + } + public function getCustomerId() { + return $this->customerId; + } + public function setProfileId( $profileId) { + $this->profileId = $profileId; + } + public function getProfileId() { + return $this->profileId; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUserEmail( $userEmail) { + $this->userEmail = $userEmail; + } + public function getUserEmail() { + return $this->userEmail; + } +} + +class Google_UsageReportParameters extends Google_Model { + public $boolValue; + public $datetimeValue; + public $intValue; + public $name; + public $stringValue; + public function setBoolValue( $boolValue) { + $this->boolValue = $boolValue; + } + public function getBoolValue() { + return $this->boolValue; + } + public function setDatetimeValue( $datetimeValue) { + $this->datetimeValue = $datetimeValue; + } + public function getDatetimeValue() { + return $this->datetimeValue; + } + public function setIntValue( $intValue) { + $this->intValue = $intValue; + } + public function getIntValue() { + return $this->intValue; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setStringValue( $stringValue) { + $this->stringValue = $stringValue; + } + public function getStringValue() { + return $this->stringValue; + } +} + +class Google_UsageReports extends Google_Model { + public $kind; + public $nextPageToken; + protected $__usageReportsType = 'Google_UsageReport'; + protected $__usageReportsDataType = 'array'; + public $usageReports; + protected $__warningsType = 'Google_UsageReportsWarnings'; + protected $__warningsDataType = 'array'; + public $warnings; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setUsageReports(/* array(Google_UsageReport) */ $usageReports) { + $this->assertIsArray($usageReports, 'Google_UsageReport', __METHOD__); + $this->usageReports = $usageReports; + } + public function getUsageReports() { + return $this->usageReports; + } + public function setWarnings(/* array(Google_UsageReportsWarnings) */ $warnings) { + $this->assertIsArray($warnings, 'Google_UsageReportsWarnings', __METHOD__); + $this->warnings = $warnings; + } + public function getWarnings() { + return $this->warnings; + } +} + +class Google_UsageReportsWarnings extends Google_Model { + public $code; + protected $__dataType = 'Google_UsageReportsWarningsData'; + protected $__dataDataType = 'array'; + public $data; + public $message; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setData(/* array(Google_UsageReportsWarningsData) */ $data) { + $this->assertIsArray($data, 'Google_UsageReportsWarningsData', __METHOD__); + $this->data = $data; + } + public function getData() { + return $this->data; + } + public function setMessage( $message) { + $this->message = $message; + } + public function getMessage() { + return $this->message; + } +} + +class Google_UsageReportsWarningsData extends Google_Model { + public $key; + public $value; + public function setKey( $key) { + $this->key = $key; + } + public function getKey() { + return $this->key; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ResellerService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ResellerService.php new file mode 100644 index 0000000..63100dc --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ResellerService.php @@ -0,0 +1,700 @@ + + * $resellerService = new Google_ResellerService(...); + * $customers = $resellerService->customers; + * + */ + class Google_CustomersServiceResource extends Google_ServiceResource { + + /** + * Gets a customer resource if one exists and is owned by the reseller. (customers.get) + * + * @param string $customerId Id of the Customer + * @param array $optParams Optional parameters. + * @return Google_Customer + */ + public function get($customerId, $optParams = array()) { + $params = array('customerId' => $customerId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Customer($data); + } else { + return $data; + } + } + /** + * Creates a customer resource if one does not already exist. (customers.insert) + * + * @param Google_Customer $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string customerAuthToken An auth token needed for inserting a customer for which domain already exists. Can be generated at https://www.google.com/a/cpanel//TransferToken. Optional. + * @return Google_Customer + */ + public function insert(Google_Customer $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Customer($data); + } else { + return $data; + } + } + /** + * Update a customer resource if one it exists and is owned by the reseller. This method supports + * patch semantics. (customers.patch) + * + * @param string $customerId Id of the Customer + * @param Google_Customer $postBody + * @param array $optParams Optional parameters. + * @return Google_Customer + */ + public function patch($customerId, Google_Customer $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Customer($data); + } else { + return $data; + } + } + /** + * Update a customer resource if one it exists and is owned by the reseller. (customers.update) + * + * @param string $customerId Id of the Customer + * @param Google_Customer $postBody + * @param array $optParams Optional parameters. + * @return Google_Customer + */ + public function update($customerId, Google_Customer $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Customer($data); + } else { + return $data; + } + } + } + + /** + * The "subscriptions" collection of methods. + * Typical usage is: + * + * $resellerService = new Google_ResellerService(...); + * $subscriptions = $resellerService->subscriptions; + * + */ + class Google_SubscriptionsServiceResource extends Google_ServiceResource { + + /** + * Changes the plan of a subscription (subscriptions.changePlan) + * + * @param string $customerId Id of the Customer + * @param string $subscriptionId Id of the subscription, which is unique for a customer + * @param Google_ChangePlanRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function changePlan($customerId, $subscriptionId, Google_ChangePlanRequest $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('changePlan', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + /** + * Changes the renewal settings of a subscription (subscriptions.changeRenewalSettings) + * + * @param string $customerId Id of the Customer + * @param string $subscriptionId Id of the subscription, which is unique for a customer + * @param Google_RenewalSettings $postBody + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function changeRenewalSettings($customerId, $subscriptionId, Google_RenewalSettings $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('changeRenewalSettings', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + /** + * Changes the seats configuration of a subscription (subscriptions.changeSeats) + * + * @param string $customerId Id of the Customer + * @param string $subscriptionId Id of the subscription, which is unique for a customer + * @param Google_Seats $postBody + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function changeSeats($customerId, $subscriptionId, Google_Seats $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('changeSeats', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + /** + * Cancels/Downgrades a subscription. (subscriptions.delete) + * + * @param string $customerId Id of the Customer + * @param string $subscriptionId Id of the subscription, which is unique for a customer + * @param string $deletionType Whether the subscription is to be fully cancelled or downgraded + * @param array $optParams Optional parameters. + */ + public function delete($customerId, $subscriptionId, $deletionType, $optParams = array()) { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId, 'deletionType' => $deletionType); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Gets a subscription of the customer. (subscriptions.get) + * + * @param string $customerId Id of the Customer + * @param string $subscriptionId Id of the subscription, which is unique for a customer + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function get($customerId, $subscriptionId, $optParams = array()) { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + /** + * Creates/Transfers a subscription for the customer. (subscriptions.insert) + * + * @param string $customerId Id of the Customer + * @param Google_Subscription $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string customerAuthToken An auth token needed for transferring a subscription. Can be generated at https://www.google.com/a/cpanel/customer-domain/TransferToken. Optional. + * @return Google_Subscription + */ + public function insert($customerId, Google_Subscription $postBody, $optParams = array()) { + $params = array('customerId' => $customerId, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + /** + * Lists subscriptions of a reseller, optionally filtered by a customer name prefix. + * (subscriptions.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string customerAuthToken An auth token needed if the customer is not a resold customer of this reseller. Can be generated at https://www.google.com/a/cpanel/customer-domain/TransferToken.Optional. + * @opt_param string customerId Id of the Customer + * @opt_param string customerNamePrefix Prefix of the customer's domain name by which the subscriptions should be filtered. Optional + * @opt_param string maxResults Maximum number of results to return + * @opt_param string pageToken Token to specify next page in the list + * @return Google_Subscriptions + */ + public function listSubscriptions($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Subscriptions($data); + } else { + return $data; + } + } + /** + * Starts paid service of a trial subscription (subscriptions.startPaidService) + * + * @param string $customerId Id of the Customer + * @param string $subscriptionId Id of the subscription, which is unique for a customer + * @param array $optParams Optional parameters. + * @return Google_Subscription + */ + public function startPaidService($customerId, $subscriptionId, $optParams = array()) { + $params = array('customerId' => $customerId, 'subscriptionId' => $subscriptionId); + $params = array_merge($params, $optParams); + $data = $this->__call('startPaidService', array($params)); + if ($this->useObjects()) { + return new Google_Subscription($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Reseller (v1). + * + *

    + * Lets you create and manage your customers and their subscriptions. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_ResellerService extends Google_Service { + public $customers; + public $subscriptions; + /** + * Constructs the internal representation of the Reseller service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'apps/reseller/v1/'; + $this->version = 'v1'; + $this->serviceName = 'reseller'; + + $client->addService($this->serviceName, $this->version); + $this->customers = new Google_CustomersServiceResource($this, $this->serviceName, 'customers', json_decode('{"methods": {"get": {"id": "reseller.customers.get", "path": "customers/{customerId}", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Customer"}}, "insert": {"id": "reseller.customers.insert", "path": "customers", "httpMethod": "POST", "parameters": {"customerAuthToken": {"type": "string", "location": "query"}}, "request": {"$ref": "Customer"}, "response": {"$ref": "Customer"}}, "patch": {"id": "reseller.customers.patch", "path": "customers/{customerId}", "httpMethod": "PATCH", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Customer"}, "response": {"$ref": "Customer"}}, "update": {"id": "reseller.customers.update", "path": "customers/{customerId}", "httpMethod": "PUT", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Customer"}, "response": {"$ref": "Customer"}}}}', true)); + $this->subscriptions = new Google_SubscriptionsServiceResource($this, $this->serviceName, 'subscriptions', json_decode('{"methods": {"changePlan": {"id": "reseller.subscriptions.changePlan", "path": "customers/{customerId}/subscriptions/{subscriptionId}/changePlan", "httpMethod": "POST", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ChangePlanRequest"}, "response": {"$ref": "Subscription"}}, "changeRenewalSettings": {"id": "reseller.subscriptions.changeRenewalSettings", "path": "customers/{customerId}/subscriptions/{subscriptionId}/changeRenewalSettings", "httpMethod": "POST", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "RenewalSettings"}, "response": {"$ref": "Subscription"}}, "changeSeats": {"id": "reseller.subscriptions.changeSeats", "path": "customers/{customerId}/subscriptions/{subscriptionId}/changeSeats", "httpMethod": "POST", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Seats"}, "response": {"$ref": "Subscription"}}, "delete": {"id": "reseller.subscriptions.delete", "path": "customers/{customerId}/subscriptions/{subscriptionId}", "httpMethod": "DELETE", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "deletionType": {"type": "string", "required": true, "enum": ["cancel", "downgrade", "suspend"], "location": "query"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}}}, "get": {"id": "reseller.subscriptions.get", "path": "customers/{customerId}/subscriptions/{subscriptionId}", "httpMethod": "GET", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Subscription"}}, "insert": {"id": "reseller.subscriptions.insert", "path": "customers/{customerId}/subscriptions", "httpMethod": "POST", "parameters": {"customerAuthToken": {"type": "string", "location": "query"}, "customerId": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Subscription"}, "response": {"$ref": "Subscription"}}, "list": {"id": "reseller.subscriptions.list", "path": "subscriptions", "httpMethod": "GET", "parameters": {"customerAuthToken": {"type": "string", "location": "query"}, "customerId": {"type": "string", "location": "query"}, "customerNamePrefix": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "1", "maximum": "100", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "Subscriptions"}}, "startPaidService": {"id": "reseller.subscriptions.startPaidService", "path": "customers/{customerId}/subscriptions/{subscriptionId}/startPaidService", "httpMethod": "POST", "parameters": {"customerId": {"type": "string", "required": true, "location": "path"}, "subscriptionId": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Subscription"}}}}', true)); + + } +} + + + +class Google_Address extends Google_Model { + public $addressLine1; + public $addressLine2; + public $addressLine3; + public $contactName; + public $countryCode; + public $kind; + public $locality; + public $organizationName; + public $postalCode; + public $region; + public function setAddressLine1( $addressLine1) { + $this->addressLine1 = $addressLine1; + } + public function getAddressLine1() { + return $this->addressLine1; + } + public function setAddressLine2( $addressLine2) { + $this->addressLine2 = $addressLine2; + } + public function getAddressLine2() { + return $this->addressLine2; + } + public function setAddressLine3( $addressLine3) { + $this->addressLine3 = $addressLine3; + } + public function getAddressLine3() { + return $this->addressLine3; + } + public function setContactName( $contactName) { + $this->contactName = $contactName; + } + public function getContactName() { + return $this->contactName; + } + public function setCountryCode( $countryCode) { + $this->countryCode = $countryCode; + } + public function getCountryCode() { + return $this->countryCode; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLocality( $locality) { + $this->locality = $locality; + } + public function getLocality() { + return $this->locality; + } + public function setOrganizationName( $organizationName) { + $this->organizationName = $organizationName; + } + public function getOrganizationName() { + return $this->organizationName; + } + public function setPostalCode( $postalCode) { + $this->postalCode = $postalCode; + } + public function getPostalCode() { + return $this->postalCode; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } +} + +class Google_ChangePlanRequest extends Google_Model { + public $kind; + public $planName; + public $purchaseOrderId; + protected $__seatsType = 'Google_Seats'; + protected $__seatsDataType = ''; + public $seats; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPlanName( $planName) { + $this->planName = $planName; + } + public function getPlanName() { + return $this->planName; + } + public function setPurchaseOrderId( $purchaseOrderId) { + $this->purchaseOrderId = $purchaseOrderId; + } + public function getPurchaseOrderId() { + return $this->purchaseOrderId; + } + public function setSeats(Google_Seats $seats) { + $this->seats = $seats; + } + public function getSeats() { + return $this->seats; + } +} + +class Google_Customer extends Google_Model { + public $alternateEmail; + public $customerDomain; + public $customerId; + public $kind; + public $phoneNumber; + protected $__postalAddressType = 'Google_Address'; + protected $__postalAddressDataType = ''; + public $postalAddress; + public $resourceUiUrl; + public function setAlternateEmail( $alternateEmail) { + $this->alternateEmail = $alternateEmail; + } + public function getAlternateEmail() { + return $this->alternateEmail; + } + public function setCustomerDomain( $customerDomain) { + $this->customerDomain = $customerDomain; + } + public function getCustomerDomain() { + return $this->customerDomain; + } + public function setCustomerId( $customerId) { + $this->customerId = $customerId; + } + public function getCustomerId() { + return $this->customerId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPhoneNumber( $phoneNumber) { + $this->phoneNumber = $phoneNumber; + } + public function getPhoneNumber() { + return $this->phoneNumber; + } + public function setPostalAddress(Google_Address $postalAddress) { + $this->postalAddress = $postalAddress; + } + public function getPostalAddress() { + return $this->postalAddress; + } + public function setResourceUiUrl( $resourceUiUrl) { + $this->resourceUiUrl = $resourceUiUrl; + } + public function getResourceUiUrl() { + return $this->resourceUiUrl; + } +} + +class Google_RenewalSettings extends Google_Model { + public $kind; + public $renewalType; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRenewalType( $renewalType) { + $this->renewalType = $renewalType; + } + public function getRenewalType() { + return $this->renewalType; + } +} + +class Google_Seats extends Google_Model { + public $kind; + public $maximumNumberOfSeats; + public $numberOfSeats; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaximumNumberOfSeats( $maximumNumberOfSeats) { + $this->maximumNumberOfSeats = $maximumNumberOfSeats; + } + public function getMaximumNumberOfSeats() { + return $this->maximumNumberOfSeats; + } + public function setNumberOfSeats( $numberOfSeats) { + $this->numberOfSeats = $numberOfSeats; + } + public function getNumberOfSeats() { + return $this->numberOfSeats; + } +} + +class Google_Subscription extends Google_Model { + public $creationTime; + public $customerId; + public $kind; + protected $__planType = 'Google_SubscriptionPlan'; + protected $__planDataType = ''; + public $plan; + public $purchaseOrderId; + protected $__renewalSettingsType = 'Google_RenewalSettings'; + protected $__renewalSettingsDataType = ''; + public $renewalSettings; + public $resourceUiUrl; + protected $__seatsType = 'Google_Seats'; + protected $__seatsDataType = ''; + public $seats; + public $skuId; + public $status; + public $subscriptionId; + protected $__transferInfoType = 'Google_SubscriptionTransferInfo'; + protected $__transferInfoDataType = ''; + public $transferInfo; + protected $__trialSettingsType = 'Google_SubscriptionTrialSettings'; + protected $__trialSettingsDataType = ''; + public $trialSettings; + public function setCreationTime( $creationTime) { + $this->creationTime = $creationTime; + } + public function getCreationTime() { + return $this->creationTime; + } + public function setCustomerId( $customerId) { + $this->customerId = $customerId; + } + public function getCustomerId() { + return $this->customerId; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPlan(Google_SubscriptionPlan $plan) { + $this->plan = $plan; + } + public function getPlan() { + return $this->plan; + } + public function setPurchaseOrderId( $purchaseOrderId) { + $this->purchaseOrderId = $purchaseOrderId; + } + public function getPurchaseOrderId() { + return $this->purchaseOrderId; + } + public function setRenewalSettings(Google_RenewalSettings $renewalSettings) { + $this->renewalSettings = $renewalSettings; + } + public function getRenewalSettings() { + return $this->renewalSettings; + } + public function setResourceUiUrl( $resourceUiUrl) { + $this->resourceUiUrl = $resourceUiUrl; + } + public function getResourceUiUrl() { + return $this->resourceUiUrl; + } + public function setSeats(Google_Seats $seats) { + $this->seats = $seats; + } + public function getSeats() { + return $this->seats; + } + public function setSkuId( $skuId) { + $this->skuId = $skuId; + } + public function getSkuId() { + return $this->skuId; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setSubscriptionId( $subscriptionId) { + $this->subscriptionId = $subscriptionId; + } + public function getSubscriptionId() { + return $this->subscriptionId; + } + public function setTransferInfo(Google_SubscriptionTransferInfo $transferInfo) { + $this->transferInfo = $transferInfo; + } + public function getTransferInfo() { + return $this->transferInfo; + } + public function setTrialSettings(Google_SubscriptionTrialSettings $trialSettings) { + $this->trialSettings = $trialSettings; + } + public function getTrialSettings() { + return $this->trialSettings; + } +} + +class Google_SubscriptionPlan extends Google_Model { + protected $__commitmentIntervalType = 'Google_SubscriptionPlanCommitmentInterval'; + protected $__commitmentIntervalDataType = ''; + public $commitmentInterval; + public $isCommitmentPlan; + public $planName; + public function setCommitmentInterval(Google_SubscriptionPlanCommitmentInterval $commitmentInterval) { + $this->commitmentInterval = $commitmentInterval; + } + public function getCommitmentInterval() { + return $this->commitmentInterval; + } + public function setIsCommitmentPlan( $isCommitmentPlan) { + $this->isCommitmentPlan = $isCommitmentPlan; + } + public function getIsCommitmentPlan() { + return $this->isCommitmentPlan; + } + public function setPlanName( $planName) { + $this->planName = $planName; + } + public function getPlanName() { + return $this->planName; + } +} + +class Google_SubscriptionPlanCommitmentInterval extends Google_Model { + public $endTime; + public $startTime; + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } +} + +class Google_SubscriptionTransferInfo extends Google_Model { + public $transferabilityExpirationTime; + public function setTransferabilityExpirationTime( $transferabilityExpirationTime) { + $this->transferabilityExpirationTime = $transferabilityExpirationTime; + } + public function getTransferabilityExpirationTime() { + return $this->transferabilityExpirationTime; + } +} + +class Google_SubscriptionTrialSettings extends Google_Model { + public $isInTrial; + public $trialEndTime; + public function setIsInTrial( $isInTrial) { + $this->isInTrial = $isInTrial; + } + public function getIsInTrial() { + return $this->isInTrial; + } + public function setTrialEndTime( $trialEndTime) { + $this->trialEndTime = $trialEndTime; + } + public function getTrialEndTime() { + return $this->trialEndTime; + } +} + +class Google_Subscriptions extends Google_Model { + public $kind; + public $nextPageToken; + protected $__subscriptionsType = 'Google_Subscription'; + protected $__subscriptionsDataType = 'array'; + public $subscriptions; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setSubscriptions(/* array(Google_Subscription) */ $subscriptions) { + $this->assertIsArray($subscriptions, 'Google_Subscription', __METHOD__); + $this->subscriptions = $subscriptions; + } + public function getSubscriptions() { + return $this->subscriptions; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_SQLAdminService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_SQLAdminService.php new file mode 100644 index 0000000..9d5932f --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_SQLAdminService.php @@ -0,0 +1,1081 @@ + + * $sqladminService = new Google_SQLAdminService(...); + * $backupRuns = $sqladminService->backupRuns; + * + */ + class Google_BackupRunsServiceResource extends Google_ServiceResource { + + /** + * Retrieves a resource containing information about a backup run. (backupRuns.get) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param string $backupConfiguration Identifier for the backup configuration. This gets generated automatically when a backup configuration is created. + * @param string $dueTime The time when this run is due to start in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + * @param array $optParams Optional parameters. + * @return Google_BackupRun + */ + public function get($project, $instance, $backupConfiguration, $dueTime, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'backupConfiguration' => $backupConfiguration, 'dueTime' => $dueTime); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_BackupRun($data); + } else { + return $data; + } + } + /** + * Lists all backup runs associated with a given instance and configuration in the reverse + * chronological order of the enqueued time. (backupRuns.list) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param string $backupConfiguration Identifier for the backup configuration. This gets generated automatically when a backup configuration is created. + * @param array $optParams Optional parameters. + * + * @opt_param int maxResults Maximum number of backup runs per response. + * @opt_param string pageToken A previously-returned page token representing part of the larger set of results to view. + * @return Google_BackupRunsListResponse + */ + public function listBackupRuns($project, $instance, $backupConfiguration, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'backupConfiguration' => $backupConfiguration); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_BackupRunsListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "instances" collection of methods. + * Typical usage is: + * + * $sqladminService = new Google_SQLAdminService(...); + * $instances = $sqladminService->instances; + * + */ + class Google_InstancesServiceResource extends Google_ServiceResource { + + /** + * Deletes a database instance. (instances.delete) + * + * @param string $project Project ID of the project that contains the instance to be deleted. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param array $optParams Optional parameters. + * @return Google_InstancesDeleteResponse + */ + public function delete($project, $instance, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + if ($this->useObjects()) { + return new Google_InstancesDeleteResponse($data); + } else { + return $data; + } + } + /** + * Exports data from a database instance to a Google Cloud Storage bucket as a MySQL dump file. + * (instances.export) + * + * @param string $project Project ID of the project that contains the instance to be exported. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param Google_InstancesExportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_InstancesExportResponse + */ + public function export($project, $instance, Google_InstancesExportRequest $postBody, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('export', array($params)); + if ($this->useObjects()) { + return new Google_InstancesExportResponse($data); + } else { + return $data; + } + } + /** + * Retrieves a resource containing information about a database instance. (instances.get) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param array $optParams Optional parameters. + * @return Google_DatabaseInstance + */ + public function get($project, $instance, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_DatabaseInstance($data); + } else { + return $data; + } + } + /** + * Imports data into a database instance from a MySQL dump file in Google Cloud Storage. + * (instances.import) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param Google_InstancesImportRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_InstancesImportResponse + */ + public function import($project, $instance, Google_InstancesImportRequest $postBody, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('import', array($params)); + if ($this->useObjects()) { + return new Google_InstancesImportResponse($data); + } else { + return $data; + } + } + /** + * Creates a new database instance. (instances.insert) + * + * @param string $project Project ID of the project to which the newly created database instances should belong. You can find this on the project summary page of the Google APIs Console. + * @param Google_DatabaseInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_InstancesInsertResponse + */ + public function insert($project, Google_DatabaseInstance $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_InstancesInsertResponse($data); + } else { + return $data; + } + } + /** + * Lists instances under a given project in the alphabetical order of the instance name. + * (instances.list) + * + * @param string $project Project ID of the project for which to list database instances. You can find this on the project summary page of the Google APIs Console. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults The maximum number of results to return per response. + * @opt_param string pageToken A previously-returned page token representing part of the larger set of results to view. + * @return Google_InstancesListResponse + */ + public function listInstances($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_InstancesListResponse($data); + } else { + return $data; + } + } + /** + * Updates settings of a database instance. Caution: This is not a partial update, so you must + * include values for all the settings that you want to retain. For partial updates, use patch.. + * This method supports patch semantics. (instances.patch) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param Google_DatabaseInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_InstancesUpdateResponse + */ + public function patch($project, $instance, Google_DatabaseInstance $postBody, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_InstancesUpdateResponse($data); + } else { + return $data; + } + } + /** + * Restarts a database instance. (instances.restart) + * + * @param string $project Project ID of the project that contains the instance to be restarted. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param array $optParams Optional parameters. + * @return Google_InstancesRestartResponse + */ + public function restart($project, $instance, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('restart', array($params)); + if ($this->useObjects()) { + return new Google_InstancesRestartResponse($data); + } else { + return $data; + } + } + /** + * Restores a backup of a database instance. (instances.restoreBackup) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param string $backupConfiguration The identifier of the backup configuration. This gets generated automatically when a backup configuration is created. + * @param string $dueTime The time when this run is due to start in RFC 3339 format, for example 2012-11-15T16:19:00.094Z. + * @param array $optParams Optional parameters. + * @return Google_InstancesRestoreBackupResponse + */ + public function restoreBackup($project, $instance, $backupConfiguration, $dueTime, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'backupConfiguration' => $backupConfiguration, 'dueTime' => $dueTime); + $params = array_merge($params, $optParams); + $data = $this->__call('restoreBackup', array($params)); + if ($this->useObjects()) { + return new Google_InstancesRestoreBackupResponse($data); + } else { + return $data; + } + } + /** + * Updates settings of a database instance. Caution: This is not a partial update, so you must + * include values for all the settings that you want to retain. For partial updates, use patch. + * (instances.update) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param Google_DatabaseInstance $postBody + * @param array $optParams Optional parameters. + * @return Google_InstancesUpdateResponse + */ + public function update($project, $instance, Google_DatabaseInstance $postBody, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_InstancesUpdateResponse($data); + } else { + return $data; + } + } + } + + /** + * The "operations" collection of methods. + * Typical usage is: + * + * $sqladminService = new Google_SQLAdminService(...); + * $operations = $sqladminService->operations; + * + */ + class Google_OperationsServiceResource extends Google_ServiceResource { + + /** + * Retrieves an instance operation that has been performed on an instance. (operations.get) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param string $operation Instance operation ID. + * @param array $optParams Optional parameters. + * @return Google_InstanceOperation + */ + public function get($project, $instance, $operation, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance, 'operation' => $operation); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_InstanceOperation($data); + } else { + return $data; + } + } + /** + * Lists all instance operations that have been performed on the given database instance in the + * reverse chronological order of the start time. (operations.list) + * + * @param string $project Project ID of the project that contains the instance. You can find this on the project summary page of the Google APIs Console. + * @param string $instance Database instance ID. This does not include the project ID. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of operations per response. + * @opt_param string pageToken A previously-returned page token representing part of the larger set of results to view. + * @return Google_OperationsListResponse + */ + public function listOperations($project, $instance, $optParams = array()) { + $params = array('project' => $project, 'instance' => $instance); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_OperationsListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "tiers" collection of methods. + * Typical usage is: + * + * $sqladminService = new Google_SQLAdminService(...); + * $tiers = $sqladminService->tiers; + * + */ + class Google_TiersServiceResource extends Google_ServiceResource { + + /** + * Lists all available service tiers for Google Cloud SQL, for example D1, D2. For related + * information, see Pricing. (tiers.list) + * + * @param array $optParams Optional parameters. + * @return Google_TiersListResponse + */ + public function listTiers($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TiersListResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_SQLAdmin (v1beta1). + * + *

    + * API for Cloud SQL database instance management. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_SQLAdminService extends Google_Service { + public $backupRuns; + public $instances; + public $operations; + public $tiers; + /** + * Constructs the internal representation of the SQLAdmin service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'sql/v1beta1/'; + $this->version = 'v1beta1'; + $this->serviceName = 'sqladmin'; + + $client->addService($this->serviceName, $this->version); + $this->backupRuns = new Google_BackupRunsServiceResource($this, $this->serviceName, 'backupRuns', json_decode('{"methods": {"get": {"id": "sql.backupRuns.get", "path": "projects/{project}/instances/{instance}/backupRuns/{backupConfiguration}", "httpMethod": "GET", "parameters": {"backupConfiguration": {"type": "string", "required": true, "location": "path"}, "dueTime": {"type": "string", "required": true, "location": "query"}, "instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BackupRun"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "list": {"id": "sql.backupRuns.list", "path": "projects/{project}/instances/{instance}/backupRuns", "httpMethod": "GET", "parameters": {"backupConfiguration": {"type": "string", "required": true, "location": "query"}, "instance": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "int32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BackupRunsListResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}}}', true)); + $this->instances = new Google_InstancesServiceResource($this, $this->serviceName, 'instances', json_decode('{"methods": {"delete": {"id": "sql.instances.delete", "path": "projects/{project}/instances/{instance}", "httpMethod": "DELETE", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstancesDeleteResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "export": {"id": "sql.instances.export", "path": "projects/{project}/instances/{instance}/export", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "InstancesExportRequest"}, "response": {"$ref": "InstancesExportResponse"}, "scopes": ["https://www.googleapis.com/auth/cloud-platform"]}, "get": {"id": "sql.instances.get", "path": "projects/{project}/instances/{instance}", "httpMethod": "GET", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "DatabaseInstance"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "import": {"id": "sql.instances.import", "path": "projects/{project}/instances/{instance}/import", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "InstancesImportRequest"}, "response": {"$ref": "InstancesImportResponse"}, "scopes": ["https://www.googleapis.com/auth/cloud-platform"]}, "insert": {"id": "sql.instances.insert", "path": "projects/{project}/instances", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "DatabaseInstance"}, "response": {"$ref": "InstancesInsertResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "list": {"id": "sql.instances.list", "path": "projects/{project}/instances", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstancesListResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "patch": {"id": "sql.instances.patch", "path": "projects/{project}/instances/{instance}", "httpMethod": "PATCH", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "DatabaseInstance"}, "response": {"$ref": "InstancesUpdateResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "restart": {"id": "sql.instances.restart", "path": "projects/{project}/instances/{instance}/restart", "httpMethod": "POST", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstancesRestartResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "restoreBackup": {"id": "sql.instances.restoreBackup", "path": "projects/{project}/instances/{instance}/restoreBackup", "httpMethod": "POST", "parameters": {"backupConfiguration": {"type": "string", "required": true, "location": "query"}, "dueTime": {"type": "string", "required": true, "location": "query"}, "instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstancesRestoreBackupResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "update": {"id": "sql.instances.update", "path": "projects/{project}/instances/{instance}", "httpMethod": "PUT", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "etagRequired": true, "request": {"$ref": "DatabaseInstance"}, "response": {"$ref": "InstancesUpdateResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}}}', true)); + $this->operations = new Google_OperationsServiceResource($this, $this->serviceName, 'operations', json_decode('{"methods": {"get": {"id": "sql.operations.get", "path": "projects/{project}/instances/{instance}/operations/{operation}", "httpMethod": "GET", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "operation": {"type": "string", "required": true, "location": "path"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "InstanceOperation"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}, "list": {"id": "sql.operations.list", "path": "projects/{project}/instances/{instance}/operations", "httpMethod": "GET", "parameters": {"instance": {"type": "string", "required": true, "location": "path"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "OperationsListResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}}}', true)); + $this->tiers = new Google_TiersServiceResource($this, $this->serviceName, 'tiers', json_decode('{"methods": {"list": {"id": "sql.tiers.list", "path": "tiers", "httpMethod": "GET", "response": {"$ref": "TiersListResponse"}, "scopes": ["https://www.googleapis.com/auth/sqlservice.admin"]}}}', true)); + + } +} + + + +class Google_BackupConfiguration extends Google_Model { + public $enabled; + public $id; + public $kind; + public $startTime; + public function setEnabled( $enabled) { + $this->enabled = $enabled; + } + public function getEnabled() { + return $this->enabled; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } +} + +class Google_BackupRun extends Google_Model { + public $backupConfiguration; + public $dueTime; + public $endTime; + public $enqueuedTime; + protected $__errorType = 'Google_OperationError'; + protected $__errorDataType = ''; + public $error; + public $instance; + public $kind; + public $startTime; + public $status; + public function setBackupConfiguration( $backupConfiguration) { + $this->backupConfiguration = $backupConfiguration; + } + public function getBackupConfiguration() { + return $this->backupConfiguration; + } + public function setDueTime( $dueTime) { + $this->dueTime = $dueTime; + } + public function getDueTime() { + return $this->dueTime; + } + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setEnqueuedTime( $enqueuedTime) { + $this->enqueuedTime = $enqueuedTime; + } + public function getEnqueuedTime() { + return $this->enqueuedTime; + } + public function setError(Google_OperationError $error) { + $this->error = $error; + } + public function getError() { + return $this->error; + } + public function setInstance( $instance) { + $this->instance = $instance; + } + public function getInstance() { + return $this->instance; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_BackupRunsListResponse extends Google_Model { + protected $__itemsType = 'Google_BackupRun'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_BackupRun) */ $items) { + $this->assertIsArray($items, 'Google_BackupRun', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_DatabaseInstance extends Google_Model { + public $currentDiskSize; + public $databaseVersion; + public $etag; + public $instance; + public $kind; + public $maxDiskSize; + public $project; + public $region; + protected $__settingsType = 'Google_Settings'; + protected $__settingsDataType = ''; + public $settings; + public $state; + public function setCurrentDiskSize( $currentDiskSize) { + $this->currentDiskSize = $currentDiskSize; + } + public function getCurrentDiskSize() { + return $this->currentDiskSize; + } + public function setDatabaseVersion( $databaseVersion) { + $this->databaseVersion = $databaseVersion; + } + public function getDatabaseVersion() { + return $this->databaseVersion; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setInstance( $instance) { + $this->instance = $instance; + } + public function getInstance() { + return $this->instance; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxDiskSize( $maxDiskSize) { + $this->maxDiskSize = $maxDiskSize; + } + public function getMaxDiskSize() { + return $this->maxDiskSize; + } + public function setProject( $project) { + $this->project = $project; + } + public function getProject() { + return $this->project; + } + public function setRegion( $region) { + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setSettings(Google_Settings $settings) { + $this->settings = $settings; + } + public function getSettings() { + return $this->settings; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } +} + +class Google_ExportContext extends Google_Model { + public $database; + public $kind; + public $table; + public $uri; + public function setDatabase(/* array(Google_string) */ $database) { + $this->assertIsArray($database, 'Google_string', __METHOD__); + $this->database = $database; + } + public function getDatabase() { + return $this->database; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setTable(/* array(Google_string) */ $table) { + $this->assertIsArray($table, 'Google_string', __METHOD__); + $this->table = $table; + } + public function getTable() { + return $this->table; + } + public function setUri( $uri) { + $this->uri = $uri; + } + public function getUri() { + return $this->uri; + } +} + +class Google_ImportContext extends Google_Model { + public $database; + public $kind; + public $uri; + public function setDatabase( $database) { + $this->database = $database; + } + public function getDatabase() { + return $this->database; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setUri(/* array(Google_string) */ $uri) { + $this->assertIsArray($uri, 'Google_string', __METHOD__); + $this->uri = $uri; + } + public function getUri() { + return $this->uri; + } +} + +class Google_InstanceOperation extends Google_Model { + public $endTime; + public $enqueuedTime; + protected $__errorType = 'Google_OperationError'; + protected $__errorDataType = 'array'; + public $error; + protected $__exportContextType = 'Google_ExportContext'; + protected $__exportContextDataType = ''; + public $exportContext; + protected $__importContextType = 'Google_ImportContext'; + protected $__importContextDataType = ''; + public $importContext; + public $instance; + public $kind; + public $operation; + public $operationType; + public $startTime; + public $state; + public $userEmailAddress; + public function setEndTime( $endTime) { + $this->endTime = $endTime; + } + public function getEndTime() { + return $this->endTime; + } + public function setEnqueuedTime( $enqueuedTime) { + $this->enqueuedTime = $enqueuedTime; + } + public function getEnqueuedTime() { + return $this->enqueuedTime; + } + public function setError(/* array(Google_OperationError) */ $error) { + $this->assertIsArray($error, 'Google_OperationError', __METHOD__); + $this->error = $error; + } + public function getError() { + return $this->error; + } + public function setExportContext(Google_ExportContext $exportContext) { + $this->exportContext = $exportContext; + } + public function getExportContext() { + return $this->exportContext; + } + public function setImportContext(Google_ImportContext $importContext) { + $this->importContext = $importContext; + } + public function getImportContext() { + return $this->importContext; + } + public function setInstance( $instance) { + $this->instance = $instance; + } + public function getInstance() { + return $this->instance; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } + public function setOperationType( $operationType) { + $this->operationType = $operationType; + } + public function getOperationType() { + return $this->operationType; + } + public function setStartTime( $startTime) { + $this->startTime = $startTime; + } + public function getStartTime() { + return $this->startTime; + } + public function setState( $state) { + $this->state = $state; + } + public function getState() { + return $this->state; + } + public function setUserEmailAddress( $userEmailAddress) { + $this->userEmailAddress = $userEmailAddress; + } + public function getUserEmailAddress() { + return $this->userEmailAddress; + } +} + +class Google_InstancesDeleteResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_InstancesExportRequest extends Google_Model { + protected $__exportContextType = 'Google_ExportContext'; + protected $__exportContextDataType = ''; + public $exportContext; + public function setExportContext(Google_ExportContext $exportContext) { + $this->exportContext = $exportContext; + } + public function getExportContext() { + return $this->exportContext; + } +} + +class Google_InstancesExportResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_InstancesImportRequest extends Google_Model { + protected $__importContextType = 'Google_ImportContext'; + protected $__importContextDataType = ''; + public $importContext; + public function setImportContext(Google_ImportContext $importContext) { + $this->importContext = $importContext; + } + public function getImportContext() { + return $this->importContext; + } +} + +class Google_InstancesImportResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_InstancesInsertResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_InstancesListResponse extends Google_Model { + protected $__itemsType = 'Google_DatabaseInstance'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_DatabaseInstance) */ $items) { + $this->assertIsArray($items, 'Google_DatabaseInstance', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_InstancesRestartResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_InstancesRestoreBackupResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_InstancesUpdateResponse extends Google_Model { + public $kind; + public $operation; + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setOperation( $operation) { + $this->operation = $operation; + } + public function getOperation() { + return $this->operation; + } +} + +class Google_OperationError extends Google_Model { + public $code; + public $kind; + public function setCode( $code) { + $this->code = $code; + } + public function getCode() { + return $this->code; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_OperationsListResponse extends Google_Model { + protected $__itemsType = 'Google_InstanceOperation'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_InstanceOperation) */ $items) { + $this->assertIsArray($items, 'Google_InstanceOperation', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Settings extends Google_Model { + public $activationPolicy; + public $authorizedGaeApplications; + protected $__backupConfigurationType = 'Google_BackupConfiguration'; + protected $__backupConfigurationDataType = 'array'; + public $backupConfiguration; + public $kind; + public $pricingPlan; + public $replicationType; + public $tier; + public function setActivationPolicy( $activationPolicy) { + $this->activationPolicy = $activationPolicy; + } + public function getActivationPolicy() { + return $this->activationPolicy; + } + public function setAuthorizedGaeApplications(/* array(Google_string) */ $authorizedGaeApplications) { + $this->assertIsArray($authorizedGaeApplications, 'Google_string', __METHOD__); + $this->authorizedGaeApplications = $authorizedGaeApplications; + } + public function getAuthorizedGaeApplications() { + return $this->authorizedGaeApplications; + } + public function setBackupConfiguration(/* array(Google_BackupConfiguration) */ $backupConfiguration) { + $this->assertIsArray($backupConfiguration, 'Google_BackupConfiguration', __METHOD__); + $this->backupConfiguration = $backupConfiguration; + } + public function getBackupConfiguration() { + return $this->backupConfiguration; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setPricingPlan( $pricingPlan) { + $this->pricingPlan = $pricingPlan; + } + public function getPricingPlan() { + return $this->pricingPlan; + } + public function setReplicationType( $replicationType) { + $this->replicationType = $replicationType; + } + public function getReplicationType() { + return $this->replicationType; + } + public function setTier( $tier) { + $this->tier = $tier; + } + public function getTier() { + return $this->tier; + } +} + +class Google_Tier extends Google_Model { + public $DiskQuota; + public $RAM; + public $kind; + public $region; + public $tier; + public function setDiskQuota( $DiskQuota) { + $this->DiskQuota = $DiskQuota; + } + public function getDiskQuota() { + return $this->DiskQuota; + } + public function setRAM( $RAM) { + $this->RAM = $RAM; + } + public function getRAM() { + return $this->RAM; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRegion(/* array(Google_string) */ $region) { + $this->assertIsArray($region, 'Google_string', __METHOD__); + $this->region = $region; + } + public function getRegion() { + return $this->region; + } + public function setTier( $tier) { + $this->tier = $tier; + } + public function getTier() { + return $this->tier; + } +} + +class Google_TiersListResponse extends Google_Model { + protected $__itemsType = 'Google_Tier'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Tier) */ $items) { + $this->assertIsArray($items, 'Google_Tier', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ShoppingService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ShoppingService.php new file mode 100644 index 0000000..8ce399c --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_ShoppingService.php @@ -0,0 +1,1408 @@ + + * $shoppingService = new Google_ShoppingService(...); + * $products = $shoppingService->products; + * + */ + class Google_ProductsServiceResource extends Google_ServiceResource { + + /** + * Returns a single product (products.get) + * + * @param string $source Query source + * @param string $accountId Merchant center account id + * @param string $productIdType Type of productId + * @param string $productId Id of product + * @param array $optParams Optional parameters. + * + * @opt_param string attributeFilter Comma separated list of attributes to return + * @opt_param bool categories.enabled Whether to return category information + * @opt_param string categories.include Category specification + * @opt_param bool categories.useGcsConfig This parameter is currently ignored + * @opt_param string location Location used to determine tax and shipping + * @opt_param bool recommendations.enabled Whether to return recommendation information + * @opt_param string recommendations.include Recommendation specification + * @opt_param bool recommendations.useGcsConfig This parameter is currently ignored + * @opt_param string taxonomy Merchant taxonomy + * @opt_param string thumbnails Thumbnail specification + * @return Google_Product + */ + public function get($source, $accountId, $productIdType, $productId, $optParams = array()) { + $params = array('source' => $source, 'accountId' => $accountId, 'productIdType' => $productIdType, 'productId' => $productId); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Product($data); + } else { + return $data; + } + } + /** + * Returns a list of products and content modules (products.list) + * + * @param string $source Query source + * @param array $optParams Optional parameters. + * + * @opt_param string attributeFilter Comma separated list of attributes to return + * @opt_param string availability Comma separated list of availabilities (outOfStock, limited, inStock, backOrder, preOrder, onDisplayToOrder) to return + * @opt_param string boostBy Boosting specification + * @opt_param bool categories.enabled Whether to return category information + * @opt_param string categories.include Category specification + * @opt_param bool categories.useGcsConfig This parameter is currently ignored + * @opt_param string categoryRecommendations.category Category for which to retrieve recommendations + * @opt_param bool categoryRecommendations.enabled Whether to return category recommendation information + * @opt_param string categoryRecommendations.include Category recommendation specification + * @opt_param bool categoryRecommendations.useGcsConfig This parameter is currently ignored + * @opt_param string channels Channels specification + * @opt_param bool clickTracking Whether to add a click tracking parameter to offer URLs + * @opt_param string country Country restriction (ISO 3166) + * @opt_param string crowdBy Crowding specification + * @opt_param string currency Currency restriction (ISO 4217) + * @opt_param bool extras.enabled Whether to return extra information. + * @opt_param string extras.info What extra information to return. + * @opt_param string facets.discover Facets to discover + * @opt_param bool facets.enabled Whether to return facet information + * @opt_param string facets.include Facets to include (applies when useGcsConfig == false) + * @opt_param bool facets.includeEmptyBuckets Return empty facet buckets. + * @opt_param bool facets.useGcsConfig Whether to return facet information as configured in the GCS account + * @opt_param string language Language restriction (BCP 47) + * @opt_param string location Location used to determine tax and shipping + * @opt_param string maxResults Maximum number of results to return + * @opt_param int maxVariants Maximum number of variant results to return per result + * @opt_param bool promotions.enabled Whether to return promotion information + * @opt_param bool promotions.useGcsConfig Whether to return promotion information as configured in the GCS account + * @opt_param string q Search query + * @opt_param string rankBy Ranking specification + * @opt_param bool redirects.enabled Whether to return redirect information + * @opt_param bool redirects.useGcsConfig Whether to return redirect information as configured in the GCS account + * @opt_param bool relatedQueries.enabled Whether to return related queries + * @opt_param bool relatedQueries.useGcsConfig This parameter is currently ignored + * @opt_param string restrictBy Restriction specification + * @opt_param bool safe Whether safe search is enabled. Default: true + * @opt_param bool spelling.enabled Whether to return spelling suggestions + * @opt_param bool spelling.useGcsConfig This parameter is currently ignored + * @opt_param string startIndex Index (1-based) of first product to return + * @opt_param string taxonomy Taxonomy name + * @opt_param string thumbnails Image thumbnails specification + * @opt_param string useCase One of CommerceSearchUseCase, ShoppingApiUseCase + * @return Google_Products + */ + public function listProducts($source, $optParams = array()) { + $params = array('source' => $source); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Products($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Shopping (v1). + * + *

    + * Lets you search over product data. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_ShoppingService extends Google_Service { + public $products; + /** + * Constructs the internal representation of the Shopping service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'shopping/search/v1/'; + $this->version = 'v1'; + $this->serviceName = 'shopping'; + + $client->addService($this->serviceName, $this->version); + $this->products = new Google_ProductsServiceResource($this, $this->serviceName, 'products', json_decode('{"methods": {"get": {"id": "shopping.products.get", "path": "{source}/products/{accountId}/{productIdType}/{productId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "integer", "required": true, "format": "uint32", "location": "path"}, "attributeFilter": {"type": "string", "location": "query"}, "categories.enabled": {"type": "boolean", "location": "query"}, "categories.include": {"type": "string", "location": "query"}, "categories.useGcsConfig": {"type": "boolean", "location": "query"}, "location": {"type": "string", "location": "query"}, "productId": {"type": "string", "required": true, "location": "path"}, "productIdType": {"type": "string", "required": true, "location": "path"}, "recommendations.enabled": {"type": "boolean", "location": "query"}, "recommendations.include": {"type": "string", "location": "query"}, "recommendations.useGcsConfig": {"type": "boolean", "location": "query"}, "source": {"type": "string", "required": true, "location": "path"}, "taxonomy": {"type": "string", "location": "query"}, "thumbnails": {"type": "string", "location": "query"}}, "response": {"$ref": "Product"}, "scopes": ["https://www.googleapis.com/auth/shoppingapi"]}, "list": {"id": "shopping.products.list", "path": "{source}/products", "httpMethod": "GET", "parameters": {"attributeFilter": {"type": "string", "location": "query"}, "availability": {"type": "string", "location": "query"}, "boostBy": {"type": "string", "location": "query"}, "categories.enabled": {"type": "boolean", "location": "query"}, "categories.include": {"type": "string", "location": "query"}, "categories.useGcsConfig": {"type": "boolean", "location": "query"}, "categoryRecommendations.category": {"type": "string", "location": "query"}, "categoryRecommendations.enabled": {"type": "boolean", "location": "query"}, "categoryRecommendations.include": {"type": "string", "location": "query"}, "categoryRecommendations.useGcsConfig": {"type": "boolean", "location": "query"}, "channels": {"type": "string", "location": "query"}, "clickTracking": {"type": "boolean", "location": "query"}, "country": {"type": "string", "location": "query"}, "crowdBy": {"type": "string", "location": "query"}, "currency": {"type": "string", "location": "query"}, "extras.enabled": {"type": "boolean", "location": "query"}, "extras.info": {"type": "string", "location": "query"}, "facets.discover": {"type": "string", "location": "query"}, "facets.enabled": {"type": "boolean", "location": "query"}, "facets.include": {"type": "string", "location": "query"}, "facets.includeEmptyBuckets": {"type": "boolean", "location": "query"}, "facets.useGcsConfig": {"type": "boolean", "location": "query"}, "language": {"type": "string", "location": "query"}, "location": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "maxVariants": {"type": "integer", "format": "int32", "location": "query"}, "promotions.enabled": {"type": "boolean", "location": "query"}, "promotions.useGcsConfig": {"type": "boolean", "location": "query"}, "q": {"type": "string", "location": "query"}, "rankBy": {"type": "string", "location": "query"}, "redirects.enabled": {"type": "boolean", "location": "query"}, "redirects.useGcsConfig": {"type": "boolean", "location": "query"}, "relatedQueries.enabled": {"type": "boolean", "location": "query"}, "relatedQueries.useGcsConfig": {"type": "boolean", "location": "query"}, "restrictBy": {"type": "string", "location": "query"}, "safe": {"type": "boolean", "location": "query"}, "source": {"type": "string", "required": true, "location": "path"}, "spelling.enabled": {"type": "boolean", "location": "query"}, "spelling.useGcsConfig": {"type": "boolean", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "location": "query"}, "taxonomy": {"type": "string", "location": "query"}, "thumbnails": {"type": "string", "location": "query"}, "useCase": {"type": "string", "location": "query"}}, "response": {"$ref": "Products"}, "scopes": ["https://www.googleapis.com/auth/shoppingapi"]}}}', true)); + + } +} + + + +class Google_Product extends Google_Model { + protected $__categoriesType = 'Google_ShoppingModelCategoryJsonV1'; + protected $__categoriesDataType = 'array'; + public $categories; + protected $__debugType = 'Google_ShoppingModelDebugJsonV1'; + protected $__debugDataType = ''; + public $debug; + public $id; + public $kind; + protected $__productType = 'Google_ShoppingModelProductJsonV1'; + protected $__productDataType = ''; + public $product; + protected $__recommendationsType = 'Google_ShoppingModelRecommendationsJsonV1'; + protected $__recommendationsDataType = 'array'; + public $recommendations; + public $requestId; + public $selfLink; + public function setCategories(/* array(Google_ShoppingModelCategoryJsonV1) */ $categories) { + $this->assertIsArray($categories, 'Google_ShoppingModelCategoryJsonV1', __METHOD__); + $this->categories = $categories; + } + public function getCategories() { + return $this->categories; + } + public function setDebug(Google_ShoppingModelDebugJsonV1 $debug) { + $this->debug = $debug; + } + public function getDebug() { + return $this->debug; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setProduct(Google_ShoppingModelProductJsonV1 $product) { + $this->product = $product; + } + public function getProduct() { + return $this->product; + } + public function setRecommendations(/* array(Google_ShoppingModelRecommendationsJsonV1) */ $recommendations) { + $this->assertIsArray($recommendations, 'Google_ShoppingModelRecommendationsJsonV1', __METHOD__); + $this->recommendations = $recommendations; + } + public function getRecommendations() { + return $this->recommendations; + } + public function setRequestId( $requestId) { + $this->requestId = $requestId; + } + public function getRequestId() { + return $this->requestId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_Products extends Google_Model { + protected $__categoriesType = 'Google_ShoppingModelCategoryJsonV1'; + protected $__categoriesDataType = 'array'; + public $categories; + protected $__categoryRecommendationsType = 'Google_ShoppingModelRecommendationsJsonV1'; + protected $__categoryRecommendationsDataType = 'array'; + public $categoryRecommendations; + public $currentItemCount; + protected $__debugType = 'Google_ShoppingModelDebugJsonV1'; + protected $__debugDataType = ''; + public $debug; + public $etag; + protected $__extrasType = 'Google_ShoppingModelExtrasJsonV1'; + protected $__extrasDataType = ''; + public $extras; + protected $__facetsType = 'Google_ProductsFacets'; + protected $__facetsDataType = 'array'; + public $facets; + public $id; + protected $__itemsType = 'Google_Product'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextLink; + public $previousLink; + protected $__promotionsType = 'Google_ProductsPromotions'; + protected $__promotionsDataType = 'array'; + public $promotions; + public $redirects; + public $relatedQueries; + public $requestId; + public $selfLink; + protected $__spellingType = 'Google_ProductsSpelling'; + protected $__spellingDataType = ''; + public $spelling; + public $startIndex; + protected $__storesType = 'Google_ProductsStores'; + protected $__storesDataType = 'array'; + public $stores; + public $totalItems; + public function setCategories(/* array(Google_ShoppingModelCategoryJsonV1) */ $categories) { + $this->assertIsArray($categories, 'Google_ShoppingModelCategoryJsonV1', __METHOD__); + $this->categories = $categories; + } + public function getCategories() { + return $this->categories; + } + public function setCategoryRecommendations(/* array(Google_ShoppingModelRecommendationsJsonV1) */ $categoryRecommendations) { + $this->assertIsArray($categoryRecommendations, 'Google_ShoppingModelRecommendationsJsonV1', __METHOD__); + $this->categoryRecommendations = $categoryRecommendations; + } + public function getCategoryRecommendations() { + return $this->categoryRecommendations; + } + public function setCurrentItemCount( $currentItemCount) { + $this->currentItemCount = $currentItemCount; + } + public function getCurrentItemCount() { + return $this->currentItemCount; + } + public function setDebug(Google_ShoppingModelDebugJsonV1 $debug) { + $this->debug = $debug; + } + public function getDebug() { + return $this->debug; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setExtras(Google_ShoppingModelExtrasJsonV1 $extras) { + $this->extras = $extras; + } + public function getExtras() { + return $this->extras; + } + public function setFacets(/* array(Google_ProductsFacets) */ $facets) { + $this->assertIsArray($facets, 'Google_ProductsFacets', __METHOD__); + $this->facets = $facets; + } + public function getFacets() { + return $this->facets; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setItems(/* array(Google_Product) */ $items) { + $this->assertIsArray($items, 'Google_Product', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextLink( $nextLink) { + $this->nextLink = $nextLink; + } + public function getNextLink() { + return $this->nextLink; + } + public function setPreviousLink( $previousLink) { + $this->previousLink = $previousLink; + } + public function getPreviousLink() { + return $this->previousLink; + } + public function setPromotions(/* array(Google_ProductsPromotions) */ $promotions) { + $this->assertIsArray($promotions, 'Google_ProductsPromotions', __METHOD__); + $this->promotions = $promotions; + } + public function getPromotions() { + return $this->promotions; + } + public function setRedirects(/* array(Google_string) */ $redirects) { + $this->assertIsArray($redirects, 'Google_string', __METHOD__); + $this->redirects = $redirects; + } + public function getRedirects() { + return $this->redirects; + } + public function setRelatedQueries(/* array(Google_string) */ $relatedQueries) { + $this->assertIsArray($relatedQueries, 'Google_string', __METHOD__); + $this->relatedQueries = $relatedQueries; + } + public function getRelatedQueries() { + return $this->relatedQueries; + } + public function setRequestId( $requestId) { + $this->requestId = $requestId; + } + public function getRequestId() { + return $this->requestId; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSpelling(Google_ProductsSpelling $spelling) { + $this->spelling = $spelling; + } + public function getSpelling() { + return $this->spelling; + } + public function setStartIndex( $startIndex) { + $this->startIndex = $startIndex; + } + public function getStartIndex() { + return $this->startIndex; + } + public function setStores(/* array(Google_ProductsStores) */ $stores) { + $this->assertIsArray($stores, 'Google_ProductsStores', __METHOD__); + $this->stores = $stores; + } + public function getStores() { + return $this->stores; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} + +class Google_ProductsFacets extends Google_Model { + protected $__bucketsType = 'Google_ProductsFacetsBuckets'; + protected $__bucketsDataType = 'array'; + public $buckets; + public $count; + public $displayName; + public $name; + public $property; + public $type; + public $unit; + public function setBuckets(/* array(Google_ProductsFacetsBuckets) */ $buckets) { + $this->assertIsArray($buckets, 'Google_ProductsFacetsBuckets', __METHOD__); + $this->buckets = $buckets; + } + public function getBuckets() { + return $this->buckets; + } + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setProperty( $property) { + $this->property = $property; + } + public function getProperty() { + return $this->property; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUnit( $unit) { + $this->unit = $unit; + } + public function getUnit() { + return $this->unit; + } +} + +class Google_ProductsFacetsBuckets extends Google_Model { + public $count; + public $max; + public $maxExclusive; + public $min; + public $minExclusive; + public $value; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setMax( $max) { + $this->max = $max; + } + public function getMax() { + return $this->max; + } + public function setMaxExclusive( $maxExclusive) { + $this->maxExclusive = $maxExclusive; + } + public function getMaxExclusive() { + return $this->maxExclusive; + } + public function setMin( $min) { + $this->min = $min; + } + public function getMin() { + return $this->min; + } + public function setMinExclusive( $minExclusive) { + $this->minExclusive = $minExclusive; + } + public function getMinExclusive() { + return $this->minExclusive; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ProductsPromotions extends Google_Model { + protected $__customFieldsType = 'Google_ProductsPromotionsCustomFields'; + protected $__customFieldsDataType = 'array'; + public $customFields; + public $customHtml; + public $description; + public $destLink; + public $imageLink; + public $name; + protected $__productType = 'Google_ShoppingModelProductJsonV1'; + protected $__productDataType = ''; + public $product; + public $type; + public function setCustomFields(/* array(Google_ProductsPromotionsCustomFields) */ $customFields) { + $this->assertIsArray($customFields, 'Google_ProductsPromotionsCustomFields', __METHOD__); + $this->customFields = $customFields; + } + public function getCustomFields() { + return $this->customFields; + } + public function setCustomHtml( $customHtml) { + $this->customHtml = $customHtml; + } + public function getCustomHtml() { + return $this->customHtml; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setDestLink( $destLink) { + $this->destLink = $destLink; + } + public function getDestLink() { + return $this->destLink; + } + public function setImageLink( $imageLink) { + $this->imageLink = $imageLink; + } + public function getImageLink() { + return $this->imageLink; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setProduct(Google_ShoppingModelProductJsonV1 $product) { + $this->product = $product; + } + public function getProduct() { + return $this->product; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ProductsPromotionsCustomFields extends Google_Model { + public $name; + public $value; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ProductsSpelling extends Google_Model { + public $suggestion; + public function setSuggestion( $suggestion) { + $this->suggestion = $suggestion; + } + public function getSuggestion() { + return $this->suggestion; + } +} + +class Google_ProductsStores extends Google_Model { + public $address; + public $location; + public $name; + public $storeCode; + public $storeId; + public $storeName; + public $telephone; + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setStoreCode( $storeCode) { + $this->storeCode = $storeCode; + } + public function getStoreCode() { + return $this->storeCode; + } + public function setStoreId( $storeId) { + $this->storeId = $storeId; + } + public function getStoreId() { + return $this->storeId; + } + public function setStoreName( $storeName) { + $this->storeName = $storeName; + } + public function getStoreName() { + return $this->storeName; + } + public function setTelephone( $telephone) { + $this->telephone = $telephone; + } + public function getTelephone() { + return $this->telephone; + } +} + +class Google_ShoppingModelCategoryJsonV1 extends Google_Model { + public $id; + public $parents; + public $shortName; + public $url; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setParents(/* array(Google_string) */ $parents) { + $this->assertIsArray($parents, 'Google_string', __METHOD__); + $this->parents = $parents; + } + public function getParents() { + return $this->parents; + } + public function setShortName( $shortName) { + $this->shortName = $shortName; + } + public function getShortName() { + return $this->shortName; + } + public function setUrl( $url) { + $this->url = $url; + } + public function getUrl() { + return $this->url; + } +} + +class Google_ShoppingModelDebugJsonV1 extends Google_Model { + protected $__backendTimesType = 'Google_ShoppingModelDebugJsonV1BackendTimes'; + protected $__backendTimesDataType = 'array'; + public $backendTimes; + public $elapsedMillis; + public $facetsRequest; + public $facetsResponse; + public $rdcResponse; + public $recommendedItemsRequest; + public $recommendedItemsResponse; + public $searchRequest; + public $searchResponse; + public function setBackendTimes(/* array(Google_ShoppingModelDebugJsonV1BackendTimes) */ $backendTimes) { + $this->assertIsArray($backendTimes, 'Google_ShoppingModelDebugJsonV1BackendTimes', __METHOD__); + $this->backendTimes = $backendTimes; + } + public function getBackendTimes() { + return $this->backendTimes; + } + public function setElapsedMillis( $elapsedMillis) { + $this->elapsedMillis = $elapsedMillis; + } + public function getElapsedMillis() { + return $this->elapsedMillis; + } + public function setFacetsRequest( $facetsRequest) { + $this->facetsRequest = $facetsRequest; + } + public function getFacetsRequest() { + return $this->facetsRequest; + } + public function setFacetsResponse( $facetsResponse) { + $this->facetsResponse = $facetsResponse; + } + public function getFacetsResponse() { + return $this->facetsResponse; + } + public function setRdcResponse( $rdcResponse) { + $this->rdcResponse = $rdcResponse; + } + public function getRdcResponse() { + return $this->rdcResponse; + } + public function setRecommendedItemsRequest( $recommendedItemsRequest) { + $this->recommendedItemsRequest = $recommendedItemsRequest; + } + public function getRecommendedItemsRequest() { + return $this->recommendedItemsRequest; + } + public function setRecommendedItemsResponse( $recommendedItemsResponse) { + $this->recommendedItemsResponse = $recommendedItemsResponse; + } + public function getRecommendedItemsResponse() { + return $this->recommendedItemsResponse; + } + public function setSearchRequest( $searchRequest) { + $this->searchRequest = $searchRequest; + } + public function getSearchRequest() { + return $this->searchRequest; + } + public function setSearchResponse( $searchResponse) { + $this->searchResponse = $searchResponse; + } + public function getSearchResponse() { + return $this->searchResponse; + } +} + +class Google_ShoppingModelDebugJsonV1BackendTimes extends Google_Model { + public $elapsedMillis; + public $hostName; + public $name; + public $serverMillis; + public function setElapsedMillis( $elapsedMillis) { + $this->elapsedMillis = $elapsedMillis; + } + public function getElapsedMillis() { + return $this->elapsedMillis; + } + public function setHostName( $hostName) { + $this->hostName = $hostName; + } + public function getHostName() { + return $this->hostName; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setServerMillis( $serverMillis) { + $this->serverMillis = $serverMillis; + } + public function getServerMillis() { + return $this->serverMillis; + } +} + +class Google_ShoppingModelExtrasJsonV1 extends Google_Model { + protected $__facetRulesType = 'Google_ShoppingModelExtrasJsonV1FacetRules'; + protected $__facetRulesDataType = 'array'; + public $facetRules; + protected $__rankingRulesType = 'Google_ShoppingModelExtrasJsonV1RankingRules'; + protected $__rankingRulesDataType = 'array'; + public $rankingRules; + public function setFacetRules(/* array(Google_ShoppingModelExtrasJsonV1FacetRules) */ $facetRules) { + $this->assertIsArray($facetRules, 'Google_ShoppingModelExtrasJsonV1FacetRules', __METHOD__); + $this->facetRules = $facetRules; + } + public function getFacetRules() { + return $this->facetRules; + } + public function setRankingRules(/* array(Google_ShoppingModelExtrasJsonV1RankingRules) */ $rankingRules) { + $this->assertIsArray($rankingRules, 'Google_ShoppingModelExtrasJsonV1RankingRules', __METHOD__); + $this->rankingRules = $rankingRules; + } + public function getRankingRules() { + return $this->rankingRules; + } +} + +class Google_ShoppingModelExtrasJsonV1FacetRules extends Google_Model { + public $name; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_ShoppingModelExtrasJsonV1RankingRules extends Google_Model { + public $name; + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_ShoppingModelProductJsonV1 extends Google_Model { + protected $__attributesType = 'Google_ShoppingModelProductJsonV1Attributes'; + protected $__attributesDataType = 'array'; + public $attributes; + protected $__authorType = 'Google_ShoppingModelProductJsonV1Author'; + protected $__authorDataType = ''; + public $author; + public $brand; + public $categories; + public $condition; + public $country; + public $creationTime; + public $description; + public $googleId; + public $gtin; + public $gtins; + protected $__imagesType = 'Google_ShoppingModelProductJsonV1Images'; + protected $__imagesDataType = 'array'; + public $images; + public $internal1; + public $internal10; + public $internal12; + public $internal13; + public $internal14; + public $internal15; + protected $__internal16Type = 'Google_ShoppingModelProductJsonV1Internal16'; + protected $__internal16DataType = ''; + public $internal16; + public $internal3; + protected $__internal4Type = 'Google_ShoppingModelProductJsonV1Internal4'; + protected $__internal4DataType = 'array'; + public $internal4; + public $internal6; + public $internal7; + public $internal8; + protected $__inventoriesType = 'Google_ShoppingModelProductJsonV1Inventories'; + protected $__inventoriesDataType = 'array'; + public $inventories; + public $language; + public $link; + public $modificationTime; + public $mpns; + public $plusOne; + public $providedId; + public $queryMatched; + public $score; + public $title; + public $totalMatchingVariants; + protected $__variantsType = 'Google_ShoppingModelProductJsonV1Variants'; + protected $__variantsDataType = 'array'; + public $variants; + public function setAttributes(/* array(Google_ShoppingModelProductJsonV1Attributes) */ $attributes) { + $this->assertIsArray($attributes, 'Google_ShoppingModelProductJsonV1Attributes', __METHOD__); + $this->attributes = $attributes; + } + public function getAttributes() { + return $this->attributes; + } + public function setAuthor(Google_ShoppingModelProductJsonV1Author $author) { + $this->author = $author; + } + public function getAuthor() { + return $this->author; + } + public function setBrand( $brand) { + $this->brand = $brand; + } + public function getBrand() { + return $this->brand; + } + public function setCategories(/* array(Google_string) */ $categories) { + $this->assertIsArray($categories, 'Google_string', __METHOD__); + $this->categories = $categories; + } + public function getCategories() { + return $this->categories; + } + public function setCondition( $condition) { + $this->condition = $condition; + } + public function getCondition() { + return $this->condition; + } + public function setCountry( $country) { + $this->country = $country; + } + public function getCountry() { + return $this->country; + } + public function setCreationTime( $creationTime) { + $this->creationTime = $creationTime; + } + public function getCreationTime() { + return $this->creationTime; + } + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setGoogleId( $googleId) { + $this->googleId = $googleId; + } + public function getGoogleId() { + return $this->googleId; + } + public function setGtin( $gtin) { + $this->gtin = $gtin; + } + public function getGtin() { + return $this->gtin; + } + public function setGtins(/* array(Google_string) */ $gtins) { + $this->assertIsArray($gtins, 'Google_string', __METHOD__); + $this->gtins = $gtins; + } + public function getGtins() { + return $this->gtins; + } + public function setImages(/* array(Google_ShoppingModelProductJsonV1Images) */ $images) { + $this->assertIsArray($images, 'Google_ShoppingModelProductJsonV1Images', __METHOD__); + $this->images = $images; + } + public function getImages() { + return $this->images; + } + public function setInternal1(/* array(Google_string) */ $internal1) { + $this->assertIsArray($internal1, 'Google_string', __METHOD__); + $this->internal1 = $internal1; + } + public function getInternal1() { + return $this->internal1; + } + public function setInternal10(/* array(Google_string) */ $internal10) { + $this->assertIsArray($internal10, 'Google_string', __METHOD__); + $this->internal10 = $internal10; + } + public function getInternal10() { + return $this->internal10; + } + public function setInternal12( $internal12) { + $this->internal12 = $internal12; + } + public function getInternal12() { + return $this->internal12; + } + public function setInternal13( $internal13) { + $this->internal13 = $internal13; + } + public function getInternal13() { + return $this->internal13; + } + public function setInternal14( $internal14) { + $this->internal14 = $internal14; + } + public function getInternal14() { + return $this->internal14; + } + public function setInternal15( $internal15) { + $this->internal15 = $internal15; + } + public function getInternal15() { + return $this->internal15; + } + public function setInternal16(Google_ShoppingModelProductJsonV1Internal16 $internal16) { + $this->internal16 = $internal16; + } + public function getInternal16() { + return $this->internal16; + } + public function setInternal3( $internal3) { + $this->internal3 = $internal3; + } + public function getInternal3() { + return $this->internal3; + } + public function setInternal4(/* array(Google_ShoppingModelProductJsonV1Internal4) */ $internal4) { + $this->assertIsArray($internal4, 'Google_ShoppingModelProductJsonV1Internal4', __METHOD__); + $this->internal4 = $internal4; + } + public function getInternal4() { + return $this->internal4; + } + public function setInternal6( $internal6) { + $this->internal6 = $internal6; + } + public function getInternal6() { + return $this->internal6; + } + public function setInternal7( $internal7) { + $this->internal7 = $internal7; + } + public function getInternal7() { + return $this->internal7; + } + public function setInternal8(/* array(Google_string) */ $internal8) { + $this->assertIsArray($internal8, 'Google_string', __METHOD__); + $this->internal8 = $internal8; + } + public function getInternal8() { + return $this->internal8; + } + public function setInventories(/* array(Google_ShoppingModelProductJsonV1Inventories) */ $inventories) { + $this->assertIsArray($inventories, 'Google_ShoppingModelProductJsonV1Inventories', __METHOD__); + $this->inventories = $inventories; + } + public function getInventories() { + return $this->inventories; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setModificationTime( $modificationTime) { + $this->modificationTime = $modificationTime; + } + public function getModificationTime() { + return $this->modificationTime; + } + public function setMpns(/* array(Google_string) */ $mpns) { + $this->assertIsArray($mpns, 'Google_string', __METHOD__); + $this->mpns = $mpns; + } + public function getMpns() { + return $this->mpns; + } + public function setPlusOne( $plusOne) { + $this->plusOne = $plusOne; + } + public function getPlusOne() { + return $this->plusOne; + } + public function setProvidedId( $providedId) { + $this->providedId = $providedId; + } + public function getProvidedId() { + return $this->providedId; + } + public function setQueryMatched( $queryMatched) { + $this->queryMatched = $queryMatched; + } + public function getQueryMatched() { + return $this->queryMatched; + } + public function setScore( $score) { + $this->score = $score; + } + public function getScore() { + return $this->score; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setTotalMatchingVariants( $totalMatchingVariants) { + $this->totalMatchingVariants = $totalMatchingVariants; + } + public function getTotalMatchingVariants() { + return $this->totalMatchingVariants; + } + public function setVariants(/* array(Google_ShoppingModelProductJsonV1Variants) */ $variants) { + $this->assertIsArray($variants, 'Google_ShoppingModelProductJsonV1Variants', __METHOD__); + $this->variants = $variants; + } + public function getVariants() { + return $this->variants; + } +} + +class Google_ShoppingModelProductJsonV1Attributes extends Google_Model { + public $displayName; + public $name; + public $type; + public $unit; + public $value; + public function setDisplayName( $displayName) { + $this->displayName = $displayName; + } + public function getDisplayName() { + return $this->displayName; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } + public function setUnit( $unit) { + $this->unit = $unit; + } + public function getUnit() { + return $this->unit; + } + public function setValue( $value) { + $this->value = $value; + } + public function getValue() { + return $this->value; + } +} + +class Google_ShoppingModelProductJsonV1Author extends Google_Model { + public $accountId; + public $name; + public function setAccountId( $accountId) { + $this->accountId = $accountId; + } + public function getAccountId() { + return $this->accountId; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_ShoppingModelProductJsonV1Images extends Google_Model { + public $link; + public $status; + protected $__thumbnailsType = 'Google_ShoppingModelProductJsonV1ImagesThumbnails'; + protected $__thumbnailsDataType = 'array'; + public $thumbnails; + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setThumbnails(/* array(Google_ShoppingModelProductJsonV1ImagesThumbnails) */ $thumbnails) { + $this->assertIsArray($thumbnails, 'Google_ShoppingModelProductJsonV1ImagesThumbnails', __METHOD__); + $this->thumbnails = $thumbnails; + } + public function getThumbnails() { + return $this->thumbnails; + } +} + +class Google_ShoppingModelProductJsonV1ImagesThumbnails extends Google_Model { + public $content; + public $height; + public $link; + public $width; + public function setContent( $content) { + $this->content = $content; + } + public function getContent() { + return $this->content; + } + public function setHeight( $height) { + $this->height = $height; + } + public function getHeight() { + return $this->height; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setWidth( $width) { + $this->width = $width; + } + public function getWidth() { + return $this->width; + } +} + +class Google_ShoppingModelProductJsonV1Internal16 extends Google_Model { + public $length; + public $number; + public $size; + public function setLength( $length) { + $this->length = $length; + } + public function getLength() { + return $this->length; + } + public function setNumber( $number) { + $this->number = $number; + } + public function getNumber() { + return $this->number; + } + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } +} + +class Google_ShoppingModelProductJsonV1Internal4 extends Google_Model { + public $confidence; + public $node; + public function setConfidence( $confidence) { + $this->confidence = $confidence; + } + public function getConfidence() { + return $this->confidence; + } + public function setNode( $node) { + $this->node = $node; + } + public function getNode() { + return $this->node; + } +} + +class Google_ShoppingModelProductJsonV1Inventories extends Google_Model { + public $availability; + public $channel; + public $currency; + public $distance; + public $distanceUnit; + public $installmentMonths; + public $installmentPrice; + public $originalPrice; + public $price; + public $saleEndDate; + public $salePrice; + public $saleStartDate; + public $shipping; + public $storeId; + public $tax; + public function setAvailability( $availability) { + $this->availability = $availability; + } + public function getAvailability() { + return $this->availability; + } + public function setChannel( $channel) { + $this->channel = $channel; + } + public function getChannel() { + return $this->channel; + } + public function setCurrency( $currency) { + $this->currency = $currency; + } + public function getCurrency() { + return $this->currency; + } + public function setDistance( $distance) { + $this->distance = $distance; + } + public function getDistance() { + return $this->distance; + } + public function setDistanceUnit( $distanceUnit) { + $this->distanceUnit = $distanceUnit; + } + public function getDistanceUnit() { + return $this->distanceUnit; + } + public function setInstallmentMonths( $installmentMonths) { + $this->installmentMonths = $installmentMonths; + } + public function getInstallmentMonths() { + return $this->installmentMonths; + } + public function setInstallmentPrice( $installmentPrice) { + $this->installmentPrice = $installmentPrice; + } + public function getInstallmentPrice() { + return $this->installmentPrice; + } + public function setOriginalPrice( $originalPrice) { + $this->originalPrice = $originalPrice; + } + public function getOriginalPrice() { + return $this->originalPrice; + } + public function setPrice( $price) { + $this->price = $price; + } + public function getPrice() { + return $this->price; + } + public function setSaleEndDate( $saleEndDate) { + $this->saleEndDate = $saleEndDate; + } + public function getSaleEndDate() { + return $this->saleEndDate; + } + public function setSalePrice( $salePrice) { + $this->salePrice = $salePrice; + } + public function getSalePrice() { + return $this->salePrice; + } + public function setSaleStartDate( $saleStartDate) { + $this->saleStartDate = $saleStartDate; + } + public function getSaleStartDate() { + return $this->saleStartDate; + } + public function setShipping( $shipping) { + $this->shipping = $shipping; + } + public function getShipping() { + return $this->shipping; + } + public function setStoreId( $storeId) { + $this->storeId = $storeId; + } + public function getStoreId() { + return $this->storeId; + } + public function setTax( $tax) { + $this->tax = $tax; + } + public function getTax() { + return $this->tax; + } +} + +class Google_ShoppingModelProductJsonV1Variants extends Google_Model { + protected $__variantType = 'Google_ShoppingModelProductJsonV1'; + protected $__variantDataType = ''; + public $variant; + public function setVariant(Google_ShoppingModelProductJsonV1 $variant) { + $this->variant = $variant; + } + public function getVariant() { + return $this->variant; + } +} + +class Google_ShoppingModelRecommendationsJsonV1 extends Google_Model { + protected $__recommendationListType = 'Google_ShoppingModelRecommendationsJsonV1RecommendationList'; + protected $__recommendationListDataType = 'array'; + public $recommendationList; + public $type; + public function setRecommendationList(/* array(Google_ShoppingModelRecommendationsJsonV1RecommendationList) */ $recommendationList) { + $this->assertIsArray($recommendationList, 'Google_ShoppingModelRecommendationsJsonV1RecommendationList', __METHOD__); + $this->recommendationList = $recommendationList; + } + public function getRecommendationList() { + return $this->recommendationList; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ShoppingModelRecommendationsJsonV1RecommendationList extends Google_Model { + protected $__productType = 'Google_ShoppingModelProductJsonV1'; + protected $__productDataType = ''; + public $product; + public function setProduct(Google_ShoppingModelProductJsonV1 $product) { + $this->product = $product; + } + public function getProduct() { + return $this->product; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_SiteVerificationService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_SiteVerificationService.php new file mode 100644 index 0000000..6ccc50a --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_SiteVerificationService.php @@ -0,0 +1,288 @@ + + * $siteVerificationService = new Google_SiteVerificationService(...); + * $webResource = $siteVerificationService->webResource; + * + */ + class Google_WebResourceServiceResource extends Google_ServiceResource { + + /** + * Relinquish ownership of a website or domain. (webResource.delete) + * + * @param string $id The id of a verified site or domain. + * @param array $optParams Optional parameters. + */ + public function delete($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Get the most current data for a website or domain. (webResource.get) + * + * @param string $id The id of a verified site or domain. + * @param array $optParams Optional parameters. + * @return Google_SiteVerificationWebResourceResource + */ + public function get($id, $optParams = array()) { + $params = array('id' => $id); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_SiteVerificationWebResourceResource($data); + } else { + return $data; + } + } + /** + * Get a verification token for placing on a website or domain. (webResource.getToken) + * + * @param Google_SiteVerificationWebResourceGettokenRequest $postBody + * @param array $optParams Optional parameters. + * @return Google_SiteVerificationWebResourceGettokenResponse + */ + public function getToken(Google_SiteVerificationWebResourceGettokenRequest $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('getToken', array($params)); + if ($this->useObjects()) { + return new Google_SiteVerificationWebResourceGettokenResponse($data); + } else { + return $data; + } + } + /** + * Attempt verification of a website or domain. (webResource.insert) + * + * @param string $verificationMethod The method to use for verifying a site or domain. + * @param Google_SiteVerificationWebResourceResource $postBody + * @param array $optParams Optional parameters. + * @return Google_SiteVerificationWebResourceResource + */ + public function insert($verificationMethod, Google_SiteVerificationWebResourceResource $postBody, $optParams = array()) { + $params = array('verificationMethod' => $verificationMethod, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_SiteVerificationWebResourceResource($data); + } else { + return $data; + } + } + /** + * Get the list of your verified websites and domains. (webResource.list) + * + * @param array $optParams Optional parameters. + * @return Google_SiteVerificationWebResourceListResponse + */ + public function listWebResource($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_SiteVerificationWebResourceListResponse($data); + } else { + return $data; + } + } + /** + * Modify the list of owners for your website or domain. This method supports patch semantics. + * (webResource.patch) + * + * @param string $id The id of a verified site or domain. + * @param Google_SiteVerificationWebResourceResource $postBody + * @param array $optParams Optional parameters. + * @return Google_SiteVerificationWebResourceResource + */ + public function patch($id, Google_SiteVerificationWebResourceResource $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_SiteVerificationWebResourceResource($data); + } else { + return $data; + } + } + /** + * Modify the list of owners for your website or domain. (webResource.update) + * + * @param string $id The id of a verified site or domain. + * @param Google_SiteVerificationWebResourceResource $postBody + * @param array $optParams Optional parameters. + * @return Google_SiteVerificationWebResourceResource + */ + public function update($id, Google_SiteVerificationWebResourceResource $postBody, $optParams = array()) { + $params = array('id' => $id, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_SiteVerificationWebResourceResource($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_SiteVerification (v1). + * + *

    + * Lets you programatically verify ownership of websites or domains with Google. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_SiteVerificationService extends Google_Service { + public $webResource; + /** + * Constructs the internal representation of the SiteVerification service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'siteVerification/v1/'; + $this->version = 'v1'; + $this->serviceName = 'siteVerification'; + + $client->addService($this->serviceName, $this->version); + $this->webResource = new Google_WebResourceServiceResource($this, $this->serviceName, 'webResource', json_decode('{"methods": {"delete": {"id": "siteVerification.webResource.delete", "path": "webResource/{id}", "httpMethod": "DELETE", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/siteverification"]}, "get": {"id": "siteVerification.webResource.get", "path": "webResource/{id}", "httpMethod": "GET", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "SiteVerificationWebResourceResource"}, "scopes": ["https://www.googleapis.com/auth/siteverification"]}, "getToken": {"id": "siteVerification.webResource.getToken", "path": "token", "httpMethod": "POST", "request": {"$ref": "SiteVerificationWebResourceGettokenRequest"}, "response": {"$ref": "SiteVerificationWebResourceGettokenResponse"}, "scopes": ["https://www.googleapis.com/auth/siteverification", "https://www.googleapis.com/auth/siteverification.verify_only"]}, "insert": {"id": "siteVerification.webResource.insert", "path": "webResource", "httpMethod": "POST", "parameters": {"verificationMethod": {"type": "string", "required": true, "location": "query"}}, "request": {"$ref": "SiteVerificationWebResourceResource"}, "response": {"$ref": "SiteVerificationWebResourceResource"}, "scopes": ["https://www.googleapis.com/auth/siteverification", "https://www.googleapis.com/auth/siteverification.verify_only"]}, "list": {"id": "siteVerification.webResource.list", "path": "webResource", "httpMethod": "GET", "response": {"$ref": "SiteVerificationWebResourceListResponse"}, "scopes": ["https://www.googleapis.com/auth/siteverification"]}, "patch": {"id": "siteVerification.webResource.patch", "path": "webResource/{id}", "httpMethod": "PATCH", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "SiteVerificationWebResourceResource"}, "response": {"$ref": "SiteVerificationWebResourceResource"}, "scopes": ["https://www.googleapis.com/auth/siteverification"]}, "update": {"id": "siteVerification.webResource.update", "path": "webResource/{id}", "httpMethod": "PUT", "parameters": {"id": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "SiteVerificationWebResourceResource"}, "response": {"$ref": "SiteVerificationWebResourceResource"}, "scopes": ["https://www.googleapis.com/auth/siteverification"]}}}', true)); + + } +} + + + +class Google_SiteVerificationWebResourceGettokenRequest extends Google_Model { + protected $__siteType = 'Google_SiteVerificationWebResourceGettokenRequestSite'; + protected $__siteDataType = ''; + public $site; + public $verificationMethod; + public function setSite(Google_SiteVerificationWebResourceGettokenRequestSite $site) { + $this->site = $site; + } + public function getSite() { + return $this->site; + } + public function setVerificationMethod( $verificationMethod) { + $this->verificationMethod = $verificationMethod; + } + public function getVerificationMethod() { + return $this->verificationMethod; + } +} + +class Google_SiteVerificationWebResourceGettokenRequestSite extends Google_Model { + public $identifier; + public $type; + public function setIdentifier( $identifier) { + $this->identifier = $identifier; + } + public function getIdentifier() { + return $this->identifier; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_SiteVerificationWebResourceGettokenResponse extends Google_Model { + public $method; + public $token; + public function setMethod( $method) { + $this->method = $method; + } + public function getMethod() { + return $this->method; + } + public function setToken( $token) { + $this->token = $token; + } + public function getToken() { + return $this->token; + } +} + +class Google_SiteVerificationWebResourceListResponse extends Google_Model { + protected $__itemsType = 'Google_SiteVerificationWebResourceResource'; + protected $__itemsDataType = 'array'; + public $items; + public function setItems(/* array(Google_SiteVerificationWebResourceResource) */ $items) { + $this->assertIsArray($items, 'Google_SiteVerificationWebResourceResource', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } +} + +class Google_SiteVerificationWebResourceResource extends Google_Model { + public $id; + public $owners; + protected $__siteType = 'Google_SiteVerificationWebResourceResourceSite'; + protected $__siteDataType = ''; + public $site; + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setOwners(/* array(Google_string) */ $owners) { + $this->assertIsArray($owners, 'Google_string', __METHOD__); + $this->owners = $owners; + } + public function getOwners() { + return $this->owners; + } + public function setSite(Google_SiteVerificationWebResourceResourceSite $site) { + $this->site = $site; + } + public function getSite() { + return $this->site; + } +} + +class Google_SiteVerificationWebResourceResourceSite extends Google_Model { + public $identifier; + public $type; + public function setIdentifier( $identifier) { + $this->identifier = $identifier; + } + public function getIdentifier() { + return $this->identifier; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_StorageService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_StorageService.php new file mode 100644 index 0000000..ac04d6e --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_StorageService.php @@ -0,0 +1,1718 @@ + + * $storageService = new Google_StorageService(...); + * $bucketAccessControls = $storageService->bucketAccessControls; + * + */ + class Google_BucketAccessControlsServiceResource extends Google_ServiceResource { + + /** + * Permanently deletes the ACL entry for the specified entity on the specified bucket. + * (bucketAccessControls.delete) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param array $optParams Optional parameters. + */ + public function delete($bucket, $entity, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns the ACL entry for the specified entity on the specified bucket. + * (bucketAccessControls.get) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * @return Google_BucketAccessControl + */ + public function get($bucket, $entity, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_BucketAccessControl($data); + } else { + return $data; + } + } + /** + * Creates a new ACL entry on the specified bucket. (bucketAccessControls.insert) + * + * @param string $bucket Name of a bucket. + * @param Google_BucketAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_BucketAccessControl + */ + public function insert($bucket, Google_BucketAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_BucketAccessControl($data); + } else { + return $data; + } + } + /** + * Retrieves ACL entries on the specified bucket. (bucketAccessControls.list) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * @return Google_BucketAccessControls + */ + public function listBucketAccessControls($bucket, $optParams = array()) { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_BucketAccessControls($data); + } else { + return $data; + } + } + /** + * Updates an ACL entry on the specified bucket. This method supports patch semantics. + * (bucketAccessControls.patch) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param Google_BucketAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_BucketAccessControl + */ + public function patch($bucket, $entity, Google_BucketAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_BucketAccessControl($data); + } else { + return $data; + } + } + /** + * Updates an ACL entry on the specified bucket. (bucketAccessControls.update) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param Google_BucketAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_BucketAccessControl + */ + public function update($bucket, $entity, Google_BucketAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_BucketAccessControl($data); + } else { + return $data; + } + } + } + + /** + * The "buckets" collection of methods. + * Typical usage is: + * + * $storageService = new Google_StorageService(...); + * $buckets = $storageService->buckets; + * + */ + class Google_BucketsServiceResource extends Google_ServiceResource { + + /** + * Permanently deletes an empty bucket. (buckets.delete) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + */ + public function delete($bucket, $optParams = array()) { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns metadata for the specified bucket. (buckets.get) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @return Google_Bucket + */ + public function get($bucket, $optParams = array()) { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Bucket($data); + } else { + return $data; + } + } + /** + * Creates a new bucket. (buckets.insert) + * + * @param string $project A valid API project identifier. + * @param Google_Bucket $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string projection Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full. + * @return Google_Bucket + */ + public function insert($project, Google_Bucket $postBody, $optParams = array()) { + $params = array('project' => $project, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Bucket($data); + } else { + return $data; + } + } + /** + * Retrieves a list of buckets for a given project. (buckets.list) + * + * @param string $project A valid API project identifier. + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of buckets to return. + * @opt_param string pageToken A previously-returned page token representing part of the larger set of results to view. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @return Google_Buckets + */ + public function listBuckets($project, $optParams = array()) { + $params = array('project' => $project); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Buckets($data); + } else { + return $data; + } + } + /** + * Updates a bucket. This method supports patch semantics. (buckets.patch) + * + * @param string $bucket Name of a bucket. + * @param Google_Bucket $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_Bucket + */ + public function patch($bucket, Google_Bucket $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Bucket($data); + } else { + return $data; + } + } + /** + * Updates a bucket. (buckets.update) + * + * @param string $bucket Name of a bucket. + * @param Google_Bucket $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifMetagenerationMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_Bucket + */ + public function update($bucket, Google_Bucket $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Bucket($data); + } else { + return $data; + } + } + } + + /** + * The "channels" collection of methods. + * Typical usage is: + * + * $storageService = new Google_StorageService(...); + * $channels = $storageService->channels; + * + */ + class Google_ChannelsServiceResource extends Google_ServiceResource { + + /** + * (channels.stop) + * + * @param Google_Channel $postBody + * @param array $optParams Optional parameters. + */ + public function stop(Google_Channel $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('stop', array($params)); + return $data; + } + } + + /** + * The "defaultObjectAccessControls" collection of methods. + * Typical usage is: + * + * $storageService = new Google_StorageService(...); + * $defaultObjectAccessControls = $storageService->defaultObjectAccessControls; + * + */ + class Google_DefaultObjectAccessControlsServiceResource extends Google_ServiceResource { + + /** + * Permanently deletes the default object ACL entry for the specified entity on the specified + * bucket. (defaultObjectAccessControls.delete) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param array $optParams Optional parameters. + */ + public function delete($bucket, $entity, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns the default object ACL entry for the specified entity on the specified bucket. + * (defaultObjectAccessControls.get) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * @return Google_ObjectAccessControl + */ + public function get($bucket, $entity, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + /** + * Creates a new default object ACL entry on the specified bucket. + * (defaultObjectAccessControls.insert) + * + * @param string $bucket Name of a bucket. + * @param Google_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_ObjectAccessControl + */ + public function insert($bucket, Google_ObjectAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + /** + * Retrieves default object ACL entries on the specified bucket. (defaultObjectAccessControls.list) + * + * @param string $bucket Name of a bucket. + * @param array $optParams Optional parameters. + * @return Google_ObjectAccessControls + */ + public function listDefaultObjectAccessControls($bucket, $optParams = array()) { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControls($data); + } else { + return $data; + } + } + /** + * Updates a default object ACL entry on the specified bucket. This method supports patch semantics. + * (defaultObjectAccessControls.patch) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param Google_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_ObjectAccessControl + */ + public function patch($bucket, $entity, Google_ObjectAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + /** + * Updates a default object ACL entry on the specified bucket. (defaultObjectAccessControls.update) + * + * @param string $bucket Name of a bucket. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param Google_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * @return Google_ObjectAccessControl + */ + public function update($bucket, $entity, Google_ObjectAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + } + + /** + * The "objectAccessControls" collection of methods. + * Typical usage is: + * + * $storageService = new Google_StorageService(...); + * $objectAccessControls = $storageService->objectAccessControls; + * + */ + class Google_ObjectAccessControlsServiceResource extends Google_ServiceResource { + + /** + * Permanently deletes the ACL entry for the specified entity on the specified object. + * (objectAccessControls.delete) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + */ + public function delete($bucket, $object, $entity, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns the ACL entry for the specified entity on the specified object. + * (objectAccessControls.get) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @return Google_ObjectAccessControl + */ + public function get($bucket, $object, $entity, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + /** + * Creates a new ACL entry on the specified object. (objectAccessControls.insert) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. + * @param Google_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @return Google_ObjectAccessControl + */ + public function insert($bucket, $object, Google_ObjectAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + /** + * Retrieves ACL entries on the specified object. (objectAccessControls.list) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @return Google_ObjectAccessControls + */ + public function listObjectAccessControls($bucket, $object, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControls($data); + } else { + return $data; + } + } + /** + * Updates an ACL entry on the specified object. This method supports patch semantics. + * (objectAccessControls.patch) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param Google_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @return Google_ObjectAccessControl + */ + public function patch($bucket, $object, $entity, Google_ObjectAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + /** + * Updates an ACL entry on the specified object. (objectAccessControls.update) + * + * @param string $bucket Name of a bucket. + * @param string $object Name of the object. + * @param string $entity The entity holding the permission. Can be user-userId, group-groupId, allUsers, or allAuthenticatedUsers. + * @param Google_ObjectAccessControl $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @return Google_ObjectAccessControl + */ + public function update($bucket, $object, $entity, Google_ObjectAccessControl $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'entity' => $entity, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_ObjectAccessControl($data); + } else { + return $data; + } + } + } + + /** + * The "objects" collection of methods. + * Typical usage is: + * + * $storageService = new Google_StorageService(...); + * $objects = $storageService->objects; + * + */ + class Google_ObjectsServiceResource extends Google_ServiceResource { + + /** + * Concatenates a list of existing objects into a new object in the same bucket. (objects.compose) + * + * @param string $destinationBucket Name of the bucket in which to store the new object. + * @param string $destinationObject Name of the new object. + * @param Google_ComposeRequest $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @return Google_StorageObject + */ + public function compose($destinationBucket, $destinationObject, Google_ComposeRequest $postBody, $optParams = array()) { + $params = array('destinationBucket' => $destinationBucket, 'destinationObject' => $destinationObject, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('compose', array($params)); + if ($this->useObjects()) { + return new Google_StorageObject($data); + } else { + return $data; + } + } + /** + * Copies an object to a destination in the same location. Optionally overrides metadata. + * (objects.copy) + * + * @param string $sourceBucket Name of the bucket in which to find the source object. + * @param string $sourceObject Name of the source object. + * @param string $destinationBucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param string $destinationObject Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. + * @param Google_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the destination object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on whether the destination object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the destination object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on whether the destination object's current metageneration does not match the given value. + * @opt_param string ifSourceGenerationMatch Makes the operation conditional on whether the source object's generation matches the given value. + * @opt_param string ifSourceGenerationNotMatch Makes the operation conditional on whether the source object's generation does not match the given value. + * @opt_param string ifSourceMetagenerationMatch Makes the operation conditional on whether the source object's current metageneration matches the given value. + * @opt_param string ifSourceMetagenerationNotMatch Makes the operation conditional on whether the source object's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @opt_param string sourceGeneration If present, selects a specific revision of the source object (as opposed to the latest version, the default). + * @return Google_StorageObject + */ + public function copy($sourceBucket, $sourceObject, $destinationBucket, $destinationObject, Google_StorageObject $postBody, $optParams = array()) { + $params = array('sourceBucket' => $sourceBucket, 'sourceObject' => $sourceObject, 'destinationBucket' => $destinationBucket, 'destinationObject' => $destinationObject, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('copy', array($params)); + if ($this->useObjects()) { + return new Google_StorageObject($data); + } else { + return $data; + } + } + /** + * Deletes data blobs and associated metadata. Deletions are permanent if versioning is not enabled + * for the bucket, or if the generation parameter is used. (objects.delete) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, permanently deletes a specific revision of this object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + */ + public function delete($bucket, $object, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Retrieves objects or their associated metadata. (objects.get) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the object's generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on whether the object's generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @return Google_StorageObject + */ + public function get($bucket, $object, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_StorageObject($data); + } else { + return $data; + } + } + /** + * Stores new data blobs and associated metadata. (objects.insert) + * + * @param string $bucket Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any. + * @param Google_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @opt_param string name Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. + * @opt_param string projection Set of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full. + * @return Google_StorageObject + */ + public function insert($bucket, Google_StorageObject $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_StorageObject($data); + } else { + return $data; + } + } + /** + * Retrieves a list of objects matching the criteria. (objects.list) + * + * @param string $bucket Name of the bucket in which to look for objects. + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @opt_param string maxResults Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. + * @opt_param string pageToken A previously-returned page token representing part of the larger set of results to view. + * @opt_param string prefix Filter results to objects whose names begin with this prefix. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @opt_param bool versions If true, lists all versions of a file as distinct results. + * @return Google_Objects + */ + public function listObjects($bucket, $optParams = array()) { + $params = array('bucket' => $bucket); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Objects($data); + } else { + return $data; + } + } + /** + * Updates a data blob's associated metadata. This method supports patch semantics. (objects.patch) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. + * @param Google_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_StorageObject + */ + public function patch($bucket, $object, Google_StorageObject $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_StorageObject($data); + } else { + return $data; + } + } + /** + * Updates a data blob's associated metadata. (objects.update) + * + * @param string $bucket Name of the bucket in which the object resides. + * @param string $object Name of the object. + * @param Google_StorageObject $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string generation If present, selects a specific revision of this object (as opposed to the latest version, the default). + * @opt_param string ifGenerationMatch Makes the operation conditional on whether the object's current generation matches the given value. + * @opt_param string ifGenerationNotMatch Makes the operation conditional on whether the object's current generation does not match the given value. + * @opt_param string ifMetagenerationMatch Makes the operation conditional on whether the object's current metageneration matches the given value. + * @opt_param string ifMetagenerationNotMatch Makes the operation conditional on whether the object's current metageneration does not match the given value. + * @opt_param string projection Set of properties to return. Defaults to full. + * @return Google_StorageObject + */ + public function update($bucket, $object, Google_StorageObject $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'object' => $object, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_StorageObject($data); + } else { + return $data; + } + } + /** + * Watch for changes on all objects in a bucket. (objects.watchAll) + * + * @param string $bucket Name of the bucket in which to look for objects. + * @param Google_Channel $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string delimiter Returns results in a directory-like mode. items will contain only objects whose names, aside from the prefix, do not contain delimiter. Objects whose names, aside from the prefix, contain delimiter will have their name, truncated after the delimiter, returned in prefixes. Duplicate prefixes are omitted. + * @opt_param string maxResults Maximum number of items plus prefixes to return. As duplicate prefixes are omitted, fewer total results may be returned than requested. + * @opt_param string pageToken A previously-returned page token representing part of the larger set of results to view. + * @opt_param string prefix Filter results to objects whose names begin with this prefix. + * @opt_param string projection Set of properties to return. Defaults to noAcl. + * @opt_param bool versions If true, lists all versions of a file as distinct results. + * @return Google_Channel + */ + public function watchAll($bucket, Google_Channel $postBody, $optParams = array()) { + $params = array('bucket' => $bucket, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('watchAll', array($params)); + if ($this->useObjects()) { + return new Google_Channel($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Storage (v1beta2). + * + *

    + * Lets you store and retrieve potentially-large, immutable data objects. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_StorageService extends Google_Service { + public $bucketAccessControls; + public $buckets; + public $channels; + public $defaultObjectAccessControls; + public $objectAccessControls; + public $objects; + /** + * Constructs the internal representation of the Storage service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'storage/v1beta2/'; + $this->version = 'v1beta2'; + $this->serviceName = 'storage'; + + $client->addService($this->serviceName, $this->version); + $this->bucketAccessControls = new Google_BucketAccessControlsServiceResource($this, $this->serviceName, 'bucketAccessControls', json_decode('{"methods": {"delete": {"id": "storage.bucketAccessControls.delete", "path": "b/{bucket}/acl/{entity}", "httpMethod": "DELETE", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "get": {"id": "storage.bucketAccessControls.get", "path": "b/{bucket}/acl/{entity}", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BucketAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "insert": {"id": "storage.bucketAccessControls.insert", "path": "b/{bucket}/acl", "httpMethod": "POST", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "BucketAccessControl"}, "response": {"$ref": "BucketAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "list": {"id": "storage.bucketAccessControls.list", "path": "b/{bucket}/acl", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "BucketAccessControls"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "patch": {"id": "storage.bucketAccessControls.patch", "path": "b/{bucket}/acl/{entity}", "httpMethod": "PATCH", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "BucketAccessControl"}, "response": {"$ref": "BucketAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "update": {"id": "storage.bucketAccessControls.update", "path": "b/{bucket}/acl/{entity}", "httpMethod": "PUT", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "BucketAccessControl"}, "response": {"$ref": "BucketAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}}}', true)); + $this->buckets = new Google_BucketsServiceResource($this, $this->serviceName, 'buckets', json_decode('{"methods": {"delete": {"id": "storage.buckets.delete", "path": "b/{bucket}", "httpMethod": "DELETE", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"]}, "get": {"id": "storage.buckets.get", "path": "b/{bucket}", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "response": {"$ref": "Bucket"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"]}, "insert": {"id": "storage.buckets.insert", "path": "b", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "request": {"$ref": "Bucket"}, "response": {"$ref": "Bucket"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"]}, "list": {"id": "storage.buckets.list", "path": "b", "httpMethod": "GET", "parameters": {"maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "project": {"type": "string", "required": true, "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "response": {"$ref": "Buckets"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"]}, "patch": {"id": "storage.buckets.patch", "path": "b/{bucket}", "httpMethod": "PATCH", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "request": {"$ref": "Bucket"}, "response": {"$ref": "Bucket"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"]}, "update": {"id": "storage.buckets.update", "path": "b/{bucket}", "httpMethod": "PUT", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "request": {"$ref": "Bucket"}, "response": {"$ref": "Bucket"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"]}}}', true)); + $this->channels = new Google_ChannelsServiceResource($this, $this->serviceName, 'channels', json_decode('{"methods": {"stop": {"id": "storage.channels.stop", "path": "channels/stop", "httpMethod": "POST", "request": {"$ref": "Channel"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"]}}}', true)); + $this->defaultObjectAccessControls = new Google_DefaultObjectAccessControlsServiceResource($this, $this->serviceName, 'defaultObjectAccessControls', json_decode('{"methods": {"delete": {"id": "storage.defaultObjectAccessControls.delete", "path": "b/{bucket}/defaultObjectAcl/{entity}", "httpMethod": "DELETE", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "get": {"id": "storage.defaultObjectAccessControls.get", "path": "b/{bucket}/defaultObjectAcl/{entity}", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "insert": {"id": "storage.defaultObjectAccessControls.insert", "path": "b/{bucket}/defaultObjectAcl", "httpMethod": "POST", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ObjectAccessControl"}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "list": {"id": "storage.defaultObjectAccessControls.list", "path": "b/{bucket}/defaultObjectAcl", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ObjectAccessControls"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "patch": {"id": "storage.defaultObjectAccessControls.patch", "path": "b/{bucket}/defaultObjectAcl/{entity}", "httpMethod": "PATCH", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ObjectAccessControl"}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "update": {"id": "storage.defaultObjectAccessControls.update", "path": "b/{bucket}/defaultObjectAcl/{entity}", "httpMethod": "PUT", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ObjectAccessControl"}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}}}', true)); + $this->objectAccessControls = new Google_ObjectAccessControlsServiceResource($this, $this->serviceName, 'objectAccessControls', json_decode('{"methods": {"delete": {"id": "storage.objectAccessControls.delete", "path": "b/{bucket}/o/{object}/acl/{entity}", "httpMethod": "DELETE", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "get": {"id": "storage.objectAccessControls.get", "path": "b/{bucket}/o/{object}/acl/{entity}", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "insert": {"id": "storage.objectAccessControls.insert", "path": "b/{bucket}/o/{object}/acl", "httpMethod": "POST", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ObjectAccessControl"}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "list": {"id": "storage.objectAccessControls.list", "path": "b/{bucket}/o/{object}/acl", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "ObjectAccessControls"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "patch": {"id": "storage.objectAccessControls.patch", "path": "b/{bucket}/o/{object}/acl/{entity}", "httpMethod": "PATCH", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ObjectAccessControl"}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}, "update": {"id": "storage.objectAccessControls.update", "path": "b/{bucket}/o/{object}/acl/{entity}", "httpMethod": "PUT", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "entity": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "ObjectAccessControl"}, "response": {"$ref": "ObjectAccessControl"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control"]}}}', true)); + $this->objects = new Google_ObjectsServiceResource($this, $this->serviceName, 'objects', json_decode('{"methods": {"compose": {"id": "storage.objects.compose", "path": "b/{destinationBucket}/o/{destinationObject}/compose", "httpMethod": "POST", "parameters": {"destinationBucket": {"type": "string", "required": true, "location": "path"}, "destinationObject": {"type": "string", "required": true, "location": "path"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}}, "request": {"$ref": "ComposeRequest"}, "response": {"$ref": "Object"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsMediaDownload": true}, "copy": {"id": "storage.objects.copy", "path": "b/{sourceBucket}/o/{sourceObject}/copyTo/b/{destinationBucket}/o/{destinationObject}", "httpMethod": "POST", "parameters": {"destinationBucket": {"type": "string", "required": true, "location": "path"}, "destinationObject": {"type": "string", "required": true, "location": "path"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifSourceGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifSourceGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifSourceMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifSourceMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}, "sourceBucket": {"type": "string", "required": true, "location": "path"}, "sourceGeneration": {"type": "string", "format": "uint64", "location": "query"}, "sourceObject": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Object"}, "response": {"$ref": "Object"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsMediaDownload": true}, "delete": {"id": "storage.objects.delete", "path": "b/{bucket}/o/{object}", "httpMethod": "DELETE", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"]}, "get": {"id": "storage.objects.get", "path": "b/{bucket}/o/{object}", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "response": {"$ref": "Object"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsMediaDownload": true}, "insert": {"id": "storage.objects.insert", "path": "b/{bucket}/o", "httpMethod": "POST", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "name": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "request": {"$ref": "Object"}, "response": {"$ref": "Object"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsMediaDownload": true, "supportsMediaUpload": true, "mediaUpload": {"accept": ["*/*"], "protocols": {"simple": {"multipart": true, "path": "/upload/storage/v1beta2/b/{bucket}/o"}, "resumable": {"multipart": true, "path": "/resumable/upload/storage/v1beta2/b/{bucket}/o"}}}}, "list": {"id": "storage.objects.list", "path": "b/{bucket}/o", "httpMethod": "GET", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "delimiter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "prefix": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}, "versions": {"type": "boolean", "location": "query"}}, "response": {"$ref": "Objects"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsSubscription": true}, "patch": {"id": "storage.objects.patch", "path": "b/{bucket}/o/{object}", "httpMethod": "PATCH", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "request": {"$ref": "Object"}, "response": {"$ref": "Object"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"]}, "update": {"id": "storage.objects.update", "path": "b/{bucket}/o/{object}", "httpMethod": "PUT", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "generation": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifGenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationMatch": {"type": "string", "format": "uint64", "location": "query"}, "ifMetagenerationNotMatch": {"type": "string", "format": "uint64", "location": "query"}, "object": {"type": "string", "required": true, "location": "path"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}}, "request": {"$ref": "Object"}, "response": {"$ref": "Object"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsMediaDownload": true}, "watchAll": {"id": "storage.objects.watchAll", "path": "b/{bucket}/o/watch", "httpMethod": "POST", "parameters": {"bucket": {"type": "string", "required": true, "location": "path"}, "delimiter": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "minimum": "0", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "prefix": {"type": "string", "location": "query"}, "projection": {"type": "string", "enum": ["full", "noAcl"], "location": "query"}, "versions": {"type": "boolean", "location": "query"}}, "request": {"$ref": "Channel"}, "response": {"$ref": "Channel"}, "scopes": ["https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write"], "supportsSubscription": true}}}', true)); + + } +} + + + +class Google_Bucket extends Google_Model { + protected $__aclType = 'Google_BucketAccessControl'; + protected $__aclDataType = 'array'; + public $acl; + protected $__corsType = 'Google_BucketCors'; + protected $__corsDataType = 'array'; + public $cors; + protected $__defaultObjectAclType = 'Google_ObjectAccessControl'; + protected $__defaultObjectAclDataType = 'array'; + public $defaultObjectAcl; + public $etag; + public $id; + public $kind; + protected $__lifecycleType = 'Google_BucketLifecycle'; + protected $__lifecycleDataType = ''; + public $lifecycle; + public $location; + protected $__loggingType = 'Google_BucketLogging'; + protected $__loggingDataType = ''; + public $logging; + public $metageneration; + public $name; + protected $__ownerType = 'Google_BucketOwner'; + protected $__ownerDataType = ''; + public $owner; + public $selfLink; + public $storageClass; + public $timeCreated; + protected $__versioningType = 'Google_BucketVersioning'; + protected $__versioningDataType = ''; + public $versioning; + protected $__websiteType = 'Google_BucketWebsite'; + protected $__websiteDataType = ''; + public $website; + public function setAcl(/* array(Google_BucketAccessControl) */ $acl) { + $this->assertIsArray($acl, 'Google_BucketAccessControl', __METHOD__); + $this->acl = $acl; + } + public function getAcl() { + return $this->acl; + } + public function setCors(/* array(Google_BucketCors) */ $cors) { + $this->assertIsArray($cors, 'Google_BucketCors', __METHOD__); + $this->cors = $cors; + } + public function getCors() { + return $this->cors; + } + public function setDefaultObjectAcl(/* array(Google_ObjectAccessControl) */ $defaultObjectAcl) { + $this->assertIsArray($defaultObjectAcl, 'Google_ObjectAccessControl', __METHOD__); + $this->defaultObjectAcl = $defaultObjectAcl; + } + public function getDefaultObjectAcl() { + return $this->defaultObjectAcl; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLifecycle(Google_BucketLifecycle $lifecycle) { + $this->lifecycle = $lifecycle; + } + public function getLifecycle() { + return $this->lifecycle; + } + public function setLocation( $location) { + $this->location = $location; + } + public function getLocation() { + return $this->location; + } + public function setLogging(Google_BucketLogging $logging) { + $this->logging = $logging; + } + public function getLogging() { + return $this->logging; + } + public function setMetageneration( $metageneration) { + $this->metageneration = $metageneration; + } + public function getMetageneration() { + return $this->metageneration; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOwner(Google_BucketOwner $owner) { + $this->owner = $owner; + } + public function getOwner() { + return $this->owner; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStorageClass( $storageClass) { + $this->storageClass = $storageClass; + } + public function getStorageClass() { + return $this->storageClass; + } + public function setTimeCreated( $timeCreated) { + $this->timeCreated = $timeCreated; + } + public function getTimeCreated() { + return $this->timeCreated; + } + public function setVersioning(Google_BucketVersioning $versioning) { + $this->versioning = $versioning; + } + public function getVersioning() { + return $this->versioning; + } + public function setWebsite(Google_BucketWebsite $website) { + $this->website = $website; + } + public function getWebsite() { + return $this->website; + } +} + +class Google_BucketAccessControl extends Google_Model { + public $bucket; + public $domain; + public $email; + public $entity; + public $entityId; + public $etag; + public $id; + public $kind; + public $role; + public $selfLink; + public function setBucket( $bucket) { + $this->bucket = $bucket; + } + public function getBucket() { + return $this->bucket; + } + public function setDomain( $domain) { + $this->domain = $domain; + } + public function getDomain() { + return $this->domain; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setEntity( $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } + public function setEntityId( $entityId) { + $this->entityId = $entityId; + } + public function getEntityId() { + return $this->entityId; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRole( $role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_BucketAccessControls extends Google_Model { + protected $__itemsType = 'Google_BucketAccessControl'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_BucketAccessControl) */ $items) { + $this->assertIsArray($items, 'Google_BucketAccessControl', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_BucketCors extends Google_Model { + public $maxAgeSeconds; + public $method; + public $origin; + public $responseHeader; + public function setMaxAgeSeconds( $maxAgeSeconds) { + $this->maxAgeSeconds = $maxAgeSeconds; + } + public function getMaxAgeSeconds() { + return $this->maxAgeSeconds; + } + public function setMethod(/* array(Google_string) */ $method) { + $this->assertIsArray($method, 'Google_string', __METHOD__); + $this->method = $method; + } + public function getMethod() { + return $this->method; + } + public function setOrigin(/* array(Google_string) */ $origin) { + $this->assertIsArray($origin, 'Google_string', __METHOD__); + $this->origin = $origin; + } + public function getOrigin() { + return $this->origin; + } + public function setResponseHeader(/* array(Google_string) */ $responseHeader) { + $this->assertIsArray($responseHeader, 'Google_string', __METHOD__); + $this->responseHeader = $responseHeader; + } + public function getResponseHeader() { + return $this->responseHeader; + } +} + +class Google_BucketLifecycle extends Google_Model { + protected $__ruleType = 'Google_BucketLifecycleRule'; + protected $__ruleDataType = 'array'; + public $rule; + public function setRule(/* array(Google_BucketLifecycleRule) */ $rule) { + $this->assertIsArray($rule, 'Google_BucketLifecycleRule', __METHOD__); + $this->rule = $rule; + } + public function getRule() { + return $this->rule; + } +} + +class Google_BucketLifecycleRule extends Google_Model { + protected $__actionType = 'Google_BucketLifecycleRuleAction'; + protected $__actionDataType = ''; + public $action; + protected $__conditionType = 'Google_BucketLifecycleRuleCondition'; + protected $__conditionDataType = ''; + public $condition; + public function setAction(Google_BucketLifecycleRuleAction $action) { + $this->action = $action; + } + public function getAction() { + return $this->action; + } + public function setCondition(Google_BucketLifecycleRuleCondition $condition) { + $this->condition = $condition; + } + public function getCondition() { + return $this->condition; + } +} + +class Google_BucketLifecycleRuleAction extends Google_Model { + public $type; + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_BucketLifecycleRuleCondition extends Google_Model { + public $age; + public $createdBefore; + public $isLive; + public $numNewerVersions; + public function setAge( $age) { + $this->age = $age; + } + public function getAge() { + return $this->age; + } + public function setCreatedBefore( $createdBefore) { + $this->createdBefore = $createdBefore; + } + public function getCreatedBefore() { + return $this->createdBefore; + } + public function setIsLive( $isLive) { + $this->isLive = $isLive; + } + public function getIsLive() { + return $this->isLive; + } + public function setNumNewerVersions( $numNewerVersions) { + $this->numNewerVersions = $numNewerVersions; + } + public function getNumNewerVersions() { + return $this->numNewerVersions; + } +} + +class Google_BucketLogging extends Google_Model { + public $logBucket; + public $logObjectPrefix; + public function setLogBucket( $logBucket) { + $this->logBucket = $logBucket; + } + public function getLogBucket() { + return $this->logBucket; + } + public function setLogObjectPrefix( $logObjectPrefix) { + $this->logObjectPrefix = $logObjectPrefix; + } + public function getLogObjectPrefix() { + return $this->logObjectPrefix; + } +} + +class Google_BucketOwner extends Google_Model { + public $entity; + public $entityId; + public function setEntity( $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } + public function setEntityId( $entityId) { + $this->entityId = $entityId; + } + public function getEntityId() { + return $this->entityId; + } +} + +class Google_BucketVersioning extends Google_Model { + public $enabled; + public function setEnabled( $enabled) { + $this->enabled = $enabled; + } + public function getEnabled() { + return $this->enabled; + } +} + +class Google_BucketWebsite extends Google_Model { + public $mainPageSuffix; + public $notFoundPage; + public function setMainPageSuffix( $mainPageSuffix) { + $this->mainPageSuffix = $mainPageSuffix; + } + public function getMainPageSuffix() { + return $this->mainPageSuffix; + } + public function setNotFoundPage( $notFoundPage) { + $this->notFoundPage = $notFoundPage; + } + public function getNotFoundPage() { + return $this->notFoundPage; + } +} + +class Google_Buckets extends Google_Model { + protected $__itemsType = 'Google_Bucket'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setItems(/* array(Google_Bucket) */ $items) { + $this->assertIsArray($items, 'Google_Bucket', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Channel extends Google_Model { + public $address; + public $expiration; + public $id; + public $kind; + public $params; + public $resourceId; + public $resourceUri; + public $token; + public $type; + public function setAddress( $address) { + $this->address = $address; + } + public function getAddress() { + return $this->address; + } + public function setExpiration( $expiration) { + $this->expiration = $expiration; + } + public function getExpiration() { + return $this->expiration; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setParams( $params) { + $this->params = $params; + } + public function getParams() { + return $this->params; + } + public function setResourceId( $resourceId) { + $this->resourceId = $resourceId; + } + public function getResourceId() { + return $this->resourceId; + } + public function setResourceUri( $resourceUri) { + $this->resourceUri = $resourceUri; + } + public function getResourceUri() { + return $this->resourceUri; + } + public function setToken( $token) { + $this->token = $token; + } + public function getToken() { + return $this->token; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_ComposeRequest extends Google_Model { + protected $__destinationType = 'Google_StorageObject'; + protected $__destinationDataType = ''; + public $destination; + public $kind; + protected $__sourceObjectsType = 'Google_ComposeRequestSourceObjects'; + protected $__sourceObjectsDataType = 'array'; + public $sourceObjects; + public function setDestination(Google_StorageObject $destination) { + $this->destination = $destination; + } + public function getDestination() { + return $this->destination; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSourceObjects(/* array(Google_ComposeRequestSourceObjects) */ $sourceObjects) { + $this->assertIsArray($sourceObjects, 'Google_ComposeRequestSourceObjects', __METHOD__); + $this->sourceObjects = $sourceObjects; + } + public function getSourceObjects() { + return $this->sourceObjects; + } +} + +class Google_ComposeRequestSourceObjects extends Google_Model { + public $generation; + public $name; + protected $__objectPreconditionsType = 'Google_ComposeRequestSourceObjectsObjectPreconditions'; + protected $__objectPreconditionsDataType = ''; + public $objectPreconditions; + public function setGeneration( $generation) { + $this->generation = $generation; + } + public function getGeneration() { + return $this->generation; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setObjectPreconditions(Google_ComposeRequestSourceObjectsObjectPreconditions $objectPreconditions) { + $this->objectPreconditions = $objectPreconditions; + } + public function getObjectPreconditions() { + return $this->objectPreconditions; + } +} + +class Google_ComposeRequestSourceObjectsObjectPreconditions extends Google_Model { + public $ifGenerationMatch; + public function setIfGenerationMatch( $ifGenerationMatch) { + $this->ifGenerationMatch = $ifGenerationMatch; + } + public function getIfGenerationMatch() { + return $this->ifGenerationMatch; + } +} + +class Google_ObjectAccessControl extends Google_Model { + public $bucket; + public $domain; + public $email; + public $entity; + public $entityId; + public $etag; + public $generation; + public $id; + public $kind; + public $object; + public $role; + public $selfLink; + public function setBucket( $bucket) { + $this->bucket = $bucket; + } + public function getBucket() { + return $this->bucket; + } + public function setDomain( $domain) { + $this->domain = $domain; + } + public function getDomain() { + return $this->domain; + } + public function setEmail( $email) { + $this->email = $email; + } + public function getEmail() { + return $this->email; + } + public function setEntity( $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } + public function setEntityId( $entityId) { + $this->entityId = $entityId; + } + public function getEntityId() { + return $this->entityId; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setGeneration( $generation) { + $this->generation = $generation; + } + public function getGeneration() { + return $this->generation; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setObject( $object) { + $this->object = $object; + } + public function getObject() { + return $this->object; + } + public function setRole( $role) { + $this->role = $role; + } + public function getRole() { + return $this->role; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } +} + +class Google_ObjectAccessControls extends Google_Model { + public $items; + public $kind; + public function setItems(/* array(Google_object) */ $items) { + $this->assertIsArray($items, 'Google_object', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Objects extends Google_Model { + protected $__itemsType = 'Google_StorageObject'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public $prefixes; + public function setItems(/* array(Google_StorageObject) */ $items) { + $this->assertIsArray($items, 'Google_StorageObject', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setPrefixes(/* array(Google_string) */ $prefixes) { + $this->assertIsArray($prefixes, 'Google_string', __METHOD__); + $this->prefixes = $prefixes; + } + public function getPrefixes() { + return $this->prefixes; + } +} + +class Google_StorageObject extends Google_Model { + protected $__aclType = 'Google_ObjectAccessControl'; + protected $__aclDataType = 'array'; + public $acl; + public $bucket; + public $cacheControl; + public $componentCount; + public $contentDisposition; + public $contentEncoding; + public $contentLanguage; + public $contentType; + public $crc32c; + public $etag; + public $generation; + public $id; + public $kind; + public $md5Hash; + public $mediaLink; + public $metadata; + public $metageneration; + public $name; + protected $__ownerType = 'Google_StorageObjectOwner'; + protected $__ownerDataType = ''; + public $owner; + public $selfLink; + public $size; + public $timeDeleted; + public $updated; + public function setAcl(/* array(Google_ObjectAccessControl) */ $acl) { + $this->assertIsArray($acl, 'Google_ObjectAccessControl', __METHOD__); + $this->acl = $acl; + } + public function getAcl() { + return $this->acl; + } + public function setBucket( $bucket) { + $this->bucket = $bucket; + } + public function getBucket() { + return $this->bucket; + } + public function setCacheControl( $cacheControl) { + $this->cacheControl = $cacheControl; + } + public function getCacheControl() { + return $this->cacheControl; + } + public function setComponentCount( $componentCount) { + $this->componentCount = $componentCount; + } + public function getComponentCount() { + return $this->componentCount; + } + public function setContentDisposition( $contentDisposition) { + $this->contentDisposition = $contentDisposition; + } + public function getContentDisposition() { + return $this->contentDisposition; + } + public function setContentEncoding( $contentEncoding) { + $this->contentEncoding = $contentEncoding; + } + public function getContentEncoding() { + return $this->contentEncoding; + } + public function setContentLanguage( $contentLanguage) { + $this->contentLanguage = $contentLanguage; + } + public function getContentLanguage() { + return $this->contentLanguage; + } + public function setContentType( $contentType) { + $this->contentType = $contentType; + } + public function getContentType() { + return $this->contentType; + } + public function setCrc32c( $crc32c) { + $this->crc32c = $crc32c; + } + public function getCrc32c() { + return $this->crc32c; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setGeneration( $generation) { + $this->generation = $generation; + } + public function getGeneration() { + return $this->generation; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMd5Hash( $md5Hash) { + $this->md5Hash = $md5Hash; + } + public function getMd5Hash() { + return $this->md5Hash; + } + public function setMediaLink( $mediaLink) { + $this->mediaLink = $mediaLink; + } + public function getMediaLink() { + return $this->mediaLink; + } + public function setMetadata( $metadata) { + $this->metadata = $metadata; + } + public function getMetadata() { + return $this->metadata; + } + public function setMetageneration( $metageneration) { + $this->metageneration = $metageneration; + } + public function getMetageneration() { + return $this->metageneration; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } + public function setOwner(Google_StorageObjectOwner $owner) { + $this->owner = $owner; + } + public function getOwner() { + return $this->owner; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setSize( $size) { + $this->size = $size; + } + public function getSize() { + return $this->size; + } + public function setTimeDeleted( $timeDeleted) { + $this->timeDeleted = $timeDeleted; + } + public function getTimeDeleted() { + return $this->timeDeleted; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_StorageObjectOwner extends Google_Model { + public $entity; + public $entityId; + public function setEntity( $entity) { + $this->entity = $entity; + } + public function getEntity() { + return $this->entity; + } + public function setEntityId( $entityId) { + $this->entityId = $entityId; + } + public function getEntityId() { + return $this->entityId; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TaskqueueService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TaskqueueService.php new file mode 100644 index 0000000..1b576d0 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TaskqueueService.php @@ -0,0 +1,430 @@ + + * $taskqueueService = new Google_TaskqueueService(...); + * $taskqueues = $taskqueueService->taskqueues; + * + */ + class Google_TaskqueuesServiceResource extends Google_ServiceResource { + + /** + * Get detailed information about a TaskQueue. (taskqueues.get) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The id of the taskqueue to get the properties of. + * @param array $optParams Optional parameters. + * + * @opt_param bool getStats Whether to get stats. Optional. + * @return Google_TaskQueue + */ + public function get($project, $taskqueue, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_TaskQueue($data); + } else { + return $data; + } + } + } + + /** + * The "tasks" collection of methods. + * Typical usage is: + * + * $taskqueueService = new Google_TaskqueueService(...); + * $tasks = $taskqueueService->tasks; + * + */ + class Google_TasksServiceResource extends Google_ServiceResource { + + /** + * Delete a task from a TaskQueue. (tasks.delete) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The taskqueue to delete a task from. + * @param string $task The id of the task to delete. + * @param array $optParams Optional parameters. + */ + public function delete($project, $taskqueue, $task, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Get a particular task from a TaskQueue. (tasks.get) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The taskqueue in which the task belongs. + * @param string $task The task to get properties of. + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function get($project, $taskqueue, $task, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Insert a new task in a TaskQueue (tasks.insert) + * + * @param string $project The project under which the queue lies + * @param string $taskqueue The taskqueue to insert the task into + * @param Google_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function insert($project, $taskqueue, Google_Task $postBody, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Lease 1 or more tasks from a TaskQueue. (tasks.lease) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The taskqueue to lease a task from. + * @param int $numTasks The number of tasks to lease. + * @param int $leaseSecs The lease in seconds. + * @param array $optParams Optional parameters. + * + * @opt_param bool groupByTag When true, all returned tasks will have the same tag + * @opt_param string tag The tag allowed for tasks in the response. Must only be specified if group_by_tag is true. If group_by_tag is true and tag is not specified the tag will be that of the oldest task by eta, i.e. the first available tag + * @return Google_Tasks + */ + public function lease($project, $taskqueue, $numTasks, $leaseSecs, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'numTasks' => $numTasks, 'leaseSecs' => $leaseSecs); + $params = array_merge($params, $optParams); + $data = $this->__call('lease', array($params)); + if ($this->useObjects()) { + return new Google_Tasks($data); + } else { + return $data; + } + } + /** + * List Tasks in a TaskQueue (tasks.list) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue The id of the taskqueue to list tasks from. + * @param array $optParams Optional parameters. + * @return Google_Tasks2 + */ + public function listTasks($project, $taskqueue, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Tasks2($data); + } else { + return $data; + } + } + /** + * Update tasks that are leased out of a TaskQueue. This method supports patch semantics. + * (tasks.patch) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue + * @param string $task + * @param int $newLeaseSeconds The new lease in seconds. + * @param Google_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function patch($project, $taskqueue, $task, $newLeaseSeconds, Google_Task $postBody, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task, 'newLeaseSeconds' => $newLeaseSeconds, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Update tasks that are leased out of a TaskQueue. (tasks.update) + * + * @param string $project The project under which the queue lies. + * @param string $taskqueue + * @param string $task + * @param int $newLeaseSeconds The new lease in seconds. + * @param Google_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function update($project, $taskqueue, $task, $newLeaseSeconds, Google_Task $postBody, $optParams = array()) { + $params = array('project' => $project, 'taskqueue' => $taskqueue, 'task' => $task, 'newLeaseSeconds' => $newLeaseSeconds, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Taskqueue (v1beta2). + * + *

    + * Lets you access a Google App Engine Pull Task Queue over REST. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_TaskqueueService extends Google_Service { + public $taskqueues; + public $tasks; + /** + * Constructs the internal representation of the Taskqueue service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'taskqueue/v1beta2/projects/'; + $this->version = 'v1beta2'; + $this->serviceName = 'taskqueue'; + + $client->addService($this->serviceName, $this->version); + $this->taskqueues = new Google_TaskqueuesServiceResource($this, $this->serviceName, 'taskqueues', json_decode('{"methods": {"get": {"id": "taskqueue.taskqueues.get", "path": "{project}/taskqueues/{taskqueue}", "httpMethod": "GET", "parameters": {"getStats": {"type": "boolean", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "TaskQueue"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}}}', true)); + $this->tasks = new Google_TasksServiceResource($this, $this->serviceName, 'tasks', json_decode('{"methods": {"delete": {"id": "taskqueue.tasks.delete", "path": "{project}/taskqueues/{taskqueue}/tasks/{task}", "httpMethod": "DELETE", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "task": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}, "get": {"id": "taskqueue.tasks.get", "path": "{project}/taskqueues/{taskqueue}/tasks/{task}", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "task": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}, "insert": {"id": "taskqueue.tasks.insert", "path": "{project}/taskqueues/{taskqueue}/tasks", "httpMethod": "POST", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Task"}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}, "lease": {"id": "taskqueue.tasks.lease", "path": "{project}/taskqueues/{taskqueue}/tasks/lease", "httpMethod": "POST", "parameters": {"groupByTag": {"type": "boolean", "location": "query"}, "leaseSecs": {"type": "integer", "required": true, "format": "int32", "location": "query"}, "numTasks": {"type": "integer", "required": true, "format": "int32", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "tag": {"type": "string", "location": "query"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Tasks"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}, "list": {"id": "taskqueue.tasks.list", "path": "{project}/taskqueues/{taskqueue}/tasks", "httpMethod": "GET", "parameters": {"project": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Tasks2"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}, "patch": {"id": "taskqueue.tasks.patch", "path": "{project}/taskqueues/{taskqueue}/tasks/{task}", "httpMethod": "PATCH", "parameters": {"newLeaseSeconds": {"type": "integer", "required": true, "format": "int32", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "task": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Task"}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}, "update": {"id": "taskqueue.tasks.update", "path": "{project}/taskqueues/{taskqueue}/tasks/{task}", "httpMethod": "POST", "parameters": {"newLeaseSeconds": {"type": "integer", "required": true, "format": "int32", "location": "query"}, "project": {"type": "string", "required": true, "location": "path"}, "task": {"type": "string", "required": true, "location": "path"}, "taskqueue": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Task"}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/taskqueue", "https://www.googleapis.com/auth/taskqueue.consumer"]}}}', true)); + + } +} + + + +class Google_Task extends Google_Model { + public $enqueueTimestamp; + public $id; + public $kind; + public $leaseTimestamp; + public $payloadBase64; + public $queueName; + public $retry_count; + public $tag; + public function setEnqueueTimestamp( $enqueueTimestamp) { + $this->enqueueTimestamp = $enqueueTimestamp; + } + public function getEnqueueTimestamp() { + return $this->enqueueTimestamp; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLeaseTimestamp( $leaseTimestamp) { + $this->leaseTimestamp = $leaseTimestamp; + } + public function getLeaseTimestamp() { + return $this->leaseTimestamp; + } + public function setPayloadBase64( $payloadBase64) { + $this->payloadBase64 = $payloadBase64; + } + public function getPayloadBase64() { + return $this->payloadBase64; + } + public function setQueueName( $queueName) { + $this->queueName = $queueName; + } + public function getQueueName() { + return $this->queueName; + } + public function setRetry_count( $retry_count) { + $this->retry_count = $retry_count; + } + public function getRetry_count() { + return $this->retry_count; + } + public function setTag( $tag) { + $this->tag = $tag; + } + public function getTag() { + return $this->tag; + } +} + +class Google_TaskQueue extends Google_Model { + protected $__aclType = 'Google_TaskQueueAcl'; + protected $__aclDataType = ''; + public $acl; + public $id; + public $kind; + public $maxLeases; + protected $__statsType = 'Google_TaskQueueStats'; + protected $__statsDataType = ''; + public $stats; + public function setAcl(Google_TaskQueueAcl $acl) { + $this->acl = $acl; + } + public function getAcl() { + return $this->acl; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setMaxLeases( $maxLeases) { + $this->maxLeases = $maxLeases; + } + public function getMaxLeases() { + return $this->maxLeases; + } + public function setStats(Google_TaskQueueStats $stats) { + $this->stats = $stats; + } + public function getStats() { + return $this->stats; + } +} + +class Google_TaskQueueAcl extends Google_Model { + public $adminEmails; + public $consumerEmails; + public $producerEmails; + public function setAdminEmails(/* array(Google_string) */ $adminEmails) { + $this->assertIsArray($adminEmails, 'Google_string', __METHOD__); + $this->adminEmails = $adminEmails; + } + public function getAdminEmails() { + return $this->adminEmails; + } + public function setConsumerEmails(/* array(Google_string) */ $consumerEmails) { + $this->assertIsArray($consumerEmails, 'Google_string', __METHOD__); + $this->consumerEmails = $consumerEmails; + } + public function getConsumerEmails() { + return $this->consumerEmails; + } + public function setProducerEmails(/* array(Google_string) */ $producerEmails) { + $this->assertIsArray($producerEmails, 'Google_string', __METHOD__); + $this->producerEmails = $producerEmails; + } + public function getProducerEmails() { + return $this->producerEmails; + } +} + +class Google_TaskQueueStats extends Google_Model { + public $leasedLastHour; + public $leasedLastMinute; + public $oldestTask; + public $totalTasks; + public function setLeasedLastHour( $leasedLastHour) { + $this->leasedLastHour = $leasedLastHour; + } + public function getLeasedLastHour() { + return $this->leasedLastHour; + } + public function setLeasedLastMinute( $leasedLastMinute) { + $this->leasedLastMinute = $leasedLastMinute; + } + public function getLeasedLastMinute() { + return $this->leasedLastMinute; + } + public function setOldestTask( $oldestTask) { + $this->oldestTask = $oldestTask; + } + public function getOldestTask() { + return $this->oldestTask; + } + public function setTotalTasks( $totalTasks) { + $this->totalTasks = $totalTasks; + } + public function getTotalTasks() { + return $this->totalTasks; + } +} + +class Google_Tasks extends Google_Model { + protected $__itemsType = 'Google_Task'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Task) */ $items) { + $this->assertIsArray($items, 'Google_Task', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} + +class Google_Tasks2 extends Google_Model { + protected $__itemsType = 'Google_Task'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Task) */ $items) { + $this->assertIsArray($items, 'Google_Task', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TasksService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TasksService.php new file mode 100644 index 0000000..fab7b9b --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TasksService.php @@ -0,0 +1,580 @@ + + * $tasksService = new Google_TasksService(...); + * $tasklists = $tasksService->tasklists; + * + */ + class Google_TasklistsServiceResource extends Google_ServiceResource { + + /** + * Deletes the authenticated user's specified task list. (tasklists.delete) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + */ + public function delete($tasklist, $optParams = array()) { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns the authenticated user's specified task list. (tasklists.get) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + * @return Google_TaskList + */ + public function get($tasklist, $optParams = array()) { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_TaskList($data); + } else { + return $data; + } + } + /** + * Creates a new task list and adds it to the authenticated user's task lists. (tasklists.insert) + * + * @param Google_TaskList $postBody + * @param array $optParams Optional parameters. + * @return Google_TaskList + */ + public function insert(Google_TaskList $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_TaskList($data); + } else { + return $data; + } + } + /** + * Returns all the authenticated user's task lists. (tasklists.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string maxResults Maximum number of task lists returned on one page. Optional. The default is 100. + * @opt_param string pageToken Token specifying the result page to return. Optional. + * @return Google_TaskLists + */ + public function listTasklists($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TaskLists($data); + } else { + return $data; + } + } + /** + * Updates the authenticated user's specified task list. This method supports patch semantics. + * (tasklists.patch) + * + * @param string $tasklist Task list identifier. + * @param Google_TaskList $postBody + * @param array $optParams Optional parameters. + * @return Google_TaskList + */ + public function patch($tasklist, Google_TaskList $postBody, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_TaskList($data); + } else { + return $data; + } + } + /** + * Updates the authenticated user's specified task list. (tasklists.update) + * + * @param string $tasklist Task list identifier. + * @param Google_TaskList $postBody + * @param array $optParams Optional parameters. + * @return Google_TaskList + */ + public function update($tasklist, Google_TaskList $postBody, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_TaskList($data); + } else { + return $data; + } + } + } + + /** + * The "tasks" collection of methods. + * Typical usage is: + * + * $tasksService = new Google_TasksService(...); + * $tasks = $tasksService->tasks; + * + */ + class Google_TasksServiceResource extends Google_ServiceResource { + + /** + * Clears all completed tasks from the specified task list. The affected tasks will be marked as + * 'hidden' and no longer be returned by default when retrieving all tasks for a task list. + * (tasks.clear) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + */ + public function clear($tasklist, $optParams = array()) { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + $data = $this->__call('clear', array($params)); + return $data; + } + /** + * Deletes the specified task from the task list. (tasks.delete) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param array $optParams Optional parameters. + */ + public function delete($tasklist, $task, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'task' => $task); + $params = array_merge($params, $optParams); + $data = $this->__call('delete', array($params)); + return $data; + } + /** + * Returns the specified task. (tasks.get) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function get($tasklist, $task, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'task' => $task); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Creates a new task on the specified task list. (tasks.insert) + * + * @param string $tasklist Task list identifier. + * @param Google_Task $postBody + * @param array $optParams Optional parameters. + * + * @opt_param string parent Parent task identifier. If the task is created at the top level, this parameter is omitted. Optional. + * @opt_param string previous Previous sibling task identifier. If the task is created at the first position among its siblings, this parameter is omitted. Optional. + * @return Google_Task + */ + public function insert($tasklist, Google_Task $postBody, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Returns all tasks in the specified task list. (tasks.list) + * + * @param string $tasklist Task list identifier. + * @param array $optParams Optional parameters. + * + * @opt_param string completedMax Upper bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date. + * @opt_param string completedMin Lower bound for a task's completion date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by completion date. + * @opt_param string dueMax Upper bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date. + * @opt_param string dueMin Lower bound for a task's due date (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by due date. + * @opt_param string maxResults Maximum number of task lists returned on one page. Optional. The default is 100. + * @opt_param string pageToken Token specifying the result page to return. Optional. + * @opt_param bool showCompleted Flag indicating whether completed tasks are returned in the result. Optional. The default is True. + * @opt_param bool showDeleted Flag indicating whether deleted tasks are returned in the result. Optional. The default is False. + * @opt_param bool showHidden Flag indicating whether hidden tasks are returned in the result. Optional. The default is False. + * @opt_param string updatedMin Lower bound for a task's last modification time (as a RFC 3339 timestamp) to filter by. Optional. The default is not to filter by last modification time. + * @return Google_Tasks + */ + public function listTasks($tasklist, $optParams = array()) { + $params = array('tasklist' => $tasklist); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_Tasks($data); + } else { + return $data; + } + } + /** + * Moves the specified task to another position in the task list. This can include putting it as a + * child task under a new parent and/or move it to a different position among its sibling tasks. + * (tasks.move) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param array $optParams Optional parameters. + * + * @opt_param string parent New parent task identifier. If the task is moved to the top level, this parameter is omitted. Optional. + * @opt_param string previous New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional. + * @return Google_Task + */ + public function move($tasklist, $task, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'task' => $task); + $params = array_merge($params, $optParams); + $data = $this->__call('move', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Updates the specified task. This method supports patch semantics. (tasks.patch) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param Google_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function patch($tasklist, $task, Google_Task $postBody, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'task' => $task, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('patch', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + /** + * Updates the specified task. (tasks.update) + * + * @param string $tasklist Task list identifier. + * @param string $task Task identifier. + * @param Google_Task $postBody + * @param array $optParams Optional parameters. + * @return Google_Task + */ + public function update($tasklist, $task, Google_Task $postBody, $optParams = array()) { + $params = array('tasklist' => $tasklist, 'task' => $task, 'postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('update', array($params)); + if ($this->useObjects()) { + return new Google_Task($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Tasks (v1). + * + *

    + * Lets you manage your tasks and task lists. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_TasksService extends Google_Service { + public $tasklists; + public $tasks; + /** + * Constructs the internal representation of the Tasks service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'tasks/v1/'; + $this->version = 'v1'; + $this->serviceName = 'tasks'; + + $client->addService($this->serviceName, $this->version); + $this->tasklists = new Google_TasklistsServiceResource($this, $this->serviceName, 'tasklists', json_decode('{"methods": {"delete": {"id": "tasks.tasklists.delete", "path": "users/@me/lists/{tasklist}", "httpMethod": "DELETE", "parameters": {"tasklist": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "get": {"id": "tasks.tasklists.get", "path": "users/@me/lists/{tasklist}", "httpMethod": "GET", "parameters": {"tasklist": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "TaskList"}, "scopes": ["https://www.googleapis.com/auth/tasks", "https://www.googleapis.com/auth/tasks.readonly"]}, "insert": {"id": "tasks.tasklists.insert", "path": "users/@me/lists", "httpMethod": "POST", "request": {"$ref": "TaskList"}, "response": {"$ref": "TaskList"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "list": {"id": "tasks.tasklists.list", "path": "users/@me/lists", "httpMethod": "GET", "parameters": {"maxResults": {"type": "string", "format": "int64", "location": "query"}, "pageToken": {"type": "string", "location": "query"}}, "response": {"$ref": "TaskLists"}, "scopes": ["https://www.googleapis.com/auth/tasks", "https://www.googleapis.com/auth/tasks.readonly"]}, "patch": {"id": "tasks.tasklists.patch", "path": "users/@me/lists/{tasklist}", "httpMethod": "PATCH", "parameters": {"tasklist": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "TaskList"}, "response": {"$ref": "TaskList"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "update": {"id": "tasks.tasklists.update", "path": "users/@me/lists/{tasklist}", "httpMethod": "PUT", "parameters": {"tasklist": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "TaskList"}, "response": {"$ref": "TaskList"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}}}', true)); + $this->tasks = new Google_TasksServiceResource($this, $this->serviceName, 'tasks', json_decode('{"methods": {"clear": {"id": "tasks.tasks.clear", "path": "lists/{tasklist}/clear", "httpMethod": "POST", "parameters": {"tasklist": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "delete": {"id": "tasks.tasks.delete", "path": "lists/{tasklist}/tasks/{task}", "httpMethod": "DELETE", "parameters": {"task": {"type": "string", "required": true, "location": "path"}, "tasklist": {"type": "string", "required": true, "location": "path"}}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "get": {"id": "tasks.tasks.get", "path": "lists/{tasklist}/tasks/{task}", "httpMethod": "GET", "parameters": {"task": {"type": "string", "required": true, "location": "path"}, "tasklist": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/tasks", "https://www.googleapis.com/auth/tasks.readonly"]}, "insert": {"id": "tasks.tasks.insert", "path": "lists/{tasklist}/tasks", "httpMethod": "POST", "parameters": {"parent": {"type": "string", "location": "query"}, "previous": {"type": "string", "location": "query"}, "tasklist": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Task"}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "list": {"id": "tasks.tasks.list", "path": "lists/{tasklist}/tasks", "httpMethod": "GET", "parameters": {"completedMax": {"type": "string", "location": "query"}, "completedMin": {"type": "string", "location": "query"}, "dueMax": {"type": "string", "location": "query"}, "dueMin": {"type": "string", "location": "query"}, "maxResults": {"type": "string", "format": "int64", "location": "query"}, "pageToken": {"type": "string", "location": "query"}, "showCompleted": {"type": "boolean", "location": "query"}, "showDeleted": {"type": "boolean", "location": "query"}, "showHidden": {"type": "boolean", "location": "query"}, "tasklist": {"type": "string", "required": true, "location": "path"}, "updatedMin": {"type": "string", "location": "query"}}, "response": {"$ref": "Tasks"}, "scopes": ["https://www.googleapis.com/auth/tasks", "https://www.googleapis.com/auth/tasks.readonly"]}, "move": {"id": "tasks.tasks.move", "path": "lists/{tasklist}/tasks/{task}/move", "httpMethod": "POST", "parameters": {"parent": {"type": "string", "location": "query"}, "previous": {"type": "string", "location": "query"}, "task": {"type": "string", "required": true, "location": "path"}, "tasklist": {"type": "string", "required": true, "location": "path"}}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "patch": {"id": "tasks.tasks.patch", "path": "lists/{tasklist}/tasks/{task}", "httpMethod": "PATCH", "parameters": {"task": {"type": "string", "required": true, "location": "path"}, "tasklist": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Task"}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}, "update": {"id": "tasks.tasks.update", "path": "lists/{tasklist}/tasks/{task}", "httpMethod": "PUT", "parameters": {"task": {"type": "string", "required": true, "location": "path"}, "tasklist": {"type": "string", "required": true, "location": "path"}}, "request": {"$ref": "Task"}, "response": {"$ref": "Task"}, "scopes": ["https://www.googleapis.com/auth/tasks"]}}}', true)); + + } +} + + + +class Google_Task extends Google_Model { + public $completed; + public $deleted; + public $due; + public $etag; + public $hidden; + public $id; + public $kind; + protected $__linksType = 'Google_TaskLinks'; + protected $__linksDataType = 'array'; + public $links; + public $notes; + public $parent; + public $position; + public $selfLink; + public $status; + public $title; + public $updated; + public function setCompleted( $completed) { + $this->completed = $completed; + } + public function getCompleted() { + return $this->completed; + } + public function setDeleted( $deleted) { + $this->deleted = $deleted; + } + public function getDeleted() { + return $this->deleted; + } + public function setDue( $due) { + $this->due = $due; + } + public function getDue() { + return $this->due; + } + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setHidden( $hidden) { + $this->hidden = $hidden; + } + public function getHidden() { + return $this->hidden; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLinks(/* array(Google_TaskLinks) */ $links) { + $this->assertIsArray($links, 'Google_TaskLinks', __METHOD__); + $this->links = $links; + } + public function getLinks() { + return $this->links; + } + public function setNotes( $notes) { + $this->notes = $notes; + } + public function getNotes() { + return $this->notes; + } + public function setParent( $parent) { + $this->parent = $parent; + } + public function getParent() { + return $this->parent; + } + public function setPosition( $position) { + $this->position = $position; + } + public function getPosition() { + return $this->position; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_TaskLinks extends Google_Model { + public $description; + public $link; + public $type; + public function setDescription( $description) { + $this->description = $description; + } + public function getDescription() { + return $this->description; + } + public function setLink( $link) { + $this->link = $link; + } + public function getLink() { + return $this->link; + } + public function setType( $type) { + $this->type = $type; + } + public function getType() { + return $this->type; + } +} + +class Google_TaskList extends Google_Model { + public $etag; + public $id; + public $kind; + public $selfLink; + public $title; + public $updated; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setSelfLink( $selfLink) { + $this->selfLink = $selfLink; + } + public function getSelfLink() { + return $this->selfLink; + } + public function setTitle( $title) { + $this->title = $title; + } + public function getTitle() { + return $this->title; + } + public function setUpdated( $updated) { + $this->updated = $updated; + } + public function getUpdated() { + return $this->updated; + } +} + +class Google_TaskLists extends Google_Model { + public $etag; + protected $__itemsType = 'Google_TaskList'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_TaskList) */ $items) { + $this->assertIsArray($items, 'Google_TaskList', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} + +class Google_Tasks extends Google_Model { + public $etag; + protected $__itemsType = 'Google_Task'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public $nextPageToken; + public function setEtag( $etag) { + $this->etag = $etag; + } + public function getEtag() { + return $this->etag; + } + public function setItems(/* array(Google_Task) */ $items) { + $this->assertIsArray($items, 'Google_Task', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TranslateService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TranslateService.php new file mode 100644 index 0000000..e08a3a5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_TranslateService.php @@ -0,0 +1,243 @@ + + * $translateService = new Google_TranslateService(...); + * $detections = $translateService->detections; + * + */ + class Google_DetectionsServiceResource extends Google_ServiceResource { + + /** + * Detect the language of text. (detections.list) + * + * @param string $q The text to detect + * @param array $optParams Optional parameters. + * @return Google_DetectionsListResponse + */ + public function listDetections($q, $optParams = array()) { + $params = array('q' => $q); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_DetectionsListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "languages" collection of methods. + * Typical usage is: + * + * $translateService = new Google_TranslateService(...); + * $languages = $translateService->languages; + * + */ + class Google_LanguagesServiceResource extends Google_ServiceResource { + + /** + * List the source/target languages supported by the API (languages.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string target the language and collation in which the localized results should be returned + * @return Google_LanguagesListResponse + */ + public function listLanguages($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_LanguagesListResponse($data); + } else { + return $data; + } + } + } + + /** + * The "translations" collection of methods. + * Typical usage is: + * + * $translateService = new Google_TranslateService(...); + * $translations = $translateService->translations; + * + */ + class Google_TranslationsServiceResource extends Google_ServiceResource { + + /** + * Returns text translations from one language to another. (translations.list) + * + * @param string $q The text to translate + * @param string $target The target language into which the text should be translated + * @param array $optParams Optional parameters. + * + * @opt_param string cid The customization id for translate + * @opt_param string format The format of the text + * @opt_param string source The source language of the text + * @return Google_TranslationsListResponse + */ + public function listTranslations($q, $target, $optParams = array()) { + $params = array('q' => $q, 'target' => $target); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_TranslationsListResponse($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Translate (v2). + * + *

    + * Lets you translate text from one language to another + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_TranslateService extends Google_Service { + public $detections; + public $languages; + public $translations; + /** + * Constructs the internal representation of the Translate service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'language/translate/'; + $this->version = 'v2'; + $this->serviceName = 'translate'; + + $client->addService($this->serviceName, $this->version); + $this->detections = new Google_DetectionsServiceResource($this, $this->serviceName, 'detections', json_decode('{"methods": {"list": {"id": "language.detections.list", "path": "v2/detect", "httpMethod": "GET", "parameters": {"q": {"type": "string", "required": true, "repeated": true, "location": "query"}}, "response": {"$ref": "DetectionsListResponse"}}}}', true)); + $this->languages = new Google_LanguagesServiceResource($this, $this->serviceName, 'languages', json_decode('{"methods": {"list": {"id": "language.languages.list", "path": "v2/languages", "httpMethod": "GET", "parameters": {"target": {"type": "string", "location": "query"}}, "response": {"$ref": "LanguagesListResponse"}}}}', true)); + $this->translations = new Google_TranslationsServiceResource($this, $this->serviceName, 'translations', json_decode('{"methods": {"list": {"id": "language.translations.list", "path": "v2", "httpMethod": "GET", "parameters": {"cid": {"type": "string", "repeated": true, "location": "query"}, "format": {"type": "string", "enum": ["html", "text"], "location": "query"}, "q": {"type": "string", "required": true, "repeated": true, "location": "query"}, "source": {"type": "string", "location": "query"}, "target": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "TranslationsListResponse"}}}}', true)); + + } +} + + + +class Google_DetectionsListResponse extends Google_Model { + protected $__detectionsType = 'Google_DetectionsResourceItems'; + protected $__detectionsDataType = 'array'; + public $detections; + public function setDetections(/* array(Google_DetectionsResourceItems) */ $detections) { + $this->assertIsArray($detections, 'Google_DetectionsResourceItems', __METHOD__); + $this->detections = $detections; + } + public function getDetections() { + return $this->detections; + } +} + +class Google_DetectionsResourceItems extends Google_Model { + public $confidence; + public $isReliable; + public $language; + public function setConfidence( $confidence) { + $this->confidence = $confidence; + } + public function getConfidence() { + return $this->confidence; + } + public function setIsReliable( $isReliable) { + $this->isReliable = $isReliable; + } + public function getIsReliable() { + return $this->isReliable; + } + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } +} + +class Google_LanguagesListResponse extends Google_Model { + protected $__languagesType = 'Google_LanguagesResource'; + protected $__languagesDataType = 'array'; + public $languages; + public function setLanguages(/* array(Google_LanguagesResource) */ $languages) { + $this->assertIsArray($languages, 'Google_LanguagesResource', __METHOD__); + $this->languages = $languages; + } + public function getLanguages() { + return $this->languages; + } +} + +class Google_LanguagesResource extends Google_Model { + public $language; + public $name; + public function setLanguage( $language) { + $this->language = $language; + } + public function getLanguage() { + return $this->language; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} + +class Google_TranslationsListResponse extends Google_Model { + protected $__translationsType = 'Google_TranslationsResource'; + protected $__translationsDataType = 'array'; + public $translations; + public function setTranslations(/* array(Google_TranslationsResource) */ $translations) { + $this->assertIsArray($translations, 'Google_TranslationsResource', __METHOD__); + $this->translations = $translations; + } + public function getTranslations() { + return $this->translations; + } +} + +class Google_TranslationsResource extends Google_Model { + public $detectedSourceLanguage; + public $translatedText; + public function setDetectedSourceLanguage( $detectedSourceLanguage) { + $this->detectedSourceLanguage = $detectedSourceLanguage; + } + public function getDetectedSourceLanguage() { + return $this->detectedSourceLanguage; + } + public function setTranslatedText( $translatedText) { + $this->translatedText = $translatedText; + } + public function getTranslatedText() { + return $this->translatedText; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_UrlshortenerService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_UrlshortenerService.php new file mode 100644 index 0000000..5348ca9 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_UrlshortenerService.php @@ -0,0 +1,326 @@ + + * $urlshortenerService = new Google_UrlshortenerService(...); + * $url = $urlshortenerService->url; + * + */ + class Google_UrlServiceResource extends Google_ServiceResource { + + /** + * Expands a short URL or gets creation time and analytics. (url.get) + * + * @param string $shortUrl The short URL, including the protocol. + * @param array $optParams Optional parameters. + * + * @opt_param string projection Additional information to return. + * @return Google_Url + */ + public function get($shortUrl, $optParams = array()) { + $params = array('shortUrl' => $shortUrl); + $params = array_merge($params, $optParams); + $data = $this->__call('get', array($params)); + if ($this->useObjects()) { + return new Google_Url($data); + } else { + return $data; + } + } + /** + * Creates a new short URL. (url.insert) + * + * @param Google_Url $postBody + * @param array $optParams Optional parameters. + * @return Google_Url + */ + public function insert(Google_Url $postBody, $optParams = array()) { + $params = array('postBody' => $postBody); + $params = array_merge($params, $optParams); + $data = $this->__call('insert', array($params)); + if ($this->useObjects()) { + return new Google_Url($data); + } else { + return $data; + } + } + /** + * Retrieves a list of URLs shortened by a user. (url.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string projection Additional information to return. + * @opt_param string start-token Token for requesting successive pages of results. + * @return Google_UrlHistory + */ + public function listUrl($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_UrlHistory($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Urlshortener (v1). + * + *

    + * Lets you create, inspect, and manage goo.gl short URLs + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_UrlshortenerService extends Google_Service { + public $url; + /** + * Constructs the internal representation of the Urlshortener service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'urlshortener/v1/'; + $this->version = 'v1'; + $this->serviceName = 'urlshortener'; + + $client->addService($this->serviceName, $this->version); + $this->url = new Google_UrlServiceResource($this, $this->serviceName, 'url', json_decode('{"methods": {"get": {"id": "urlshortener.url.get", "path": "url", "httpMethod": "GET", "parameters": {"projection": {"type": "string", "enum": ["ANALYTICS_CLICKS", "ANALYTICS_TOP_STRINGS", "FULL"], "location": "query"}, "shortUrl": {"type": "string", "required": true, "location": "query"}}, "response": {"$ref": "Url"}}, "insert": {"id": "urlshortener.url.insert", "path": "url", "httpMethod": "POST", "request": {"$ref": "Url"}, "response": {"$ref": "Url"}, "scopes": ["https://www.googleapis.com/auth/urlshortener"]}, "list": {"id": "urlshortener.url.list", "path": "url/history", "httpMethod": "GET", "parameters": {"projection": {"type": "string", "enum": ["ANALYTICS_CLICKS", "FULL"], "location": "query"}, "start-token": {"type": "string", "location": "query"}}, "response": {"$ref": "UrlHistory"}, "scopes": ["https://www.googleapis.com/auth/urlshortener"]}}}', true)); + + } +} + + + +class Google_AnalyticsSnapshot extends Google_Model { + protected $__browsersType = 'Google_StringCount'; + protected $__browsersDataType = 'array'; + public $browsers; + protected $__countriesType = 'Google_StringCount'; + protected $__countriesDataType = 'array'; + public $countries; + public $longUrlClicks; + protected $__platformsType = 'Google_StringCount'; + protected $__platformsDataType = 'array'; + public $platforms; + protected $__referrersType = 'Google_StringCount'; + protected $__referrersDataType = 'array'; + public $referrers; + public $shortUrlClicks; + public function setBrowsers(/* array(Google_StringCount) */ $browsers) { + $this->assertIsArray($browsers, 'Google_StringCount', __METHOD__); + $this->browsers = $browsers; + } + public function getBrowsers() { + return $this->browsers; + } + public function setCountries(/* array(Google_StringCount) */ $countries) { + $this->assertIsArray($countries, 'Google_StringCount', __METHOD__); + $this->countries = $countries; + } + public function getCountries() { + return $this->countries; + } + public function setLongUrlClicks( $longUrlClicks) { + $this->longUrlClicks = $longUrlClicks; + } + public function getLongUrlClicks() { + return $this->longUrlClicks; + } + public function setPlatforms(/* array(Google_StringCount) */ $platforms) { + $this->assertIsArray($platforms, 'Google_StringCount', __METHOD__); + $this->platforms = $platforms; + } + public function getPlatforms() { + return $this->platforms; + } + public function setReferrers(/* array(Google_StringCount) */ $referrers) { + $this->assertIsArray($referrers, 'Google_StringCount', __METHOD__); + $this->referrers = $referrers; + } + public function getReferrers() { + return $this->referrers; + } + public function setShortUrlClicks( $shortUrlClicks) { + $this->shortUrlClicks = $shortUrlClicks; + } + public function getShortUrlClicks() { + return $this->shortUrlClicks; + } +} + +class Google_AnalyticsSummary extends Google_Model { + protected $__allTimeType = 'Google_AnalyticsSnapshot'; + protected $__allTimeDataType = ''; + public $allTime; + protected $__dayType = 'Google_AnalyticsSnapshot'; + protected $__dayDataType = ''; + public $day; + protected $__monthType = 'Google_AnalyticsSnapshot'; + protected $__monthDataType = ''; + public $month; + protected $__twoHoursType = 'Google_AnalyticsSnapshot'; + protected $__twoHoursDataType = ''; + public $twoHours; + protected $__weekType = 'Google_AnalyticsSnapshot'; + protected $__weekDataType = ''; + public $week; + public function setAllTime(Google_AnalyticsSnapshot $allTime) { + $this->allTime = $allTime; + } + public function getAllTime() { + return $this->allTime; + } + public function setDay(Google_AnalyticsSnapshot $day) { + $this->day = $day; + } + public function getDay() { + return $this->day; + } + public function setMonth(Google_AnalyticsSnapshot $month) { + $this->month = $month; + } + public function getMonth() { + return $this->month; + } + public function setTwoHours(Google_AnalyticsSnapshot $twoHours) { + $this->twoHours = $twoHours; + } + public function getTwoHours() { + return $this->twoHours; + } + public function setWeek(Google_AnalyticsSnapshot $week) { + $this->week = $week; + } + public function getWeek() { + return $this->week; + } +} + +class Google_StringCount extends Google_Model { + public $count; + public $id; + public function setCount( $count) { + $this->count = $count; + } + public function getCount() { + return $this->count; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } +} + +class Google_Url extends Google_Model { + protected $__analyticsType = 'Google_AnalyticsSummary'; + protected $__analyticsDataType = ''; + public $analytics; + public $created; + public $id; + public $kind; + public $longUrl; + public $status; + public function setAnalytics(Google_AnalyticsSummary $analytics) { + $this->analytics = $analytics; + } + public function getAnalytics() { + return $this->analytics; + } + public function setCreated( $created) { + $this->created = $created; + } + public function getCreated() { + return $this->created; + } + public function setId( $id) { + $this->id = $id; + } + public function getId() { + return $this->id; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLongUrl( $longUrl) { + $this->longUrl = $longUrl; + } + public function getLongUrl() { + return $this->longUrl; + } + public function setStatus( $status) { + $this->status = $status; + } + public function getStatus() { + return $this->status; + } +} + +class Google_UrlHistory extends Google_Model { + protected $__itemsType = 'Google_Url'; + protected $__itemsDataType = 'array'; + public $items; + public $itemsPerPage; + public $kind; + public $nextPageToken; + public $totalItems; + public function setItems(/* array(Google_Url) */ $items) { + $this->assertIsArray($items, 'Google_Url', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setItemsPerPage( $itemsPerPage) { + $this->itemsPerPage = $itemsPerPage; + } + public function getItemsPerPage() { + return $this->itemsPerPage; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setNextPageToken( $nextPageToken) { + $this->nextPageToken = $nextPageToken; + } + public function getNextPageToken() { + return $this->nextPageToken; + } + public function setTotalItems( $totalItems) { + $this->totalItems = $totalItems; + } + public function getTotalItems() { + return $this->totalItems; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_WebfontsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_WebfontsService.php new file mode 100644 index 0000000..f5f76fb --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_WebfontsService.php @@ -0,0 +1,153 @@ + + * $webfontsService = new Google_WebfontsService(...); + * $webfonts = $webfontsService->webfonts; + * + */ + class Google_WebfontsServiceResource extends Google_ServiceResource { + + /** + * Retrieves the list of fonts currently served by the Google Fonts Developer API (webfonts.list) + * + * @param array $optParams Optional parameters. + * + * @opt_param string sort Enables sorting of the list + * @return Google_WebfontList + */ + public function listWebfonts($optParams = array()) { + $params = array(); + $params = array_merge($params, $optParams); + $data = $this->__call('list', array($params)); + if ($this->useObjects()) { + return new Google_WebfontList($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_Webfonts (v1). + * + *

    + * The Google Fonts Developer API. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_WebfontsService extends Google_Service { + public $webfonts; + /** + * Constructs the internal representation of the Webfonts service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'webfonts/v1/'; + $this->version = 'v1'; + $this->serviceName = 'webfonts'; + + $client->addService($this->serviceName, $this->version); + $this->webfonts = new Google_WebfontsServiceResource($this, $this->serviceName, 'webfonts', json_decode('{"methods": {"list": {"id": "webfonts.webfonts.list", "path": "webfonts", "httpMethod": "GET", "parameters": {"sort": {"type": "string", "enum": ["alpha", "date", "popularity", "style", "trending"], "location": "query"}}, "response": {"$ref": "WebfontList"}}}}', true)); + + } +} + + + +class Google_Webfont extends Google_Model { + public $family; + public $files; + public $kind; + public $lastModified; + public $subsets; + public $variants; + public $version; + public function setFamily( $family) { + $this->family = $family; + } + public function getFamily() { + return $this->family; + } + public function setFiles( $files) { + $this->files = $files; + } + public function getFiles() { + return $this->files; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setLastModified( $lastModified) { + $this->lastModified = $lastModified; + } + public function getLastModified() { + return $this->lastModified; + } + public function setSubsets(/* array(Google_string) */ $subsets) { + $this->assertIsArray($subsets, 'Google_string', __METHOD__); + $this->subsets = $subsets; + } + public function getSubsets() { + return $this->subsets; + } + public function setVariants(/* array(Google_string) */ $variants) { + $this->assertIsArray($variants, 'Google_string', __METHOD__); + $this->variants = $variants; + } + public function getVariants() { + return $this->variants; + } + public function setVersion( $version) { + $this->version = $version; + } + public function getVersion() { + return $this->version; + } +} + +class Google_WebfontList extends Google_Model { + protected $__itemsType = 'Google_Webfont'; + protected $__itemsDataType = 'array'; + public $items; + public $kind; + public function setItems(/* array(Google_Webfont) */ $items) { + $this->assertIsArray($items, 'Google_Webfont', __METHOD__); + $this->items = $items; + } + public function getItems() { + return $this->items; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_YouTubeAnalyticsService.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_YouTubeAnalyticsService.php new file mode 100644 index 0000000..a673969 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/contrib/Google_YouTubeAnalyticsService.php @@ -0,0 +1,141 @@ + + * $youtubeAnalyticsService = new Google_YouTubeAnalyticsService(...); + * $reports = $youtubeAnalyticsService->reports; + * + */ + class Google_ReportsServiceResource extends Google_ServiceResource { + + /** + * Retrieve your YouTube Analytics reports. (reports.query) + * + * @param string $ids Identifies the YouTube channel or content owner for which you are retrieving YouTube Analytics data. + - To request data for a YouTube user, set the ids parameter value to channel==CHANNEL_ID, where CHANNEL_ID specifies the unique YouTube channel ID. + - To request data for a YouTube CMS content owner, set the ids parameter value to contentOwner==OWNER_NAME, where OWNER_NAME is the CMS name of the content owner. + * @param string $start_date The start date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. + * @param string $end_date The end date for fetching YouTube Analytics data. The value should be in YYYY-MM-DD format. + * @param string $metrics A comma-separated list of YouTube Analytics metrics, such as views or likes,dislikes. See the Available Reports document for a list of the reports that you can retrieve and the metrics available in each report, and see the Metrics document for definitions of those metrics. + * @param array $optParams Optional parameters. + * + * @opt_param string dimensions A comma-separated list of YouTube Analytics dimensions, such as views or ageGroup,gender. See the Available Reports document for a list of the reports that you can retrieve and the dimensions used for those reports. Also see the Dimensions document for definitions of those dimensions. + * @opt_param string filters A list of filters that should be applied when retrieving YouTube Analytics data. The Available Reports document identifies the dimensions that can be used to filter each report, and the Dimensions document defines those dimensions. If a request uses multiple filters, join them together with a semicolon (;), and the returned result table will satisfy both filters. For example, a filters parameter value of video==dMH0bHeiRNg;country==IT restricts the result set to include data for the given video in Italy. + * @opt_param int max-results The maximum number of rows to include in the response. + * @opt_param string sort A comma-separated list of dimensions or metrics that determine the sort order for YouTube Analytics data. By default the sort order is ascending. The '-' prefix causes descending sort order. + * @opt_param int start-index An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter (one-based, inclusive). + * @return Google_ResultTable + */ + public function query($ids, $start_date, $end_date, $metrics, $optParams = array()) { + $params = array('ids' => $ids, 'start-date' => $start_date, 'end-date' => $end_date, 'metrics' => $metrics); + $params = array_merge($params, $optParams); + $data = $this->__call('query', array($params)); + if ($this->useObjects()) { + return new Google_ResultTable($data); + } else { + return $data; + } + } + } + +/** + * Service definition for Google_YouTubeAnalytics (v1). + * + *

    + * Retrieve your YouTube Analytics reports. + *

    + * + *

    + * For more information about this service, see the + * API Documentation + *

    + * + * @author Google, Inc. + */ +class Google_YouTubeAnalyticsService extends Google_Service { + public $reports; + /** + * Constructs the internal representation of the YouTubeAnalytics service. + * + * @param Google_Client $client + */ + public function __construct(Google_Client $client) { + $this->servicePath = 'youtube/analytics/v1/'; + $this->version = 'v1'; + $this->serviceName = 'youtubeAnalytics'; + + $client->addService($this->serviceName, $this->version); + $this->reports = new Google_ReportsServiceResource($this, $this->serviceName, 'reports', json_decode('{"methods": {"query": {"id": "youtubeAnalytics.reports.query", "path": "reports", "httpMethod": "GET", "parameters": {"dimensions": {"type": "string", "location": "query"}, "end-date": {"type": "string", "required": true, "location": "query"}, "filters": {"type": "string", "location": "query"}, "ids": {"type": "string", "required": true, "location": "query"}, "max-results": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}, "metrics": {"type": "string", "required": true, "location": "query"}, "sort": {"type": "string", "location": "query"}, "start-date": {"type": "string", "required": true, "location": "query"}, "start-index": {"type": "integer", "format": "int32", "minimum": "1", "location": "query"}}, "response": {"$ref": "ResultTable"}, "scopes": ["https://www.googleapis.com/auth/yt-analytics-monetary.readonly", "https://www.googleapis.com/auth/yt-analytics.readonly"]}}}', true)); + + } +} + + + +class Google_ResultTable extends Google_Model { + protected $__columnHeadersType = 'Google_ResultTableColumnHeaders'; + protected $__columnHeadersDataType = 'array'; + public $columnHeaders; + public $kind; + public $rows; + public function setColumnHeaders(/* array(Google_ResultTableColumnHeaders) */ $columnHeaders) { + $this->assertIsArray($columnHeaders, 'Google_ResultTableColumnHeaders', __METHOD__); + $this->columnHeaders = $columnHeaders; + } + public function getColumnHeaders() { + return $this->columnHeaders; + } + public function setKind( $kind) { + $this->kind = $kind; + } + public function getKind() { + return $this->kind; + } + public function setRows(/* array(Google_object) */ $rows) { + $this->assertIsArray($rows, 'Google_object', __METHOD__); + $this->rows = $rows; + } + public function getRows() { + return $this->rows; + } +} + +class Google_ResultTableColumnHeaders extends Google_Model { + public $columnType; + public $dataType; + public $name; + public function setColumnType( $columnType) { + $this->columnType = $columnType; + } + public function getColumnType() { + return $this->columnType; + } + public function setDataType( $dataType) { + $this->dataType = $dataType; + } + public function getDataType() { + return $this->dataType; + } + public function setName( $name) { + $this->name = $name; + } + public function getName() { + return $this->name; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/external/URITemplateParser.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/external/URITemplateParser.php new file mode 100644 index 0000000..4e3425a --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/external/URITemplateParser.php @@ -0,0 +1,212 @@ +template = $template; + } + + public function expand($data) { + // Modification to make this a bit more performant (since gettype is very slow) + if (! is_array($data)) { + $data = (array)$data; + } + /* + // Original code, which uses a slow gettype() statement, kept in place for if the assumption that is_array always works here is incorrect + switch (gettype($data)) { + case "boolean": + case "integer": + case "double": + case "string": + case "object": + $data = (array)$data; + break; + } + */ + + // Resolve template vars + preg_match_all('/\{([^\}]*)\}/', $this->template, $em); + + foreach ($em[1] as $i => $bare_expression) { + preg_match('/^([\+\;\?\/\.]{1})?(.*)$/', $bare_expression, $lm); + $exp = new StdClass(); + $exp->expression = $em[0][$i]; + $exp->operator = $lm[1]; + $exp->variable_list = $lm[2]; + $exp->varspecs = explode(',', $exp->variable_list); + $exp->vars = array(); + foreach ($exp->varspecs as $varspec) { + preg_match('/^([a-zA-Z0-9_]+)([\*\+]{1})?([\:\^][0-9-]+)?(\=[^,]+)?$/', $varspec, $vm); + $var = new StdClass(); + $var->name = $vm[1]; + $var->modifier = isset($vm[2]) && $vm[2] ? $vm[2] : null; + $var->modifier = isset($vm[3]) && $vm[3] ? $vm[3] : $var->modifier; + $var->default = isset($vm[4]) ? substr($vm[4], 1) : null; + $exp->vars[] = $var; + } + + // Add processing flags + $exp->reserved = false; + $exp->prefix = ''; + $exp->delimiter = ','; + switch ($exp->operator) { + case '+': + $exp->reserved = 'true'; + break; + case ';': + $exp->prefix = ';'; + $exp->delimiter = ';'; + break; + case '?': + $exp->prefix = '?'; + $exp->delimiter = '&'; + break; + case '/': + $exp->prefix = '/'; + $exp->delimiter = '/'; + break; + case '.': + $exp->prefix = '.'; + $exp->delimiter = '.'; + break; + } + $expressions[] = $exp; + } + + // Expansion + $this->expansion = $this->template; + + foreach ($expressions as $exp) { + $part = $exp->prefix; + $exp->one_var_defined = false; + foreach ($exp->vars as $var) { + $val = ''; + if ($exp->one_var_defined && isset($data[$var->name])) { + $part .= $exp->delimiter; + } + // Variable present + if (isset($data[$var->name])) { + $exp->one_var_defined = true; + $var->data = $data[$var->name]; + + $val = self::val_from_var($var, $exp); + + // Variable missing + } else { + if ($var->default) { + $exp->one_var_defined = true; + $val = $var->default; + } + } + $part .= $val; + } + if (! $exp->one_var_defined) $part = ''; + $this->expansion = str_replace($exp->expression, $part, $this->expansion); + } + + return $this->expansion; + } + + private function val_from_var($var, $exp) { + $val = ''; + if (is_array($var->data)) { + $i = 0; + if ($exp->operator == '?' && ! $var->modifier) { + $val .= $var->name . '='; + } + foreach ($var->data as $k => $v) { + $del = $var->modifier ? $exp->delimiter : ','; + $ek = rawurlencode($k); + $ev = rawurlencode($v); + + // Array + if ($k !== $i) { + if ($var->modifier == '+') { + $val .= $var->name . '.'; + } + if ($exp->operator == '?' && $var->modifier || $exp->operator == ';' && $var->modifier == '*' || $exp->operator == ';' && $var->modifier == '+') { + $val .= $ek . '='; + } else { + $val .= $ek . $del; + } + + // List + } else { + if ($var->modifier == '+') { + if ($exp->operator == ';' && $var->modifier == '*' || $exp->operator == ';' && $var->modifier == '+' || $exp->operator == '?' && $var->modifier == '+') { + $val .= $var->name . '='; + } else { + $val .= $var->name . '.'; + } + } + } + $val .= $ev . $del; + $i ++; + } + $val = trim($val, $del); + + // Strings, numbers, etc. + } else { + if ($exp->operator == '?') { + $val = $var->name . (isset($var->data) ? '=' : ''); + } else if ($exp->operator == ';') { + $val = $var->name . ($var->data ? '=' : ''); + } + $val .= rawurlencode($var->data); + if ($exp->operator == '+') { + $val = str_replace(self::$reserved_pct, self::$reserved, $val); + } + } + return $val; + } + + public function match($uri) {} + + public function __toString() { + return $this->template; + } + } +} \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_CacheParser.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_CacheParser.php new file mode 100644 index 0000000..7f5accf --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_CacheParser.php @@ -0,0 +1,173 @@ + + */ +class Google_CacheParser { + public static $CACHEABLE_HTTP_METHODS = array('GET', 'HEAD'); + public static $CACHEABLE_STATUS_CODES = array('200', '203', '300', '301'); + + private function __construct() {} + + /** + * Check if an HTTP request can be cached by a private local cache. + * + * @static + * @param Google_HttpRequest $resp + * @return bool True if the request is cacheable. + * False if the request is uncacheable. + */ + public static function isRequestCacheable (Google_HttpRequest $resp) { + $method = $resp->getRequestMethod(); + if (! in_array($method, self::$CACHEABLE_HTTP_METHODS)) { + return false; + } + + // Don't cache authorized requests/responses. + // [rfc2616-14.8] When a shared cache receives a request containing an + // Authorization field, it MUST NOT return the corresponding response + // as a reply to any other request... + if ($resp->getRequestHeader("authorization")) { + return false; + } + + return true; + } + + /** + * Check if an HTTP response can be cached by a private local cache. + * + * @static + * @param Google_HttpRequest $resp + * @return bool True if the response is cacheable. + * False if the response is un-cacheable. + */ + public static function isResponseCacheable (Google_HttpRequest $resp) { + // First, check if the HTTP request was cacheable before inspecting the + // HTTP response. + if (false == self::isRequestCacheable($resp)) { + return false; + } + + $code = $resp->getResponseHttpCode(); + if (! in_array($code, self::$CACHEABLE_STATUS_CODES)) { + return false; + } + + // The resource is uncacheable if the resource is already expired and + // the resource doesn't have an ETag for revalidation. + $etag = $resp->getResponseHeader("etag"); + if (self::isExpired($resp) && $etag == false) { + return false; + } + + // [rfc2616-14.9.2] If [no-store is] sent in a response, a cache MUST NOT + // store any part of either this response or the request that elicited it. + $cacheControl = $resp->getParsedCacheControl(); + if (isset($cacheControl['no-store'])) { + return false; + } + + // Pragma: no-cache is an http request directive, but is occasionally + // used as a response header incorrectly. + $pragma = $resp->getResponseHeader('pragma'); + if ($pragma == 'no-cache' || strpos($pragma, 'no-cache') !== false) { + return false; + } + + // [rfc2616-14.44] Vary: * is extremely difficult to cache. "It implies that + // a cache cannot determine from the request headers of a subsequent request + // whether this response is the appropriate representation." + // Given this, we deem responses with the Vary header as uncacheable. + $vary = $resp->getResponseHeader('vary'); + if ($vary) { + return false; + } + + return true; + } + + /** + * @static + * @param Google_HttpRequest $resp + * @return bool True if the HTTP response is considered to be expired. + * False if it is considered to be fresh. + */ + public static function isExpired(Google_HttpRequest $resp) { + // HTTP/1.1 clients and caches MUST treat other invalid date formats, + // especially including the value “0â€, as in the past. + $parsedExpires = false; + $responseHeaders = $resp->getResponseHeaders(); + if (isset($responseHeaders['expires'])) { + $rawExpires = $responseHeaders['expires']; + // Check for a malformed expires header first. + if (empty($rawExpires) || (is_numeric($rawExpires) && $rawExpires <= 0)) { + return true; + } + + // See if we can parse the expires header. + $parsedExpires = strtotime($rawExpires); + if (false == $parsedExpires || $parsedExpires <= 0) { + return true; + } + } + + // Calculate the freshness of an http response. + $freshnessLifetime = false; + $cacheControl = $resp->getParsedCacheControl(); + if (isset($cacheControl['max-age'])) { + $freshnessLifetime = $cacheControl['max-age']; + } + + $rawDate = $resp->getResponseHeader('date'); + $parsedDate = strtotime($rawDate); + + if (empty($rawDate) || false == $parsedDate) { + $parsedDate = time(); + } + if (false == $freshnessLifetime && isset($responseHeaders['expires'])) { + $freshnessLifetime = $parsedExpires - $parsedDate; + } + + if (false == $freshnessLifetime) { + return true; + } + + // Calculate the age of an http response. + $age = max(0, time() - $parsedDate); + if (isset($responseHeaders['age'])) { + $age = max($age, strtotime($responseHeaders['age'])); + } + + return $freshnessLifetime <= $age; + } + + /** + * Determine if a cache entry should be revalidated with by the origin. + * + * @param Google_HttpRequest $response + * @return bool True if the entry is expired, else return false. + */ + public static function mustRevalidate(Google_HttpRequest $response) { + // [13.3] When a cache has a stale entry that it would like to use as a + // response to a client's request, it first has to check with the origin + // server to see if its cached entry is still usable. + return self::isExpired($response); + } +} \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_CurlIO.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_CurlIO.php new file mode 100644 index 0000000..daea7b9 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_CurlIO.php @@ -0,0 +1,198 @@ + + * @author Chirag Shah + */ + +require_once 'Google_CacheParser.php'; + +class Google_CurlIO extends Google_IO { + private static $ENTITY_HTTP_METHODS = array("POST" => null, "PUT" => null); + private static $HOP_BY_HOP = array( + 'connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization', + 'te', 'trailers', 'transfer-encoding', 'upgrade'); + + private $curlParams = array ( + CURLOPT_RETURNTRANSFER => true, + CURLOPT_FOLLOWLOCATION => 0, + CURLOPT_FAILONERROR => false, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_HEADER => true, + CURLOPT_VERBOSE => false, + ); + + /** + * Check for cURL availability. + */ + public function __construct() { + if (! function_exists('curl_init')) { + throw new Exception( + 'Google CurlIO client requires the CURL PHP extension'); + } + } + + /** + * Perform an authenticated / signed apiHttpRequest. + * This function takes the apiHttpRequest, calls apiAuth->sign on it + * (which can modify the request in what ever way fits the auth mechanism) + * and then calls apiCurlIO::makeRequest on the signed request + * + * @param Google_HttpRequest $request + * @return Google_HttpRequest The resulting HTTP response including the + * responseHttpCode, responseHeaders and responseBody. + */ + public function authenticatedRequest(Google_HttpRequest $request) { + $request = Google_Client::$auth->sign($request); + return $this->makeRequest($request); + } + + /** + * Execute a apiHttpRequest + * + * @param Google_HttpRequest $request the http request to be executed + * @return Google_HttpRequest http request with the response http code, response + * headers and response body filled in + * @throws Google_IOException on curl or IO error + */ + public function makeRequest(Google_HttpRequest $request) { + // First, check to see if we have a valid cached version. + $cached = $this->getCachedRequest($request); + if ($cached !== false) { + if (!$this->checkMustRevaliadateCachedRequest($cached, $request)) { + return $cached; + } + } + + if (array_key_exists($request->getRequestMethod(), + self::$ENTITY_HTTP_METHODS)) { + $request = $this->processEntityRequest($request); + } + + $ch = curl_init(); + curl_setopt_array($ch, $this->curlParams); + curl_setopt($ch, CURLOPT_URL, $request->getUrl()); + if ($request->getPostBody()) { + curl_setopt($ch, CURLOPT_POSTFIELDS, $request->getPostBody()); + } + + $requestHeaders = $request->getRequestHeaders(); + if ($requestHeaders && is_array($requestHeaders)) { + $parsed = array(); + foreach ($requestHeaders as $k => $v) { + $parsed[] = "$k: $v"; + } + curl_setopt($ch, CURLOPT_HTTPHEADER, $parsed); + } + + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request->getRequestMethod()); + curl_setopt($ch, CURLOPT_USERAGENT, $request->getUserAgent()); + $respData = curl_exec($ch); + + // Retry if certificates are missing. + if (curl_errno($ch) == CURLE_SSL_CACERT) { + error_log('SSL certificate problem, verify that the CA cert is OK.' + . ' Retrying with the CA cert bundle from google-api-php-client.'); + curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacerts.pem'); + $respData = curl_exec($ch); + } + + $respHeaderSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); + $respHttpCode = (int) curl_getinfo($ch, CURLINFO_HTTP_CODE); + $curlErrorNum = curl_errno($ch); + $curlError = curl_error($ch); + curl_close($ch); + if ($curlErrorNum != CURLE_OK) { + throw new Google_IOException("HTTP Error: ($respHttpCode) $curlError"); + } + + // Parse out the raw response into usable bits + list($responseHeaders, $responseBody) = + self::parseHttpResponse($respData, $respHeaderSize); + + if ($respHttpCode == 304 && $cached) { + // If the server responded NOT_MODIFIED, return the cached request. + $this->updateCachedRequest($cached, $responseHeaders); + return $cached; + } + + // Fill in the apiHttpRequest with the response values + $request->setResponseHttpCode($respHttpCode); + $request->setResponseHeaders($responseHeaders); + $request->setResponseBody($responseBody); + // Store the request in cache (the function checks to see if the request + // can actually be cached) + $this->setCachedRequest($request); + // And finally return it + return $request; + } + + /** + * Set options that update cURL's default behavior. + * The list of accepted options are: + * {@link http://php.net/manual/en/function.curl-setopt.php] + * + * @param array $optCurlParams Multiple options used by a cURL session. + */ + public function setOptions($optCurlParams) { + foreach ($optCurlParams as $key => $val) { + $this->curlParams[$key] = $val; + } + } + + /** + * @param $respData + * @param $headerSize + * @return array + */ + private static function parseHttpResponse($respData, $headerSize) { + if (stripos($respData, parent::CONNECTION_ESTABLISHED) !== false) { + $respData = str_ireplace(parent::CONNECTION_ESTABLISHED, '', $respData); + } + + if ($headerSize) { + $responseBody = substr($respData, $headerSize); + $responseHeaders = substr($respData, 0, $headerSize); + } else { + list($responseHeaders, $responseBody) = explode("\r\n\r\n", $respData, 2); + } + + $responseHeaders = self::parseResponseHeaders($responseHeaders); + return array($responseHeaders, $responseBody); + } + + private static function parseResponseHeaders($rawHeaders) { + $responseHeaders = array(); + + $responseHeaderLines = explode("\r\n", $rawHeaders); + foreach ($responseHeaderLines as $headerLine) { + if ($headerLine && strpos($headerLine, ':') !== false) { + list($header, $value) = explode(': ', $headerLine, 2); + $header = strtolower($header); + if (isset($responseHeaders[$header])) { + $responseHeaders[$header] .= "\n" . $value; + } else { + $responseHeaders[$header] = $value; + } + } + } + return $responseHeaders; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_HttpRequest.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_HttpRequest.php new file mode 100644 index 0000000..efa277a --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_HttpRequest.php @@ -0,0 +1,304 @@ + + * @author Chirag Shah + * + */ +class Google_HttpRequest { + const USER_AGENT_SUFFIX = "google-api-php-client/0.6.5"; + private $batchHeaders = array( + 'Content-Type' => 'application/http', + 'Content-Transfer-Encoding' => 'binary', + 'MIME-Version' => '1.0', + 'Content-Length' => '' + ); + + protected $url; + protected $requestMethod; + protected $requestHeaders; + protected $postBody; + protected $userAgent; + + protected $responseHttpCode; + protected $responseHeaders; + protected $responseBody; + + public $accessKey; + + public function __construct($url, $method = 'GET', $headers = array(), $postBody = null) { + $this->setUrl($url); + $this->setRequestMethod($method); + $this->setRequestHeaders($headers); + $this->setPostBody($postBody); + + global $apiConfig; + if (empty($apiConfig['application_name'])) { + $this->userAgent = self::USER_AGENT_SUFFIX; + } else { + $this->userAgent = $apiConfig['application_name'] . " " . self::USER_AGENT_SUFFIX; + } + } + + /** + * Misc function that returns the base url component of the $url + * used by the OAuth signing class to calculate the base string + * @return string The base url component of the $url. + * @see http://oauth.net/core/1.0a/#anchor13 + */ + public function getBaseUrl() { + if ($pos = strpos($this->url, '?')) { + return substr($this->url, 0, $pos); + } + return $this->url; + } + + /** + * Misc function that returns an array of the query parameters of the current + * url used by the OAuth signing class to calculate the signature + * @return array Query parameters in the query string. + */ + public function getQueryParams() { + if ($pos = strpos($this->url, '?')) { + $queryStr = substr($this->url, $pos + 1); + $params = array(); + parse_str($queryStr, $params); + return $params; + } + return array(); + } + + /** + * @return string HTTP Response Code. + */ + public function getResponseHttpCode() { + return (int) $this->responseHttpCode; + } + + /** + * @param int $responseHttpCode HTTP Response Code. + */ + public function setResponseHttpCode($responseHttpCode) { + $this->responseHttpCode = $responseHttpCode; + } + + /** + * @return $responseHeaders (array) HTTP Response Headers. + */ + public function getResponseHeaders() { + return $this->responseHeaders; + } + + /** + * @return string HTTP Response Body + */ + public function getResponseBody() { + return $this->responseBody; + } + + /** + * @param array $headers The HTTP response headers + * to be normalized. + */ + public function setResponseHeaders($headers) { + $headers = Google_Utils::normalize($headers); + if ($this->responseHeaders) { + $headers = array_merge($this->responseHeaders, $headers); + } + + $this->responseHeaders = $headers; + } + + /** + * @param string $key + * @return array|boolean Returns the requested HTTP header or + * false if unavailable. + */ + public function getResponseHeader($key) { + return isset($this->responseHeaders[$key]) + ? $this->responseHeaders[$key] + : false; + } + + /** + * @param string $responseBody The HTTP response body. + */ + public function setResponseBody($responseBody) { + $this->responseBody = $responseBody; + } + + /** + * @return string $url The request URL. + */ + + public function getUrl() { + return $this->url; + } + + /** + * @return string $method HTTP Request Method. + */ + public function getRequestMethod() { + return $this->requestMethod; + } + + /** + * @return array $headers HTTP Request Headers. + */ + public function getRequestHeaders() { + return $this->requestHeaders; + } + + /** + * @param string $key + * @return array|boolean Returns the requested HTTP header or + * false if unavailable. + */ + public function getRequestHeader($key) { + return isset($this->requestHeaders[$key]) + ? $this->requestHeaders[$key] + : false; + } + + /** + * @return string $postBody HTTP Request Body. + */ + public function getPostBody() { + return $this->postBody; + } + + /** + * @param string $url the url to set + */ + public function setUrl($url) { + if (substr($url, 0, 4) == 'http') { + $this->url = $url; + } else { + // Force the path become relative. + if (substr($url, 0, 1) !== '/') { + $url = '/' . $url; + } + global $apiConfig; + $this->url = $apiConfig['basePath'] . $url; + } + } + + /** + * @param string $method Set he HTTP Method and normalize + * it to upper-case, as required by HTTP. + * + */ + public function setRequestMethod($method) { + $this->requestMethod = strtoupper($method); + } + + /** + * @param array $headers The HTTP request headers + * to be set and normalized. + */ + public function setRequestHeaders($headers) { + $headers = Google_Utils::normalize($headers); + if ($this->requestHeaders) { + $headers = array_merge($this->requestHeaders, $headers); + } + $this->requestHeaders = $headers; + } + + /** + * @param string $postBody the postBody to set + */ + public function setPostBody($postBody) { + $this->postBody = $postBody; + } + + /** + * Set the User-Agent Header. + * @param string $userAgent The User-Agent. + */ + public function setUserAgent($userAgent) { + $this->userAgent = $userAgent; + } + + /** + * @return string The User-Agent. + */ + public function getUserAgent() { + return $this->userAgent; + } + + /** + * Returns a cache key depending on if this was an OAuth signed request + * in which case it will use the non-signed url and access key to make this + * cache key unique per authenticated user, else use the plain request url + * @return string The md5 hash of the request cache key. + */ + public function getCacheKey() { + $key = $this->getUrl(); + + if (isset($this->accessKey)) { + $key .= $this->accessKey; + } + + if (isset($this->requestHeaders['authorization'])) { + $key .= $this->requestHeaders['authorization']; + } + + return md5($key); + } + + public function getParsedCacheControl() { + $parsed = array(); + $rawCacheControl = $this->getResponseHeader('cache-control'); + if ($rawCacheControl) { + $rawCacheControl = str_replace(', ', '&', $rawCacheControl); + parse_str($rawCacheControl, $parsed); + } + + return $parsed; + } + + /** + * @param string $id + * @return string A string representation of the HTTP Request. + */ + public function toBatchString($id) { + $str = ''; + foreach($this->batchHeaders as $key => $val) { + $str .= $key . ': ' . $val . "\n"; + } + + $str .= "Content-ID: $id\n"; + $str .= "\n"; + + $path = parse_url($this->getUrl(), PHP_URL_PATH); + $str .= $this->getRequestMethod() . ' ' . $path . " HTTP/1.1\n"; + foreach($this->getRequestHeaders() as $key => $val) { + $str .= $key . ': ' . $val . "\n"; + } + + if ($this->getPostBody()) { + $str .= "\n"; + $str .= $this->getPostBody(); + } + + return $str; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_HttpStreamIO.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_HttpStreamIO.php new file mode 100644 index 0000000..09e5d4a --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_HttpStreamIO.php @@ -0,0 +1,170 @@ + + */ + +require_once 'Google_CacheParser.php'; + +class Google_HttpStreamIO extends Google_IO { + + private static $ENTITY_HTTP_METHODS = array("POST" => null, "PUT" => null); + + private static $DEFAULT_HTTP_CONTEXT = array( + "follow_location" => 0, + "ignore_errors" => 1, + ); + + private static $DEFAULT_SSL_CONTEXT = array( + "verify_peer" => true, + ); + + /** + * Perform an authenticated / signed apiHttpRequest. + * This function takes the apiHttpRequest, calls apiAuth->sign on it + * (which can modify the request in what ever way fits the auth mechanism) + * and then calls Google_HttpStreamIO::makeRequest on the signed request + * + * @param Google_HttpRequest $request + * @return Google_HttpRequest The resulting HTTP response including the + * responseHttpCode, responseHeaders and responseBody. + */ + public function authenticatedRequest(Google_HttpRequest $request) { + $request = Google_Client::$auth->sign($request); + return $this->makeRequest($request); + } + + /** + * Execute a apiHttpRequest + * + * @param Google_HttpRequest $request the http request to be executed + * @return Google_HttpRequest http request with the response http code, + * response headers and response body filled in + * @throws Google_IOException on curl or IO error + */ + public function makeRequest(Google_HttpRequest $request) { + // First, check to see if we have a valid cached version. + $cached = $this->getCachedRequest($request); + if ($cached !== false) { + if (!$this->checkMustRevaliadateCachedRequest($cached, $request)) { + return $cached; + } + } + + $default_options = stream_context_get_options(stream_context_get_default()); + + $requestHttpContext = array_key_exists('http', $default_options) ? + $default_options['http'] : array(); + if (array_key_exists($request->getRequestMethod(), + self::$ENTITY_HTTP_METHODS)) { + $request = $this->processEntityRequest($request); + } + + if ($request->getPostBody()) { + $requestHttpContext["content"] = $request->getPostBody(); + } + + $requestHeaders = $request->getRequestHeaders(); + if ($requestHeaders && is_array($requestHeaders)) { + $headers = ""; + foreach($requestHeaders as $k => $v) { + $headers .= "$k: $v\n"; + } + $requestHttpContext["header"] = $headers; + } + + $requestHttpContext["method"] = $request->getRequestMethod(); + $requestHttpContext["user_agent"] = $request->getUserAgent(); + + $requestSslContext = array_key_exists('ssl', $default_options) ? + $default_options['ssl'] : array(); + + if (!array_key_exists("cafile", $requestSslContext)) { + $requestSslContext["cafile"] = dirname(__FILE__) . '/cacerts.pem'; + } + + $options = array("http" => array_merge(self::$DEFAULT_HTTP_CONTEXT, + $requestHttpContext), + "ssl" => array_merge(self::$DEFAULT_SSL_CONTEXT, + $requestSslContext)); + + $context = stream_context_create($options); + + $response_data = file_get_contents($request->getUrl(), + false, + $context); + + if (false === $response_data) { + throw new Google_IOException("HTTP Error: Unable to connect"); + } + + $respHttpCode = $this->getHttpResponseCode($http_response_header); + $responseHeaders = $this->getHttpResponseHeaders($http_response_header); + + if ($respHttpCode == 304 && $cached) { + // If the server responded NOT_MODIFIED, return the cached request. + $this->updateCachedRequest($cached, $responseHeaders); + return $cached; + } + + $request->setResponseHttpCode($respHttpCode); + $request->setResponseHeaders($responseHeaders); + $request->setResponseBody($response_data); + // Store the request in cache (the function checks to see if the request + // can actually be cached) + $this->setCachedRequest($request); + return $request; + } + + /** + * Set options that update the transport implementation's behavior. + * @param $options + */ + public function setOptions($options) { + } + + private function getHttpResponseCode($response_headers) { + $header_count = count($response_headers); + + for ($i = 0; $i < $header_count; $i++) { + $header = $response_headers[$i]; + if (strncasecmp("HTTP", $header, strlen("HTTP")) == 0) { + $response = explode(' ', $header); + return $response[1]; + } + } + return 'UNKNOWN'; + } + + private function getHttpResponseHeaders($response_headers) { + $header_count = count($response_headers); + $headers = array(); + + for ($i = 0; $i < $header_count; $i++) { + $header = $response_headers[$i]; + $header_parts = explode(':', $header); + if (count($header_parts) == 2) { + $headers[$header_parts[0]] = $header_parts[1]; + } + } + + return $headers; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_IO.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_IO.php new file mode 100644 index 0000000..1b0eeff --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_IO.php @@ -0,0 +1,161 @@ + + */ +abstract class Google_IO { + const CONNECTION_ESTABLISHED = "HTTP/1.0 200 Connection established\r\n\r\n"; + const FORM_URLENCODED = 'application/x-www-form-urlencoded'; + /** + * An utility function that first calls $this->auth->sign($request) and then executes makeRequest() + * on that signed request. Used for when a request should be authenticated + * @param Google_HttpRequest $request + * @return Google_HttpRequest $request + */ + abstract function authenticatedRequest(Google_HttpRequest $request); + + /** + * Executes a apIHttpRequest and returns the resulting populated httpRequest + * @param Google_HttpRequest $request + * @return Google_HttpRequest $request + */ + abstract function makeRequest(Google_HttpRequest $request); + + /** + * Set options that update the transport implementation's behavior. + * @param $options + */ + abstract function setOptions($options); + + /** + * @visible for testing. + * Cache the response to an HTTP request if it is cacheable. + * @param Google_HttpRequest $request + * @return bool Returns true if the insertion was successful. + * Otherwise, return false. + */ + protected function setCachedRequest(Google_HttpRequest $request) { + // Determine if the request is cacheable. + if (Google_CacheParser::isResponseCacheable($request)) { + Google_Client::$cache->set($request->getCacheKey(), $request); + return true; + } + + return false; + } + + /** + * @visible for testing. + * @param Google_HttpRequest $request + * @return Google_HttpRequest|bool Returns the cached object or + * false if the operation was unsuccessful. + */ + protected function getCachedRequest(Google_HttpRequest $request) { + if (false == Google_CacheParser::isRequestCacheable($request)) { + false; + } + + return Google_Client::$cache->get($request->getCacheKey()); + } + + /** + * @visible for testing + * Process an http request that contains an enclosed entity. + * @param Google_HttpRequest $request + * @return Google_HttpRequest Processed request with the enclosed entity. + */ + protected function processEntityRequest(Google_HttpRequest $request) { + $postBody = $request->getPostBody(); + $contentType = $request->getRequestHeader("content-type"); + + // Set the default content-type as application/x-www-form-urlencoded. + if (false == $contentType) { + $contentType = self::FORM_URLENCODED; + $request->setRequestHeaders(array('content-type' => $contentType)); + } + + // Force the payload to match the content-type asserted in the header. + if ($contentType == self::FORM_URLENCODED && is_array($postBody)) { + $postBody = http_build_query($postBody, '', '&'); + $request->setPostBody($postBody); + } + + // Make sure the content-length header is set. + if (!$postBody || is_string($postBody)) { + $postsLength = strlen($postBody); + $request->setRequestHeaders(array('content-length' => $postsLength)); + } + + return $request; + } + + /** + * Check if an already cached request must be revalidated, and if so update + * the request with the correct ETag headers. + * @param Google_HttpRequest $cached A previously cached response. + * @param Google_HttpRequest $request The outbound request. + * return bool If the cached object needs to be revalidated, false if it is + * still current and can be re-used. + */ + protected function checkMustRevaliadateCachedRequest($cached, $request) { + if (Google_CacheParser::mustRevalidate($cached)) { + $addHeaders = array(); + if ($cached->getResponseHeader('etag')) { + // [13.3.4] If an entity tag has been provided by the origin server, + // we must use that entity tag in any cache-conditional request. + $addHeaders['If-None-Match'] = $cached->getResponseHeader('etag'); + } elseif ($cached->getResponseHeader('date')) { + $addHeaders['If-Modified-Since'] = $cached->getResponseHeader('date'); + } + + $request->setRequestHeaders($addHeaders); + return true; + } else { + return false; + } + } + + /** + * Update a cached request, using the headers from the last response. + * @param Google_HttpRequest $cached A previously cached response. + * @param mixed Associative array of response headers from the last request. + */ + protected function updateCachedRequest($cached, $responseHeaders) { + if (isset($responseHeaders['connection'])) { + $hopByHop = array_merge( + self::$HOP_BY_HOP, + explode(',', $responseHeaders['connection']) + ); + + $endToEnd = array(); + foreach($hopByHop as $key) { + if (isset($responseHeaders[$key])) { + $endToEnd[$key] = $responseHeaders[$key]; + } + } + $cached->setResponseHeaders($endToEnd); + } + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_REST.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_REST.php new file mode 100644 index 0000000..d0f3b3d --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/Google_REST.php @@ -0,0 +1,128 @@ + + * @author Chirag Shah + */ +class Google_REST { + /** + * Executes a apiServiceRequest using a RESTful call by transforming it into + * an apiHttpRequest, and executed via apiIO::authenticatedRequest(). + * + * @param Google_HttpRequest $req + * @return array decoded result + * @throws Google_ServiceException on server side error (ie: not authenticated, + * invalid or malformed post body, invalid url) + */ + static public function execute(Google_HttpRequest $req) { + $httpRequest = Google_Client::$io->makeRequest($req); + $decodedResponse = self::decodeHttpResponse($httpRequest); + $ret = isset($decodedResponse['data']) + ? $decodedResponse['data'] : $decodedResponse; + return $ret; + } + + + /** + * Decode an HTTP Response. + * @static + * @throws Google_ServiceException + * @param Google_HttpRequest $response The http response to be decoded. + * @return mixed|null + */ + public static function decodeHttpResponse($response) { + $code = $response->getResponseHttpCode(); + $body = $response->getResponseBody(); + $decoded = null; + + if ((intVal($code)) >= 300) { + $decoded = json_decode($body, true); + $err = 'Error calling ' . $response->getRequestMethod() . ' ' . $response->getUrl(); + if ($decoded != null && isset($decoded['error']['message']) && isset($decoded['error']['code'])) { + // if we're getting a json encoded error definition, use that instead of the raw response + // body for improved readability + $err .= ": ({$decoded['error']['code']}) {$decoded['error']['message']}"; + } else { + $err .= ": ($code) $body"; + } + + throw new Google_ServiceException($err, $code, null, $decoded['error']['errors']); + } + + // Only attempt to decode the response, if the response code wasn't (204) 'no content' + if ($code != '204') { + $decoded = json_decode($body, true); + if ($decoded === null || $decoded === "") { + throw new Google_ServiceException("Invalid json in service response: $body"); + } + } + return $decoded; + } + + /** + * Parse/expand request parameters and create a fully qualified + * request uri. + * @static + * @param string $servicePath + * @param string $restPath + * @param array $params + * @return string $requestUrl + */ + static function createRequestUri($servicePath, $restPath, $params) { + $requestUrl = $servicePath . $restPath; + $uriTemplateVars = array(); + $queryVars = array(); + foreach ($params as $paramName => $paramSpec) { + // Discovery v1.0 puts the canonical location under the 'location' field. + if (! isset($paramSpec['location'])) { + $paramSpec['location'] = $paramSpec['restParameterType']; + } + + if ($paramSpec['type'] == 'boolean') { + $paramSpec['value'] = ($paramSpec['value']) ? 'true' : 'false'; + } + if ($paramSpec['location'] == 'path') { + $uriTemplateVars[$paramName] = $paramSpec['value']; + } else { + if (isset($paramSpec['repeated']) && is_array($paramSpec['value'])) { + foreach ($paramSpec['value'] as $value) { + $queryVars[] = $paramName . '=' . rawurlencode($value); + } + } else { + $queryVars[] = $paramName . '=' . rawurlencode($paramSpec['value']); + } + } + } + + if (count($uriTemplateVars)) { + $uriTemplateParser = new URI_Template_Parser($requestUrl); + $requestUrl = $uriTemplateParser->expand($uriTemplateVars); + } + //FIXME work around for the the uri template lib which url encodes + // the @'s & confuses our servers. + $requestUrl = str_replace('%40', '@', $requestUrl); + + if (count($queryVars)) { + $requestUrl .= '?' . implode($queryVars, '&'); + } + + return $requestUrl; + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/io/cacerts.pem b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/cacerts.pem new file mode 100644 index 0000000..79a4928 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/io/cacerts.pem @@ -0,0 +1,738 @@ +# Certifcate Authority certificates for validating SSL connections. +# +# This file contains PEM format certificates generated from +# http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt +# +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is the Netscape security libraries. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1994-2000 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** + +Verisign/RSA Secure Server CA +============================= + +-----BEGIN CERTIFICATE----- +MIICNDCCAaECEAKtZn5ORf5eV288mBle3cAwDQYJKoZIhvcNAQECBQAwXzELMAkG +A1UEBhMCVVMxIDAeBgNVBAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYD +VQQLEyVTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk0 +MTEwOTAwMDAwMFoXDTEwMDEwNzIzNTk1OVowXzELMAkGA1UEBhMCVVMxIDAeBgNV +BAoTF1JTQSBEYXRhIFNlY3VyaXR5LCBJbmMuMS4wLAYDVQQLEyVTZWN1cmUgU2Vy +dmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGbMA0GCSqGSIb3DQEBAQUAA4GJ +ADCBhQJ+AJLOesGugz5aqomDV6wlAXYMra6OLDfO6zV4ZFQD5YRAUcm/jwjiioII +0haGN1XpsSECrXZogZoFokvJSyVmIlZsiAeP94FZbYQHZXATcXY+m3dM41CJVphI +uR2nKRoTLkoRWZweFdVJVCxzOmmCsZc5nG1wZ0jl3S3WyB57AgMBAAEwDQYJKoZI +hvcNAQECBQADfgBl3X7hsuyw4jrg7HFGmhkRuNPHoLQDQCYCPgmc4RKz0Vr2N6W3 +YQO2WxZpO8ZECAyIUwxrl0nHPjXcbLm7qt9cuzovk2C2qUtN8iD3zV9/ZHuO3ABc +1/p3yjkWWW8O6tO1g39NTUJWdrTJXwT4OPjr0l91X817/OWOgHz8UA== +-----END CERTIFICATE----- + +Thawte Personal Basic CA +======================== + +-----BEGIN CERTIFICATE----- +MIIDITCCAoqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCByzELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD +VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT +ZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFBlcnNvbmFsIEJhc2lj +IENBMSgwJgYJKoZIhvcNAQkBFhlwZXJzb25hbC1iYXNpY0B0aGF3dGUuY29tMB4X +DTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgcsxCzAJBgNVBAYTAlpBMRUw +EwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UE +ChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2Vy +dmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQZXJzb25hbCBCYXNpYyBD +QTEoMCYGCSqGSIb3DQEJARYZcGVyc29uYWwtYmFzaWNAdGhhd3RlLmNvbTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvLyTU23AUE+CFeZIlDWmWr5vQvoPR+53 +dXLdjUmbllegeNTKP1GzaQuRdhciB5dqxFGTS+CN7zeVoQxN2jSQHReJl+A1OFdK +wPQIcOk8RHtQfmGakOMj04gRRif1CwcOu93RfyAKiLlWCy4cgNrx454p7xS9CkT7 +G1sY0b8jkyECAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQF +AAOBgQAt4plrsD16iddZopQBHyvdEktTwq1/qqcAXJFAVyVKOKqEcLnZgA+le1z7 +c8a914phXAPjLSeoF+CEhULcXpvGt7Jtu3Sv5D/Lp7ew4F2+eIMllNLbgQ95B21P +9DkVWlIBe94y1k049hJcBlDfBVu9FEuh3ym6O0GN92NWod8isQ== +-----END CERTIFICATE----- + +Thawte Personal Premium CA +========================== + +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBzzELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD +VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT +ZXJ2aWNlcyBEaXZpc2lvbjEjMCEGA1UEAxMaVGhhd3RlIFBlcnNvbmFsIFByZW1p +dW0gQ0ExKjAoBgkqhkiG9w0BCQEWG3BlcnNvbmFsLXByZW1pdW1AdGhhd3RlLmNv +bTAeFw05NjAxMDEwMDAwMDBaFw0yMDEyMzEyMzU5NTlaMIHPMQswCQYDVQQGEwJa +QTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xGjAY +BgNVBAoTEVRoYXd0ZSBDb25zdWx0aW5nMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9u +IFNlcnZpY2VzIERpdmlzaW9uMSMwIQYDVQQDExpUaGF3dGUgUGVyc29uYWwgUHJl +bWl1bSBDQTEqMCgGCSqGSIb3DQEJARYbcGVyc29uYWwtcHJlbWl1bUB0aGF3dGUu +Y29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJZtn4B0TPuYwu8KHvE0Vs +Bd/eJxZRNkERbGw77f4QfRKe5ZtCmv5gMcNmt3M6SK5O0DI3lIi1DbbZ8/JE2dWI +Et12TfIa/G8jHnrx2JhFTgcQ7xZC0EN1bUre4qrJMf8fAHB8Zs8QJQi6+u4A6UYD +ZicRFTuqW/KY3TZCstqIdQIDAQABoxMwETAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBBAUAA4GBAGk2ifc0KjNyL2071CKyuG+axTZmDhs8obF1Wub9NdP4qPIH +b4Vnjt4rueIXsDqg8A6iAJrf8xQVbrvIhVqYgPn/vnQdPfP+MCXRNzRn+qVxeTBh +KXLA4CxM+1bkOqhv5TJZUtt1KFBZDPgLGeSs2a+WjS9Q2wfD6h+rM+D1KzGJ +-----END CERTIFICATE----- + +Thawte Personal Freemail CA +=========================== + +-----BEGIN CERTIFICATE----- +MIIDLTCCApagAwIBAgIBADANBgkqhkiG9w0BAQQFADCB0TELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYD +VQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBT +ZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBlcnNvbmFsIEZyZWVt +YWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3dGUu +Y29tMB4XDTk2MDEwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgdExCzAJBgNVBAYT +AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEa +MBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRp +b24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG +cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhh +d3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1GnX1LCUZFtx6UfY +DFG26nKRsIRefS0Nj3sS34UldSh0OkIsYyeflXtL734Zhx2G6qPduc6WZBrCFG5E +rHzmj+hND3EfQDimAKOHePb5lIZererAXnbr2RSjXW56fAylS1V/Bhkpf56aJtVq +uzgkCGqYx7Hao5iR/Xnb5VrEHLkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zAN +BgkqhkiG9w0BAQQFAAOBgQDH7JJ+Tvj1lqVnYiqk8E0RYNBvjWBYYawmu1I1XAjP +MPuoSpaKH2JCI4wXD/S6ZJwXrEcp352YXtJsYHFcoqzceePnbgBHH7UNKOgCneSa +/RP0ptl8sfjcXyMmCZGAc9AUG95DqYMl8uacLxXK/qarigd1iwzdUYRr5PjRznei +gQ== +-----END CERTIFICATE----- + +Thawte Server CA +================ + +-----BEGIN CERTIFICATE----- +MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD +VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEm +MCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wHhcNOTYwODAx +MDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3 +dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNl +cyBEaXZpc2lvbjEZMBcGA1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3 +DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD +gY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl/Kj0R1HahbUgdJSGHg91 +yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg71CcEJRCX +L+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGj +EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG +7oWDTSEwjsrZqG9JGubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6e +QNuozDJ0uW8NxuOzRAvZim+aKZuZGCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZ +qdq5snUb9kLy78fyGPmJvKP/iiMucEc= +-----END CERTIFICATE----- + +Thawte Premium Server CA +======================== + +-----BEGIN CERTIFICATE----- +MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD +VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy +dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t +MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB +MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG +A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp +b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl +cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE +VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ +ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR +uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG +9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI +hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM +pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== +-----END CERTIFICATE----- + +Equifax Secure CA +================= + +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV +UzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2Vy +dGlmaWNhdGUgQXV0aG9yaXR5MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1 +MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoTB0VxdWlmYXgxLTArBgNVBAsTJEVx +dWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPRfM6f +BeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+A +cJkVV5MW8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kC +AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQ +MA4GA1UEChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlm +aWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTgw +ODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvSspXXR9gj +IBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQF +MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA +A4GBAFjOKer89961zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y +7qj/WsjTVbJmcVfewCHrPSqnI0kBBIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh +1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee9570+sB3c4 +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority +======================================================= + +-----BEGIN CERTIFICATE----- +MIICPTCCAaYCEQDNun9W8N/kvFT+IqyzcqpVMA0GCSqGSIb3DQEBAgUAMF8xCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xh +c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05 +NjAxMjkwMDAwMDBaFw0yODA4MDEyMzU5NTlaMF8xCzAJBgNVBAYTAlVTMRcwFQYD +VQQKEw5WZXJpU2lnbiwgSW5jLjE3MDUGA1UECxMuQ2xhc3MgMSBQdWJsaWMgUHJp +bWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOB +jQAwgYkCgYEA5Rm/baNWYS2ZSHH2Z965jeu3noaACpEO+jglr0aIguVzqKCbJF0N +H8xlbgyw0FaEGIeaBpsQoXPftFg5a27B9hXVqKg/qhIGjTGsf7A01480Z4gJzRQR +4k5FVmkfeAKA2txHkSm7NsljXMXg1y2He6G3MrB7MLoqLzGq7qNn2tsCAwEAATAN +BgkqhkiG9w0BAQIFAAOBgQBMP7iLxmjf7kMzDl3ppssHhE16M/+SG/Q2rdiVIjZo +EWx8QszznC7EBz8UsA9P/5CSdvnivErpj82ggAr3xSnxgiJduLHdgSOjeyUVRjB5 +FvjqBUuUfx3CHMjjt/QQQDwTw18fU+hI5Ia0e6E1sHslurjTjqs/OJ0ANACY89Fx +lA== +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority +======================================================= + +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEC0b/EoXjaOR6+f/9YtFvgswDQYJKoZIhvcNAQECBQAwXzELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz +cyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 +MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV +BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAyIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN +ADCBiQKBgQC2WoujDWojg4BrzzmH9CETMwZMJaLtVRKXxaeAufqDwSCg+i8VDXyh +YGt+eSz6Bg86rvYbb7HS/y8oUl+DfUvEerf4Zh+AVPy3wo5ZShRXRtGak75BkQO7 +FYCTXOvnzAhsPz6zSvz/S2wj1VCCJkQZjiPDceoZJEcEnnW/yKYAHwIDAQABMA0G +CSqGSIb3DQEBAgUAA4GBAIobK/o5wXTXXtgZZKJYSi034DNHD6zt96rbHuSLBlxg +J8pFUs4W7z8GZOeUaHxgMxURaa+dYo2jA1Rrpr7l7gUYYAS/QoD90KioHgE796Nc +r6Pc5iaAIzy4RHT3Cq5Ji2F4zCS/iIqnDupzGUH9TQPwiNHleI2lKk/2lw0Xd8rY +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= + +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz +cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2 +MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV +BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN +ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE +BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is +I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G +CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do +lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc +AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority - G2 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh +c3MgMSBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy +MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp +emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X +DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw +FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMg +UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo +YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 +MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgdk4xWArzZbxpvUjZudVYK +VdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIqWpDBucSm +Fc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQID +AQABMA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0J +h9ZrbWB85a7FkCMMXErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2ul +uIncrKTdcu1OofdPvAbT6shkdHvClUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68 +DzFc6PLZ +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority - G2 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0Ns +YXNzIDIgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y +aXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazAe +Fw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGlj +IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMx +KGMpIDE5OTggVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjxnNuX6Zr8wgQGE75fUsjM +HiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRCwiNPStjw +DqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cC +AwEAATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9ji +nb3/7aHmZuovCfTK1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAX +rXfMSTWqz9iP0b63GJZHc2pUIjRkLbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnIn +jBJ7xUS0rg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G2 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh +c3MgMyBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy +MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp +emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X +DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw +FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMg +UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo +YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 +MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCOFoUgRm1HP9SFIIThbbP4 +pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71lSk8UOg0 +13gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwID +AQABMA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSk +U01UbSuvDV1Ai2TT1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7i +F6YM40AIOw7n60RzKprxaZLvcRTDOaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpY +oJ2daZH9 +-----END CERTIFICATE----- + +Verisign Class 4 Public Primary Certification Authority - G2 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEDKIjprS9esTR/h/xCA3JfgwDQYJKoZIhvcNAQEFBQAwgcExCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xh +c3MgNCBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcy +MTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp +emVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMB4X +DTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVTMRcw +FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgNCBQdWJsaWMg +UHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEo +YykgMTk5OCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5 +MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQC68OTP+cSuhVS5B1f5j8V/aBH4xBewRNzjMHPVKmIquNDM +HO0oW369atyzkSTKQWI8/AIBvxwWMZQFl3Zuoq29YRdsTjCG8FE3KlDHqGKB3FtK +qsGgtG7rL+VXxbErQHDbWk2hjh+9Ax/YA9SPTJlxvOKCzFjomDqG04Y48wApHwID +AQABMA0GCSqGSIb3DQEBBQUAA4GBAIWMEsGnuVAVess+rLhDityq3RS6iYF+ATwj +cSGIL4LcY/oCRaxFWdcqWERbt5+BO5JoPeI3JPV7bI92NZYJqFmduc4jq3TWg/0y +cyfYaT5DdPauxYma51N86Xv2S/PBZYPejYqcPIiNOVn8qj8ijaHBZlCBckztImRP +T8qAkbYp +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority - G3 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN2E1Lm0+afY8wR4 +nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/EbRrsC+MO +8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjV +ojYJrKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjb +PG7PoBMAGrgnoeS+Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP2 +6KbqxzcSXKMpHgLZ2x87tNcPVkeBFQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vr +n5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAq2aN17O6x5q25lXQBfGfMY1a +qtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/Ny9Sn2WCVhDr4 +wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 +ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrs +pSCAaWihT37ha88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4 +E1Z5T21Q6huwtVexN2ZYI/PcD98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority - G3 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVy +aVNpZ24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24s +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNp +Z24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJBgNV +BAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNp +Z24gVHJ1c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24g +Q2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt +IEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArwoNwtUs22e5LeWU +J92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6tW8UvxDO +JxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUY +wZF7C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9o +koqQHgiBVrKtaaNS0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjN +qWm6o+sdDZykIKbBoMXRRkwXbdKsZj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/E +Srg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0JhU8wI1NQ0kdvekhktdmnLfe +xbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf0xwLRtxyID+u +7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU +sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RI +sH/7NiXaldDxJBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTP +cjnhsUPgKM+351psE2tJs//jGHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Verisign Class 4 Public Primary Certification Authority - G3 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK3LpRFpxlmr8Y+1 +GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaStBO3IFsJ ++mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0Gbd +U6LM8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLm +NxdLMEYH5IBtptiWLugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XY +ufTsgsbSPZUd5cBPhMnZo0QoBmrXRazwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ +ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAj/ola09b5KROJ1WrIhVZPMq1 +CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXttmhwwjIDLk5Mq +g6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm +fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c +2NU8Qh0XwRJdRTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/ +bLvSHgCwIe34QWKCudiyxLtGUPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== +-----END CERTIFICATE----- + +Equifax Secure Global eBusiness CA +================================== + +-----BEGIN CERTIFICATE----- +MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEc +MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBT +ZWN1cmUgR2xvYmFsIGVCdXNpbmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIw +MDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE0VxdWlmYXggU2Vj +dXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEdsb2JhbCBlQnVzaW5l +c3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRVPEnC +UdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc +58O/gGzNqfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/ +o5brhTMhHD4ePmBudpxnhcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAH +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUvqigdHJQa0S3ySPY+6j/s1dr +aGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hsMA0GCSqGSIb3DQEBBAUA +A4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okENI7SS+RkA +Z70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv +8qIYNMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 1 +============================= + +-----BEGIN CERTIFICATE----- +MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEc +MBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBT +ZWN1cmUgZUJ1c2luZXNzIENBLTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQw +MDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMTRXF1aWZheCBTZWN1cmUgSW5j +LjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENBLTEwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ1MRo +RvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBu +WqDZQu4aIZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKw +Env+j6YDAgMBAAGjZjBkMBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTAD +AQH/MB8GA1UdIwQYMBaAFEp4MlIR21kWNl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRK +eDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQFAAOBgQB1W6ibAxHm6VZM +zfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5lSE/9dR+ +WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN +/Bf+KpYrtWKmpj29f5JZzVoqgrI3eQ== +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 2 +============================= + +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2Vj +dXJlIGVCdXNpbmVzcyBDQS0yMB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0 +NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkVxdWlmYXggU2VjdXJlMSYwJAYD +VQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn2Z0G +vxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/ +BPO3QSQ5BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0C +AwEAAaOCAQkwggEFMHAGA1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEX +MBUGA1UEChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJl +IGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoGA1UdEAQTMBGBDzIwMTkw +NjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9euSBIplBq +y/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQF +MAMBAf8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUA +A4GBAAyGgq3oThr1jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy +0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1 +E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUmV+GRMOrN +-----END CERTIFICATE----- + +Thawte Time Stamping CA +======================= + +-----BEGIN CERTIFICATE----- +MIICoTCCAgqgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBizELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzAN +BgNVBAoTBlRoYXd0ZTEdMBsGA1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAd +BgNVBAMTFlRoYXd0ZSBUaW1lc3RhbXBpbmcgQ0EwHhcNOTcwMTAxMDAwMDAwWhcN +MjAxMjMxMjM1OTU5WjCBizELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4g +Q2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxDzANBgNVBAoTBlRoYXd0ZTEdMBsG +A1UECxMUVGhhd3RlIENlcnRpZmljYXRpb24xHzAdBgNVBAMTFlRoYXd0ZSBUaW1l +c3RhbXBpbmcgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANYrWHhhRYZT +6jR7UZztsOYuGA7+4F+oJ9O0yeB8WU4WDnNUYMF/9p8u6TqFJBU820cEY8OexJQa +Wt9MevPZQx08EHp5JduQ/vBR5zDWQQD9nyjfeb6Uu522FOMjhdepQeBMpHmwKxqL +8vg7ij5FrHGSALSQQZj7X+36ty6K+Ig3AgMBAAGjEzARMA8GA1UdEwEB/wQFMAMB +Af8wDQYJKoZIhvcNAQEEBQADgYEAZ9viwuaHPUCDhjc1fR/OmsMMZiCouqoEiYbC +9RAIDb/LogWK0E02PvTX72nGXuSwlG9KuefeW4i2e9vjJ+V2w/A1wcu1J5szedyQ +pgCed/r8zSeUQhac0xxo7L9c3eWpexAKMnRUEzGLhQOEkbdYATAUOK8oyvyxUBkZ +CayJSdM= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== + +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ + +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +Entrust.net Secure Server Certification Authority +================================================= + +-----BEGIN CERTIFICATE----- +MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC +VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u +ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc +KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u +ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1 +MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE +ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j +b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF +bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg +U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/ +I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3 +wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC +AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb +oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5 +BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p +dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk +MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp +b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu +dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0 +MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi +E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa +MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI +hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN +95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd +2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= +-----END CERTIFICATE----- + +Go Daddy Certification Authority Root Certificate Bundle +======================================================== + +-----BEGIN CERTIFICATE----- +MIIE3jCCA8agAwIBAgICAwEwDQYJKoZIhvcNAQEFBQAwYzELMAkGA1UEBhMCVVMx +ITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMTYw +MTU0MzdaFw0yNjExMTYwMTU0MzdaMIHKMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH +QXJpem9uYTETMBEGA1UEBxMKU2NvdHRzZGFsZTEaMBgGA1UEChMRR29EYWRkeS5j +b20sIEluYy4xMzAxBgNVBAsTKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5j +b20vcmVwb3NpdG9yeTEwMC4GA1UEAxMnR28gRGFkZHkgU2VjdXJlIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MREwDwYDVQQFEwgwNzk2OTI4NzCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAMQt1RWMnCZM7DI161+4WQFapmGBWTtwY6vj3D3H +KrjJM9N55DrtPDAjhI6zMBS2sofDPZVUBJ7fmd0LJR4h3mUpfjWoqVTr9vcyOdQm +VZWt7/v+WIbXnvQAjYwqDL1CBM6nPwT27oDyqu9SoWlm2r4arV3aLGbqGmu75RpR +SgAvSMeYddi5Kcju+GZtCpyz8/x4fKL4o/K1w/O5epHBp+YlLpyo7RJlbmr2EkRT +cDCVw5wrWCs9CHRK8r5RsL+H0EwnWGu1NcWdrxcx+AuP7q2BNgWJCJjPOq8lh8BJ +6qf9Z/dFjpfMFDniNoW1fho3/Rb2cRGadDAW/hOUoz+EDU8CAwEAAaOCATIwggEu +MB0GA1UdDgQWBBT9rGEyk2xF1uLuhV+auud2mWjM5zAfBgNVHSMEGDAWgBTSxLDS +kdRMEXGzYcs9of7dqGrU4zASBgNVHRMBAf8ECDAGAQH/AgEAMDMGCCsGAQUFBwEB +BCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZ29kYWRkeS5jb20wRgYDVR0f +BD8wPTA7oDmgN4Y1aHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNvbS9yZXBv +c2l0b3J5L2dkcm9vdC5jcmwwSwYDVR0gBEQwQjBABgRVHSAAMDgwNgYIKwYBBQUH +AgEWKmh0dHA6Ly9jZXJ0aWZpY2F0ZXMuZ29kYWRkeS5jb20vcmVwb3NpdG9yeTAO +BgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBANKGwOy9+aG2Z+5mC6IG +OgRQjhVyrEp0lVPLN8tESe8HkGsz2ZbwlFalEzAFPIUyIXvJxwqoJKSQ3kbTJSMU +A2fCENZvD117esyfxVgqwcSeIaha86ykRvOe5GPLL5CkKSkB2XIsKd83ASe8T+5o +0yGPwLPk9Qnt0hCqU7S+8MxZC9Y7lhyVJEnfzuz9p0iRFEUOOjZv2kWzRaJBydTX +RE4+uXR21aITVSzGh6O1mawGhId/dQb8vxRMDsxuxN89txJx9OjxUUAiKEngHUuH +qDTMBqLdElrRhjZkAzVvb3du6/KFUJheqwNTrZEjYx8WnM25sgVjOuH0aBsXBTWV +U+4= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIE+zCCBGSgAwIBAgICAQ0wDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1Zh +bGlDZXJ0IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIElu +Yy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24g +QXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAe +BgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTA0MDYyOTE3MDYyMFoX +DTI0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBE +YWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3MgMiBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgC +ggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+q +N1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiO +r18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lN +f4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+YihfukEH +U1jPEX44dMX4/7VpkI+EdOqXG68CAQOjggHhMIIB3TAdBgNVHQ4EFgQU0sSw0pHU +TBFxs2HLPaH+3ahq1OMwgdIGA1UdIwSByjCBx6GBwaSBvjCBuzEkMCIGA1UEBxMb +VmFsaUNlcnQgVmFsaWRhdGlvbiBOZXR3b3JrMRcwFQYDVQQKEw5WYWxpQ2VydCwg +SW5jLjE1MDMGA1UECxMsVmFsaUNlcnQgQ2xhc3MgMiBQb2xpY3kgVmFsaWRhdGlv +biBBdXRob3JpdHkxITAfBgNVBAMTGGh0dHA6Ly93d3cudmFsaWNlcnQuY29tLzEg +MB4GCSqGSIb3DQEJARYRaW5mb0B2YWxpY2VydC5jb22CAQEwDwYDVR0TAQH/BAUw +AwEB/zAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLmdv +ZGFkZHkuY29tMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jZXJ0aWZpY2F0ZXMu +Z29kYWRkeS5jb20vcmVwb3NpdG9yeS9yb290LmNybDBLBgNVHSAERDBCMEAGBFUd +IAAwODA2BggrBgEFBQcCARYqaHR0cDovL2NlcnRpZmljYXRlcy5nb2RhZGR5LmNv +bS9yZXBvc2l0b3J5MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOBgQC1 +QPmnHfbq/qQaQlpE9xXUhUaJwL6e4+PrxeNYiY+Sn1eocSxI0YGyeR+sBjUZsE4O +WBsUs5iB0QQeyAfJg594RAoYC5jcdnplDQ1tgMQLARzLrUc+cb53S8wGd9D0Vmsf +SxOaFIqII6hR8INMqzW/Rn453HWkrugp++85j09VZw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0 +IFZhbGlkYXRpb24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAz +BgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9y +aXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG +9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAwMTk1NFoXDTE5MDYy +NjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0d29y +azEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRw +Oi8vd3d3LnZhbGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNl +cnQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOOnHK5avIWZJV16vY +dA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVCCSRrCl6zfN1SLUzm1NZ9 +WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7RfZHM047QS +v4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9v +UJSZSWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTu +IYEZoDJJKPTEjlbVUjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwC +W/POuZ6lcg5Ktz885hZo+L7tdEy8W9ViH0Pd +-----END CERTIFICATE----- + +GeoTrust Global CA +================== + +-----BEGIN CERTIFICATE----- +MIIDfTCCAuagAwIBAgIDErvmMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT +MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0 +aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDIwNTIxMDQwMDAwWhcNMTgwODIxMDQwMDAw +WjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UE +AxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9m +OSm9BXiLnTjoBbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIu +T8rxh0PBFpVXLVDviS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6c +JmTM386DGXHKTubU1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmR +Cw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5asz +PeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo4HwMIHtMB8GA1UdIwQYMBaAFEjm +aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrM +TjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjA6BgNVHR8EMzAxMC+g +LaArhilodHRwOi8vY3JsLmdlb3RydXN0LmNvbS9jcmxzL3NlY3VyZWNhLmNybDBO +BgNVHSAERzBFMEMGBFUdIAAwOzA5BggrBgEFBQcCARYtaHR0cHM6Ly93d3cuZ2Vv +dHJ1c3QuY29tL3Jlc291cmNlcy9yZXBvc2l0b3J5MA0GCSqGSIb3DQEBBQUAA4GB +AHbhEm5OSxYShjAGsoEIz/AIx8dxfmbuwu3UOx//8PDITtZDOLC5MH0Y0FWDomrL +NhGc6Ehmo21/uBPUR/6LWlxz/K7ZGzIZOKuXNBSqltLroxwUCEm2u+WR74M26x1W +b8ravHNjkOR/ez4iyz0H7V84dJzjA1BOoa+Y7mHyhD8S +-----END CERTIFICATE----- diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/local_config.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/local_config.php new file mode 100644 index 0000000..3eb0aaf --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/local_config.php @@ -0,0 +1,81 @@ + false, + + // The application_name is included in the User-Agent HTTP header. + 'application_name' => '', + + // OAuth2 Settings, you can get these keys at https://code.google.com/apis/console + //'oauth2_client_id' => '', + //'oauth2_client_secret' => '', + //'oauth2_redirect_uri' => '', + + // The developer key, you get this at https://code.google.com/apis/console + 'developer_key' => '', + + // Site name to show in the Google's OAuth 1 authentication screen. + 'site_name' => 'www.example.org', + + // Which Authentication, Storage and HTTP IO classes to use. + 'authClass' => 'Google_OAuth2', + 'ioClass' => 'Google_CurlIO', + 'cacheClass' => 'Google_FileCache', + + // Don't change these unless you're working against a special development or testing environment. + 'basePath' => 'https://www.googleapis.com', + + // IO Class dependent configuration, you only have to configure the values + // for the class that was configured as the ioClass above + 'ioFileCache_directory' => + (function_exists('get_temp_dir') ? + get_temp_dir() . '/Google_Client' : + '/tmp/Google_Client'), + + // Definition of service specific values like scopes, oauth token URLs, etc + 'services' => array( + 'analytics' => array('scope' => 'https://www.googleapis.com/auth/analytics.readonly'), + 'calendar' => array( + 'scope' => array( + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/calendar.readonly", + ) + ), + 'books' => array('scope' => 'https://www.googleapis.com/auth/books'), + 'latitude' => array( + 'scope' => array( + 'https://www.googleapis.com/auth/latitude.all.best', + 'https://www.googleapis.com/auth/latitude.all.city', + ) + ), + 'moderator' => array('scope' => 'https://www.googleapis.com/auth/moderator'), + 'oauth2' => array( + 'scope' => array( + 'https://www.googleapis.com/auth/userinfo.profile', + 'https://www.googleapis.com/auth/userinfo.email', + ) + ), + 'plus' => array('scope' => 'https://www.googleapis.com/auth/plus.me'), + 'siteVerification' => array('scope' => 'https://www.googleapis.com/auth/siteverification'), + 'tasks' => array('scope' => 'https://www.googleapis.com/auth/tasks'), + 'urlshortener' => array('scope' => 'https://www.googleapis.com/auth/urlshortener') + ) +); \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_BatchRequest.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_BatchRequest.php new file mode 100644 index 0000000..3916b22 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_BatchRequest.php @@ -0,0 +1,110 @@ + + */ +class Google_BatchRequest { + /** @var string Multipart Boundary. */ + private $boundary; + + /** @var array service requests to be executed. */ + private $requests = array(); + + public function __construct($boundary = false) { + $boundary = (false == $boundary) ? mt_rand() : $boundary; + $this->boundary = str_replace('"', '', $boundary); + } + + public function add(Google_HttpRequest $request, $key = false) { + if (false == $key) { + $key = mt_rand(); + } + + $this->requests[$key] = $request; + } + + public function execute() { + $body = ''; + + /** @var Google_HttpRequest $req */ + foreach($this->requests as $key => $req) { + $body .= "--{$this->boundary}\n"; + $body .= $req->toBatchString($key) . "\n"; + } + + $body = rtrim($body); + $body .= "\n--{$this->boundary}--"; + + global $apiConfig; + $url = $apiConfig['basePath'] . '/batch'; + $httpRequest = new Google_HttpRequest($url, 'POST'); + $httpRequest->setRequestHeaders(array( + 'Content-Type' => 'multipart/mixed; boundary=' . $this->boundary)); + + $httpRequest->setPostBody($body); + $response = Google_Client::$io->makeRequest($httpRequest); + + $response = $this->parseResponse($response); + return $response; + } + + public function parseResponse(Google_HttpRequest $response) { + $contentType = $response->getResponseHeader('content-type'); + $contentType = explode(';', $contentType); + $boundary = false; + foreach($contentType as $part) { + $part = (explode('=', $part, 2)); + if (isset($part[0]) && 'boundary' == trim($part[0])) { + $boundary = $part[1]; + } + } + + $body = $response->getResponseBody(); + if ($body) { + $body = str_replace("--$boundary--", "--$boundary", $body); + $parts = explode("--$boundary", $body); + $responses = array(); + + foreach($parts as $part) { + $part = trim($part); + if (!empty($part)) { + list($metaHeaders, $part) = explode("\r\n\r\n", $part, 2); + $metaHeaders = Google_CurlIO::parseResponseHeaders($metaHeaders); + + $status = substr($part, 0, strpos($part, "\n")); + $status = explode(" ", $status); + $status = $status[1]; + + list($partHeaders, $partBody) = Google_CurlIO::parseHttpResponse($part, false); + $response = new Google_HttpRequest(""); + $response->setResponseHttpCode($status); + $response->setResponseHeaders($partHeaders); + $response->setResponseBody($partBody); + $response = Google_REST::decodeHttpResponse($response); + + // Need content id. + $responses[$metaHeaders['content-id']] = $response; + } + } + + return $responses; + } + + return null; + } +} \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_MediaFileUpload.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_MediaFileUpload.php new file mode 100644 index 0000000..c64e188 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_MediaFileUpload.php @@ -0,0 +1,262 @@ + + * + */ +class Google_MediaFileUpload { + const UPLOAD_MEDIA_TYPE = 'media'; + const UPLOAD_MULTIPART_TYPE = 'multipart'; + const UPLOAD_RESUMABLE_TYPE = 'resumable'; + + /** @var string $mimeType */ + public $mimeType; + + /** @var string $data */ + public $data; + + /** @var bool $resumable */ + public $resumable; + + /** @var int $chunkSize */ + public $chunkSize; + + /** @var int $size */ + public $size; + + /** @var string $resumeUri */ + public $resumeUri; + + /** @var int $progress */ + public $progress; + + /** + * @param $mimeType string + * @param $data string The bytes you want to upload. + * @param $resumable bool + * @param bool $chunkSize File will be uploaded in chunks of this many bytes. + * only used if resumable=True + */ + public function __construct($mimeType, $data, $resumable=false, $chunkSize=false) { + $this->mimeType = $mimeType; + $this->data = $data; + $this->size = strlen($this->data); + $this->resumable = $resumable; + if(!$chunkSize) { + $chunkSize = 256 * 1024; + } + $this->chunkSize = $chunkSize; + $this->progress = 0; + } + + public function setFileSize($size) { + $this->size = $size; + } + + /** + * @static + * @param $meta + * @param $params + * @return array|bool + */ + public static function process($meta, &$params) { + $payload = array(); + $meta = is_string($meta) ? json_decode($meta, true) : $meta; + $uploadType = self::getUploadType($meta, $payload, $params); + if (!$uploadType) { + // Process as a normal API request. + return false; + } + + // Process as a media upload request. + $params['uploadType'] = array( + 'type' => 'string', + 'location' => 'query', + 'value' => $uploadType, + ); + + $mimeType = isset($params['mimeType']) + ? $params['mimeType']['value'] + : false; + unset($params['mimeType']); + + if (!$mimeType) { + $mimeType = $payload['content-type']; + } + + if (isset($params['file'])) { + // This is a standard file upload with curl. + $file = $params['file']['value']; + unset($params['file']); + return self::processFileUpload($file, $mimeType); + } + + $data = isset($params['data']) + ? $params['data']['value'] + : false; + unset($params['data']); + + if (self::UPLOAD_RESUMABLE_TYPE == $uploadType) { + $payload['content-type'] = $mimeType; + $payload['postBody'] = is_string($meta) ? $meta : json_encode($meta); + + } elseif (self::UPLOAD_MEDIA_TYPE == $uploadType) { + // This is a simple media upload. + $payload['content-type'] = $mimeType; + $payload['postBody'] = $data; + } + + elseif (self::UPLOAD_MULTIPART_TYPE == $uploadType) { + // This is a multipart/related upload. + $boundary = isset($params['boundary']['value']) ? $params['boundary']['value'] : mt_rand(); + $boundary = str_replace('"', '', $boundary); + $payload['content-type'] = 'multipart/related; boundary=' . $boundary; + $related = "--$boundary\r\n"; + $related .= "Content-Type: application/json; charset=UTF-8\r\n"; + $related .= "\r\n" . json_encode($meta) . "\r\n"; + $related .= "--$boundary\r\n"; + $related .= "Content-Type: $mimeType\r\n"; + $related .= "Content-Transfer-Encoding: base64\r\n"; + $related .= "\r\n" . base64_encode($data) . "\r\n"; + $related .= "--$boundary--"; + $payload['postBody'] = $related; + } + + return $payload; + } + + /** + * Prepares a standard file upload via cURL. + * @param $file + * @param $mime + * @return array Includes the processed file name. + * @visible For testing. + */ + public static function processFileUpload($file, $mime) { + if (!$file) return array(); + if (substr($file, 0, 1) != '@') { + $file = '@' . $file; + } + + // This is a standard file upload with curl. + $params = array('postBody' => array('file' => $file)); + if ($mime) { + $params['content-type'] = $mime; + } + + return $params; + } + + /** + * Valid upload types: + * - resumable (UPLOAD_RESUMABLE_TYPE) + * - media (UPLOAD_MEDIA_TYPE) + * - multipart (UPLOAD_MULTIPART_TYPE) + * - none (false) + * @param $meta + * @param $payload + * @param $params + * @return bool|string + */ + public static function getUploadType($meta, &$payload, &$params) { + if (isset($params['mediaUpload']) + && get_class($params['mediaUpload']['value']) == 'Google_MediaFileUpload') { + $upload = $params['mediaUpload']['value']; + unset($params['mediaUpload']); + $payload['content-type'] = $upload->mimeType; + if (isset($upload->resumable) && $upload->resumable) { + return self::UPLOAD_RESUMABLE_TYPE; + } + } + + // Allow the developer to override the upload type. + if (isset($params['uploadType'])) { + return $params['uploadType']['value']; + } + + $data = isset($params['data']['value']) + ? $params['data']['value'] : false; + + if (false == $data && false == isset($params['file'])) { + // No upload data available. + return false; + } + + if (isset($params['file'])) { + return self::UPLOAD_MEDIA_TYPE; + } + + if (false == $meta) { + return self::UPLOAD_MEDIA_TYPE; + } + + return self::UPLOAD_MULTIPART_TYPE; + } + + + public function nextChunk(Google_HttpRequest $req, $chunk=false) { + if (false == $this->resumeUri) { + $this->resumeUri = $this->getResumeUri($req); + } + + if (false == $chunk) { + $chunk = substr($this->data, $this->progress, $this->chunkSize); + } + + $lastBytePos = $this->progress + strlen($chunk) - 1; + $headers = array( + 'content-range' => "bytes $this->progress-$lastBytePos/$this->size", + 'content-type' => $req->getRequestHeader('content-type'), + 'content-length' => $this->chunkSize, + 'expect' => '', + ); + + $httpRequest = new Google_HttpRequest($this->resumeUri, 'PUT', $headers, $chunk); + $response = Google_Client::$io->authenticatedRequest($httpRequest); + $code = $response->getResponseHttpCode(); + if (308 == $code) { + $range = explode('-', $response->getResponseHeader('range')); + $this->progress = $range[1] + 1; + return false; + } else { + return Google_REST::decodeHttpResponse($response); + } + } + + private function getResumeUri(Google_HttpRequest $httpRequest) { + $result = null; + $body = $httpRequest->getPostBody(); + if ($body) { + $httpRequest->setRequestHeaders(array( + 'content-type' => 'application/json; charset=UTF-8', + 'content-length' => Google_Utils::getStrLen($body), + 'x-upload-content-type' => $this->mimeType, + 'x-upload-content-length' => $this->size, + 'expect' => '', + )); + } + + $response = Google_Client::$io->makeRequest($httpRequest); + $location = $response->getResponseHeader('location'); + $code = $response->getResponseHttpCode(); + if (200 == $code && true == $location) { + return $location; + } + throw new Google_Exception("Failed to start the resumable upload"); + } +} \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Model.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Model.php new file mode 100644 index 0000000..cb44cb2 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Model.php @@ -0,0 +1,115 @@ + + * + */ +class Google_Model { + public function __construct( /* polymorphic */ ) { + if (func_num_args() == 1 && is_array(func_get_arg(0))) { + // Initialize the model with the array's contents. + $array = func_get_arg(0); + $this->mapTypes($array); + } + } + + /** + * Initialize this object's properties from an array. + * + * @param array $array Used to seed this object's properties. + * @return void + */ + protected function mapTypes($array) { + foreach ($array as $key => $val) { + $this->$key = $val; + + $keyTypeName = "__$key" . 'Type'; + $keyDataType = "__$key" . 'DataType'; + if ($this->useObjects() && property_exists($this, $keyTypeName)) { + if ($this->isAssociativeArray($val)) { + if (isset($this->$keyDataType) && 'map' == $this->$keyDataType) { + foreach($val as $arrayKey => $arrayItem) { + $val[$arrayKey] = $this->createObjectFromName($keyTypeName, $arrayItem); + } + $this->$key = $val; + } else { + $this->$key = $this->createObjectFromName($keyTypeName, $val); + } + } else if (is_array($val)) { + $arrayObject = array(); + foreach ($val as $arrayIndex => $arrayItem) { + $arrayObject[$arrayIndex] = $this->createObjectFromName($keyTypeName, $arrayItem); + } + $this->$key = $arrayObject; + } + } + } + } + + /** + * Returns true only if the array is associative. + * @param array $array + * @return bool True if the array is associative. + */ + protected function isAssociativeArray($array) { + if (!is_array($array)) { + return false; + } + $keys = array_keys($array); + foreach($keys as $key) { + if (is_string($key)) { + return true; + } + } + return false; + } + + /** + * Given a variable name, discover its type. + * + * @param $name + * @param $item + * @return object The object from the item. + */ + private function createObjectFromName($name, $item) { + $type = $this->$name; + return new $type($item); + } + + protected function useObjects() { + global $apiConfig; + return (isset($apiConfig['use_objects']) && $apiConfig['use_objects']); + } + + /** + * Verify if $obj is an array. + * @throws Google_Exception Thrown if $obj isn't an array. + * @param array $obj Items that should be validated. + * @param string $type Array items should be of this type. + * @param string $method Method expecting an array as an argument. + */ + public function assertIsArray($obj, $type, $method) { + if ($obj && !is_array($obj)) { + throw new Google_Exception("Incorrect parameter type passed to $method(), expected an" + . " array containing items of type $type."); + } + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Service.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Service.php new file mode 100644 index 0000000..1f4731f --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Service.php @@ -0,0 +1,22 @@ + + * @author Chirag Shah + * + */ +class Google_ServiceResource { + // Valid query parameters that work, but don't appear in discovery. + private $stackParameters = array( + 'alt' => array('type' => 'string', 'location' => 'query'), + 'boundary' => array('type' => 'string', 'location' => 'query'), + 'fields' => array('type' => 'string', 'location' => 'query'), + 'trace' => array('type' => 'string', 'location' => 'query'), + 'userIp' => array('type' => 'string', 'location' => 'query'), + 'userip' => array('type' => 'string', 'location' => 'query'), + 'quotaUser' => array('type' => 'string', 'location' => 'query'), + 'file' => array('type' => 'complex', 'location' => 'body'), + 'data' => array('type' => 'string', 'location' => 'body'), + 'mimeType' => array('type' => 'string', 'location' => 'header'), + 'uploadType' => array('type' => 'string', 'location' => 'query'), + 'mediaUpload' => array('type' => 'complex', 'location' => 'query'), + ); + + /** @var Google_Service $service */ + private $service; + + /** @var string $serviceName */ + private $serviceName; + + /** @var string $resourceName */ + private $resourceName; + + /** @var array $methods */ + private $methods; + + public function __construct($service, $serviceName, $resourceName, $resource) { + $this->service = $service; + $this->serviceName = $serviceName; + $this->resourceName = $resourceName; + $this->methods = isset($resource['methods']) ? $resource['methods'] : array($resourceName => $resource); + } + + /** + * @param $name + * @param $arguments + * @return Google_HttpRequest|array + * @throws Google_Exception + */ + public function __call($name, $arguments) { + if (! isset($this->methods[$name])) { + throw new Google_Exception("Unknown function: {$this->serviceName}->{$this->resourceName}->{$name}()"); + } + $method = $this->methods[$name]; + $parameters = $arguments[0]; + + // postBody is a special case since it's not defined in the discovery document as parameter, but we abuse the param entry for storing it + $postBody = null; + if (isset($parameters['postBody'])) { + if (is_object($parameters['postBody'])) { + $this->stripNull($parameters['postBody']); + } + + // Some APIs require the postBody to be set under the data key. + if (is_array($parameters['postBody']) && 'latitude' == $this->serviceName) { + if (!isset($parameters['postBody']['data'])) { + $rawBody = $parameters['postBody']; + unset($parameters['postBody']); + $parameters['postBody']['data'] = $rawBody; + } + } + + $postBody = is_array($parameters['postBody']) || is_object($parameters['postBody']) + ? json_encode($parameters['postBody']) + : $parameters['postBody']; + unset($parameters['postBody']); + + if (isset($parameters['optParams'])) { + $optParams = $parameters['optParams']; + unset($parameters['optParams']); + $parameters = array_merge($parameters, $optParams); + } + } + + if (!isset($method['parameters'])) { + $method['parameters'] = array(); + } + + $method['parameters'] = array_merge($method['parameters'], $this->stackParameters); + foreach ($parameters as $key => $val) { + if ($key != 'postBody' && ! isset($method['parameters'][$key])) { + throw new Google_Exception("($name) unknown parameter: '$key'"); + } + } + if (isset($method['parameters'])) { + foreach ($method['parameters'] as $paramName => $paramSpec) { + if (isset($paramSpec['required']) && $paramSpec['required'] && ! isset($parameters[$paramName])) { + throw new Google_Exception("($name) missing required param: '$paramName'"); + } + if (isset($parameters[$paramName])) { + $value = $parameters[$paramName]; + $parameters[$paramName] = $paramSpec; + $parameters[$paramName]['value'] = $value; + unset($parameters[$paramName]['required']); + } else { + unset($parameters[$paramName]); + } + } + } + + // Discovery v1.0 puts the canonical method id under the 'id' field. + if (! isset($method['id'])) { + $method['id'] = $method['rpcMethod']; + } + + // Discovery v1.0 puts the canonical path under the 'path' field. + if (! isset($method['path'])) { + $method['path'] = $method['restPath']; + } + + $servicePath = $this->service->servicePath; + + // Process Media Request + $contentType = false; + if (isset($method['mediaUpload'])) { + $media = Google_MediaFileUpload::process($postBody, $parameters); + if ($media) { + $contentType = isset($media['content-type']) ? $media['content-type']: null; + $postBody = isset($media['postBody']) ? $media['postBody'] : null; + $servicePath = $method['mediaUpload']['protocols']['simple']['path']; + $method['path'] = ''; + } + } + + $url = Google_REST::createRequestUri($servicePath, $method['path'], $parameters); + $httpRequest = new Google_HttpRequest($url, $method['httpMethod'], null, $postBody); + if ($postBody) { + $contentTypeHeader = array(); + if (isset($contentType) && $contentType) { + $contentTypeHeader['content-type'] = $contentType; + } else { + $contentTypeHeader['content-type'] = 'application/json; charset=UTF-8'; + $contentTypeHeader['content-length'] = Google_Utils::getStrLen($postBody); + } + $httpRequest->setRequestHeaders($contentTypeHeader); + } + + $httpRequest = Google_Client::$auth->sign($httpRequest); + if (Google_Client::$useBatch) { + return $httpRequest; + } + + // Terminate immediately if this is a resumable request. + if (isset($parameters['uploadType']['value']) + && Google_MediaFileUpload::UPLOAD_RESUMABLE_TYPE == $parameters['uploadType']['value']) { + $contentTypeHeader = array(); + if (isset($contentType) && $contentType) { + $contentTypeHeader['content-type'] = $contentType; + } + $httpRequest->setRequestHeaders($contentTypeHeader); + if ($postBody) { + $httpRequest->setPostBody($postBody); + } + return $httpRequest; + } + + return Google_REST::execute($httpRequest); + } + + public function useObjects() { + global $apiConfig; + return (isset($apiConfig['use_objects']) && $apiConfig['use_objects']); + } + + protected function stripNull(&$o) { + $o = (array) $o; + foreach ($o as $k => $v) { + if ($v === null || strstr($k, "\0*\0__")) { + unset($o[$k]); + } + elseif (is_object($v) || is_array($v)) { + $this->stripNull($o[$k]); + } + } + } +} diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Utils.php b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Utils.php new file mode 100644 index 0000000..be94902 --- /dev/null +++ b/wp-content/plugins/google-analyticator/google-api-php-client/src/service/Google_Utils.php @@ -0,0 +1,117 @@ + + */ +class Google_Utils { + public static function urlSafeB64Encode($data) { + $b64 = base64_encode($data); + $b64 = str_replace(array('+', '/', '\r', '\n', '='), + array('-', '_'), + $b64); + return $b64; + } + + public static function urlSafeB64Decode($b64) { + $b64 = str_replace(array('-', '_'), + array('+', '/'), + $b64); + return base64_decode($b64); + } + + /** + * Misc function used to count the number of bytes in a post body, in the world of multi-byte chars + * and the unpredictability of strlen/mb_strlen/sizeof, this is the only way to do that in a sane + * manner at the moment. + * + * This algorithm was originally developed for the + * Solar Framework by Paul M. Jones + * + * @link http://solarphp.com/ + * @link http://svn.solarphp.com/core/trunk/Solar/Json.php + * @link http://framework.zend.com/svn/framework/standard/trunk/library/Zend/Json/Decoder.php + * @param string $str + * @return int The number of bytes in a string. + */ + static public function getStrLen($str) { + $strlenVar = strlen($str); + $d = $ret = 0; + for ($count = 0; $count < $strlenVar; ++ $count) { + $ordinalValue = ord($str{$ret}); + switch (true) { + case (($ordinalValue >= 0x20) && ($ordinalValue <= 0x7F)): + // characters U-00000000 - U-0000007F (same as ASCII) + $ret ++; + break; + + case (($ordinalValue & 0xE0) == 0xC0): + // characters U-00000080 - U-000007FF, mask 110XXXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $ret += 2; + break; + + case (($ordinalValue & 0xF0) == 0xE0): + // characters U-00000800 - U-0000FFFF, mask 1110XXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $ret += 3; + break; + + case (($ordinalValue & 0xF8) == 0xF0): + // characters U-00010000 - U-001FFFFF, mask 11110XXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $ret += 4; + break; + + case (($ordinalValue & 0xFC) == 0xF8): + // characters U-00200000 - U-03FFFFFF, mask 111110XX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $ret += 5; + break; + + case (($ordinalValue & 0xFE) == 0xFC): + // characters U-04000000 - U-7FFFFFFF, mask 1111110X + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $ret += 6; + break; + default: + $ret ++; + } + } + return $ret; + } + + /** + * Normalize all keys in an array to lower-case. + * @param array $arr + * @return array Normalized array. + */ + public static function normalize($arr) { + if (!is_array($arr)) { + return array(); + } + + $normalized = array(); + foreach ($arr as $key => $val) { + $normalized[strtolower($key)] = $val; + } + return $normalized; + } +} \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/google-api-php-client/static/Credentials.png b/wp-content/plugins/google-analyticator/google-api-php-client/static/Credentials.png new file mode 100644 index 0000000..3eb40fe Binary files /dev/null and b/wp-content/plugins/google-analyticator/google-api-php-client/static/Credentials.png differ diff --git a/wp-content/plugins/google-analyticator/jquery.flot.min.js b/wp-content/plugins/google-analyticator/jquery.flot.min.js new file mode 100644 index 0000000..4467fc5 --- /dev/null +++ b/wp-content/plugins/google-analyticator/jquery.flot.min.js @@ -0,0 +1,6 @@ +/* Javascript plotting library for jQuery, v. 0.7. + * + * Released under the MIT license by IOLA, December 2007. + * + */ +(function(b){b.color={};b.color.make=function(d,e,g,f){var c={};c.r=d||0;c.g=e||0;c.b=g||0;c.a=f!=null?f:1;c.add=function(h,j){for(var k=0;k=1){return"rgb("+[c.r,c.g,c.b].join(",")+")"}else{return"rgba("+[c.r,c.g,c.b,c.a].join(",")+")"}};c.normalize=function(){function h(k,j,l){return jl?l:j)}c.r=h(0,parseInt(c.r),255);c.g=h(0,parseInt(c.g),255);c.b=h(0,parseInt(c.b),255);c.a=h(0,c.a,1);return c};c.clone=function(){return b.color.make(c.r,c.b,c.g,c.a)};return c.normalize()};b.color.extract=function(d,e){var c;do{c=d.css(e).toLowerCase();if(c!=""&&c!="transparent"){break}d=d.parent()}while(!b.nodeName(d.get(0),"body"));if(c=="rgba(0, 0, 0, 0)"){c="transparent"}return b.color.parse(c)};b.color.parse=function(c){var d,f=b.color.make;if(d=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10))}if(d=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseInt(d[1],10),parseInt(d[2],10),parseInt(d[3],10),parseFloat(d[4]))}if(d=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55)}if(d=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(c)){return f(parseFloat(d[1])*2.55,parseFloat(d[2])*2.55,parseFloat(d[3])*2.55,parseFloat(d[4]))}if(d=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c)){return f(parseInt(d[1],16),parseInt(d[2],16),parseInt(d[3],16))}if(d=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c)){return f(parseInt(d[1]+d[1],16),parseInt(d[2]+d[2],16),parseInt(d[3]+d[3],16))}var e=b.trim(c).toLowerCase();if(e=="transparent"){return f(255,255,255,0)}else{d=a[e]||[0,0,0];return f(d[0],d[1],d[2])}};var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function(c){function b(av,ai,J,af){var Q=[],O={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:0.85},xaxis:{show:null,position:"bottom",mode:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null,monthNames:null,timeformat:null,twelveHourClock:false},yaxis:{autoscaleMargin:0.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false},shadowSize:3},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},hooks:{}},az=null,ad=null,y=null,H=null,A=null,p=[],aw=[],q={left:0,right:0,top:0,bottom:0},G=0,I=0,h=0,w=0,ak={processOptions:[],processRawData:[],processDatapoints:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},aq=this;aq.setData=aj;aq.setupGrid=t;aq.draw=W;aq.getPlaceholder=function(){return av};aq.getCanvas=function(){return az};aq.getPlotOffset=function(){return q};aq.width=function(){return h};aq.height=function(){return w};aq.offset=function(){var aB=y.offset();aB.left+=q.left;aB.top+=q.top;return aB};aq.getData=function(){return Q};aq.getAxes=function(){var aC={},aB;c.each(p.concat(aw),function(aD,aE){if(aE){aC[aE.direction+(aE.n!=1?aE.n:"")+"axis"]=aE}});return aC};aq.getXAxes=function(){return p};aq.getYAxes=function(){return aw};aq.c2p=C;aq.p2c=ar;aq.getOptions=function(){return O};aq.highlight=x;aq.unhighlight=T;aq.triggerRedrawOverlay=f;aq.pointOffset=function(aB){return{left:parseInt(p[aA(aB,"x")-1].p2c(+aB.x)+q.left),top:parseInt(aw[aA(aB,"y")-1].p2c(+aB.y)+q.top)}};aq.shutdown=ag;aq.resize=function(){B();g(az);g(ad)};aq.hooks=ak;F(aq);Z(J);X();aj(ai);t();W();ah();function an(aD,aB){aB=[aq].concat(aB);for(var aC=0;aC=O.colors.length){aG=0;++aF}}var aH=0,aN;for(aG=0;aGa3.datamax&&a1!=aB){a3.datamax=a1}}c.each(m(),function(a1,a2){a2.datamin=aO;a2.datamax=aI;a2.used=false});for(aU=0;aU0&&aT[aR-aP]!=null&&aT[aR-aP]!=aT[aR]&&aT[aR-aP+1]!=aT[aR+1]){for(aN=0;aNaM){aM=a0}}if(aX.y){if(a0aV){aV=a0}}}}if(aJ.bars.show){var aY=aJ.bars.align=="left"?0:-aJ.bars.barWidth/2;if(aJ.bars.horizontal){aQ+=aY;aV+=aY+aJ.bars.barWidth}else{aK+=aY;aM+=aY+aJ.bars.barWidth}}aF(aJ.xaxis,aK,aM);aF(aJ.yaxis,aQ,aV)}c.each(m(),function(a1,a2){if(a2.datamin==aO){a2.datamin=null}if(a2.datamax==aI){a2.datamax=null}})}function j(aB,aC){var aD=document.createElement("canvas");aD.className=aC;aD.width=G;aD.height=I;if(!aB){c(aD).css({position:"absolute",left:0,top:0})}c(aD).appendTo(av);if(!aD.getContext){aD=window.G_vmlCanvasManager.initElement(aD)}aD.getContext("2d").save();return aD}function B(){G=av.width();I=av.height();if(G<=0||I<=0){throw"Invalid dimensions for plot, width = "+G+", height = "+I}}function g(aC){if(aC.width!=G){aC.width=G}if(aC.height!=I){aC.height=I}var aB=aC.getContext("2d");aB.restore();aB.save()}function X(){var aC,aB=av.children("canvas.base"),aD=av.children("canvas.overlay");if(aB.length==0||aD==0){av.html("");av.css({padding:0});if(av.css("position")=="static"){av.css("position","relative")}B();az=j(true,"base");ad=j(false,"overlay");aC=false}else{az=aB.get(0);ad=aD.get(0);aC=true}H=az.getContext("2d");A=ad.getContext("2d");y=c([ad,az]);if(aC){av.data("plot").shutdown();aq.resize();A.clearRect(0,0,G,I);y.unbind();av.children().not([az,ad]).remove()}av.data("plot",aq)}function ah(){if(O.grid.hoverable){y.mousemove(aa);y.mouseleave(l)}if(O.grid.clickable){y.click(R)}an(ak.bindEvents,[y])}function ag(){if(M){clearTimeout(M)}y.unbind("mousemove",aa);y.unbind("mouseleave",l);y.unbind("click",R);an(ak.shutdown,[y])}function r(aG){function aC(aH){return aH}var aF,aB,aD=aG.options.transform||aC,aE=aG.options.inverseTransform;if(aG.direction=="x"){aF=aG.scale=h/Math.abs(aD(aG.max)-aD(aG.min));aB=Math.min(aD(aG.max),aD(aG.min))}else{aF=aG.scale=w/Math.abs(aD(aG.max)-aD(aG.min));aF=-aF;aB=Math.max(aD(aG.max),aD(aG.min))}if(aD==aC){aG.p2c=function(aH){return(aH-aB)*aF}}else{aG.p2c=function(aH){return(aD(aH)-aB)*aF}}if(!aE){aG.c2p=function(aH){return aB+aH/aF}}else{aG.c2p=function(aH){return aE(aB+aH/aF)}}}function L(aD){var aB=aD.options,aF,aJ=aD.ticks||[],aI=[],aE,aK=aB.labelWidth,aG=aB.labelHeight,aC;function aH(aM,aL){return c('
    '+aM.join("")+"
    ").appendTo(av)}if(aD.direction=="x"){if(aK==null){aK=Math.floor(G/(aJ.length>0?aJ.length:1))}if(aG==null){aI=[];for(aF=0;aF'+aE+"")}}if(aI.length>0){aI.push('
    ');aC=aH(aI,"width:10000px;");aG=aC.height();aC.remove()}}}else{if(aK==null||aG==null){for(aF=0;aF'+aE+"")}}if(aI.length>0){aC=aH(aI,"");if(aK==null){aK=aC.children().width()}if(aG==null){aG=aC.find("div.tickLabel").height()}aC.remove()}}}if(aK==null){aK=0}if(aG==null){aG=0}aD.labelWidth=aK;aD.labelHeight=aG}function au(aD){var aC=aD.labelWidth,aL=aD.labelHeight,aH=aD.options.position,aF=aD.options.tickLength,aG=O.grid.axisMargin,aJ=O.grid.labelMargin,aK=aD.direction=="x"?p:aw,aE;var aB=c.grep(aK,function(aN){return aN&&aN.options.position==aH&&aN.reserveSpace});if(c.inArray(aD,aB)==aB.length-1){aG=0}if(aF==null){aF="full"}var aI=c.grep(aK,function(aN){return aN&&aN.reserveSpace});var aM=c.inArray(aD,aI)==0;if(!aM&&aF=="full"){aF=5}if(!isNaN(+aF)){aJ+=+aF}if(aD.direction=="x"){aL+=aJ;if(aH=="bottom"){q.bottom+=aL+aG;aD.box={top:I-q.bottom,height:aL}}else{aD.box={top:q.top+aG,height:aL};q.top+=aL+aG}}else{aC+=aJ;if(aH=="left"){aD.box={left:q.left+aG,width:aC};q.left+=aC+aG}else{q.right+=aC+aG;aD.box={left:G-q.right,width:aC}}}aD.position=aH;aD.tickLength=aF;aD.box.padding=aJ;aD.innermost=aM}function U(aB){if(aB.direction=="x"){aB.box.left=q.left;aB.box.width=h}else{aB.box.top=q.top;aB.box.height=w}}function t(){var aC,aE=m();c.each(aE,function(aF,aG){aG.show=aG.options.show;if(aG.show==null){aG.show=aG.used}aG.reserveSpace=aG.show||aG.options.reserveSpace;n(aG)});allocatedAxes=c.grep(aE,function(aF){return aF.reserveSpace});q.left=q.right=q.top=q.bottom=0;if(O.grid.show){c.each(allocatedAxes,function(aF,aG){S(aG);P(aG);ap(aG,aG.ticks);L(aG)});for(aC=allocatedAxes.length-1;aC>=0;--aC){au(allocatedAxes[aC])}var aD=O.grid.minBorderMargin;if(aD==null){aD=0;for(aC=0;aC=0){aD=0}}if(aF.max==null){aB+=aH*aG;if(aB>0&&aE.datamax!=null&&aE.datamax<=0){aB=0}}}}aE.min=aD;aE.max=aB}function S(aG){var aM=aG.options;var aH;if(typeof aM.ticks=="number"&&aM.ticks>0){aH=aM.ticks}else{aH=0.3*Math.sqrt(aG.direction=="x"?G:I)}var aT=(aG.max-aG.min)/aH,aO,aB,aN,aR,aS,aQ,aI;if(aM.mode=="time"){var aJ={second:1000,minute:60*1000,hour:60*60*1000,day:24*60*60*1000,month:30*24*60*60*1000,year:365.2425*24*60*60*1000};var aK=[[1,"second"],[2,"second"],[5,"second"],[10,"second"],[30,"second"],[1,"minute"],[2,"minute"],[5,"minute"],[10,"minute"],[30,"minute"],[1,"hour"],[2,"hour"],[4,"hour"],[8,"hour"],[12,"hour"],[1,"day"],[2,"day"],[3,"day"],[0.25,"month"],[0.5,"month"],[1,"month"],[2,"month"],[3,"month"],[6,"month"],[1,"year"]];var aC=0;if(aM.minTickSize!=null){if(typeof aM.tickSize=="number"){aC=aM.tickSize}else{aC=aM.minTickSize[0]*aJ[aM.minTickSize[1]]}}for(var aS=0;aS=aC){break}}aO=aK[aS][0];aN=aK[aS][1];if(aN=="year"){aQ=Math.pow(10,Math.floor(Math.log(aT/aJ.year)/Math.LN10));aI=(aT/aJ.year)/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ}aG.tickSize=aM.tickSize||[aO,aN];aB=function(aX){var a2=[],a0=aX.tickSize[0],a3=aX.tickSize[1],a1=new Date(aX.min);var aW=a0*aJ[a3];if(a3=="second"){a1.setUTCSeconds(a(a1.getUTCSeconds(),a0))}if(a3=="minute"){a1.setUTCMinutes(a(a1.getUTCMinutes(),a0))}if(a3=="hour"){a1.setUTCHours(a(a1.getUTCHours(),a0))}if(a3=="month"){a1.setUTCMonth(a(a1.getUTCMonth(),a0))}if(a3=="year"){a1.setUTCFullYear(a(a1.getUTCFullYear(),a0))}a1.setUTCMilliseconds(0);if(aW>=aJ.minute){a1.setUTCSeconds(0)}if(aW>=aJ.hour){a1.setUTCMinutes(0)}if(aW>=aJ.day){a1.setUTCHours(0)}if(aW>=aJ.day*4){a1.setUTCDate(1)}if(aW>=aJ.year){a1.setUTCMonth(0)}var a5=0,a4=Number.NaN,aY;do{aY=a4;a4=a1.getTime();a2.push(a4);if(a3=="month"){if(a0<1){a1.setUTCDate(1);var aV=a1.getTime();a1.setUTCMonth(a1.getUTCMonth()+1);var aZ=a1.getTime();a1.setTime(a4+a5*aJ.hour+(aZ-aV)*a0);a5=a1.getUTCHours();a1.setUTCHours(0)}else{a1.setUTCMonth(a1.getUTCMonth()+a0)}}else{if(a3=="year"){a1.setUTCFullYear(a1.getUTCFullYear()+a0)}else{a1.setTime(a4+aW)}}}while(a4aU){aP=aU}aQ=Math.pow(10,-aP);aI=aT/aQ;if(aI<1.5){aO=1}else{if(aI<3){aO=2;if(aI>2.25&&(aU==null||aP+1<=aU)){aO=2.5;++aP}}else{if(aI<7.5){aO=5}else{aO=10}}}aO*=aQ;if(aM.minTickSize!=null&&aO0){if(aM.min==null){aG.min=Math.min(aG.min,aL[0])}if(aM.max==null&&aL.length>1){aG.max=Math.max(aG.max,aL[aL.length-1])}}aB=function(aX){var aY=[],aV,aW;for(aW=0;aW1&&/\..*0$/.test((aD[1]-aD[0]).toFixed(aE)))){aG.tickDecimals=aE}}}}aG.tickGenerator=aB;if(c.isFunction(aM.tickFormatter)){aG.tickFormatter=function(aV,aW){return""+aM.tickFormatter(aV,aW)}}else{aG.tickFormatter=aR}}function P(aF){var aH=aF.options.ticks,aG=[];if(aH==null||(typeof aH=="number"&&aH>0)){aG=aF.tickGenerator(aF)}else{if(aH){if(c.isFunction(aH)){aG=aH({min:aF.min,max:aF.max})}else{aG=aH}}}var aE,aB;aF.ticks=[];for(aE=0;aE1){aC=aD[1]}}else{aB=+aD}if(aC==null){aC=aF.tickFormatter(aB,aF)}if(!isNaN(aB)){aF.ticks.push({v:aB,label:aC})}}}function ap(aB,aC){if(aB.options.autoscaleMargin&&aC.length>0){if(aB.options.min==null){aB.min=Math.min(aB.min,aC[0].v)}if(aB.options.max==null&&aC.length>1){aB.max=Math.max(aB.max,aC[aC.length-1].v)}}}function W(){H.clearRect(0,0,G,I);var aC=O.grid;if(aC.show&&aC.backgroundColor){N()}if(aC.show&&!aC.aboveData){ac()}for(var aB=0;aBaG){var aC=aH;aH=aG;aG=aC}return{from:aH,to:aG,axis:aE}}function N(){H.save();H.translate(q.left,q.top);H.fillStyle=am(O.grid.backgroundColor,w,0,"rgba(255, 255, 255, 0)");H.fillRect(0,0,h,w);H.restore()}function ac(){var aF;H.save();H.translate(q.left,q.top);var aH=O.grid.markings;if(aH){if(c.isFunction(aH)){var aK=aq.getAxes();aK.xmin=aK.xaxis.min;aK.xmax=aK.xaxis.max;aK.ymin=aK.yaxis.min;aK.ymax=aK.yaxis.max;aH=aH(aK)}for(aF=0;aFaC.axis.max||aI.toaI.axis.max){continue}aC.from=Math.max(aC.from,aC.axis.min);aC.to=Math.min(aC.to,aC.axis.max);aI.from=Math.max(aI.from,aI.axis.min);aI.to=Math.min(aI.to,aI.axis.max);if(aC.from==aC.to&&aI.from==aI.to){continue}aC.from=aC.axis.p2c(aC.from);aC.to=aC.axis.p2c(aC.to);aI.from=aI.axis.p2c(aI.from);aI.to=aI.axis.p2c(aI.to);if(aC.from==aC.to||aI.from==aI.to){H.beginPath();H.strokeStyle=aD.color||O.grid.markingsColor;H.lineWidth=aD.lineWidth||O.grid.markingsLineWidth;H.moveTo(aC.from,aI.from);H.lineTo(aC.to,aI.to);H.stroke()}else{H.fillStyle=aD.color||O.grid.markingsColor;H.fillRect(aC.from,aI.to,aC.to-aC.from,aI.from-aI.to)}}}var aK=m(),aM=O.grid.borderWidth;for(var aE=0;aEaB.max||(aQ=="full"&&aM>0&&(aO==aB.min||aO==aB.max))){continue}if(aB.direction=="x"){aN=aB.p2c(aO);aJ=aQ=="full"?-w:aQ;if(aB.position=="top"){aJ=-aJ}}else{aL=aB.p2c(aO);aP=aQ=="full"?-h:aQ;if(aB.position=="left"){aP=-aP}}if(H.lineWidth==1){if(aB.direction=="x"){aN=Math.floor(aN)+0.5}else{aL=Math.floor(aL)+0.5}}H.moveTo(aN,aL);H.lineTo(aN+aP,aL+aJ)}H.stroke()}if(aM){H.lineWidth=aM;H.strokeStyle=O.grid.borderColor;H.strokeRect(-aM/2,-aM/2,h+aM,w+aM)}H.restore()}function k(){av.find(".tickLabels").remove();var aG=['
    '];var aJ=m();for(var aD=0;aD');for(var aE=0;aEaC.max){continue}var aK={},aI;if(aC.direction=="x"){aI="center";aK.left=Math.round(q.left+aC.p2c(aH.v)-aC.labelWidth/2);if(aC.position=="bottom"){aK.top=aF.top+aF.padding}else{aK.bottom=I-(aF.top+aF.height-aF.padding)}}else{aK.top=Math.round(q.top+aC.p2c(aH.v)-aC.labelHeight/2);if(aC.position=="left"){aK.right=G-(aF.left+aF.width-aF.padding);aI="right"}else{aK.left=aF.left+aF.padding;aI="left"}}aK.width=aC.labelWidth;var aB=["position:absolute","text-align:"+aI];for(var aL in aK){aB.push(aL+":"+aK[aL]+"px")}aG.push('
    '+aH.label+"
    ")}aG.push("
    ")}aG.push("");av.append(aG.join(""))}function d(aB){if(aB.lines.show){at(aB)}if(aB.bars.show){e(aB)}if(aB.points.show){ao(aB)}}function at(aE){function aD(aP,aQ,aI,aU,aT){var aV=aP.points,aJ=aP.pointsize,aN=null,aM=null;H.beginPath();for(var aO=aJ;aO=aR&&aS>aT.max){if(aR>aT.max){continue}aL=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aS=aT.max}else{if(aR>=aS&&aR>aT.max){if(aS>aT.max){continue}aK=(aT.max-aS)/(aR-aS)*(aK-aL)+aL;aR=aT.max}}if(aL<=aK&&aL=aK&&aL>aU.max){if(aK>aU.max){continue}aS=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aL=aU.max}else{if(aK>=aL&&aK>aU.max){if(aL>aU.max){continue}aR=(aU.max-aL)/(aK-aL)*(aR-aS)+aS;aK=aU.max}}if(aL!=aN||aS!=aM){H.moveTo(aU.p2c(aL)+aQ,aT.p2c(aS)+aI)}aN=aK;aM=aR;H.lineTo(aU.p2c(aK)+aQ,aT.p2c(aR)+aI)}H.stroke()}function aF(aI,aQ,aP){var aW=aI.points,aV=aI.pointsize,aN=Math.min(Math.max(0,aP.min),aP.max),aX=0,aU,aT=false,aM=1,aL=0,aR=0;while(true){if(aV>0&&aX>aW.length+aV){break}aX+=aV;var aZ=aW[aX-aV],aK=aW[aX-aV+aM],aY=aW[aX],aJ=aW[aX+aM];if(aT){if(aV>0&&aZ!=null&&aY==null){aR=aX;aV=-aV;aM=2;continue}if(aV<0&&aX==aL+aV){H.fill();aT=false;aV=-aV;aM=1;aX=aL=aR+aV;continue}}if(aZ==null||aY==null){continue}if(aZ<=aY&&aZ=aY&&aZ>aQ.max){if(aY>aQ.max){continue}aK=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aZ=aQ.max}else{if(aY>=aZ&&aY>aQ.max){if(aZ>aQ.max){continue}aJ=(aQ.max-aZ)/(aY-aZ)*(aJ-aK)+aK;aY=aQ.max}}if(!aT){H.beginPath();H.moveTo(aQ.p2c(aZ),aP.p2c(aN));aT=true}if(aK>=aP.max&&aJ>=aP.max){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.max));H.lineTo(aQ.p2c(aY),aP.p2c(aP.max));continue}else{if(aK<=aP.min&&aJ<=aP.min){H.lineTo(aQ.p2c(aZ),aP.p2c(aP.min));H.lineTo(aQ.p2c(aY),aP.p2c(aP.min));continue}}var aO=aZ,aS=aY;if(aK<=aJ&&aK=aP.min){aZ=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.min}else{if(aJ<=aK&&aJ=aP.min){aY=(aP.min-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.min}}if(aK>=aJ&&aK>aP.max&&aJ<=aP.max){aZ=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aK=aP.max}else{if(aJ>=aK&&aJ>aP.max&&aK<=aP.max){aY=(aP.max-aK)/(aJ-aK)*(aY-aZ)+aZ;aJ=aP.max}}if(aZ!=aO){H.lineTo(aQ.p2c(aO),aP.p2c(aK))}H.lineTo(aQ.p2c(aZ),aP.p2c(aK));H.lineTo(aQ.p2c(aY),aP.p2c(aJ));if(aY!=aS){H.lineTo(aQ.p2c(aY),aP.p2c(aJ));H.lineTo(aQ.p2c(aS),aP.p2c(aJ))}}}H.save();H.translate(q.left,q.top);H.lineJoin="round";var aG=aE.lines.lineWidth,aB=aE.shadowSize;if(aG>0&&aB>0){H.lineWidth=aB;H.strokeStyle="rgba(0,0,0,0.1)";var aH=Math.PI/18;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/2),Math.cos(aH)*(aG/2+aB/2),aE.xaxis,aE.yaxis);H.lineWidth=aB/2;aD(aE.datapoints,Math.sin(aH)*(aG/2+aB/4),Math.cos(aH)*(aG/2+aB/4),aE.xaxis,aE.yaxis)}H.lineWidth=aG;H.strokeStyle=aE.color;var aC=ae(aE.lines,aE.color,0,w);if(aC){H.fillStyle=aC;aF(aE.datapoints,aE.xaxis,aE.yaxis)}if(aG>0){aD(aE.datapoints,0,0,aE.xaxis,aE.yaxis)}H.restore()}function ao(aE){function aH(aN,aM,aU,aK,aS,aT,aQ,aJ){var aR=aN.points,aI=aN.pointsize;for(var aL=0;aLaT.max||aOaQ.max){continue}H.beginPath();aP=aT.p2c(aP);aO=aQ.p2c(aO)+aK;if(aJ=="circle"){H.arc(aP,aO,aM,0,aS?Math.PI:Math.PI*2,false)}else{aJ(H,aP,aO,aM,aS)}H.closePath();if(aU){H.fillStyle=aU;H.fill()}H.stroke()}}H.save();H.translate(q.left,q.top);var aG=aE.points.lineWidth,aC=aE.shadowSize,aB=aE.points.radius,aF=aE.points.symbol;if(aG>0&&aC>0){var aD=aC/2;H.lineWidth=aD;H.strokeStyle="rgba(0,0,0,0.1)";aH(aE.datapoints,aB,null,aD+aD/2,true,aE.xaxis,aE.yaxis,aF);H.strokeStyle="rgba(0,0,0,0.2)";aH(aE.datapoints,aB,null,aD/2,true,aE.xaxis,aE.yaxis,aF)}H.lineWidth=aG;H.strokeStyle=aE.color;aH(aE.datapoints,aB,ae(aE.points,aE.color),0,false,aE.xaxis,aE.yaxis,aF);H.restore()}function E(aN,aM,aV,aI,aQ,aF,aD,aL,aK,aU,aR,aC){var aE,aT,aJ,aP,aG,aB,aO,aH,aS;if(aR){aH=aB=aO=true;aG=false;aE=aV;aT=aN;aP=aM+aI;aJ=aM+aQ;if(aTaL.max||aPaK.max){return}if(aEaL.max){aT=aL.max;aB=false}if(aJaK.max){aP=aK.max;aO=false}aE=aL.p2c(aE);aJ=aK.p2c(aJ);aT=aL.p2c(aT);aP=aK.p2c(aP);if(aD){aU.beginPath();aU.moveTo(aE,aJ);aU.lineTo(aE,aP);aU.lineTo(aT,aP);aU.lineTo(aT,aJ);aU.fillStyle=aD(aJ,aP);aU.fill()}if(aC>0&&(aG||aB||aO||aH)){aU.beginPath();aU.moveTo(aE,aJ+aF);if(aG){aU.lineTo(aE,aP+aF)}else{aU.moveTo(aE,aP+aF)}if(aO){aU.lineTo(aT,aP+aF)}else{aU.moveTo(aT,aP+aF)}if(aB){aU.lineTo(aT,aJ+aF)}else{aU.moveTo(aT,aJ+aF)}if(aH){aU.lineTo(aE,aJ+aF)}else{aU.moveTo(aE,aJ+aF)}aU.stroke()}}function e(aD){function aC(aJ,aI,aL,aG,aK,aN,aM){var aO=aJ.points,aF=aJ.pointsize;for(var aH=0;aH")}aH.push("");aF=true}if(aN){aJ=aN(aJ,aM)}aH.push('
    '+aJ+"")}if(aF){aH.push("")}if(aH.length==0){return}var aL=''+aH.join("")+"
    ";if(O.legend.container!=null){c(O.legend.container).html(aL)}else{var aI="",aC=O.legend.position,aD=O.legend.margin;if(aD[0]==null){aD=[aD,aD]}if(aC.charAt(0)=="n"){aI+="top:"+(aD[1]+q.top)+"px;"}else{if(aC.charAt(0)=="s"){aI+="bottom:"+(aD[1]+q.bottom)+"px;"}}if(aC.charAt(1)=="e"){aI+="right:"+(aD[0]+q.right)+"px;"}else{if(aC.charAt(1)=="w"){aI+="left:"+(aD[0]+q.left)+"px;"}}var aK=c('
    '+aL.replace('style="','style="position:absolute;'+aI+";")+"
    ").appendTo(av);if(O.legend.backgroundOpacity!=0){var aG=O.legend.backgroundColor;if(aG==null){aG=O.grid.backgroundColor;if(aG&&typeof aG=="string"){aG=c.color.parse(aG)}else{aG=c.color.extract(aK,"background-color")}aG.a=1;aG=aG.toString()}var aB=aK.children();c('
    ').prependTo(aK).css("opacity",O.legend.backgroundOpacity)}}}var ab=[],M=null;function K(aI,aG,aD){var aO=O.grid.mouseActiveRadius,a0=aO*aO+1,aY=null,aR=false,aW,aU;for(aW=Q.length-1;aW>=0;--aW){if(!aD(Q[aW])){continue}var aP=Q[aW],aH=aP.xaxis,aF=aP.yaxis,aV=aP.datapoints.points,aT=aP.datapoints.pointsize,aQ=aH.c2p(aI),aN=aF.c2p(aG),aC=aO/aH.scale,aB=aO/aF.scale;if(aH.options.inverseTransform){aC=Number.MAX_VALUE}if(aF.options.inverseTransform){aB=Number.MAX_VALUE}if(aP.lines.show||aP.points.show){for(aU=0;aUaC||aK-aQ<-aC||aJ-aN>aB||aJ-aN<-aB){continue}var aM=Math.abs(aH.p2c(aK)-aI),aL=Math.abs(aF.p2c(aJ)-aG),aS=aM*aM+aL*aL;if(aS=Math.min(aZ,aK)&&aN>=aJ+aE&&aN<=aJ+aX):(aQ>=aK+aE&&aQ<=aK+aX&&aN>=Math.min(aZ,aJ)&&aN<=Math.max(aZ,aJ))){aY=[aW,aU/aT]}}}}if(aY){aW=aY[0];aU=aY[1];aT=Q[aW].datapoints.pointsize;return{datapoint:Q[aW].datapoints.points.slice(aU*aT,(aU+1)*aT),dataIndex:aU,series:Q[aW],seriesIndex:aW}}return null}function aa(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return aC.hoverable!=false})}}function l(aB){if(O.grid.hoverable){u("plothover",aB,function(aC){return false})}}function R(aB){u("plotclick",aB,function(aC){return aC.clickable!=false})}function u(aC,aB,aD){var aE=y.offset(),aH=aB.pageX-aE.left-q.left,aF=aB.pageY-aE.top-q.top,aJ=C({left:aH,top:aF});aJ.pageX=aB.pageX;aJ.pageY=aB.pageY;var aK=K(aH,aF,aD);if(aK){aK.pageX=parseInt(aK.series.xaxis.p2c(aK.datapoint[0])+aE.left+q.left);aK.pageY=parseInt(aK.series.yaxis.p2c(aK.datapoint[1])+aE.top+q.top)}if(O.grid.autoHighlight){for(var aG=0;aGaH.max||aIaG.max){return}var aF=aE.points.radius+aE.points.lineWidth/2;A.lineWidth=aF;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aB=1.5*aF,aC=aH.p2c(aC),aI=aG.p2c(aI);A.beginPath();if(aE.points.symbol=="circle"){A.arc(aC,aI,aB,0,2*Math.PI,false)}else{aE.points.symbol(A,aC,aI,aB,false)}A.closePath();A.stroke()}function v(aE,aB){A.lineWidth=aE.bars.lineWidth;A.strokeStyle=c.color.parse(aE.color).scale("a",0.5).toString();var aD=c.color.parse(aE.color).scale("a",0.5).toString();var aC=aE.bars.align=="left"?0:-aE.bars.barWidth/2;E(aB[0],aB[1],aB[2]||0,aC,aC+aE.bars.barWidth,0,function(){return aD},aE.xaxis,aE.yaxis,A,aE.bars.horizontal,aE.bars.lineWidth)}function am(aJ,aB,aH,aC){if(typeof aJ=="string"){return aJ}else{var aI=H.createLinearGradient(0,aH,0,aB);for(var aE=0,aD=aJ.colors.length;aE12){n=n-12}else{if(n==0){n=12}}}for(var g=0;g=0;i--){var el=pending[i][0];if($(el).is(':visible')&&!$(el).parents().is(':hidden')){pending[i][1].call(el);pending.splice(i,1);}}};$.fn.sparkline.line=function(values,options,width,height){var options=$.extend({spotColor:'#f80',spotRadius:1.5,minSpotColor:'#f80',maxSpotColor:'#f80',lineWidth:1,normalRangeMin:undefined,normalRangeMax:undefined,normalRangeColor:'#ccc',chartRangeMin:undefined,chartRangeMax:undefined,chartRangeMinX:undefined,chartRangeMaxX:undefined},options?options:{});var xvalues=[],yvalues=[],yminmax=[];for(i=0;imaxy) +maxy=options.normalRangeMax;} +if(options.chartRangeMin!=undefined&&(options.chartRangeClip||options.chartRangeMinmaxy)){maxy=options.chartRangeMax;} +if(options.chartRangeMinX!=undefined&&(options.chartRangeClipX||options.chartRangeMinXmaxx)){maxx=options.chartRangeMaxX;} +var rangex=maxx-minx==0?1:maxx-minx;var rangey=maxy-miny==0?1:maxy-miny;var vl=yvalues.length-1;if(vl<1){this.innerHTML='';return;} +var target=$(this).simpledraw(width,height,options.composite);if(target){var canvas_width=target.pixel_width;var canvas_height=target.pixel_height;var canvas_top=0;var canvas_left=0;if(options.spotRadius&&(canvas_width<(options.spotRadius*4)||canvas_height<(options.spotRadius*4))){options.spotRadius=0;} +if(options.spotRadius){if(options.minSpotColor||(options.spotColor&&yvalues[vl]==miny)) +canvas_height-=Math.ceil(options.spotRadius);if(options.maxSpotColor||(options.spotColor&&yvalues[vl]==maxy)){canvas_height-=Math.ceil(options.spotRadius);canvas_top+=Math.ceil(options.spotRadius);} +if(options.minSpotColor||options.maxSpotColor&&(yvalues[0]==miny||yvalues[0]==maxy)){canvas_left+=Math.ceil(options.spotRadius);canvas_width-=Math.ceil(options.spotRadius);} +if(options.spotColor||(options.minSpotColor||options.maxSpotColor&&(yvalues[vl]==miny||yvalues[vl]==maxy))) +canvas_width-=Math.ceil(options.spotRadius);} +canvas_height--;if(options.normalRangeMin!=undefined){var ytop=canvas_top+Math.round(canvas_height-(canvas_height*((options.normalRangeMax-miny)/rangey)));var height=Math.round((canvas_height*(options.normalRangeMax-options.normalRangeMin))/rangey);target.drawRect(canvas_left,ytop,canvas_width,height,undefined,options.normalRangeColor);} +var path=[];var paths=[path];for(var i=0,vlen=yvalues.length;imaxy)y=maxy;if(!path.length){path.push([canvas_left+Math.round((x-minx)*(canvas_width/rangex)),canvas_top+canvas_height]);} +path.push([canvas_left+Math.round((x-minx)*(canvas_width/rangex)),canvas_top+Math.round(canvas_height-(canvas_height*((y-miny)/rangey)))]);}} +for(var i=0,plen=paths.length;i2){path[0]=[path[0][0],path[1][1]];} +target.drawShape(path,options.lineColor,undefined,options.lineWidth);} +if(options.spotRadius&&options.spotColor){target.drawCircle(canvas_left+Math.round(xvalues[xvalues.length-1]*(canvas_width/rangex)),canvas_top+Math.round(canvas_height-(canvas_height*((yvalues[vl]-miny)/rangey))),options.spotRadius,undefined,options.spotColor);} +if(maxy!=minyval){if(options.spotRadius&&options.minSpotColor){var x=xvalues[yvalues.indexOf(minyval)];target.drawCircle(canvas_left+Math.round((x-minx)*(canvas_width/rangex)),canvas_top+Math.round(canvas_height-(canvas_height*((minyval-miny)/rangey))),options.spotRadius,undefined,options.minSpotColor);} +if(options.spotRadius&&options.maxSpotColor){var x=xvalues[yvalues.indexOf(maxyval)];target.drawCircle(canvas_left+Math.round((x-minx)*(canvas_width/rangex)),canvas_top+Math.round(canvas_height-(canvas_height*((maxyval-miny)/rangey))),options.spotRadius,undefined,options.maxSpotColor);}}}else{this.innerHTML='';}};$.fn.sparkline.bar=function(values,options,width,height){var options=$.extend({type:'bar',barColor:'#00f',negBarColor:'#f44',zeroColor:undefined,nullColor:undefined,zeroAxis:undefined,barWidth:4,barSpacing:1,chartRangeMax:undefined,chartRangeMin:undefined,chartRangeClip:false,colorMap:undefined},options?options:{});var width=(values.length*options.barWidth)+((values.length-1)*options.barSpacing);var num_values=[];for(var i=0,vlen=values.length;imax)){max=options.chartRangeMax;} +if(options.zeroAxis==undefined)options.zeroAxis=min<0;var range=max-min==0?1:max-min;if($.isArray(options.colorMap)){var colorMapByIndex=options.colorMap;var colorMapByValue=null;}else{var colorMapByIndex=null;var colorMapByValue=options.colorMap;} +var target=$(this).simpledraw(width,height,options.composite);if(target){var canvas_width=target.pixel_width;var canvas_height=target.pixel_height;var yzero=min<0&&options.zeroAxis?canvas_height-Math.round(canvas_height*(Math.abs(min)/range))-1:canvas_height-1;for(var i=0,vlen=values.length;imax)val=max;var color=(val<0)?options.negBarColor:options.barColor;if(options.zeroAxis&&min<0){var height=Math.round(canvas_height*((Math.abs(val)/range)))+1;var y=(val<0)?yzero:yzero-height;}else{var height=Math.round(canvas_height*((val-min)/range))+1;var y=canvas_height-height;} +if(val==0&&options.zeroColor!=undefined){color=options.zeroColor;} +if(colorMapByValue&&colorMapByValue[val]){color=colorMapByValue[val];}else if(colorMapByIndex&&colorMapByIndex.length>i){color=colorMapByIndex[i];} +if(color===null){continue;}} +target.drawRect(x,y,options.barWidth-1,height-1,color,color);}}else{this.innerHTML='';}};$.fn.sparkline.tristate=function(values,options,width,height){values=$.map(values,Number);var options=$.extend({barWidth:4,barSpacing:1,posBarColor:'#6f6',negBarColor:'#f44',zeroBarColor:'#999',colorMap:{}},options);var width=(values.length*options.barWidth)+((values.length-1)*options.barSpacing);if($.isArray(options.colorMap)){var colorMapByIndex=options.colorMap;var colorMapByValue=null;}else{var colorMapByIndex=null;var colorMapByValue=options.colorMap;} +var target=$(this).simpledraw(width,height,options.composite);if(target){var canvas_width=target.pixel_width;var canvas_height=target.pixel_height;var half_height=Math.round(canvas_height/2);for(var i=0,vlen=values.length;i0){var y=0;var height=half_height-1;var color=options.posBarColor;}else{var y=half_height-1;var height=2;var color=options.zeroBarColor;} +if(colorMapByValue&&colorMapByValue[values[i]]){color=colorMapByValue[values[i]];}else if(colorMapByIndex&&colorMapByIndex.length>i){color=colorMapByIndex[i];} +if(color===null){continue;} +target.drawRect(x,y,options.barWidth-1,height-1,color,color);}}else{this.innerHTML='';}};$.fn.sparkline.discrete=function(values,options,width,height){values=$.map(values,Number);var options=$.extend({lineHeight:'auto',thresholdColor:undefined,thresholdValue:0,chartRangeMax:undefined,chartRangeMin:undefined,chartRangeClip:false},options);width=options.width=='auto'?values.length*2:width;var interval=Math.floor(width/values.length);var target=$(this).simpledraw(width,height,options.composite);if(target){var canvas_width=target.pixel_width;var canvas_height=target.pixel_height;var line_height=options.lineHeight=='auto'?Math.round(canvas_height*0.3):options.lineHeight;var pheight=canvas_height-line_height;var min=Math.min.apply(Math,values);var max=Math.max.apply(Math,values);if(options.chartRangeMin!=undefined&&(options.chartRangeClip||options.chartRangeMinmax)){max=options.chartRangeMax;} +var range=max-min;for(var i=0,vlen=values.length;imax)val=max;var x=(i*interval);var ytop=Math.round(pheight-pheight*((val-min)/range));target.drawLine(x,ytop,x,ytop+line_height,(options.thresholdColor&&val1){var canvas_width=target.pixel_width-Math.ceil(options.targetWidth/2);var canvas_height=target.pixel_height;var min=Math.min.apply(Math,values);var max=Math.max.apply(Math,values);if(options.base==undefined){var min=min<0?min:0;}else{min=options.base;} +var range=max-min;for(i=2,vlen=values.length;i1){var canvas_width=target.pixel_width;var canvas_height=target.pixel_height;var radius=Math.floor(Math.min(canvas_width,canvas_height)/2);var total=0;for(var i=0,vlen=values.length;i0){end=next+(circle*(values[i]/total));} +target.drawPieSlice(radius,radius,radius,start,end,undefined,options.sliceColors[i%options.sliceColors.length]);next=end;}}};function quartile(values,q){if(q==2){var vl2=Math.floor(values.length/2);return values.length%2?values[vl2]:(values[vl2]+values[vl2+1])/2;}else{var vl4=Math.floor(values.length/4);return values.length%2?(values[vl4*q]+values[vl4*q+1])/2:values[vl4*q];}};$.fn.sparkline.box=function(values,options,width,height){values=$.map(values,Number);var options=$.extend({raw:false,boxLineColor:'black',boxFillColor:'#cdf',whiskerColor:'black',outlierLineColor:'#333',outlierFillColor:'white',medianColor:'red',showOutliers:true,outlierIQR:1.5,spotRadius:1.5,target:undefined,targetColor:'#4a2',chartRangeMax:undefined,chartRangeMin:undefined},options);width=options.width=='auto'?'4.0em':width;minvalue=options.chartRangeMin==undefined?Math.min.apply(Math,values):options.chartRangeMin;maxvalue=options.chartRangeMax==undefined?Math.max.apply(Math,values):options.chartRangeMax;var target=$(this).simpledraw(width,height,options.composite);if(target&&values.length>1){var canvas_width=target.pixel_width;var canvas_height=target.pixel_height;if(options.raw){if(options.showOutliers&&values.length>5){var loutlier=values[0],lwhisker=values[1],q1=values[2],q2=values[3],q3=values[4],rwhisker=values[5],routlier=values[6];}else{var lwhisker=values[0],q1=values[1],q2=values[2],q3=values[3],rwhisker=values[4];}}else{values.sort(function(a,b){return a-b;});var q1=quartile(values,1);var q2=quartile(values,2);var q3=quartile(values,3);var iqr=q3-q1;if(options.showOutliers){var lwhisker=undefined,rwhisker=undefined;for(var i=0,vlen=values.length;iq1-(iqr*options.outlierIQR)) +lwhisker=values[i];if(values[i]rwhisker) +target.drawCircle((routlier-minvalue)*unitsize+canvas_left,canvas_height/2,options.spotRadius,options.outlierLineColor,options.outlierFillColor);} +target.drawRect(Math.round((q1-minvalue)*unitsize+canvas_left),Math.round(canvas_height*0.1),Math.round((q3-q1)*unitsize),Math.round(canvas_height*0.8),options.boxLineColor,options.boxFillColor);target.drawLine(Math.round((lwhisker-minvalue)*unitsize+canvas_left),Math.round(canvas_height/2),Math.round((q1-minvalue)*unitsize+canvas_left),Math.round(canvas_height/2),options.lineColor);target.drawLine(Math.round((lwhisker-minvalue)*unitsize+canvas_left),Math.round(canvas_height/4),Math.round((lwhisker-minvalue)*unitsize+canvas_left),Math.round(canvas_height-canvas_height/4),options.whiskerColor);target.drawLine(Math.round((rwhisker-minvalue)*unitsize+canvas_left),Math.round(canvas_height/2),Math.round((q3-minvalue)*unitsize+canvas_left),Math.round(canvas_height/2),options.lineColor);target.drawLine(Math.round((rwhisker-minvalue)*unitsize+canvas_left),Math.round(canvas_height/4),Math.round((rwhisker-minvalue)*unitsize+canvas_left),Math.round(canvas_height-canvas_height/4),options.whiskerColor);target.drawLine(Math.round((q2-minvalue)*unitsize+canvas_left),Math.round(canvas_height*0.1),Math.round((q2-minvalue)*unitsize+canvas_left),Math.round(canvas_height*0.9),options.medianColor);if(options.target){var size=Math.ceil(options.spotRadius);target.drawLine(Math.round((options.target-minvalue)*unitsize+canvas_left),Math.round((canvas_height/2)-size),Math.round((options.target-minvalue)*unitsize+canvas_left),Math.round((canvas_height/2)+size),options.targetColor);target.drawLine(Math.round((options.target-minvalue)*unitsize+canvas_left-size),Math.round(canvas_height/2),Math.round((options.target-minvalue)*unitsize+canvas_left+size),Math.round(canvas_height/2),options.targetColor);}}else{this.innerHTML='';}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(entry){for(var i=0,vlen=this.length;i';this.canvas.insertAdjacentHTML('beforeEnd',groupel);this.group=$(this.canvas).children()[0];},drawShape:function(path,lineColor,fillColor,lineWidth){var vpath=[];for(var i=0,plen=path.length;i' ++' ';this.group.insertAdjacentHTML('beforeEnd',vel);},drawCircle:function(x,y,radius,lineColor,fillColor){x-=radius+1;y-=radius+1;var stroke=lineColor==undefined?' stroked="false" ':' strokeWeight="1" strokeColor="'+lineColor+'" ';var fill=fillColor==undefined?' filled="false"':' fillColor="'+fillColor+'" filled="true" ';var vel='';this.group.insertAdjacentHTML('beforeEnd',vel);},drawPieSlice:function(x,y,radius,startAngle,endAngle,lineColor,fillColor){if(startAngle==endAngle){return;} +if((endAngle-startAngle)==(2*Math.PI)){startAngle=0.0;endAngle=(2*Math.PI);} +var startx=x+Math.round(Math.cos(startAngle)*radius);var starty=y+Math.round(Math.sin(startAngle)*radius);var endx=x+Math.round(Math.cos(endAngle)*radius);var endy=y+Math.round(Math.sin(endAngle)*radius);if(startx==endx&&starty==endy&&(endAngle-startAngle)' ++' ';this.group.insertAdjacentHTML('beforeEnd',vel);},drawRect:function(x,y,width,height,lineColor,fillColor){return this.drawShape([[x,y],[x,y+height],[x+width,y+height],[x+width,y],[x,y]],lineColor,fillColor);}});})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/localizations/google-analyticator-pl_PL.mo b/wp-content/plugins/google-analyticator/localizations/google-analyticator-pl_PL.mo new file mode 100644 index 0000000..fd276f5 Binary files /dev/null and b/wp-content/plugins/google-analyticator/localizations/google-analyticator-pl_PL.mo differ diff --git a/wp-content/plugins/google-analyticator/localizations/google-analyticator-pl_PL.po b/wp-content/plugins/google-analyticator/localizations/google-analyticator-pl_PL.po new file mode 100644 index 0000000..f6d74c0 --- /dev/null +++ b/wp-content/plugins/google-analyticator/localizations/google-analyticator-pl_PL.po @@ -0,0 +1,623 @@ +msgid "" +msgstr "" +"Project-Id-Version: upolish0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-12-22 01:56+0100\n" +"PO-Revision-Date: 2013-12-22 01:58+0100\n" +"Last-Translator: MichaÅ‚ Mleczko \n" +"Language-Team: MichaÅ‚ Mleczko \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.6.3\n" +"X-Poedit-KeywordsList: __;gettext;gettext_noop;e_;_e;_n:1,2;_n_noop:1,2;" +"_nx:1,2;_nx_noop:1,2\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Poedit-SearchPath-0: ..\n" +"X-Poedit-SearchPath-1: ..\n" +"X-Poedit-SearchPath-2: .\n" + +#: ../google-analyticator.php:148 +msgid "Google Analyticator Settings" +msgstr "Ustawienia Google Analyticatora" + +#: ../google-analyticator.php:249 +msgid "Settings" +msgstr "Ustawienia" + +#: ../google-analyticator.php:250 +msgid "Reset" +msgstr "Przywróć domyÅ›lne" + +#: ../google-analyticator.php:424 +msgid "Google Analyticator settings saved." +msgstr "Zapisano ustawiena Google Analyticatora" + +#: ../google-analyticator.php:439 +msgid "Google Analytics integration is currently DISABLED." +msgstr "" +"Integracja z Google Analytics jest aktualnie ZABLOKOWANA." + +#: ../google-analyticator.php:444 +msgid "" +"Google Analytics integration is currently enabled, but you did not enter a " +"UID. Tracking will not occur." +msgstr "" +"Integracja z Google Analytics jest odblokowana, ale nie podano nazwy konta. " +"Åšledzenie użytkowników nie funkcjonuje." + +#: ../google-analyticator.php:457 +msgid "Basic Settings" +msgstr "Ustawienia podstawowe" + +#: ../google-analyticator.php:462 +msgid "Google Analytics logging is" +msgstr "Integracja z Google Analytics" + +#: ../google-analyticator.php:471 ../google-analyticator.php:719 +#: ../google-analyticator.php:743 ../google-analyticator.php:767 +#: ../google-analyticator.php:897 +msgid "Enabled" +msgstr "WÅ‚Ä…cz" + +#: ../google-analyticator.php:476 ../google-analyticator.php:724 +#: ../google-analyticator.php:748 ../google-analyticator.php:772 +#: ../google-analyticator.php:902 +msgid "Disabled" +msgstr "WyÅ‚Ä…cz" + +#: ../google-analyticator.php:483 +msgid "Google Analytics UID" +msgstr "Google Amalytics UID" + +#: ../google-analyticator.php:518 +msgid "Tracking Code" +msgstr "Dodatkowy kod Å›ledzÄ…cy" + +#: ../google-analyticator.php:527 +msgid "Traditional (ga.js)" +msgstr "Traditional (ga.js)" + +#: ../google-analyticator.php:532 +msgid "Universal (analytics.js)" +msgstr "Universal (analytics.js)" + +#: ../google-analyticator.php:537 +msgid "" +"If you are using Universal Analytics make sure you have changed your account " +"to a Universal Analytics property in Google Analytics. Read more about " +"Universal Analytics here." +msgstr "" +"JeÅ›li chcesz używać opcji Universal Analytics, upewnij siÄ™, że zmieniÅ‚eÅ› " +"odpowiednio ustawienia swojego konta. WiÄ™cej na ten temat dowiesz siÄ™ tutaj." + +#: ../google-analyticator.php:544 +msgid "Tracking Settings" +msgstr "Ustawienia Å›ledzenia" + +#: ../google-analyticator.php:549 +msgid "Track all logged in WordPress users" +msgstr "Åšledź wszystkich zalogowanych do Wordpressa użytkowników." + +#: ../google-analyticator.php:558 ../google-analyticator.php:588 +#: ../google-analyticator.php:666 ../google-analyticator.php:691 +#: ../google-analyticator.php:921 +msgid "Yes" +msgstr "Tak" + +#: ../google-analyticator.php:563 ../google-analyticator.php:583 +#: ../google-analyticator.php:660 ../google-analyticator.php:696 +#: ../google-analyticator.php:926 +msgid "No" +msgstr "Nie" + +#: ../google-analyticator.php:569 +msgid "" +"Selecting \"no\" to this option will prevent logged in WordPress users from " +"showing up on your Google Analytics reports. This setting will prevent " +"yourself or other users from showing up in your Analytics reports. Use the " +"next setting to determine what user groups to exclude." +msgstr "" +"JeÅ›li Å›ledzenie wszystkich zalogowanych użytkowników jest wyÅ‚Ä…czone, ich " +"dziaÅ‚ania w witrynie nie pojawiÄ… siÄ™ w statystykach Google Analytics. Ta " +"opcja zabezpiecza przed zliczaniem odsÅ‚on swoich lub innych użytkowników. " +"Użyj nastÄ™pnych ustawieÅ„ aby zadecydować, które typy użytkowników majÄ… być " +"Å›ledzone." + +#: ../google-analyticator.php:574 +msgid "Anonymize IP Addresses" +msgstr "Anonimizuj adresy IP" + +#: ../google-analyticator.php:594 +msgid "" +"By selecting \"Yes\", This tells Google Analytics to anonymize the " +"information sent by the tracker objects by removing the last octet of the IP " +"address prior to its storage. Note that this will slightly reduce the " +"accuracy of geographic reporting." +msgstr "" +"JeÅ›li anomizacja adresów jest wÅ‚Ä…czona, Google Analytics ukrywa te adresy " +"najszybciej, jak to tylko technicznie możliwe, na najwczeÅ›niejszym etapie " +"sieci zbierania danych, kasujÄ…c ostatni oktet adresu IP. Może to zmniejszyć " +"dokÅ‚adność źródeÅ‚ geograficznych ruchu na witrynie." + +#: ../google-analyticator.php:599 +msgid "User roles to not track" +msgstr "Typy użytkowników, którzy nie majÄ… być Å›ledzeni" + +#: ../google-analyticator.php:619 +msgid "" +"Specifies the user roles to not include in your WordPress Analytics report. " +"If a user is logged into WordPress with one of these roles, they will not " +"show up in your Analytics report." +msgstr "" +"Ustal role użytkowników, których dziaÅ‚ania w witrynie nie bÄ™dÄ… zliczane w " +"statystykach. JeÅ›li użytkownik bÄ™dzie zalogowany z takimi uprawnieniami, nie " +"pojawi siÄ™ w statystykach Google Analytics." + +#: ../google-analyticator.php:624 +msgid "Method to prevent tracking" +msgstr "Metoda usuwajÄ…ca Å›ledzenie" + +#: ../google-analyticator.php:633 +msgid "Remove" +msgstr "UsuÅ„" + +#: ../google-analyticator.php:638 +msgid "Use 'admin' variable" +msgstr "Użyj zmiennej 'admin'" + +#: ../google-analyticator.php:646 +msgid "" +"Selecting the \"Remove\" option will physically remove the tracking code " +"from logged in users. Selecting the \"Use 'admin' variable\" option will " +"assign a variable called 'admin' to logged in users. This option will allow " +"Google Analytics' site overlay feature to work, but you will have to " +"manually configure Google Analytics to exclude tracking from pageviews with " +"the 'admin' variable." +msgstr "" +"Wybranie opcji \"UsuÅ„\" usunie caÅ‚kowicie kod Å›ledzÄ…cy ze stron " +"wyÅ›wietlanych zalogowanym użytkownikom. \"Użyj zmiennej 'admin'\" doda " +"zmiennÄ… o nazwie 'admin' do kodu Å›ledzÄ…cego zalogowanych użytkowników. Ta " +"opcja pozwala zachować skrypt Å›ledzÄ…cy w kodzie, ale należy rÄ™cznie " +"skonfigurować usÅ‚ugÄ™ Google Analytics aby wykluczyć Å›ledzenie odsÅ‚on ze " +"zmiennÄ… 'admin'." + +#: ../google-analyticator.php:651 +msgid "Enable Remarketing, Demographics and Interests reports" +msgstr "" + +#: ../google-analyticator.php:673 +msgid "" +"In order to use remarketing, please make sure you complete this " +"checklist from Google" +msgstr "" +"JeÅ›li chcesz używać remarketingu, upewnij siÄ™ że uzupeÅ‚niÅ‚eÅ› " +"wykaz czynnoÅ›ci od Google." + +#: ../google-analyticator.php:676 +msgid "" +"To use remarketing, Edit permission is required" +msgstr "" +"JeÅ›li chcesz używać remarketingu, upewnij siÄ™ że uzupeÅ‚niÅ‚eÅ› " +"wykaz czynnoÅ›ci od Google." + +#: ../google-analyticator.php:682 +msgid "Track WordPress Login Page" +msgstr "Åšledz stronÄ™ logowania Wordpressa" + +#: ../google-analyticator.php:702 +msgid "This will track all access to wp-login.php" +msgstr "Ta opcja doda kod Å›ledzÄ…cy do strony wp-login.php" + +#: ../google-analyticator.php:710 +msgid "Outbound link tracking" +msgstr "Åšledzenie linków wychodzÄ…cych" + +#: ../google-analyticator.php:729 +msgid "" +"Disabling this option will turn off the tracking of outbound links. It's " +"recommended not to disable this option unless you're a privacy advocate (now " +"why would you be using Google Analytics in the first place?) or it's causing " +"some kind of weird issue." +msgstr "" +"WyÅ‚Ä…czenie tej opcji zablokuje Å›ledzenie linków wychodzÄ…cych. Rekomendowane " +"jest pozostawienie tej opcji wÅ‚Ä…czonej." + +#: ../google-analyticator.php:734 +msgid "Event tracking" +msgstr "Åšledzenie zdarzeÅ„" + +#: ../google-analyticator.php:753 +msgid "" +"Enabling this option will treat outbound links and downloads as events " +"instead of pageviews. Since the introduction of event " +"tracking in Analytics, this is the recommended way to track these types " +"of actions. Only disable this option if you must use the old pageview " +"tracking method." +msgstr "" +"WÅ‚Ä…czenie tej opcji sprawi, że pobrania plików i klikniÄ™cia w linki " +"wychodzÄ…ce bÄ™dÄ… traktowane jako zdarzenia zamiast odsÅ‚ony. Mimo że " +"Åšledzenie zdarzeÅ„ wymaga nieco bardziej skomplikowanej konfiguracji, " +"zdecydowanie zalecamy korzystanie z tej funkcji. Zdarzenia to elastyczna " +"metoda gromadzenia danych na temat interakcji typowych dla Twojej witryny " +"lub aplikacji, które mogÄ… być pomijane w innym przypadku. Zablokuj jÄ… " +"jedynie wtedy, gdy naprawdÄ™ musisz korzystać ze starego sposobu zliczania " +"odsÅ‚on." + +#: ../google-analyticator.php:758 +msgid "Enhanced Link Attribution" +msgstr "Rozszerzone atrybuty odnoÅ›ników" + +#: ../google-analyticator.php:777 +msgid "" +"You can tag your pages to implement an enhanced link-tracking functionality " +"by enabling this option. learn more" +msgstr "" + +#: ../google-analyticator.php:782 +msgid "Download extensions to track" +msgstr "Åšledzenie pobraÅ„" + +#: ../google-analyticator.php:792 +msgid "" +"Enter any extensions of files you would like to be tracked as a download. " +"For example to track all MP3s and PDFs enter mp3,pdf. " +"Outbound link tracking must be enabled for downloads to be tracked." +msgstr "" +"Podaj rozszerzenie plików, które majÄ… być Å›ledzone jako pobrania. Na " +"przykÅ‚ad, aby Å›ledzić wszystkie otwarcia plików PDF i MP3 jako pobrania " +"wpisz mp3,pdf. Åšledzenie linków wychodzÄ…cych musi być " +"wÅ‚Ä…czone, aby można byÅ‚o zliczać pobrania." + +#: ../google-analyticator.php:797 +msgid "Prefix external links with" +msgstr "Prefix linków wychodzÄ…cych" + +#: ../google-analyticator.php:807 +msgid "" +"Enter a name for the section tracked external links will appear under. This " +"option has no effect if event tracking is enabled." +msgstr "" +"Podaj nazwÄ™ sekcji pod jakÄ… klikniÄ™cia w zewnÄ™trzne linki bÄ™dÄ… zliczane " +"przez kod Å›ledzÄ…cy. Opcja ta nie ma żadnego wpÅ‚ywu, gdy Åšledzenie zdarzeÅ„ " +"jest wÅ‚Ä…czone." + +#: ../google-analyticator.php:812 +msgid "Prefix download links with" +msgstr "Prefix linków wychodzÄ…cych" + +#: ../google-analyticator.php:822 +msgid "" +"Enter a name for the section tracked download links will appear under. This " +"option has no effect if event tracking is enabled." +msgstr "" +"Podaj nazwÄ™ sekcji pod jakÄ… pobrania bÄ™dÄ… zliczane przez kod Å›ledzÄ…cy. Opcja " +"ta nie ma żadnego wpÅ‚ywu, gdy Åšledzenie zdarzeÅ„ jest wÅ‚Ä…czone." + +#: ../google-analyticator.php:827 +msgid "Google Adsense ID" +msgstr "Google Adsense ID" + +#: ../google-analyticator.php:837 +msgid "" +"Enter your Google Adsense ID assigned by Google Analytics in this box. This " +"enables Analytics tracking of Adsense information if your Adsense and " +"Analytics accounts are linked." +msgstr "" +"Podaj swoje Google Adsense ID przypisane do konta Google Analytics w tym " +"polu. Pozwoli to na Å›ledzenie usÅ‚ugi Adsense, jeÅ›li tylko twoje konta " +"Adsense i Analytics sÄ… poÅ‚Ä…czone." + +#: ../google-analyticator.php:845 ../google-analyticator.php:863 +msgid "Additional tracking code" +msgstr "Dodatkowy kod Å›ledzÄ…cy" + +#: ../google-analyticator.php:848 +msgid "before tracker initialization" +msgstr "przed kodem Google Analytics." + +#: ../google-analyticator.php:858 +msgid "" +"Enter any additional lines of tracking code that you would like to include " +"in the Google Analytics tracking script. The code in this section will be " +"displayed before the Google Analytics tracker is " +"initialized." +msgstr "" +"Podaj dodatkowe linie kodu Å›ledzÄ…cego, które chciaÅ‚byÅ› zawrzeć w skrypcie " +"Google Analytics. Ten kod bÄ™dzie wyÅ›wietlany przed kodem " +"skryptu Google Analytics." + +#: ../google-analyticator.php:866 +msgid "after tracker initialization" +msgstr "po kodzie Google Analytics" + +#: ../google-analyticator.php:876 +msgid "" +"Enter any additional lines of tracking code that you would like to include " +"in the Google Analytics tracking script. The code in this section will be " +"displayed after the Google Analytics tracker is initialized." +msgstr "" +"Podaj dodatkowe linie kodu Å›ledzÄ…cego, które chciaÅ‚byÅ› zawierać w skrypcie " +"Google Analytics. Ten kod bÄ™dzie wyÅ›wietlany po kodzie " +"skryptu Google Analytics." + +#: ../google-analyticator.php:883 +msgid "" +"You have not authenticated with Google - you cannot use dashboard widgets! " +"Reset the plugin to authenticate.." +msgstr "" +"Brak autoryzacji konta Google nie pozwala na uruchomienie wigdetów! Zresetuj " +"plugin, aby autoryzować..." + +#: ../google-analyticator.php:889 +msgid "Include widgets" +msgstr "Widget w kokpicie i motywie" + +#: ../google-analyticator.php:907 +msgid "" +"Disabling this option will completely remove the Dashboard Summary widget " +"and the theme Stats widget. Use this option if you would prefer to not see " +"the widgets." +msgstr "" +"Zablokowanie tej opcji usunie caÅ‚kowicie widget Google Analitycs - przeglÄ…d " +"z kokpitu oraz widget Statystyki z motywu." + +#: ../google-analyticator.php:912 +msgid "Display Ad" +msgstr "WyÅ›iwetlaj reklamy" + +#: ../google-analyticator.php:931 +msgid "You can disable the ad on the admin dashboard." +msgstr "Możesz zablokować reklamy w panelu administracyjnym." + +#: ../google-analyticator.php:936 +msgid "User roles that can see the dashboard widget" +msgstr "Typy użytkowników, którym wyÅ›wietla sie widget w kokpicie:" + +#: ../google-analyticator.php:956 +msgid "" +"Specifies the user roles that can see the dashboard widget. If a user is not " +"in one of these role groups, they will not see the dashboard widget." +msgstr "" +"OkreÅ›la użytkowników, którym wyÅ›wietli siÄ™ widget w kokpicie. JeÅ›li " +"użytkownika nie ma w tej grupie, nie zobaczy widgetu." + +#: ../google-analyticator.php:961 +msgid "Save Changes" +msgstr "Zapisz zmiany" + +#: ../google-analyticator.php:964 +msgid "Deauthorize & Reset Google Analyticator." +msgstr "UsuÅ„ autoryzacjÄ™ & resetuj Google Analyticatora." + +#: ../google-analyticator.php:1166 +msgid "" +"Tracking code is hidden, since the settings specify not to track admins. " +"Tracking is occurring for non-admins." +msgstr "" +"Kod Å›ledzenia jest ukryty, dopóki w ustawieniach nie wybrano Å›ledzenia " +"administratorów. Statystyki sÄ… zliczane tylko dla innych użytkowników i " +"goÅ›ci." + +#: ../google-analytics-stats-widget.php:12 +msgid "Displays Stat Info From Google Analytics" +msgstr "WyÅ›wietlaj statystyki z Google Analytics" + +#: ../google-analytics-stats-widget.php:14 +msgid "Google Analytics Stats" +msgstr "Statystyki - Google Analytics" + +#: ../google-analytics-stats-widget.php:106 +msgid "Title" +msgstr "TytuÅ‚" + +#: ../google-analytics-stats-widget.php:108 +msgid "Days of data to get" +msgstr "Ilość dni, brana pod uwagÄ™:" + +#: ../google-analytics-stats-widget.php:110 +msgid "Page background" +msgstr "TÅ‚o strony" + +#: ../google-analytics-stats-widget.php:112 +msgid "Widget background" +msgstr "TÅ‚o widgetu" + +#: ../google-analytics-stats-widget.php:114 +msgid "Inner background" +msgstr "TÅ‚o wnÄ™trza" + +#: ../google-analytics-stats-widget.php:116 +msgid "Font color" +msgstr "Kolor czcionki" + +#: ../google-analytics-stats-widget.php:118 +msgid "Line 1 text" +msgstr "Pierwsza linia tekstu" + +#: ../google-analytics-stats-widget.php:120 +msgid "Line 2 text" +msgstr "Druga linia tekstu" + +#: ../google-analytics-summary-widget.php:45 +msgid "Google Analytics Summary" +msgstr "Google Analytics - przeglÄ…d" + +#: ../google-analytics-summary-widget.php:110 +msgid "View Full Stat Report" +msgstr "Zobacz peÅ‚ne statystyki" + +#: ../google-analytics-summary-widget.php:198 +#: ../google-analytics-summary-widget.php:447 +#: ../google-analytics-summary-widget.php:576 +#: ../google-analytics-summary-widget.php:601 +msgid "Visits" +msgstr "Odwiedzin" + +#: ../google-analytics-summary-widget.php:224 +msgid "Past 30 days" +msgstr "Ostatnie 30 dni" + +#: ../google-analytics-summary-widget.php:225 +msgid "Past 60 days" +msgstr "Ostatnie 60 dni" + +#: ../google-analytics-summary-widget.php:226 +msgid "Yesterday" +msgstr "Wczoraj" + +#: ../google-analytics-summary-widget.php:256 +msgid "" +"No Analytics account selected. Double check you are authenticated with " +"Google on Google Analyticator's settings page and make sure an account is " +"selected." +msgstr "" +"Nie wybrano konta Google Analitycs. Sprawdź autoryzacjÄ™ w ustawieniach " +"Google Analitycatora i upewnij siÄ™, że wybrano jakieÅ› konto." + +#: ../google-analytics-summary-widget.php:269 +msgid "Site Usage" +msgstr "Statystyki witryny" + +#: ../google-analytics-summary-widget.php:275 +msgid "Top Pages" +msgstr "Najczęściej odwiedzane podstrony:" + +#: ../google-analytics-summary-widget.php:284 +msgid "Top Referrers" +msgstr "Najlepsze witryny odsyÅ‚ajÄ…ce:" + +#: ../google-analytics-summary-widget.php:293 +msgid "Top Searches" +msgstr "Najpopularniejsze sÅ‚owa kluczowe:" + +#: ../google-analytics-summary-widget.php:429 +#, php-format +msgid "The most visits on a single day was %d. Yesterday there were %d visits." +msgstr "Rekord wizyt jednego dnia to %d. Wczoraj stronÄ™ odwiedziÅ‚o %d osób." + +#: ../google-analytics-summary-widget.php:453 +msgid "Bounce Rate" +msgstr "Współczynnik odrzuceÅ„" + +#: ../google-analytics-summary-widget.php:457 +msgid "Pageviews" +msgstr "OdsÅ‚on" + +#: ../google-analytics-summary-widget.php:463 +msgid "Avg. Time on Site" +msgstr "Åšredni czas odwiedzin" + +#: ../google-analytics-summary-widget.php:471 +msgid "Pages/Visit" +msgstr "Strony/odwiedziny" + +#: ../google-analytics-summary-widget.php:474 +#: ../google-analytics-summary-widget.php:477 +msgid "% New Visits" +msgstr "% nowych odwiedzin" + +#: ../google-analytics-summary-widget.php:496 +#: ../google-analytics-summary-widget.php:569 +#: ../google-analytics-summary-widget.php:595 +msgid "There is no data for view." +msgstr "Brak danych do wyÅ›wietlenia" + +#: ../google-analytics-summary-widget.php:542 +msgid "Views" +msgstr "OdsÅ‚ony" + +#~ msgid "Enable remarketing" +#~ msgstr "Pozwól na remarketing" + +#~ msgid "Activate Google Analyticator" +#~ msgstr "Aktywacja pluginu Google Analyticator" + +#~ msgid "Google Authentication Code" +#~ msgstr "Autoryzacja pluginu na koncie Google" + +#~ msgid "" +#~ "You need to sign in to Google and grant this plugin access to your Google " +#~ "Analytics account" +#~ msgstr "" +#~ "Zaloguj siÄ™ na koncie Google i potwierdź dostÄ™p tego pluginu do statystyk " +#~ "Google Analytics" + +#~ msgid "Click Here" +#~ msgstr "Kliknij tutaj" + +#~ msgid "Or" +#~ msgstr "Lub" + +#~ msgid "here" +#~ msgstr "tutaj" + +#~ msgid "if you have popups blocked" +#~ msgstr "jeÅ›li masz zablokowane wyskakujÄ…ce okienka." + +#~ msgid "" +#~ "Enter your Google Authentication Code in this box. This code will be used " +#~ "to get an Authentication Token so you can access your website stats." +#~ msgstr "" +#~ "Wpisz swój kod autoryzacyjny Google w pole poniżej. Pozwoli on na " +#~ "pobranie statystyk Twojej witryny z Google Analytics." + +#~ msgid "Save & Continue" +#~ msgstr "Zapisz & Kontynuuj" + +#~ msgid "I Don't Want To Authenticate Through Google" +#~ msgstr "Nie chcÄ™ korzystać z autoryzacji przez Google" + +#~ msgid "" +#~ "If you don't want to authenticate through Google and only use the " +#~ "tracking capability of the plugin (not the dashboard " +#~ "functionality), you can do this by clicking the button " +#~ "below. " +#~ msgstr "" +#~ "JeÅ›li nie chcesz korzystać z autoryzacji przez Google i używać jedynie " +#~ "możliwoÅ›ci Å›ledzenia pluginu ( bez widżetów w kokpicie), możesz zrobić to klikajÄ…c przycisk poniżej." + +#~ msgid "" +#~ "You will be asked on the next page to manually enter your Google " +#~ "Analytics UID." +#~ msgstr "Zostaniesz zapytany o rÄ™czne podanie swojego kodu Google Analytics." + +#~ msgid "Continue Without Authentication" +#~ msgstr "Kontynuuj bez autoryzacji" + +#~ msgid "Link Tracking Settings" +#~ msgstr "Ustawienia Å›ledzenia odnoÅ›ników" + +#~ msgid "Admin Dashboard Widgets" +#~ msgstr "Ustawienia widgetów w kokpicie" + +#~ msgid "Name" +#~ msgstr "ImiÄ™" + +#~ msgid "Email" +#~ msgstr "Email" + +#~ msgid "Loading" +#~ msgstr "Åadowanie" + +#~ msgid "Visits Over the Past 30 Days" +#~ msgstr "Ilość odwiedzin w ciÄ…gu ostatnich 30 dni" + +#~ msgid "visit" +#~ msgid_plural "visits" +#~ msgstr[0] "odwiedzin" +#~ msgstr[1] "odwiedziny" +#~ msgstr[2] "odwiedzin" diff --git a/wp-content/plugins/google-analyticator/privacy.png b/wp-content/plugins/google-analyticator/privacy.png new file mode 100644 index 0000000..c540ce2 Binary files /dev/null and b/wp-content/plugins/google-analyticator/privacy.png differ diff --git a/wp-content/plugins/google-analyticator/readme.txt b/wp-content/plugins/google-analyticator/readme.txt new file mode 100644 index 0000000..a16dc72 --- /dev/null +++ b/wp-content/plugins/google-analyticator/readme.txt @@ -0,0 +1,424 @@ +=== Google Analyticator === +Contributors: VideoUserManuals +Tags: stats, statistics, google, analytics, google analytics, tracking, widget +Requires at least: 3.2 +Tested up to: 3.8 +Stable tag: 6.4.7.3 + +Adds the necessary JavaScript code to enable Google Analytics. Includes widgets for Analytics data display. + +== Description == + +Google Analyticator is back! Google Analyticator adds the necessary JavaScript code to enable Google Analytics logging on any WordPress blog. This eliminates the need to edit your template code to begin logging. Google Analyticator also includes several widgets for displaying Analytics data in the admin and on your blog. + +For a video explaining the simple installation process, please [visit the new home of Google Analyticator](http://www.videousermanuals.com/google-analyticator/?utm_campaign=analyticator&utm_medium=plugin&utm_source=description). + += Features = + +Google Analyticator Has the Following Features: + +- Supports Universal (analytics.js) and traditional analytics (ga.js) +- Includes an admin dashboard widget that displays a graph of the last 30 days of visitors, a summary of site usage, the top pages, the top referrers, and the top searches +- Includes a widget that can be used to display visitor stat information on the front-end +- Supports outbound link tracking of all links on the page, including links not managed by WordPress +- Supports download link tracking +- Supports event tracking with outbound links / downloads instead of the old pageview tracking method +- Support site speed tracking +- Allows hiding of Administrator visits without affecting Google Analytics' site overlay feature +- Supports any advanced tracking code Google provides +- Installs easily - unlike other plugins, the user doesn't even have to know their Analytics UID +- Provides complete control over options; disable any feature if needed +- Supports localization - get the settings page in your language of choice +- Ability to hide Google UID dropdown +- Added Polish Translation + +For more information, visit the [Google Analyticator plugin page](http://www.videousermanuals.com/google-analyticator/?utm_campaign=analyticator&utm_medium=plugin&utm_source=description). + +If you have a great idea on how to improve the plugin, we would love to hear from you at the [Google Analyticator Feature Request page](http://www.videousermanuals.com/google-analyticator/feature-request/?utm_campaign=analyticator&utm_medium=plugin&utm_source=description) + +A big thank you from the whole community to [Ronald](http://ronaldheft.com/) for all the hard work he put into this plugin. + +== Installation == + +Please visit the new home of [Google Analyticator](http://www.videousermanuals.com/google-analyticator/?utm_campaign=analyticator&utm_medium=plugin&utm_source=description) for installation information. + +If you are updating, you will need to Authenticate your site again, so it will work with the new Google API + +== Frequently Asked Questions == + +If you receive an error after authenticating, refresh the page, and it will work properly. This is a known issue, and we are working with Google to resolve it. + +For any support issues, please use the official WordPress support forums. + +== Screenshots == + +1. An example of the admin dashboard widget displaying stats pulled from Google Analytics. +2. The top half of the settings page. +3. The configuration options for the front-end widget. +4. An example of a front-end widget configuration. +5. An example of a front-end widget configuration. +6. An example of a front-end widget configuration. + + +== Changelog == + += 6.4.7.3 = +* Bug fix: Test data left in place of Domain name / UID dropdown + += 6.4.7.2 = +* Ability to hide Google UID dropdown +* Bug fix: rename stats_init to ganalyticator_stats_init +* Bug fix: Moved analyticsSnippet from line 1110 to line 1111 +* Bug fix: added condition for empty href reported by @Jesin A http://wordpress.org/support/topic/bug-external-trackingjs-interferes-with-some-themes?replies=1 +* Added Polish Translation from @mleczakm http://wordpress.org/support/topic/localization-translation + += 6.4.7 = +* Add missing Google PHP API classes + += 6.4.6 = +* Introduce Demographics and Interests support +* Enhanced Link attribution support +* added Universal Tracking (analytics.js) option +* Fixed sidebar Ad background for wp 3.8 +* Used Custom Dimensions as replacement of Custom Variables for analytics.js + += 6.4.5 = +* Introduce Remarketing support +* Introduce Option to remove tracking on wp-login. +* Add link to Analytics training and option to remove. + += 6.4.4.3 = +* Bug fix: Duplicate data sometimes showing +* Bug fix: Flotr jQuery library clash with WooCommerce. + += 6.4.4.2 = +* Updated graph to not show current day as stats are incomplete. + += 6.4.4.1 = +* Update caused random Google error. Removed problem code. + += 6.4.4 = +* Added point tooltip. +* removed jquery.sparkline.min.js +* added jquery.flot.min.js +* added 30 days, 60 days and yesterday selection +* removed line google-analytics-summary-widget.php line 222 +* Use un-minified JS if script debug on. Props simonwheatley + += 6.4.3 = +* Fixes over strict validation on one field where not required causing PHP Errors. Thanks for head start jeremyclarke. + += 6.4.2 = +* Fixes potential XSS security issue in admin - RECOMMENDED UPDATE. + += 6.4.1 = +* Re-wrote caching on admin dashboard panel. Caches results for 6 hours, and speeds up display significantly using WordPress caching. +* Added prevention on URI Class (Google) clashing. + += 6.4 = +* Added better caching of dashboard widget. +* Added better error handling with Google API calls. Prevents breaking widget section if an error is found. +* Updated Google API files to latest version (0.6.0) +* Added filter to prevent IDs being passed to google with 'ga:' appended twice (legacy user bug) +* Removed SiteSpeed option - done automatically with Google Analytics now. +* Changed some config options with Google API to try help any prev users with re-auth issues. + += 6.3.4 = +* Missing admin_url() causing issues with sub-directory installs. +* Legacy code removed causing API errors with old ga_profileid variable conflicting. +* Added Google App ID To tracking ID as supplied by Google Analytics team. This is just for Google's own reporting. We do not get access to any of your data. +* Added support for users who wont want to authenticate with Google, but just use tracking code + += 6.3.3 = +* Using the admin_url() function for internal links. Should help people with WP installed in a sub directory. +* Added all vars to reset function to delete / deauthorize from Google. + += 6.3.2 = +* Based on user issues. Improved error handling from Google APIs (some more to go) +* Removed Javascript box on activation due to user issues +* Protected URITemplateParser class from being re-declared +* Added Reset option on plugin screen to allow re-authentication + += 6.3.1 = +* Small bug on upgrades patched + += 6.3 = +* Updated to authenticate with the new Google API + += 6.2 = +* Adds a new option for site speed tracking (enabled by default). +* Replaces deprecated tracking code _setVar with _setCustomVar. +* Improves the account select dropdown by organizing the accounts. Props bluntly. +* Prevents post preview pages from being tracked and skewing stats. + += 6.1.3 = +* Fixes a Javascript error on the WordPress login page. +* Improves profile id logic to hopefully fix dashboard errors for the people that experience them. +* Fixes PHP warnings on the dashboard widget with really old Analytics accounts. + += 6.1.2 = +* Fixes deprecated warnings when wp_debug is enabled. +* Fixes tracking code issues when trying to disabled certain user roles. +* Improves plugin security. + += 6.1.1 = +* Due to many questions about tracking code placement, [an FAQ article](http://forums.ronaldheft.com/viewtopic.php?f=5&t=967) has been written to address these placement questions. If you have any questions, this is a recommended read. +* Corrects issues related to selecting user roles to exclude from tracking / seeing the dashboard widget. +* Cleans up the display of user role names for WordPress versions below WordPress 3.0. +* Updates the included jQuary Sparkline library to 1.5.1, thus adding support for viewing the dashboard graph in all versions of Internet Explorer. +* Adds two hooks, google_analyticator_extra_js_before and google_analyticator_extra_js_after, enabling other WordPress plugins to insert additional tracking code. + += 6.1 = +* Prepares Google Analyticator for WordPress 3.0 compatibility. +* Updates the async tracking snippet to the latest version provided by Google. This new update solves issues with IE7 and IE6, and fixes all problems related to the snippet being placed in the section of a page. You can rest easy knowing that async tracking in the is completely compatible with IE now. +* Adds an html comment to the page header when tracking code is hidden due to the user admin level. This should make is less confusing for new Google Analyticator users, wondering if their tracking code is visible to the world. +* Adds a setting to specify a specific profile ID. This will help users with multiple Analytics profiles, by allowing them to specify which profile to use with the dashboard widget. +* Revamps the disable tracking settings. Now uses user roles and provides more fine grain control. If you use something other than the default, be sure to visit the settings page to ensure your settings are correct. +* Adds a new setting providing fine grain control over who can see the dashboard widget. +* Fixes the disappearing UID box bug when not authenticated. + += 6.0.2 = +* Updates the async tracking snippet to the latest version provided by Google. +* Improves the error message when failing to authenticate with Google, pointing users to a FAQ article to resolve their issues. + += 6.0.1 = +* Adds a missing closing quote on setVar - admin. If you use this option, update ASAP to prevent Javascript from breaking. + += 6.0 = +* Switches current tracking script (ga.js) to the new awesome async tracking script. In laymen's terms: updates to the latest tracking code, the tracking script will load faster, and tracking will be more reliable. If you use custom tracking code, be sure to migrate that code to the new async tracking methods. +* Removes settings made obsolete due to the new async tracking (footer tracking and http/https). +* Fixes the (not set) pages in the Top Pages section of the dashboard widget. Pages containing the title (not set) will be combined with the correct page and corresponding title. Note that I am still trying to get this bug fixed in the Google Analytics API; this is just a hold over until the bug is fixed. +* Adds a link to Google Analytics on the dashboard widget for quick access to view full stat reports. +* Fixes a Javascript error that prevented the dashboard widget from collapsing. +* Corrects a uid undefined error message that appeared if error reporting was set too high. +* Updates the included jQuery sparklines plugin to the latest version, 1.4.3. +* Adds an experimental function to retrieve page visitors stats for theme developers. This function is not final and only provided for advanced users who know what they're doing. Future versions will improve on the code already in place. Find the get_analytics_visits_by_page in google-analyticator.php to learn how to use. Use at your own risk. +* Fixes several security flaws identified during a recent security audit of Google Analyticator. +* Removes references to Spiral Web Consulting. Google Analyticator is now being developed exclusively by Ronald Heft. + += 5.3.2 = +* Prepares Google Analyticator for WordPress 2.9 compatibility. + += 5.3.1 = +* Corrects a fatal error on the settings page under WordPress 2.7. + += 5.3 = +* Converts API data call to AJAX to reduce the memory needed on page loads. +* Removes memory_limit alterations, since the default amount should be enough now. +* Disables the summary dashboard widget for non-admins, as defined by the admin level setting on Google Analyticator's settings page. + += 5.2.1 = +* Corrects a potential html sanitation vulnerability with text retrieved from the Google Analytics API. + += 5.2 = +* Adds support for deauthorizing with Google Analytics. +* Increases checks on the memory limit and now prevents the memory intensive functionality from running if there is insufficient memory. +* Adds authentication compatibility modes for users having issues with cURL and PHP Streams. +* Improves detection of Google Accounts that are not linked to Analytics accounts. +* Improves detection of accounts without stats. +* Cleans up the authentication URL, preventing the malformed URL error that Google would sometimes display. +* Removes hosted Google accounts from Google's authentication page. +* Adds an error message to the settings page if Google authentication fails. + += 5.1 = +* Fixes the broken/frozen error on the Dashboard introduced in Google Analyticator 5.0. +* Fixes an Internal Server Error received on the settings page under IIS servers. +* Adds an option to completely disable the included widgets. +* Removes the outbound and download prefixes from the Javascript if event tracking is enabled. +* Fixes a bug where the settings page always thought the Google account was authenticated. +* Prevents the Google API from even attempting to connect to Google's servers if the account is not authenticated. +* Increases the checks on returned Google API data to prevent unexpected states. +* Adds missing localized string to settings title. +* Removes the Google authentication and widgets from WordPress 2.7 due to compatibility issues. Users wishing to authenticate and use the widgets should upgrade to WordPress 2.8. +* Prevents PHP warnings from displaying on the dashboard summary widget when an Analytics account is new and does not have a history of data. + += 5.0 = +* Adds a new admin dashboard widget that displays a graph of the last 30 days of visitors, a summary of site usage, the top pages, the top referrers, and the top searches. +* Changes the Google authentication method to AuthSub. This removes the Google username / password requirement. **Users who had previously entered their username / password in the settings page will need to revisit the settings page and authenticate for the widget to continue to function.** +* Adds support for automatically retrieving an Analytics account's UID if Google Analyticator is authenticated with Google. +* Updates the Google Analytics API class to use the WordPress HTTP API, thus removing cURL as a core requirement for the widget. +* Updates the UID setting help to remove old urchin.js references and provide additional help for finding a UID. +* Prepares all strings for localization. + += 4.3.4 = +* Fixes a bug that was breaking the save button on the settings page in IE. +* Prevents the widget from grabbing Analytics data earlier January 1, 2005. +* Fixes an incorrect default state for the event tracking option. +* Adds the date range used for widget data in an HTML comment to prevent misrepresented stats. + += 4.3.3 = +* Corrects XHTML validator errors present in the stat widget. +* Removes some stray code. + += 4.3.2 = +* Adds support for WordPress' new changelog readme.txt standard. Version information is now available from within the plugin updater. +* Enhances the links on the plugin page. Adds a settings, FAQ, and support link. + += 4.3.1 = +* Fixes a bug that broke the widget page when a username was not entered in settings. + += 4.3 = +* Adds support for event tracking of outbound links and downloads. This is the new, recommended way to track outbound links and downloads with Analytics. Event tracking is enabled by default, so users wishing to keep using the old method should disable this option immediately. See our FAQ for more information. +* Prevents files that are stored on external servers from being tracked as both a download and an external link. +* Corrects a file extension case sensitivity issue that prevented certain download links from being tracked. +* Includes a minified version of the outbound/download tracking javascript instead of the full code. +* Fixes a text size inconstancy on the settings page. + += 4.2.3 = +* Improves error reporting with API authentication. + += 4.2.2 = +* Fixes a bug in IE8 that would not allow the widget to display in the admin properly. + += 4.2.1 = +* Fixes an issue where stable versions of WordPress 2.8 were not using the new widget API. +* Changes SimplePie include to use WordPress' version if possible, since SimplePie is included in WordPress 2.8. +* Adds version number to the Google Analyticator comment. + += 4.2 = +* Adds support for the WordPress 2.8 widget API. +* Removes Google Analyticator comment in the header that if footer tracking is enabled. + += 4.1.1 = +* Adds support for tracking code in the footer with Adsense integration. +* Corrects the widget image location for users with WordPress installed in a sub-directory. +* Prevents Google API calls when widget information is not configured. +* Supports WordPress 2.8. + += 4.1 = +* Fixes a bug that was causing the Stats Widget to display "0" in every instance. +* Adds functionality to allow a custom timeframe to be configured for the visitors widget. +* Adds a function to enable use of the widget for users not using WordPress widgets. +* Adds an option to output the code needed to link Analytics and Adsense accounts. + += 4.0.1 = +* Disables stat widget if cURL does not exist. + += 4.0 = +* Adds Google Analytics API support. +* Adds a widget that will use your Google Analytics stats to display a visitor counter on your front-end. +* Adds functionality to make widget highly customizable in regards to color and text. + += 3.0.3 = +* Fixes a Javascript error on pages that have links without href tags. + += 3.0.2 = +* Improves display of external/download links in Google Analytics (strips http/https from url). +* Fixes a PHP warning message being displayed on pages with error reporting enabled. + += 3.01 = +* Adds an option to disable admin tracking by either removing the tracking code or setting a variable. +* Removes the external tracking code from back-end admin pages that was causing conflicts with other plugins. + += 3.0 = +* Google Analyticator is now supported by Spiral Web Consulting. +* Corrects bugs preventing both external and download link tracking from working. +* Adds settings to configure the external and download link tracking prefixes. +* Changes the way disabling admin tracking works. Now uses a line of code instead of removing the tracking code altogether. This will allow features like the site overlay to work. + += 2.40 = +* Replaces the PHP-based external tracking solution with a jQuery-based one. + += 2.3 = +* Updates the Analytics script to match a change by Google. This should resolve the undefined _gat errors. + += 2.24 = +* Fixes comment author issues once and for all. +* Fixes a SVN merge issue that prevented people from getting the last update. + += 2.23 = +* Reverting last version as it caused issues. + += 2.22 = +* Improves comment author regex causing some issues in WordPress 2.7. Thanks to jdub. + += 2.21 = +* Adds WordPress 2.7 support. + += 2.2 = +* Adds an option to specify the GA script location instead of relying on Google’s auto detect code. This may resolve the _gat is undefined errors. + += 2.14 = +* Stops the external link tracking code from appearing in feeds, breaking feed validation. +* Adds compatibility for a very rare few users who could not save options. + += 2.13 = +* Stops the external link tracking code from appearing in feeds, breaking feed validation. + += 2.12 = +* Applies the new administrator level selection to outbound tracking (I forgot to that in the last release). +* Fixes a potential plugin conflict. + += 2.11 = +* Adds an option to change what Google Analyticator considers a WordPress administrator. + += 2.1 = +* Fixes a bug preventing options from being saved under WordPress 2.5. +* Updates option page to comply with WordPress 2.5 user interface changes. +* Note: Users of WordPress 2.3 may wish to stay on 2.02 as the UI will look ‘weird’ under 2.3. + += 2.02 = +* Corrects potential XHTML validation issues with external link tracking. + += 2.01 = +* Corrects XHTML validation issues with ga.js. + += 2.0 = +* Adds support for the latest version of Google Analytics’ tracking code (ga.js). +* Reverts external link/download tracking method back to writing the tracking code in the HTML source, due to the previous Javascript library no longer being support. Users of previous Google Analyticator versions may safely delete ga_external-links.js. +* Slightly modified the way extra code is handled. There are now two sections (before tracker initialization and after tracker initialization) to handle ga.js’ extra functions. Refer to Google Analytics’ support documentation for use of these sections. + += 1.54 = +* Corrects problem where certain installation of WordPress do not have the user level value. + += 1.53 = +* Finally fixes the “Are you sure?†bug some users experience. + += 1.52 = +* Addresses compatibility issue with other JavaScript plugins. + += 1.5 = +* Now using JavaScript solution for keeping track of external links instead of the current URL rewrite method. JavaScript library is courtesy of Terenzani.it. +* Note: Google Analyticator is now in a folder. If upgrading from a version less than 1.5, delete google-analyticator.php from your /wp-content/plugins/ folder before proceeding. + += 1.42 = +* Fixes a bug where outbound link tracking would be disabled if the tracking code was in the footer. + += 1.41 = +* Added an option to insert the tracking code in the footer instead of the header. + += 1.4 = +* Adds support for download tracking. + += 1.31 = +* Fixes a small bug with backslashes in the additional tracking code box. + += 1.3 = +* WordPress 2.0 beta is now supported. +* Missing options page bug is finally fixed. + += 1.2 = +* Added support for outbound links. + += 1.12 = +* Fixing missing option button page bug. + += 1.11 = +* Fixed a bug where options page would sometimes not display. + += 1.1 = +* Added an option to disable administrator logging. +* Added an option to add any additional tracking code that Google has. + += 1.0 = +* Initial release. + +== Upgrade Notice == + += 6.1.1 = + +Bug fix release. If you're having trouble accessing the settings page or use Internet Explorer, this is a recommended update. + += 6.1 = + +Recommended update. Highlights include WordPress 3.0 support, updated async tracking code, dashboard stats by Analytics profile, more control over who gets tracked, and more control over who can see the dashboard widget. Settings have changed, so revisit the settings to verify. \ No newline at end of file diff --git a/wp-content/plugins/google-analyticator/screenshot-1.png b/wp-content/plugins/google-analyticator/screenshot-1.png new file mode 100644 index 0000000..2c08506 Binary files /dev/null and b/wp-content/plugins/google-analyticator/screenshot-1.png differ diff --git a/wp-content/plugins/google-analyticator/screenshot-2.png b/wp-content/plugins/google-analyticator/screenshot-2.png new file mode 100644 index 0000000..e112589 Binary files /dev/null and b/wp-content/plugins/google-analyticator/screenshot-2.png differ diff --git a/wp-content/plugins/google-analyticator/screenshot-3.png b/wp-content/plugins/google-analyticator/screenshot-3.png new file mode 100644 index 0000000..a81dc75 Binary files /dev/null and b/wp-content/plugins/google-analyticator/screenshot-3.png differ diff --git a/wp-content/plugins/google-analyticator/screenshot-4.png b/wp-content/plugins/google-analyticator/screenshot-4.png new file mode 100644 index 0000000..e4e5f78 Binary files /dev/null and b/wp-content/plugins/google-analyticator/screenshot-4.png differ diff --git a/wp-content/plugins/google-analyticator/screenshot-5.png b/wp-content/plugins/google-analyticator/screenshot-5.png new file mode 100644 index 0000000..e43d29c Binary files /dev/null and b/wp-content/plugins/google-analyticator/screenshot-5.png differ diff --git a/wp-content/plugins/google-analyticator/screenshot-6.png b/wp-content/plugins/google-analyticator/screenshot-6.png new file mode 100644 index 0000000..277cfbf Binary files /dev/null and b/wp-content/plugins/google-analyticator/screenshot-6.png differ diff --git a/wp-content/plugins/google-analyticator/wlcms-plugin-advert.png b/wp-content/plugins/google-analyticator/wlcms-plugin-advert.png new file mode 100644 index 0000000..180c3f6 Binary files /dev/null and b/wp-content/plugins/google-analyticator/wlcms-plugin-advert.png differ diff --git a/wp-content/plugins/google-sitemap-generator/documentation.txt b/wp-content/plugins/google-sitemap-generator/documentation.txt new file mode 100644 index 0000000..d611462 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/documentation.txt @@ -0,0 +1,368 @@ +Google XML Sitemaps Generator for WordPress +============================================================================== + +This generator will create a sitemaps.org compliant sitemap of your WordPress blog. +Currently homepage, posts, static pages, categories, archives and author pages are supported. + +The priority of a post depends on its comments. You can choose the way the priority +is calculated in the options screen. + +Feel free to visit my website under www.arnebrachhold.de or contact me at +himself [at] arnebrachhold [dot] de + +Have fun! + Arne + +Installation: +============================================================================== +1. Upload the full directory into your wp-content/plugins directory +2. Activate the plugin at the plugin administration page +3. Open the plugin configuration page, which is located under Settings -> XML-Sitemap and customize settings like priorities and change frequencies. +4. The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do :) + + +Additional contributors: +============================================================================== +Inspiration Michael Nguyen http://www.socialpatterns.com/ +SQL Improvements Rodney Shupe http://www.shupe.ca/ +Japanse Lang. File Hirosama http://hiromasa.zone.ne.jp/ +Spanish lang. File Omi http://equipajedemano.info/ +Italian lang. File Stefano Aglietti http://wordpress-it.it/ +Trad.Chinese File Kirin Lin http://kirin-lin.idv.tw/ +Simpl.Chinese File june6 http://www.june6.cn/ +Swedish Lang. File Tobias Bergius http://tobiasbergius.se/ +Czech Lang. File Peter Kahoun http://kahi.cz +Finnish Lang. File Olli Jarva http://kuvat.blog.olli.jarva.fi/ +Belorussian Lang. File Marcis Gasuns +Bulgarian Lang. File Alexander Dichev http://dichev.com + +Thanks to all contributors and bug reporters! There were much more people involved +in testing this plugin and reporting bugs, either by email or in the WordPress forums. + +Unfortunately I can't maintain a whole list here, but thanks again to everybody not listed here! + + +Release History: +============================================================================== +2005-06-05 1.0 First release +2005-06-05 1.1 Added archive support +2005-06-05 1.2 Added category support +2005-06-05 2.0a Beta: Real Plugin! Static file generation, Admin UI +2005-06-05 2.0 Various fixes, more help, more comments, configurable filename +2005-06-07 2.01 Fixed 2 Bugs: 147 is now _e(strval($i)); instead of _e($i); 344 uses a full < ?php instead of < ? + Thanks to Christian Aust for reporting this :) +2005-06-07 2.1 Correct usage of last modification date for cats and archives (thx to Rodney Shupe (http://www.shupe.ca/)) + Added support for .gz generation + Fixed bug which ignored different post/page priorities + Should support now different wordpress/admin directories +2005-06-07 2.11 Fixed bug with hardcoded table table names instead of the $wpd vars +2005-06-07 2.12 Changed SQL Statement of the categories to get it work on MySQL 3 +2005-06-08 2.2 Added language file support: + - Japanese Language Files and code modifications by hiromasa (http://hiromasa.zone.ne.jp/) + - German Language File by Arne Brachhold (http://www.arnebrachhold.de) +2005-06-14 2.5 Added support for external pages + Added support for Google Ping + Added the minimum Post Priority option + Added Spanish Language File by César Gómez Martín (http://www.cesargomez.org/) + Added Italian Language File by Stefano Aglietti (http://wordpress-it.it/) + Added Traditional Chine Language File by Kirin Lin (http://kirin-lin.idv.tw/) +2005-07-03 2.6 Added support to store the files at a custom location + Changed the home URL to have a slash at the end + Required admin-functions.php so the script will work with external calls, wp-mail for example + Added support for other plugins to add content to the sitemap via add_filter() +2005-07-20 2.7 Fixed wrong date format in additional pages + Added Simplified Chinese Language Files by june6 (http://www.june6.cn/) + Added Swedish Language File by Tobias Bergius (http://tobiasbergius.se/) +2006-01-07 3.0b Added different priority calculation modes and introduced an API to create custom ones + Added support to use the Popularity Contest plugin by Alex King to calculate post priority + Added Button to restore default configuration + Added several links to homepage and support + Added option to exclude password protected posts + Added function to start sitemap creation via GET and a secret key + Posts and pages marked for publish with a date in the future won't be included + Improved compatiblity with other plugins + Improved speed and optimized settings handling + Improved user-interface + Recoded plugin architecture which is now fully OOP +2006-01-07 3.0b1 Changed the way for hook support to be PHP5 and PHP4 compatible + Readded support for tools like w.Bloggar + Fixed "doubled-content" bug with WP2 + Added xmlns to enable validation +2006-03-01 3.0b3 More performance + More caching + Better support for Popularity Contest and WP 2.x +2006-11-16 3.0b4 Fixed bug with option SELECTS + Decreased memory usage which should solve timeout and memory problems + Updated namespace to support YAHOO and MSN +2007-01-19 3.0b5 Javascripted page editor + WP 2 Design + YAHOO notification + New status report, removed ugly logfiles + Better Popularity Contest Support + Fixed double backslashes on windows systems + Added option to specify time limit and memory limit + Added option to define a XSLT stylesheet and added a default one + Fixed bug with sub-pages. Thanks to: + - Mike Baptiste (http://baptiste.us), + - Peter Claus Lamprecht (http://fastagent.de) + - Glenn Nicholas (http://publicityship.com.au) + Improved file handling, thanks to VJTD3 (http://www.VJTD3.com) + WP 2.1 improvements +2007-01-23 3.0b6 Use memory_get_peak_usage instead of memory_get_usage if available + Removed the usage of REQUEST_URI since it not correct in all environments + Fixed that sitemap.xml.gz was not compressed + Added compat function "stripos" for PHP4 (Thanks to Joseph Abboud!) + Streamlined some code +2007-05-17 3.0b7 Added option to include the author pages like /author/john + Small enhancements, removed stripos dependency and the added compat function + Added check to not build the sitemap if importing posts + Fixed missing domain parameter for translator name + Fixed WP 2.1 / Pre 2.1 post / pages database changes + Fixed wrong XSLT location (Thanks froosh) + Added Ask.com notification + Removed unused javascript +2007-07-22 3.0b8 Changed category SQL to prevent unused cats from beeing included + Plugin will be loaded on "init" instead of direclty after the file has been loaded. + Added support for robots.txt modification + Switched YAHOO ping API from YAHOO Web Services to the "normal" ping service which doesn't require an app id + Search engines will only be pinged if the sitemap file has changed +2007-09-02 3.0b9 Added tag support for WordPress 2.3 + Now using post_date_gmt instead of post_date everywhere + Fixed archive bug with static pages (Thanks to Peter Claus Lamprecht) + Fixed some missing translation domains, thanks to Kirin Lin! + Added Czech translation files for 2.7.1, thanks to Peter Kahoun (http://kahi.cz) +2007-09-04 3.0b10 Added category support for WordPress 2.3 + Fixed bug with empty URLs in sitemap + Repaired GET building + Added more info on debug mode +2007-09-23 3.0b11 Changed mysql queries to unbuffered queries + Uses MUCH less memory + Fixed really stupid bug with search engine pings + Option to set how many posts will be included +2007-09-24 3.0 Yeah, 3.0 Final after one and a half year ;) + Removed useless functions +2007-11-03 3.0.1 Using the Snoopy HTTP client for ping requests instead of wp_remote_fopen + Fixed undefined translation strings + Added "safemode" for SQL which doesn't use unbuffered results (old style) + Added option to run the building process in background using wp-cron + Removed unnecessary function_exists, Thanks to user00265 + Added links to test the ping if it failed. +2007-11-25 3.0.2 Fixed bug which caused that some settings were not saved correctly + Added option to exclude pages or post by ID + Restored YAHOO ping service with API key since the other one is to unreliable. (see 3.0b8) +2007-11-28 3.0.2.1 Fixed wrong XML Schema Location (Thanks to Emanuele Tessore) + Added Russian Language files by Sergey http://ryvkin.ru +2007-12-30 3.0.3 Added Live Search Ping + Removed some hooks which rebuilt the sitemap with every comment +2008-03-30 3.0.3.1 Added compatibility CSS for WP 2.5 +2008-04-28 3.0.3.2 Improved WP 2.5 handling +2008-04-29 3.0.3.3 Fixed author pages + Enhanced background building and increased delay to 15 seconds + Background building is enabled by default +2008-04-28 3.1b1 Reorganized files in builder, loader and UI + Added 2 step loader so only code that's needed will be loaded + Improved WP 2.5 handling + Secured all admin actions with nonces +2008-05-18 3.1b2 Fixed critical bug with the build in background option + Added notification if a build is scheduled +2008-05-19 3.1b3 Cleaned up plugin directory and moved asset files to subfolders + Fixed background building bug in WP 2.1 + Removed auto-update plugin link for WP < 2.5 +2008-05-22 3.1 Marked as 3.1 stable, updated documentation +2008-05-27 3.1.0.1Extracted UI JS to external file + Enabled the option to include following pages of multi-page posts + Script tries to raise memory and time limit if active +2008-12-21 3.1.1 Fixed redirect issue if wp-admin is rewritten via mod_rewrite, thanks to macjoost + Fixed wrong path to assets, thanks PozHonks + Fixed wrong plugin URL if wp-content was renamed / redirected, thanks to wnorris + Updated WP User Interface for 2.7 + Various other small things +2008-12-26 3.1.2 Changed the way the stylesheet is saved (default / custom stylesheet) + Sitemap is now build when page is published + Removed support for static robots.txt files, this is now handled via WordPress + Added compat. exceptions for WP 2.0 and WP 2.1 +2009-06-07 3.1.3 Changed MSN Live Search to Bing + Exclude categories also now exludes the category itself and not only the posts + Pings now use the new WordPress HTTP API instead of Snoopy + Fixed bug that in localized WP installations priorities could not be saved. + The sitemap cron job is now cleared after a manual rebuild or after changing the config + Adjusted style of admin area for WP 2.8 and refreshed icons + Disabled the "Exclude categories" feature for WP 2.5.1, since it doesn't have the required functions yet +2009-06-22 3.1.4 Fixed bug which broke all pings in WP < 2.7 + Added more output in debug mode if pings fail + Moved global post definitions for other plugins + Added small icon for ozh admin menu + Added more help links in UI +2009-08-24 3.1.5 Added option to completely disable the last modification time + Fixed bug regarding the use of the HTTPS url for the XSL stylesheet if the sitemap was build via the admin panel + Improved handling of homepage if a single page was set for it + Fixed mktime warning which appeared sometimes + Fixed bug which caused inf. reloads after rebuilding the sitemap via the admin panel + Improved handling of missing sitemaps files if WP was moved to another location +2009-08-31 3.1.6 Fixed PHP error "Only variables can be passed by reference" + Fixed wrong URLS of multi-page posts (Thanks artstorm!) +2009-10-21 3.1.7 Added support for custom taxonomies (Thanks to Lee!) +2009-11-07 3.1.8 Improved custom taxonomy handling and fixed wrong last modification date + Changed readme and backlinks + Fixed fatal error in WP < 2.3 + Fixed Update Notice in WP 2.8+ + Added warning if blog privacy is activated + Fixed custom URLs priorities were shown as 0 instead of 1 +2009-11-13 3.1.9 Fixed MySQL Error if author pages were included +2009-11-23 3.2 Added function to show the actual results of a ping instead of only linking to the url + Added new hook (sm_rebuild) for third party plugins to start building the sitemap + Fixed bug which showed the wrong URL for the latest Google ping result + Added some missing phpdoc documentation + Removed hardcoded php name for sitemap file for admin urls + Uses KSES for showing ping test results + Ping test fixed for WP < 2.3 +2009-12-16 3.2.1 Notes and update messages could interfere with the redirect after manual build + Help Links in the WP context help were not shown anymore since last update + IE 7 sometimes displayed a cached admin page + Removed invalid link to config page from the plugin description (This resulted in a "Not enough permission error") + Improved performance of getting the current plugin version with caching + Updated Spanish language files +2009-12-19 3.2.2 Fixed PHP4 problems +2010-04-02 3.2.3 Fixed that all pages were not included in the sitemap if the "Uncategorized" category was excluded +2010-05-29 3.2.4 Fixed more deprecated function calls + Added (GMT) to sitemap xslt template to avoid confusion with time zone + Added warning and don't activate plugin if multisite mode is enabled (this mode is NOT tested yet) + Changed get_bloginfo('siteurl') to get_bloginfo('url') to avoid deprecation warning + Changed has_cap(10) to has_cap('level_10') to avoid deprecation warning + Fixed wrong SQL statement for author pages (Ticket #1108), thanks to twoenough +2010-07-11 3.2.5 Backported Bing ping success fix from beta + Added friendly hint to try out the new beta +2010-09-19 3.2.6 Removed YAHOO ping since YAHOO uses bing now + Removed deprecated function call +2012-04-24 3.2.7 Fixed custom post types, thanks to clearsite of the wordpress.org forum! + Fixed broken admin layout on WP 3.4 +2012-08-08 3.2.8 Fixed wrong custom taxonomy URLs, thanks to ramon fincken of the wordpress.org forum! + Removed ASK ping since they shut down their service. + Exclude post_format taxonomy from custom taxonomy list +2013-01-11 3.2.9 Fixed security issue with change frequencies and filename of sitemap file. Exploit was only possible for admin accounts. +2013-09-28 3.3 Fixed problem with file permission checking + Filter out hashs (#) in URLs +2013-11-24 3.4 Fixed deprecation warnings in PHP 5.4, thanks to Dion Hulse! +2014-03-29 4.0 No static files anymore, sitemap is created on the fly + Sitemap is split-up into sub-sitemaps by month, allowing up to 50.000 posts per month + Support for custom post types and custom taxonomis! + 100% Multisite compatible, including by-blog and network activation. + Added support for mu-plugins forced-activation (see sitemap-wpmu.php for details) + Reduced server resource usage due to less content per request. + New API allows other plugins to add their own, separate sitemaps. + Raised min requirements to PHP 5.1 and WordPress 3.3 + Note: This version will try to rename your old sitemap files to *-old.xml. If that doesn’t work, please delete them manually since no static files are needed anymore! + Using only wpdb instead of unbuffered queries anymore + Ping to search engines are done on WP ping + Using PHP5 syntax instead of old PHP4 OOP style + Added pre-loader which checks the requirements + Avoid the main query of WordPress (based on plugin by Michael Adams) + Avoid additional queries in post sitemaps + Added custom post types + Fixed include of static front page in pages index + Do not list "#" permalinks from placeholder plugins + Removed YAHOO pings since YAHOO doesn't have its own ping service anymore. + Sitemap doesn't state it is a feed anymore + Removed Ask.com ping since they shut down their service (who uses Ask anyway?) +2014-03-31 4.0.1 Fixed bug with custom post types including a "-" + Changed rewrite-setup to happen on init and flushing on wp_loaded to better work with other plugins +2014-04-01 4.0.2 Fixed warning if an gzip handler is already active +2014-04-13 4.0.3 Fixed compression if an gzlib handler was already active + Help regarding permalinks for Nginx users + Fix with gzip compression in case there was other output before already + Return 404 for HTML sitemaps if the option has been disabled + +Todo: +============================================================================== +- Your wishes :) + + +License: +============================================================================== +Copyright 2005 - 2014 ARNE BRACHHOLD (email : himself - arnebrachhold - de) + +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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Please see license.txt for the full license. + + +Developer Documentation +============================================================================== + +Adding other pages to the sitemap via other plugins + +This plugin uses the action system of WordPress to allow other plugins +to add urls to the sitemap. Simply add your function with add_action to +the list and the plugin will execute yours every time the sitemap is build. +Use the static method "GetInstance" to get the generator and AddUrl method +to add your content. + +Sample: + +function your_pages() { + $generatorObject = &GoogleSitemapGenerator::GetInstance(); + if($generatorObject!=null) $generatorObject->AddUrl("http://blog.uri/tags/hello/",time(),"daily",0.5); +} +add_action("sm_buildmap","your_pages"); + +Parameters: +- The URL to the page +- The last modified data, as a UNIX timestamp (optional) +- The Change Frequency (daily, hourly, weekly and so on) (optional) +- The priority 0.0 to 1.0 (optional) + + +Rebuilding the sitemap on request + +If you want to rebuild the sitemap because dynamic content from your plugin has changed, +please use the "sm_rebuild" hook which is available since 3.1.9. +All other methods, like calling the Build method directly are highly unrecommended and might +not work anymore with the next version of the plugin. Using this hook, the sitemap plugin will +take care of everything like loading the required classes and so on. + +Sample: + +do_action("sm_rebuild"); + +The sitemap might not be rebuild immediately, since newer versions use a background WP-Cron +job by default to prevent that the user has to wait and avoid multiple rebuilds within a very short time. +In case the sitemap plugin is not installed, nothing will happen and no errors will be thrown. + +=============================================== + +Adding additional PriorityProviders + +This plugin uses several classes to calculate the post priority. +You can register your own provider and choose it at the options screen. + +Your class has to extend the GoogleSitemapGeneratorPrioProviderBase class +which has a default constructor and a method called GetPostPriority +which you can override. + +Look at the GoogleSitemapGeneratorPrioByPopularityContestProvider class +for an example. + +To register your provider to the sitemap generator, use the following filter: + +add_filter("sm_add_prio_provider","AddMyProvider"); + +Your function could look like this: + +function AddMyProvider($providers) { + array_push($providers,"MyProviderClass"); + return $providers; +} + +Note that you have to return the modified list! \ No newline at end of file diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-amazon.gif b/wp-content/plugins/google-sitemap-generator/img/icon-amazon.gif new file mode 100644 index 0000000..b6e497f Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-amazon.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-arne.gif b/wp-content/plugins/google-sitemap-generator/img/icon-arne.gif new file mode 100644 index 0000000..c495665 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-arne.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-bing.gif b/wp-content/plugins/google-sitemap-generator/img/icon-bing.gif new file mode 100644 index 0000000..83d621f Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-bing.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-donate.gif b/wp-content/plugins/google-sitemap-generator/img/icon-donate.gif new file mode 100644 index 0000000..2ca03ea Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-donate.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-email.gif b/wp-content/plugins/google-sitemap-generator/img/icon-email.gif new file mode 100644 index 0000000..587a3fc Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-email.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-google.gif b/wp-content/plugins/google-sitemap-generator/img/icon-google.gif new file mode 100644 index 0000000..9ca2242 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-google.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-paypal.gif b/wp-content/plugins/google-sitemap-generator/img/icon-paypal.gif new file mode 100644 index 0000000..a5470d2 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-paypal.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-trac.gif b/wp-content/plugins/google-sitemap-generator/img/icon-trac.gif new file mode 100644 index 0000000..45174f6 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-trac.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-wordpress.gif b/wp-content/plugins/google-sitemap-generator/img/icon-wordpress.gif new file mode 100644 index 0000000..9935f46 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-wordpress.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/icon-yahoo.gif b/wp-content/plugins/google-sitemap-generator/img/icon-yahoo.gif new file mode 100644 index 0000000..dc7a8a5 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/img/icon-yahoo.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/img/sitemap.js b/wp-content/plugins/google-sitemap-generator/img/sitemap.js new file mode 100644 index 0000000..abb53a7 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/img/sitemap.js @@ -0,0 +1,109 @@ +/* + + $Id: sitemap.js 48032 2008-05-27 14:32:06Z arnee $ + +*/ + +function sm_addPage(url,priority,changeFreq,lastChanged) { + + var table = document.getElementById('sm_pageTable').getElementsByTagName('TBODY')[0]; + var ce = function(ele) { return document.createElement(ele) }; + var tr = ce('TR'); + + var td = ce('TD'); + var iUrl = ce('INPUT'); + iUrl.type="text"; + iUrl.style.width='95%'; + iUrl.name="sm_pages_ur[]"; + if(url) iUrl.value=url; + td.appendChild(iUrl); + tr.appendChild(td); + + td = ce('TD'); + td.style.width='150px'; + var iPrio = ce('SELECT'); + iPrio.style.width='95%'; + iPrio.name="sm_pages_pr[]"; + for(var i=0; i 1) { + firstRow.parentNode.removeChild(firstRow); + } + } + var cnt = table.getElementsByTagName('TR').length; + if(cnt%2) tr.className="alternate"; + + table.appendChild(tr); +} + +function sm_loadPages() { + for(var i=0; i, 2005. +# $Id: sitemap.pot 2327 2005-06-19 03:09:59 RedAltExport $ +msgid "" +msgstr "" +"Project-Id-Version: Sitemap v2.7.1 for WP\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-06-07 01:15+0100\n" +"PO-Revision-Date: 2009-07-15 03:12+0200\n" +"Last-Translator: Hazem Khaled \n" +"Language-Team: Sewar \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Arabic\n" +"X-Poedit-Country: ARABIAN WORLD\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "عدد التعليقات" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "أستخدم عدد التعليقات لحساب الأولوية" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "متوسط التعليقات" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "أستخدم متوسط التعليقات لحساب الأولوية" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 +msgid "Always" +msgstr "دائماً" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 +msgid "Hourly" +msgstr "كل ساعة" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 +msgid "Daily" +msgstr "يومياً" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 +msgid "Weekly" +msgstr "اسبوعياً" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 +msgid "Monthly" +msgstr "شهرياً" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 +msgid "Yearly" +msgstr "سنوياً" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 +msgid "Never" +msgstr "أبداً" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Hide this notice" +msgstr "أخÙاء هذا التبليغ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "شكراً ﻷستخدامك هذه الأضاÙØ©! لقد قمت بتركيب الإضاÙØ© من اكثر من شهر. إذا كنت راضي عن النتائج, يمكنك التبرع بدولار واحد على الأقل؟ المتبرعين ساعدوني بدعم وتطوير هذه الأضاÙØ© المجانية! أكيد, لا يوجد مشكلة!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +msgid "No thanks, please don't bug me anymore!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 +msgid "XML Sitemap Generator for WordPress" +msgstr "صانع خريطة الموقع" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 +msgid "Configuration updated" +msgstr "تم تحديث الإعدادات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 +msgid "Error while saving options" +msgstr "حدث خطأ عند Ø­Ùظ إعدادات الصÙحات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 +msgid "Pages saved" +msgstr "تم Ø­Ùظ إعدادات الصÙحات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 +msgid "Error while saving pages" +msgstr "حدث خطأ عند Ø­Ùظ إعدادات الصÙحات" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 +msgid "The default configuration was restored." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "هناك إصدارة جديدة %1$s متاحة. تحميل الأصدارة %3$s من هنا." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "هناك إصدارة جديدة %1$s متاحة. تحميل الأصدارة %3$s من هنا. التحديث التلقائي غير متاح ÙÙŠ هذه المدونة." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "هناك إصدارة جديدة %1$s متاحة. تحميل الأصدارة %3$s من هنا او حدث تلقائياً." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 +msgid "open" +msgstr "Ùتح" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 +msgid "close" +msgstr "أغلاق" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 +msgid "click-down and drag to move this box" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 +msgid "click to %toggle% this box" +msgstr "أضغط لكي %toggle% هذا المربع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 +msgid "use the arrow keys to move this box" +msgstr "أستخدم السهم لتحريك المربعات" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 +msgid ", or press the enter key to %toggle% it" +msgstr ", او أضغط على الزر لـ%toggle%" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "About this Plugin:" +msgstr "عن هذه الأضاÙØ©" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 +msgid "Plugin Homepage" +msgstr "الصÙحة الرئيسية" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Suggest a Feature" +msgstr "رشح خاصية جديدة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 +msgid "Notify List" +msgstr "قائمة التبليغ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "Support Forum" +msgstr "منتدى الدعم" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 +msgid "Report a Bug" +msgstr "أبلغ عن خطأ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Donate with PayPal" +msgstr "تبرع بالباي بال" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +msgid "My Amazon Wish List" +msgstr "قائمة رغباتي بأمازون" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_name" +msgstr "إعادة الترجمة : حازم خالد" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_url" +msgstr "http://HazemKhaled.com" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +msgid "Sitemap Resources:" +msgstr "موارد خريطة الموقع:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "Webmaster Tools" +msgstr "ادوات مدير الموقع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "Webmaster Blog" +msgstr "مدونة مدير الموقع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 +msgid "Site Explorer" +msgstr "متصÙØ­ الموقع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "Search Blog" +msgstr "بحث المدونة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 +msgid "Webmaster Center Blog" +msgstr "مدونة مركز مدير الموقع" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 +msgid "Sitemaps Protocol" +msgstr "بروتوكول خريطة الموقع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 +msgid "Official Sitemaps FAQ" +msgstr "الأسئلة الشائعة الرسمية عن خريطة المواقع" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 +msgid "My Sitemaps FAQ" +msgstr "الأسئلة الشائعة عن خريطة الموقع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 +msgid "Recent Donations:" +msgstr "أخر تبرع" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 +msgid "List of the donors" +msgstr "قائمة المتبرعين" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 +msgid "Hide this list" +msgstr "اخÙاء هذه القائمة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 +msgid "Thanks for your support!" +msgstr "شكراً لدعمك" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Status" +msgstr "الحالة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 +msgid "Your sitemap was last built on %date%." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreأعر٠المزيد" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:610 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreأعر٠المزيد" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 +msgid "Google was successfully notified about changes." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "YAHOO was successfully notified about changes." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 +msgid "Bing was successfully notified about changes." +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 +msgid "Ask.com was successfully notified about changes." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "تم الأنشاء ÙÙŠ حوالي %time% ثانية وأستخدام %memory% MB من الذاكرة." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 +msgid "The building process took about %time% seconds to complete." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "إذا تغير شيء على الخادم الخاص بك أو مدونتك, Ùيجب عليك إعادة غنشاء الخريطة يدوياً" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "إذا واجهتك أي مشاكل ÙÙŠ عملية انشاء الخريطة Ùيمكنك أستخدام debug function للحصول على المزيد من المعلومات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 +msgid "Basic Options" +msgstr "إعدادات أساسية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +msgid "Sitemap files:" +msgstr "ملÙات الخريطة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Learn more" +msgstr "أعر٠المزيد" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 +msgid "Write a normal XML file (your filename)" +msgstr "كتابة مل٠XML عادي (مل٠خريطة الموقع)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "كتابة مل٠XML مضغوط (مل٠خريطة الموقع + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +msgid "Building mode:" +msgstr "نظام البناء:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "اعادة إنشاء الخريطة إذا قمت بتغيير محتوى المدونة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 +msgid "Enable manual sitemap building via GET Request" +msgstr "إتاحة أنشاء الخريطة يدوياً عن طريق طلب GET" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +msgid "Update notification:" +msgstr "تحديث التبليغات:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 +msgid "Notify Google about updates of your Blog" +msgstr "تبليغ جوجل عن تحديثات موقعك" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "لا يحتاج للتسجيل, ولكن يمكنك التسجيل ÙÙŠ Google Webmaster Tools لمتابعة أحصائيات أرشÙØ© موقعك." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "أبلاغ BING (رسمياً MSN Live Search) عن التحديثات بمدونتك" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "لا يحتاج للتسجيل, ولكن يمكنك التسجيل ÙÙŠ Bing Webmaster Tools لمتابعة أحصائيات أرشÙØ© موقعك." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 +msgid "Notify Ask.com about updates of your Blog" +msgstr "أبلاغ Ask.com عن تحديثات مدونتك" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 +msgid "No registration required." +msgstr "لا يحتاج للتسجيل" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 +msgid "Notify YAHOO about updates of your Blog" +msgstr "تبليغ YAHOO بتحديثات مدونتك" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 +msgid "Your Application ID:" +msgstr "رقم الطلب الخاص بك :" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "إضاÙØ© خريطة الموقع لمل٠robots.txt" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "مل٠robots.txt الأÙتراضي الذي تم إنشائه بواسطة WordPress قيد الأستخدام. مل٠robots.txt الÙعلي يجب أن لا يكون موجود بمجلد المدونة!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Advanced options:" +msgstr "خيارات متقدمة" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Limit the number of posts in the sitemap:" +msgstr "تحديد عدد التدوينات ÙÙŠ الخريطة :" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Newer posts will be included first" +msgstr "التدوينة الجديدة ستدرج الأولى" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "Try to increase the memory limit to:" +msgstr "حاول تزيد حد الذاكرة إلى:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "e.g. \"4M\", \"16M\"" +msgstr "مثال : \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Try to increase the execution time limit to:" +msgstr "حاول زيادة مدة التنÙيذ :" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "بالثواني, مثال: \"60\" أو \"0\" للغير نهائي" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Include a XSLT stylesheet:" +msgstr "أستخدام مل٠تنسيقي XSLT:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Full or relative URL to your .xsl file" +msgstr "الرابط كاملاً ملÙÙ… ال .xsl" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Use default" +msgstr "أستخدام الأÙتراضي" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "تÙعيل وضع MySQL القياسي. أستخدها Ùقط ÙÙŠ حالة حدوث اخطاء MySQL. (يحتاج إلى المزيد من الذاكرة!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "يجب تحديث وردبريس للأصدارة 2.2 لتÙعيل وصل أسرع لل MySQL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "بناء خريطة الموقع ÙÙŠ كل مرة ÙÙŠ الخلÙية (لكل لا يأخر عملية Ø­Ùظ التدوينات)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "يجب تحديث المدونة لإصدارة 2.1 على الأقل لتÙعيل العمل ÙÙŠ الخلÙية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 +msgid "Additional pages" +msgstr "صÙحات إضاÙية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "هنا يمكنك تضمين الملÙات Ùˆ الروابط التي يجب أن يتم تضمينها ÙÙŠ خريطة الموقع، لكنها لا تتبع ووردبريس .
    على سبيل المثال، إذا كان نطاق موقعك www.foo.com Ùˆ مدونتك موجودة ÙÙŠ www.foo.com/blog أنت قد تريد تضمين الصÙحة الرئيسية لموقعك ÙÙŠ www.foo.com." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 +msgid "Note" +msgstr "تنبيه" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "إذا كانت مدونتك ÙÙŠ مجلد Ùرعي Ùˆ أردت إضاÙØ© صÙحات خارج مجلد مدونتك، يجب عليك وضع مل٠خريطة موقعك ÙÙŠ المجلد الرئيسي لموقعك (انظر Ùسم "مكان مل٠خريطة موقعك" ÙÙŠ هذه الصÙحة)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 +msgid "URL to the page" +msgstr "رابط الصÙحة" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "ضع رابط الصÙحة ØŒ مثلاً : http://www.foo.com/index.html أو www.foo.com/home ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 +msgid "Priority" +msgstr "الأÙضلية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "إختر Ø£Ùضلية الصÙحة نسبة إلى الصÙحات الأخرى ØŒ على سبيل المثال ØŒ صÙحتك الرئيسية لربّما يكون لها Ø£Ùضلية أعلى من سيرتك الذاتية ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Last Changed" +msgstr "آخر تعديل" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "ضع تاريخ آخر تعديل كـ YYYY-MM-DD (مثلاً : 2005-12-31) (اختياري) ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Change Frequency" +msgstr "Ùترة التحديث" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "#" +msgstr "#" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 +msgid "No pages defined." +msgstr "لا يوجد صÙحات مضاÙØ© ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 +msgid "Add new page" +msgstr "أض٠صÙحة جديدة" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Post Priority" +msgstr "الأÙضلية" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 +msgid "Please select how the priority of each post should be calculated:" +msgstr "الرجاء اختيار مدى أولوية كل تدوينة :" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "Do not use automatic priority calculation" +msgstr "لا تستخدم حساب الأولوية تلقائيا" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "كل المواضيع تحمل Ù†Ùس الأولوية التي تم تحديدها ÙÙŠ "الأولويات"" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 +msgid "Location of your sitemap file" +msgstr "مكان مل٠خريطة موقعك" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 +msgid "Automatic detection" +msgstr "الكش٠الآلي" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 +msgid "Filename of the sitemap file" +msgstr "اسم مل٠خريطة الموقع:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected Path" +msgstr "مسار الملÙ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected URL" +msgstr "رابط الملÙ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 +msgid "Custom location" +msgstr "مسار مخصص" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "المسار الكامل لمل٠خريطة الموقع." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 +msgid "Example" +msgstr "مثال" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 +msgid "Complete URL to the sitemap file, including name." +msgstr "الرابط الكامل لمل٠خريطة الموقع." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 +msgid "Sitemap Content" +msgstr "محتوى خريطة الموقع" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 +msgid "Include homepage" +msgstr "تضمين الصÙحة الرئيسية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 +msgid "Include posts" +msgstr "تضمين التدوينات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "إدراج الصÙحات التابعة للمواضيع متعددة الصÙحات (يزيد ÙÙŠ مدة إنشاء الخيرطة وكمية الذاكرة المستخدمة)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 +msgid "Include static pages" +msgstr "تضمين الصÙحات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 +msgid "Include categories" +msgstr "تضمين التصنيÙات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 +msgid "Include archives" +msgstr "تضمين الأرشيÙ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 +msgid "Include tag pages" +msgstr "تضمين صÙحات التاجات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 +msgid "Include author pages" +msgstr "تضمين صÙحات الكتاب" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 +msgid "Excluded items" +msgstr "استبعاد عناصر" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 +msgid "Excluded categories" +msgstr "استبعاد التصنيÙات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +msgid "Using this feature will increase build time and memory usage!" +msgstr "باستخدام هذه الميزة سو٠تزيد من وقت الأنشاء واستخدام ذاكرة اكبر!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "هذه الخاصية تحتاج لنسخة وردبريس 2.5.1, أنت تستخدم %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 +msgid "Exclude posts" +msgstr "استبعاد التدوينات" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "Exclude the following posts or pages:" +msgstr "أستبعاد التدوينات او المواضيع الأتية:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "List of IDs, separated by comma" +msgstr "ضع الأرقام IDs, وأÙصل بينهم بكومة انجليزية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +msgid "Child posts won't be excluded automatically!" +msgstr "المواضيع التابعة لن تستبعد تلقائيا!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 +msgid "Change frequencies" +msgstr "Ùترة التحديث" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "رجاء لاحظ بأنّ قيمة هذه الخاصية هي تلميح معتبر Ùˆ ليس إجبارياً . بالرغم من أنّ محركات البحث تقرأ هذه الخاصية عندما تبحث ØŒ هي قد تÙحص الصÙحات التي أشّرت \"كل ساعة\" أقل كثيرا من ذلك ØŒ وهي قد تÙحص الصÙحات التي أشّرت \"سنوياً\" أكثر من ذلك . هي أيضا من المحتمل تÙحص الصÙحات التي أشّرت \"أبداً\" بشكل دوري لكي هم يمكن أن يعالجوا التغييرات الغير المتوقّعة ÙÙŠ تلك الصÙحات ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 +msgid "Homepage" +msgstr "الصÙحة الرئيسية" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 +msgid "Posts" +msgstr "التدوينات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 +msgid "Static pages" +msgstr "الصÙحات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 +msgid "Categories" +msgstr "التصنيÙات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "أرشي٠الشهر الحالي (ÙŠÙضل أن يكون مثل الصÙحة الرئيسية)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "الأرشي٠السابق (يتغير عندما تحرر تدوينة قديمة Ùقط)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Tag pages" +msgstr "صÙحات التاجات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 +msgid "Author pages" +msgstr "صÙحات المؤلÙين" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 +msgid "Priorities" +msgstr "الأÙضليات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 +msgid "Posts (If auto calculation is disabled)" +msgstr "التدوينات (إذا كان الحساب الآلي غير Ù…Ùعل)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Ø£Ùضلية التدوينة الدنيا (حتى إذا كان الحساب الآلي Ù…Ùعل)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 +msgid "Archives" +msgstr "الأرشيÙ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 +msgid "Update options" +msgstr "تحديث الإعدادات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 +msgid "Reset options" +msgstr "تصÙير الإعدادات" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap Generator" +msgstr "صانع خريطة الموقع" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap" +msgstr "خريطة الموقع" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 +msgid "Sitemap FAQ" +msgstr "الأسئلة الشائعة عن خريطة الموقع" + +#~ msgid "Manual location" +#~ msgstr "تحديد الرابط يدوياً" +#~ msgid "OR" +#~ msgstr "أو" +#~ msgid "Error" +#~ msgstr "حصل خطأ" +#~ msgid "" +#~ "A new page was added. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "تم إضاÙØ© صÙحة جديدة ØŒ إضغط على زر "Ø­Ùظ تغييرات الصÙحات" لحÙظ " +#~ "تغييراتك ." +#~ msgid "" +#~ "The page was deleted. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "تم حذ٠الصÙحة ." +#~ msgid "You changes have been cleared." +#~ msgstr "تم إلغاء تغييراتك ." +#~ msgid "Manual rebuild" +#~ msgstr "إنشاء خريطة الموقع يدوياً" +#~ msgid "" +#~ "If you want to build the sitemap without editing a post, click on here!" +#~ msgstr "" +#~ "إذا كنت تريد إنشاء خريطة الموقع بدون تعديل تدوينة ØŒ إضغط على الزر التالي :" +#~ msgid "Rebuild Sitemap" +#~ msgstr "إعادة إنشاء خريطة الموقع" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.mo new file mode 100644 index 0000000..7fefcb8 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.po new file mode 100644 index 0000000..dea81e3 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-bg_BG.po @@ -0,0 +1,827 @@ +msgid "" +msgstr "" +"Project-Id-Version: sitemap 3.1.1\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2009-03-02 13:53+0200\n" +"Last-Translator: Alexander Dichev \n" +"Language-Team: Alexander Dichev \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Bulgarian\n" +"X-Poedit-Country: BULGARIA\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "Брой Коментари" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Използва Ð±Ñ€Ð¾Ñ Ð½Ð° коментарите при калкулиране на приоритета на поÑта" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "Коментари Средно" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "Използва ÑÑ€ÐµÐ´Ð½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ на коментарите при калкулиране на приоритета" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "Popularity Contest" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Използва активиран Popularity Contest Plugin от Alex King. Виж ÐаÑтройки и Ðай-популÑрните поÑтове." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1209 +msgid "Always" +msgstr "Винаги" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1210 +msgid "Hourly" +msgstr "ЕжечаÑно" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1211 +msgid "Daily" +msgstr "Ежедневно" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1212 +msgid "Weekly" +msgstr "ЕжеÑедмично" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1213 +msgid "Monthly" +msgstr "ЕжемеÑечно" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1214 +msgid "Yearly" +msgstr "Ежегодно" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1215 +msgid "Never" +msgstr "Ðикога" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð’Ð¸ много за дарението. Вие ми помагате да продължа развитието и поддръжката на този плъгин и на други безплатни Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ Ñофтуер." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Hide this notice" +msgstr "Скриване на Ñъобщението" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð’Ð¸, че използвате този плъгин! Вие Ñте инÑталирали и използвате този плъгин повече от меÑец. Ðко работи добре и Ñте доволни от резултата, не Ñи ли заÑлужава поне един долар? ДарениÑта ми помагат да продължа развитието и поддръжката на този безплатен Ñофтуер! Разбира Ñе, нÑма проблеми! " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +msgid "No thanks, please don't bug me anymore!" +msgstr "Ðе благодарÑ, молÑ, не ме безпокойте повече!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "Вашата карта на Ñайта Ñе обновÑва в момента. Ð’ завиÑимоÑÑ‚ от големината на блога, това би коÑтвало извеÑтно време." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "Вашата карта на Ñайта ще бъде обновена Ñлед %s Ñекунди. Ð’ завиÑимоÑÑ‚ от големината на блога, това би коÑтвало извеÑтно време." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:441 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Генератор за WordPress" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:278 +msgid "Configuration updated" +msgstr "КонфигурациÑта е обновена" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:279 +msgid "Error while saving options" +msgstr "Грешка при запазване на наÑтройките" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:281 +msgid "Pages saved" +msgstr "Страниците Ñа запаметени" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:282 +msgid "Error while saving pages" +msgstr "Грешка при запаметÑване на Ñтраниците" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:286 +#, php-format +msgid "Robots.txt file saved" +msgstr "Файла Robots.txt е запазен" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:288 +msgid "Error while saving Robots.txt file" +msgstr "Грешка при запазването на файла robots.txt" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:297 +msgid "The default configuration was restored." +msgstr "Стандартните наÑтройки Ñа възÑтановени" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:454 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "Има нова верÑÐ¸Ñ Ð½Ð° %1$s. Изтеглете верÑÐ¸Ñ %3$s тук." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:456 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "Има нова верÑÐ¸Ñ Ð½Ð° %1$s. Изтегли верÑÐ¸Ñ %3$s тук невъзможно е автоматично обновÑване за това разширение." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:458 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "Има нова верÑÐ¸Ñ Ð½Ð° %1$s. Изтегли верÑÐ¸Ñ %3$s тук илиr обнови автоматично." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:481 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +msgid "open" +msgstr "отвори" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:482 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:499 +msgid "close" +msgstr "затвори" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:483 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 +msgid "click-down and drag to move this box" +msgstr "кликнете Ñ Ð¼Ð¸ÑˆÐºÐ°Ñ‚Ð° върху кутиÑта и провлачете за да Ñ Ð¿Ñ€ÐµÐ¼ÐµÑтите" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:484 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:501 +msgid "click to %toggle% this box" +msgstr "кликнете за да %toggle% кутиÑта" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:485 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:502 +msgid "use the arrow keys to move this box" +msgstr "използвайте бутоните ÑÑŠÑ Ñтрелките за премеÑтване на кутиÑта" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:486 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:503 +msgid ", or press the enter key to %toggle% it" +msgstr ", или натиÑнете бутона Enter за да го %toggle%" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:521 +msgid "About this Plugin:" +msgstr "За плъгина:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:522 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:138 +msgid "Plugin Homepage" +msgstr "Страница на плъгина" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:523 +msgid "Suggest a Feature" +msgstr "Предложи Ðова ВъзможноÑÑ‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:524 +msgid "Notify List" +msgstr "E-Mail абонамент за обновÑваниÑта" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:525 +msgid "Support Forum" +msgstr "Форуми за помощ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:526 +msgid "Report a Bug" +msgstr "Докладвай за Бъг" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:528 +msgid "Donate with PayPal" +msgstr "Дарение Ñ PayPal" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 +msgid "My Amazon Wish List" +msgstr "МоÑÑ‚ ÑпиÑък Ñ Ð¶ÐµÐ»Ð°Ð½Ð¸Ñ Ð¾Ñ‚ Amazon" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +msgid "translator_name" +msgstr "Alexander Dichev" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +msgid "translator_url" +msgstr "http://dichev.com/" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "Sitemap Resources:" +msgstr "Sitemap РеÑурÑи:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "Site Explorer" +msgstr "Site Explorer" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 +msgid "Search Blog" +msgstr "Search Blog" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:543 +msgid "Sitemaps Protocol" +msgstr "Sitemaps Протокол" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:544 +msgid "Official Sitemaps FAQ" +msgstr "Официални ЧеÑто Задавани ВъпроÑи" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +msgid "My Sitemaps FAQ" +msgstr "Моите ЧеÑто Задавани ВъпроÑи" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 +msgid "Recent Donations:" +msgstr "ПоÑледни ДарениÑ;" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "List of the donors" +msgstr "СпиÑък на дарителите" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:554 +msgid "Hide this list" +msgstr "Скрийте този ÑпиÑък" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 +msgid "Thanks for your support!" +msgstr "Ð‘Ð»Ð°Ð³Ð¾Ð´Ð°Ñ€Ñ Ð·Ð° помощта!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:575 +msgid "Status" +msgstr "СтатуÑ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Ð’Ñе още не е Ñъздаден sitemap-файл. От тази връзка генерирайте карта на Ñайта за първи път." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 +msgid "Your sitemap was last built on %date%." +msgstr "ВашиÑÑ‚ sitemap-файл беше Ñъздаден уÑпешно на %date%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:591 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreПовече информациÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "ВашиÑÑ‚ архивиран sitemap-файл беше Ñъздаден уÑпешно на %date%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreПовече информациÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:606 +msgid "Google was successfully notified about changes." +msgstr "Google беше уведомен уÑпешно за промените в блога." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:609 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Отне %time% Ñекунди за уведомÑването на Google ако желаете да намалите времето за генериране можете да деактивирате тази функциÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Имаше проблем Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ñването на Google. Виж резултата" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO беше уведомен уÑпешно за промените в блога." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Отне %time% Ñекунди за уведомÑването на YAHOO ако желаете да намалите времето за генериране можете да деактивирате тази функциÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Имаше проблем Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ñването на YAHOO. Виж резултата" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "MSN was successfully notified about changes." +msgstr "MSN беше уведомен уÑпешно за промените в блога." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." +msgstr "Отне %time% Ñекунди за уведомÑването на MSN.com, ако желаете да намалите времето за генериране можете да деактивирате тази функциÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +#, php-format +msgid "There was a problem while notifying MSN.com. View result" +msgstr "Имаше проблем Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ñването на MSN.com. Виж резултата" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com беше уведомен уÑпешно за промените в блога." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Отне %time% Ñекунди за уведомÑването на Ask.com ако желаете да намалите времето за генериране можете да деактивирате тази функциÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Имаше проблем Ñ ÑƒÐ²ÐµÐ´Ð¾Ð¼Ñването на Ask.com. Виж резултата" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Генерирането на sitemap-а отне %time% Ñекунди и беше използвана %memory% MB памет." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:658 +msgid "The building process took about %time% seconds to complete." +msgstr "ПроцеÑÑŠÑ‚ на генериране отне %time% Ñекунди." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:662 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Съдържанието на картата на Ñайта Ви не е променено от поÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð¿ÑŠÑ‚, затова файлове не бÑха Ñъздадени и не бÑха ping-нати Ñ‚ÑŠÑ€Ñачки." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "Възможно е процеÑÑŠÑ‚ по изграждане вÑе още да не е приключил. Презареди Ñтраницата Ñлед нÑколко Ñекунди и провери за промÑна." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:673 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "ПоÑледниÑÑ‚ опит на генериране на карта на Ñайта приключи неуÑпешно! Можете да опитате да увеличите макÑимума използвана памет и лимита за време на изпълнение на PHP-Ñкриптове на Ð’Ð°ÑˆÐ¸Ñ ÑƒÐµÐ±-Ñървър. Повече информациÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "ПоÑледното региÑтрирано количеÑтво използвана от Ñкрипта памет е %memused%MB, лимита за използвана памет от PHP-Ñкриптове, зададен в конфигурациÑта на Ð’Ð°ÑˆÐ¸Ñ ÑƒÐµÐ±-Ñървър е %memlimit%MB." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:679 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "ПоÑледното региÑтрирано време за изпълнение на Ñкрипта беше %timeused% Ñекунди, лимита за продължителноÑÑ‚ на изпълнение на PHP-Ñкриптове зададен в конфигурациÑта на Ð’Ð°ÑˆÐ¸Ñ ÑƒÐµÐ±-Ñървър е %timelimit% Ñекунди." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:683 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Изпълнението на този Ñкрипт ÑÐ¿Ñ€Ñ Ð¾ÐºÐ¾Ð»Ð¾ поÑÑ‚ номер %lastpost% (+/- 100)." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:686 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Ðко Ñте направили нÑкакви промени по Ñървъра или блога е необходимо да Регенерирате Sitemap-а ръчно." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:688 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Ðко изпитвате проблеми при Ñъздаването на файла можете да активирате Дебъг ФункциÑта за да получите повече Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° грешките." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 +msgid "Basic Options" +msgstr "ОÑновни ÐаÑтройки" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 +msgid "Sitemap files:" +msgstr "Sitemap файлове:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 +msgid "Learn more" +msgstr "Повече информациÑ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 +msgid "Write a normal XML file (your filename)" +msgstr "Генерирай нормален XML файл (име на файла)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:708 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Генерирай архивирана верÑÐ¸Ñ (име_на_файла + .gz)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 +msgid "Building mode:" +msgstr "Метод на генериране:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Регенерирай sitemap-а при промÑна в Ñъдържанието на блога" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +msgid "Enable manual sitemap building via GET Request" +msgstr "Ðктивиране на ръчно генериране на sitemap-файла чрез изпращане на GET заÑвка" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:728 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Това прави възможно регенериране на sitemap-а ако външен инÑтрумент е внеÑъл промени в базата данни на WordPress без да изпозва WordPress API. Ðктивирайте процеÑа от тази връзка: %1. МолÑ, проверете log-файла по-горе за да разжерете дали sitemap-а е генериран уÑпешно." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 +msgid "Update notification:" +msgstr "УведомÑване при обновÑване:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 +msgid "Notify Google about updates of your Blog" +msgstr "УведомÑване на Google при обновÑване на блога Ви" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:737 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Ðе е необходима региÑтрациÑ, но Ñ‚Ñ€Ñбва да Ñе включите в Google Webmaster Tools за да проверите ÑтатиÑтиката от поÑещениÑта на Ñ‚ÑŠÑ€Ñачката на Ñайта ви." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:741 +msgid "Notify MSN Live Search about updates of your Blog" +msgstr "УведомÑване на MSN Live Search при обновÑване на блога Ви" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 +#, php-format +msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." +msgstr "Ðе е необходима региÑтрациÑ, но Ñ‚Ñ€Ñбва да Ñе включите в MSN Live Webmaster Tools за да проверите ÑтатиÑтиката от поÑещениÑта на Ñ‚ÑŠÑ€Ñачката на Ñайта ви." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:746 +msgid "Notify Ask.com about updates of your Blog" +msgstr "УведомÑване на Ask.com за обновÑÐ²Ð°Ð½Ð¸Ñ Ð½Ð° блога Ви" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 +msgid "No registration required." +msgstr "Ðе е необходима региÑтрациÑ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:751 +msgid "Notify YAHOO about updates of your Blog" +msgstr "УведомÑване на YAHOO за обновÑÐ²Ð°Ð½Ð¸Ñ Ð½Ð° блога Ви" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 +msgid "Your Application ID:" +msgstr "Вашето Application ID:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "ÐÑмате ли ключ? ЗаÑвете Ñи от тук! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:760 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "ОбновÑване или Ñъздаване на факл %s в главната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° блога, коÑто Ñе намира меÑтоположението на картата на Ñайта." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 +msgid "File permissions: " +msgstr "Права върху файла:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:768 +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt е разрешен за промÑна." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 +msgid "Error, robots.txt is not writable." +msgstr "Грешка, robots.txt е заключен за промÑна." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt не ÑъщеÑтвува, но директориÑта е разрешена за пиÑане." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:776 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Грешка, robots.txt не ÑъщеÑтвува и директориÑта не е разрешена за пиÑане" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 +msgid "Advanced options:" +msgstr "Допълнителни наÑтройки:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 +msgid "Limit the number of posts in the sitemap:" +msgstr "Ограничи Ð±Ñ€Ð¾Ñ Ð½Ð° поÑтовете в sitemap-а:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 +msgid "Newer posts will be included first" +msgstr "Ðовите поÑтове ще бъдат включени първо" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 +msgid "Try to increase the memory limit to:" +msgstr "При възможноÑÑ‚ увеличи лимита на паметта на:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 +msgid "e.g. \"4M\", \"16M\"" +msgstr "например \"4M\", \"16M\"" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Try to increase the execution time limit to:" +msgstr "При възможноÑÑ‚ увеличи времето за изпълнение на:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "Ñекунди, например \"60\" или \"0\" без ограничение" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:795 +msgid "Include a XSLT stylesheet:" +msgstr "Добави XSLT Stylesheet:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 +msgid "Full or relative URL to your .xsl file" +msgstr "ÐбÑолютен или отноÑителен URL до Ð’Ð°ÑˆÐ¸Ñ .xsl файл" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 +msgid "Use default" +msgstr "Използвай Стандартните" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Ðктивиране на MySQL Standard метод. Използва Ñе Ñамо при получаване на MySQL грешки. (Използва доÑта повече памет!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:807 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Генерирай картата на Ñайта на заден план (ÐÑма да е необходимо да Ñе чака при запазване на поÑÑ‚)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:814 +msgid "Additional pages" +msgstr "Допълнителни Ñтраници" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:817 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Тук можете да определите файлове или URL-и, които да бъдат добавени в картата на Ñайта, въпреки, че не Ñа чаÑÑ‚ от блога/WordPress.
    Ðапример, ако домейнът Ви е www.foo.com и блогът Ви Ñе намира на www.foo.com/blog, може да добавите заглавната Ñтраница на Ñайта Ñи http://www.foo.com" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 +msgid "Note" +msgstr "Забележка" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Ðко блогът Ви Ñе намира в Ð¿Ð¾Ð´Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¸ Вие желаете да включите Ñтраници, които ÐЕ Ñа в директориÑта на блога, вие ТРЯБВРда локализирате Ð’Ð°ÑˆÐ¸Ñ sitemap-файл в главната Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ (Виж ÑекциÑта "МеÑтонахождение на sitemap-файла")!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 +msgid "URL to the page" +msgstr "URL на Ñтраницата" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:823 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Въведете URL на Ñтраницата. Примери: http://www.foo.com/index.html или www.foo.com/home " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Priority" +msgstr "Приоритет" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:826 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Изберете приоритета на Ñтраницата в завиÑимоÑÑ‚ от другите Ñтраници. Ðапример, Вашата заглавна Ñтраница може да има по-виÑок приоритет от Ñтраницата Ви за контакт." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "Last Changed" +msgstr "ПоÑледна ПромÑна" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:829 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Въведете датата на поÑледното обновÑване във вида (например 2005-12-31) (незадължително)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Change Frequency" +msgstr "ЧеÑтота на ОбновÑване" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:865 +msgid "#" +msgstr "#" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 +msgid "No pages defined." +msgstr "ÐÑма дефинирани Ñтраници." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 +msgid "Add new page" +msgstr "ДобавÑне на нова Ñтраница" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:880 +msgid "Post Priority" +msgstr "Приоритет на ПоÑта" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 +msgid "Please select how the priority of each post should be calculated:" +msgstr "МолÑ, изберете начин на калкулиране на приоритета на поÑтовете" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +msgid "Do not use automatic priority calculation" +msgstr "Ðе използвай авто-калкулиране на приоритета" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Ð’Ñички поÑтове ще имат еднакъв приоритет, който е дефиниран в "Приоритети"" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:895 +msgid "Location of your sitemap file" +msgstr "Път до sitemap-файла" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:898 +msgid "Automatic detection" +msgstr "Ðвтоматично разпознаване" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:902 +msgid "Filename of the sitemap file" +msgstr "Име на sitemap-файла" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 +msgid "Detected Path" +msgstr "Ðамерен път" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 +msgid "Detected URL" +msgstr "Ðамерен URL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:910 +msgid "Custom location" +msgstr "Друго меÑтонахождение" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:914 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ÐбÑолютен и отноÑителен път до sitemap-файла, включително името." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:925 +msgid "Example" +msgstr "Пример" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:923 +msgid "Complete URL to the sitemap file, including name." +msgstr "ÐбÑолютен URL до sitemap-файла, включително името." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 +msgid "Sitemap Content" +msgstr "Съдържание на картата на Ñайта" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:942 +msgid "Include homepage" +msgstr "Включи заглавната Ñтраница" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:948 +msgid "Include posts" +msgstr "Включи поÑтове" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:911 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 +msgid "Include following pages of multi-page posts (<!--nextpage-->)" +msgstr "Включи Ñледните Ñтраници от многоÑтранични Ñтатии (<!--nextpage-->)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:960 +msgid "Include static pages" +msgstr "Включи Ñтатични Ñтраници" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 +msgid "Include categories" +msgstr "Включи категории" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 +msgid "Include archives" +msgstr "Включи архиви" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 +msgid "Include tag pages" +msgstr "Включи Ñтраници Ñ Ñ‚Ð°Ð³Ð¾Ð²Ðµ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:986 +msgid "Include author pages" +msgstr "Включи авторÑки Ñтраници" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:994 +msgid "Excluded items" +msgstr "Изключени" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:996 +msgid "Excluded categories" +msgstr "Изключени категории" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 +msgid "Using this feature will increase build time and memory usage!" +msgstr "Използването на това ще увеличи времето за Ñъздаване и употребата на памет!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1005 +#, php-format +msgid "This feature requires at least WordPress 2.5, you are using %s" +msgstr "Това изиÑква най-малко WordPress 2.5, Вие използвате %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1008 +msgid "Exclude posts" +msgstr "Изключени поÑтове" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "Exclude the following posts or pages:" +msgstr "Ðе включвай Ñледните поÑтове и/или Ñтраници:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "List of IDs, separated by comma" +msgstr "СпиÑък на ID-тата, разделени ÑÑŠÑ Ð·Ð°Ð¿ÐµÑ‚Ð°Ñ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 +msgid "Child posts will not automatically be excluded!" +msgstr "ПодÑтраниците ще бъдат автоматично изключени!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1018 +msgid "Change frequencies" +msgstr "ЧеÑтота на обновÑване" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "МолÑ, обърнете внимание, че ÑтойноÑтта на този таг е Ñамо подÑказка, а не команда. Дори Ñ‚ÑŠÑ€Ñачките да Ñе влиÑÑÑ‚ от тази Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¸ вземане на решениÑта Ñи, те може да поÑещават Ñтраници, маркирани Ñ \"hourly\" по-Ñ€Ñдко от това на вÑеки Ñ‡Ð°Ñ Ð¸ Ñтраници маркирани Ñ \"yearly\" по-чеÑто от един път в годината. Приема Ñе, че Ñ‚ÑŠÑ€Ñачките периодично поÑещават Ñтраници, маркирани Ñ \"never\" за да могат да отбележат евентуални неочаквани промени в Ñъдържанието им." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1086 +msgid "Homepage" +msgstr "Заглавна Ñтраница" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1034 +msgid "Posts" +msgstr "ПоÑтове" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1040 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1104 +msgid "Static pages" +msgstr "Статични Ñтраници" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1046 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1110 +msgid "Categories" +msgstr "Категории" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1052 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "ÐаÑтоÑщ архив за меÑеца (ТрÑбва да е ÑÑŠÑ‰Ð¸Ñ ÐºÐ°Ñ‚Ð¾ на заглавната Ñтраница)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1058 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Стари архиви (ПромÑна Ñамо при Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ Ð½Ð° Ñтар поÑÑ‚)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1123 +msgid "Tag pages" +msgstr "Страници на тагове" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1130 +msgid "Author pages" +msgstr "ÐвторÑки Ñтраници" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1080 +msgid "Priorities" +msgstr "Приоритети" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1092 +msgid "Posts (If auto calculation is disabled)" +msgstr "ПоÑтове (Ðко авто-калкулиране е неактивно)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1098 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Минимален приоритет на поÑтовете (Важи и при активирано авто-калкулиране)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1116 +msgid "Archives" +msgstr "Ðрхив" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1141 +msgid "Update options" +msgstr "ОбновÑване на наÑтройките" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1142 +msgid "Reset options" +msgstr "Връщане на вградените наÑтройки" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Генератор" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:139 +msgid "Sitemap FAQ" +msgstr "ЧеÑто Задавани ВъпроÑи" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.mo new file mode 100644 index 0000000..7a399ab Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.po new file mode 100644 index 0000000..f0ddc05 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-by_BY.po @@ -0,0 +1,685 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 24948 2007-11-18 16:37:44Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2009-06-07 02:23+0100\n" +"Last-Translator: Arne Brachhold\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp\\wp-content\\plugins\\sitemap_beta\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +msgid "Comment Count" +msgstr "КолькаÑць каментароў" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "ВыкарыÑтае колькаÑць каментароў да артыкула Ð´Ð»Ñ Ð²Ñ‹Ð»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð¿Ñ€Ñ‹ÑрытÑту" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +msgid "Comment Average" +msgstr "СÑÑ€ÑднÑÑ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць каментароў" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "ВыкарыÑтае ÑÑÑ€ÑднÑÑ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць каментароў Ð´Ð»Ñ Ð²Ñ‹Ð»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð¿Ñ€Ñ‹ÑрытÑту" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +msgid "Popularity Contest" +msgstr "ПапулÑрнаÑць дыÑкуÑÑ–Ñ–" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "ВыкарыÑтайце актываваны Убудова папулÑрнаÑці дыÑкуÑій ад Alex King. Гл. Ðалады Ñ– Ð¡Ð°Ð¼Ñ‹Ñ Ð¿Ð°Ð¿ÑƒÐ»ÑÑ€Ð½Ñ‹Ñ Ð·Ð°Ð¿Ñ–ÑÑ‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap Generator" +msgstr "Генератар XML-карты Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap" +msgstr "XML-карта Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Премного дзÑкую за ахвÑраванні. Ð’Ñ‹ дапамагаеце мне Ñž продалжении падтрымкі Ñ– раÑпрацоўкі гÑтай убудовы Ñ– іншага вольнага ПÐ!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Hide this notice" +msgstr "Схаваць гÑтую заўвагу" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "ДзÑкую Ð’Ð°Ñ Ð·Ð° выкарыÑтанне гÑтай убудовы! Ð’Ñ‹ ÑžÑталÑвалі Ñго звыш меÑÑца назад. Калі ён працуе Ñ– Ð’Ñ‹ Ð·Ð´Ð°Ð²Ð¾Ð»ÐµÐ½Ñ‹Ñ Ñго вынікамі, вышліце мне хоць бы $1? ÐхвÑраванні дапамогуць мне Ñž падтрымцы Ñ– раÑпрацоўцы гÑтага бÑÑплатнага ПÐ! Ð’Ñдома, без праблем!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +msgid "No thanks, please don't bug me anymore!" +msgstr "Ðе, дзÑкуй. Прашу мÑне больш не турбаваць!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +msgid "XML Sitemap Generator for WordPress" +msgstr "Генератар XML-карты Ñайта Ð´Ð»Ñ WordPress" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +msgid "Configuration updated" +msgstr "ÐšÐ°Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ‹Ñ Ð°Ð±Ð½Ð¾ÑžÐ»ÐµÐ½Ð°Ñ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +msgid "Error while saving options" +msgstr "Памылка пры захаванні параметраў" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +msgid "Pages saved" +msgstr "Старонкі захаваныÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +msgid "Error while saving pages" +msgstr "Памылка пры захаванні Ñтаронак" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#, php-format +msgid "Robots.txt file saved" +msgstr "Файл Robots.txt захаваны" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 +msgid "Error while saving Robots.txt file" +msgstr "Памылка пры захаванні файла Robots.txt" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +msgid "The default configuration was restored." +msgstr "ÐšÐ°Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ‹Ñ Ð¿Ð° змаўчанні адноўленаÑ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +msgid "open" +msgstr "адкрыць" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +msgid "close" +msgstr "зачыніць" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +msgid "click-down and drag to move this box" +msgstr "ÐаціÑніце кнопку мышы Ñ– цÑгнеце Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¼ÑшчÑÐ½Ð½Ñ Ð³Ñтага блока" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +msgid "click to %toggle% this box" +msgstr "ÐаціÑніце Ð´Ð»Ñ %toggle% на гÑÑ‚Ñ‹ блок" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +msgid "use the arrow keys to move this box" +msgstr "выкарыÑтайце ÑÑ‚Ñ€Ñлкі Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¼ÑшчÑÐ½Ð½Ñ Ð³Ñтага блока" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +msgid ", or press the enter key to %toggle% it" +msgstr ", або націÑніце копку ўвод (enter) Ð´Ð»Ñ %toggle% Ñго" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +msgid "About this Plugin:" +msgstr "Ðб гÑта ўбудове:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +msgid "Plugin Homepage" +msgstr "ХатнÑÑ Ñтаронка ўбудовы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +msgid "Notify List" +msgstr "Ð¡Ð¿Ñ–Ñ Ð½Ð°Ð¿Ð°Ð¼Ñ–Ð½ÐºÑƒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +msgid "Support Forum" +msgstr "Форум Ñ‚Ñхнічнай падтрымкі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +msgid "Donate with PayPal" +msgstr "ÐхвÑраваць праз PayPal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +msgid "My Amazon Wish List" +msgstr "Мой ÑÐ¿Ñ–Ñ Ð¿Ð°Ð¶Ð°Ð´Ð°Ð½Ð½ÑÑž на Amazon" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_name" +msgstr "Перавёў СÑргей Рывкин" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_url" +msgstr "http://ryvkin.ru" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +msgid "Sitemap Resources:" +msgstr "РÑÑурÑÑ‹ карыт Ñайта:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +msgid "Webmaster Tools" +msgstr "Прылады вÑб-майÑтра" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Blog" +msgstr "Дзённік вÑб-майÑтра" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +msgid "Site Explorer" +msgstr "ПраглÑд Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +msgid "Search Blog" +msgstr "Шукаць у дзённіку" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +msgid "Sitemaps Protocol" +msgstr "Пратакол выкарыÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ°Ñ€Ñ‚Ñ‹ Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +msgid "Official Sitemaps FAQ" +msgstr "Ðфіцыйны ЧÐВО па картах Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +msgid "My Sitemaps FAQ" +msgstr "Мой ЧÐВО па картах Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +msgid "Recent Donations:" +msgstr "ÐÐ¿Ð¾ÑˆÐ½Ñ–Ñ Ð°Ñ…Ð²Ñраванні:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +msgid "List of the donors" +msgstr "Ð¡Ð¿Ñ–Ñ ÑпонÑараў" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +msgid "Hide this list" +msgstr "Схаваць гÑÑ‚Ñ‹ ÑпіÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +msgid "Thanks for your support!" +msgstr "ДзÑкуй за Вашу падтрымку!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +msgid "Status" +msgstr "Статут" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Карта Ñайта ÑÑˆÑ‡Ñ Ð½Ðµ пабудаванаÑ. ÐаціÑніце тут Ð´Ð»Ñ ÑтварÑÐ½Ð½Ñ Ñе ўпершыню." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +msgid "Your sitemap was last built on %date%." +msgstr "Ваша карта Ñайта апошні раз была пабудаванаÑ: %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreПачытаць ÑшчÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Ваша карта Ñайта (ÑціÑнутаÑ) апошні раз была пабудаванаÑ: %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreПачытаць ÑшчÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +msgid "Google was successfully notified about changes." +msgstr "Google быў паÑпÑхова паінфармаваны аб зменах." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "%time% Ñекунд занÑло інфармаванне Google; магчыма, Ð’Ð°Ñ Ð²Ð°Ñ€Ñ‚Ð° адключыць гÑтую функцыю, каб знізіць Ñ‡Ð°Ñ Ð¿Ð°Ð±ÑƒÐ´Ð¾Ð²Ñ‹ карты." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Пры інфармаванні Google адбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°. ПаглÑдзець вынік" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO быў паÑпÑхова паінфармаваны аб зменах." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "%time% Ñекунд занÑло інфармаванне YAHOO; магчыма, Ð’Ð°Ñ Ð²Ð°Ñ€Ñ‚Ð° адключыць гÑтую функцыю, каб знізіць Ñ‡Ð°Ñ Ð¿Ð°Ð±ÑƒÐ´Ð¾Ð²Ñ‹ карты." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Пры інфармаванні YAHOO адбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°. ПаглÑдзець вынік" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com быў паÑпÑхова паінфармаваны аб зменах." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "%time% Ñекунд занÑло інфармаванне Ask.com; магчыма, Ð’Ð°Ñ Ð²Ð°Ñ€Ñ‚Ð° адключыць гÑтую функцыю, каб знізіць Ñ‡Ð°Ñ Ð¿Ð°Ð±ÑƒÐ´Ð¾Ð²Ñ‹ карты." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Пры інфармаванні Ask.com адбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°. ПаглÑдзець вынік" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "ПрацÑÑ Ð¿Ð°Ð±ÑƒÐ´Ð¾Ð²Ñ‹ занÑÑž прыкладна %time% Ñекунд Ñ– выкарыÑтаў %memory% MB памÑці." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +msgid "The building process took about %time% seconds to complete." +msgstr "ПрацÑÑ Ð¿Ð°Ð±ÑƒÐ´Ð¾Ð²Ñ‹ занÑÑž прыкладна %time% Ñекунд." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Утрыманне Вашай карты Ñайта не змÑнÑлаÑÑ Ð·Ð° апошні чаÑ, таму файлы не запіÑваліÑÑ Ñ– Ð¿Ð¾ÑˆÑƒÐºÐ°Ð²Ñ‹Ñ ÑÑ–ÑÑ‚Ñмы не інфармаваліÑÑ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Ðпошні запуÑк не быў завершаны! Магчыма, Ð’Ñ‹ перавыÑілі ліміты памÑці або чаÑу выкананнÑ. Пачытаць ÑшчÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Ðпошні раз Ñкрыпт выкарыÑтаў %memused%MB памÑці, ліміт памÑці Вашага Ñервера Ñкладае %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "Ðпошні раз Ñкрыпт працаваў %timeused% Ñекунд, абмежаванне чаÑу на Вашым Ñерверы Ñкладае %timelimit% Ñекунд." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Скрыпт ÑпыніўÑÑ ÐºÐ°Ð»Ñ Ð°Ñ€Ñ‚Ñ‹ÐºÑƒÐ»Ð° нумар %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Калі Ð’Ñ‹ нешта памÑнÑлі на Вашым Ñервре або Ñž дзённіку, Вам неабходна зноўку пабудаваць карту Ñайта уручную." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Калі Ð’Ñ‹ ÑапхнуліÑÑ Ð· ÑкіÑ-небудзь праблемамі Ñž працÑÑе пабудовы, Ð’Ñ‹ можаце ÑкарыÑтацца функцыÑй адладкі Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð´Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð°Ð¹ інфармацыі." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +msgid "Basic Options" +msgstr "Ð‘Ð°Ð·Ð°Ð²Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +msgid "Sitemap files:" +msgstr "Файлы карты Ñайта:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Learn more" +msgstr "Пачытаць ÑшчÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +msgid "Write a normal XML file (your filename)" +msgstr "ЗапіÑаць звычайны XML файл (Ваша Ñ–Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "ЗапіÑаць запакаваны XML файл (Ваша Ñ–Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +msgid "Building mode:" +msgstr "РÑжым пабудовы карты:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Пабудуйце зноўку карту Ñайта, калі Ð’Ñ‹ змÑнілі ўтрыманне Вашага дзённіка" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +msgid "Enable manual sitemap building via GET Request" +msgstr "Дазволіць ручную пабудову карты Ñайта з дапамогай запыту GET" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "ГÑта дазволіць Вам абнавіць карту Ñайта, калі знешнÑÑ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð° будзе піÑаць у базу WordPress? не выкарыÑтаючы WordPress API. ВыкарыÑтайце наÑтупны URL Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ñ†ÑÑу: %1 ПаглÑдзіце пратакол (гл. вышÑй) Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²ÐµÑ€ÐºÑ–, ці Ð¿Ð°Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° Ñайта." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +msgid "Update notification:" +msgstr "Ðбнавіць апавÑшчÑнне:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify Google about updates of your Blog" +msgstr "ÐпавÑÑціць Google аб зменах у Вашым дзённіку" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "РÑгіÑÑ‚Ñ€Ð°Ñ†Ñ‹Ñ Ð½Ðµ патрабуецца, але Ð’Ñ‹ можаце далучыцца да Прыладам вÑб-майÑтра Google Ð´Ð»Ñ Ð¿Ñ€Ð°Ð³Ð»Ñду ÑтатыÑтыкі пошукавых робатаў." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +msgid "Notify Ask.com about updates of your Blog" +msgstr "ÐпавÑÑціць Asc.com аб зменах у Вашым дзённіку" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +msgid "No registration required." +msgstr "РÑгіÑÑ‚Ñ€Ð°Ñ†Ñ‹Ñ Ð½Ðµ патрабуецца." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +msgid "Notify YAHOO about updates of your Blog" +msgstr "ÐпавÑÑціць YAHOO аб зменах у Вашым дзённіку" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +msgid "Your Application ID:" +msgstr "Ваш ідÑнтыфікатар Ð¿Ñ€Ñ‹ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ (Application ID):" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "У Ð’Ð°Ñ Ð½Ñма такога ключа?? Запытаеце тут! %s2" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "ЗмÑніць або Ñтварыць файл %s у дзённіку, Ñкі ўтрымоўвае інфармацыю аб размÑшчÑнні карты Ñайта." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +msgid "File permissions: " +msgstr "Дазволы на доÑтуп да файлаў: " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt адчынены на запіÑ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +msgid "Error, robots.txt is not writable." +msgstr "Памылка, robots.txt не адчынены на запіÑ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt не Ñ–Ñнуе, але каталог адчынены на запіÑ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Памылка, robots.txt не Ñ–Ñнуе, Ñ– каталог не адчынены на запіÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Advanced options:" +msgstr "ÐŸÐ°ÑˆÑ‹Ñ€Ð°Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Limit the number of posts in the sitemap:" +msgstr "Ðбмежаваць колькаÑць артыкулаў у карце Ñайта:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Newer posts will be included first" +msgstr "ÐÐ°Ð²ÐµÐ¹ÑˆÑ‹Ñ Ð°Ñ€Ñ‚Ñ‹ÐºÑƒÐ»Ñ‹ будуць ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ Ð¿ÐµÑ€ÑˆÑ‹Ð¼Ñ–" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "Try to increase the memory limit to:" +msgstr "ПаÑпрабаваць павÑлічыць ліміт памÑці да:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "e.g. \"4M\", \"16M\"" +msgstr "напрыклад, \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "Try to increase the execution time limit to:" +msgstr "ПаÑпрабаваць павÑлічыць абмежаванне чаÑу Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð´Ð°:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "у Ñекундах, напрыклад, \"60\" або \"0\" Ð´Ð»Ñ Ð½ÐµÐ°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½Ð°Ð³Ð° чаÑу" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Include a XSLT stylesheet:" +msgstr "Уключыць табліцу ÑтылÑÑž XSLT:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Use Default" +msgstr "ВыкарыÑтаць значÑнне па змаўчанні" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Full or relative URL to your .xsl file" +msgstr "Поўны або адноÑны URL да Вашага файла .xsl" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Дазволіць Ñтандартны Ñ€Ñжым MySQL. ВыкарыÑтаць толькі Ñž выпадку памылак MySQL. (Патрабуе нашмат больш памÑці!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Будаваць карту Ñайта Ñž фонавым працÑÑе (Вам не Ñ‚Ñ€Ñба чакаць захаванні артыкула)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "Exclude the following posts or pages:" +msgstr "Выключыць наÑÑ‚ÑƒÐ¿Ð½Ñ‹Ñ Ð°Ñ€Ñ‚Ñ‹ÐºÑƒÐ»Ñ‹ або Ñтаронкі:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "List of IDs, separated by comma" +msgstr "Ð¡Ð¿Ñ–Ñ Ñ–Ð´Ñнтыфікатараў (ID), падзеленых коÑкамі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +msgid "Additional pages" +msgstr "Ð”Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ñтаронкі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Тут Ð’Ñ‹ можаце паказаць файлы або URL, ÑÐºÑ–Ñ Ð¿Ð°Ð²Ñ–Ð½Ð½Ñ‹ быць ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ñ‹Ñ Ñž карту Ñайта, але не Ð¿Ñ€Ñ‹Ð½Ð°Ð»ÐµÐ¶Ð½Ñ‹Ñ Ð’Ð°ÑˆÐ°Ð¼Ñƒ дзённіку/WordPress.
    Ðапрыклад,калі Ваш дамен www.foo.com, а Ваш дзённік размешчаны Ñž www.foo.com/blog, Вам можа ÑпатрÑбіцца дадаць хатнюю Ñтаронку з www.foo.com" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +msgid "Note" +msgstr "Заўвага" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Калі Ваш дзённік размешчаны Ñž падкаталогу, Ñ– Ð’Ñ‹ жадаеце дадаць Ñтаронкі, ÑÐºÑ–Ñ Ð·Ð½Ð°Ñ…Ð¾Ð´Ð·Ñцца ВЫШЭЙ у Ñтруктуры каталогаў, Вам ÐЕÐБХОДÐРзмÑÑціць карту Ñайта Ñž каранёвы каталог (Гл. Ñекцыю "РазмÑшчÑнне файла з картай Ñайта" на гÑтай Ñтаронцы)!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +msgid "URL to the page" +msgstr "URL Ñтаронкі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "УвÑдзіце URL гÑтай Ñтаронкі. Прыклады: http://www.foo.com/index.html або www.foo.com/home " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +msgid "Priority" +msgstr "ПрыÑрытÑÑ‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Вылучыце прыÑрытÑÑ‚ гÑтай Ñтаронкі адноÑна іншых Ñтаронак. Ðапрыклад, Ваша Ð³Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка можа мець больш выÑокі прыÑрытÑÑ‚, чым Ñтаронка з інфармацыÑй аб Ñайце." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +msgid "Last Changed" +msgstr "Ðпошні раз змÑнÑлаÑÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "УвÑдзіце дату апошнÑй змены Ñž фармаце YYYY-MM-DD (2005-12-31, напрыклад) (не абавÑзкова)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +msgid "Change Frequency" +msgstr "ЧаÑтата змен" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +msgid "#" +msgstr "â„–" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +msgid "No pages defined." +msgstr "ÐÑма Ñтаронак." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +msgid "Add new page" +msgstr "Дадаць новую Ñтаронку" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +msgid "Post Priority" +msgstr "ПрыÑрытÑÑ‚ артыкула" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Вылучыце, Ñк будзе вылічацца прыÑрытÑÑ‚ кожнага артыкула:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "Do not use automatic priority calculation" +msgstr "Ðе выкарыÑтаць аўтаматычнае вылічÑнне прыÑрытÑту" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "УÑе артыкулы будуць мець аднолькавы прыÑрытÑÑ‚, Ñкі вызначаны Ñž "ПрыÑрытÑтах"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +msgid "Location of your sitemap file" +msgstr "РазмÑшчÑнне Вашага файла з картай Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +msgid "Automatic detection" +msgstr "Ðўтаматычнае азначÑнне" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +msgid "Filename of the sitemap file" +msgstr "Ð†Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° з картай Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +msgid "Detected Path" +msgstr "Ð’Ñ‹Ñўлены шлÑÑ…" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +msgid "Detected URL" +msgstr "Ð’Ñ‹Ñўлены URL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +msgid "Custom location" +msgstr "КарыÑтацкае размÑшчÑнне" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ÐбÑалютны або адноÑны шлÑÑ… да файла з картай Ñайта, уключаючы Ñ–Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +msgid "Example" +msgstr "Прыклад" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +msgid "Complete URL to the sitemap file, including name." +msgstr "Запоўніце URL да файла з картай Ñайта, уключаючы Ñ–Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +msgid "Sitemap Content" +msgstr "Утрыманне карты Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +msgid "Include homepage" +msgstr "Уключыць хатнюю Ñтаронку" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +msgid "Include posts" +msgstr "Уключыць артыкулы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +msgid "Include static pages" +msgstr "Уключыць ÑÑ‚Ð°Ñ‚Ñ‹Ñ‡Ð½Ñ‹Ñ Ñтаронкі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +msgid "Include categories" +msgstr "Уключыць катÑгорыі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +msgid "Include archives" +msgstr "Уключыць архівы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +msgid "Include tag pages" +msgstr "Уключыць Ñтаронкі пазанак" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +msgid "Include author pages" +msgstr "Уключыць Ñтаронкі аўтараў" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +msgid "Change frequencies" +msgstr "ЗмÑніць чаÑтоты" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Звернеце ўвагу, што значÑнне гÑтай пазнакі лічыцца Ñ€ÑкамендацыÑй Ñ– не з'ÑўлÑецца камандай. Ðават калі Ð¿Ð¾ÑˆÑƒÐºÐ°Ð²Ñ‹Ñ Ñ€Ð¾Ð±Ð°Ñ‚Ñ‹ бÑруць гÑтую інфармацыю да ўвагі Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð½ÑÑ†Ñ†Ñ Ñ€Ð°ÑˆÑннÑÑž, Ñны могуць аглÑдаць Ñтаронкі, Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ \"раз у гадзіну\" радзей, чым запытана, Ñ– Ñны могуць аглÑдаць Ñтаронкі, Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ñк \"раз у год\" гушчару, чым запытана. ТакÑама бывае, што Ð¿Ð¾ÑˆÑƒÐºÐ°Ð²Ñ‹Ñ Ñ€Ð¾Ð±Ð°Ñ‚Ñ‹ аглÑдаюць Ñтаронкі, Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹Ñ Ñк \"ніколі\", адзначаючы не Ð¿Ñ€Ð°Ð´ÑƒÐ³Ð»ÐµÐ´Ð¶Ð°Ð½Ñ‹Ñ Ð·Ð¼ÐµÐ½Ñ‹ на гÑÑ‚Ñ‹Ñ… Ñтаронках." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +msgid "Homepage" +msgstr "Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +msgid "Posts" +msgstr "Ðртыкулы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +msgid "Static pages" +msgstr "Ð¡Ñ‚Ð°Ñ‚Ñ‹Ñ‡Ð½Ñ‹Ñ Ñтаронкі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +msgid "Categories" +msgstr "КатÑгорыі" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "БÑгучы архіў за гÑÑ‚Ñ‹ меÑÑц (Павінен быць тым жа, што Ñ– Ð“Ð°Ð»Ð¾ÑžÐ½Ð°Ñ Ñтаронка)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Ð¡Ñ‚Ð°Ñ€Ñ‹Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñ‹ (ЗмÑнÑюцца толькі Ñž выпадку, калі Ð’Ñ‹ Ñ€Ñдагуеце ÑÑ‚Ð°Ñ€Ñ‹Ñ Ð°Ñ€Ñ‚Ñ‹ÐºÑƒÐ»Ñ‹)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +msgid "Tag pages" +msgstr "Старонкі пазанак" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +msgid "Author pages" +msgstr "Старонкі аўтараў" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +msgid "Priorities" +msgstr "ПрыÑрытÑÑ‚Ñ‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +msgid "Posts (If auto calculation is disabled)" +msgstr "Ðртыкулы (Калі аўтаматычнае вылічÑнне забароненае)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Мінімальны прыÑрытÑÑ‚ артыкула (Ðават калі аўтаматычнае вылічÑнне дазволена)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +msgid "Archives" +msgstr "Ðрхівы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +msgid "Update options" +msgstr "Ðбнавіць параметры" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +msgid "Reset options" +msgstr "Ð’Ñрнуць Ð·Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ñ Ð·Ð½Ð°Ñ‡Ñнні" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.mo new file mode 100644 index 0000000..a53aaea Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.po new file mode 100644 index 0000000..5636729 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-cs_CZ.po @@ -0,0 +1,604 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2007-11-21 20:50+0100\n" +"Last-Translator: Peter Kahoun \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +msgid "Comment Count" +msgstr "PoÄet komentářů" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "K vypoÄítání priority se využívá poÄet komentářů" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +msgid "Comment Average" +msgstr "PrůmÄ›rný poÄet komentářů" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "K vypoÄítání priority se využívá průmÄ›rného poÄtu komentářů" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +msgid "Popularity Contest" +msgstr "Soutěž popularity" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Využívá se pluginu Soutěž popularity (Popularity contest) od Alexe Kinga. Viz Nastavení a NejpopulárnÄ›jší příspÄ›vky" + +msgid "XML-Sitemap Generator" +msgstr "Generátor XML-Sitemapy" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "DÄ›kuji vám mockrát za vaÅ¡e příspÄ›vky. Pomáháte tím pokraÄovat v podpoÅ™e a vývoji tohoto pluginu a dalšího nekomerÄního softwaru!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Hide this notice" +msgstr "Skrýt toto oznámení" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Díky za používání tohoto pluginu! Už je to více než mÄ›síc, co jste ho naistalovali. Pokud funguje k vaší spokojenosti, není hoden alespoň toho jednoho dolaru? Peněžní příspÄ›vky mi pomáhají pokraÄovat v podpoÅ™e a vývoji tohoto nekomerÄního softwaru! OvÅ¡em, žádný problém!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +msgid "No thanks, please don't bug me anymore!" +msgstr "Ne, díky, už mÄ› prosím neotravuj!" + +msgid "XML Sitemap Generator for WordPress" +msgstr "Generátor XML Sitemap" + +msgid "Configuration updated" +msgstr "Nastavení aktualizováno" + +msgid "Error while saving options" +msgstr "PÅ™i ukládání nastavení nastala chyba" + +msgid "Pages saved" +msgstr "Stránka uložena" + +msgid "Error while saving pages" +msgstr "PÅ™i ukládání stránek nastala chyba" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#, php-format +msgid "Robots.txt file saved" +msgstr "Soubor robots.txt uložen" + +msgid "Error while saving Robots.txt file" +msgstr "PÅ™i ukládání souboru robots.txt nastala chyba" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +msgid "The default configuration was restored." +msgstr "Výchozí nastavení bylo obnoveno." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +msgid "open" +msgstr "otevřít" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +msgid "close" +msgstr "zavřít" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +msgid "click-down and drag to move this box" +msgstr "Podržte tlaÄítko myÅ¡i a táhnÄ›te tento box dolů" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +msgid "click to %toggle% this box" +msgstr "kliknÄ›te k pÅ™epnutí viditelnosti tohoto boxu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +msgid "use the arrow keys to move this box" +msgstr "k pÅ™esunutí tohoto boxu použijte Å¡ipky na klávesnici" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +msgid ", or press the enter key to %toggle% it" +msgstr ", anebo stisknÄ›te Enter k pÅ™epnutí viditelnosti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +msgid "About this Plugin:" +msgstr "O tomto pluginu:" + +msgid "Plugin Homepage" +msgstr "Domovská stránka pluginu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +msgid "Notify List" +msgstr "Oznamovatel novinek" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +msgid "Support Forum" +msgstr "Podpora (fórum)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +msgid "Donate with PayPal" +msgstr "PÅ™ispÄ›jte pÅ™es PayPal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +msgid "My Amazon Wish List" +msgstr "Můj WishList na Amazonu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_name" +msgstr "Peter \"Kahi\" Kahoun" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_url" +msgstr "http://kahi.cz/wordpress" + +msgid "Sitemap Resources:" +msgstr "Zdroje:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +msgid "Site Explorer" +msgstr "Site Explorer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +msgid "Search Blog" +msgstr "Search Blog" + +msgid "Sitemaps Protocol" +msgstr "Sitemaps protokol" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +msgid "Official Sitemaps FAQ" +msgstr "Oficiální Sitemaps FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +msgid "My Sitemaps FAQ" +msgstr "Mé Sitemaps FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +msgid "Recent Donations:" +msgstr "Poslední příspÄ›vky:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +msgid "List of the donors" +msgstr "Seznam dárců" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +msgid "Hide this list" +msgstr "Skrýt seznam" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +msgid "Thanks for your support!" +msgstr "Díky za vaÅ¡i podporu!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +msgid "Status" +msgstr "Stav" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Sitemapa jeÅ¡tÄ› nebyla vytvoÅ™ena. KliknÄ›te sem pro první vytvoÅ™ení." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +msgid "Your sitemap was last built on %date%." +msgstr "VaÅ¡e sitemapa byla naposledy aktualizována %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreDozvÄ›dÄ›t se víc" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "VaÅ¡e zazipovaná sitemapa byla naposledy aktualizována %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreDozvÄ›dÄ›t se víc" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +msgid "Google was successfully notified about changes." +msgstr "Google byl úspěšnÄ› upozornÄ›n na zmÄ›ny." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Oznámení Googlu zabralo %time% sekund, možná budete chtít deaktivovat tuto funkci pro snížení potÅ™ebného Äasu k vytváření sitemapy." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Vyskytl se problém pÅ™i oznamování zmÄ›n Googlu. Prohlédnout výsledek" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoo byl úspěšnÄ› upozornÄ›n na zmÄ›ny." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Oznámení Yahoo zabralo %time% sekund, možná budete chtít deaktivovat tuto funkci pro snížení potÅ™ebného Äasu k vytváření sitemapy." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Vyskytl se problém pÅ™i oznamování zmÄ›n Yahoo. Prohlédnout výsledek" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com byl úspěšnÄ› upozornÄ›n na zmÄ›ny." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Oznámení Ask.com zabralo %time% sekund, možná budete chtít deaktivovat tuto funkci pro snížení potÅ™ebného Äasu k vytváření sitemapy." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Vyskytl se problém pÅ™i oznamování zmÄ›n Ask.com. Prohlédnout výsledek" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Proces vytváření zabral kolem %time% seconds a spotÅ™eboval %memory% MB pamÄ›ti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +msgid "The building process took about %time% seconds to complete." +msgstr "Proces vytváření zabral kolem %time% sekund." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Obsah vaší sitemapy se nezmÄ›nil od posledního vytváření, takže soubory nebyly aktualizovány a vyhledávaÄe nebyly upozorňovány na zmÄ›ny." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Poslední bÄ›h neprobÄ›hl do konce! Možná byste mohli navýšit limit pamÄ›ti Äi maximálního Äasu pro PHP skripty. DozvÄ›dÄ›t se víc" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Poslední známé využití pamÄ›ti bylo %memused%MB, limit vaÅ¡eho serveru je %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "Poslední známý Äas trvání skriptu byl %timeused% sekund, limit vaÅ¡eho serveru je %timelimit% sekund." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Skript byl zastaven kolem příspÄ›vku Äíslo %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Pokud bylo nÄ›co na vaÅ¡em serveru nebo blogu zmÄ›nÄ›no, mÄ›li byste aktualizovat sitemapu ruÄnÄ›." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Pokud zaregistrujete jakékoli problémy pÅ™i procesu aktualizace sitemapy, k získání více informací můžete použít ladící funkci." + +msgid "Basic Options" +msgstr "Základní možnosti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +msgid "Sitemap files:" +msgstr "Soubory sitemapy:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Learn more" +msgstr "DozvÄ›dÄ›t se víc" + +msgid "Write a normal XML file (your filename)" +msgstr "Ukládat normální XML soubor (jméno vaÅ¡eho souboru)" + +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Ukládat komprimovaný (gzip) soubor (jméno vaÅ¡eho souboru + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +msgid "Building mode:" +msgstr "Mód aktualizace:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Aktualizovat sitemapu pÅ™i každé zmÄ›nÄ› v obsahu vaÅ¡eho blogu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +msgid "Enable manual sitemap building via GET Request" +msgstr "Povolit ruÄní aktualizaci sitemapy pomocí GET dotazu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Toto umožní aktualizovat vaÅ¡i sitemapu, pokud do databáze Wordpressu zapíše data nÄ›jaký externí nástroj bez využití WordPress API. Použijte tuto URL ke spuÅ¡tÄ›ní procesu: %1. Prosím zkontrolujte log-soubor výše, jestli byla sitemapa aktualizována úspěšnÄ›." + +msgid "Update notification:" +msgstr "Oznámení o aktualizaci:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify Google about updates of your Blog" +msgstr "Oznamovat Googlu zmÄ›ny na vaÅ¡em blogu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Registrace není vyžadována, ale může se pÅ™ipojit k Google Webmaster Tools kvůli kontrole statistik návÅ¡tÄ›v vyhledávaÄe." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Oznamovat Ask.com zmÄ›ny na vaÅ¡em blogu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +msgid "No registration required." +msgstr "Registrace není vyžadována." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Oznamovat Yahoo zmÄ›ny na vaÅ¡em blogu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3094 +#, php-format +msgid "No registration required, but you can sign up for the YAHOO Site Explorer to view the crawling progress." +msgstr "Registrace není vyžadována, ale můžete se pÅ™ihlásit do YAHOO Site Explorer kvůli prohlížení postupu návÅ¡tÄ›v vyhledávaÄe." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "Upravit nebo vytvoÅ™it %s soubor v koÅ™eni blogu, který obsahuje adresu sitemapy." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +msgid "File permissions: " +msgstr "OprávnÄ›ní k souboru:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +msgid "OK, robots.txt is writable." +msgstr "V pořádku, je možné zapisovat do robots.txt." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +msgid "Error, robots.txt is not writable." +msgstr "Chyba, není možné zapisovat do robots.txt." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "V pořádku, robots.txt neexistuje, ale zápis do adresáře je povolen." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Chyba, robots.txt neexistuje a zápis do adresáře není povolen." + +msgid "Advanced options:" +msgstr "PokroÄilé možnosti:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Limit the number of posts in the sitemap:" +msgstr "Omezit poÄet příspÄ›vků v sitemapÄ›:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Newer posts will be included first" +msgstr "NovÄ›jší příspÄ›vky budou zahrnuty nejdříve" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "Try to increase the memory limit to:" +msgstr "Zkuste navýšit limit pamÄ›ti na:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "e.g. \"4M\", \"16M\"" +msgstr "napÅ™: \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "Try to increase the execution time limit to:" +msgstr "Zkuste navýšit maximální Äas provádÄ›ní skriptu na:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "v sekundách, napÅ™. \"60\" anebo \"0\" pro nekoneÄno" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Include a XSLT stylesheet:" +msgstr "PÅ™ipojit XSLT stylopis:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Use Default" +msgstr "Použít výchozí" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Full or relative URL to your .xsl file" +msgstr "Adresa k vaÅ¡emu .xsl souboru" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Povolit standardní mód MySQL. Toto používejte jedinÄ› když se zobrazují MySQL chyby - vyžaduje to mnohem víc pamÄ›ti!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Vytvářet sitemapu v pozadí (Tzn. nebudete muset Äekat pÅ™i ukládání příspÄ›vku)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "Exclude the following posts or pages:" +msgstr "VyÅ™adit tyto příspÄ›vky Äi stránky:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "List of IDs, separated by comma" +msgstr "Seznam ID oddÄ›lených Äárkou" + +msgid "Additional pages" +msgstr "Stránky navíc" + +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Zde můžete nastavit URL adresy, které mají být zahrnuty do sitemapy, ale nenáleží k blogu/WordPressu.
    Například, pokud vaÅ¡e doména je www.nÄ›co.cz a váš blog se nachází na www.nÄ›co.cz/blog, možná byste chtÄ›li zahrnout i www.nÄ›co.cz" + +msgid "Note" +msgstr "Poznámka" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Je-li váš blog v podsložce a chcete-li pÅ™idat stránky, které NEJSOU v adresáři blogu (anebo v podadresářích), MUSÃTE umístit vaÅ¡i sitemapu do koÅ™enové složky (Viz sekce "UmístÄ›ní vaší sitemapy" na této stránce)!" + +msgid "URL to the page" +msgstr "URL stránky" + +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Vložte URL (adresu) stránky. Příklady: http://www.nÄ›co.cz/index.html nebo www.nÄ›co.cz/home " + +msgid "Priority" +msgstr "Priorita" + +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Vyberte prioritu stránky relativnÄ› k ostatním stránkám. Například, vaÅ¡e titulní stránka by mÄ›la mít vyšší prioritu než stránka O mnÄ›." + +msgid "Last Changed" +msgstr "Naposledy zmÄ›nÄ›no" + +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Vložte datum poslední zmÄ›ny ve formátu RRRR-MM-DD (například 2007-08-12) (nepovinné)." + +msgid "Change Frequency" +msgstr "Nastavit frekvenci" + +msgid "#" +msgstr "#" + +msgid "No pages defined." +msgstr "Nejsou definovány žádné stránky." + +msgid "Add new page" +msgstr "PÅ™idat novou stránku" + +msgid "Post Priority" +msgstr "Priorita příspÄ›vků" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Vyberte prosím způsob, kterým má být priorita každého z příspÄ›vků vypoÄítávána." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "Do not use automatic priority calculation" +msgstr "Nepoužívat automatický výpoÄet priority" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "VÅ¡echny příspÄ›vky budou mít stejnou prioritu, která je definována v "Prioritách"" + +msgid "Location of your sitemap file" +msgstr "UmístÄ›ní vaší sitemapy" + +msgid "Automatic detection" +msgstr "Automatická detekce" + +msgid "Filename of the sitemap file" +msgstr "Jméno souboru sitemapy" + +msgid "Detected Path" +msgstr "ZjiÅ¡tÄ›ná cesta" + +msgid "Detected URL" +msgstr "ZjiÅ¡tÄ›ná URL" + +msgid "Custom location" +msgstr "Vlastní umístÄ›ní" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absolutní nebo relativní cesta k sitemapÄ›, vÄetnÄ› jména souboru." + +msgid "Example" +msgstr "Příklad" + +msgid "Complete URL to the sitemap file, including name." +msgstr "Celá URL k sitemapÄ›, vÄetnÄ› jména." + +msgid "Sitemap Content" +msgstr "Obsah sitemapy" + +msgid "Include homepage" +msgstr "Zahrnout titulní stránku" + +msgid "Include posts" +msgstr "Zahrnout příspÄ›vky" + +msgid "Include static pages" +msgstr "Zahrnout statické stránky" + +msgid "Include categories" +msgstr "Zahrnout rubriky" + +msgid "Include archives" +msgstr "Zahrnout archivy" + +msgid "Include tag pages" +msgstr "Zahrnout stránky Å¡títků" + +msgid "Include author pages" +msgstr "Zahrnout stránky autorů" + +msgid "Change frequencies" +msgstr "Nastavení frekvence" + +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Berte prosím na vÄ›domí, že hodnota tohoto Å¡títku je jen zvažována \"jako náznak\", není to příkaz. PÅ™estože vyhledávací roboti berou pÅ™i rozhodování tuto hodnotu na vÄ›domí, pÅ™esto mohou navÅ¡tÄ›vovat stránky oznaÄené jako \"každou hodinu\" ménÄ› Äasto, a také mohou stránky oznaÄené jako \"roÄnÄ›\" navÅ¡tÄ›vovat ÄastÄ›ji. Rovněž je pravdÄ›podobné, že roboti budou naÅ¡tÄ›vovat i stránky oznaÄené jako \"nikdy\" aby se mohli vypořádat s neÄekanými zmÄ›nami na tÄ›chto stránkách." + +msgid "Homepage" +msgstr "Titulní stránka" + +msgid "Posts" +msgstr "PříspÄ›vky" + +msgid "Static pages" +msgstr "Statické stránky" + +msgid "Categories" +msgstr "Rubriky" + +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Stávající archiv tohoto mÄ›síce (MÄ›l by být stejný jako vaÅ¡e titulní stránka)" + +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Starší archivy (MÄ›ní se jen když upravíte starý příspÄ›vek)" + +msgid "Tag pages" +msgstr "Stránky Å¡títků" + +msgid "Author pages" +msgstr "Stránky autorů" + +msgid "Priorities" +msgstr "Priority" + +msgid "Posts (If auto calculation is disabled)" +msgstr "PříspÄ›vky (Když je automatický výpoÄet vypnutý)" + +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minimální priorita příspÄ›vku (I když je povolený automatický výpoÄet)" + +msgid "Archives" +msgstr "Archivy" + +msgid "Update options" +msgstr "Aktualizovat možnosti" + +msgid "Reset options" +msgstr "Vynulovat možnosti" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.mo new file mode 100644 index 0000000..855c975 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.po new file mode 100644 index 0000000..7afe243 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-da_DK.po @@ -0,0 +1,594 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2007-11-25 01:16+0100\n" +"Last-Translator: Arne Brachhold \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +msgid "Comment Count" +msgstr "Antal kommentar" + +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Brug antallet af kommentarer til indlægget til at udregne prioriteten" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +msgid "Comment Average" +msgstr "Kommentar gennemsnit" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "Bruger det gennemsnitlige antal kommentarer til at udregne prioriteten" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +msgid "Popularity Contest" +msgstr "Popularitets konkurrence" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Bruger det aktiveret Popularity Contest Plugin fra Alex King. Se indstillinger og Mest populære indlæg" + +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Mange tak for din donation. Du hjælper mig med at fortsætte support og udvikling af dette plugin og andet gratis software!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Hide this notice" +msgstr "Skjul denne meddelelse" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Tak fordi du bruger dette plugin! Du installerede dette plugin over en mÃ¥nede siden. Hvis det virker og du er tilfreds, er det sÃ¥ ikke bare en enkel dollar værd? Donationer hjælper mig med at fortsætte support og udvikling af dette gratis stykke software! Selvfølgelig, ingen problem!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 +msgid "No thanks, please don't bug me anymore!" +msgstr "Nej tak, lad venligst være med at forstyrre mig igen!" + +msgid "XML Sitemap Generator for WordPress" +msgstr "XML-Sitemap Generator til Wordpress" + +msgid "Configuration updated" +msgstr "Indstillingerne blev opdateret" + +msgid "Error while saving options" +msgstr "Der forekom en fejl da indstilingerne skulle gemmes" + +msgid "Pages saved" +msgstr "Sider gemt" + +msgid "Error while saving pages" +msgstr "Der opstod en fejl da siderne skulle gemmes" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#, php-format +msgid "Robots.txt file saved" +msgstr "Robots.txt er gemt" + +msgid "Error while saving Robots.txt file" +msgstr "Der forekom en fejl da Robots.txt filen skulle gemmes" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +msgid "The default configuration was restored." +msgstr "Standard indstillingerne er gendannet." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +msgid "open" +msgstr "Ã…ben" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +msgid "close" +msgstr "Luk" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +msgid "click-down and drag to move this box" +msgstr "tryk og træk for at flytte denne boks" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +msgid "click to %toggle% this box" +msgstr "klik for at %toggle% denne boks" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +msgid "use the arrow keys to move this box" +msgstr "brug piltasterne for at flytte denne boks" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +msgid ", or press the enter key to %toggle% it" +msgstr ", eller tryk pÃ¥ enter tasten for at %toggle% den" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +msgid "About this Plugin:" +msgstr "Om dette plugin:" + +msgid "Plugin Homepage" +msgstr "Plugin hjemmeside" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +msgid "Notify List" +msgstr "Informer liste" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +msgid "Support Forum" +msgstr "Support forum" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +msgid "Donate with PayPal" +msgstr "Donere via PayPal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +msgid "My Amazon Wish List" +msgstr "Min Amazon ønskeliste" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_name" +msgstr "translator_name" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_url" +msgstr "translator_url" + +msgid "Sitemap Resources:" +msgstr "Sitemap ressourcer:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +msgid "Site Explorer" +msgstr "Site Explorer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +msgid "Search Blog" +msgstr "Search Blog" + +msgid "Sitemaps Protocol" +msgstr "Sitemap protocol" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +msgid "Official Sitemaps FAQ" +msgstr "Officiel Sitemap FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +msgid "My Sitemaps FAQ" +msgstr "Dette Sitemaps FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +msgid "Recent Donations:" +msgstr "Seneste donationer:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +msgid "List of the donors" +msgstr "Liste over donationsgivere" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +msgid "Hide this list" +msgstr "Skjul denne liste" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +msgid "Thanks for your support!" +msgstr "Tak for din support!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +msgid "Status" +msgstr "Status" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Dette Sitemap er ikke bygget endnu. Klik her for at bygge det for første gang." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +msgid "Your sitemap was last built on %date%." +msgstr "Dit sitemap blev sidst bygget den %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreLær mere" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Dit sitemap (gzipped) blev bygget sidst den %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreLær mere" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +msgid "Google was successfully notified about changes." +msgstr "Google blev informeret korrekt omkring ændringerne." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Det tog %time% sekunder at informerer google, mÃ¥ske skulle du deaktivere denn funktion for at reducerer bygge tiden." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2970 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Der opstod et problem under kommunikationen med Google. Se resultat" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoo blev informeret korrekt omkring ændringerne." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Det tog %time% sekunder at informerer Yahoo, mÃ¥ske skulle du deaktivere denn funktion for at reducerer bygge tiden." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2982 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Der opstod et problem under kommunikationen med YAHOO. Se resultat" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com blev informeret korrekt omkring ændringerne." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Det tog %time% sekunder at informerer Ask.com, mÃ¥ske skulle du deaktivere denn funktion for at reducerer bygge tiden." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2994 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Der opstod et problem under kommunikationen med Ask.com. Se resultat" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Bygge processen tog omkring %time% sekunder for at fuldføre og bruge %memory% MB hukommelse." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +msgid "The building process took about %time% seconds to complete." +msgstr "Bygge processen tog omkring %time% sekunder for at fuldføre." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Indholdet af dit sitemap har ikke ændret sig siden sidst. Derfor blev der ikke ikke skrevet til nogle filer og ikke kommunikeret med nogle søgemaskiner." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Sidste forsøg blev ikke færdigt! MÃ¥ske skal du hæve hukommelses begrænsningen for PHP scripts. Lær mere" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Det sidst kendte forbrug af hukommelse af dette script var %memused%MB, begrænsningen pÃ¥ din server er %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "Den sidste kendte eksekverings tid for dette script var %timeused% sekunder, begrænsningen pÃ¥ din server er %timelimit% sekunder." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Scriptet stoppede omkring indlæg nummer %lastpost% (+/-100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Hvis du ændre noget pÃ¥ din server eller blog, burde du opdatere dit sitemap manuelt." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Hvis du støder pÃ¥ problemer under bygge processen, kan du bruge debug funktionen for at fÃ¥ flere informationer." + +msgid "Basic Options" +msgstr "Basis indstillinger" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +msgid "Sitemap files:" +msgstr "Sitemap filer:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Learn more" +msgstr "Lær mere" + +msgid "Write a normal XML file (your filename)" +msgstr "Lav en normal XML fil (Dit filnavn)" + +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Lav en gzipped fil (Dit filnavn + .gz" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +msgid "Building mode:" +msgstr "Bygge metode:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Opdater dit sitemap hvis der sker ændringer i indholdet pÃ¥ din blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +msgid "Enable manual sitemap building via GET Request" +msgstr "Aktiverer manuel bygning af sitemap via GET Request" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Dette vil tillade dig at opdatere dit sitemap hvis et eksternt værktøj skrev til Wordpress databasen uden at bruge Wordpress API'et. Brug følgende URL til at starte processen: %1 Tjek venligst logfilen ovenover, for at se om dit sitemap blev bygget korrekt." + +msgid "Update notification:" +msgstr "Opdaterings meddelelser:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify Google about updates of your Blog" +msgstr "Informer Google om opdateringer pÃ¥ din blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Registrering er ikke pÃ¥krævet, men du kan tilmelde dig Google Webmaster Tools for at tjekke \"crawling\" statistikker." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Informer Ask.com om opdateringer pÃ¥ din blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +msgid "No registration required." +msgstr "Registrering ikke pÃ¥krævet." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Informer Yahoo om opdateringer pÃ¥ din blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3094 +#, php-format +msgid "No registration required, but you can sign up for the YAHOO Site Explorer to view the crawling progress." +msgstr "Registrering er ikke pÃ¥krævet, men du kan tilmelde dig YAHOO Site Explorer for at tjekke \"crawling\" statistikker." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "Ændre eller opret %s i blog \"root\", som indeholder sitemap placeringen." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +msgid "File permissions: " +msgstr "Fil rettigheder: " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt er skrivbar." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +msgid "Error, robots.txt is not writable." +msgstr "Fejl, robots.txt er ikke skrivbar." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt eksisterer ikke, men mappen er skrivbar." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Fejl, robots.txt eksisterer ikke og mappen er ikke skrivbar." + +msgid "Advanced options:" +msgstr "Avanceret indstillinger" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Limit the number of posts in the sitemap:" +msgstr "Begræns antallet af indlæg i dit sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Newer posts will be included first" +msgstr "Nyeste indlæg vil blive inkluderet først" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "Try to increase the memory limit to:" +msgstr "Prøv at forøg hukommelses begrænsningen til:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "e.g. \"4M\", \"16M\"" +msgstr "f.eks. \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "Try to increase the execution time limit to:" +msgstr "Prøv at forøg eksekverings tids begrænsningen til:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "i sekunder, f.eks. \"60\" eller \"0\" for ubegrænset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Include a XSLT stylesheet:" +msgstr "Inkluderer et XSLT stylesheet:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Use Default" +msgstr "Brug standard" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Full or relative URL to your .xsl file" +msgstr "Fuld eller relativ URL til din .xsl fil" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Aktiver MySQL standard mode. Brug kun dette hvis du fÃ¥r MySQL fejl. (Bruger meget mere hukommelse!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Byg dit sitemap i en baggrundsprocess (Du behøver ikke at vente nÃ¥r du gemmer et indlæg)" + +msgid "Additional pages" +msgstr "Ekstra sider" + +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Her kan du specificere filer og URLs, der skal inkluderes i dit sitemap, som ikke tilhører din side.
    F.eks. hvis dit domæne er www.minside.dk og din side er placeret i en under mappe (www.minside.dk/blog), så vil du måske inkludere www.minside.dk" + +msgid "Note" +msgstr "Note" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Hvis din blog er i en undermappe og du vil tilføje sider, som IKKE er i blog mappen eller en mappe under, SKAL du placerer din sitemap fil i "root mappen" (Se "Stien til din sitemap fil" sektionen på denne side)." + +msgid "URL to the page" +msgstr "URL til siden" + +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Indtast URL'en til siden. F.eks.: http://www.minside.dk/index.html ellerhttp://www.minside.dk/forside" + +msgid "Priority" +msgstr "Prioritet" + +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Vælg sidens prioritet i forhold til de andre sider." + +msgid "Last Changed" +msgstr "Ændret sidst" + +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Indtast datoen for den sidste ændret, som YYYY-MM-DD (F.eks. 2005-12-31) (Valgfri)" + +msgid "Change Frequency" +msgstr "Skift frekvens" + +msgid "#" +msgstr "#" + +msgid "No pages defined." +msgstr "Ingen sider defineret" + +msgid "Add new page" +msgstr "Tilføj ny side" + +msgid "Post Priority" +msgstr "Indlægs prioritet" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Vælg venligst hvordan prioriteten af hver enkelt indlæg skal udregnes:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "Do not use automatic priority calculation" +msgstr "Brug ikke automatisk prioritets udregning" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Alle indlæg vil have den samme prioritet som er defineret under "Prioritet"" + +msgid "Location of your sitemap file" +msgstr "Stien til din sitemap fil" + +msgid "Automatic detection" +msgstr "Find Automatisk " + +msgid "Filename of the sitemap file" +msgstr "Sitemap filnavn" + +msgid "Detected Path" +msgstr "Fundet sti" + +msgid "Detected URL" +msgstr "Fundet URL" + +msgid "Custom location" +msgstr "Brugerdefineret sti" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absolut eller relativ sti til sitemap filen, inklusiv filnavn." + +msgid "Example" +msgstr "Eksempel" + +msgid "Complete URL to the sitemap file, including name." +msgstr "Fuldstændig URL til sitemap filen, inklusiv filnavn" + +msgid "Sitemap Content" +msgstr "Sitemap indhold" + +msgid "Include homepage" +msgstr "Inkluder hjemmeside" + +msgid "Include posts" +msgstr "Inkluder indlæg" + +msgid "Include static pages" +msgstr "Inkluder statiske sider" + +msgid "Include categories" +msgstr "Inkluder kategorier" + +msgid "Include archives" +msgstr "Inkluder arkiver" + +msgid "Include tag pages" +msgstr "Inkluder tag sider" + +msgid "Include author pages" +msgstr "Inkluder forfatter sider" + +msgid "Change frequencies" +msgstr "Ændre frekvenser" + +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Bemærk venligst at værdien af dette \"tag\" anses for at være et hint og ikke en kommando. Selvom søgemaskine crawlers tager denne information i betrægtning, kan de crawle sider markeret \"pr. time\" færre gange og sider markeret \"årlig\" oftere. Det er også sandsynligt at crawlere periodisk vil crawle sider makeret \"aldrig\", så de kan håndtere uforventet ændringer på disse sider." + +msgid "Homepage" +msgstr "Hjemmeside" + +msgid "Posts" +msgstr "Indlæg" + +msgid "Static pages" +msgstr "Statiske sider" + +msgid "Categories" +msgstr "Kategorier" + +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Arkivet for denne måned (Burde være den som på din hjemmeside)" + +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Ældre arkiver (Ændre sig kun hvis du redigere et gammelt indlæg" + +msgid "Tag pages" +msgstr "Tag sider" + +msgid "Author pages" +msgstr "Forfatter sider" + +msgid "Priorities" +msgstr "Prioriteter" + +msgid "Posts (If auto calculation is disabled)" +msgstr "Indlæg (Hvis auto-udregn er deaktiveret)" + +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minimum indlægs prioritet (Selvom auto-udregn er aktiveret)" + +msgid "Archives" +msgstr "Arkiver" + +msgid "Update options" +msgstr "Opdater indstillinger" + +msgid "Reset options" +msgstr "Nulstil indstillinger" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.mo new file mode 100644 index 0000000..c01f8d5 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.po new file mode 100644 index 0000000..c379fce --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-de_DE.po @@ -0,0 +1,1091 @@ +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-04-12 13:10+0100\n" +"PO-Revision-Date: 2014-04-12 13:14+0100\n" +"Last-Translator: Arne Brachhold \n" +"Language-Team: Arne Brachhold \n" +"Language: de_DE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.6.4\n" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:536 +msgid "Comment Count" +msgstr "Anzahl der Kommentare" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:546 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "" +"Verwendet die Anzahl der Kommentare um die Priorität der Beiträge zu " +"berechnen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:599 +msgid "Comment Average" +msgstr "Durchschnittliche Anzahl der Kommentare" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:609 +msgid "Uses the average comment count to calculate the priority" +msgstr "" +"Verwendet die durchschnittliche Anzahl der Kommentare um die Priorität der " +"Beiträge zu berechnen." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:770 +msgid "Always" +msgstr "Immer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:771 +msgid "Hourly" +msgstr "Stündlich" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:772 +msgid "Daily" +msgstr "Täglich" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:773 +msgid "Weekly" +msgstr "Wöchentlich" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:774 +msgid "Monthly" +msgstr "Monatlich" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:775 +msgid "Yearly" +msgstr "Jährlich" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:776 +msgid "Never" +msgstr "Nie" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:261 +msgid "Settings" +msgstr "Einstellungen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:262 +msgid "FAQ" +msgstr "FAQ" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:263 +msgid "Support" +msgstr "Support" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:264 +msgid "Donate" +msgstr "Spenden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:198 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:585 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Generator für WordPress" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +msgid "Configuration updated" +msgstr "Die Konfiguration wurde gespeichert." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:375 +msgid "Error while saving options" +msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +msgid "Pages saved" +msgstr "Ihre Seiten wurden gespeichert." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:379 +msgid "Error while saving pages" +msgstr "Beim Speichern der Seiten ist ein Fehler aufgetreten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:387 +msgid "The default configuration was restored." +msgstr "Die Standard Konfiguration wurde wieder hergestellt." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:397 +msgid "" +"The old files could NOT be deleted. Please use an FTP program and delete " +"them by yourself." +msgstr "" +"Die alten Sitemap-Dateien konnten NICHT gelöscht werden. Bitte verwenden Sie " +"ein FTP-Programm um diese zu löschen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:399 +msgid "The old files were successfully deleted." +msgstr "Die alten Dateien wurden erfolgreich gelöscht." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:439 +msgid "" +"Thank you very much for your donation. You help me to continue support and " +"development of this plugin and other free software!" +msgstr "" +"Vielen Dank für Deine Spende! Du hilfst mir damit diese kostenlose Software " +"zu unterstützen und weiterzuentwickeln!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:439 +msgid "Hide this notice" +msgstr "Diesen Hinweis verstecken" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:445 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin over a month ago. " +"If it works and you are satisfied with the results, isn't it worth at least " +"a few dollar? Donations help me to continue support and " +"development of this free software! Sure, no problem!" +msgstr "" +"Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als " +"einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis " +"zufrieden bist, ist es nicht mindestens ein paar Euro Wert? Spenden helfen mir diese kostenlose Software zu unterstützen " +"und weiterzuentwickeln! Klar, kein Problem! " + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:445 +msgid "Sure, but I already did!" +msgstr "Klar, hab ich schon gemacht!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:445 +msgid "No thanks, please don't bug me anymore!" +msgstr "Nein danke, bitte nicht mehr nerven! " + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:452 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin some time ago. If " +"it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "" +"Danke dass Du dieses Plugin benutzt! Du hast dieses Plugin vor mehr als " +"einem Monat installiert. Wenn es funktioniert und zu mit dem Ergebnis " +"zufrieden bist, würde ich mich freuen wenn Du es bewerten " +"und weiterempfehlen würdest." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:452 +msgid "Don't show this anymore" +msgstr "Diesen Hinweis nicht mehr zeigen" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:601 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here." +msgstr "" +"Es gibt eine Version von %1$s. Version %3$s hier " +"downloaden." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:603 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here automatic upgrade unavailable for this plugin." +msgstr "" +"Es gibt eine Version von %1$s. Version %3$s hier " +"downloaden Automatisches Upgraden ist für dieses Plugin nicht " +"möglich." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:605 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here or upgrade automatically." +msgstr "" +"Es gibt eine Version von %1$s. Version %3$s hier " +"downloaden oder automatisch upgraden." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:613 +#, php-format +msgid "" +"Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "" +"Dein Blog blockiert zur Zeit Suchmaschienen! Unter den Eistellungen zur Privatsphäre lässt sich dies ändern." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:629 +msgid "About this Plugin:" +msgstr "Über dieses Plugin:" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:630 +msgid "Plugin Homepage" +msgstr "Plugin Startseite" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:631 +msgid "Suggest a Feature" +msgstr "Funktion vorschlagen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:632 +msgid "Notify List" +msgstr "E-Mail bei Update" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:633 +msgid "Support Forum" +msgstr "Hilfe Forum" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:634 +msgid "Report a Bug" +msgstr "Fehler berichten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:636 +msgid "Donate with PayPal" +msgstr "Mit PayPal spenden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:637 +msgid "My Amazon Wish List" +msgstr "Amazon Wunschliste" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:638 +msgid "translator_name" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:638 +msgid "translator_url" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:641 +msgid "Sitemap Resources:" +msgstr "Sitemap Informationen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:642 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:647 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:643 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:645 +msgid "Search Blog" +msgstr "Search Blog" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:648 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:650 +msgid "Sitemaps Protocol" +msgstr "Sitemaps Protokoll" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:651 +msgid "Official Sitemaps FAQ" +msgstr "Offizielle Sitemaps FAQ" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:652 +msgid "My Sitemaps FAQ" +msgstr "Meine Sitemaps FAQ" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:655 +msgid "Recent Donations:" +msgstr "Aktuelle Spenden:" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:658 +msgid "List of the donors" +msgstr "Liste der Spender" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:660 +msgid "Hide this list" +msgstr "Liste ausblenden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:663 +msgid "Thanks for your support!" +msgstr "Danke für Deine Unterstützung!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:683 +msgid "Search engines haven't been notified yet" +msgstr "Die Suchmaschinen wurden bisher noch nicht benachrichtigt." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:687 +msgid "Result of the last ping, started on %date%." +msgstr "Ergebnisse des letzten Pins, gestartet am %date%." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:702 +#, php-format +msgid "" +"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " +"Please delete them as no static files are used anymore or try " +"to delete them automatically." +msgstr "" +"Im Blog-Verzeichnis gibt es immer noch eine sitemap.xml oder sitemap.xml.gz " +"Datei. Bitte löschen Sie diese, da sie nicht mehr benötigt werden oder versuchen Sie diese automatisch zu löschen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:705 +#, php-format +msgid "The URL to your sitemap index file is: %s." +msgstr "Die URL zu Ihrer Sitemap Index-Datei lautet: %s." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:708 +msgid "" +"Search engines haven't been notified yet. Write a post to let them know " +"about your sitemap." +msgstr "" +"Die Suchmaschinen wurden bisher noch nicht benachrichtigt. Schreiben Sie " +"einen Beitrag um diese über Ihre Sitemap zu informieren." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:717 +#, php-format +msgid "%s was successfully notified about changes." +msgstr "" +"%s wurde erfolgreich über die Änderungen benachrichtigt." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:720 +msgid "" +"It took %time% seconds to notify %name%, maybe you want to disable this " +"feature to reduce the building time." +msgstr "" +"Es hat %time% Sekunden gedauert %name% zu benachrichtigen. Vielleicht " +"möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-Generierung " +"zu verkürzen?" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:723 +msgid "" +"There was a problem while notifying %name%. View result" +msgstr "" +"Leider gab es beim Versuch %name% zu benachrichtigen ein Problem. Ergebnis anzeigen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:727 +#, php-format +msgid "" +"If you encounter any problems with your sitemap you can use the debug function to get more information." +msgstr "" +"Falls es beim Generieren der Sitemap Probleme gibt, kannst Du die Debug Funktion verwenden um mehr über die auftretenden Fehler zu " +"erfahren." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:737 +msgid "Webserver Configuration" +msgstr "Webserver Konfiguration" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:738 +msgid "" +"Since you are using Nginx as your web-server, please configure the following " +"rewrite rules in case you get 404 Not Found errors for your sitemap:" +msgstr "" +"Da ein NginX Web-Server verwendet wird, müssen eventuell die folgenden " +"Rewrite-Rules konfiguriert werden falls die Sitemap nicht gefunden werden " +"kann:" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:754 +msgid "Basic Options" +msgstr "Allgemeine Einstellungen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:756 +msgid "Update notification:" +msgstr "Benachrichtigung über Änderungen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:756 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:779 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:802 +msgid "Learn more" +msgstr "Mehr Infos" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:760 +msgid "Notify Google about updates of your Blog" +msgstr "Google über Änderungen benachrichtigen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:761 +#, php-format +msgid "" +"No registration required, but you can join the Google " +"Webmaster Tools to check crawling statistics." +msgstr "" +"Keine Registrierung erforderlich, aber Du kannst Dich bei den Google Webmaster Tools anmelden um Indexierungs-Statistiken zu Deiner " +"Website zu sehen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:765 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Bing (vormals MSN Live Search) über Änderungen benachrichtigen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:766 +#, php-format +msgid "" +"No registration required, but you can join the Bing Webmaster " +"Tools to check crawling statistics." +msgstr "" +"Keine Registrierung erforderlich, aber Du kannst Dich bei den Bing Webmaster Tools anmelden um Indexierungs-Statistiken zu Deiner " +"Website zu sehen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:771 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Die Sitemap zur virtuellen robots hinzufügen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:775 +msgid "" +"The virtual robots.txt generated by WordPress is used. A real robots.txt " +"file must NOT exist in the blog directory!" +msgstr "" +"Es wird die von WordPress generierte virtuelle robots.txt verwendet. Es dark " +"keine robots.txt Datei im Blog Verzeichnis liegen!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:779 +msgid "Advanced options:" +msgstr "Erweiterte Einstellungen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:782 +msgid "Try to increase the memory limit to:" +msgstr "Versuchen das Speicherlimit zu erhöhen auf: " + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:782 +msgid "e.g. \"4M\", \"16M\"" +msgstr "z.B. \"4M\", \"16M\"" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:785 +msgid "Try to increase the execution time limit to:" +msgstr "Veruschen das Zeit Limit zu erhöhen auf: " + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:785 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "in Sekunden, z.B. \"60\" oder \"0\" for unendlich" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:789 +msgid "Include a XSLT stylesheet:" +msgstr "Ein XSLT Stylesheet einbinden:" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Full or relative URL to your .xsl file" +msgstr "Kompletter oder relativer Pfad zur .xsl Datei" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Use default" +msgstr "Standard verwenden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:795 +msgid "Include sitemap in HTML format" +msgstr "Einbindung der Sitemap im HTML Format" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:795 +msgid "(The required PHP XSL Module is not installed)" +msgstr "(Das benötigte PHP XSL Modul ist nicht installiert)" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Allow anonymous statistics (no personal information)" +msgstr "" +"Erlaube anonyme Statistiken (es werden keine persönlichen Information " +"gesendet)." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:810 +msgid "Additional pages" +msgstr "Zusätzliche Seiten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:813 +msgid "" +"Here you can specify files or URLs which should be included in the sitemap, " +"but do not belong to your Blog/WordPress.
    For example, if your domain " +"is www.foo.com and your blog is located on www.foo.com/blog you might want " +"to include your homepage at www.foo.com" +msgstr "" +"Hier können Sie zusätzliche Seiten in Form von URLs angeben, welche mit in " +"Ihre Sitemap aufgenommen werden sollen aber nicht von WordPress erzeugt " +"werden. Falls Sie z.B. Ihre Homepage auf www.beispiel.com haben, Ihr Blog " +"aber unter www.beispiel.com/blog zu erreichen ist, tragen Sie Ihre Homepage " +"als http://www.beispiel.com hier ein." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:815 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1019 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1030 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1039 +msgid "Note" +msgstr "Hinweis" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:816 +msgid "" +"If your blog is in a subdirectory and you want to add pages which are NOT in " +"the blog directory or beneath, you MUST place your sitemap file in the root " +"directory (Look at the "Location of your sitemap file" section on " +"this page)!" +msgstr "" +"Falls Dein Blog in einem Unterverzeichnis liegt und Du Seiten hinzufügen " +"möchtest die nicht in deinem Blogverzeichnis oder einem tieferen Verzeichnis " +"liegen, musst Du seine Seite ins Stammverzeichnis legen. (Schau Dir den " +"Punkt "Pfad zur Sitemap Datei" weiter unten an)!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:818 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:857 +msgid "URL to the page" +msgstr "URL zur Seite" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:819 +msgid "" +"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." +"foo.com/home " +msgstr "" +"Geben Sie hier die URL Ihrer Seite an. Beispiele: www.foo.com oder http://" +"www.nic.de/index.html" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:821 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:858 +msgid "Priority" +msgstr "Priorität" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:822 +msgid "" +"Choose the priority of the page relative to the other pages. For example, " +"your homepage might have a higher priority than your imprint." +msgstr "" +"Wählen Sie hier die Priorität der Seite relativ zu den anderen Seiten. Ihre " +"Homepage könnte z.B. eine höhere Priorität besitzen als das Impressum. " + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:824 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:860 +msgid "Last Changed" +msgstr "Letzte Änderung" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:825 +msgid "" +"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " +"(optional)." +msgstr "" +"Tragen Sie hier das Datum der letzten Änderung im Format JJJJ-MM-TT (z.B. " +"2005-12-31). Dieses Feld ist optional und muss nicht ausgefüllt werden." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:859 +msgid "Change Frequency" +msgstr "Änderungshäufigkeit" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:861 +msgid "#" +msgstr "#" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:866 +msgid "No pages defined." +msgstr "Bisher keine Seiten eingetragen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:871 +msgid "Add new page" +msgstr "Neue Seite hinzufügen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:877 +msgid "Post Priority" +msgstr "Priorität der Beiträge" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Please select how the priority of each post should be calculated:" +msgstr "" +"Bitte wähle wie die Priorität der einzelnen Beiträge berechnet werden soll." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:881 +msgid "Do not use automatic priority calculation" +msgstr "Keine automatische Prioritätsberechung verwenden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:881 +msgid "" +"All posts will have the same priority which is defined in "" +"Priorities"" +msgstr "" +"Alle Beiträge haben die selbe Priorität wlche unter "Prioriäten" " +"eingestellt ist." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:892 +msgid "Sitemap Content" +msgstr "Inhalt der Sitemap" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:893 +msgid "WordPress standard content" +msgstr "Standard WordPress Inhalte" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:898 +msgid "Include homepage" +msgstr "Startseite" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Include posts" +msgstr "Beiträge" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:910 +msgid "Include static pages" +msgstr "Statische Seiten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:916 +msgid "Include categories" +msgstr "Kategorien" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:922 +msgid "Include archives" +msgstr "Archive" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:928 +msgid "Include author pages" +msgstr "Autoren Seiten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:935 +msgid "Include tag pages" +msgstr "Tag Seiten " + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:949 +msgid "Custom taxonomies" +msgstr "Eigene Taxonomies" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:960 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "Taxonomy Seiten für %s einbinden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:978 +msgid "Custom post types" +msgstr "Eigene Post-Types" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:989 +#, php-format +msgid "Include custom post type %s" +msgstr "Eigene Post-Types Seiten für %s einbinden" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1001 +msgid "Further options" +msgstr "Weitere Optionen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1006 +msgid "Include the last modification time." +msgstr "Letztes Änderungsdatum mit einbeziehen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1008 +msgid "" +"This is highly recommended and helps the search engines to know when your " +"content has changed. This option affects all sitemap entries." +msgstr "" +"Dies ist äußerst empfohel und hilft den Suchmaschienen zu wissen wann Ihr " +"Inhalt geändert wurde. Diese Einstellungen betrifft alle Einträge der " +"Sitemap." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1015 +msgid "Excluded items" +msgstr "Seiten ausschließen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1017 +msgid "Excluded categories" +msgstr "Kategorien ausschließen" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1019 +msgid "Using this feature will increase build time and memory usage!" +msgstr "" +"Die Verwendung dieser Funktion wird die Erstelldauer sowie den " +"Speicherverbrauch erhöhen!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1026 +msgid "Exclude posts" +msgstr "Beiträge ausschließen" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1028 +msgid "Exclude the following posts or pages:" +msgstr "Folgende Beiträge oder Seiten ausschließen:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1028 +msgid "List of IDs, separated by comma" +msgstr "Liste der IDs, getrennt mit Komma" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1030 +msgid "Child posts won't be excluded automatically!" +msgstr "Unterseiten werden nicht automatisch ausgeschlossen!" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1036 +msgid "Change frequencies" +msgstr "Änderungsfrequenz" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1040 +msgid "" +"Please note that the value of this tag is considered a hint and not a " +"command. Even though search engine crawlers consider this information when " +"making decisions, they may crawl pages marked \"hourly\" less frequently " +"than that, and they may crawl pages marked \"yearly\" more frequently than " +"that. It is also likely that crawlers will periodically crawl pages marked " +"\"never\" so that they can handle unexpected changes to those pages." +msgstr "" +"Bitte beachten Sie dass diese Einstellung nur als Tipp und nicht als " +"Kommando gesehen wird. Suchmaschinen könnten diesen Tipp beachten, müssen " +"sich aber nicht daran halten. Sie können Seiten die als stündlich markiert " +"wurden weniger häufig besuchen und Seiten die als niemals markiert wurden " +"trotzdem überprüfen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1046 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1103 +msgid "Homepage" +msgstr "Startseite" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1052 +msgid "Posts" +msgstr "Beiträge" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1058 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Static pages" +msgstr "Statische Seiten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1064 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1127 +msgid "Categories" +msgstr "Kategorien" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1070 +msgid "" +"The current archive of this month (Should be the same like your homepage)" +msgstr "" +"Das Archive des aktuellen Monats (Sollte den gleichen Wert haben wie Ihre " +"Startseite)" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1076 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Archive der vergangenen Monate" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1083 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1140 +msgid "Tag pages" +msgstr "Tag Seiten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1090 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1147 +msgid "Author pages" +msgstr "Autoren Seiten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1098 +msgid "Priorities" +msgstr "Prioritäten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1109 +msgid "Posts (If auto calculation is disabled)" +msgstr "Beiträge (wenn automatische Berechnung deaktiviert wurde)" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1115 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "" +"Minimale Priorität für Beiträge (auch wenn automatische Berechnung aktiviert " +"wurde)" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1133 +msgid "Archives" +msgstr "Archive" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1158 +msgid "Update options" +msgstr "Änderungen speichern" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1159 +msgid "Reset options" +msgstr "Einstellungen zurücksetzten" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:82 +msgid "Your WordPress version is too old for XML Sitemaps." +msgstr "Ihre WordPress-Version ist zu alt für XML-Sitemaps." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:82 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least " +"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " +"insecure. Please upgrade or go to active plugins and " +"deactivate the Google XML Sitemaps plugin to hide this message. You can " +"download an older version of this plugin from the plugin " +"website." +msgstr "" +"Leider benötigt die aktuelle Version des XML-Sitemaps Plugins mindestens " +"WordPress %4$s. Sie verwenden Wordpress %2$s, was veraltet und eventuell " +"unsicher ist. Bitte aktualisieren Sie WordPress oder gehen Sie zu den aktiven Plugins und deaktivieren Sie das Google XML " +"Sitemaps Plugin um diesen Hinweis zu verbergen. Sie können auch eine ältere " +"Version dieses Plugins auf der plugin website " +"herunterladen." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:92 +msgid "Your PHP version is too old for XML Sitemaps." +msgstr "Ihre PHP-Version ist zu alt für XML-Sitemaps." + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:92 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least PHP " +"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " +"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " +"this message. You can download an older version of this plugin from the plugin website." +msgstr "" +"Leider benötigt die aktuelle Version des XML-Sitemaps Plugins mindestens PHP " +"%4$s. Sie verwenden PHP %2$s, was veraltet und eventuell unsicher ist. Bitte " +"aktualisieren Sie PHP oder gehen Sie zu den aktiven " +"Plugins und deaktivieren Sie das Google XML Sitemaps Plugin um diesen " +"Hinweis zu verbergen. Sie können auch eine ältere Version dieses Plugins auf " +"der plugin website herunterladen." + +#~ msgid "Popularity Contest" +#~ msgstr "Popularity Contest" + +#~ msgid "" +#~ "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +#~ msgstr "" +#~ "Verwendet das aktivierte Popularity Contest Plugin von " +#~ "Alex King. Siehe Einstellungen und " +#~ "wichtigste Beiträge" + +#~ msgid "Notify Ask.com about updates of your Blog" +#~ msgstr "Ask.com über Änderungen benachrichtigen" + +#~ msgid "No registration required." +#~ msgstr "Keine Registrierung erforderlich" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#~ msgid "" +#~ "Your sitemap is being refreshed at the moment. Depending on your blog " +#~ "size this might take some time!" +#~ msgstr "" +#~ "Die Sietemap wird im Moment neu erzeugt. Abhängig von der Anzahl Ihrer " +#~ "Beiträge kann dies einige Sekunden dauern. " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#~ msgid "" +#~ "Your sitemap will be refreshed in %s seconds. Depending on your blog size " +#~ "this might take some time!" +#~ msgstr "" +#~ "Die Sietemap wird in %s Sekunden neu erzeugt. Abhängig von der Anzahl " +#~ "Ihrer Beiträge kann dies einige Sekunden dauern." + +#~ msgid "open" +#~ msgstr "öffnen" + +#~ msgid "close" +#~ msgstr "schließen" + +#~ msgid "click-down and drag to move this box" +#~ msgstr "Klicken und ziehen um diese Box zu verschieben" + +#~ msgid "click to %toggle% this box" +#~ msgstr "Klicken um diese box zu %toggle%" + +#~ msgid "use the arrow keys to move this box" +#~ msgstr "Benutze die Pfeiltaste um diese box zu verschieben" + +#~ msgid ", or press the enter key to %toggle% it" +#~ msgstr ", oder drück Enter um sie zu %toggle%" + +#~ msgid "Site Explorer" +#~ msgstr "Site Explorer" + +#~ msgid "The sitemap wasn't generated yet." +#~ msgstr "Die Sitemap wurde bisher noch nicht erzeugt." + +#~ msgid "" +#~ "The sitemap wasn't built yet. Click here to build it " +#~ "the first time." +#~ msgstr "" +#~ "Die Sitemap wurde noch nicht erstellt. Klick hier um " +#~ "sie das erste mal zu erstellen." + +#~ msgid "Your sitemap was last built on %date%." +#~ msgstr "" +#~ "Deine Sitemap wurde zuletzt am %date% " +#~ "erstellt." + +#~ msgid "" +#~ "The last build succeeded, but the file was deleted later or can't be " +#~ "accessed anymore. Did you move your blog to another server or domain?" +#~ msgstr "" +#~ "Die letzte Sitemap wurde erzeugt, jedoch kann sie nicht mehr gelesen " +#~ "werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen Server " +#~ "verschoben?" + +#, fuzzy +#~ msgid "" +#~ "There was a problem writing your sitemap file. Make sure the file exists " +#~ "and is writable. Learn more" +#~ msgstr "" +#~ "Leider gab es ein Problem beim Schreiben der Sitemap. Bitte vergewisser " +#~ "dich dass die Datei exisitert und beschreibbar ist. Mehr infoszipped) was last built on %date%." +#~ msgstr "" +#~ "Deine Sitemap (gezippt) wurde zuletzt am %date% erstellt." + +#~ msgid "" +#~ "The last zipped build succeeded, but the file was deleted later or can't " +#~ "be accessed anymore. Did you move your blog to another server or domain?" +#~ msgstr "" +#~ "Die letzte gezippte Sitemap wurde erzeugt, jedoch kann sie nicht mehr " +#~ "gelesen werden oder wurde gelöscht. Haben Sie das Blog auf einen anderen " +#~ "Server verschoben?" + +#, fuzzy +#~ msgid "" +#~ "There was a problem writing your zipped sitemap file. Make sure the file " +#~ "exists and is writable. Learn more" +#~ msgstr "" +#~ "Leider gab es ein Problem beim Schreiben der gezippten Sitemap. Bitte " +#~ "vergewisser dich dass die Datei exisitert und beschreibbar ist. Mehr infossuccessfully notified about changes." +#~ msgstr "" +#~ "Google wurde erfolgreich über die Änderungen benachrichtigt." + +#~ msgid "" +#~ "It took %time% seconds to notify Google, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Es hat %time% Sekunden gedauert Google zu benachrichtigen. Vielleicht " +#~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-" +#~ "Generierung zu verkürzen?" + +#~ msgid "" +#~ "There was a problem while notifying Google. View result" +#~ msgstr "" +#~ "Leider gab es beim Versuch Google zu benachrichtigen ein Problem. Ergebnis anzeigen" + +#~ msgid "YAHOO was successfully notified about changes." +#~ msgstr "" +#~ "YAHOO wurde erfolgreich über die Änderungen benachrichtigt." + +#~ msgid "" +#~ "It took %time% seconds to notify YAHOO, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Es hat %time% Sekunden gedauert YAHOO zu benachrichtigen. Vielleicht " +#~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-" +#~ "Generierung zu verkürzen?" + +#~ msgid "" +#~ "There was a problem while notifying YAHOO. View result" +#~ msgstr "" +#~ "Leider gab es beim Versuch YAHOO zu benachrichtigen ein Problem. Ergebnis anzeigen" + +#~ msgid "Ask.com was successfully notified about changes." +#~ msgstr "" +#~ "Ask.com wurde erfolgreich über die Änderungen benachrichtigt." + +#~ msgid "" +#~ "It took %time% seconds to notify Ask.com, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Es hat %time% Sekunden gedauert Ask.com zu benachrichtigen. Vielleicht " +#~ "möchtest Du dieses Feature deaktivieren um die Dauer der Sitemap-" +#~ "Generierung zu verkürzen?" + +#~ msgid "" +#~ "There was a problem while notifying Ask.com. View result" +#~ msgstr "" +#~ "Leider gab es beim Versuch Ask.com zu benachrichtigen ein Problem. Ergebnis anzeigen" + +#~ msgid "" +#~ "The building process took about %time% seconds to complete and " +#~ "used %memory% MB of memory." +#~ msgstr "" +#~ "Die Sitemap-Generierung dauerte %time% sekunden und verwendete " +#~ "%memory% MB Speicher." + +#~ msgid "The building process took about %time% seconds to complete." +#~ msgstr "Die Sitemap-Generierung dauerte %time% sekunden." + +#~ msgid "" +#~ "The content of your sitemap didn't change since the last " +#~ "time so the files were not written and no search engine was pinged." +#~ msgstr "" +#~ "Die Inhalte der Sitemap haben sich nicht geändert seit " +#~ "dem letzten mal, daher wurden keine Dateien geschrieben oder " +#~ "Suchmaschinen informiert." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#~ msgid "" +#~ "The building process might still be active! Reload the page in a few " +#~ "seconds and check if something has changed." +#~ msgstr "" +#~ "Das Erstellen der Sitemap dauert eventuell noch. Laden Sie diese Seite in " +#~ "ein paar Sekunden neu und prüfen Sie ob sich der Status geändert hat." + +#~ msgid "" +#~ "The last run didn't finish! Maybe you can raise the memory or time limit " +#~ "for PHP scripts. Learn more" +#~ msgstr "" +#~ "Die letzte Generierung der Sitemap wurde nicht abgeschlossen. Eventuell " +#~ "hilft es das Speicherlimit für PHP Skripte zu erhöhen. Mehr Infos" + +#~ msgid "" +#~ "The last known memory usage of the script was %memused%MB, the limit of " +#~ "your server is %memlimit%." +#~ msgstr "" +#~ "Der zuletzt bekannte Speicherverauch lag bei %memused%MB, das Limit für " +#~ "PHP Skripte ist %memlimit%." + +#~ msgid "" +#~ "The last known execution time of the script was %timeused% seconds, the " +#~ "limit of your server is %timelimit% seconds." +#~ msgstr "" +#~ "Die zuletzt bekannte Ausührungszeit lag bei %timeused% Sekunden, das " +#~ "Limit für PHP Skripe ist %timelimit% Sekunden." + +#~ msgid "The script stopped around post number %lastpost% (+/- 100)" +#~ msgstr "Das Script hat bei dem %lastpost% Beitrag abgebrochen. (+/- 100)" + +#~ msgid "" +#~ "If you changed something on your server or blog, you should rebuild the sitemap manually." +#~ msgstr "" +#~ "Falls Du etwas am Server oder am Blog geändert hast, solltest Du die " +#~ "Sitemap von Hand neu erstellen." + +#~ msgid "Sitemap files:" +#~ msgstr "Sitemap Dateien:" + +#~ msgid "Write a normal XML file (your filename)" +#~ msgstr "Sitemap als XML Datei erzeugen" + +#~ msgid "Write a gzipped file (your filename + .gz)" +#~ msgstr "Gezippte Sitemap erzeugen (Dateiname + .gz)" + +#~ msgid "Building mode:" +#~ msgstr "Erstellungsmodus:" + +#~ msgid "Rebuild sitemap if you change the content of your blog" +#~ msgstr "Sitemap neu generieren wenn Du den Inhalt Deines Blogs änderst" + +#~ msgid "Enable manual sitemap building via GET Request" +#~ msgstr "Manuelles Generieren der Sitemap über GET Anfrage erlauben" + +#, fuzzy +#~ msgid "" +#~ "This will allow you to refresh your sitemap if an external tool wrote " +#~ "into the WordPress database without using the WordPress API. Use the " +#~ "following URL to start the process: %1 Please check " +#~ "the result box above to see if sitemap was successfully built." +#~ msgstr "" +#~ "Dies erlaubt Dir die Sitemao zu aktualisieren falls ein externes Programm " +#~ "in die WordPress Datenbank geschrieben hat ohne die API zu verwenden. " +#~ "Verwende folgende URL um die Generierung zu starten: %1 Bitte überpüf die Logdatei um zu sehen ob die Generirung erfolgreich " +#~ "war." + +#~ msgid "Notify YAHOO about updates of your Blog" +#~ msgstr "YAHOO über Änderungen benachrichtigen" diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.mo new file mode 100644 index 0000000..cbeb47c Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.po new file mode 100644 index 0000000..c556850 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-es_ES.po @@ -0,0 +1,1030 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap-es_ES.po 183255 2009-12-15 22:14:37Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: Google Sitemap Generator 3.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-11-20 22:53+0100\n" +"PO-Revision-Date: 2009-11-23 10:01+0100\n" +"Last-Translator: Omi \n" +"Language-Team: Omi | http://equipajedemano.info/ \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: Spanish\n" +"X-Poedit-Country: Spain\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:525 +msgid "Comment Count" +msgstr "Contador de comentarios" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:537 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Utiliza la cantidad de comentarios en un artículo para calcular su prioridad" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:597 +msgid "Comment Average" +msgstr "Promedio de comentarios" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:609 +msgid "Uses the average comment count to calculate the priority" +msgstr "Utiliza el promedio de comentarios para calcular la prioridad" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:672 +msgid "Popularity Contest" +msgstr "Concurso de popularidad" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:684 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Utilizará el plugin Popularity Contest de Alex King. Revise Configuraciones y Artículos más populares" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1084 +msgid "Always" +msgstr "Siempre" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1085 +msgid "Hourly" +msgstr "Cada hora" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1086 +msgid "Daily" +msgstr "Diariamente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1087 +msgid "Weekly" +msgstr "Semanalmente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1088 +msgid "Monthly" +msgstr "Mensualmente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1089 +msgid "Yearly" +msgstr "Anualmente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1090 +msgid "Never" +msgstr "Nunca" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Muchas gracias por su donación. ¡Su ayuda me permite seguir ofreciendo soporte y desarrollo para este plugin y para otros programas gratuitos!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 +msgid "Hide this notice" +msgstr "Ocultar esta notificación" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "¡Gracias por utilizar este plugin! Ha pasado más de un mes desde que lo instaló. Si funciona bien y está contento con los resultados, ¿no merece la pena donar aunque sea un euro? Las donaciones me ayudan a seguir ofreciendo soporte y desarrollo para este software gratuito Claro, ¡sin problemas!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 +msgid "Sure, but I already did!" +msgstr "Claro, ¡pero ya lo hice!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 +msgid "No thanks, please don't bug me anymore!" +msgstr "No gracias. ¡No me moleste más por favor!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "¡Gracias por utilizar este plugin! Ya ha pasado algún tiempo desde que lo instaló. Si todo funciona correctamente y está satisfecho con su rendimiento, ¿qué tal si vota por el y se lo recomienda a otros? :-)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 +msgid "Don't show this anymore" +msgstr "No mostrar esto más" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:132 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "Su sitemap está siendo actualizado en este momento. Dependiendo del tamaño de su blog esto podría llevar algún tiempo." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:134 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "Su sitemap se actualizará en %s segundos. Dependiendo del tamaño de su blog esto podría llevar algún tiempo." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:163 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:480 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Generator para WordPress" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:323 +msgid "Configuration updated" +msgstr "Configuración actualizada" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:324 +msgid "Error while saving options" +msgstr "Error mientras se guardaban las opciones" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:326 +msgid "Pages saved" +msgstr "Páginas guardadas" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:327 +msgid "Error while saving pages" +msgstr "Error mientras se guardaban las páginas" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:334 +msgid "The default configuration was restored." +msgstr "Se restauró la configuración por defecto." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "Hay una nueva versión disponible de %1$s. Descargue la versión %3$s desde aquí." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "Hay una nueva versión disponible de %1$s. Descargue la versión %3$s desde aquí la actualización automática no está disponible para este plugin." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "Hay una nueva versión disponbile de %1$s. Descargue la versión %3$s desde aquí o actualice automáticamente." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508 +#, php-format +msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "¡Su blog está actualmente bloqueando a los motores de búsqueda! Revise la configuración de privacidad para cambiar esto." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 +msgid "open" +msgstr "abrir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "close" +msgstr "cerrar" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 +msgid "click-down and drag to move this box" +msgstr "pinche y arrastre para mover este cuadro" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 +msgid "click to %toggle% this box" +msgstr "pinche para %toggle% este cuadro" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "use the arrow keys to move this box" +msgstr "utilice las teclas de dirección para mover este cuadro" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551 +msgid ", or press the enter key to %toggle% it" +msgstr ", o pulse la tecla Enter para %toggle%lo" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:580 +msgid "About this Plugin:" +msgstr "Acerca de este plugin:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:581 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:181 +msgid "Plugin Homepage" +msgstr "Web principal del plugin" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:582 +msgid "Suggest a Feature" +msgstr "Solicitar nuevas características" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 +msgid "Notify List" +msgstr "Lista de notificaciones" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584 +msgid "Support Forum" +msgstr "Foro de soporte" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:585 +msgid "Report a Bug" +msgstr "Comunicar un fallo" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Donate with PayPal" +msgstr "Donar usando PayPal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:588 +msgid "My Amazon Wish List" +msgstr "Mi lista de deseos en Amazon" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 +msgid "translator_name" +msgstr "Traducido por: Omi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 +msgid "translator_url" +msgstr "http://equipajedemano.info" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:593 +msgid "Sitemap Resources:" +msgstr "Recursos sobre sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:594 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 +msgid "Webmaster Tools" +msgstr "Herramientas para Webmasters" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 +msgid "Webmaster Blog" +msgstr "El blog del Webmaster" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:597 +msgid "Site Explorer" +msgstr "Explorador de sitios" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 +msgid "Search Blog" +msgstr "Blog del buscador" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 +msgid "Webmaster Center Blog" +msgstr "El blog del Webmaster" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "Sitemaps Protocol" +msgstr "Protocolo sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:604 +msgid "Official Sitemaps FAQ" +msgstr "FAQ oficial de Sitemaps" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605 +msgid "My Sitemaps FAQ" +msgstr "Mi FAQ de Sitemaps" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:608 +msgid "Recent Donations:" +msgstr "Donaciones recientes:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:611 +msgid "List of the donors" +msgstr "Listado de donantes" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613 +msgid "Hide this list" +msgstr "Ocultar esta lista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:616 +msgid "Thanks for your support!" +msgstr "¡Gracias por su colaboración!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:638 +msgid "The sitemap wasn't generated yet." +msgstr "El sitemap todavía no se ha generado." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:641 +msgid "Result of the last build process, started on %date%." +msgstr "Resultados del último proceso de creación (fecha y hora de inicio: %date%)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:650 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "El sitemap todavía no se ha creado. Pinche aquí para crearlo por primera vez" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 +msgid "Your sitemap was last built on %date%." +msgstr "Su sitemap se creó por última vez el %date%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "La última creación se realizó con éxito, pero el archivo ha sido posteriormente borrado o bien no puede accederse a el. ¿Ha movido su blog a otro servidor o dominio?" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:659 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "Hubo un problema creando su archivo sitemap. Asegúrese de que el fichero existe y de que dispone de permisos de escritura. Más información" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:666 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Su sitemap (comprimido) se creó por última vez el %date%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:667 +msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "La última creación comprimida se realizó con éxito, pero el archivo ha sido posteriormente borrado o bien no puede accederse a el. ¿Ha movido su blog a otro servidor o dominio?" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:669 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "Hubo un problema creando su archivo sitemap comprimido. Asegúrese de que el fichero existe y de que dispone de permisos de escritura. Más información" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 +msgid "Google was successfully notified about changes." +msgstr "Google ha sido correctamente notificado sobre los cambios." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:678 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Llevó %time% segundos notificar a Google. Quizás quiera desactivar esta característica para reducir el tiempo de creación." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:681 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Hubo un problema notificando a Google. Ver resultado" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoo ha sido correctamente notificado sobre los cambios." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Llevó %time% segundos notificar a Yahoo. Quizás quiera desactivar esta característica para reducir el tiempo de creación." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:693 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Hubo un problema notificando a Yahoo. Ver resultado" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:699 +msgid "Bing was successfully notified about changes." +msgstr "Bing ha sido correctamente notificado sobre los cambios." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "Llevó %time% segundos notificar a Bing. Quizás quiera desactivar esta característica para reducir el tiempo de creación." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:705 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "Hubo un problema notificando a Bing. Ver resultado" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:711 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com ha sido correctamente notificado sobre los cambios." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Llevó %time% segundos notificar a Ask.com. Quizás quiera desactivar esta característica para reducir el tiempo de creación." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Hubo un problema notificando a Ask.com. Ver resultado" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:725 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "El proceso de creación tardó aproximadamente %time% segundos en completarse y utilizó %memory% MB de memoria." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 +msgid "The building process took about %time% seconds to complete." +msgstr "El proceso de creación tardó aproximadamente %time% segundos en completarse." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:731 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "El contenido de su archivo sitemap no ha cambiado desde la última vez, por lo que no se han creado nuevos ficheros ni se ha notificado a los buscadores." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "¡El proceso de construcción todavía podría estar activo! Recargue la página dentro de unos segundos y compruebe si algo ha cambiado." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "¡La última ejecución no logró terminar! Quizás pueda elevar la memoria o el límite de tiempo para los scripts de PHP. Más información" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "El último uso de memoria por el script fue de %memused%MB; el límite de su servidor es de %memlimit%MB." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "El último tiempo de ejecución por el script fue de %timeused% segundos; el límite de su servidor está en %timelimit% segundos." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "El scripts se detuvo sobre el artículo número %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:755 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Si ha cambiado algo en su servidor o blog debería crear el sitemap manualmente." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Si encuentra algún problema durante el proceso de creación, puede utilizar la función de depuración para obtener más información." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 +msgid "Basic Options" +msgstr "Opciones básicas" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 +msgid "Sitemap files:" +msgstr "Archivos sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 +msgid "Learn more" +msgstr "Más información" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:771 +msgid "Write a normal XML file (your filename)" +msgstr "Escribir un fichero XML normal (nombre_fichero)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Escribir un fichero comprimido con gzip (nombre_fichero+.gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 +msgid "Building mode:" +msgstr "Modo de creación:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Volver a crear el sitemap si ha cambiado el contenido de su blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793 +msgid "Enable manual sitemap building via GET Request" +msgstr "Permitir la creación manual del sitemap mediante peticiones GET" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the result box above to see if sitemap was successfully built." +msgstr "Esto le permitirá actualizar su sitemap si utiliza una herramienta externa, que no usa la API de WordPress, para escribir en la base de datos. Utilice la siguiente URL para iniciar el proceso: %1 Por favor, compruebe el resultado en el cuadro de texto superior para observar si el sitemap se ha creado correctamente." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Update notification:" +msgstr "Notificación de actualización" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "Notify Google about updates of your Blog" +msgstr "Notificar a Google sobre cambios en su blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "No es necesario registrarse, pero puede unirse a las herramientas de Google para webmasters para revisar sus estadísticas." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:810 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Notificar a Bing (anteriormente MSN Live Search) sobre cambios en su blog" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:811 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "No es necesario registrarse, pero puede unirse a las herramientas de Bing para webmasters para revisar sus estadísticas." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:815 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Notificar a Ask.com sobre cambios en su blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "No registration required." +msgstr "No es necesario registrarse." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Notificar a Yahoo sobre cambios en su blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +msgid "Your Application ID:" +msgstr "Su Id de aplicación:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "¿No tiene esa identificación? Puede solicitar una aquí! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Añadir la URL del sitemap al archivo robots.txt virtual" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "Se utiliza el archivo robots.txt virtual generado por WordPress. ¡NO debe existir un fichero real robots.txt dentro del directorio del blog!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 +msgid "Advanced options:" +msgstr "Opciones avanzadas:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 +msgid "Limit the number of posts in the sitemap:" +msgstr "Limitar el número de artículos en el sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 +msgid "Newer posts will be included first" +msgstr "Los artículos más recientes se incluiran primero" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 +msgid "Try to increase the memory limit to:" +msgstr "Tratar de incrementar el límite de memoria a:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 +msgid "e.g. \"4M\", \"16M\"" +msgstr "ej.: \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 +msgid "Try to increase the execution time limit to:" +msgstr "Tratar de incrementar el límite de tiempo de ejecución a:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "en segundos, ej.: \"60\" o \"0\" para ilimitado" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:847 +msgid "Include a XSLT stylesheet:" +msgstr "Incluir una hoja de estilos XSLT" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 +msgid "Full or relative URL to your .xsl file" +msgstr "URL completa o relativa hacia su fichero .xsl" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 +msgid "Use default" +msgstr "Utilizar el predeterminado" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:854 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Activar el modo estándar de MySQL. Sólo deberá utilizarlo si está padeciendo errores de MySQL (¡necesita mucha memoria!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:855 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "Actualice, como mínimo, a WordPress 2.2 para activar el acceso rápido a MySQL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Crear el sitemap en segundo plano (así no tendrá que esperar cuando grabe un artículo)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "Actualice, como mínimo, a WordPress 2.1 para activar la creación en segundo plano" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 +msgid "Additional pages" +msgstr "Páginas adicionales" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:873 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Aquí puede especificar los ficheros o URLs que deben incluirse en el sitemap, pero que no pertenecen a su blog/WordPress.
    Por ejemplo: si su dominio es www.foo.com y su blog está en www.foo.com/blog, quizás quiera incluir su página de inicio de www.foo.com" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1106 +msgid "Note" +msgstr "Nota" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:876 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "¡Si su blog está en un subdirectorio y quiere añadir páginas que NO están en el directorio de su blog o por debajo del mismo, DEBE colocar su fichero sitemap en el directorio raíz (Mire la sección \"Localización de su fichero sitemap\" en esta página)!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:878 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:917 +msgid "URL to the page" +msgstr "URL de la página" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "URL de la página. Ejemplos: http://www.foo.com/index.html o www.foo.com/home" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918 +msgid "Priority" +msgstr "Prioridad" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Escoja la prioridad relativa de la página comparándola con la de las otras páginas. Por ejemplo, su página de inicio debe tener una mayor prioridad que sus datos personales." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:920 +msgid "Last Changed" +msgstr "Últimos cambios" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:885 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Introduzca la fecha del último cambio como AAAA-MM-DD (por ejemplo: 2005-12-31) (opcional)." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:919 +msgid "Change Frequency" +msgstr "Frecuencia de cambios" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:921 +msgid "#" +msgstr "#" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:926 +msgid "No pages defined." +msgstr "Ninguna página definida" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:931 +msgid "Add new page" +msgstr "Añadir una nueva página" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 +msgid "Post Priority" +msgstr "Prioridad del artículo" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Por favor, seleccione como se calculará la prioridad de cada artículo:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 +msgid "Do not use automatic priority calculation" +msgstr "No utilizar el cálculo de prioridad automático" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Todos los artículos tendrán la misma prioridad según se haya definido en "prioridades"" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:951 +msgid "Location of your sitemap file" +msgstr "Localización de su fichero sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 +msgid "Automatic detection" +msgstr "Detección automática" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:958 +msgid "Filename of the sitemap file" +msgstr "Nombre de fichero para el archivo sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 +msgid "Detected Path" +msgstr "Ruta detectada" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 +msgid "Detected URL" +msgstr "URL detectada" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 +msgid "Custom location" +msgstr "Localización automática" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:970 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Ruta absoluta o relativa al fichero sitemap, incluyendo el nombre." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981 +msgid "Example" +msgstr "Ejemplo" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 +msgid "Complete URL to the sitemap file, including name." +msgstr "URL completa del fichero sitemap, incluyendo el nombre." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992 +msgid "Sitemap Content" +msgstr "Contenido del sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 +msgid "Include homepage" +msgstr "Incluir página principal" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 +msgid "Include posts" +msgstr "Incluir artículos" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "Incluir las páginas subsiguientes de los artículos multipágina (¡aumenta el tiempo de creación y el uso de memoria!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1016 +msgid "Include static pages" +msgstr "Incluir páginas estáticas" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 +msgid "Include categories" +msgstr "Incluir categorías" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 +msgid "Include archives" +msgstr "Incluir archivos" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1035 +msgid "Include tag pages" +msgstr "Incluir páginas de etiquetas" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "Incluir páginas de taxonomía para %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1061 +msgid "Include author pages" +msgstr "Incluir páginas de autor" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 +msgid "Further options" +msgstr "Más opciones" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070 +msgid "Include the last modification time." +msgstr "Incluir la fecha de última modificación" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 +msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." +msgstr "Altamente recomendado, ya que ayuda a los buscadores a saber cuando ha cambiado el contenido. Esta opción afecta a todas las entradas del sitemap." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 +msgid "Excluded items" +msgstr "Elementos excluidos" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1081 +msgid "Excluded categories" +msgstr "Categorías excluidas" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 +msgid "Using this feature will increase build time and memory usage!" +msgstr "¡Utilizar esta función incrementará el tiempo de creación y el uso de memoria!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "Esta característica requiere de, al menos, WordPress 2.5.1. y Vd. está utilizando la versión %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1093 +msgid "Exclude posts" +msgstr "Artículos excluidos" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 +msgid "Exclude the following posts or pages:" +msgstr "Excluir los siguientes artículos o páginas:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 +msgid "List of IDs, separated by comma" +msgstr "Indique los ID, separados por coma" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 +msgid "Child posts won't be excluded automatically!" +msgstr "¡Los artículos anidados no se excluirán automáticamente!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103 +msgid "Change frequencies" +msgstr "Frecuencias de cambio" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1107 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Por favor, tenga en cuenta que el valor de esta etiqueta es considerado como un consejo, no como una orden. Incluso aunque los rastreadores tengan en cuenta esto a la hora de decidir, puede que rastreen páginas marcadas como \"cada hora\" con menos frecuencia que la indicada, y puede que rastreen páginas marcadas como \"anualmente\" con más frecuencia que esta. También podría ocurrir que los rastreadores revisen periódicamente páginas marcadas como \"nunca\" por si ha habido cambios inesperados en dichas páginas." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1113 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1170 +msgid "Homepage" +msgstr "Página principal" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1119 +msgid "Posts" +msgstr "Artículos" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1125 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1188 +msgid "Static pages" +msgstr "Páginas estáticas" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1131 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1194 +msgid "Categories" +msgstr "Categorías" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1137 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "El archivo de este mes (Debe ser igual al de su página principal)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1143 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Archivos obsoletos (Sólo cambia si edita un artículo antiguo)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1150 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1207 +msgid "Tag pages" +msgstr "Páginas de etiquetas" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1157 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1214 +msgid "Author pages" +msgstr "Páginas de autor" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1165 +msgid "Priorities" +msgstr "Prioridades" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1176 +msgid "Posts (If auto calculation is disabled)" +msgstr "Artículos (Si el cálculo automático está deshabilitado)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1182 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Prioridad mínima para artículos (Incluso aunque el cálculo automático esté activo)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1200 +msgid "Archives" +msgstr "Archivos" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1225 +msgid "Update options" +msgstr "Grabar cambios" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1226 +msgid "Reset options" +msgstr "Reestablecer configuración" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 +msgid "XML-Sitemap" +msgstr "Sitemap XML" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:109 +msgid "Settings" +msgstr "Configuraciones" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:110 +msgid "FAQ" +msgstr "FAQ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:111 +msgid "Support" +msgstr "Soporte" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:112 +msgid "Donate" +msgstr "Dona" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:182 +msgid "Sitemap FAQ" +msgstr "FAQ sitemap" + +#~ msgid "Manual location" +#~ msgstr "Localización manual" +#~ msgid "OR" +#~ msgstr "O" +#~ msgid "Error" +#~ msgstr "Error" +#~ msgid "" +#~ "A new page was added. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "Una nueva página fue añadida. Haga click en \"Guardar cambios\" para " +#~ "guardar sus cambios." +#~ msgid "" +#~ "The page was deleted. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "La página fue borrada. Haga click en \"Guardar cambios\" para guardar sus " +#~ "cambios." +#~ msgid "You changes have been cleared." +#~ msgstr "Sus cambios se han deshecho." +#~ msgid "Manual rebuild" +#~ msgstr "Reconstrucción manual" +#~ msgid "" +#~ "If you want to build the sitemap without editing a post, click on here!" +#~ msgstr "" +#~ "Si quieres construir el sitemap sin editar ningún artículo, ¡pulse aquí!" +#~ msgid "Rebuild Sitemap" +#~ msgstr "Reconstruir Sitemap" +#~ msgid "Save page changes" +#~ msgstr "Guardar los cambios de la página" +#~ msgid "Undo all page changes" +#~ msgstr "Deshacer todos los cambios de la página" +#~ msgid "Delete marked page" +#~ msgstr "Borrar página marcada" +#~ msgid "" +#~ "Enable automatic priority calculation for posts based on comment count" +#~ msgstr "" +#~ "Activar cálculo automático de prioridades para artículos basándose en el " +#~ "número de comentarios" +#~ msgid "Write debug comments" +#~ msgstr "Escribir comentarios de depuración" +#~ msgid "Auto-Ping Google Sitemaps" +#~ msgstr "Ping automático a Google Sitemaps" +#~ msgid "This option will automatically tell Google about changes." +#~ msgstr "" +#~ "Esta opción indicará automáticamente a Google que ha habido cambios." +#~ msgid "Includings" +#~ msgstr "Inclusiones" +#~ msgid "Informations and support" +#~ msgstr "Información y soporte" +#~ msgid "" +#~ "Check %s for updates and comment there if you have any problems / " +#~ "questions / suggestions." +#~ msgstr "" +#~ "Compruebe %s para actualizaciones, comentarios, problemas, cuestiones y " +#~ "sugerencias." +#~ msgid "URL:" +#~ msgstr "URL:" +#~ msgid "Path:" +#~ msgstr "Ruta:" +#~ msgid "Could not write into %s" +#~ msgstr "No puedo escribir en %s" +#~ msgid "Successfully built sitemap file:" +#~ msgstr "Fichero sitemap correctamente construido:" +#~ msgid "Successfully built gzipped sitemap file:" +#~ msgstr "Fichero sitemap comprimido correctamente construido:" +#~ msgid "Could not ping to Google at %s" +#~ msgstr "No pude hacer ping a Google en %s" +#~ msgid "Successfully pinged Google at %s" +#~ msgstr "Ping a Google realizado correctamente en %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.mo new file mode 100644 index 0000000..955b677 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.po new file mode 100644 index 0000000..97932ad --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fi_FI.po @@ -0,0 +1,1005 @@ +msgid "" +msgstr "" +"Project-Id-Version: Sitemaps for WordPress\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-12-23 10:32+0800\n" +"PO-Revision-Date: \n" +"Last-Translator: Olli Jarva \n" +"Language-Team: Olli Jarva \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Finnish\n" +"X-Poedit-Country: FINLAND\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "Kommenttien lukumäärä" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Käytetään kommenttien määrää prioriteetin laskemiseen" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "Kommenttien keskiarvo" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "Käytetään keskimääräistä kommenttien määrää prioriteetin laskemiseen" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "Suosituimmuuskilpailu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Käyttää aktivoitua Popularity Contest Plugin-lisäosaa, jonka on tehnyt Alex King. Katso asetukset ja suosituimmat merkinnät" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1209 +msgid "Always" +msgstr "Aina" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1210 +msgid "Hourly" +msgstr "Tunnittain" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1211 +msgid "Daily" +msgstr "Päivittäin" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1212 +msgid "Weekly" +msgstr "Viikottain" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1213 +msgid "Monthly" +msgstr "Kuukausittain" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1214 +msgid "Yearly" +msgstr "Vuosittain" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1215 +msgid "Never" +msgstr "Ei ikinä" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Kiitos lahjoituksesta! Autat tämän lisäosan ja muiden vapaiden ohjelmien tukemisessa ja kehittämisessä!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Hide this notice" +msgstr "Piilota tämä huomautus" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Kiitos lisäosan käyttämisestä! Olet asentanut lisäosan yli kuukausi sitten. Jos se toimii ja olet tyytyväinen tuloksiin, eikö se ole edes yhden dollarin arvoinen? Lahjoitukset auttavat tämän vapaan ohjelman kehittämisessä! Toki, ei ongelmaa!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +msgid "No thanks, please don't bug me anymore!" +msgstr "Ei kiitos, älä häiritse minua enää!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "Sivustokarttaa päivitetään. Blogin koosta riippuen päivittäminen voi kestää jonkin aikaa." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "Sivustokartta päivitetään %s sekunnin kuluttua. Blogin koosta riippuen päivittäminen voi kestää jonkin aikaa." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:441 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML-sivustokarttojen luontityökalu WordPressiin" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:278 +msgid "Configuration updated" +msgstr "Asetukset päivitetty" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:279 +msgid "Error while saving options" +msgstr "Virhe asetusten tallentamisessa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:281 +msgid "Pages saved" +msgstr "Sivut tallennettu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:282 +msgid "Error while saving pages" +msgstr "Virhe sivujen tallentamisessa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:286 +#, php-format +msgid "Robots.txt file saved" +msgstr "Robots.txt tallennettu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:288 +msgid "Error while saving Robots.txt file" +msgstr "Virhe robots.txt:n tallentamisessa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:297 +msgid "The default configuration was restored." +msgstr "Oletusasetukset on palautettu." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:454 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "Uusi versio (%1$s) on saatavilla. Lataa versio %3$s." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:456 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "Uusi versio (%1$s) on saatavilla. Lataa versio %3$s. Automaattinen päivitys ei ole käytössä tälle lisäosalle." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:458 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "Uusi versio (%1$s) on saatavilla. Lataa versio %3$s tai päivitä automaattisesti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:481 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +msgid "open" +msgstr "avaa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:482 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:499 +msgid "close" +msgstr "sulje" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:483 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 +msgid "click-down and drag to move this box" +msgstr "liikuta tätä laatikkoa vetämällä ja pudottamalla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:484 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:501 +msgid "click to %toggle% this box" +msgstr "klikkaa %toggle% laatikko" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:485 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:502 +msgid "use the arrow keys to move this box" +msgstr "käytä nuolinäppäimiä liikkumiseen" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:486 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:503 +msgid ", or press the enter key to %toggle% it" +msgstr "tai paina enter-näppäintä vaihtaaksesi (%toggle%)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:521 +msgid "About this Plugin:" +msgstr "Tietoja lisäosasta:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:522 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:138 +msgid "Plugin Homepage" +msgstr "Lisäosan kotisivu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:523 +msgid "Suggest a Feature" +msgstr "Ehdota ominaisuutta" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:524 +msgid "Notify List" +msgstr "Tiedotuslista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:525 +msgid "Support Forum" +msgstr "Tukifoorumit" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:526 +msgid "Report a Bug" +msgstr "Raportoi virhe" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:528 +msgid "Donate with PayPal" +msgstr "Lahjoita PayPalilla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 +msgid "My Amazon Wish List" +msgstr "Amazonin toivelista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +msgid "translator_name" +msgstr "translator_name" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +msgid "translator_url" +msgstr "translator_url" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "Sitemap Resources:" +msgstr "Sivustokarttaresurssit:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Webmaster Tools" +msgstr "Ylläpitäjän työkalut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Webmaster Blog" +msgstr "Ylläpitäjän blogi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "Site Explorer" +msgstr "Sivustoselain" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 +msgid "Search Blog" +msgstr "Hakukoneblogi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +msgid "Webmaster Center Blog" +msgstr "Ylläpitäjäkeskuksen blogi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:543 +msgid "Sitemaps Protocol" +msgstr "Sivustokartta-protokolla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:544 +msgid "Official Sitemaps FAQ" +msgstr "Virallinen sivustokartta-FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +msgid "My Sitemaps FAQ" +msgstr "Sivustokartta-FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 +msgid "Recent Donations:" +msgstr "Äskettäin lahjoittaneet:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "List of the donors" +msgstr "Lahjoittajalista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:554 +msgid "Hide this list" +msgstr "Piilota tämä lista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 +msgid "Thanks for your support!" +msgstr "Kiitos tuestasi!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:575 +msgid "Status" +msgstr "Tila" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Sivustokarttaa ei ole luotu. Luo sivustokartta ensimmäisen kerran." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 +msgid "Your sitemap was last built on %date%." +msgstr "Sivustokartta on päivitetty edellisen kerran %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:591 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreLue lisää" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Sivustokartta (pakattu) on päivitetty edellisen kerran %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreLue lisääsuccessfully notified
    about changes." +msgstr "Googlea tiedotettiin onnistuneesti päivityksistä." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:609 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Kesti %time% sekuntia huomauttaa Googlea päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Virhe Googlen huomauttamisessa. Katso tulokset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoota tiedotettiin onnistuneesti päivityksistä." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Kesti %time% sekuntia huomauttaa Yahoota päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Virhe Yahoon huomauttamisessa. Katso tulokset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "MSN was successfully notified about changes." +msgstr "MSN:ää tiedotettiin onnistuneesti päivityksistä." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3100 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." +msgstr "Kesti %time% sekuntia huomauttaa MSN.comia päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3103 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +#, php-format +msgid "There was a problem while notifying MSN.com. View result" +msgstr "Virhe MSN.comin huomauttamisessa. Katso tulokset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.comia tiedotettiin onnistuneesti päivityksistä." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Kesti %time% sekuntia huomauttaa Ask.comia päivityksistä. Saatat haluta poistaa käytöstä tämän ominaisuuden nopeuttaaksesi sivustokartan luomista." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Virhe Ask.comin huomauttamisessa. Katso tulokset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Luominen kesti noin %time% sekuntia ja käytti %memory% MB muistia." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:658 +msgid "The building process took about %time% seconds to complete." +msgstr "Luominen kesti noin %time% sekuntia." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:662 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Sivustokartan sisältö ei vaihtunut edellisestä päivityksestä, joten tiedostoja ei kirjoitettu ja hakukoneita ei huomautettu päivityksistä." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "Luomisprosessi saattaa olla yhä aktiivinen! Lataa sivu uudelleen muutaman sekunnin kuluttua." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:673 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Edellinen päivitys ei valmistunut! Muisti- tai aikarajoitusten kasvattaminen saattaa auttaa. Lue lisää" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Edellinen tunnettu muistin käyttö oli %memused%MB, palvelimen rajoitus on %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:679 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "Edellinen tunnettu ajoaika oli %timeused% sekuntia, palvelimen rajoitus on %timelimit% sekuntia." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:683 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Ohjelma lopetti merkinnässä numero %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:686 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Jos jotain on muuttunut palvelimella tai blogissa, saatat haluta luoda sivustokartan uudelleen manuaalisesti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:688 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Jos sivustokartan luomisprosessissa oli ongelmia, voit käyttää virheenetsintätilaa lisätietojen saamiseksi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 +msgid "Basic Options" +msgstr "Perusasetukset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 +msgid "Sitemap files:" +msgstr "Sivustokarttatiedostot:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:697 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 +msgid "Learn more" +msgstr "Lue lisää" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 +msgid "Write a normal XML file (your filename)" +msgstr "Luo normaali XML-tiedosto (tiedostonimi)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:708 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Luo pakattu (gzip) tiedosto (tiedostonimi + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 +msgid "Building mode:" +msgstr "Luomisasetukset:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Luo sivustokartta uudelleen, jos blogin sisältöä on muutettu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +msgid "Enable manual sitemap building via GET Request" +msgstr "Salli manuaalinen sivustokartan luominen GET-pyynnöllä" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:728 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Tämä sallii sivustokartan päivittämisen, jos työkalu kirjoittaa WordPressin tietokantaan käyttämättä WordPressin API:a. Käytä seuraavaa osoitetta päivittämiseen: %1 . Tarkista lokitiedostosta, päivitettiinkö sivustokartta onnistuneesti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 +msgid "Update notification:" +msgstr "Päivityshuomautukset:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 +msgid "Notify Google about updates of your Blog" +msgstr "Ilmoita Googlelle päivityksistä blogissa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:737 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Rekisteröintiä ei vaadita, mutta Googlen verkkoylläpitäjän työkalut kertovat tietoja sivuston indeksoinnista." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:741 +msgid "Notify MSN Live Search about updates of your Blog" +msgstr "Ilmoita MSN Live Searchille päivityksistä blogissa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3210 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 +#, php-format +msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." +msgstr "Rekisteröintiä ei vaadita, mutta MSN Liven verkkoylläpitäjän työkalut kertovat tietoja sivuston indeksoinnista." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:746 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Ilmoita Ask.comille päivityksistä blogissa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 +msgid "No registration required." +msgstr "Rekisteröintiä ei vaadita" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:751 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Ilmoita Yahoolle päivityksistä blogissa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 +msgid "Your Application ID:" +msgstr "ID:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Ei avainta? Hae omasi täältä! %s2" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:760 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "Muokkaa tai luo tiedosto %s blogin juurihakemistoon" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 +msgid "File permissions: " +msgstr "Tiedoston oikeudet:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:768 +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt:hen on kirjoitusoikeudet." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 +msgid "Error, robots.txt is not writable." +msgstr "Virhe: robots.txt-tiedostoon ei voi kirjoittaa." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "Ok, robots.txt:tä ei ole ja kansioon voi kirjoittaa." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:776 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Virhe: robots.txt:tä ei ole ja kansioon ei voi kirjoittaa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:782 +msgid "Advanced options:" +msgstr "Lisäasetukset:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 +msgid "Limit the number of posts in the sitemap:" +msgstr "Rajoita sivustokartan merkintöjen lukumäärää:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:785 +msgid "Newer posts will be included first" +msgstr "Uusimmat merkinnät listataan ensimmäisinä" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 +msgid "Try to increase the memory limit to:" +msgstr "Yritä lisätä muistirajoitusta:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:788 +msgid "e.g. \"4M\", \"16M\"" +msgstr "esim. \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Try to increase the execution time limit to:" +msgstr "Yritä lisätä ajoajan rajoitusta:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "sekunneissa, esim. \"60\" tai \"0\" rajoittamattomaan" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:795 +msgid "Include a XSLT stylesheet:" +msgstr "Ota mukaan XSLT-tyylitiedosto:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 +msgid "Full or relative URL to your .xsl file" +msgstr "Kokonainen tai suhteellinen .xsl-tiedoston URL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:796 +msgid "Use default" +msgstr "Käytä oletuksia" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Ota käyttöön MySQL:n standarditila. Käytä tätä vain jos saat MySQL-virheitä (tarvitsee huomattavasti enemmän muistia)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:807 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Luo sivustokartta taustaprosessissa (Ei viiveitä merkintöjä luodessa)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:814 +msgid "Additional pages" +msgstr "Lisäsivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:817 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Voit määrittää tiedostot tai osoitteet jotka lisätään sivustokarttaan, mutta jotka eivät ole WordPressissä.
    Esimerkiksi jos domain on www.example.com ja blogi on osoitteessa www.example.com/blog, saatat haluta lisätä etusivun www.example.com sivustokarttaan" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 +msgid "Note" +msgstr "Huom" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Jos blogi on alihakemistossa ja haluat lisätä sivuja jotka EIVÄT ole blogin hakemistossa tai alikansioissa, sivustokartta TÄYTYY laittaa juurihakemistoon. Katso "Sivustokartan sijainti"-osiota tällä sivulla." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 +msgid "URL to the page" +msgstr "Sivun URL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:823 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Kirjoita sivun osoite. Esimerkiksi http://example.com/index.html tai www.example.com/home" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Priority" +msgstr "Prioriteetti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:826 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Valitse prioriteetti suhteessa muihin sivuihin. Esimerkiksi etusivu voi olla korkeammalla prioriteetilla kuin vanhat arkistosivut." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "Last Changed" +msgstr "Viimeinen muutos" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:829 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Kirjoita edellisen muutoksen päiväys muodossa YYYY-MM-DD (esim. 2009-05-13) (ei pakollinen)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Change Frequency" +msgstr "Muutostiheys" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:865 +msgid "#" +msgstr "#" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 +msgid "No pages defined." +msgstr "Ei sivuja määritetty." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 +msgid "Add new page" +msgstr "Lisää uusi sivu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:880 +msgid "Post Priority" +msgstr "Merkinnän prioriteetti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Valitse, miten merkintöjen prioriteetti lasketaan:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +msgid "Do not use automatic priority calculation" +msgstr "Älä käytä automaattista prioriteetin laskemista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Kaikilla merkinnöillä on prioriteetit-kohdassa määritetty prioriteetti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:895 +msgid "Location of your sitemap file" +msgstr "Sivustokartan sijainti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:898 +msgid "Automatic detection" +msgstr "Automaattinen tunnistus" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:902 +msgid "Filename of the sitemap file" +msgstr "Sivustokartan tiedostonimi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 +msgid "Detected Path" +msgstr "Tunnistettu polku" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:905 +msgid "Detected URL" +msgstr "Tunnistettu URL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:910 +msgid "Custom location" +msgstr "Muokattu sijainti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:914 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absoluuttinen tai suhteellinen sivustokartan osoite, myös tiedostonimi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:925 +msgid "Example" +msgstr "Esimerkki" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:923 +msgid "Complete URL to the sitemap file, including name." +msgstr "Koko URL sivustokarttatiedostoon, myös nimi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 +msgid "Sitemap Content" +msgstr "Sivustokartan sisältö" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:942 +msgid "Include homepage" +msgstr "Ota mukaan etusivu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:948 +msgid "Include posts" +msgstr "Ota mukaan merkinnät" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:911 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 +msgid "Include following pages of multi-page posts (<!--nextpage-->)" +msgstr "Ota mukaan kaikki sivut monisivuisista merkinnöistä (<!--nextpage-->)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:960 +msgid "Include static pages" +msgstr "Ota mukaan staattiset sivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 +msgid "Include categories" +msgstr "Ota mukaan luokat" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 +msgid "Include archives" +msgstr "Ota mukaan arkistosivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 +msgid "Include tag pages" +msgstr "Ota mukaan avainsanasivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:986 +msgid "Include author pages" +msgstr "Ota mukaan tekijäsivut" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:994 +msgid "Excluded items" +msgstr "Jätä huomiotta" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:996 +msgid "Excluded categories" +msgstr "Jätä huomiotta luokkia" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 +msgid "Using this feature will increase build time and memory usage!" +msgstr "Tämän ominaisuuden käyttö lisää luomisaikaa ja muistinkäyttöä!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1005 +#, php-format +msgid "This feature requires at least WordPress 2.5, you are using %s" +msgstr "Ominaisuus vaatii vähintään WordPress 2.5:n, sinulla on %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1008 +msgid "Exclude posts" +msgstr "Jätä huomiotta merkintöjä" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "Exclude the following posts or pages:" +msgstr "Jätä huomiotta seuraavat merkinnät tai sivut:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "List of IDs, separated by comma" +msgstr "Lista ID:istä, pilkulla eroteltuna" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1012 +msgid "Child posts will not automatically be excluded!" +msgstr "Alimerkintöjä ei jätetä automaattisesti huomiotta!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1018 +msgid "Change frequencies" +msgstr "Päivitystiheydet" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Huomioi että tämä avainsana on vihje, ei komento. Vaikka osa hakukoneista ottaa avainsanan huomioon päätöksiä tehdessä, tunneittain päivittyviksi merkittyjä sivuja saatetaan hakea harvemmin. Vastaavasti vuosittain päivittyviä sivuja haetaan mahdollisesti useammin. Lisäksi osa hakukoneista hakee säännöllisesti sivuja, joiden päivittymistiheydeksi on merkitty \"ei koskaan\", jotta odottamattomat muutokset päivittyvät." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1086 +msgid "Homepage" +msgstr "Etusivu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1034 +msgid "Posts" +msgstr "Merkinnät" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1040 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1104 +msgid "Static pages" +msgstr "Staattiset sivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1046 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1110 +msgid "Categories" +msgstr "Kategoriat" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1052 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Tämän kuun arkistosivu (yleensä blogin etusivu)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1058 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Vanhat arkistosivut (vaihtuvat vain kun muokkaat vanhaa merkintää)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1123 +msgid "Tag pages" +msgstr "Avainsanasivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1130 +msgid "Author pages" +msgstr "Tekijän sivut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1080 +msgid "Priorities" +msgstr "Prioriteetit" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1092 +msgid "Posts (If auto calculation is disabled)" +msgstr "Merkinnät (jos automaattinen laskenta on poistettu käytöstä)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1098 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Merkintöjen minimiprioriteetti (vaikka automaattinen laskenta olisi käytössä)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1116 +msgid "Archives" +msgstr "Arkistot" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1141 +msgid "Update options" +msgstr "Päivitä asetukset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1142 +msgid "Reset options" +msgstr "Nollaa asetukset" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 +msgid "XML-Sitemap Generator" +msgstr "XML-sivustokartan luontityökalu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:81 +msgid "XML-Sitemap" +msgstr "XML-Sivustokartta" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:139 +msgid "Sitemap FAQ" +msgstr "Sivustokartta-FAQ" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.mo new file mode 100644 index 0000000..cfd231d Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.po new file mode 100644 index 0000000..c7e7167 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-fr_FR.po @@ -0,0 +1,1230 @@ +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap 3.1.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-05-05 20:24+0100\n" +"PO-Revision-Date: 2014-04-10 10:46+0100\n" +"Last-Translator: kalyx \n" +"Language-Team: Serge Rauber \n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-SearchPath-0: .\n" +"X-Poedit-SearchPath-1: ..\n" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:527 +msgid "Comment Count" +msgstr "Nombre de commentaires" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:537 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Utilise le nombre de commentaires pour calculer la priorité" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:590 +msgid "Comment Average" +msgstr "Moyenne des commentaires" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:600 +msgid "Uses the average comment count to calculate the priority" +msgstr "Utilise la moyenne des commentaires pour calculer la priorité" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:661 +msgid "Popularity Contest" +msgstr "Popularity Contest" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:671 +msgid "" +"Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "" +"Utiliser le plugin Popularity Contest d'Alex King. Voir Réglages et Articles les plus populaires" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:840 +msgid "Always" +msgstr "Toujours" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:841 +msgid "Hourly" +msgstr "Une fois par heure" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:842 +msgid "Daily" +msgstr "Une fois par jour" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:843 +msgid "Weekly" +msgstr "une fois par semaine" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:844 +msgid "Monthly" +msgstr "une fois par mois" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:845 +msgid "Yearly" +msgstr "une fois par an" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-core.php:846 +msgid "Never" +msgstr "Jamais" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:212 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:239 +msgid "Settings" +msgstr "Réglages" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:240 +msgid "FAQ" +msgstr "FAQ" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:241 +msgid "Support" +msgstr "Aide" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:242 +msgid "Donate" +msgstr "Donation" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:328 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "Plugin Homepage" +msgstr "Page du plugin" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-loader.php:329 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:652 +msgid "My Sitemaps FAQ" +msgstr "Ma FAQ" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:198 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:585 +msgid "XML Sitemap Generator for WordPress" +msgstr "Générateur de sitemap xml pour WordPress" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:374 +msgid "Configuration updated" +msgstr "Configuration mise à jour" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:375 +msgid "Error while saving options" +msgstr "Erreur lors de la sauvegarde des options" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:378 +msgid "Pages saved" +msgstr "Pages enregistrées" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:379 +msgid "Error while saving pages" +msgstr "Erreur durant l'enregistrement des pages" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:387 +msgid "The default configuration was restored." +msgstr "Configuration par défaut restaurée." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:397 +msgid "" +"The old files could NOT be deleted. Please use an FTP program and delete " +"them by yourself." +msgstr "" +"Les anciens fichiers n'ont pu être effacés. Veuillez utiliser un logiciel " +"FTP et les supprimer vous même." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:399 +msgid "The old files were successfully deleted." +msgstr "LEs anciens fichiers ont bien été effacés." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439 +msgid "" +"Thank you very much for your donation. You help me to continue support and " +"development of this plugin and other free software!" +msgstr "" +"Merci beaucoup pour votre don, ça m'aide à continuer de développer ce plugin " +"et d'autres softwares!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:439 +msgid "Hide this notice" +msgstr "Masquer" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin over a month ago. " +"If it works and you are satisfied with the results, isn't it worth at least " +"a few dollar? Donations help me to continue support and " +"development of this free software! Sure, no problem!" +msgstr "" +"Merci d'utiliser ce plugin! Vous l'avez installé il y a un mois. S'il " +"fonctionne bien et que vous en êtes satisfait, est-ce trop de donner un " +"petit dollar?Les dons me permettent de continuer à " +"développer ce plugin libre et gratuit ! Je t'aide, pas " +"de problème!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445 +msgid "Sure, but I already did!" +msgstr "Oui, mais je l'ai déjà fait!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:445 +msgid "No thanks, please don't bug me anymore!" +msgstr "Non merci, ne plus me le rappeler!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin some time ago. If " +"it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "" +"Merci d'utiliser ce plugin! Vous l'avez installé il y a quelques temps. S'il " +"fonctionne bien et que vous en êtes satisfait, pourquoi pas voter pour lui et le recommander aux autres? :-)" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:452 +msgid "Don't show this anymore" +msgstr "Ne plus jamais afficher" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:601 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here." +msgstr "" +"Une nouvelle version de %1$s est disponible. Télécharger la " +"version %3$s ici." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:603 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here automatic upgrade unavailable for this plugin." +msgstr "" +"Une nouvelle version de %1$s est disponible. Télécharger la " +"version %3$s ici.mise à jour automatique non disponible pour ce " +"plugin" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:605 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here or upgrade automatically." +msgstr "" +"Une nouvelle version de %1$s est disponible. Télécharger la " +"version %3$s ici ou Mettre à jour automatiquement." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:613 +#, php-format +msgid "" +"Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "" +"Votre site bloque actuellement les moteurs de recherche! Allez sur Réglages -> Lecture pour changer." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:629 +msgid "About this Plugin:" +msgstr "A propos" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:631 +msgid "Suggest a Feature" +msgstr "Suggestion" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:632 +msgid "Notify List" +msgstr "S'abonner" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "Support Forum" +msgstr "Forum" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:634 +msgid "Report a Bug" +msgstr "Signaler un bug" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:636 +msgid "Donate with PayPal" +msgstr "Don PayPal" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:637 +msgid "My Amazon Wish List" +msgstr "Ma liste Amazon" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638 +msgid "translator_name" +msgstr "Traduit par Serge" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:638 +msgid "translator_url" +msgstr "http://wp.kalyxstudio.com" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:641 +msgid "Sitemap Resources:" +msgstr "Ressources" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:642 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:647 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:643 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "Search Blog" +msgstr "Search Blog" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:648 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:650 +msgid "Sitemaps Protocol" +msgstr "Sitemaps Protocol" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:651 +msgid "Official Sitemaps FAQ" +msgstr "Official Sitemaps FAQ" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:655 +msgid "Recent Donations:" +msgstr "Dons récents:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:658 +msgid "List of the donors" +msgstr "Liste des donateurs" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:660 +msgid "Hide this list" +msgstr "Masquer" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:663 +msgid "Thanks for your support!" +msgstr "Merci de votre aide!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:683 +msgid "Search engines haven't been notified yet" +msgstr "Les moteurs de recherche n'ont pas encore été notifiés." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "Result of the last ping, started on %date%." +msgstr "Résultat du dernier ping, démarré le %date%." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:702 +#, php-format +msgid "" +"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " +"Please delete them as no static files are used anymore or try " +"to delete them automatically." +msgstr "" +"Il y a encore un fichier sitemap.xml ou sitemap.xml.gz dans le répertoire de " +"votre site. Veuillez les supprimer car ces fichiers ne sont plus utilisés ou " +"essayez de les supprimer automatiquement." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:705 +#, php-format +msgid "The URL to your sitemap index file is: %s." +msgstr "L'URL de l'index de votre sitemap est : %s." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:708 +msgid "" +"Search engines haven't been notified yet. Write a post to let them know " +"about your sitemap." +msgstr "" +"Les moteurs de recherche n'ont pas encore été notifiés. Publiez un article " +"pour les notifier de votre sitemap." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:717 +#, php-format +msgid "%s was successfully notified about changes." +msgstr "%s a été informé des changements." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:720 +msgid "" +"It took %time% seconds to notify %name%, maybe you want to disable this " +"feature to reduce the building time." +msgstr "" +"Il a fallu %time% secondes pour informer %name%, vous pouvez désactivez " +"cette fonction pour réduire la durée du processus." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:723 +msgid "" +"There was a problem while notifying %name%. View result" +msgstr "" +"Problème de notification avec %name%.Voir le résultat" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:727 +#, php-format +msgid "" +"If you encounter any problems with your sitemap you can use the debug function to get more information." +msgstr "" +"Si vous rencontrez un problème avec votre sitemap, vous pouvez utiliser la " +"fonction de débogage pour avoir plus d'infos." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:735 +msgid "Basic Options" +msgstr "Options de base" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737 +msgid "Update notification:" +msgstr "Notifications:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:737 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765 +msgid "Learn more" +msgstr "En savoir plus" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:741 +msgid "Notify Google about updates of your Blog" +msgstr "Informer Google des mises à jour du blog" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:742 +#, php-format +msgid "" +"No registration required, but you can join the Google " +"Webmaster Tools to check crawling statistics." +msgstr "" +"Pas d'inscription nécessaire, mais vous pouvez vous inscrire sur Google Webmaster Tools pour connaître les statistiques de passage de " +"google" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:746 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Informer Bing (MSN Live Search) des mises à jour du blog" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:747 +#, php-format +msgid "" +"No registration required, but you can join the Bing Webmaster " +"Tools to check crawling statistics." +msgstr "" +"Pas d'inscription nécessaire, mais vous pouvez vous inscrire sur bing Webmaster Tools pour connaître les statistiques de passage de " +"Bing" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:751 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Informer Ask.com des mises à jour du blog" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:752 +msgid "No registration required." +msgstr "Inscription non requise." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:757 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Ajouter l'URL du sitemap au fichier virtuel robots.txt" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:761 +msgid "" +"The virtual robots.txt generated by WordPress is used. A real robots.txt " +"file must NOT exist in the blog directory!" +msgstr "" +"Le fichier virtuel robots.txt de WordPress est utilisé. Il NE DOIT PAS y " +"avoir de vrai fichier robots.txt dans le répertoire du blog!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:765 +msgid "Advanced options:" +msgstr "Options avancées:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768 +msgid "Try to increase the memory limit to:" +msgstr "Essayer d'augmenter la quantité de mémoire alouée:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:768 +msgid "e.g. \"4M\", \"16M\"" +msgstr "ex: \"4M\", \"16M\"" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771 +msgid "Try to increase the execution time limit to:" +msgstr "Essayer d'augmenter la durée limite d'éxécution du script : " + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:771 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "en secondes, ex: \"60\" ou \"0\" pour illimité" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:775 +msgid "Include a XSLT stylesheet:" +msgstr "Feuille de style XSLT:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776 +msgid "Full or relative URL to your .xsl file" +msgstr "Adresse complète ou relative du fichier .xsl" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:776 +msgid "Use default" +msgstr "par défaut" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:781 +msgid "Include sitemap in HTML format" +msgstr "INclure un sitemap au format HTML" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Additional pages" +msgstr "Pages supplémentaires" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:793 +msgid "" +"Here you can specify files or URLs which should be included in the sitemap, " +"but do not belong to your Blog/WordPress.
    For example, if your domain " +"is www.foo.com and your blog is located on www.foo.com/blog you might want " +"to include your homepage at www.foo.com" +msgstr "" +"Vous pouvez préciser ici des adresses à inclure dans le sitemap, qui " +"n'appartiennent pas à votre Blog/WordPress.
    Par exemple, si votre " +"domaine est www.truc.com et que votre blog est situé sur www.truc.com/blog, " +"vous pouvez choisir d'inclure la page d'accueil www.truc.com" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:795 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1018 +msgid "Note" +msgstr "Remarque" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:796 +msgid "" +"If your blog is in a subdirectory and you want to add pages which are NOT in " +"the blog directory or beneath, you MUST place your sitemap file in the root " +"directory (Look at the "Location of your sitemap file" section on " +"this page)!" +msgstr "" +"Si votre weblog est dans un sous-repertoire et que vous voulez ajouter des " +"pages qui ne sont PAS situées dans le répertoire du blog ou un répertoire en " +"dessous, vous DEVEZ placer votre fichier sitemap dans le répertoire racine " +"(voir la section "Emplacement de votre fichier sitemap" de cette " +"page)!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:798 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:836 +msgid "URL to the page" +msgstr "URL de la page" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:799 +msgid "" +"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." +"foo.com/home " +msgstr "" +"Indiquez l'URL de la page. Examples: http://www.foo.com/index.html ou www." +"foo.com/home " + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:801 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:837 +msgid "Priority" +msgstr "Priorité" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:802 +msgid "" +"Choose the priority of the page relative to the other pages. For example, " +"your homepage might have a higher priority than your imprint." +msgstr "" +"Définissez la priorité de la page par rapport aux autres pages. Par exemple, " +"votre page d'accueil peut avoir une priorité supérieure à celle des autres " +"pages." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:804 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:839 +msgid "Last Changed" +msgstr "Dernière modification" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "" +"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " +"(optional)." +msgstr "" +"Entrez la date de dernière modification au format AAAA-MM-JJ (2005-12-31 par " +"exemple) (facultatif)." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:838 +msgid "Change Frequency" +msgstr "Modifier la fréquence" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:840 +msgid "#" +msgstr "#" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:845 +msgid "No pages defined." +msgstr "Aucune page définie." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:850 +msgid "Add new page" +msgstr "Ajouter une nouvelle page" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:856 +msgid "Post Priority" +msgstr "Priorité de l'article" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:858 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Choisissez comment la priorité de l'article est calculée:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860 +msgid "Do not use automatic priority calculation" +msgstr "ne pas faire de calcul automatique" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:860 +msgid "" +"All posts will have the same priority which is defined in "" +"Priorities"" +msgstr "Tous les articles auront la même priorité" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:871 +msgid "Sitemap Content" +msgstr "Contenu du sitemap" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:872 +msgid "WordPress standard content" +msgstr "Contenu standard de WordPress" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:877 +msgid "Include homepage" +msgstr "Inclure la page d'accueil" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "Include posts" +msgstr "Inclure les articles" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:889 +msgid "Include static pages" +msgstr "Inclure les pages statiques" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:895 +msgid "Include categories" +msgstr "Inclure les catégories" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:901 +msgid "Include archives" +msgstr "Inclure les archives" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:907 +msgid "Include author pages" +msgstr "Inclure les pages Auteur" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:914 +msgid "Include tag pages" +msgstr "Inclure les pages tags" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:928 +msgid "Custom taxonomies" +msgstr "Taxonomies" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:939 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "Inclure les pages %s" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:957 +msgid "Custom post types" +msgstr "Autres types d'article" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:968 +#, php-format +msgid "Include custom post type %s" +msgstr "Inclure les articles de type %s" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:980 +msgid "Further options" +msgstr "Options supplémentaires" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:985 +msgid "Include the last modification time." +msgstr "Inclure la date de dernière modification" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:987 +msgid "" +"This is highly recommended and helps the search engines to know when your " +"content has changed. This option affects all sitemap entries." +msgstr "" +"Ceci est fortement recommandé et aide les moteurs de recherche à savoir " +"lorsque vote contenu à changer. Cette option affecte toutes les donnéesdu sitemap." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:994 +msgid "Excluded items" +msgstr "Données à exclure" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:996 +msgid "Excluded categories" +msgstr "Catégories exclues" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:998 +msgid "Using this feature will increase build time and memory usage!" +msgstr "" +"L'utilisation de cette fonction augmente la durée et la mémoire utilisée!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1005 +msgid "Exclude posts" +msgstr "EXclure des articles" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007 +msgid "Exclude the following posts or pages:" +msgstr "Exclure les articles ou pages suivants:" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1007 +msgid "List of IDs, separated by comma" +msgstr "liste d'ID, séparés par une virgule" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "Child posts won't be excluded automatically!" +msgstr "Les sous-pages ne seront pas automatiquement exclus!" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1015 +msgid "Change frequencies" +msgstr "Modifier les fréquences" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1019 +msgid "" +"Please note that the value of this tag is considered a hint and not a " +"command. Even though search engine crawlers consider this information when " +"making decisions, they may crawl pages marked \"hourly\" less frequently " +"than that, and they may crawl pages marked \"yearly\" more frequently than " +"that. It is also likely that crawlers will periodically crawl pages marked " +"\"never\" so that they can handle unexpected changes to those pages." +msgstr "" +"Veuillez noter que la valeur de ce champ est considérée comme un indice et " +"non une commande. Même si les robots de moteurs de recherche prennent en " +"compte cette information, il peuvent parcourir les pages marquées "" +"toutes les heures" moins fréquemment que cela, et peuvent parcourir les " +"pages marquées "une fois par an" plus fréquemment que cela. Il est " +"aussi probable que les robots parcourent de façon périodique les pages " +"marquées "jamais" afin de prendre en compte les modifications " +"inattendues de ces pages." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1025 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1082 +msgid "Homepage" +msgstr "Page d'accueil" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1031 +msgid "Posts" +msgstr "Articles" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1037 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1100 +msgid "Static pages" +msgstr "Pages statiques" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1043 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1106 +msgid "Categories" +msgstr "Catégories" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1049 +msgid "" +"The current archive of this month (Should be the same like your homepage)" +msgstr "" +"L'archive du mois en cours (devrait correspondre à votre page d'accueil)" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1055 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "" +"Archives antérieures (ne change que lorsque vous modifier un ancien article)" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1062 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1119 +msgid "Tag pages" +msgstr "Pages Tag" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1069 +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1126 +msgid "Author pages" +msgstr "Pages Auteur" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1077 +msgid "Priorities" +msgstr "Priorités" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1088 +msgid "Posts (If auto calculation is disabled)" +msgstr "Articles (si le calcul automatique est désactivé)" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1094 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "" +"Priorité minimum des articles (Même si le calcul automatique est activé)" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1112 +msgid "Archives" +msgstr "Archives" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1137 +msgid "Update options" +msgstr "Enregistrer les changements" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap-ui.php:1138 +msgid "Reset options" +msgstr "Réinitialiser les options" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82 +msgid "Your WordPress version is too old for XML Sitemaps." +msgstr "Votre version de WordPress est trop ancienne pour XML Sitemaps" + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:82 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least " +"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " +"insecure. Please upgrade or go to active plugins and " +"deactivate the Google XML Sitemaps plugin to hide this message. You can " +"download an older version of this plugin from the plugin " +"website." +msgstr "" +"Cette version de Google XML Sitemaps nécessite au moins WordPress %4$s. Vous " +"utilisez Wordpress %2$s, qui est ancien et vulnérable. Mettez à jour ou " +"allez sur Extensions installées et désactiver cette " +"ectension. Vous pouvez télécharger l'ancienne version de cette extension sur " +"mon site." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92 +msgid "Your PHP version is too old for XML Sitemaps." +msgstr "Votre version de PHP est trop ancienne pour XML Sitemaps." + +#: C:\Inetpub\wwwroot\wp_plugins\sitemap_beta/sitemap.php:92 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least PHP " +"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " +"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " +"this message. You can download an older version of this plugin from the plugin website." +msgstr "" +"Cette version de Google XML Sitemaps nécessite au moins PHP %4$s. Vous " +"utilisez PHP %2$s, qui est ancien et vulnérable. Demandez à votre hébergeur " +"de mettre à jour PHP sur votre serveur ou allez sur Extensions installées et désactiver cette ectension. Vous pouvez " +"télécharger l'ancienne version de cette extension sur mon " +"site." + +#~ msgid "" +#~ "Your sitemap is being refreshed at the moment. Depending on your blog " +#~ "size this might take some time!" +#~ msgstr "" +#~ "Mise à jour du sitemap en cours. En fonction de la taille de votre blog, " +#~ "ça peut prendre un certain temps!" + +#~ msgid "" +#~ "Your sitemap will be refreshed in %s seconds. Depending on your blog size " +#~ "this might take some time!" +#~ msgstr "" +#~ "La mise à jour du sitemap devrait prendre %s secondes. En fonction de la " +#~ "taille de votre blog, ça peut prendre un certain temps!" + +#~ msgid "open" +#~ msgstr "ouvrir" + +#~ msgid "close" +#~ msgstr "fermer" + +#~ msgid "click-down and drag to move this box" +#~ msgstr "Faites un glisser/déposer pour déplacer cette boite." + +#~ msgid "click to %toggle% this box" +#~ msgstr "Cliquez pour %inverser% cette case" + +#~ msgid "use the arrow keys to move this box" +#~ msgstr "Utilisez les touches fléchées pour déplacer cette boite" + +#~ msgid ", or press the enter key to %toggle% it" +#~ msgstr ", ou appuyez sur la touche Entrée pour l'%inverser%." + +#~ msgid "Site Explorer" +#~ msgstr "Site Explorer" + +#~ msgid "Status" +#~ msgstr "Statuts" + +#~ msgid "" +#~ "The sitemap wasn't built yet. Click here to build it " +#~ "the first time." +#~ msgstr "Cliquez ici pour générer votre premier sitemap." + +#~ msgid "Your sitemap was last built on %date%." +#~ msgstr "Dernier sitemap généré le %date%." + +#~ msgid "" +#~ "There was a problem writing your sitemap file. Make sure the file exists " +#~ "and is writable. Learn moreen savoir " +#~ "pluszipped) was last built on %date%." +#~ msgstr "" +#~ "Dernier sitemap (zip) généré le %date%." + +#~ msgid "" +#~ "There was a problem writing your zipped sitemap file. Make sure the file " +#~ "exists and is writable. Learn moreen savoir " +#~ "plussuccessfully notified about changes." +#~ msgstr "Google a été informé des changements." + +#~ msgid "" +#~ "It took %time% seconds to notify Google, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Il a fallu %time% secondes pour informer Google, vous pouvez désactivez " +#~ "cette fonction pour réduire la durée du processus." + +#~ msgid "" +#~ "There was a problem while notifying Google. View result" +#~ msgstr "Problème pour informer Google.Voir le résultat" + +#~ msgid "YAHOO was successfully notified about changes." +#~ msgstr "Yahoo a été informé des changements." + +#~ msgid "" +#~ "It took %time% seconds to notify YAHOO, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Il a fallu %time% secondes pour informer Yahoo, vous pouvez désactivez " +#~ "cette fonction pour réduire la durée du processus." + +#~ msgid "" +#~ "There was a problem while notifying YAHOO. View result" +#~ msgstr "Problème pour informer Yahoo.Voir le résultat" + +#~ msgid "Ask.com was successfully notified about changes." +#~ msgstr "Ask.com a été informé des changements." + +#~ msgid "" +#~ "It took %time% seconds to notify Ask.com, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Il a fallu %time% secondes pour informer Ask.com, vous pouvez désactivez " +#~ "cette fonction pour réduire la durée du processus." + +#~ msgid "" +#~ "There was a problem while notifying Ask.com. View result" +#~ msgstr "Problème pour informer Ask.com.Voir le résultat" + +#~ msgid "" +#~ "The building process took about %time% seconds to complete and " +#~ "used %memory% MB of memory." +#~ msgstr "" +#~ "Le processus a mis environ %time% secondes et utilisé %memory% MB " +#~ "de mémoire." + +#~ msgid "The building process took about %time% seconds to complete." +#~ msgstr "Le processus a mis environ %time% secondes." + +#~ msgid "" +#~ "The content of your sitemap didn't change since the last " +#~ "time so the files were not written and no search engine was pinged." +#~ msgstr "" +#~ "Le contenu de votre sitemap n'a pas changé depuis la " +#~ "dernière fois. Les fichiers n'ont pas été modifié, et les moteurs de " +#~ "recherche n'ont pas été informé." + +#~ msgid "" +#~ "The building process might still be active! Reload the page in a few " +#~ "seconds and check if something has changed." +#~ msgstr "" +#~ "Le processus est encore en cours! Rechargez la page dans quelques " +#~ "secondes et vérifiez si quelque chose a changé." + +#~ msgid "" +#~ "The last run didn't finish! Maybe you can raise the memory or time limit " +#~ "for PHP scripts. Learn more" +#~ msgstr "" +#~ "Le dernier processus a échoué! Essayez d'augmenter le mémoire alouée ou " +#~ "la durée limite des scripts PHP En savoir plus" + +#~ msgid "" +#~ "The last known memory usage of the script was %memused%MB, the limit of " +#~ "your server is %memlimit%." +#~ msgstr "" +#~ "Mémoire utilisée la dernière fois : %memused%MB (limite du serveur : " +#~ "%memlimit%)" + +#~ msgid "" +#~ "The last known execution time of the script was %timeused% seconds, the " +#~ "limit of your server is %timelimit% seconds." +#~ msgstr "" +#~ "Temps d'éxécution la dernière fois : %timeused% secondes (limite du " +#~ "serveur : %timelimit%)" + +#~ msgid "The script stopped around post number %lastpost% (+/- 100)" +#~ msgstr "Le script s'est arrêté vers l'article numéro %lastpost% (+/- 100)" + +#~ msgid "" +#~ "If you changed something on your server or blog, you should rebuild the sitemap manually." +#~ msgstr "" +#~ "Si vous changez quelquechose sur votre serveur ou sur votre blog, vous " +#~ "devez reconstruire le sitemap manuellement." + +#~ msgid "Sitemap files:" +#~ msgstr "Type de fichiers:" + +#~ msgid "Write a normal XML file (your filename)" +#~ msgstr "Ecrire un fichier XML normal (nom de fichier)" + +#~ msgid "Write a gzipped file (your filename + .gz)" +#~ msgstr "Ecrire un fichier gzippé (votre nom de fichier + .gz)" + +#~ msgid "Building mode:" +#~ msgstr "Mode de construction:" + +#~ msgid "Rebuild sitemap if you change the content of your blog" +#~ msgstr "Générer le sitemap lorsque le contenu du blog change" + +#~ msgid "Enable manual sitemap building via GET Request" +#~ msgstr "Activer la génération manuel du sitemap par requête GET" + +#~ msgid "" +#~ "This will allow you to refresh your sitemap if an external tool wrote " +#~ "into the WordPress database without using the WordPress API. Use the " +#~ "following URL to start the process: %1 Please check " +#~ "the logfile above to see if sitemap was successfully built." +#~ msgstr "" +#~ "Ceci vous permet de mettre à jour votre sitemap si vous utilisez un outil " +#~ "externe de publication. Utilisez l'adresse suivante pour lancer le " +#~ "processus %1. Vérifiez dans le fichier log que le " +#~ "processus a bien fonctionné." + +#~ msgid "Notify YAHOO about updates of your Blog" +#~ msgstr "Informer Yahoo des mises à jour du blog" + +#~ msgid "Your Application ID:" +#~ msgstr "Yahoo ID:" + +#~ msgid "Don't you have such a key? Request one here! %s2" +#~ msgstr "" +#~ "Vous n'avez pas de clé Yahoo ?Demandez en une ici! %s2" + +#~ msgid "Limit the number of posts in the sitemap:" +#~ msgstr "Limiter le nombre d'articles dans le sitemap:" + +#~ msgid "Newer posts will be included first" +#~ msgstr "Les nouveaux articles seront ajoutés au début" + +#~ msgid "" +#~ "Enable MySQL standard mode. Use this only if you're getting MySQL errors. " +#~ "(Needs much more memory!)" +#~ msgstr "" +#~ "Active le mode MySQL standard. A n'utiliser que si vous avez des erreurs " +#~ "MySQL. (utilise plus de mémoire!)" + +#~ msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +#~ msgstr "" +#~ "Passez au moins à la version 2.2 de WordPress pour activer l'accès MySQL " +#~ "rapide" + +#~ msgid "" +#~ "Build the sitemap in a background process (You don't have to wait when " +#~ "you save a post)" +#~ msgstr "" +#~ "Générer le sitemap en arrière-plan (pas d'attente lors de la sauvegarde " +#~ "d'un article)" + +#~ msgid "Upgrade WordPress at least to 2.1 to enable background building" +#~ msgstr "Passez au moins à la version 2.1 pour utiliser la tâche de fond." + +#~ msgid "Location of your sitemap file" +#~ msgstr "Emplacement de votre fichier sitemap" + +#~ msgid "Automatic detection" +#~ msgstr "Détection automatique" + +#~ msgid "Filename of the sitemap file" +#~ msgstr "Nom du fichier sitemap" + +#~ msgid "Detected Path" +#~ msgstr "Répertoire détecté" + +#~ msgid "Detected URL" +#~ msgstr "URL détecté" + +#~ msgid "Absolute or relative path to the sitemap file, including name." +#~ msgstr "Chemin absolu ou relatif vers le fichier sitemap, nom inclus." + +#~ msgid "Example" +#~ msgstr "Exemple" + +#~ msgid "Complete URL to the sitemap file, including name." +#~ msgstr "URL complet du fichier sitemap, nom inclus." + +#~ msgid "" +#~ "Include following pages of multi-page posts (Increases build time and " +#~ "memory usage!)" +#~ msgstr "" +#~ "Inclure les pages suivantes d'article multi-page (augmente la durée du " +#~ "processus et l'usage de la mémoire)" + +#~ msgid "This feature requires at least WordPress 2.5.1, you are using %s" +#~ msgstr "Cette fonction requiert au moins WordPress 2.5.1, vous utilisez %s" + +#~ msgid "" +#~ "It took %time% seconds to notify MSN.com, maybe you want to disable this " +#~ "feature to reduce the building time." +#~ msgstr "" +#~ "Il a fallu %time% secondes pour informer MSN, vous pouvez désactivez " +#~ "cette fonction pour réduire la durée du processus." + +#~ msgid "" +#~ "There was a problem while notifying MSN.com. View result" +#~ msgstr "Problème pour informer MSN.Voir le résultat" + +#~ msgid "" +#~ "No registration required, but you can join the MSN Live " +#~ "Webmaster Tools to check crawling statistics." +#~ msgstr "" +#~ "Pas d'inscription nécessaire, mais vous pouvez vous inscrire sur MSN Live Webmaster Tools pour connaître les statistiques de " +#~ "passage de google" + +#~ msgid "Sitemap FAQ" +#~ msgstr "Ma FAQ" + +#~ msgid "Robots.txt file saved" +#~ msgstr "Robots.txt sauvegardé" + +#~ msgid "Error while saving Robots.txt file" +#~ msgstr "Erreur lors de l'enregistrement du fichier robots.txt" + +#~ msgid "" +#~ "Modify or create %s file in blog root which contains the sitemap location." +#~ msgstr "" +#~ "Modifier ou créer le fichier %s à la racine du blog qui contient " +#~ "l'adresse du sitemap" + +#~ msgid "File permissions: " +#~ msgstr "Permission :" + +#~ msgid "OK, robots.txt is writable." +#~ msgstr "OK, robots.txt est en écriture" + +#~ msgid "Error, robots.txt is not writable." +#~ msgstr "Erreur, robots.txt n'est pas en écriture" + +#~ msgid "OK, robots.txt doesn't exist but the directory is writable." +#~ msgstr "OK, robots.txt n'existe pas mais peut être créé" + +#~ msgid "Error, robots.txt doesn't exist and the directory is not writable" +#~ msgstr "Erreur, robots.txt n'existe pas et ne peut être créé." + +#~ msgid "Manual location" +#~ msgstr "Emplacement manuel" + +#~ msgid "OR" +#~ msgstr "OU" + +#~ msgid "Error" +#~ msgstr "Erreur" + +#~ msgid "" +#~ "A new page was added. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "Une nouvelle page a été ajoutée. Cliquez sur "Enregistrer les " +#~ "modifications" pour enregistrer vos modifications" + +#~ msgid "" +#~ "The page was deleted. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "La page a été effacée. Cliquez sur "Entregistrer les " +#~ "modifications" pour enregistrer vos modifications." + +#~ msgid "You changes have been cleared." +#~ msgstr "Vos modifications ont été remises à zero." + +#~ msgid "Manual rebuild" +#~ msgstr "Reconstruction manuelle" + +#~ msgid "" +#~ "If you want to build the sitemap without editing a post, click on here!" +#~ msgstr "" +#~ "Si vous voulez construire le fichier sitemap sans modifier un article, " +#~ "cliquez ici!" + +#~ msgid "Rebuild Sitemap" +#~ msgstr "Reconstruire le fichier Sitemap" + +#~ msgid "Save page changes" +#~ msgstr "Enregistrer les modifications de page" + +#~ msgid "Undo all page changes" +#~ msgstr "Annuler toutes les modifications de page" + +#~ msgid "Delete marked page" +#~ msgstr "Effacer la page marquée" + +#~ msgid "" +#~ "Enable automatic priority calculation for posts based on comment count" +#~ msgstr "" +#~ "Autoriser le calcul de priorité automatique pour les articles en fonction " +#~ "du nombre de commentaires" + +#~ msgid "Write debug comments" +#~ msgstr "Ecrire des commentaires de debug" + +#~ msgid "Auto-Ping Google Sitemaps" +#~ msgstr "Effectuer un ping automatique de Google Sitemaps" + +#~ msgid "This option will automatically tell Google about changes." +#~ msgstr "" +#~ "Cette option préviendra automatiquement Google lors de modifications." + +#~ msgid "Includings" +#~ msgstr "Inclusions" + +#~ msgid "Informations and support" +#~ msgstr "Informations et support" + +#~ msgid "" +#~ "Check %s for updates and comment there if you have any problems / " +#~ "questions / suggestions." +#~ msgstr "" +#~ "Allez sur %s pour les mises à jour et pour poster un commentaire en cas " +#~ "de probleme / question / suggestion." + +#~ msgid "URL:" +#~ msgstr "URL:" + +#~ msgid "Path:" +#~ msgstr "Chemin:" + +#~ msgid "Could not write into %s" +#~ msgstr "Impossible d'écrire dans %s" + +#~ msgid "Successfully built sitemap file:" +#~ msgstr "Sitemap généré avec succès:" + +#~ msgid "Successfully built gzipped sitemap file:" +#~ msgstr "Sitemap gzippé généré avec succès:" + +#~ msgid "Could not ping to Google at %s" +#~ msgstr "Ping de Google impossible à %s" + +#~ msgid "Successfully pinged Google at %s" +#~ msgstr "Ping de Google réussi à %s" diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.mo new file mode 100644 index 0000000..97c7241 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.po new file mode 100644 index 0000000..b76e666 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hi_IN.po @@ -0,0 +1,1030 @@ +msgid "" +msgstr "" +"Project-Id-Version: google-sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-11-20 22:53+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: Ashish \n" +"Language-Team: Outshine Solutions \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Hindi\n" +"X-Poedit-Country: INDIA\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:525 +msgid "Comment Count" +msgstr "टिपà¥à¤ªà¤£à¥€ गिनती" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:537 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "पद की टिपà¥à¤ªà¤£à¤¿à¤¯à¥‹à¤‚ की संखà¥à¤¯à¤¾ का उपयोग करते हà¥à¤ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ की गणना करो " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:597 +msgid "Comment Average" +msgstr "टिपà¥à¤ªà¤£à¥€ औसत" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:609 +msgid "Uses the average comment count to calculate the priority" +msgstr "औसत टिपà¥à¤ªà¤£à¥€ गिनती का उपयोग पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ की गणना के लिठकरो. " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:672 +msgid "Popularity Contest" +msgstr "लोकपà¥à¤°à¤¿à¤¯à¤¤à¤¾ पà¥à¤°à¤¤à¤¿à¤¯à¥‹à¤—िता" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:684 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "सकà¥à¤°à¤¿à¤¯ का उपयोग करता है लोकपà¥à¤°à¤¿à¤¯à¤¤à¤¾ पà¥à¤°à¤¤à¤¿à¤¯à¥‹à¤—िता पà¥à¤²à¤—इन से à¤à¤²à¥‡à¤•à¥à¤¸ राजा . देखे सेटिंगà¥à¤¸ और सरà¥à¤µà¤¾à¤§à¤¿à¤• लोकपà¥à¤°à¤¿à¤¯ डाक" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1084 +msgid "Always" +msgstr "हमेशा" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1085 +msgid "Hourly" +msgstr "पà¥à¤°à¤¤à¤¿ घंटा" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1086 +msgid "Daily" +msgstr "दैनिक" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1087 +msgid "Weekly" +msgstr "सापà¥à¤¤à¤¾à¤¹à¤¿à¤•" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1088 +msgid "Monthly" +msgstr "मासिक" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1089 +msgid "Yearly" +msgstr "वारà¥à¤·à¤¿à¤•" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1090 +msgid "Never" +msgstr "कभी नहीं" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "आपको अपने दान के लिठबहà¥à¤¤ बहà¥à¤¤ धनà¥à¤¯à¤µà¤¾à¤¦. तà¥à¤® मेरी समरà¥à¤¥à¤¨ और इस पà¥à¤²à¤—इन और अनà¥à¤¯ मà¥à¤•à¥à¤¤ सॉफà¥à¤Ÿà¤µà¥‡à¤¯à¤° के विकास को जारी रखने के लिठमदद करो !" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:107 +msgid "Hide this notice" +msgstr "नोटिस छà¥à¤ªà¤¾à¤à¤" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "इस पà¥à¤²à¤—इन का उपयोग करने के लिठधनà¥à¤¯à¤µà¤¾à¤¦! तà¥à¤® à¤à¤• महीने पहले इस पà¥à¤²à¤—इन को सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ चà¥à¤•à¥‡ हो. अगर यह काम करता है और तà¥à¤® परिणाम से संतà¥à¤·à¥à¤Ÿ हो, दान समरà¥à¤¥à¤¨ और इस का विकास जारी रखने के लिठमेरी मदद करो free सॉफà¥à¤Ÿà¤µà¥‡à¤¯à¤°! बेशक, कोई समसà¥à¤¯à¤¾ नहीं है! " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 +msgid "Sure, but I already did!" +msgstr "यकीन है, लेकिन मैं इसे पहले ही कर चूका हà¥!." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:113 +msgid "No thanks, please don't bug me anymore!" +msgstr "नहीं, धनà¥à¤¯à¤µà¤¾à¤¦,, कृपया मà¥à¤à¥‡ अब और परेशान नहीं करो!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "इस पà¥à¤²à¤—इन का उपयोग करने के लिठधनà¥à¤¯à¤µà¤¾à¤¦! आप इस पà¥à¤²à¤—इन को कà¥à¤› समय पहले सà¥à¤¥à¤¾à¤ªà¤¿à¤¤ कर चà¥à¤•à¥‡ हो.अगर यह काम करता है और आपके संतà¥à¤·à¥à¤Ÿ करता है, कà¥à¤¯à¥‹à¤‚ नहीं यह दर और यह अनà¥à¤¶à¤‚सा to others? :-)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:120 +msgid "Don't show this anymore" +msgstr "अब यह मत दिखाओ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:132 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "आपका साइटमैप पल में ताजा किया जा रहा है. निरभर है अपने बà¥à¤²à¥‰à¤— के आकार पर यह कà¥à¤› समय ले सकता है!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:134 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "साइटमैप ताजा हो जाà¤à¤—ा %s सेकंड में, यह कà¥à¤› समय ले सकता है! निरभर है आपके बà¥à¤²à¥‰à¤— के आकार पर !" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:163 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:480 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML साइटमैप WordPress के लिठजेनरेटर है " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:323 +msgid "Configuration updated" +msgstr "विनà¥à¤¯à¤¾à¤¸ नवनिरà¥à¤®à¤¿à¤¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:324 +msgid "Error while saving options" +msgstr "विकलà¥à¤ª बचाते समय तà¥à¤°à¥à¤Ÿà¤¿ आई " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:326 +msgid "Pages saved" +msgstr "पृषà¥à¤ à¥‹à¤‚ सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:327 +msgid "Error while saving pages" +msgstr "पनà¥à¤¨à¥‡ बचाते समय तà¥à¤°à¥à¤Ÿà¤¿ आई " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:334 +msgid "The default configuration was restored." +msgstr "डिफ़ॉलà¥à¤Ÿ कॉनà¥à¤«à¤¼à¤¿à¤—रेशन बहाल कर दी गई." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "वहाठà¤à¤• नया संसà¥à¤•à¤°à¤£ %1$s उपलबà¥à¤§ है. डाउनलोड संसà¥à¤•à¤°à¤£ %3$s here." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "वहाठà¤à¤• नया संसà¥à¤•à¤°à¤£ %1$s उपलबà¥à¤§ है. डाउनलोड संसà¥à¤•à¤°à¤£ %3$s hereसà¥à¤µà¤¤: उनà¥à¤¨à¤¯à¤¨ इस पà¥à¤²à¤—इन के लिठअनà¥à¤ªà¤²à¤¬à¥à¤§ ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:500 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "वहाठà¤à¤• नया संसà¥à¤•à¤°à¤£ %1$s उपलबà¥à¤§ है. डाउनलोड संसà¥à¤•à¤°à¤£ %3$s here या सà¥à¤µà¤¤à¤ƒ उनà¥à¤¨à¤¤." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508 +#, php-format +msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "वरà¥à¤¤à¤®à¤¾à¤¨ में आपके बà¥à¤²à¥‰à¤— खोज इंजन बाधा डाल रही है! गोपनीयता सेटिंगà¥à¤¸ इसे बदलते हैं." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 +msgid "open" +msgstr "खà¥à¤²à¤¾ होना" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "close" +msgstr "खà¥à¤²à¤¾ होना" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 +msgid "click-down and drag to move this box" +msgstr "नीचे कà¥à¤²à¤¿à¤• करें और इस को बॉकà¥à¤¸ डà¥à¤°à¥ˆà¤— करे. " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 +msgid "click to %toggle% this box" +msgstr "कà¥à¤²à¤¿à¤• करे %toggle%इस बॉकà¥à¤¸ पर " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "use the arrow keys to move this box" +msgstr "तीर कà¥à¤‚जी का उपयोग इस बॉकà¥à¤¸ पर करे. " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551 +msgid ", or press the enter key to %toggle% it" +msgstr ", या इंटर के दबाये %टॉगल % करने में " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:580 +msgid "About this Plugin:" +msgstr "इस पà¥à¤²à¤—इन के बारे में:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:581 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:181 +msgid "Plugin Homepage" +msgstr "पà¥à¤²à¤—इन मà¥à¤–पृषà¥à¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:582 +msgid "Suggest a Feature" +msgstr "à¤à¤• फीचर का सà¥à¤à¤¾à¤µ है" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:583 +msgid "Notify List" +msgstr "सूचित सूची" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584 +msgid "Support Forum" +msgstr "समरà¥à¤¥à¤¨ फोरम" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:585 +msgid "Report a Bug" +msgstr "à¤à¤• बग रिपोरà¥à¤Ÿ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Donate with PayPal" +msgstr "पेपैल के साथ दान" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:588 +msgid "My Amazon Wish List" +msgstr "मेरे अमेज़न इचà¥à¤›à¤¾ सूची" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 +msgid "translator_name" +msgstr "Outshine Solutions" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:589 +msgid "translator_url" +msgstr "http://outshinesolutions.com" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:593 +msgid "Sitemap Resources:" +msgstr "साइटमैप संसाधन:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:594 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:600 +msgid "Webmaster Tools" +msgstr "वेबमासà¥à¤Ÿà¤° उपकरण" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 +msgid "Webmaster Blog" +msgstr "वेबमासà¥à¤Ÿà¤° बà¥à¤²à¥‰à¤—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:597 +msgid "Site Explorer" +msgstr "साइट à¤à¤•à¥à¤¸à¤ªà¥à¤²à¥‹à¤°à¤°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:598 +msgid "Search Blog" +msgstr "खोज बà¥à¤²à¥‰à¤—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 +msgid "Webmaster Center Blog" +msgstr "वेबमासà¥à¤Ÿà¤° केंदà¥à¤° बà¥à¤²à¥‰à¤—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "Sitemaps Protocol" +msgstr "साइटमैप पà¥à¤°à¥‹à¤Ÿà¥‹à¤•à¥‰à¤²" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:604 +msgid "Official Sitemaps FAQ" +msgstr "सरकारी साइटमैप फैकà¥à¤¸" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605 +msgid "My Sitemaps FAQ" +msgstr "मेरा साइटमैप फैकà¥à¤¸ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:608 +msgid "Recent Donations:" +msgstr "हाल ही में दान" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:611 +msgid "List of the donors" +msgstr "दानदाताओं की सूची" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613 +msgid "Hide this list" +msgstr "सूची छिपाà¤à¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:616 +msgid "Thanks for your support!" +msgstr "आपके समरà¥à¤¥à¤¨ के लिठधनà¥à¤¯à¤µà¤¾à¤¦!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:638 +msgid "The sitemap wasn't generated yet." +msgstr "साइटमैप अभी तक सृजित नहीं किया गया." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:641 +msgid "Result of the last build process, started on %date%." +msgstr "पिछले निरà¥à¤®à¤¾à¤£ पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ के परिणाम, शà¥à¤°à¥‚ में % तिथि%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:650 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "साइटमैप अभी तक नहीं बनाई गई थी. यहां कà¥à¤²à¤¿à¤• करें पहली बार निरà¥à¤®à¤¾à¤£ करने में " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:656 +msgid "Your sitemap was last built on %date%." +msgstr "आपका साइटमैप पिछले पर बनाया गया था %तिथि ." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "पिछले सफल बनाने, लेकिन बाद में नषà¥à¤Ÿ कर दिया फ़ाइल या अब तक पहà¥à¤à¤šà¤¾ नहीं जा सकता था. कà¥à¤¯à¤¾ तà¥à¤® à¤à¤• सरà¥à¤µà¤° या डोमेन को अपने बà¥à¤²à¥‰à¤— में ला सकते हो?" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:659 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "वहाठà¤à¤• अपने साइटमैप फ़ाइल लेखन समसà¥à¤¯à¤¾ थी. सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ करें कि फ़ाइल मौजूद है और लिखने योगà¥à¤¯ है.अधिक जानें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:666 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "आपका साइटमैप(zipped) पिछले पर बनाया गया था %तिथि%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:667 +msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "पिछले ज़िपित सफल बनी, लेकिन बाद में फ़ाइल नषà¥à¤Ÿ कर दिया या अब तक पहà¥à¤à¤šà¤¾ नहीं जा सकता था." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:669 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "वहाठà¤à¤• ज़िपित साइटमैप फ़ाइल लेखन में समसà¥à¤¯à¤¾ थी. सà¥à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ करें कि फ़ाइल मौजूद है और लिखने योगà¥à¤¯ है. अधिक जानें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:675 +msgid "Google was successfully notified about changes." +msgstr "गूगल थी सफलतापूरà¥à¤µà¤• अधिसूचित परिवरà¥à¤¤à¤¨ के बारे में." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:678 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "इसे लेकर % समय% सेकंड के लिठGoogle को सूचित करे,शायद आप इस सà¥à¤µà¤¿à¤§à¤¾ को अकà¥à¤·à¤® करने का निरà¥à¤®à¤¾à¤£ समय को कम के लिठकरे." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:681 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "वहाठथोड़ी देर के लिठगूगल सूचित समसà¥à¤¯à¤¾ थी. देखें परिणाम" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "YAHOO was successfully notified about changes." +msgstr "याहू परिवरà¥à¤¤à¤¨ के बारे में सफलतापूरà¥à¤µà¤• अधिसूचित था" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "यह याहू %समय% सेकंड में सूचित करे,शायद आप इस सà¥à¤µà¤¿à¤§à¤¾ को अकà¥à¤·à¤® करने का निरà¥à¤®à¤¾à¤£ समय को कम करने के लिठकरे." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:693 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "यहाठयाहू को सूचित करने में समसà¥à¤¯à¤¾ थी, देखें परिणाम " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:699 +msgid "Bing was successfully notified about changes." +msgstr "बिंग सफलतापूरà¥à¤µà¤• / b> परिवरà¥à¤¤à¤¨ के बारे में <अधिसूचित था." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:702 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "यह बिंग को %समय% सेकंड में सूचित करे,शायद आप इस सà¥à¤µà¤¿à¤§à¤¾ को अकà¥à¤·à¤® करने का निरà¥à¤®à¤¾à¤£ समय को कम करने के लिठकरे." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:705 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "यहाठबिंग को सूचित करने में समसà¥à¤¯à¤¾ थी, देखें परिणाम " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:711 +msgid "Ask.com was successfully notified about changes." +msgstr "अशà¥à¤•.कॉम सफलतापूरà¥à¤µà¤• / b> परिवरà¥à¤¤à¤¨ के बारे में <अधिसूचित था." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "यह अशà¥à¤•.कॉम को %समय% सेकंड में सूचित करे,शायद आप इस सà¥à¤µà¤¿à¤§à¤¾ को अकà¥à¤·à¤® करने का निरà¥à¤®à¤¾à¤£ समय को कम करने के लिठकरे." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "यहाठअशà¥à¤•.कॉम को सूचित करने में समसà¥à¤¯à¤¾ थी, देखें परिणाम " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:725 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "निरà¥à¤®à¤¾à¤£ की पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ % समय% सेकंड लेगी पूरी तरह पूरा करने में और इसà¥à¤¤à¥‡à¤®à¤¾à¤²% सà¥à¤®à¥ƒà¤¤à¤¿ % MB सà¥à¤®à¥ƒà¤¤à¤¿ करेगी. " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 +msgid "The building process took about %time% seconds to complete." +msgstr "निरà¥à¤®à¤¾à¤£ की पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ % समय% सेकंड लेगी पूरी तरह पूरा करने में" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:731 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "आपके साइटमैप की सामगà¥à¤°à¥€ नहीं बदल पिछली बार के बाद से तो फाइल लिखा नहीं खोज इंजन pinged नहीं था और थे." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "निरà¥à¤®à¤¾à¤£ की पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ अब भी सकà¥à¤°à¤¿à¤¯ हो सकती है! कà¥à¤› ही सेकंड में पृषà¥à¤  पà¥à¤¨à¤ƒ लोड करे और जांच करे अगर कà¥à¤› बदल गया है." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:742 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "पिछले भाग समापà¥à¤¤ नहीं किया! यद तà¥à¤®à¥à¤¹à¥‡à¤‚ याद हो या समय PHP लिपियों के लिठसीमा बढ़ा सकते हैं अधिक जानें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "सà¥à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿ थी की अंतिम जà¥à¤žà¤¾à¤¤ मेमोरी उपयोग %memused%MB,पने सरà¥à¤µà¤° की सीमा% memlimit% है." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "सà¥à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿ की अंतिम जà¥à¤žà¤¾à¤¤ निषà¥à¤ªà¤¾à¤¦à¤¨ समय %timeused% seconds, अपने सरà¥à¤µà¤° की सीमा% timelimit% सेकंड है." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "सà¥à¤•à¥à¤°à¤¿à¤ªà¥à¤Ÿ के बाद आसपास की संखà¥à¤¯à¤¾ रोका %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:755 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "यदि सरà¥à¤µà¤° या बà¥à¤²à¥‰à¤— पर कà¥à¤› बदल गया है ,आपका <साइटमैप पà¥à¤¨à¤°à¥à¤¨à¤¿à¤°à¥à¤®à¤¾à¤£ / a> मैनà¥à¤¯à¥à¤…ल रूप से होना चाहिà¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "यदि आप किसी भी समसà¥à¤¯à¤¾à¤“ं का सामना पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ बनाने के साथ सकते हैं आप उपयोग कर सकते हैं समारोह डिबग के बारे में अधिक जानकारी पाने के लिà¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 +msgid "Basic Options" +msgstr "मूलभूत विकलà¥à¤ª" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 +msgid "Sitemap files:" +msgstr "साइटमैप फ़ाइलें हैं:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 +msgid "Learn more" +msgstr "अधिक जानें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:771 +msgid "Write a normal XML file (your filename)" +msgstr "à¤à¤• सामानà¥à¤¯ XML फ़ाइल लिखना (आपकी फ़ाइल नाम)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "लिखें gzipped फ़ाइल (फ़ाइल नाम आपके + gz.)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:781 +msgid "Building mode:" +msgstr "निरà¥à¤®à¤¾à¤£ मोड:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "पà¥à¤¨à¤°à¥à¤¨à¤¿à¤°à¥à¤®à¤¾à¤£ साइटमैप यदि आप अपने बà¥à¤²à¥‰à¤— की सामगà¥à¤°à¥€ को बदलते है " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793 +msgid "Enable manual sitemap building via GET Request" +msgstr "सकà¥à¤·à¤® मैनà¥à¤…ल के जरिठसाइटमैप निरà¥à¤®à¤¾à¤£ अनà¥à¤°à¥‹à¤§ पà¥à¤°à¤¾à¤ªà¥à¤¤" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the result box above to see if sitemap was successfully built." +msgstr "यह आप अपने साइटमैप ताज़ा करने की अनà¥à¤®à¤¤à¤¿ देगा अगर à¤à¤• बाहà¥à¤¯ उपकरण WordPress API का उपयोग किठबिना WordPress डेटाबेस में लिखा था. निमà¥à¤¨à¤²à¤¿à¤–ित यूआरà¤à¤² का पà¥à¤°à¤¯à¥‹à¤— करें पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ शà¥à¤°à¥‚ करने के %1 लिà¤: कृपया ऊपर परिणाम बॉकà¥à¤¸ को चेक करें यदि साइटमैप सफलतापूरà¥à¤µà¤• बनाया गया था देखने" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Update notification:" +msgstr "अदà¥à¤¯à¤¤à¤¨ सूचना:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "Notify Google about updates of your Blog" +msgstr "सूचित करे आपके बà¥à¤²à¥‰à¤— के अदà¥à¤¯à¤¤à¤¨ के बारे में गूगल" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "कोई पंजीकरण की आवशà¥à¤¯à¤•à¤¤à¤¾ नहीं है, लेकिन आप शामिल हो सकते हैं गूगल वेबमासà¥à¤Ÿà¤° उपकरण आà¤à¤•à¤¡à¤¼à¥‹à¤‚ को खंगालने की जाà¤à¤š करें." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:810 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "बिंग सूचित करे आपके बà¥à¤²à¥‰à¤— के अदà¥à¤¯à¤¤à¤¨ के बारे में (पूरà¥à¤µ MSN लाइव खोज)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:811 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "कोई पंजीकरण की आवशà¥à¤¯à¤•à¤¤à¤¾ नहीं है, लेकिन आप शामिल हो सकते हैं गूगल वेबमासà¥à¤Ÿà¤° उपकरण आà¤à¤•à¤¡à¤¼à¥‹à¤‚ को खंगालने की जाà¤à¤š करें." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:815 +msgid "Notify Ask.com about updates of your Blog" +msgstr "अशà¥à¤•.कॉम को सूचित करे आपके बà¥à¤²à¥‰à¤— के अदà¥à¤¯à¤¤à¤¨ के बारे में " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "No registration required." +msgstr "कोई पंजीकरण की आवशà¥à¤¯à¤•à¤¤à¤¾ नहीं है," + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:820 +msgid "Notify YAHOO about updates of your Blog" +msgstr "याहू को सूचित करे आपके बà¥à¤²à¥‰à¤— के अदà¥à¤¯à¤¤à¤¨ के बारे में " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +msgid "Your Application ID:" +msgstr "आपका आवेदन आईडी:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "कà¥à¤¯à¤¾ नहीं है?यहाठà¤à¤• अनà¥à¤°à¥‹à¤§ करे! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "जोड़ें आभासी robots.txt फ़ाइल के लिठURL साइटमैप." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "आभासी WordPress दà¥à¤µà¤¾à¤°à¤¾ उतà¥à¤ªà¤¨à¥à¤¨ robots.txt पà¥à¤°à¤¯à¥‹à¤— किया जाता है. à¤à¤• असली robots.txt फ़ाइल बà¥à¤²à¥‰à¤— निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ में मौजूद नहीं होगा!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:834 +msgid "Advanced options:" +msgstr "उनà¥à¤¨à¤¤ विकलà¥à¤ª हैं:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 +msgid "Limit the number of posts in the sitemap:" +msgstr "साइटमैप में पदों की संखà¥à¤¯à¤¾ सीमा:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:837 +msgid "Newer posts will be included first" +msgstr "नठपदों को पहले शामिल किया जाà¤à¤—ा" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 +msgid "Try to increase the memory limit to:" +msgstr "सà¥à¤®à¥ƒà¤¤à¤¿ सीमा बढ़ाने की कोशिश करें:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:840 +msgid "e.g. \"4M\", \"16M\"" +msgstr "e.g. \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 +msgid "Try to increase the execution time limit to:" +msgstr "सà¥à¤®à¥ƒà¤¤à¤¿ सीमा बढ़ाने की कोशिश करें:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:843 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "सेकंड में, e.g. \"60\" or \"0\" के लिठअसीमित" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:847 +msgid "Include a XSLT stylesheet:" +msgstr "à¤à¤• XSLT stylesheet शामिल करें:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 +msgid "Full or relative URL to your .xsl file" +msgstr "पूरà¥à¤£ या अपने रिशà¥à¤¤à¥‡à¤¦à¤¾à¤°. Xsl फ़ाइल के लिठURL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:848 +msgid "Use default" +msgstr " डिफ़ॉलà¥à¤Ÿ का पà¥à¤°à¤¯à¥‹à¤— करें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:854 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "सकà¥à¤·à¤® MySQL मानक मोड. यह सिरà¥à¤« अगर हो रही है MySQL तà¥à¤°à¥à¤Ÿà¤¿à¤¯à¥‹à¤‚ का पà¥à¤°à¤¯à¥‹à¤— करें. (आवशà¥à¤¯à¤•à¤¤à¤¾à¤“ं अधिक सà¥à¤®à¥ƒà¤¤à¤¿!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:855 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "अदà¥à¤¯à¤¤à¤¨ में कम से कम 2.2 के लिठWordPress तेजी से सकà¥à¤·à¤® करने के लिठMySQL का उपयोग" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "निरà¥à¤®à¤¾à¤£ की पà¥à¤°à¤•à¥à¤°à¤¿à¤¯à¤¾ में à¤à¤• पृषà¥à¤ à¤­à¥‚मि साइटमैप (आप के लिठइंतजार करना तà¥à¤® à¤à¤• के बाद जब बचाने के लिठनहीं है)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "अदà¥à¤¯à¤¤à¤¨ में कम से कम 2.1 के लिठWordPress पृषà¥à¤ à¤­à¥‚मि निरà¥à¤®à¤¾à¤£ सकà¥à¤·à¤® करने के लिà¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:870 +msgid "Additional pages" +msgstr "अतिरिकà¥à¤¤ पृषà¥à¤ à¥‹à¤‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:873 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "यहाठआप फ़ाइलों या यूआरà¤à¤² जो साइटमैप में शामिल किया जाना चाहिठनिरà¥à¤¦à¤¿à¤·à¥à¤Ÿ कर सकते हैं, लेकिन आपके बà¥à¤²à¥‰à¤— /WordPress का नहीं.
    उदाहरण के लिà¤,यदि आपके डोमेन www.foo.com और अपने बà¥à¤²à¥‰à¤— पर सà¥à¤¥à¤¿à¤¤ www.foo.com / बà¥à¤²à¥‰à¤— आप www.foo.com पर अपने मà¥à¤–पृषà¥à¤  शामिल करना चाहते हो " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:875 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1106 +msgid "Note" +msgstr "नोट" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:876 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "यदि आपका बà¥à¤²à¥‰à¤— à¤à¤• subdirectory में है और आप पृषà¥à¤ à¥‹à¤‚ जो बà¥à¤²à¥‰à¤— निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ या नीचे में नहीं जोड़ना चाहते हैं, तà¥à¤® जरूरी रूट निरà¥à¤¦à¥‡à¤¶à¤¿à¤•à¤¾ में आपके साइटमैप फ़ाइल सà¥à¤¥à¤¾à¤¨ (आपके साइटमैप फ़ाइल \"सà¥à¤¥à¤¾à¤¨ पर देखो इस पृषà¥à¤  पर\" अनà¥à¤­à¤¾à¤—)!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:878 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:917 +msgid "URL to the page" +msgstr "पृषà¥à¤  के यूआरà¤à¤²" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "पृषà¥à¤  के URL दरà¥à¤œ करें. उदाहरण: http://www.foo.com/index.html or www.foo.com/home " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918 +msgid "Priority" +msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "षà¥à¤  की पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ के अनà¥à¤¯ पनà¥à¤¨à¥‹à¤‚ के सापेकà¥à¤· चà¥à¤¨à¥‡à¤‚. उदाहरण के लिà¤, अपने होमपेज पर अपनी छाप से à¤à¤• उचà¥à¤š पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ होगी." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:920 +msgid "Last Changed" +msgstr "पिछले परिवरà¥à¤¤à¤¿à¤¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:885 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "पिछले परिवरà¥à¤¤à¤¨ के रूप में की तारीख दरà¥à¤œ करें YYYY-MM-DD (उदाहरण के लिठ2005/12/31)(वैकलà¥à¤ªà¤¿à¤•)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:919 +msgid "Change Frequency" +msgstr "बदलें आवृतà¥à¤¤à¤¿" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:921 +msgid "#" +msgstr "#" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:926 +msgid "No pages defined." +msgstr "कोई परिभाषित पृषà¥à¤ à¥‹à¤‚ नहीं." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:931 +msgid "Add new page" +msgstr "नया पृषà¥à¤  जोड़ें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:936 +msgid "Post Priority" +msgstr "पोसà¥à¤Ÿ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938 +msgid "Please select how the priority of each post should be calculated:" +msgstr "कृपया चयन करे कैसे पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• पोसà¥à¤Ÿ की पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ की गणना की जानी चाहिà¤:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 +msgid "Do not use automatic priority calculation" +msgstr "सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ गणना का पà¥à¤°à¤¯à¥‹à¤— न करें" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:940 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "सभी पदों को ही पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ होगी जो परिभाषित है में " पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾à¤“ं "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:951 +msgid "Location of your sitemap file" +msgstr "आपके साइटमैप के सà¥à¤¥à¤¾à¤¨ फाइल" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:954 +msgid "Automatic detection" +msgstr "सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ पहचान" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:958 +msgid "Filename of the sitemap file" +msgstr "साइटमैप फ़ाइल का फ़ाइल नाम" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 +msgid "Detected Path" +msgstr "पता पथ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:961 +msgid "Detected URL" +msgstr "पता पथ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:966 +msgid "Custom location" +msgstr "पसंदीदा सà¥à¤¥à¤¾à¤¨" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:970 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "निरपेकà¥à¤· या रिशà¥à¤¤à¥‡à¤¦à¤¾à¤° साइटमैप फ़ाइल के पथ, नाम भी शामिल है." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:972 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981 +msgid "Example" +msgstr "उदाहरण" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:979 +msgid "Complete URL to the sitemap file, including name." +msgstr "पूरा साइटमैप फ़ाइल यूआरà¤à¤², नाम भी शामिल है." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992 +msgid "Sitemap Content" +msgstr "साइटमैप सामगà¥à¤°à¥€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:998 +msgid "Include homepage" +msgstr "शामिल मà¥à¤–पृषà¥à¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 +msgid "Include posts" +msgstr "शामिल पदों" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "शामिल बहॠके अगले पृषà¥à¤  का पद (वृदà¥à¤§à¤¿ समय और सà¥à¤®à¥ƒà¤¤à¤¿ के उपयोग का निरà¥à¤®à¤¾à¤£!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1016 +msgid "Include static pages" +msgstr "शामिल सà¥à¤¥à¥ˆà¤¤à¤¿à¤• पृषà¥à¤ à¥‹à¤‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 +msgid "Include categories" +msgstr "शामिल शà¥à¤°à¥‡à¤£à¤¿à¤¯à¤¾à¤‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1028 +msgid "Include archives" +msgstr "शामिल अभिलेखागार" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1035 +msgid "Include tag pages" +msgstr "शामिल टैग पृषà¥à¤ " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "शामिल पृषà¥à¤ à¥‹à¤‚ के वरà¥à¤—ीकरण के लिठ%s" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1061 +msgid "Include author pages" +msgstr "शामिल लेखक पृषà¥à¤ " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1065 +msgid "Further options" +msgstr "इसके अलावा विकलà¥à¤ª" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070 +msgid "Include the last modification time." +msgstr "अंतिम संशोधन का समय शामिल करें." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1072 +msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." +msgstr "यह अतà¥à¤¯à¤§à¤¿à¤• की सिफारिश की है और खोज इंजन में मदद करता है पता है जब आपके सामगà¥à¤°à¥€ बदल गया है. इस विकलà¥à¤ª को पà¥à¤°à¤­à¤¾à¤µà¤¿à¤¤ करता है सभी साइटमैप दरà¥à¤œ की हैं." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 +msgid "Excluded items" +msgstr "अपवरà¥à¤œà¤¿à¤¤ आइटम" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1081 +msgid "Excluded categories" +msgstr "अपवरà¥à¤œà¤¿à¤¤ शà¥à¤°à¥‡à¤£à¤¿à¤¯à¤¾à¤‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1083 +msgid "Using this feature will increase build time and memory usage!" +msgstr "इस सà¥à¤µà¤¿à¤§à¤¾ का उपयोग समय और मेमोरी उपयोग के निरà¥à¤®à¤¾à¤£ में वृदà¥à¤§à¤¿ होगी!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "इस सà¥à¤µà¤¿à¤§à¤¾ की आवशà¥à¤¯à¤•à¤¤à¤¾ कम से कम 2.5.1 WordPress,तà¥à¤® पà¥à¤°à¤¯à¥‹à¤— कर रहे हैं %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1093 +msgid "Exclude posts" +msgstr "बाहर निकालने के पदों" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 +msgid "Exclude the following posts or pages:" +msgstr "निमà¥à¤¨à¤²à¤¿à¤–ित पदों या पेज बाहर निकालें:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1095 +msgid "List of IDs, separated by comma" +msgstr "आईडी की सूची, अलà¥à¤ªà¤µà¤¿à¤°à¤¾à¤® के दà¥à¤µà¤¾à¤°à¤¾ अलग" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 +msgid "Child posts won't be excluded automatically!" +msgstr "बचà¥à¤šà¥‡ के पदों को सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤ रूप से बाहर नहीं जाà¤à¤—ा!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103 +msgid "Change frequencies" +msgstr "बदलें आवृतà¥à¤¤à¤¿à¤¯à¥‹à¤‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1107 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "कृपया धà¥à¤¯à¤¾à¤¨ दें कि इस टैग का मूलà¥à¤¯ à¤à¤• और संकेत à¤à¤• आदेश माना जाता है.हालांकि खोज इंजन crawlers जब इस निरà¥à¤£à¤¯ की जानकारी विचार,वे चिहà¥à¤¨à¤¿à¤¤ पृषà¥à¤ à¥‹à¤‚ कà¥à¤°à¥‰à¤² कर सकते हैं \"पà¥à¤°à¤¤à¤¿ घंटा \" है कि कम से अकà¥à¤¸à¤°, और वे पृषà¥à¤  कà¥à¤°à¥‰à¤² के रूप में चिहà¥à¤¨à¤¿à¤¤ कर सकते हैं \"वारà¥à¤·à¤¿à¤• \" अधिक से अधिक है कि अकà¥à¤¸à¤°.यह भी संभावना है कि crawlers समय समय पर पृषà¥à¤ à¥‹à¤‚ कà¥à¤°à¥‰à¤² जाà¤à¤—ा चिहà¥à¤¨à¤¿à¤¤ \"कभी \" ताकि वे उन पृषà¥à¤ à¥‹à¤‚ को अपà¥à¤°à¤¤à¥à¤¯à¤¾à¤¶à¤¿à¤¤ परिवरà¥à¤¤à¤¨ संभाल सकता हूà¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1113 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1170 +msgid "Homepage" +msgstr "मà¥à¤–पृषà¥à¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1119 +msgid "Posts" +msgstr "डाक" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1125 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1188 +msgid "Static pages" +msgstr "सà¥à¤¥à¥ˆà¤¤à¤¿à¤• पृषà¥à¤ à¥‹à¤‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1131 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1194 +msgid "Categories" +msgstr "शà¥à¤°à¥‡à¤£à¤¿à¤¯à¤¾à¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1137 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "इस महीने की मौजूदा संगà¥à¤°à¤¹ (करना चाहिठअपने होमपेज की तरह ही)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1143 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "पà¥à¤°à¤¾à¤¨à¥‡ अभिलेखागार (परिवरà¥à¤¤à¤¨ केवल अगर तà¥à¤® à¤à¤• पà¥à¤°à¤¾à¤¨à¥€ पोसà¥à¤Ÿ संपादित करें)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1150 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1207 +msgid "Tag pages" +msgstr "टैग पृषà¥à¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1157 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1214 +msgid "Author pages" +msgstr "लेखक पृषà¥à¤ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1165 +msgid "Priorities" +msgstr "पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾à¤à¤‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1176 +msgid "Posts (If auto calculation is disabled)" +msgstr "पदों (यदि सà¥à¤µà¤¤: गणना अकà¥à¤·à¤® है)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1182 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "नà¥à¤¯à¥‚नतम पोसà¥à¤Ÿ पà¥à¤°à¤¾à¤¥à¤®à¤¿à¤•à¤¤à¤¾ (अगर ऑटो गणना सकà¥à¤·à¤® है)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1200 +msgid "Archives" +msgstr "अभिलेखागार" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1225 +msgid "Update options" +msgstr "अदà¥à¤¯à¤¤à¤¨ विकलà¥à¤ª" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1226 +msgid "Reset options" +msgstr "रीसेट विकलà¥à¤ª" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 +msgid "XML-Sitemap Generator" +msgstr "XML-साइटमैप जनरेटर" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:95 +msgid "XML-Sitemap" +msgstr "XML - साइटमैप" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:109 +msgid "Settings" +msgstr "सेटिंगà¥à¤¸" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:110 +msgid "FAQ" +msgstr "फैकà¥à¤¸ " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:111 +msgid "Support" +msgstr "सहायता" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:112 +msgid "Donate" +msgstr "दान" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:182 +msgid "Sitemap FAQ" +msgstr "साइटमैप फैकà¥à¤¸" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.mo new file mode 100644 index 0000000..ccbf36a Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.po new file mode 100644 index 0000000..6d4744e --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-hu_HU.po @@ -0,0 +1,596 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 2502 2005-07-03 20:50:38Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2007-11-05 23:44+0100\n" +"Last-Translator: Cenzi \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +msgid "Comment Count" +msgstr "Kommentek számolása" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Kommentek számának felhasználása a fontosság kiszámításához" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +msgid "Comment Average" +msgstr "Kommentek" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "Kommentek számolása, hogy a fontosságot megállapíthassa" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +msgid "Popularity Contest" +msgstr "Gyakori tartalom" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" + +msgid "XML-Sitemap Generator" +msgstr "Oldaltérkép generátor" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap" +msgstr "XML-Oldaltérkép" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Köszönjük a támogatást. Segíthez a plugin fejlesztésében, hogy mindez ingyenes maradhasson!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Hide this notice" +msgstr "Tanács elrejtése" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Köszönjük, hogy ezt a plugint használja! Kb. egy hónapja telepítette a plugint. Ha jól működik, és elégedett az eredményekkel, akkor nem adományozna a fejlesztéshez egy keveset? Adományok segíthetnek a fejleszésekben, hogy ez a plugin ingyenes maradhasson! Persze, nem probléma!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +msgid "No thanks, please don't bug me anymore!" +msgstr "Köszönöm, nem. Ne jelenjen meg többet." + +msgid "XML Sitemap Generator for WordPress" +msgstr "Oldaltérkép generátor WordPresshez" + +msgid "Configuration updated" +msgstr "Beállítások frissítve!" + +msgid "Error while saving options" +msgstr "Hiba az oldalak mentésekor" + +msgid "Pages saved" +msgstr "Oldalak mentve" + +msgid "Error while saving pages" +msgstr "Hiba az oldalak mentésekor" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#, php-format +msgid "Robots.txt file saved" +msgstr "Robots.txt fájl elmentve" + +msgid "Error while saving Robots.txt file" +msgstr "Hiba aa Robots.txt fájl mentésekor" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +msgid "The default configuration was restored." +msgstr "Alap beállítás visszaállítva." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +msgid "open" +msgstr "megnyit" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +msgid "close" +msgstr "bezár" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +msgid "click-down and drag to move this box" +msgstr "kattintson rá, és ragadja meg ezt a dobozt" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +msgid "click to %toggle% this box" +msgstr "kattintson, hogy %toggle% ezt a dobozt" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +msgid "use the arrow keys to move this box" +msgstr "használja a mozgatáshoz a jobbra, balra, fel és le billentyűket" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +msgid ", or press the enter key to %toggle% it" +msgstr ", vagy nyomja meg az enter gombot az %toggle% -hez." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +msgid "About this Plugin:" +msgstr "Pluginról:" + +msgid "Plugin Homepage" +msgstr "Plugin fÅ‘oldal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +msgid "Notify List" +msgstr "Értesítések" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +msgid "Support Forum" +msgstr "Fórum" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +msgid "Donate with PayPal" +msgstr "Adományozás (PayPal)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +msgid "My Amazon Wish List" +msgstr "My Amazon kívánságlista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_name" +msgstr "Cenzi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_url" +msgstr "http://blog.cenzi.hu" + +msgid "Sitemap Resources:" +msgstr "Oldaltérkép eredmények:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +msgid "Site Explorer" +msgstr "Oldal böngészése" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +msgid "Search Blog" +msgstr "KeresÅ‘ blog" + +msgid "Sitemaps Protocol" +msgstr "Oldaltérkép protokol" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +msgid "Official Sitemaps FAQ" +msgstr "Hivatalos oldaltérképek GYIK" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +msgid "My Sitemaps FAQ" +msgstr "Oldaltérképek GYIK" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +msgid "Recent Donations:" +msgstr "Adományok:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +msgid "List of the donors" +msgstr "Adományozók listája" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +msgid "Hide this list" +msgstr "Lista elrejtése" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +msgid "Thanks for your support!" +msgstr "Köszönjük a támogatást!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +msgid "Status" +msgstr "Ãllapot" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Az oldaltérkép még nem készült el. Kattints ide az elkészítéséhez." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +msgid "Your sitemap was last built on %date%." +msgstr "Az oldaltérkép legutóbbi felépítése: %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreTovábbzipped) was last built on %date%." +msgstr "Az oldaltérképed (tömörésének) ideje: %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreTovábbsuccessfully notified
    about changes." +msgstr "Google sikeresen értesítve lett a változásokról." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "%time% másodpercbe telt a Google értesítése, de kikapcsolható ez a funkció." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Probléma merült fel a Google értesítésénél. Eredmény megtekintése" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO sikeresen értesítve lett a változásokról." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "%time% másodpercbe telt a YAHOO értesítése, de kikapcsolható ez a funkció." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Probléma merült fel a YAHOO értesítésénél. Eredmény megtekintése" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com sikeresen értesítve lett a változásokról." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "%time% másodpercbe telt a Ask.com értesítése, de kikapcsolható ez a funkció." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Probléma merült fel a Ask.com értesítésénél. Eredmény megtekintése" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Felépítési folyamat kb. %time% másodperc ami %memory% MB memóriát használ fel." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +msgid "The building process took about %time% seconds to complete." +msgstr "Felépítési folyamat kb. %time% másodperc." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Az oldaltérkép tartalma nem változott, ezért nem lesznek a keresők megpingelve." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Nem sikerült! Talán kevés a memória. Tovább" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Az utolsó memóriahasználat %memused%MB volt, a memórialimit: %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "Az utolsó script használat %timeused% másodperc, a szervered limite: %timelimit% másodperc." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "A script megállt megközelítőleg a következő bejegyzési számnál: %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Ha valamilyen változás történik a blogodon vagy szervereden, akkor ajánlatos az oldaltérkép újraépítése kézzel." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Ha felmerül valamilyen probléma a felépítési folyamat során, akkor futtasd le a debug funkciót a további információért." + +msgid "Basic Options" +msgstr "Alap beállítások" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +msgid "Sitemap files:" +msgstr "Oldaltérkép fájlok:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Learn more" +msgstr "Tovább" + +msgid "Write a normal XML file (your filename)" +msgstr "Normál XML fájl írása (fájlnév)" + +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Gzippelt fájl írása (fájlév + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +msgid "Building mode:" +msgstr "Felépítési mód:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Oldaltérkép újraépítése, ha a blogod tartalma megváltozott" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +msgid "Enable manual sitemap building via GET Request" +msgstr "Kézi oldaltérkép engedélyezése a GET Request segítségével" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Ez engedélyezni fogja az oldaltérkép frissülését a WordPress adatbázisban. Használd a következő címet a folyamat elindításához: %1 Ellenőrizd a naplózó fájlt, hogy a folyamat befejeződött-e." + +msgid "Update notification:" +msgstr "Frissítési értesítések" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify Google about updates of your Blog" +msgstr "Google értesítése a blogod frissülésekor" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Nincs szükség a regisztráláshoz, de csatlakozhatsz a Google Webmaster Tools programhoz, hogy ellenőrizhesd a robotok statisztikáját." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Ask.com értesítése a blogod frissítésekor" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +msgid "No registration required." +msgstr "Nincs szükség a regisztrációhoz." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +msgid "Notify YAHOO about updates of your Blog" +msgstr "YAHOO értesítése a blogod frissítésekor" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3094 +#, php-format +msgid "No registration required, but you can sign up for the YAHOO Site Explorer to view the crawling progress." +msgstr "Nincs szükség a regisztráláshoz, de csatlakozhatsz a YAHOO Site Explorer programhoz, hogy ellenőrizhesd a robotok statisztikáját." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "%s fájl elkészítése vagy módosítása." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +msgid "File permissions: " +msgstr "Fájl engedélyek:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt írható." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +msgid "Error, robots.txt is not writable." +msgstr "Hiba, robots.txt nem írható." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt nem létezik, de a könyvtár írható." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Hiba, robots.txt nem létezik és a könyvtár nem írható." + +msgid "Advanced options:" +msgstr "Haladó beállítások:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Limit the number of posts in the sitemap:" +msgstr "Bejegyzések számának limitálása az oldaltérképben:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Newer posts will be included first" +msgstr "Újabb bejegyzések előre kerülnek" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "Try to increase the memory limit to:" +msgstr "Próbáld meg a memória limit emelését:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "e.g. \"4M\", \"16M\"" +msgstr "pl. \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "Try to increase the execution time limit to:" +msgstr "Próbáld meg a végrehajtási idő emelését:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "másodpercekben pl. \"60\" vagy \"0\" a korlátlanért" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Include a XSLT stylesheet:" +msgstr "XSLT stíluslap mellékelése:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Use Default" +msgstr "Alapbeállítás használata" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Full or relative URL to your .xsl file" +msgstr "Teljes vagy relatív URL elérése a .xsl fájlhoz" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Alap MySQL mód engedélyezése. Ezt csak akkor használd, ha MySQL hibákat tapasztalsz. (Sokkal több memóriára lesz szükség!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Háttérfolyamatként építse fel az oldaltérképet (Nem kell várni, amíg a bejegyzést elmented)" + +msgid "Additional pages" +msgstr "Oldalak" + +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Be tudod állítani azokat a fájlokat, amelyek nem tartoznak a blogodhoz.
    Például, ha a domainod www.akarmi.hu és a blogod a www.akarmi.hu/blog címen van, beleteheted a www.akarmi.hu címet is az oldaltérképbe." + +msgid "Note" +msgstr "Megjegyzés" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Ha a blogod egy alkönyvtárban van és olyan oldalakat szeretnél felvenni, amelyek nincsennek a blog könyvtárában, akkor a gyökér könyvtárban kell elhelyeznek az oldaltérképet." + +msgid "URL to the page" +msgstr "Oldal URL-je" + +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Ãrd be az oldal URL-jét. Például: http://www.akarmi.hu/index.html vagy www.akarmi.hu/home" + +msgid "Priority" +msgstr "Fontosság" + +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Válaszd ki az oldalak fontosságát. Például, a kezdÅ‘lapod lehet, hogy fontosabb, mint az aloldalak." + +msgid "Last Changed" +msgstr "Utolsó módosítás" + +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Ãrd be az utolsó módosítást YYYY-MM-DD (példaként: 2007-08-12) (ajánlott)." + +msgid "Change Frequency" +msgstr "Változások gyakorisága" + +msgid "#" +msgstr "#" + +msgid "No pages defined." +msgstr "Nincs oldal beállítva." + +msgid "Add new page" +msgstr "Új oldal felvétele" + +msgid "Post Priority" +msgstr "Bejegyzés fontossága" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Válaszd ki, hogyan működjön a fontosság kalkulálása" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "Do not use automatic priority calculation" +msgstr "Ne használja az automatikus fontosság kalkulálását" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Minden bejegyzés azonos fontosságú ami a "Fontosságok" alatt lett beállítva" + +msgid "Location of your sitemap file" +msgstr "Oldaltérkép fájl elérése" + +msgid "Automatic detection" +msgstr "Automatikus megállapítás" + +msgid "Filename of the sitemap file" +msgstr "Oldaltérkép fájl neve" + +msgid "Detected Path" +msgstr "Elérés" + +msgid "Detected URL" +msgstr "URL megállapítása" + +msgid "Custom location" +msgstr "Egyéni elérés" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Abszolút vagy relatív elérése az oldaltérkép fájlnak (fájl-névvel együtt)." + +msgid "Example" +msgstr "Példa" + +msgid "Complete URL to the sitemap file, including name." +msgstr "Teljes URL-je az oldaltérkép fájlnak (fájl-névvel együtt)." + +msgid "Sitemap Content" +msgstr "Oldaltérkép tartalma" + +msgid "Include homepage" +msgstr "FÅ‘oldal mellékelése" + +msgid "Include posts" +msgstr "Bejegyzések mellékelése" + +msgid "Include static pages" +msgstr "Statikus oldalak mellékelése" + +msgid "Include categories" +msgstr "Kategóriák mellékelése" + +msgid "Include archives" +msgstr "Arhívumok mellékelése" + +msgid "Include tag pages" +msgstr "Címkék oldalak melléklése" + +msgid "Include author pages" +msgstr "SzerzÅ‘ oldalak melléklése" + +msgid "Change frequencies" +msgstr "Változások gyakorisága" + +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." + +msgid "Homepage" +msgstr "FÅ‘oldal" + +msgid "Posts" +msgstr "Bejegyzések" + +msgid "Static pages" +msgstr "Statikus oldal" + +msgid "Categories" +msgstr "Kategóriák" + +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Jelenlegi hónap arhívuma (Megegyezik az oldaladéval)" + +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Régi archívumok (Ha egy régi bejegyzést módosítottál)" + +msgid "Tag pages" +msgstr "Címkék oldalak" + +msgid "Author pages" +msgstr "SzerzÅ‘ oldalak" + +msgid "Priorities" +msgstr "Fontosságok" + +msgid "Posts (If auto calculation is disabled)" +msgstr "Bejegyzések (Ha az automatikus kalkulálás ki van kapcsolva)" + +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minimum bejegyzések fontossága (Ha az automatikus kalkulálás engedélyezve van)" + +msgid "Archives" +msgstr "Archívumok" + +msgid "Update options" +msgstr "Beállítások frissítése" + +msgid "Reset options" +msgstr "Beállítások visszaállítása" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.mo new file mode 100644 index 0000000..ee8edc7 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.po new file mode 100644 index 0000000..03aca4c --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-it_IT.po @@ -0,0 +1,938 @@ +msgid "" +msgstr "" +"Project-Id-Version: Google Sitemap Generator in italiano\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-24 00:20+0100\n" +"PO-Revision-Date: 2009-08-24 19:14+0100\n" +"Last-Translator: Gianni Diurno (aka gidibao) \n" +"Language-Team: Gianni Diurno | http://gidibao.net/ \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Italian\n" +"X-Poedit-Country: ITALY\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "Numero dei commenti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Utilizza per calcolare la priorità il numero dei commenti all'articolo" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "Media dei commenti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "Utilizza per calcolare la priorità la media dei commenti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "Popularity Contest" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Utilizza il plugin attivato a nomePopularity Contest di Alex King. Vai sotto Impostazioni quindi Most Popular Posts" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 +msgid "Always" +msgstr "sempre" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 +msgid "Hourly" +msgstr "ogni ora" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 +msgid "Daily" +msgstr "ogni giorno" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1194 +msgid "Weekly" +msgstr "settimanalmente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1195 +msgid "Monthly" +msgstr "mensilmente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1196 +msgid "Yearly" +msgstr "annualmente" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1197 +msgid "Never" +msgstr "mai" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:97 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Grazie per la tua donazione. Mi hai aiutato nel proseguire lo sviluppo ed il supporto per questo plugin e per dell'altro software gratuito!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:97 +msgid "Hide this notice" +msgstr "Nascondi questo annuncio" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:103 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Grazie per l'utilizzo di questo plugin! Tu hai installato questo plugin più di un mese fa. Qualora funzionasse correttamente e tu fossi soddisfatto per i risultati, perché non donarmi un dollaro? Le donazioni mi aiuteranno nel proseguire lo sviluppo ed il supporto per questo plugin gratuito! Ecco la mia offerta!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:103 +msgid "No thanks, please don't bug me anymore!" +msgstr "No grazie. Non scocciarmi più!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:114 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "La tua sitemap sta per essere rigenerata. In relazione alla dimensione del tuo blog potrebbe occorrere un po' di tempo!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:116 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "La tua sitemap verrà rigenerata in %s secondi. In relazione alla dimensione del tuo blog potrebbe occorrere un po' di tempo!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:145 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:448 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Generator per WordPress" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:293 +msgid "Configuration updated" +msgstr "Configurazione aggiornata" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:294 +msgid "Error while saving options" +msgstr "Errore durante il savataggio delle opzioni" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:296 +msgid "Pages saved" +msgstr "Pagine salvate" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:297 +msgid "Error while saving pages" +msgstr "Errore durante il salvataggio delle pagine" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:304 +msgid "The default configuration was restored." +msgstr "La configurazione predefinita é stata ripristinata." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:461 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "E' disponibile una nuova versione di %1$s. Scarica qui la versione %3$s." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:463 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "E' disponibile una nuova versione di %1$s. Scarica qui la versione %3$s l'aggiornamento automatico non é disponibile per questo plugin." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:465 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "E' disponibile una nuova versione di %1$s. Scarica qui la versione %3$s oppure aggiorna in automatico." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:488 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:505 +msgid "open" +msgstr "apri" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:489 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:506 +msgid "close" +msgstr "chiudi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:490 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:507 +msgid "click-down and drag to move this box" +msgstr "clicca verso il basso e trascina per spostare questo riquadro" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:491 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:508 +msgid "click to %toggle% this box" +msgstr "clicca per %toggle% questo riquadro" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:492 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:509 +msgid "use the arrow keys to move this box" +msgstr "udsa il tasto freccia per spostare questo riquadro" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 +msgid ", or press the enter key to %toggle% it" +msgstr ", oppure premi il tasto Invio per %toggle%" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:528 +msgid "About this Plugin:" +msgstr "Info plugin:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:529 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:153 +msgid "Plugin Homepage" +msgstr "Plugin Homepage" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:530 +msgid "Suggest a Feature" +msgstr "Suggerimenti" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:531 +msgid "Notify List" +msgstr "Lista notifiche" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:532 +msgid "Support Forum" +msgstr "Forum di supporto" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "Report a Bug" +msgstr "Segnala un errore" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Donate with PayPal" +msgstr "Dona con PayPal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 +msgid "My Amazon Wish List" +msgstr "La mia Amazon Wish List" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "translator_name" +msgstr "Gianni Diurno" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "translator_url" +msgstr "http://gidibao.net/" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Sitemap Resources:" +msgstr "Risorse Sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:544 +msgid "Site Explorer" +msgstr "Site Explorer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +msgid "Search Blog" +msgstr "Search Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:548 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "Sitemaps Protocol" +msgstr "Protocollo Sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:551 +msgid "Official Sitemaps FAQ" +msgstr "FAQ ufficiale Sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "My Sitemaps FAQ" +msgstr "La mia Sitemaps FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 +msgid "Recent Donations:" +msgstr "Contributi recenti:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:559 +msgid "List of the donors" +msgstr "Lista dei donatori" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:561 +msgid "Hide this list" +msgstr "Nascondi questa lista" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 +msgid "Thanks for your support!" +msgstr "Grazie per il tuo supporto!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:584 +msgid "The sitemap wasn't generated yet." +msgstr "La sitemap non é stata ancora generata." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Result of the last build process, started on %date%." +msgstr "Risultato dell'ultimo processo di generazione, avviato il %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:596 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "La sitemap non é stata ancora generatat. Clicca qui per costruirla la prima volta." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:602 +msgid "Your sitemap was last built on %date%." +msgstr "La tua sitemap é stata generata il %date%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "La generazione é avvenuta con successo ma pare che il file é stato cancellato oppure non sia più accessibile. Hai forse spostato il tuo blog su di un altro server oppure hai cambiato il dominio?" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:605 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "Si é verificato un problema durante la scrittura del file sitemap. Assicurati che il file esista e sia scrivibile. Info" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "La tua sitemap (archivio .zip) é stata generata il %date%." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:613 +msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "La creazione del file .zip é avvenuta con successo ma pare che il file é stato cancellato oppure non sia più accessibile. Hai forse spostato il tuo blog su di un altro server oppure hai cambiato il dominio?" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:615 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "Si é verificato un problema durante la scrittura del file .zip della sitemap. Assicurati che il file esista e sia scrivibile . Info" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "Google was successfully notified about changes." +msgstr "Google ha ricevuto con successo la notifica dei cambiamenti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Sono stati necessari %time% secondi per la notifica a Google, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:627 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Si é verificato un errore durante la notifica a Google. Vedi risultato" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO ha ricevuto con successo la notifica dei cambiamenti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Sono stati necessari %time% secondi per la notifica a YAHOO, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:639 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Si é verificato un errore durante la notifica a YAHOO. Vedi risultato" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "Bing was successfully notified about changes." +msgstr "Bing ha ricevuto con successo la notifica dei cambiamenti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "Sono stati necessari %time% secondi per la notifica a Bing, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:651 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "Si é verificato un errore durante la notifica a Bing. Vedi risultato" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com ha ricevuto con successo la notifica dei cambiamenti." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Sono stati necessari %time% secondi per la notifica a Ask.com, meglio disattivare questa funzione in modo tale da poter ridurre i tempi di generazione." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:663 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Si é verificato un errore durante la notifica a Ask.com. Vedi risultato" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:671 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Sono stati necessari circa %time% secondi per completare il processo di costruzione e sono stati utilizzati %memory% MB di memoria." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:673 +msgid "The building process took about %time% seconds to complete." +msgstr "Sono stati necessari circa %time% secondi per completare il processo." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:677 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Il contenuto della tua sitemap non cambierà sino all'ultimo momento in modo tale che i file non scritti e nessun motore di ricerca ricevano il ping." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "La procedura di costruzione é ancora in atto! Ricarica tra alcuni secondi la pagina e verifica quindi se qualcosa fosse cambiato." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:688 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "L'ultima operazione non é ancora conclusa! Forse é necessario che tu aumenti la memoria oppure il limite di tempo per gli scripts PHP. Info" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:690 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "L'ultimo utilizzo di memoria conosciuto per lo script é %memused%MB, il limite del tuo server é %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:694 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "L'ultimo tempo di esecuzione dello script é stato di %timeused% secondi, il limite del tuo server é di %timelimit% secondi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Lo script si é fermato intorno al post numero %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:701 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Qualora avessi modificato qualcosa nel tuo blog o server dovrai rigenerare la sitemap manualmente." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:703 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Nel caso in cui rilevassi un qualche problema durante il processo di generazione, utilizza la funzione debug per ottenere maggiori informazioni." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:710 +msgid "Basic Options" +msgstr "Opzioni di Base" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 +msgid "Sitemap files:" +msgstr "File Sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:712 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Learn more" +msgstr "altre info" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:717 +msgid "Write a normal XML file (your filename)" +msgstr "Scrivi un normale file XML (nome del file)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:723 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Scrivi un file gzip (il nome del file + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:727 +msgid "Building mode:" +msgstr "Modalità generazione:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:732 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Rigenera la sitemap quando cambi il contenuto del tuo blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:739 +msgid "Enable manual sitemap building via GET Request" +msgstr "Abilita la generazione manuale della sitemap via GET Request" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:743 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the result box above to see if sitemap was successfully built." +msgstr "Questa operazione ti permetterà di rigenerare la sitemap qualora uno strumento esterno abbia operato una scrittura nel database di WordPress senza l'utilizzo della WordPress API. Utilizza l'URL a seguire per avviare il processo: %1 Verifica nel registro qui sopra se la generazione della sitemap é avvenuta con successo." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:747 +msgid "Update notification:" +msgstr "Notifica aggiornamenti:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:751 +msgid "Notify Google about updates of your Blog" +msgstr "Segnala a Google gli aggiornamenti del tuo blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:752 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Non é richiesta alcuna registrazione, vedi Google Webmaster Tools per le relative informazioni." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:756 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Segnala a Bing (ex MSN Live Search) gli aggiornamenti del tuo blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:757 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "Non é richiesta alcuna registrazione, vai alla pagina Bing Webmaster Tools per verificare le statistiche." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:761 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Segnala ad Ask.com gli aggiornamenti del tuo blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:762 +msgid "No registration required." +msgstr "Nessuna registrazione necessaria." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:766 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Segnala a YAHOO gli aggiornamenti del tuo blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:767 +msgid "Your Application ID:" +msgstr "La tua ID applicazione:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:768 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Non hai una chiave? Richiedine qui una! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:773 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Aggiungi l'URL della sitemap al file virtuale robot.txt " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "Verrà utilizzato il robots.txt virtuale generato da WordPress. Un file robots.txt reale NON deve esistere nella cartella del blog!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Advanced options:" +msgstr "Opzioni avanzate:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "Limit the number of posts in the sitemap:" +msgstr "Numero limite di articoli presenti nella sitemap:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "Newer posts will be included first" +msgstr "gli articoli più recenti verranno inclusi per primi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Try to increase the memory limit to:" +msgstr "Prova ad aumentare il limite di memoria a:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "e.g. \"4M\", \"16M\"" +msgstr "es. \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:789 +msgid "Try to increase the execution time limit to:" +msgstr "Prova ad aumentare il limite del tempo di esecuzione a:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:789 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "in secondi, es. \"60\" o \"0\" per nessun limite" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:793 +msgid "Include a XSLT stylesheet:" +msgstr "Includi un foglio di stile XSLT: " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:794 +msgid "Full or relative URL to your .xsl file" +msgstr "URL al tuo file .xsl " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:794 +msgid "Use default" +msgstr "Utilizza predefinito" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:800 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Abilita la modalità MySQL standard. Solo in caso di errori MySQL. (ampio utilizzo della memoria!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "Aggiorna almeno a WordPress 2.2 per attivare un accesso MySQL più veloce" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:808 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Costruisci la sitemap con una procedura in background (nessuna attesa durante il salvataggio di un articolo)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:809 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "Aggiorna almeno a WordPress 2.1 per attivare la generazione in background" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "Additional pages" +msgstr "Pagine aggiuntive" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Qui è possibile specificare file o URL che dovranno venir incluse nella sitemap ma che non appartengono al vostro Blog/WordPress.
    Ad esempio, se il vostro dominio è www.foo.com ed il vostro blog è posizionato in www.foo.com/blog potreste voler includere la vostra homepage in www.foo.com" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1024 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 +msgid "Note" +msgstr "Nota" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Se il tuo blog fosse allocato in una sottodirectory e desiderassi aggiungere delle pagine che NON si trovano nella directory del blog o sotto di essa, DOVRAI posizionare il tuo file di sitemap nella directory radice (vedi la sezione "Posizione del file di sitemap" su questa pagina)!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "URL to the page" +msgstr "URL della pagina" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "inserire la URL della pagina. Ad esempio: http://www.foo.com/index.html oppure www.foo.com/home " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "Priority" +msgstr "Priorità" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "scegli la priorità di questa pagina in relazione alle altre. Ad esempio, la tua homepage dovrebbe avere una priorità maggiore rispetto alle altre pagine." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:830 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:866 +msgid "Last Changed" +msgstr "Ultima modifica" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:831 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Inserisci la data dell'ultima modifica nel formato YYYY-MM-DD (ad esempio 2005-12-31) (opzionale)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:865 +msgid "Change Frequency" +msgstr "Cambia frequenza" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:867 +msgid "#" +msgstr "#" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:872 +msgid "No pages defined." +msgstr "Nessuna pagina definita" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:877 +msgid "Add new page" +msgstr "Aggiungi nuova pagina" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:882 +msgid "Post Priority" +msgstr "Priorità articolo" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:884 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Seleziona come deve essere calcolata la priorità per ogni articolo:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:886 +msgid "Do not use automatic priority calculation" +msgstr "Non utilizzare il calcolo automatico della priorità" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:886 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Tutti gli articoli hanno la stessa priorità definita in "Prioritià"" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 +msgid "Location of your sitemap file" +msgstr "Posizione del file di sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:900 +msgid "Automatic detection" +msgstr "Rilevazione automatica" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Filename of the sitemap file" +msgstr "Nome del file di sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:907 +msgid "Detected Path" +msgstr "Percorso determinato" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:907 +msgid "Detected URL" +msgstr "URL determinata" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:912 +msgid "Custom location" +msgstr "Località personalizzata" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:916 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Percorso" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:927 +msgid "Example" +msgstr "Esempio" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:925 +msgid "Complete URL to the sitemap file, including name." +msgstr "URL completa al file di sitemap, compreso il nome del file" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:938 +msgid "Sitemap Content" +msgstr "Contenuto sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:944 +msgid "Include homepage" +msgstr "Includi homepage" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:950 +msgid "Include posts" +msgstr "Includi articoli" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:911 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:956 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "Includi le seguenti pagine di articoli pagina-multipla (incrementa il tempo di generazione e l'utilizzo di memoria!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:962 +msgid "Include static pages" +msgstr "Includi pagine statiche" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:968 +msgid "Include categories" +msgstr "Includi categorie" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:974 +msgid "Include archives" +msgstr "Includi gli archivi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:981 +msgid "Include tag pages" +msgstr "Includi pagine tag" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:988 +msgid "Include author pages" +msgstr "Includi pagine autore" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:992 +msgid "Further options" +msgstr "Opzioni aggiuntive" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +msgid "Include the last modification time." +msgstr "Includi ora dell'ultima modifica." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:999 +msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." +msgstr "Questa operazione é altamente raccomandata poiché aiuta i motori di ricerca a conoscere quando sono stati modificati i contenuti. Questa opzione avrà influenza su tutti i contenuti della sitemap." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1006 +msgid "Excluded items" +msgstr "Escludi elementi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1008 +msgid "Excluded categories" +msgstr "Categorie escluse" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1010 +msgid "Using this feature will increase build time and memory usage!" +msgstr "l'utilizzo di questa funzione aumenterà il tempo di generazione e l'utilizzo di memoria!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "Questa funzione richiede come minimo WordPress 2.5.1, tu stai usando %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 +msgid "Exclude posts" +msgstr "Escludi articoli" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 +msgid "Exclude the following posts or pages:" +msgstr "Escludi i seguenti articoli o pagine:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1022 +msgid "List of IDs, separated by comma" +msgstr "separa tra loro con una virgola i vari ID" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1024 +msgid "Child posts won't be excluded automatically!" +msgstr "gli articoli child non saranno automaticamente esclusi!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1030 +msgid "Change frequencies" +msgstr "Modifica frequenze" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1034 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Si noti che il valore di questo tag è da considerarsi un suggerimento e non un comando. Anch se i motori di ricerca prendono in considerazione questa informazione quando decidono cosa indicizzare, potrebbero comunque indicizzare le pagine marcate \"ogni ora\" meno frequentemente così come potrebbero analizzare le pagine marcate come \"annualmente\" più frequentemente. È anche probabile che i moori analizzino periodicamente anche le pagine marcate con \"mai\" per gestire eventuali modifiche inaspettate in queste pagine." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1040 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1097 +msgid "Homepage" +msgstr "Homepage" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1046 +msgid "Posts" +msgstr "Articoli" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1052 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1115 +msgid "Static pages" +msgstr "Pagine statiche" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1058 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Categories" +msgstr "Categorie" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Archivo del mese corrente (dovrebbe avere lo stesso valore della homepage)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1070 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Archivi precedenti (cambia solo se modificato un vecchio articolo)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1077 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1134 +msgid "Tag pages" +msgstr "Pagine tag" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1141 +msgid "Author pages" +msgstr "Pagine autore" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1092 +msgid "Priorities" +msgstr "Priorità" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1103 +msgid "Posts (If auto calculation is disabled)" +msgstr "Articoli (se disabilitato il calcolo automatico)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1109 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Priorità minima degli articoli (anche se fosse stato abilitato il calcolo automatico)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1127 +msgid "Archives" +msgstr "Archivi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1152 +msgid "Update options" +msgstr "Aggiorna le opzioni" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1153 +msgid "Reset options" +msgstr "Ripristina le opzioni" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:87 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:87 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:101 +msgid "Settings" +msgstr "Impostazioni" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:102 +msgid "FAQ" +msgstr "FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:103 +msgid "Support" +msgstr "Supporto" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:104 +msgid "Donate" +msgstr "Donazione" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:154 +msgid "Sitemap FAQ" +msgstr "Sitemap FAQ" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja.mo new file mode 100644 index 0000000..a9357b4 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja.po new file mode 100644 index 0000000..611c319 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja.po @@ -0,0 +1,968 @@ +# Japanese Language File for sitemap (sitemap-ja.po) +# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ +# Copyright (C) 2009 Naoko McCracken : http://detlog.org/ +# This file is distributed under the same license as the WordPress package. +# hiromasa , 2005. +# Naoko McCracken , 2009 +msgid "" +msgstr "" +"Project-Id-Version: Google Sitemaps 3.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-06-07 01:15+0100\n" +"PO-Revision-Date: 2009-07-02 23:37-0500\n" +"Last-Translator: Naoko McCracken \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Language: Japanese\n" +"X-Poedit-Country: JAPAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "コメント数" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "コメント数ã‹ã‚‰æŠ•ç¨¿ã®å„ªå…ˆé †ä½ã‚’計算ã™ã‚‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "å¹³å‡ã‚³ãƒ¡ãƒ³ãƒˆæ•°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "å¹³å‡ã‚³ãƒ¡ãƒ³ãƒˆæ•°ã‚’使ã£ã¦å„ªå…ˆé †ä½ã‚’計算ã™ã‚‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "Popularity Contest (人気コンテスト)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "有効化済ã¿ã®ã€Alex King ã«ã‚ˆã‚‹Popularity Contest (人気コンテスト) プラグインを使用ã—ã¾ã™ã€‚設定ã¨äººæ°—ã®æŠ•ç¨¿ã‚’ã”覧ãã ã•ã„。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 +msgid "Always" +msgstr "常時" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 +msgid "Hourly" +msgstr "毎時" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 +msgid "Daily" +msgstr "毎日" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 +msgid "Weekly" +msgstr "毎週" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 +msgid "Monthly" +msgstr "毎月" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 +msgid "Yearly" +msgstr "毎年" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 +msgid "Never" +msgstr "æ›´æ–°ãªã—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "寄付をã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚ã‚ãªãŸã®å”力ã«ã‚ˆã‚Šã€ã“ã®ãƒ—ラグインやãã®ä»–ã®ç„¡æ–™ã‚½ãƒ•ãƒˆã®ã‚µãƒãƒ¼ãƒˆã‚„開発を続ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ !" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Hide this notice" +msgstr "ã“ã®é€šçŸ¥ã‚’éš ã™" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "ã“ã®ãƒ—ラグインを使ã£ã¦ãã‚Œã¦ã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ ! 1ヶ月以上å‰ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¦ãã‚ŒãŸã‚ˆã†ã§ã™ã­ã€‚ã‚‚ã—ã†ã¾ã動作ã—ã¦ã„ã¦ã€çµæžœã«æº€è¶³ã—ã¦ã„ã‚‹ãªã‚‰ã€1ドルã®ä¾¡å€¤ã¯ã‚ã‚Šã¾ã›ã‚“ã‹ ? ã‚ãªãŸã®å¯„付ãŒã€ã“ã®ç„¡æ–™ã®ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ã‚µãƒãƒ¼ãƒˆã¨é–‹ç™ºã‚’続ã‘る支æ´ã«ãªã‚Šã¾ã™ã€‚ã‚‚ã¡ã‚ã‚“ !" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +msgid "No thanks, please don't bug me anymore!" +msgstr "çµæ§‹ã§ã™ã€‚ã‚‚ã†ã†ã‚‹ã•ã言ã‚ãªã„ã§ãã ã•ã„ !" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "サイトマップを更新ã—ã¦ã„ã¾ã™ã€‚ブログã®ã‚µã‚¤ã‚ºã«ã‚ˆã£ã¦ã¯ã—ã°ã‚‰ã時間ãŒã‹ã‹ã‚‹ã§ã—ょã†ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "%s秒後ã«ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ã‚’æ›´æ–°ã—ã¾ã™ã€‚ブログã®ã‚µã‚¤ã‚ºã«ã‚ˆã£ã¦ã¯ã—ã°ã‚‰ã時間ãŒã‹ã‹ã‚‹ã§ã—ょã†ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Generator for WordPress" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 +msgid "Configuration updated" +msgstr "設定を更新ã—ã¾ã—ãŸã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 +msgid "Error while saving options" +msgstr "設定ã®ä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 +msgid "Pages saved" +msgstr "追加ページã®è¨­å®šã‚’ä¿å­˜ã—ã¾ã—ãŸã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 +msgid "Error while saving pages" +msgstr "追加ページã®è¨­å®šã®ä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 +msgid "The default configuration was restored." +msgstr "åˆæœŸè¨­å®šã«æˆ»ã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® %1$s ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %3$s をダウンロード" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® %1$s ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %3$s をダウンロードã“ã®ãƒ—ラグインã§ã¯è‡ªå‹•ã‚¢ãƒƒãƒ—グレードã¯ä½¿ãˆã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã® %1$s ãŒã‚ã‚Šã¾ã™ã€‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %3$s をダウンロードã™ã‚‹ã‹ã€è‡ªå‹•ã‚¢ãƒƒãƒ—グレードを行ã£ã¦ãã ã•ã„。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 +msgid "open" +msgstr "é–‹ã" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 +msgid "close" +msgstr "é–‰ã˜ã‚‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 +msgid "click-down and drag to move this box" +msgstr "クリック&ドラッグã§ã“ã®ãƒœãƒƒã‚¯ã‚¹ã‚’移動" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 +msgid "click to %toggle% this box" +msgstr "クリックã—ã¦ã“ã®ãƒœãƒƒã‚¯ã‚¹ã‚’ %toggle%" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 +msgid "use the arrow keys to move this box" +msgstr "矢å°ã‚’使ã£ã¦ã“ã®ãƒœãƒƒã‚¯ã‚¹ã‚’移動" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 +msgid ", or press the enter key to %toggle% it" +msgstr "ã¾ãŸã¯ Enter キーを押ã—ã¦%toggle% " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "About this Plugin:" +msgstr "ã“ã®ãƒ—ラグインã«ã¤ã„ã¦:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 +msgid "Plugin Homepage" +msgstr "プラグインã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Suggest a Feature" +msgstr "機能をæ案" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 +msgid "Notify List" +msgstr "通知一覧" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "Support Forum" +msgstr "サãƒãƒ¼ãƒˆãƒ•ã‚©ãƒ¼ãƒ©ãƒ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 +msgid "Report a Bug" +msgstr "ãƒã‚°ã‚’報告" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Donate with PayPal" +msgstr "PayPal ã§å¯„付" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +msgid "My Amazon Wish List" +msgstr "Amazon ã»ã—ã„物リスト" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_name" +msgstr "translator_name" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_url" +msgstr "translator_url" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "Webmaster Tools" +msgstr "ウェブマスターツール" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 +msgid "Site Explorer" +msgstr "サイトエクスプローラー" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "Search Blog" +msgstr "ブログ検索" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 +msgid "Sitemaps Protocol" +msgstr "サイトマッププロトコル" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 +msgid "Official Sitemaps FAQ" +msgstr "Sitemaps ãƒ—ãƒ©ã‚°ã‚¤ãƒ³å…¬å¼ FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 +msgid "My Sitemaps FAQ" +msgstr "Sitemaps プラグイン FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 +msgid "Recent Donations:" +msgstr "最近ã®å¯„付:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 +msgid "List of the donors" +msgstr "寄付者一覧" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 +msgid "Hide this list" +msgstr "一覧を隠ã™" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 +msgid "Thanks for your support!" +msgstr "サãƒãƒ¼ãƒˆã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ !" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Status" +msgstr "ç¾åœ¨ã®çŠ¶æ…‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "サイトマップã¯ã¾ã æ§‹ç¯‰ã•ã‚Œã¦ã„ã¾ã›ã‚“。ã“ã¡ã‚‰ã‚’クリックã—ã¦ã¾ãšæ§‹ç¯‰ã—ã¦ãã ã•ã„。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 +msgid "Your sitemap was last built on %date%." +msgstr "ã‚ãªãŸã®ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ãŒæœ€å¾Œã«æ§‹ç¯‰ã•ã‚ŒãŸã®ã¯%date%ã§ã™ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreã•ã‚‰ã«è©³ã—ãzipped) was last built on %date%." +msgstr "サイトマップ (Zip 圧縮) ãŒæœ€å¾Œã«æ§‹ç¯‰ã•ã‚ŒãŸã®ã¯%date%ã§ã™ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreã•ã‚‰ã«è©³ã—ãsuccessfully notified
    about changes." +msgstr "Google ã«æ›´æ–°ã‚’通知ã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Google ã¸ã®é€šçŸ¥ã«%time%秒ã‹ã‹ã‚Šã¾ã—ãŸã€‚構築時間を短縮ã™ã‚‹ãŸã‚ã€ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã—ãŸæ–¹ãŒè‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Google ã¸ã®é€šçŸ¥ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚çµæžœã‚’表示" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoo! ã«æ›´æ–°ã‚’通知ã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Yahoo! ã¸ã®é€šçŸ¥ã«%time%秒ã‹ã‹ã‚Šã¾ã—ãŸã€‚構築時間を短縮ã™ã‚‹ãŸã‚ã€ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã—ãŸæ–¹ãŒè‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Yahoo! ã¸ã®é€šçŸ¥ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚çµæžœã‚’表示" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 +msgid "Bing was successfully notified about changes." +msgstr "Bing ã«æ›´æ–°ã‚’通知ã—ã¾ã—ãŸã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "Bing ã¸ã®é€šçŸ¥ã«%time%秒ã‹ã‹ã‚Šã¾ã—ãŸã€‚構築時間を短縮ã™ã‚‹ãŸã‚ã€ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã—ãŸæ–¹ãŒè‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "Bing ã¸ã®é€šçŸ¥ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚çµæžœã‚’表示" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com ã«æ›´æ–°ã‚’通知ã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Ask.com ã¸ã®é€šçŸ¥ã«%time%秒ã‹ã‹ã‚Šã¾ã—ãŸã€‚構築時間を短縮ã™ã‚‹ãŸã‚ã€ã“ã®æ©Ÿèƒ½ã‚’無効ã«ã—ãŸæ–¹ãŒè‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Ask.com ã¸ã®é€šçŸ¥ä¸­ã«å•é¡ŒãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚çµæžœã‚’表示" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "構築処ç†ã«ç´„%time%秒ã‹ã‹ã‚Šã€%memory% MB ã®ãƒ¡ãƒ¢ãƒªã‚’使用ã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 +msgid "The building process took about %time% seconds to complete." +msgstr "構築処ç†ã«ç´„%time%秒ã‹ã‹ã‚Šã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "サイトマップã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯å‰å›žã‹ã‚‰å¤‰æ›´ãŒã‚ã‚Šã¾ã›ã‚“ã®ã§ã€ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ›´æ–°ã•ã‚Œãšã€æ¤œç´¢ã‚¨ãƒ³ã‚¸ãƒ³ã«é€šçŸ¥ã¯é€ä¿¡ã•ã‚Œã¦ã„ã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "構築処ç†ã¯ã¾ã çµ‚了ã—ã¦ã„ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。数秒待ã£ãŸã‚ã¨ã«ã“ã®ãƒšãƒ¼ã‚¸ã‚’å†èª­ã¿è¾¼ã¿ã—ã€ä½•ã‹å¤‰æ›´ãŒãªã„ã‹ç¢ºèªã—ã¦ã¿ã¦ãã ã•ã„。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "å‰å›žã®ä½œæ¥­å®Ÿè¡ŒãŒå®Œäº†ã—ã¦ã„ã¾ã›ã‚“。PHP スクリプトã®ãƒ¡ãƒ¢ãƒªãƒ¼ã®æœ€å¤§å€¤ã‚’上ã’ã¦ã¿ã‚‹ã¨è‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã®æœ€å¾Œã®ãƒ¡ãƒ¢ãƒªåˆ©ç”¨å€¤ã¯%timeused%MBã§ã—ãŸã€‚ã‚ãªãŸã®ã‚µãƒ¼ãƒãƒ¼ã®åˆ¶é™å€¤ã¯%memlimit%ã§ã™ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã®æœ€å¾Œã®æ—¢çŸ¥å®Ÿè¡Œæ™‚é–“ã¯%timeused%秒ã§ã—ãŸã€‚ã‚ãªãŸã®ã‚µãƒ¼ãƒãƒ¼ã®å®Ÿè¡Œæ™‚間最大値ã¯%timelimit%秒ã§ã™ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "投稿 ID %lastpost% (誤差 +/- 100) ã®ã‚ãŸã‚Šã§ã‚¹ã‚¯ãƒªãƒ—トãŒåœæ­¢ã—ã¾ã—ãŸã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "サーãƒãƒ¼ã¾ãŸã¯ãƒ–ログ上ã§ä½•ã‹å¤‰æ›´ã‚’ã—ãŸå ´åˆã¯ã€æ‰‹å‹•ã§ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—を最構築ã™ã‚‹ã¹ãã§ã™ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "ã‚‚ã—構築処ç†ã®é–“ã«ä½•ã‹å•é¡ŒãŒç™ºç”Ÿã—ãŸã‚‰ã€ãƒ‡ãƒãƒƒã‚°æ©Ÿèƒ½ã‚’使ã£ã¦ã•ã‚‰ã«å¤šãã®æƒ…報を得るã“ã¨ãŒã§ãã¾ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 +msgid "Basic Options" +msgstr "基本的ãªè¨­å®š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +msgid "Sitemap files:" +msgstr "サイトマップファイル:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Learn more" +msgstr "ã•ã‚‰ã«è©³ã—ã" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 +msgid "Write a normal XML file (your filename)" +msgstr "標準㮠XML ファイルを出力ã™ã‚‹ (filename)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "gz 圧縮ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’出力ã™ã‚‹ (filename + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +msgid "Building mode:" +msgstr "構築モード:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "ブログã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„を変更ã—ãŸã‚‰ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ã‚’å†æ§‹ç¯‰ã™ã‚‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 +msgid "Enable manual sitemap building via GET Request" +msgstr "GET リクエストã«ã‚ˆã‚‹æ‰‹å‹•ã®ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—作æˆã‚’許å¯ã™ã‚‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "WordPress API を使ã‚ãªã„外部ツール㌠WordPress データベースã«æ›¸ãè¾¼ã¿ã‚’ã—ãŸå ´åˆã«ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ã‚’æ›´æ–°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚処ç†ã‚’è¡Œã†ã«ã¯ã€ä»¥ä¸‹ã® URL をクリックã—ã¦ãã ã•ã„: %1 サイトマップã®æ§‹ç¯‰ãŒæˆåŠŸã—ãŸã‹ã©ã†ã‹çŸ¥ã‚‹ã«ã¯ã€ä¸Šè¨˜ã®ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‚’確èªã—ã¦ãã ã•ã„。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +msgid "Update notification:" +msgstr "通知を更新:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 +msgid "Notify Google about updates of your Blog" +msgstr "Google ã«ãƒ–ログã®æ›´æ–°ã‚’通知" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "登録ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“ãŒã€Google ウェブマスターツール ã§ã‚¯ãƒ­ãƒ¼ãƒ«é–¢é€£ã®çµ±è¨ˆã‚’見るã“ã¨ãŒã§ãã¾ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Bing (æ—§å MSN Live サーãƒ) ã«ãƒ–ログã®æ›´æ–°ã‚’通知" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "登録ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“ãŒã€Bing ウェブマスターツール ã§ã‚¯ãƒ­ãƒ¼ãƒ«é–¢é€£ã®çµ±è¨ˆã‚’見るã“ã¨ãŒã§ãã¾ã™ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Ask.com ã«ãƒ–ログã®æ›´æ–°ã‚’通知" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 +msgid "No registration required." +msgstr "登録ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Yahoo! ã«ãƒ–ログã®æ›´æ–°ã‚’通知" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 +msgid "Your Application ID:" +msgstr "アプリケーション ID:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "キーをæŒã£ã¦ã„ã¾ã›ã‚“ã‹ ? ã“ã¡ã‚‰ã§ãƒªã‚¯ã‚¨ã‚¹ãƒˆã—ã¦ãã ã•ã„ ! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "サイトマップ㮠URL を仮想 robots.txt ファイルã«è¿½åŠ " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "WordPress ãŒç”Ÿæˆã—ãŸä»®æƒ³ robots.txt ファイルを使用ã—ã¦ã„ã¾ã™ã€‚実際㮠robots.txt ファイルをブログディレクトリã«ç½®ã‹ãªã„ã§ãã ã•ã„。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Advanced options:" +msgstr "高度ãªè¨­å®š:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Limit the number of posts in the sitemap:" +msgstr "サイトマップ内ã®æŠ•ç¨¿æ•°ã‚’制é™:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Newer posts will be included first" +msgstr "æ–°ã—ã„投稿を最åˆã«å«ã‚ã‚‹" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "Try to increase the memory limit to:" +msgstr "メモリã®æœ€å¤§å€¤ã‚’以下ã«å¢—加:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "e.g. \"4M\", \"16M\"" +msgstr "例: \"4M\"ã€\"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Try to increase the execution time limit to:" +msgstr "実行時間制é™ã‚’以下ã«å¢—加:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "秒ã§æŒ‡å®šï¼ˆä¾‹: \"60\" ãªã©ã€ã¾ãŸã¯ç„¡åˆ¶é™ã®å ´åˆã¯ \"0\")" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Include a XSLT stylesheet:" +msgstr "XSLT スタイルシートをå«ã‚ã‚‹:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Full or relative URL to your .xsl file" +msgstr ".xsl ファイルã¸ã®çµ¶å¯¾ã¾ãŸã¯ç›¸å¯¾ãƒ‘ス" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Use default" +msgstr "デフォルト設定を使用" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "MySQL スタンダードモードを有効化ã™ã‚‹ã€‚MySQL エラーãŒç™ºç”Ÿã—ã¦ã„ã‚‹ã¨ãã®ã¿ä½¿ç”¨ã—ã¦ãã ã•ã„ (より大é‡ã®ãƒ¡ãƒ¢ãƒªãƒ¼ãŒå¿…è¦ã«ãªã‚Šã¾ã™ !) 。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "MySQL ã¸ã®é«˜é€Ÿãªã‚¢ã‚¯ã‚»ã‚¹ã‚’有効ã«ã™ã‚‹ãŸã‚ã€WordPress ã‚’ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2 以上ã«ã‚¢ãƒƒãƒ—グレード" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "サイトマップをãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰å‡¦ç†ã§æ§‹ç¯‰ã™ã‚‹ (投稿をä¿å­˜ã™ã‚‹éš›ã«å¾…ã¤å¿…è¦ãŒã‚ã‚Šã¾ã›ã‚“)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§ã®æ§‹ç¯‰ã‚’有効ã«ã™ã‚‹ãŸã‚ã€WordPress ã‚’ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.1 以上ã«ã‚¢ãƒƒãƒ—グレード" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 +msgid "Additional pages" +msgstr "追加ページã®è¨­å®š" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "WordPress ブログ㮠URL 以外ã§ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ã«å«ã‚ã‚‹ URL を指定ã§ãã¾ã™
    例ãˆã°ãƒ‰ãƒ¡ã‚¤ãƒ³ãŒ www.foo.com ã§ãƒ–ログ㮠URL ㌠www.foo.com/blog ã®å ´åˆã€www.foo.com を指定ã—ã¦ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ã«å«ã‚ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 +msgid "Note" +msgstr "メモ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "ã‚‚ã—ã“ã®ãƒ–ログãŒã‚µãƒ–ディレクトリã«é…ç½®ã•ã‚Œã¦ã„ã¦ã€ãƒ–ログディレクトリ以外ã®ãƒšãƒ¼ã‚¸ã‚’サイトマップã«å«ã‚ãŸã„ã¨ãã¯ã€ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ファイルを必ãšãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«é…ç½®ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“ (ã“ã®ãƒšãƒ¼ã‚¸ã® "サイトマップファイルã®å ´æ‰€" 設定を確èªã—ã¦ä¸‹ã•ã„) 。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 +msgid "URL to the page" +msgstr "ページ㮠URL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "ページ㮠URL を入力ã—ã¦ä¸‹ã•ã„。 例: http://www.foo.com/index.html ã‚„ www.foo.com/home " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 +msgid "Priority" +msgstr "優先順ä½ã®è¨­å®š (priority)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "ä»–ã®ãƒšãƒ¼ã‚¸ã«å¯¾ã—ã€ç›¸å¯¾çš„ãªå„ªå…ˆé †ä½ã‚’é¸ã‚“ã§ãã ã•ã„。 例ãˆã°ã€ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã®å„ªå…ˆé †ä½ã‚’ä»–ã®ãƒšãƒ¼ã‚¸ã‚ˆã‚Šé«˜ãã§ãã¾ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Last Changed" +msgstr "最終更新日" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "最終更新日を YYYY-MM-DD å½¢å¼ã§å…¥åŠ›ã—ã¦ä¸‹ã•ã„。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Change Frequency" +msgstr "更新頻度ã®è¨­å®š (changefreq)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "#" +msgstr "#" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 +msgid "No pages defined." +msgstr "追加ページã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 +msgid "Add new page" +msgstr "æ–°ã—ã„ページã®è¿½åŠ " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Post Priority" +msgstr "投稿ã®å„ªå…ˆé †ä½" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 +msgid "Please select how the priority of each post should be calculated:" +msgstr "投稿ã®å„ªå…ˆé †ä½ã®è¨ˆç®—方法をé¸æŠžã—ã¦ãã ã•ã„:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "Do not use automatic priority calculation" +msgstr "優先順ä½ã‚’自動的ã«è¨ˆç®—ã—ãªã„" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "ã™ã¹ã¦ã®æŠ•ç¨¿ãŒ "優先順ä½" ã§å®šç¾©ã•ã‚ŒãŸã®ã¨åŒã˜å„ªå…ˆåº¦ã‚’æŒã¤ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 +msgid "Location of your sitemap file" +msgstr "サイトマップファイルã®å ´æ‰€" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 +msgid "Automatic detection" +msgstr "自動検出" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 +msgid "Filename of the sitemap file" +msgstr "サイトマップファイルå" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected Path" +msgstr "パスã®ç›´æŽ¥è¨­å®š" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected URL" +msgstr "検出ã•ã‚ŒãŸ URL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 +msgid "Custom location" +msgstr "手動é…ç½®" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ファイルåã‚’å«ã‚€ã‚µã‚¤ãƒˆãƒžãƒƒãƒ—ファイルã¸ã®ç›¸å¯¾ã‚‚ã—ãã¯çµ¶å¯¾ãƒ‘ス" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 +msgid "Example" +msgstr "例" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 +msgid "Complete URL to the sitemap file, including name." +msgstr "ファイルåã‚’å«ã‚€ Sitemap ファイルã¸ã®å®Œå…¨ãª URL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 +msgid "Sitemap Content" +msgstr "Sitemap コンテンツ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 +msgid "Include homepage" +msgstr "ホームページ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 +msgid "Include posts" +msgstr "投稿 (個別記事) ã‚’å«ã‚ã‚‹" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "複数ページã«ã‚ãŸã‚‹æŠ•ç¨¿ã®å…¨ãƒšãƒ¼ã‚¸ã‚’å«ã‚ã‚‹ (構築時間ã¨ãƒ¡ãƒ¢ãƒªãƒ¼ä½¿ç”¨é‡ãŒå¢—加ã—ã¾ã™)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 +msgid "Include static pages" +msgstr "固定ページをå«ã‚ã‚‹" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 +msgid "Include categories" +msgstr "カテゴリーページをå«ã‚ã‚‹" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 +msgid "Include archives" +msgstr "アーカイブページをå«ã‚ã‚‹" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 +msgid "Include tag pages" +msgstr "タグページをå«ã‚ã‚‹" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 +msgid "Include author pages" +msgstr "投稿者ページをå«ã‚ã‚‹" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 +msgid "Excluded items" +msgstr "å«ã‚ãªã„é …ç›®" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 +msgid "Excluded categories" +msgstr "å«ã‚ãªã„カテゴリー" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +msgid "Using this feature will increase build time and memory usage!" +msgstr "ã“ã®æ©Ÿèƒ½ã‚’使用ã™ã‚‹ã¨ã€æ§‹ç¯‰æ™‚é–“ãŠã‚ˆã³ä½¿ç”¨ãƒ¡ãƒ¢ãƒªãŒå¢—加ã—ã¾ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "ãŠä½¿ã„ã® WordPress ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ %s ã§ã™ã€‚ã“ã®æ©Ÿèƒ½ã«ã¯ 2.5.1 以é™ã¸ã®ã‚¢ãƒƒãƒ—グレードãŒå¿…è¦ã§ã™ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 +msgid "Exclude posts" +msgstr "投稿 (個別記事) ã‚’å«ã‚ãªã„" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "Exclude the following posts or pages:" +msgstr "以下ã®æŠ•ç¨¿ã¾ãŸã¯å›ºå®šãƒšãƒ¼ã‚¸ã‚’å«ã‚ãªã„:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "List of IDs, separated by comma" +msgstr "カンマ区切り㮠ID 一覧" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +msgid "Child posts won't be excluded automatically!" +msgstr "å­ã‚«ãƒ†ã‚´ãƒªãƒ¼ã¯è‡ªå‹•çš„ã«é™¤å¤–ã•ã‚Œã¾ã›ã‚“。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 +msgid "Change frequencies" +msgstr "更新頻度ã®è¨­å®š (changefreq)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "ã“ã®ã‚¿ã‚°ã®å€¤ã¯çµ¶å¯¾çš„ãªå‘½ä»¤ã§ã¯ãªãヒントã¨ã¿ãªã•ã‚Œã¾ã™ã€‚検索エンジンã®ã‚¯ãƒ­ãƒ¼ãƒ©ã¯ã“ã®è¨­å®šã‚’考慮ã«å…¥ã‚Œã¾ã™ãŒã€\"1時間ãŠã\" ã®è¨­å®šã«ã—ã¦ã‚‚ãã®é »åº¦ã§ã‚¯ãƒ­ãƒ¼ãƒ«ã—ãªã„ã‹ã‚‚ã—ã‚Œãªã„ã—ã€\"å¹´ã«1度\" ã®è¨­å®šã«ã—ã¦ã‚‚より頻ç¹ã«ã‚¯ãƒ­ãƒ¼ãƒ«ã•ã‚Œã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã¾ãŸ \"æ›´æ–°ãªã—\" ã«è¨­å®šã•ã‚ŒãŸãƒšãƒ¼ã‚¸ã‚‚ã€äºˆæƒ³å¤–ã®å¤‰æ›´ã«å¯¾å¿œã™ã‚‹ãŸã‚ã€ãŠãらã定期的ã«ã‚¯ãƒ­ãƒ¼ãƒ«ãŒè¡Œã‚れるã§ã—ょã†ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 +msgid "Homepage" +msgstr "ホームページ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 +msgid "Posts" +msgstr "投稿 (個別記事) " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 +msgid "Static pages" +msgstr "固定ページ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 +msgid "Categories" +msgstr "カテゴリー別" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "今月ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ– (ãŸã„ã¦ã„ã¯\"ホームページ\"ã¨åŒã˜ã§ã—ょã†)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "å¤ã„アーカイブ (å¤ã„投稿を編集ã—ãŸã¨ãã«ã®ã¿å¤‰æ›´ã•ã‚Œã¾ã™)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Tag pages" +msgstr "タグページ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 +msgid "Author pages" +msgstr "投稿者ページ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 +msgid "Priorities" +msgstr "優先順ä½ã®è¨­å®š (priority)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 +msgid "Posts (If auto calculation is disabled)" +msgstr "投稿 (個別記事) (\"基本的ãªè¨­å®š\"ã§è‡ªå‹•è¨ˆç®—ã«è¨­å®šã—ã¦ã„ãªã„å ´åˆã«æœ‰åŠ¹)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "投稿優先度ã®æœ€å°å€¤ (\"基本的ãªè¨­å®š\"ã§è‡ªå‹•è¨ˆç®—ã«è¨­å®šã—ã¦ã„ã‚‹å ´åˆã«æœ‰åŠ¹)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 +msgid "Archives" +msgstr "アーカイブ別" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 +msgid "Update options" +msgstr "設定を更新 »" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 +msgid "Reset options" +msgstr "設定をリセット" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 +msgid "Sitemap FAQ" +msgstr "Sitemap プラグイン FAQ" + +#~ msgid "Manual location" +#~ msgstr "手動é…ç½®" +#~ msgid "OR" +#~ msgstr "ã‚‚ã—ãã¯" +#~ msgid "Error" +#~ msgstr "エラーã§ã™ã€‚" +#~ msgid "" +#~ "A new page was added. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "æ–°ã—ã„追加ページ(ã®è¨­å®šæ¬„)ãŒåŠ ã‚ã‚Šã¾ã—ãŸã€‚ (ページã®æƒ…報を入力後)" +#~ ""変更ã®ä¿å­˜" を押下ã—ã¦è¨­å®šã‚’ä¿å­˜ã—ã¦ä¸‹ã•ã„。" +#~ msgid "" +#~ "The page was deleted. Click on "Save page changes" to save your " +#~ "changes." +#~ msgstr "" +#~ "指定ã•ã‚ŒãŸè¿½åŠ ãƒšãƒ¼ã‚¸ï¼ˆã®è¨­å®šæ¬„)を削除ã—ã¾ã—ãŸã€‚ "変更ã®ä¿å­˜" ã‚’" +#~ "押下ã—ã¦è¨­å®šã‚’ä¿å­˜ã—ã¦ä¸‹ã•ã„。" +#~ msgid "You changes have been cleared." +#~ msgstr "変更ã¯æ—¢ã«å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚" +#~ msgid "Manual rebuild" +#~ msgstr "手動ã«ã‚ˆã‚‹ Sitemap ファイルã®å†æ§‹ç¯‰" +#~ msgid "" +#~ "If you want to build the sitemap without editing a post, click on here!" +#~ msgstr "" +#~ "ã‚‚ã—投稿ã®ç·¨é›†ãªã—ã« Sitemap ファイルをå†æ§‹ç¯‰ã—ãŸã„å ´åˆã¯ã“ã®ãƒœã‚¿ãƒ³ã‚’押下" +#~ "ã—ã¦ãã ã•ã„!" +#~ msgid "Rebuild Sitemap" +#~ msgstr "Sitemap ã®å†æ§‹ç¯‰" +#~ msgid "Save page changes" +#~ msgstr "変更ã®ä¿å­˜" +#~ msgid "Undo all page changes" +#~ msgstr "ページã®å¤‰æ›´ã‚’å…ƒã«æˆ»ã™" +#~ msgid "Delete marked page" +#~ msgstr "マークã•ã‚ŒãŸãƒšãƒ¼ã‚¸ã®å‰Šé™¤" +#~ msgid "" +#~ "Enable automatic priority calculation for posts based on comment count" +#~ msgstr "" +#~ "投稿ã«å¯¾ã™ã‚‹ã‚³ãƒ¡ãƒ³ãƒˆæ•°ã§ã€æŠ•ç¨¿ï¼ˆå„エントリ)ã®å„ªå…ˆé †ä½(priority)を自動計算" +#~ "ã™ã‚‹æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹" +#~ msgid "Write debug comments" +#~ msgstr "デãƒãƒƒã‚°ç”¨ã‚³ãƒ¡ãƒ³ãƒˆå‡ºåŠ›ã‚’è¡Œã†" +#~ msgid "Auto-Ping Google Sitemaps" +#~ msgstr "Google Sitemap ã«æ›´æ–° ping ã‚’é€ã‚‹" +#~ msgid "This option will automatically tell Google about changes." +#~ msgstr "ã“ã®ã‚ªãƒ—ションã¯ã€å¤‰æ›´ã‚’ Google ã«è‡ªå‹•çš„ã«é€šçŸ¥ã—ã¾ã™ã€‚" +#~ msgid "Includings" +#~ msgstr "Sitemap ã«å«ã‚ã‚‹ é …ç›®ã®è¨­å®š" +#~ msgid "Informations and support" +#~ msgstr "情報ã¨ã‚µãƒãƒ¼ãƒˆ" +#~ msgid "" +#~ "Check %s for updates and comment there if you have any problems / " +#~ "questions / suggestions." +#~ msgstr "" +#~ "ã‚‚ã—ã€å•é¡Œã‚„ç–‘å•ã€æ案ãŒã‚れ㰠%s ã®ã‚¢ãƒƒãƒ—デート情報やコメントを確èªã—ã¦ä¸‹" +#~ "ã•ã„。" +#~ msgid "URL:" +#~ msgstr "URL:" +#~ msgid "Path:" +#~ msgstr "Path:" +#~ msgid "Could not write into %s" +#~ msgstr "%s ã«æ›¸ã込むã“ã¨ãŒã§ãã¾ã›ã‚“。" +#~ msgid "Successfully built sitemap file:" +#~ msgstr "構築ã«æˆåŠŸã—㟠Sitemap ファイル:" +#~ msgid "Successfully built gzipped sitemap file:" +#~ msgstr "構築ã«æˆåŠŸã—㟠gz 圧縮ã•ã‚ŒãŸ Sitemap ファイル:" +#~ msgid "Could not ping to Google at %s" +#~ msgstr "Google ã¸ã®æ›´æ–° ping ã®é€ä¿¡ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ %s" +#~ msgid "Successfully pinged Google at %s" +#~ msgstr "Google ã¸ã®æ›´æ–° ping ã®é€ä¿¡ãŒæˆåŠŸã—ã¾ã—ãŸã€‚ %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo new file mode 100644 index 0000000..0d879f4 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.po new file mode 100644 index 0000000..b6f6407 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_EUC.po @@ -0,0 +1,322 @@ +# Japanese Language File for sitemap (sitemap-ja_JP.UTF-8.po) +# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ +# This file is distributed under the same license as the WordPress package. +# hiromasa , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-06-09 02:00+0900\n" +"PO-Revision-Date: 2005-07-03 23:17+0900\n" +"Last-Translator: hiromasa \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-JP\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +#: sitemap.php:375 +msgid "always" +msgstr "¤¤¤Ä¤â" + +msgid "hourly" +msgstr "Ëè»þ" + +msgid "daily" +msgstr "ËèÆü" + +msgid "weekly" +msgstr "Ëè½µ" + +msgid "monthly" +msgstr "Ëè·î" + +msgid "yearly" +msgstr "Ëèǯ" + +msgid "never" +msgstr "¹¹¿·¤µ¤ì¤Ê¤¤" + +msgid "Detected Path" +msgstr "¥Ñ¥¹¤ÎľÀÜÀßÄê" + +msgid "Example" +msgstr "Îã" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "¥Õ¥¡¥¤¥ë̾¤ò´Þ¤à Sitemap ¥Õ¥¡¥¤¥ë¤Ø¤ÎÁêÂФ⤷¤¯¤ÏÀäÂХѥ¹" + +msgid "Complete URL to the sitemap file, including name." +msgstr "¥Õ¥¡¥¤¥ë̾¤ò´Þ¤à Sitemap ¥Õ¥¡¥¤¥ë¤Ø¤Î´°Á´¤Ê URL" + +msgid "Automatic location" +msgstr "¼«Æ°ÇÛÃÖ" + +msgid "Manual location" +msgstr "¼êÆ°ÇÛÃÖ" + +msgid "OR" +msgstr "¤â¤·¤¯¤Ï" + +msgid "Location of your sitemap file" +msgstr "Sitemap ¥Õ¥¡¥¤¥ë¤Î¾ì½ê" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "¤â¤·¤¢¤Ê¤¿¤Î¥Ö¥í¥°¤¬¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¡¢¥Ö¥í¥°¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Î¥Ú¡¼¥¸¤ò Sitemap ¤Ë´Þ¤á¤¿¤¤¤È¤­¤Ï¡¢Sitemap ¥Õ¥¡¥¤¥ë¤ò¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê¤ËÇÛÃÖ¤¹¤Ù¤­¤Ç¤¹¡£¡Ê¤³¤Î¥Ú¡¼¥¸¤Î "Sitemap ¥Õ¥¡¥¤¥ë¤Î¾ì½ê" ÀßÄê¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡Ë" + +#: sitemap.php:512 +msgid "Configuration updated" +msgstr "ÀßÄê¤ò¹¹¿·¤·¤Þ¤·¤¿¡£" + +#: sitemap.php:513 +msgid "Error" +msgstr "¥¨¥é¡¼¤Ç¤¹¡£" + +#: sitemap.php:521 +msgid "A new page was added. Click on "Save page changes" to save your changes." +msgstr "¿·¤·¤¤Äɲåڡ¼¥¸¡Ê¤ÎÀßÄêÍó¡Ë¤¬²Ã¤ï¤ê¤Þ¤·¤¿¡£ ¡Ê¥Ú¡¼¥¸¤Î¾ðÊó¤òÆþÎϸå¡Ë"Êѹ¹¤ÎÊݸ" ¤ò²¡²¼¤·¤ÆÀßÄê¤òÊݸ¤·¤Æ²¼¤µ¤¤¡£" + +#: sitemap.php:527 +msgid "Pages saved" +msgstr "Äɲåڡ¼¥¸¤ÎÀßÄê¤òÊݸ¤·¤Þ¤·¤¿¡£" + +#: sitemap.php:528 +msgid "Error while saving pages" +msgstr "Äɲåڡ¼¥¸¤ÎÀßÄê¤ÎÊݸÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£" + +#: sitemap.php:539 +msgid "The page was deleted. Click on "Save page changes" to save your changes." +msgstr "»ØÄꤵ¤ì¤¿Äɲåڡ¼¥¸¡Ê¤ÎÀßÄêÍó¡Ë¤òºï½ü¤·¤Þ¤·¤¿¡£ "Êѹ¹¤ÎÊݸ" ¤ò²¡²¼¤·¤ÆÀßÄê¤òÊݸ¤·¤Æ²¼¤µ¤¤¡£" + +#: sitemap.php:542 +msgid "You changes have been cleared." +msgstr "Êѹ¹¤Ï´û¤Ëºï½ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£" + +#: sitemap.php:555 +msgid "Sitemap Generator" +msgstr "Sitemap Generator" + +#: sitemap.php:558 +msgid "Manual rebuild" +msgstr "¼êÆ°¤Ë¤è¤ë Sitemap ¥Õ¥¡¥¤¥ë¤ÎºÆ¹½ÃÛ" + +#: sitemap.php:559 +msgid "If you want to build the sitemap without editing a post, click on here!" +msgstr "¤â¤·Åê¹Æ¤ÎÊÔ½¸¤Ê¤·¤Ë Sitemap ¥Õ¥¡¥¤¥ë¤òºÆ¹½ÃÛ¤·¤¿¤¤¾ì¹ç¤Ï¤³¤Î¥Ü¥¿¥ó¤ò²¡²¼¤·¤Æ¤¯¤À¤µ¤¤!" + +#: sitemap.php:560 +msgid "Rebuild Sitemap" +msgstr "Sitemap ¤ÎºÆ¹½ÃÛ" + +#: sitemap.php:564 +msgid "Additional pages" +msgstr "Äɲåڡ¼¥¸¤ÎÀßÄê" + +#: sitemap.php:566 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "¤³¤³¤Ç¡¢Sitemap ¤Ë´Þ¤Þ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë URL ¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ ¤·¤«¤·¡¢¤³¤³¤Ç»ØÄꤹ¤ë URL ¤Ï WordPress/Blog ¤Ë°¤·¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£
    Î㤨¤Ð¥É¥á¥¤¥ó¤¬ www.foo.com ¤Ç¥Ö¥í¥°¤¬ www.foo.com/blog ¤À¤Ã¤¿¾ì¹ç¡¢¤¢¤Ê¤¿¤Ï www.foo.com ¤ò Sitemap ¤Ë´Þ¤ß¤¿¤¤¤È»×¤¦¤«¤â¤·¤ì¤Þ¤»¤ó¡£¡ÊÌõÃí: ¤³¤Î¹àÌÜ¤Ç WordPress °Ê³°¤Î URL ¤ò»ØÄꤷ¡¢¥×¥é¥°¥¤¥ó¤Ç½ÐÎϤ¹¤ë Sitemap ¤Ë´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡Ë" + +#: sitemap.php:568 +msgid "URL to the page" +msgstr "¤½¤Î¥Ú¡¼¥¸¤ÎURL" + +#: sitemap.php:569 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "¤½¤Î¥Ú¡¼¥¸¤ÎURL ¤òÆþÎϤ·¤Æ²¼¤µ¤¤¡£ Îã: http://www.foo.com/index.html ¤ä www.foo.com/home " + +#: sitemap.php:571 +msgid "Priority" +msgstr "Í¥Àè½ç°Ì(priority)¤ÎÀßÄê" + +#: sitemap.php:572 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "¾¤Î¥Ú¡¼¥¸¤ËÈæÎ㤷¤¿¥Ú¡¼¥¸¤ÎÍ¥Àè½ç°Ì(priority)¤òÁª¤ó¤Ç¤¯¤À¤µ¤¤¡£ Î㤨¤Ð¡¢¤¢¤Ê¤¿¤Î¥Û¡¼¥à¥Ú¡¼¥¸¤Ï¡¢Ìõ­¤Î¥Ú¡¼¥¸¤è¤ê¹â¤¤Í¥ÀèÅÙ¤¬¤¢¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£" + +#: sitemap.php:574 +msgid "Last Changed" +msgstr "ºÇ½ª¹¹¿·Æü" + +#: sitemap.php:575 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "ºÇ½ª¹¹¿·Æü¤ò YYYY-MM-DD ·Á¼°¤ÇÆþÎϤ·¤Æ²¼¤µ¤¤¡£" + +#: sitemap.php:583 +msgid "Change Frequency" +msgstr "¹¹¿·ÉÑÅÙ(changefreq)¤ÎÀßÄê" + +#: sitemap.php:585 +msgid "#" +msgstr "#" + +#: sitemap.php:609 +msgid "No pages defined." +msgstr "Äɲåڡ¼¥¸¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£" + +#: sitemap.php:616 +msgid "Add new page" +msgstr "¿·¤·¤¤¥Ú¡¼¥¸¤ÎÄɲÃ" + +#: sitemap.php:617 +msgid "Save page changes" +msgstr "Êѹ¹¤ÎÊݸ" + +#: sitemap.php:618 +msgid "Undo all page changes" +msgstr "¥Ú¡¼¥¸¤ÎÊѹ¹¤ò¸µ¤ËÌ᤹" + +#: sitemap.php:621 +msgid "Delete marked page" +msgstr "¥Þ¡¼¥¯¤µ¤ì¤¿¥Ú¡¼¥¸¤Îºï½ü" + +#: sitemap.php:627 +msgid "Basic Options" +msgstr "´ðËÜŪ¤ÊÀßÄê" + +#: sitemap.php:632 +msgid "Enable automatic priority calculation for posts based on comment count" +msgstr "Åê¹Æ¤ËÂФ¹¤ë¥³¥á¥ó¥È¿ô¤Ç¡¢Åê¹Æ¡Ê³Æ¥¨¥ó¥È¥ê¡Ë¤ÎÍ¥Àè½ç°Ì(priority)¤ò¼«Æ°·×»»¤¹¤ëµ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë" + +#: sitemap.php:638 +msgid "Write debug comments" +msgstr "¥Ç¥Ð¥Ã¥°ÍÑ¥³¥á¥ó¥È½ÐÎϤò¹Ô¤¦" + +#: sitemap.php:643 +msgid "Filename of the sitemap file" +msgstr "Sitemap ¤Î¥Õ¥¡¥¤¥ë̾" + +#: sitemap.php:650 +msgid "Write a normal XML file (your filename)" +msgstr "ɸ½à¤Î XML ¥Õ¥¡¥¤¥ë¤ò½ÐÎϤ¹¤ë (filename)" + +#: sitemap.php:652 +msgid "Detected URL" +msgstr "Detected URL" + +#: sitemap.php:657 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "gz °µ½Ì¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò½ÐÎϤ¹¤ë (filename + .gz)" + +#: sitemap.php:664 +msgid "Auto-Ping Google Sitemaps" +msgstr "Google Sitemap ¤Ë¹¹¿· ping ¤òÁ÷¤ë" + +#: sitemap.php:665 +msgid "This option will automatically tell Google about changes." +msgstr "¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢Êѹ¹¤ò Google ¤Ë¼«Æ°Åª¤ËÄÌÃΤ·¤Þ¤¹¡£" + +#: sitemap.php:672 +msgid "Includings" +msgstr "Sitemap ¤Ë´Þ¤á¤ë ¹àÌܤÎÀßÄê" + +#: sitemap.php:677 +msgid "Include homepage" +msgstr "¥Û¡¼¥à¥Ú¡¼¥¸" + +#: sitemap.php:683 +msgid "Include posts" +msgstr "Åê¹Æ¡Ê³Æ¥¨¥ó¥È¥ê¡Ë" + +#: sitemap.php:689 +msgid "Include static pages" +msgstr "ÀÅŪ¤Ê¥Ú¡¼¥¸" + +#: sitemap.php:695 +msgid "Include categories" +msgstr "¥«¥Æ¥´¥êÊÌ" + +#: sitemap.php:701 +msgid "Include archives" +msgstr "¥¢¡¼¥«¥¤¥ÖÊÌ" + +#: sitemap.php:708 +msgid "Change frequencies" +msgstr "¹¹¿·ÉÑÅÙ(changefreq)¤ÎÀßÄê" + +#: sitemap.php:709 +msgid "Note" +msgstr "¥á¥â" + +#: sitemap.php:710 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "¤³¤Î¥¿¥°¤ÎÃͤÏÌ¿Îá¤Ç¤Ï¤Ê¤¯¥Ò¥ó¥È¤À¤È¹Í¤¨¤é¤ì¤Þ¤¹¡£¥µ¡¼¥Á¥¨¥ó¥¸¥ó¤Î¥¯¥í¡¼¥é¤Ï¤³¤ÎÀßÄê¤ò¹Íθ¤ËÆþ¤ì¤Þ¤¹¤¬¡¢\"1»þ´Ö¤ª¤­\" ¤ÎÀßÄê¤Ë¤·¤Æ¤â¤½¤ÎÉÑÅ٤ǥ¯¥í¡¼¥ë¤·¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¤·¡¢\"ǯ°ìÅÙ¤Î\" ÀßÄê¤Ë¤·¤Æ¤â¤½¤ì¤è¤êÉÑÈˤ˥¯¥í¡¼¥ë¤µ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£¤Þ¤¿ \"¹¹¿·¤µ¤ì¤Ê¤¤\" ¤ËÀßÄꤵ¤ì¤¿¥Ú¡¼¥¸¤â¡¢»×¤¤¤¬¤±¤Ê¤¤ÊѲ½¤ò¤³¤ì¤é¤Î¥Ú¡¼¥¸¤«¤éÆÀ¤ë¤¿¤á¤Ë¡¢¤ª¤½¤é¤¯¥¯¥í¡¼¥é¤ÏÄê´üŪ¤Ë¥¯¥í¡¼¥ë¤¹¤ë¤Ç¤·¤ç¤¦¡£" + +#: sitemap.php:715 +msgid "Homepage" +msgstr "¥Û¡¼¥à¥Ú¡¼¥¸" + +#: sitemap.php:721 +msgid "Posts" +msgstr "Åê¹Æ¡Ê³Æ¥¨¥ó¥È¥ê¡Ë" + +#: sitemap.php:727 +msgid "Static pages" +msgstr "ÀÅŪ¤Ê¥Ú¡¼¥¸" + +#: sitemap.php:733 +msgid "Categories" +msgstr "¥«¥Æ¥´¥êÊÌ" + +#: sitemap.php:739 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Åö·î¤Î¥¢¡¼¥«¥¤¥Ö (\"¥Û¡¼¥à¥Ú¡¼¥¸\" ¤ÎÀßÄê¤ÈƱ¤¸¤Ë¤¹¤Ù¤­¤Ç¤¹)" + +#: sitemap.php:745 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "¸Å¤¤¥¢¡¼¥«¥¤¥Ö (¸Å¤¤Åê¹Æ¤òÊÔ½¸¤·¤¿¤È¤­¤À¤±Êѹ¹¤·¤Æ¤¯¤À¤µ¤¤)" + +#: sitemap.php:752 +msgid "Priorities" +msgstr "Í¥Àè½ç°Ì(priority)¤ÎÀßÄê" + +#: sitemap.php:763 +msgid "Posts (If auto calculation is disabled)" +msgstr "Åê¹Æ¡Ê³Æ¥¨¥ó¥È¥ê¡Ë (\"´ðËÜŪ¤ÊÀßÄê\"¤Ç¼«Æ°·×»»¤ËÀßÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¤ËÍ­¸ú)" + +#: sitemap.php:769 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Åê¹Æ¡Ê³Æ¥¨¥ó¥È¥ê¡Ë¤ÎºÇ¾®ÃÍ (\"´ðËÜŪ¤ÊÀßÄê\"¤Ç¼«Æ°·×»»¤ËÀßÄꤷ¤Æ¤¤¤ë¾ì¹ç¤ËÍ­¸ú)" + +#: sitemap.php:787 +msgid "Archives" +msgstr "¥¢¡¼¥«¥¤¥ÖÊÌ" + +#: sitemap.php:793 +msgid "Informations and support" +msgstr "¾ðÊó¤È¥µ¥Ý¡¼¥È" + +#: sitemap.php:794 +msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." +msgstr "¤â¤·¡¢ÌäÂê¤äµ¿Ìä¡¢Äó°Æ¤¬¤¢¤ì¤Ð %s ¤Î¥¢¥Ã¥×¥Ç¡¼¥È¾ðÊó¤ä¥³¥á¥ó¥È¤ò³Îǧ¤·¤Æ²¼¤µ¤¤¡£" + +#: sitemap.php:797 +msgid "Update options" +msgstr "ÀßÄê¤ò¹¹¿· »" + +#: sitemap.php:1033 +msgid "URL:" +msgstr "URL:" + +#: sitemap.php:1034 +msgid "Path:" +msgstr "Path:" + +#: sitemap.php:1037 +msgid "Could not write into %s" +msgstr "%s ¤Ë½ñ¤­¹þ¤à¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£" + +#: sitemap.php:1048 +msgid "Successfully built sitemap file:" +msgstr "¹½ÃÛ¤ËÀ®¸ù¤·¤¿ Sitemap ¥Õ¥¡¥¤¥ë:" + +#: sitemap.php:1048 +msgid "Successfully built gzipped sitemap file:" +msgstr "¹½ÃÛ¤ËÀ®¸ù¤·¤¿ gz °µ½Ì¤µ¤ì¤¿ Sitemap ¥Õ¥¡¥¤¥ë:" + +#: sitemap.php:1062 +msgid "Could not ping to Google at %s" +msgstr "Google ¤Ø¤Î¹¹¿· ping ¤ÎÁ÷¿®¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿¡£ %s" + +#: sitemap.php:1064 +msgid "Successfully pinged Google at %s" +msgstr "Google ¤Ø¤Î¹¹¿· ping ¤ÎÁ÷¿®¤¬À®¸ù¤·¤Þ¤·¤¿¡£ %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.mo new file mode 100644 index 0000000..33386d8 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.po new file mode 100644 index 0000000..9e3ffaa --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_SJIS.po @@ -0,0 +1,322 @@ +# Japanese Language File for sitemap (sitemap-ja_JP.UTF-8.po) +# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ +# This file is distributed under the same license as the WordPress package. +# hiromasa , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-06-09 02:00+0900\n" +"PO-Revision-Date: 2005-07-03 23:17+0900\n" +"Last-Translator: hiromasa \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=Shift_JIS\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +#: sitemap.php:375 +msgid "always" +msgstr "‚¢‚‚à" + +msgid "hourly" +msgstr "–ˆŽž" + +msgid "daily" +msgstr "–ˆ“ú" + +msgid "weekly" +msgstr "–ˆT" + +msgid "monthly" +msgstr "–ˆŒŽ" + +msgid "yearly" +msgstr "–ˆ”N" + +msgid "never" +msgstr "XV‚³‚ê‚È‚¢" + +msgid "Detected Path" +msgstr "ƒpƒX‚Ì’¼ÚÝ’è" + +msgid "Example" +msgstr "—á" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ƒtƒ@ƒCƒ‹–¼‚ðŠÜ‚Þ Sitemap ƒtƒ@ƒCƒ‹‚Ö‚Ì‘Š‘Î‚à‚µ‚­‚Íâ‘΃pƒX" + +msgid "Complete URL to the sitemap file, including name." +msgstr "ƒtƒ@ƒCƒ‹–¼‚ðŠÜ‚Þ Sitemap ƒtƒ@ƒCƒ‹‚Ö‚ÌŠ®‘S‚È URL" + +msgid "Automatic location" +msgstr "Ž©“®”z’u" + +msgid "Manual location" +msgstr "Žè“®”z’u" + +msgid "OR" +msgstr "‚à‚µ‚­‚Í" + +msgid "Location of your sitemap file" +msgstr "Sitemap ƒtƒ@ƒCƒ‹‚ÌêŠ" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "‚à‚µ‚ ‚È‚½‚̃uƒƒO‚ªƒTƒuƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚³‚ê‚Ä‚¢‚éꇂÉAƒuƒƒOƒfƒBƒŒƒNƒgƒŠˆÈŠO‚̃y[ƒW‚ð Sitemap ‚ÉŠÜ‚ß‚½‚¢‚Æ‚«‚ÍASitemap ƒtƒ@ƒCƒ‹‚ðƒ‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚·‚ׂ«‚Å‚·Bi‚±‚̃y[ƒW‚Ì "Sitemap ƒtƒ@ƒCƒ‹‚ÌêŠ" Ý’è‚ðŠm”F‚µ‚ĉº‚³‚¢j" + +#: sitemap.php:512 +msgid "Configuration updated" +msgstr "Ý’è‚ðXV‚µ‚Ü‚µ‚½B" + +#: sitemap.php:513 +msgid "Error" +msgstr "ƒGƒ‰[‚Å‚·B" + +#: sitemap.php:521 +msgid "A new page was added. Click on "Save page changes" to save your changes." +msgstr "V‚µ‚¢’ljÁƒy[ƒWi‚ÌÝ’è—“j‚ª‰Á‚í‚è‚Ü‚µ‚½B iƒy[ƒW‚Ìî•ñ‚ð“ü—ÍŒãj"•ÏX‚Ì•Û‘¶" ‚ð‰Ÿ‰º‚µ‚ÄÝ’è‚ð•Û‘¶‚µ‚ĉº‚³‚¢B" + +#: sitemap.php:527 +msgid "Pages saved" +msgstr "’ljÁƒy[ƒW‚ÌÝ’è‚ð•Û‘¶‚µ‚Ü‚µ‚½B" + +#: sitemap.php:528 +msgid "Error while saving pages" +msgstr "’ljÁƒy[ƒW‚ÌÝ’è‚Ì•Û‘¶’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B" + +#: sitemap.php:539 +msgid "The page was deleted. Click on "Save page changes" to save your changes." +msgstr "Žw’肳‚ꂽ’ljÁƒy[ƒWi‚ÌÝ’è—“j‚ð휂µ‚Ü‚µ‚½B "•ÏX‚Ì•Û‘¶" ‚ð‰Ÿ‰º‚µ‚ÄÝ’è‚ð•Û‘¶‚µ‚ĉº‚³‚¢B" + +#: sitemap.php:542 +msgid "You changes have been cleared." +msgstr "•ÏX‚ÍŠù‚É휂³‚ê‚Ä‚¢‚Ü‚·B" + +#: sitemap.php:555 +msgid "Sitemap Generator" +msgstr "Sitemap Generator" + +#: sitemap.php:558 +msgid "Manual rebuild" +msgstr "Žè“®‚É‚æ‚é Sitemap ƒtƒ@ƒCƒ‹‚ÌÄ\’z" + +#: sitemap.php:559 +msgid "If you want to build the sitemap without editing a post, click on here!" +msgstr "‚à‚µ“Še‚Ì•ÒW‚È‚µ‚É Sitemap ƒtƒ@ƒCƒ‹‚ðÄ\’z‚µ‚½‚¢ê‡‚Í‚±‚̃{ƒ^ƒ“‚ð‰Ÿ‰º‚µ‚Ä‚­‚¾‚³‚¢!" + +#: sitemap.php:560 +msgid "Rebuild Sitemap" +msgstr "Sitemap ‚ÌÄ\’z" + +#: sitemap.php:564 +msgid "Additional pages" +msgstr "’ljÁƒy[ƒW‚ÌÝ’è" + +#: sitemap.php:566 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "‚±‚±‚ÅASitemap ‚ÉŠÜ‚Ü‚ê‚é‚ׂ«‚Å‚ ‚é URL ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚µ‚©‚µA‚±‚±‚ÅŽw’è‚·‚é URL ‚Í WordPress/Blog ‚É‘®‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
    —Ⴆ‚΃hƒƒCƒ“‚ª www.foo.com ‚ŃuƒƒO‚ª www.foo.com/blog ‚¾‚Á‚½ê‡A‚ ‚È‚½‚Í www.foo.com ‚ð Sitemap ‚ÉŠÜ‚Ý‚½‚¢‚ÆŽv‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñBi–ó’: ‚±‚Ì€–Ú‚Å WordPress ˆÈŠO‚Ì URL ‚ðŽw’肵Aƒvƒ‰ƒOƒCƒ“‚Åo—Í‚·‚é Sitemap ‚Ɋ܂߂邱‚Æ‚ª‚Å‚«‚Ü‚·j" + +#: sitemap.php:568 +msgid "URL to the page" +msgstr "‚»‚̃y[ƒW‚ÌURL" + +#: sitemap.php:569 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "‚»‚̃y[ƒW‚ÌURL ‚ð“ü—Í‚µ‚ĉº‚³‚¢B —á: http://www.foo.com/index.html ‚â www.foo.com/home " + +#: sitemap.php:571 +msgid "Priority" +msgstr "—D懈Ê(priority)‚ÌÝ’è" + +#: sitemap.php:572 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "‘¼‚̃y[ƒW‚É”ä—Ⴕ‚½ƒy[ƒW‚Ì—D懈Ê(priority)‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢B —Ⴆ‚ÎA‚ ‚È‚½‚̃z[ƒ€ƒy[ƒW‚ÍA–Á‹L‚̃y[ƒW‚æ‚è‚‚¢—Dæ“x‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB" + +#: sitemap.php:574 +msgid "Last Changed" +msgstr "ÅIXV“ú" + +#: sitemap.php:575 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "ÅIXV“ú‚ð YYYY-MM-DD Œ`Ž®‚Å“ü—Í‚µ‚ĉº‚³‚¢B" + +#: sitemap.php:583 +msgid "Change Frequency" +msgstr "XV•p“x(changefreq)‚ÌÝ’è" + +#: sitemap.php:585 +msgid "#" +msgstr "#" + +#: sitemap.php:609 +msgid "No pages defined." +msgstr "’ljÁƒy[ƒW‚Í’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB" + +#: sitemap.php:616 +msgid "Add new page" +msgstr "V‚µ‚¢ƒy[ƒW‚̒ljÁ" + +#: sitemap.php:617 +msgid "Save page changes" +msgstr "•ÏX‚Ì•Û‘¶" + +#: sitemap.php:618 +msgid "Undo all page changes" +msgstr "ƒy[ƒW‚Ì•ÏX‚ðŒ³‚É–ß‚·" + +#: sitemap.php:621 +msgid "Delete marked page" +msgstr "ƒ}[ƒN‚³‚ꂽƒy[ƒW‚Ìíœ" + +#: sitemap.php:627 +msgid "Basic Options" +msgstr "Šî–{“I‚ÈÝ’è" + +#: sitemap.php:632 +msgid "Enable automatic priority calculation for posts based on comment count" +msgstr "“Še‚ɑ΂·‚éƒRƒƒ“ƒg”‚ÅA“ŠeiŠeƒGƒ“ƒgƒŠj‚Ì—D懈Ê(priority)‚ðŽ©“®ŒvŽZ‚·‚é‹@”\‚ð—LŒø‚É‚·‚é" + +#: sitemap.php:638 +msgid "Write debug comments" +msgstr "ƒfƒoƒbƒO—pƒRƒƒ“ƒgo—Í‚ðs‚¤" + +#: sitemap.php:643 +msgid "Filename of the sitemap file" +msgstr "Sitemap ‚̃tƒ@ƒCƒ‹–¼" + +#: sitemap.php:650 +msgid "Write a normal XML file (your filename)" +msgstr "•W€‚Ì XML ƒtƒ@ƒCƒ‹‚ðo—Í‚·‚é (filename)" + +#: sitemap.php:652 +msgid "Detected URL" +msgstr "Detected URL" + +#: sitemap.php:657 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "gz ˆ³k‚³‚ꂽƒtƒ@ƒCƒ‹‚ðo—Í‚·‚é (filename + .gz)" + +#: sitemap.php:664 +msgid "Auto-Ping Google Sitemaps" +msgstr "Google Sitemap ‚ÉXV ping ‚ð‘—‚é" + +#: sitemap.php:665 +msgid "This option will automatically tell Google about changes." +msgstr "‚±‚̃IƒvƒVƒ‡ƒ“‚ÍA•ÏX‚ð Google ‚ÉŽ©“®“I‚É’Ê’m‚µ‚Ü‚·B" + +#: sitemap.php:672 +msgid "Includings" +msgstr "Sitemap ‚ÉŠÜ‚ß‚é €–Ú‚ÌÝ’è" + +#: sitemap.php:677 +msgid "Include homepage" +msgstr "ƒz[ƒ€ƒy[ƒW" + +#: sitemap.php:683 +msgid "Include posts" +msgstr "“ŠeiŠeƒGƒ“ƒgƒŠj" + +#: sitemap.php:689 +msgid "Include static pages" +msgstr "ÓI‚ȃy[ƒW" + +#: sitemap.php:695 +msgid "Include categories" +msgstr "ƒJƒeƒSƒŠ•Ê" + +#: sitemap.php:701 +msgid "Include archives" +msgstr "ƒA[ƒJƒCƒu•Ê" + +#: sitemap.php:708 +msgid "Change frequencies" +msgstr "XV•p“x(changefreq)‚ÌÝ’è" + +#: sitemap.php:709 +msgid "Note" +msgstr "ƒƒ‚" + +#: sitemap.php:710 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "‚±‚̃^ƒO‚Ì’l‚Í–½—ß‚Å‚Í‚È‚­ƒqƒ“ƒg‚¾‚Æl‚¦‚ç‚ê‚Ü‚·BƒT[ƒ`ƒGƒ“ƒWƒ“‚̃Nƒ[ƒ‰‚Í‚±‚ÌÝ’è‚ðl—¶‚É“ü‚ê‚Ü‚·‚ªA\"1ŽžŠÔ‚¨‚«\" ‚ÌÝ’è‚É‚µ‚Ä‚à‚»‚Ì•p“x‚ŃNƒ[ƒ‹‚µ‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚µA\"”Nˆê“x‚Ì\" Ý’è‚É‚µ‚Ä‚à‚»‚ê‚æ‚è•p”ɂɃNƒ[ƒ‹‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚Ü‚½ \"XV‚³‚ê‚È‚¢\" ‚Éݒ肳‚ꂽƒy[ƒW‚àAŽv‚¢‚ª‚¯‚È‚¢•Ï‰»‚ð‚±‚ê‚ç‚̃y[ƒW‚©‚瓾‚邽‚ß‚ÉA‚¨‚»‚ç‚­ƒNƒ[ƒ‰‚Í’èŠú“I‚ɃNƒ[ƒ‹‚·‚é‚Å‚µ‚傤B" + +#: sitemap.php:715 +msgid "Homepage" +msgstr "ƒz[ƒ€ƒy[ƒW" + +#: sitemap.php:721 +msgid "Posts" +msgstr "“ŠeiŠeƒGƒ“ƒgƒŠj" + +#: sitemap.php:727 +msgid "Static pages" +msgstr "ÓI‚ȃy[ƒW" + +#: sitemap.php:733 +msgid "Categories" +msgstr "ƒJƒeƒSƒŠ•Ê" + +#: sitemap.php:739 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "“–ŒŽ‚̃A[ƒJƒCƒu (\"ƒz[ƒ€ƒy[ƒW\" ‚ÌÝ’è‚Æ“¯‚¶‚É‚·‚ׂ«‚Å‚·)" + +#: sitemap.php:745 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "ŒÃ‚¢ƒA[ƒJƒCƒu (ŒÃ‚¢“Še‚ð•ÒW‚µ‚½‚Æ‚«‚¾‚¯•ÏX‚µ‚Ä‚­‚¾‚³‚¢)" + +#: sitemap.php:752 +msgid "Priorities" +msgstr "—D懈Ê(priority)‚ÌÝ’è" + +#: sitemap.php:763 +msgid "Posts (If auto calculation is disabled)" +msgstr "“ŠeiŠeƒGƒ“ƒgƒŠj (\"Šî–{“I‚ÈÝ’è\"‚ÅŽ©“®ŒvŽZ‚Éݒ肵‚Ä‚¢‚È‚¢ê‡‚É—LŒø)" + +#: sitemap.php:769 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "“ŠeiŠeƒGƒ“ƒgƒŠj‚ÌŬ’l (\"Šî–{“I‚ÈÝ’è\"‚ÅŽ©“®ŒvŽZ‚Éݒ肵‚Ä‚¢‚éꇂɗLŒø)" + +#: sitemap.php:787 +msgid "Archives" +msgstr "ƒA[ƒJƒCƒu•Ê" + +#: sitemap.php:793 +msgid "Informations and support" +msgstr "î•ñ‚ƃTƒ|[ƒg" + +#: sitemap.php:794 +msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." +msgstr "‚à‚µA–â‘è‚â‹^–âA’ñˆÄ‚ª‚ ‚ê‚Î %s ‚̃Aƒbƒvƒf[ƒgî•ñ‚âƒRƒƒ“ƒg‚ðŠm”F‚µ‚ĉº‚³‚¢B" + +#: sitemap.php:797 +msgid "Update options" +msgstr "Ý’è‚ðXV »" + +#: sitemap.php:1033 +msgid "URL:" +msgstr "URL:" + +#: sitemap.php:1034 +msgid "Path:" +msgstr "Path:" + +#: sitemap.php:1037 +msgid "Could not write into %s" +msgstr "%s ‚É‘‚«ž‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB" + +#: sitemap.php:1048 +msgid "Successfully built sitemap file:" +msgstr "\’z‚ɬŒ÷‚µ‚½ Sitemap ƒtƒ@ƒCƒ‹:" + +#: sitemap.php:1048 +msgid "Successfully built gzipped sitemap file:" +msgstr "\’z‚ɬŒ÷‚µ‚½ gz ˆ³k‚³‚ꂽ Sitemap ƒtƒ@ƒCƒ‹:" + +#: sitemap.php:1062 +msgid "Could not ping to Google at %s" +msgstr "Google ‚Ö‚ÌXV ping ‚Ì‘—M‚ª‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B %s" + +#: sitemap.php:1064 +msgid "Successfully pinged Google at %s" +msgstr "Google ‚Ö‚ÌXV ping ‚Ì‘—M‚ª¬Œ÷‚µ‚Ü‚µ‚½B %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.mo new file mode 100644 index 0000000..1e1aa9d Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.po new file mode 100644 index 0000000..3af8445 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ja_UTF.po @@ -0,0 +1,322 @@ +# Japanese Language File for sitemap (sitemap-ja_JP.UTF-8.po) +# Copyright (C) 2005 hiromasa : http://hiromasa.zone.ne.jp/ +# This file is distributed under the same license as the WordPress package. +# hiromasa , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-06-09 02:00+0900\n" +"PO-Revision-Date: 2005-07-03 23:17+0900\n" +"Last-Translator: hiromasa \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +#: sitemap.php:375 +msgid "always" +msgstr "ã„ã¤ã‚‚" + +msgid "hourly" +msgstr "毎時" + +msgid "daily" +msgstr "毎日" + +msgid "weekly" +msgstr "毎週" + +msgid "monthly" +msgstr "毎月" + +msgid "yearly" +msgstr "毎年" + +msgid "never" +msgstr "æ›´æ–°ã•ã‚Œãªã„" + +msgid "Detected Path" +msgstr "パスã®ç›´æŽ¥è¨­å®š" + +msgid "Example" +msgstr "例" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ファイルåã‚’å«ã‚€ Sitemap ファイルã¸ã®ç›¸å¯¾ã‚‚ã—ãã¯çµ¶å¯¾ãƒ‘ス" + +msgid "Complete URL to the sitemap file, including name." +msgstr "ファイルåã‚’å«ã‚€ Sitemap ファイルã¸ã®å®Œå…¨ãª URL" + +msgid "Automatic location" +msgstr "自動é…ç½®" + +msgid "Manual location" +msgstr "手動é…ç½®" + +msgid "OR" +msgstr "ã‚‚ã—ãã¯" + +msgid "Location of your sitemap file" +msgstr "Sitemap ファイルã®å ´æ‰€" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "ã‚‚ã—ã‚ãªãŸã®ãƒ–ログãŒã‚µãƒ–ディレクトリã«é…ç½®ã•ã‚Œã¦ã„ã‚‹å ´åˆã«ã€ãƒ–ログディレクトリ以外ã®ãƒšãƒ¼ã‚¸ã‚’ Sitemap ã«å«ã‚ãŸã„ã¨ãã¯ã€Sitemap ファイルをルートディレクトリã«é…ç½®ã™ã¹ãã§ã™ã€‚(ã“ã®ãƒšãƒ¼ã‚¸ã® "Sitemap ファイルã®å ´æ‰€" 設定を確èªã—ã¦ä¸‹ã•ã„)" + +#: sitemap.php:512 +msgid "Configuration updated" +msgstr "設定を更新ã—ã¾ã—ãŸã€‚" + +#: sitemap.php:513 +msgid "Error" +msgstr "エラーã§ã™ã€‚" + +#: sitemap.php:521 +msgid "A new page was added. Click on "Save page changes" to save your changes." +msgstr "æ–°ã—ã„追加ページ(ã®è¨­å®šæ¬„)ãŒåŠ ã‚ã‚Šã¾ã—ãŸã€‚ (ページã®æƒ…報を入力後)"変更ã®ä¿å­˜" を押下ã—ã¦è¨­å®šã‚’ä¿å­˜ã—ã¦ä¸‹ã•ã„。" + +#: sitemap.php:527 +msgid "Pages saved" +msgstr "追加ページã®è¨­å®šã‚’ä¿å­˜ã—ã¾ã—ãŸã€‚" + +#: sitemap.php:528 +msgid "Error while saving pages" +msgstr "追加ページã®è¨­å®šã®ä¿å­˜ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚" + +#: sitemap.php:539 +msgid "The page was deleted. Click on "Save page changes" to save your changes." +msgstr "指定ã•ã‚ŒãŸè¿½åŠ ãƒšãƒ¼ã‚¸ï¼ˆã®è¨­å®šæ¬„)を削除ã—ã¾ã—ãŸã€‚ "変更ã®ä¿å­˜" を押下ã—ã¦è¨­å®šã‚’ä¿å­˜ã—ã¦ä¸‹ã•ã„。" + +#: sitemap.php:542 +msgid "You changes have been cleared." +msgstr "変更ã¯æ—¢ã«å‰Šé™¤ã•ã‚Œã¦ã„ã¾ã™ã€‚" + +#: sitemap.php:555 +msgid "Sitemap Generator" +msgstr "Sitemap Generator" + +#: sitemap.php:558 +msgid "Manual rebuild" +msgstr "手動ã«ã‚ˆã‚‹ Sitemap ファイルã®å†æ§‹ç¯‰" + +#: sitemap.php:559 +msgid "If you want to build the sitemap without editing a post, click on here!" +msgstr "ã‚‚ã—投稿ã®ç·¨é›†ãªã—ã« Sitemap ファイルをå†æ§‹ç¯‰ã—ãŸã„å ´åˆã¯ã“ã®ãƒœã‚¿ãƒ³ã‚’押下ã—ã¦ãã ã•ã„!" + +#: sitemap.php:560 +msgid "Rebuild Sitemap" +msgstr "Sitemap ã®å†æ§‹ç¯‰" + +#: sitemap.php:564 +msgid "Additional pages" +msgstr "追加ページã®è¨­å®š" + +#: sitemap.php:566 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "ã“ã“ã§ã€Sitemap ã«å«ã¾ã‚Œã‚‹ã¹ãã§ã‚ã‚‹ URL を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã—ã‹ã—ã€ã“ã“ã§æŒ‡å®šã™ã‚‹ URL 㯠WordPress/Blog ã«å±žã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。
    例ãˆã°ãƒ‰ãƒ¡ã‚¤ãƒ³ãŒ www.foo.com ã§ãƒ–ログ㌠www.foo.com/blog ã ã£ãŸå ´åˆã€ã‚ãªãŸã¯ www.foo.com ã‚’ Sitemap ã«å«ã¿ãŸã„ã¨æ€ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。(訳注: ã“ã®é …目㧠WordPress 以外㮠URL を指定ã—ã€ãƒ—ラグインã§å‡ºåŠ›ã™ã‚‹ Sitemap ã«å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼‰" + +#: sitemap.php:568 +msgid "URL to the page" +msgstr "ãã®ãƒšãƒ¼ã‚¸ã®URL" + +#: sitemap.php:569 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "ãã®ãƒšãƒ¼ã‚¸ã®URL を入力ã—ã¦ä¸‹ã•ã„。 例: http://www.foo.com/index.html ã‚„ www.foo.com/home " + +#: sitemap.php:571 +msgid "Priority" +msgstr "優先順ä½(priority)ã®è¨­å®š" + +#: sitemap.php:572 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "ä»–ã®ãƒšãƒ¼ã‚¸ã«æ¯”例ã—ãŸãƒšãƒ¼ã‚¸ã®å„ªå…ˆé †ä½(priority)ã‚’é¸ã‚“ã§ãã ã•ã„。 例ãˆã°ã€ã‚ãªãŸã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã¯ã€éŠ˜è¨˜ã®ãƒšãƒ¼ã‚¸ã‚ˆã‚Šé«˜ã„優先度ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +#: sitemap.php:574 +msgid "Last Changed" +msgstr "最終更新日" + +#: sitemap.php:575 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "最終更新日を YYYY-MM-DD å½¢å¼ã§å…¥åŠ›ã—ã¦ä¸‹ã•ã„。" + +#: sitemap.php:583 +msgid "Change Frequency" +msgstr "更新頻度(changefreq)ã®è¨­å®š" + +#: sitemap.php:585 +msgid "#" +msgstr "#" + +#: sitemap.php:609 +msgid "No pages defined." +msgstr "追加ページã¯å®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“。" + +#: sitemap.php:616 +msgid "Add new page" +msgstr "æ–°ã—ã„ページã®è¿½åŠ " + +#: sitemap.php:617 +msgid "Save page changes" +msgstr "変更ã®ä¿å­˜" + +#: sitemap.php:618 +msgid "Undo all page changes" +msgstr "ページã®å¤‰æ›´ã‚’å…ƒã«æˆ»ã™" + +#: sitemap.php:621 +msgid "Delete marked page" +msgstr "マークã•ã‚ŒãŸãƒšãƒ¼ã‚¸ã®å‰Šé™¤" + +#: sitemap.php:627 +msgid "Basic Options" +msgstr "基本的ãªè¨­å®š" + +#: sitemap.php:632 +msgid "Enable automatic priority calculation for posts based on comment count" +msgstr "投稿ã«å¯¾ã™ã‚‹ã‚³ãƒ¡ãƒ³ãƒˆæ•°ã§ã€æŠ•ç¨¿ï¼ˆå„エントリ)ã®å„ªå…ˆé †ä½(priority)を自動計算ã™ã‚‹æ©Ÿèƒ½ã‚’有効ã«ã™ã‚‹" + +#: sitemap.php:638 +msgid "Write debug comments" +msgstr "デãƒãƒƒã‚°ç”¨ã‚³ãƒ¡ãƒ³ãƒˆå‡ºåŠ›ã‚’è¡Œã†" + +#: sitemap.php:643 +msgid "Filename of the sitemap file" +msgstr "Sitemap ã®ãƒ•ã‚¡ã‚¤ãƒ«å" + +#: sitemap.php:650 +msgid "Write a normal XML file (your filename)" +msgstr "標準㮠XML ファイルを出力ã™ã‚‹ (filename)" + +#: sitemap.php:652 +msgid "Detected URL" +msgstr "Detected URL" + +#: sitemap.php:657 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "gz 圧縮ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’出力ã™ã‚‹ (filename + .gz)" + +#: sitemap.php:664 +msgid "Auto-Ping Google Sitemaps" +msgstr "Google Sitemap ã«æ›´æ–° ping ã‚’é€ã‚‹" + +#: sitemap.php:665 +msgid "This option will automatically tell Google about changes." +msgstr "ã“ã®ã‚ªãƒ—ションã¯ã€å¤‰æ›´ã‚’ Google ã«è‡ªå‹•çš„ã«é€šçŸ¥ã—ã¾ã™ã€‚" + +#: sitemap.php:672 +msgid "Includings" +msgstr "Sitemap ã«å«ã‚ã‚‹ é …ç›®ã®è¨­å®š" + +#: sitemap.php:677 +msgid "Include homepage" +msgstr "ホームページ" + +#: sitemap.php:683 +msgid "Include posts" +msgstr "投稿(å„エントリ)" + +#: sitemap.php:689 +msgid "Include static pages" +msgstr "é™çš„ãªãƒšãƒ¼ã‚¸" + +#: sitemap.php:695 +msgid "Include categories" +msgstr "カテゴリ別" + +#: sitemap.php:701 +msgid "Include archives" +msgstr "アーカイブ別" + +#: sitemap.php:708 +msgid "Change frequencies" +msgstr "更新頻度(changefreq)ã®è¨­å®š" + +#: sitemap.php:709 +msgid "Note" +msgstr "メモ" + +#: sitemap.php:710 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "ã“ã®ã‚¿ã‚°ã®å€¤ã¯å‘½ä»¤ã§ã¯ãªãヒントã ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚サーãƒã‚¨ãƒ³ã‚¸ãƒ³ã®ã‚¯ãƒ­ãƒ¼ãƒ©ã¯ã“ã®è¨­å®šã‚’考慮ã«å…¥ã‚Œã¾ã™ãŒã€\"1時間ãŠã\" ã®è¨­å®šã«ã—ã¦ã‚‚ãã®é »åº¦ã§ã‚¯ãƒ­ãƒ¼ãƒ«ã—ãªã„ã‹ã‚‚ã—ã‚Œãªã„ã—ã€\"年一度ã®\" 設定ã«ã—ã¦ã‚‚ãれより頻ç¹ã«ã‚¯ãƒ­ãƒ¼ãƒ«ã•ã‚Œã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã¾ãŸ \"æ›´æ–°ã•ã‚Œãªã„\" ã«è¨­å®šã•ã‚ŒãŸãƒšãƒ¼ã‚¸ã‚‚ã€æ€ã„ãŒã‘ãªã„変化をã“れらã®ãƒšãƒ¼ã‚¸ã‹ã‚‰å¾—ã‚‹ãŸã‚ã«ã€ãŠãらãクローラã¯å®šæœŸçš„ã«ã‚¯ãƒ­ãƒ¼ãƒ«ã™ã‚‹ã§ã—ょã†ã€‚" + +#: sitemap.php:715 +msgid "Homepage" +msgstr "ホームページ" + +#: sitemap.php:721 +msgid "Posts" +msgstr "投稿(å„エントリ)" + +#: sitemap.php:727 +msgid "Static pages" +msgstr "é™çš„ãªãƒšãƒ¼ã‚¸" + +#: sitemap.php:733 +msgid "Categories" +msgstr "カテゴリ別" + +#: sitemap.php:739 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "当月ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ– (\"ホームページ\" ã®è¨­å®šã¨åŒã˜ã«ã™ã¹ãã§ã™)" + +#: sitemap.php:745 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "å¤ã„アーカイブ (å¤ã„投稿を編集ã—ãŸã¨ãã ã‘変更ã—ã¦ãã ã•ã„)" + +#: sitemap.php:752 +msgid "Priorities" +msgstr "優先順ä½(priority)ã®è¨­å®š" + +#: sitemap.php:763 +msgid "Posts (If auto calculation is disabled)" +msgstr "投稿(å„エントリ) (\"基本的ãªè¨­å®š\"ã§è‡ªå‹•è¨ˆç®—ã«è¨­å®šã—ã¦ã„ãªã„å ´åˆã«æœ‰åŠ¹)" + +#: sitemap.php:769 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "投稿(å„エントリ)ã®æœ€å°å€¤ (\"基本的ãªè¨­å®š\"ã§è‡ªå‹•è¨ˆç®—ã«è¨­å®šã—ã¦ã„ã‚‹å ´åˆã«æœ‰åŠ¹)" + +#: sitemap.php:787 +msgid "Archives" +msgstr "アーカイブ別" + +#: sitemap.php:793 +msgid "Informations and support" +msgstr "情報ã¨ã‚µãƒãƒ¼ãƒˆ" + +#: sitemap.php:794 +msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." +msgstr "ã‚‚ã—ã€å•é¡Œã‚„ç–‘å•ã€æ案ãŒã‚れ㰠%s ã®ã‚¢ãƒƒãƒ—デート情報やコメントを確èªã—ã¦ä¸‹ã•ã„。" + +#: sitemap.php:797 +msgid "Update options" +msgstr "設定を更新 »" + +#: sitemap.php:1033 +msgid "URL:" +msgstr "URL:" + +#: sitemap.php:1034 +msgid "Path:" +msgstr "Path:" + +#: sitemap.php:1037 +msgid "Could not write into %s" +msgstr "%s ã«æ›¸ã込むã“ã¨ãŒã§ãã¾ã›ã‚“。" + +#: sitemap.php:1048 +msgid "Successfully built sitemap file:" +msgstr "構築ã«æˆåŠŸã—㟠Sitemap ファイル:" + +#: sitemap.php:1048 +msgid "Successfully built gzipped sitemap file:" +msgstr "構築ã«æˆåŠŸã—㟠gz 圧縮ã•ã‚ŒãŸ Sitemap ファイル:" + +#: sitemap.php:1062 +msgid "Could not ping to Google at %s" +msgstr "Google ã¸ã®æ›´æ–° ping ã®é€ä¿¡ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ %s" + +#: sitemap.php:1064 +msgid "Successfully pinged Google at %s" +msgstr "Google ã¸ã®æ›´æ–° ping ã®é€ä¿¡ãŒæˆåŠŸã—ã¾ã—ãŸã€‚ %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.mo new file mode 100644 index 0000000..1fbbcc2 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.po new file mode 100644 index 0000000..bfbd900 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ko_KR.po @@ -0,0 +1,703 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2008-04-15 13:17+0900\n" +"Last-Translator: 김승엽 \n" +"Language-Team: Wordpress Korea \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Korean\n" +"X-Poedit-Country: KOREA, REPUBLIC OF\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +msgid "Comment Count" +msgstr "코멘트 갯수" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "í¬ìŠ¤íŠ¸ì˜ 코멘트 갯수를 ì´ìš©í•´ 우선순위를 계산합니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +msgid "Comment Average" +msgstr "코멘트 í‰ê· " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "ì½”ë©˜íŠ¸ì˜ í‰ê·  갯수를 ì´ìš©í•´ 우선순위를 계산합니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +msgid "Popularity Contest" +msgstr "Popularity Contest" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "활성화 ëœAlex Kingì˜ Popularity Contest Pluginì„ ì´ìš©í•©ë‹ˆë‹¤. 설정 ê³¼ Most Popular Posts를 확ì¸í•˜ì‹­ì‹œì˜¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap Generator" +msgstr "XML-사ì´íŠ¸ 맵 ìƒì„±ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap" +msgstr "XML-사ì´íŠ¸ 맵" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "ê¸°ë¶€ì— ì •ë§ ê°ì‚¬ë“œë¦½ë‹ˆë‹¤. 제가 ì´ í”ŒëŸ¬ê·¸ì¸ì´ë‚˜ 다른 무료 í”„ë¡œê·¸ëž¨ì„ ê³„ì† ìž‘ì„±í•˜ê³  지ì›í•  수 있ë„ë¡ ë„와주십시오!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Hide this notice" +msgstr "ì´ ì£¼ì˜ì‚¬í•­ 숨기기." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "ì´ í”ŒëŸ¬ê·¸ì¸ì„ 사용해 주셔서 ê°ì‚¬í•©ë‹ˆë‹¤! ë‹¹ì‹ ì´ ì´ í”ŒëŸ¬ê·¸ì¸ì„ 사용한 지 í•œë‹¬ì´ ë˜ì—ˆìŠµë‹ˆë‹¤. 만약 ì´ í”ŒëŸ¬ê·¸ì¸ì˜ ìž‘ë™ê³¼ 결과가 만족스러웠고 1달러 ì´ìƒì˜ 가치가 있다고 ìƒê°í•˜ì‹­ë‹ˆê¹Œ? 기부로 제가 ì´ ë¬´ë£Œ ì†Œí”„íŠ¸ì›¨ì–´ì˜ ê°œë°œê³¼ 지ì›ì„ 계ì†í•˜ë„ë¡ ë„ì›€ì„ ì£¼ì‹­ì‹œì˜¤! 네, 문제없습니다!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +msgid "No thanks, please don't bug me anymore!" +msgstr "사양합니다, ë” ì´ìƒ 귀찮게 하지 ë§ì•„주십시오." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +msgid "XML Sitemap Generator for WordPress" +msgstr "워드프레스 ìš© XML 사ì´íŠ¸ 맵 ìƒì„±ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +msgid "Configuration updated" +msgstr "ì„¤ì •ì´ ì—…ë°ì´íŠ¸ ë˜ì—ˆìŠµë‹ˆë‹¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +msgid "Error while saving options" +msgstr "ì˜µì…˜ì„ ì €ìž¥í•˜ëŠ” ì¤‘ì— ì—러가 ë°œìƒí–ˆìŠµë‹ˆë‹¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +msgid "Pages saved" +msgstr "페ì´ì§€ê°€ 저장ë˜ì—ˆìŠµë‹ˆë‹¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +msgid "Error while saving pages" +msgstr "페ì´ì§€ë¥¼ 저장하는 ì¤‘ì— ì—러가 ë°œìƒí–ˆìŠµë‹ˆë‹¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#, php-format +msgid "Robots.txt file saved" +msgstr "Robots.txt 파ì¼ì´ 저장ë˜ì—ˆìŠµë‹ˆë‹¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 +msgid "Error while saving Robots.txt file" +msgstr "Robots.txt 파ì¼ì„ 저장하는 ì¤‘ì— ì—러가 ë°œìƒí–ˆìŠµë‹ˆë‹¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +msgid "The default configuration was restored." +msgstr "기본 ì„¤ì •ì´ ë³µì›ë˜ì—ˆìŠµë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +msgid "open" +msgstr "열기" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +msgid "close" +msgstr "닫기" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +msgid "click-down and drag to move this box" +msgstr "ì´ ìƒìžë¥¼ 움ì§ì´ë ¤ë©´ í´ë¦­í•˜ê³  드래그 하십시오" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +msgid "click to %toggle% this box" +msgstr "í´ë¦­í•˜ë©´ ì´ ìƒìžë¥¼ %toggle%" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +msgid "use the arrow keys to move this box" +msgstr "방향키를 사용해서 ì´ ìƒìžë¥¼ ì´ë™" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +msgid ", or press the enter key to %toggle% it" +msgstr ", ë˜ëŠ” 엔터키를 눌러 %toggle%" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +msgid "About this Plugin:" +msgstr "ì´ í”ŒëŸ¬ê·¸ì¸ ëŒ€í•´:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +msgid "Plugin Homepage" +msgstr "í”ŒëŸ¬ê·¸ì¸ í™ˆíŽ˜ì´ì§€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +msgid "Notify List" +msgstr "ë©”ì¼ í†µì§€ 리스트" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +msgid "Support Forum" +msgstr "ì„œí¬íŠ¸ í¬ëŸ¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +msgid "Donate with PayPal" +msgstr "PayPal 기부" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +msgid "My Amazon Wish List" +msgstr "ë‚´ Amazon 위시 리스트" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_name" +msgstr "ë²ˆì—­ìž ê¹€ìŠ¹ì—½" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_url" +msgstr "http://unfusion.kunsan.ac.kr/word" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +msgid "Sitemap Resources:" +msgstr "사ì´íŠ¸ë§µ Resources:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +msgid "Webmaster Tools" +msgstr "웹마스터 ë„구" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Blog" +msgstr "웹마스터 블로그" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +msgid "Site Explorer" +msgstr "사ì´íŠ¸ ìµìŠ¤í”Œë¡œëŸ¬" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +msgid "Search Blog" +msgstr "블로그 검색" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Center Blog" +msgstr "웹마스터 센터 블로그" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +msgid "Sitemaps Protocol" +msgstr "사ì´íŠ¸ 맵 프로토콜" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +msgid "Official Sitemaps FAQ" +msgstr "사ì´íŠ¸ 맵 FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +msgid "My Sitemaps FAQ" +msgstr "사ì´íŠ¸ 맵 ìƒì„±ê¸° FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +msgid "Recent Donations:" +msgstr "최근 기부:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +msgid "List of the donors" +msgstr "ê¸°ë¶€ìž ëª©ë¡" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +msgid "Hide this list" +msgstr "ëª©ë¡ ìˆ¨ê¸°ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +msgid "Thanks for your support!" +msgstr "ë‹¹ì‹ ì˜ ì§€ì›ì— ê°ì‚¬ë“œë¦½ë‹ˆë‹¤!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +msgid "Status" +msgstr "ìƒíƒœ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "사ì´íŠ¸ ë§µì´ ì•„ì§ ë§Œë“¤ì–´ì§€ì§€ 않았습니다. 여기를 í´ë¦­í•˜ë©´ 처ìŒìœ¼ë¡œ 사ì´íŠ¸ ë§µì„ ìƒì„±í•©ë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +msgid "Your sitemap was last built on %date%." +msgstr "ë‹¹ì‹ ì˜ ì‚¬ì´íŠ¸ 맵 ì€ %date%ì— ë§ˆì§€ë§‰ìœ¼ë¡œ ìƒì„±ë˜ì—ˆìŠµë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreì •ë³´ ë” ë³´ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "ë‹¹ì‹ ì˜ ì‚¬ì´íŠ¸ 맵(압축ë¨)ì€ %date%ì— ë§ˆì§€ë§‰ìœ¼ë¡œ ìƒì„±ë˜ì—ˆìŠµë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreì •ë³´ ë” ë³´ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +msgid "Google was successfully notified about changes." +msgstr "Googleì— ë³€ê²½ì‚¬í•­ì„ ì„±ê³µì ìœ¼ë¡œ 통보하였습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Googleì— í†µë³´í•˜ëŠ”ë° %time% 초가 걸렸습니다. 만약 ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ì§€ 않으면 사ì´íŠ¸ 맵 ìž‘ì„±ì‹œê°„ì„ ì¤„ì¼ ìˆ˜ 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Googleì— í†µë³´í•˜ëŠ” ë™ì•ˆ 문제가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. ê²°ê³¼ 보기" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOOì— ë³€ê²½ì‚¬í•­ì„ ì„±ê³µì ìœ¼ë¡œ 통보하였습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "YAHOOì— í†µë³´í•˜ëŠ”ë° %time% 초가 걸렸습니다. 만약 ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ì§€ 않으면 사ì´íŠ¸ 맵 ìž‘ì„±ì‹œê°„ì„ ì¤„ì¼ ìˆ˜ 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "YAHOOì— í†µë³´í•˜ëŠ” ë™ì•ˆ 문제가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. ê²°ê³¼ 보기" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "MSN was successfully notified about changes." +msgstr "MSNì— ë³€ê²½ì‚¬í•­ì„ ì„±ê³µì ìœ¼ë¡œ 통보하였습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." +msgstr "MSN.comì— í†µë³´í•˜ëŠ”ë° %time% 초가 걸렸습니다. 만약 ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ì§€ 않으면 사ì´íŠ¸ 맵 ìž‘ì„±ì‹œê°„ì„ ì¤„ì¼ ìˆ˜ 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#, php-format +msgid "There was a problem while notifying MSN.com. View result" +msgstr "MSN.comì— í†µë³´í•˜ëŠ” ë™ì•ˆ 문제가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. ê²°ê³¼ 보기" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.comì— ë³€ê²½ì‚¬í•­ì„ ì„±ê³µì ìœ¼ë¡œ 통보하였습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Ask.comì— í†µë³´í•˜ëŠ”ë° %time% 초가 걸렸습니다. 만약 ì´ ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ì§€ 않으면 사ì´íŠ¸ 맵 ìž‘ì„±ì‹œê°„ì„ ì¤„ì¼ ìˆ˜ 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Ask.comì— í†µë³´í•˜ëŠ” ë™ì•ˆ 문제가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. ê²°ê³¼ 보기" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "작성 ê³¼ì •ì„ ì™„ë£Œí•˜ëŠ”ë° ì•½ %time% 초가 걸렸고, %memory% MB ì˜ ë©”ëª¨ë¦¬ê°€ 사용 ë˜ì—ˆìŠµë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +msgid "The building process took about %time% seconds to complete." +msgstr "작성 ê³¼ì •ì„ ì™„ë£Œí•˜ëŠ”ë° %time% 초가 걸렸습니다. " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "마지막 ì‹¤í–‰ì´ ì™„ë£Œë˜ì§€ 않았습니다! PHP 스í¬ë¦½íŠ¸ì˜ 시간제한ì´ë‚˜ 메모리 한계를 올려 보시기 ë°”ëžë‹ˆë‹¤. ì •ë³´ ë” ë³´ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "ìµœê·¼ì— ìŠ¤í¬ë¦½íŠ¸ê°€ 사용한 메모리는 %memused%MB ì´ë©°, ì„œë²„ì˜ ë©”ëª¨ë¦¬ 한계는 %memlimit%입니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "ìµœê·¼ì— ìŠ¤íŠ¸ë¦½íŠ¸ê°€ 실행하면서 걸린 ì‹œê°„ì€ %timeused%ì´ˆ ì´ê³ , ì„œë²„ì˜ ì œí•œì‹œê°„ì€ %timelimit%ì´ˆ 입니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "스í¬ë¦½íŠ¸ê°€ í¬ìŠ¤íŠ¸ 넘버 %lastpost% (+/- 100) 부근ì—ì„œ 멈추었습니다" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "만약 서버 ë˜ëŠ” ë¸”ë¡œê·¸ì— ë³€ê²½ì‚¬í•­ì´ ìžˆë‹¤ë©´ 수ë™ìœ¼ë¡œ 사ì´íŠ¸ ë§µì„ ìž¬ìž‘ì„±í•´ì•¼ 합니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "만약 작성 ê³¼ì •ì— ì–´ë– í•œ 문제가 ë°œìƒí•œë‹¤ë©´ 디버그 ê¸°ëŠ¥ì„ ì´ìš©í•˜ì—¬ ë” ë§Žì€ ì •ë³´ë¥¼ ì–»ì„ ìˆ˜ 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +msgid "Basic Options" +msgstr "기본 옵션" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +msgid "Sitemap files:" +msgstr "사ì´íŠ¸ 맵 파ì¼:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Learn more" +msgstr "ì •ë³´ ë” ë³´ê¸°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +msgid "Write a normal XML file (your filename)" +msgstr "표준 XML íŒŒì¼ ìž‘ì„± ( ì‚¬ìš©ìž íŒŒì¼ì´ë¦„ )" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "압축 íŒŒì¼ ìž‘ì„± ( ì‚¬ìš©ìž íŒŒì¼ì´ë¦„ + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +msgid "Building mode:" +msgstr "작성 모드:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "ë¸”ë¡œê·¸ì˜ ë‚´ìš©ì´ ë³€ê²½ë˜ì—ˆì„ ë•Œ 사ì´íŠ¸ ë§µì„ ìž¬ìž‘ì„±í•¨" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +msgid "Enable manual sitemap building via GET Request" +msgstr "GET Request를 통해 ìˆ˜ë™ ì‚¬ì´íŠ¸ 맵 ìž‘ì„±ì´ ê°€ëŠ¥í† ë¡ í•¨" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "ì´ í•­ëª©ì€ ì›Œë“œí”„ë ˆìŠ¤ API를 사용하지 ì•Šê³  워드프레스 ë°ì´íƒ€ ë² ì´ìŠ¤ì— ë‚´ìš©ì„ ìž‘ì„±í•˜ëŠ” 외부 í”„ë¡œê·¸ëž¨ì´ ìžˆì„ ë•Œ 사ì´íŠ¸ ë§µì„ ìž¬ìƒì„±í•  수 있ë„ë¡ í•´ì¤ë‹ˆë‹¤. 다ìŒì˜ ë§í¬ë¥¼ ë”°ë¼ ê°€ë©´ ì²˜ë¦¬ê³¼ì •ì„ ì‹œìž‘í•  수 있습니다.: %1 사ì´íŠ¸ ë§µì„ ì„±ê³µì ìœ¼ë¡œ 작성했는지 확ì¸í•˜ë ¤ë©´ ìœ„ì˜ ë¡œê·¸íŒŒì¼ì„ 확ì¸í•˜ì‹œê¸° ë°”ëžë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +msgid "Update notification:" +msgstr "ì—…ë°ì´íŠ¸ 통지:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify Google about updates of your Blog" +msgstr "ë¸”ë¡œê·¸ì˜ ì—…ë°ì´íŠ¸ë¥¼ Googleì— í†µë³´" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "등ë¡ì´ 필요하진 않지만, 구글 웹마스터 툴 ì— ê°€ìž…í•˜ë©´ 수집 통계를 확ì¸í•  수 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify MSN Live Search about updates of your Blog" +msgstr "ë¸”ë¡œê·¸ì˜ ì—…ë°ì´íŠ¸ë¥¼ MSN Liveì— í†µë³´" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." +msgstr "등ë¡ì´ 필요하진 않지만, MSN Live 웹마스터 툴 ì— ê°€ìž…í•˜ë©´ 수집 통계를 확ì¸í•  수 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +msgid "Notify Ask.com about updates of your Blog" +msgstr "ë¸”ë¡œê·¸ì˜ ì—…ë°ì´íŠ¸ë¥¼ Ask.comì— í†µë³´" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +msgid "No registration required." +msgstr "ë“±ë¡ í•„ìš” ì—†ìŒ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +msgid "Notify YAHOO about updates of your Blog" +msgstr "ë¸”ë¡œê·¸ì˜ ì—…ë°ì´íŠ¸ë¥¼ YAHOOì— í†µë³´" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +msgid "Your Application ID:" +msgstr "ë‹¹ì‹ ì˜ Application ID:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Key를 가지고 있지 않나요? 여기서 신청하세요! %s2" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "사ì´íŠ¸ 맵 위치를 í¬í•¨í•˜ê³  있는 블로그 ë£¨íŠ¸ì˜ %s 파ì¼ì„ ìƒì„± ë˜ëŠ” 변경합니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +msgid "File permissions: " +msgstr "íŒŒì¼ ê¶Œí•œ:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +msgid "OK, robots.txt is writable." +msgstr "OK, robox.txtê°€ 쓰기 가능한 ìƒíƒœìž…니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +msgid "Error, robots.txt is not writable." +msgstr "Error, robots.txtê°€ 쓰기 불가능한 ìƒíƒœìž…니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt 파ì¼ì€ 존재하지 않지만 디렉토리가 쓰기 가능한 ìƒíƒœìž…니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Error, robots.txt ê°€ 존재하지 않으며 ë””ë ‰í† ë¦¬ë„ ì“°ê¸° 불가능한 ìƒíƒœìž…니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Advanced options:" +msgstr "고급 옵션:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Limit the number of posts in the sitemap:" +msgstr "사ì´íŠ¸ ë§µì— í¬í•¨ë  í¬ìŠ¤íŠ¸ì˜ 갯수를 제한함:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Newer posts will be included first" +msgstr "최근 í¬ìŠ¤íŠ¸ê°€ 먼저 í¬í•¨ë©ë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "Try to increase the memory limit to:" +msgstr "메모리 한계를 ì¦ê°€ì‹œí‚´:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "e.g. \"4M\", \"16M\"" +msgstr "예. \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "Try to increase the execution time limit to:" +msgstr "실행 시간 ì œí•œì„ ì¦ê°€ì‹œí‚¤ë„ë¡í•¨:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "ì´ˆ 단위로 기입, 예.\"60\" ë˜ëŠ” \"0\" (제한 ì—†ìŒ)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Include a XSLT stylesheet:" +msgstr "XSLT 스타ì¼ì‹œíŠ¸ë¥¼ í¬í•¨:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Use Default" +msgstr "기본설정 사용" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Full or relative URL to your .xsl file" +msgstr ".xsl 파ì¼ì˜ ì „ì²´ ë˜ëŠ” ìƒëŒ€ 주소" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "MySQL 스탠다드 모드를 가능하게 함. MySQL ì—러가 ë°œìƒí•  때만 사용하십시오. (ë” ë§Žì€ ë©”ëª¨ë¦¬ê°€ 필요함!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "백그ë¼ìš´ë“œ 작업으로 사ì´íŠ¸ ë§µì„ ìƒì„± (í¬ìŠ¤íŠ¸ë¥¼ 저장할 ë•Œ 기다리지 ì•Šì•„ë„ ë©ë‹ˆë‹¤.)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "Exclude the following posts or pages:" +msgstr "다ìŒì˜ í¬ìŠ¤íŠ¸ë‚˜ 페ì´ì§€ë¥¼ 제외:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "List of IDs, separated by comma" +msgstr "콤마로 êµ¬ë¶„ëœ ID 리스트" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +msgid "Additional pages" +msgstr "페ì´ì§€ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "여기서 특정 파ì¼ì´ë‚˜ URLì„ ì‚¬ì´íŠ¸ ë§µì— ì¶”ê°€í•  수 있지만 Blog/WordPressì— ì†í•´ 있는 ê²ƒì€ ì¶”ê°€ í•  수 없습니다.
    예를 들어, ë„ë©”ì¸ì´ www.foo.comì´ê³  ë¸”ë¡œê·¸ì˜ ìœ„ì¹˜ê°€ www.foo.com/blog ë¼ë©´ www.foo.comì„ í™ˆíŽ˜ì´ì§€ë¡œ 추가할 수 있습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +msgid "Note" +msgstr "주ì˜" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "블로그가 서브 ë””ë ‰í† ë¦¬ì— ìœ„ì¹˜í•˜ëŠ”ë° ìƒˆ 페ì´ì§€ë¥¼ 추가하길 ì›í•œë‹¤ë©´ 사ì´íŠ¸ 맵 파ì¼ì´ 블로그 디렉토리나 ê·¸ ì•„ëž˜ì— ìžˆìœ¼ë©´ 안ë˜ê³  root ë””ë ‰í† ë¦¬ì— ìžˆì–´ì•¼ 합니다. (ì´ íŽ˜ì´ì§€ì˜ "사ì´íŠ¸ 맵 파ì¼ì˜ 위치" ë¶€ë¶„ì„ ë³´ì‹­ì‹œì˜¤.)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +msgid "URL to the page" +msgstr "페ì´ì§€ì˜ 주소" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "페ì´ì§€ì˜ 주소를 입력하십시오.예:http://www.foo.com/index.html or www.foo.com/home" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +msgid "Priority" +msgstr "우선순위" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "다른 페ì´ì§€ì— 비êµí•˜ì—¬ 페ì´ì§€ì˜ ìš°ì„  순위를 ì„ íƒí•˜ì‹­ì‹œì˜¤. 예를 들어 홈페ì´ì§€ëŠ” 다른 ê²ƒì— ë¹„í•´ ë†’ì€ ìš°ì„  순위를 가져야 합니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +msgid "Last Changed" +msgstr "마지막 변경" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "최근 ë³€ê²½ëœ ë‚ ì§œë¥¼ YYYY-MM-DD (예 : 2005-12-31 ) 형ì‹ìœ¼ë¡œ 입력하십시오 ( ì„ íƒì‚¬í•­ )" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +msgid "Change Frequency" +msgstr "변경 빈ë„" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +msgid "#" +msgstr "#" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +msgid "No pages defined." +msgstr "페ì´ì§€ê°€ 지정ë˜ì§€ 않았습니다." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +msgid "Add new page" +msgstr "새 페ì´ì§€ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +msgid "Post Priority" +msgstr "í¬ìŠ¤íŠ¸ 우선순위" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +msgid "Please select how the priority of each post should be calculated:" +msgstr "ê° í¬ìŠ¤íŠ¸ì˜ 우선순위를 어떻게 계산할 것ì¸ì§€ ì„ íƒí•´ 주십시오:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "Do not use automatic priority calculation" +msgstr "ìžë™ 우선순위 ê³„ì‚°ì„ ì‚¬ìš©í•˜ì§€ ì•ŠìŒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "모든 í¬ìŠ¤íŠ¸ê°€ "우선권"ì—ì„œ ì„¤ì •ëœ ìš°ì„ ìˆœìœ„ë¥¼ 같게 ë©ë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +msgid "Location of your sitemap file" +msgstr "사ì´íŠ¸ 맵 파ì¼ì˜ 위치" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +msgid "Automatic detection" +msgstr "ìžë™ íƒì§€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +msgid "Filename of the sitemap file" +msgstr "사ì´íŠ¸ 맵 파ì¼ì˜ ì´ë¦„" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +msgid "Detected Path" +msgstr "íƒì§€ëœ 경로" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +msgid "Detected URL" +msgstr "íƒì§€ëœ 주소" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +msgid "Custom location" +msgstr "커스텀 로케ì´ì…˜" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "파ì¼ì´ë¦„ì„ í¬í•¨í•œ 사ì´íŠ¸ 맵 파ì¼ì˜ 절대 ë˜ëŠ” ìƒëŒ€ 경로" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +msgid "Example" +msgstr "예제" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +msgid "Complete URL to the sitemap file, including name." +msgstr "파ì¼ì´ë¦„ì„ í¬í•¨í•œ 사ì´íŠ¸ 맵 파ì¼ì˜ 완전한 주소." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +msgid "Sitemap Content" +msgstr "사ì´íŠ¸ 맵 ë‚´ìš©" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +msgid "Include homepage" +msgstr "홈페ì´ì§€ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +msgid "Include posts" +msgstr "í¬ìŠ¤íŠ¸ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +msgid "Include static pages" +msgstr "ì •ì  íŽ˜ì´ì§€ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +msgid "Include categories" +msgstr "카테고리 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +msgid "Include archives" +msgstr "ì•„ì¹´ì´ë¸Œ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +msgid "Include tag pages" +msgstr "íƒœí¬ íŽ˜ì´ì§€ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +msgid "Include author pages" +msgstr "ìž‘ì„±ìž íŽ˜ì´ì§€ 추가" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +msgid "Change frequencies" +msgstr "수집 ë¹ˆë„ ë³€ê²½" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "ê° íƒœê·¸ì— ìžˆëŠ” ìˆ˜ì¹˜ë“¤ì€ ê³ ë ¤í•  수 있는 ì‚¬í•­ì¼ ë¿ ì ˆëŒ€ì ì¸ ëª…ë ¹ì€ ì•„ë‹™ë‹ˆë‹¤. 서치 ì—”ì§„ì˜ Crawlerê°€ ì•„ëž˜ì˜ ì •ë³´ë¥¼ 수집 ê²°ì •ì„ ë‚´ë¦´ ë•Œ 고려한다고 í•´ë„ \"매시간\" 으로 ëœ íŽ˜ì´ì§€ë¥¼ ë” ê¸´ 주기로 수집할 ìˆ˜ë„ ìžˆê³  \"매년\" 으로 ëœ íŽ˜ì´ì§€ë¥¼ ë” ì§§ì€ ì£¼ê¸°ë¡œ 수집할 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. ì´ê²ƒì€ \"하지않ìŒ\"으로 ëœ íŽ˜ì´ì§€ë„ 마찬가지로 ì£¼ê¸°ì  ìˆ˜ì§‘ì„ í•  ìˆ˜ë„ ìžˆì–´ì„œ 그러한 페ì´ì§€ì— ë°œìƒí•œ 변화를 예기치 않게 수집할 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +msgid "Homepage" +msgstr "홈페ì´ì§€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +msgid "Posts" +msgstr "í¬ìŠ¤íŠ¸ë“¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +msgid "Static pages" +msgstr "ì •ì  íŽ˜ì´ì§€ë“¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +msgid "Categories" +msgstr "카테고리들" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "ì´ë²ˆ ë‹¬ì˜ ì•„ì¹´ì´ë¸Œ ( 홈페ì´ì§€ì™€ 같아야 합니다.)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "ì˜¤ëž˜ëœ ì•„ì¹´ì´ë¸Œ ( 예전 í¬ìŠ¤íŠ¸ë¥¼ ìˆ˜ì •í–ˆì„ ë•Œë§Œ 변경 하십시오.)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +msgid "Tag pages" +msgstr "태그 페ì´ì§€ë“¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +msgid "Author pages" +msgstr "ìž‘ì„±ìž íŽ˜ì´ì§€ë“¤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +msgid "Priorities" +msgstr "우선권" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +msgid "Posts (If auto calculation is disabled)" +msgstr "í¬ìŠ¤íŠ¸ ( 만약 ìžë™ ê³„ì‚°ì´ ì¤‘ì§€ ë˜ì—ˆì„ 경우 )" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "최소 í¬ìŠ¤íŠ¸ 우선권 (만약 ìžë™ ê³„ì‚°ì´ í™œì„±í™” ë˜ì–´ìžˆì„ ë•Œë„)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +msgid "Archives" +msgstr "ì•„ì¹´ì´ë¸Œ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +msgid "Update options" +msgstr "옵션 ì—…ë°ì´íŠ¸" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +msgid "Reset options" +msgstr "옵션 초기화" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.mo new file mode 100644 index 0000000..d3e84e1 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.po new file mode 100644 index 0000000..6a3896a --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-nl_NL.po @@ -0,0 +1,505 @@ +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2008-03-15 10:27+0100\n" +"Last-Translator: forkless \n" +"Language-Team: Arne Brachhold \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" + +msgid "Comment Count" +msgstr "Aantal Reacties" + +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Gebruikt het aantal reacties van het bericht om de prioriteit te berekenen" + +msgid "Comment Average" +msgstr "Reactie Gemiddelde" + +msgid "Uses the average comment count to calculate the priority" +msgstr "Gebruik het reactie gemiddelde om de prioriteit te berekenen" + +msgid "Popularity Contest" +msgstr "Popularity Contest" + +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Gebruikt het geactiveerde Popularity Contest Plugin van Alex King. Zie instellingen en meest populaire berichten" + +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Hartelijke dank voor je donatie! Je helpt hierbij deze gratis plugin te ondersteunen en verder te ontwikkelen!" + +msgid "Hide this notice" +msgstr "Deze melding verbergen" + +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Bedankt voor het gebruiken van deze plugin! Je hebt deze plugin meer dan een maand geleden geinstalleerd. Wanneer het naar behoren werkt en je met het resultaat tevreden bent is het dan niet minsten één dollar waard? Donaties helpen mij deze diese gratis software te ondersteunen en verder te ontwikkelen! Natuurlijk, geen probleem! " + +msgid "No thanks, please don't bug me anymore!" +msgstr "Nee dankjewel, val me hier niet meer mee lastig! " + +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Generator voor WordPress" + +msgid "Configuration updated" +msgstr "De instellingen zijn opgeslagen" + +msgid "Error while saving options" +msgstr "Bij het opslaan van de instellingen is een fout opgetreden." + +msgid "Pages saved" +msgstr "Pagina's opgeslagen" + +msgid "Error while saving pages" +msgstr "Bij het opslaan van de pagina's is een fout opgetreden" + +msgid "Robots.txt file saved" +msgstr "Robots.txt bestand opgeslagen" + +msgid "Error while saving Robots.txt file" +msgstr "Er is een fout opgetreden tijdens het opslaan van robots.txt" + +msgid "The default configuration was restored." +msgstr "De standaard instellingen zijn weer hersteld." + +msgid "open" +msgstr "openen" + +msgid "close" +msgstr "sluiten" + +msgid "click-down and drag to move this box" +msgstr "Klik en sleep om dit venster te verplaatsen" + +msgid "click to %toggle% this box" +msgstr "Klik om dit venster te %toggle%" + +msgid "use the arrow keys to move this box" +msgstr "gebruik de cursor toetsen om dit venster te verplaatsen" + +msgid ", or press the enter key to %toggle% it" +msgstr ", of druk op de enter toets om het te %toggle%" + +msgid "About this Plugin:" +msgstr "Over deze plugin:" + +msgid "Plugin Homepage" +msgstr "Plugin homepage" + +msgid "Notify List" +msgstr "E-Mail wanneer er een update is" + +msgid "Support Forum" +msgstr "Support Forum" + +msgid "Donate with PayPal" +msgstr "Met PayPal doneren" + +msgid "My Amazon Wish List" +msgstr "Amazon wensenlijst" + +msgid "translator_name" +msgstr "Mark Peters" + +msgid "translator_url" +msgstr "http://www.zinloosverteld.nl" + +msgid "Sitemap Resources:" +msgstr "Sitemap informatie:" + +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +msgid "Site Explorer" +msgstr "Site Explorer" + +msgid "Search Blog" +msgstr "Doorzoek Blog" + +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +msgid "Sitemaps Protocol" +msgstr "Sitemaps Protocol" + +msgid "Official Sitemaps FAQ" +msgstr "Officiële Sitemaps FAQ" + +msgid "My Sitemaps FAQ" +msgstr "Mijn Sitemaps FAQ" + +msgid "Recent Donations:" +msgstr "Recente Donaties:" + +msgid "List of the donors" +msgstr "Lijst van donateurs" + +msgid "Hide this list" +msgstr "Lijst verbergen" + +msgid "Thanks for your support!" +msgstr "Bedankt voor je support!" + +msgid "Status" +msgstr "Status" + +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "De sitemap is nog niet gegenereerd. Klik hier om deze voor de eerste keer aan te maken." + +msgid "Your sitemap was last built on %date%." +msgstr "Jouw Sitemap werd voor het laatst op %date% gegenereerd." + +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreMeer informatiezipped) was last built on %date%." +msgstr "Jouw (gezipt) sitemap werd voor het laatst op %date% gegenereerd." + +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreMeer informatiesuccessfully notified about changes." +msgstr "Google is succesvol op de hoogte gesteld van de veranderingen." + +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Het duurde %time% seconden om Google op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?" + +msgid "There was a problem while notifying Google. View result" +msgstr "Er was een probleem bij het informeren van Google. Resultaat weergeven" + +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoo is succesvol op de hoogte gesteld van de veranderingen." + +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Het duurde %time% seconden om Yahoo op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?" + +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Er was een probleem bij het informeren van Yahoo. Resultaat weergeven" + +msgid "MSN was successfully notified about changes." +msgstr "MSN.com is succesvol op de hoogte gesteld van de veranderingen." + +msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." +msgstr "Het duurde %time% seconden om MSN.com op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?" + +msgid "There was a problem while notifying MSN.com. View result" +msgstr "Er was een probleem bij het informeren van MSN.com. Resultaat weergeven" + +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com is succesvol op de hoogte gesteld van de veranderingen." + +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Het duurde %time% seconden om Ask.com op de hoogte te stellen. Misschien wil je deze optie deactiveren om de doorlooptijd van de sitemap generatie te verkorten?" + +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Er was een probleem bij het informeren van Ask.com. Resultaat weergeven" + +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Het sitemap genereren duurde %time% seconden en gebruikte %memory%MB geheugen." + +msgid "The building process took about %time% seconds to complete." +msgstr "Het sitemap genereren duurde %time% seconden." + +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "De inhoud van de sitemap heeft zich niet gewijzigd sinds de laatste keer, als gevolgd zijn er geen bestanden weggeschreven en zijn de zoekmachines niet op de hoogte gesteld." + +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "De laatste generatie van de sitemap is niet afgesloten! Het kan helpen de geheugenlimiet voor PHP scripts te verhogen. Meer informatie" + +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Het laatst bekende geheugengebruik van het script lag op %memused%MB, het limiet voor PHP scripts op deze server is %memlimit%." + +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "De laatst bekende doorlooptijd lag op %timeused% seconden, het limiet voor PHP scripts voor deze server is %timelimit% seconden." + +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Het script is ongeveer gestopt bij bericht nummer %lastpost% (+/- 100)" + +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Wanneer er iets gewijzigd is op de server of aan het Blog, dan kan men de sitemap met de hand opnieuw genereren." + +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Indien er bij het genereren van de sitemap problemen zijn kan men de Debug Functie gebruiken om meer informatie over de opgetreden fout te achterhalen." + +msgid "Basic Options" +msgstr "Basisinstellingen" + +msgid "Sitemap files:" +msgstr "Sitemap bestanden:" + +msgid "Learn more" +msgstr "Meer informatie" + +msgid "Write a normal XML file (your filename)" +msgstr "Sitemap als XML bestand aanmaken (bestandsnaam)" + +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Gezipte sitemap aanmaken (bestandsnaam + .gz)" + +msgid "Building mode:" +msgstr "Generatie mode::" + +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Sitemap opnieuw genereren wanneer je de inhoud van je Blog wijzigt" + +msgid "Enable manual sitemap building via GET Request" +msgstr "Handmatig genereren van de sitemap via GET aanvragen toestaan" + +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Hiermee kun je je sitemap opnieuw genereren indien een externe tool in de database van WordPress geschreven heeft zonder gebruik te maken van de API. Gebruik de volgende URL om het process te starten: %1 Controleer het logbestand hierboven om te kijken of de sitemap succesvol is gegenereerd." + +msgid "Update notification:" +msgstr "Wijzigings notificatie:" + +msgid "Notify Google about updates of your Blog" +msgstr "Google YAHOO op de hoogte stellen van de Blog wijzigingen" + +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Registratie niet noodzakelijk, maar je kunt je optioneel aanmelden bij de Google Webmaster Tools om de indexeringsstatistieken van de site te bekijken." + +msgid "Notify MSN Live Search about updates of your Blog" +msgstr "MSN Live Search op de hoogte stellen van de Blog wijzigingen" + +msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." +msgstr "Registratie niet noodzakelijk, maar je kunt je optioneel aanmelden bij de MSN Live Webmaster Tools om de indexeringsstatistieken van de site te bekijken." + +msgid "Notify Ask.com about updates of your Blog" +msgstr "Ask.com YAHOO op de hoogte stellen van de Blog wijzigingen" + +msgid "No registration required." +msgstr "Geen registratie noodzakelijk" + +msgid "Notify YAHOO about updates of your Blog" +msgstr "YAHOO op de hoogte stellen van de Blog wijzigingen" + +msgid "Your Application ID:" +msgstr "Jouw Application ID:" + +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Nog geen key? Hier aanvragen! %s2" + +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "Maak of wijzig het %s bestand in de root directory van je Blog." + +msgid "File permissions: " +msgstr "Bestands permissies:" + +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt kan weggeschreven worden." + +msgid "Error, robots.txt is not writable." +msgstr "Error, robots.txt kan niet weggeschreven worden." + +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt bestaat nog niet, maar de directory kan beschreven worden." + +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Error, robots.txt bestaat niet en de directory is niet beschrijfbaar" + +msgid "Advanced options:" +msgstr "Uitgebreide instellingen" + +msgid "Limit the number of posts in the sitemap:" +msgstr "Het aantal berichten in de sitemap limiteren:" + +msgid "Newer posts will be included first" +msgstr "Nieuwe berichten worden het eerst opgenomen" + +msgid "Try to increase the memory limit to:" +msgstr "Probeer de geheugenlimiet te verhogen naar: " + +msgid "e.g. \"4M\", \"16M\"" +msgstr "bijv. \"4M\", \"16M\"" + +msgid "Try to increase the execution time limit to:" +msgstr "Probeer de tijdslimiet van de generatie aan te passen naar:" + +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "in seconden, bijv. \"60\" of \"0\" voor geen limiet" + +msgid "Include a XSLT stylesheet:" +msgstr "XSLT stylesheet toevoegen:" + +msgid "Use Default" +msgstr "Gebruik de standaard" + +msgid "Full or relative URL to your .xsl file" +msgstr "Volledige of relatieve pad naar het .xsl bestand" + +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "MySQL standaard mode activeren. Gebruik deze optie indien MYSQL fouten optreden (gebruikt meer geheugen!)" + +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Genereer de sitemap in de achtergrond (Hierdoor is er geen wachttijd wanneer er een bericht wordt geplaatst)" + +msgid "Exclude the following posts or pages:" +msgstr "Volgende berichten of pagina's uitsluiten:" + +msgid "List of IDs, separated by comma" +msgstr "Lijst van de IDs, gescheiden door komma" + +msgid "Additional pages" +msgstr "Addtionele pagina's" + +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Hier kunnen de bestanden of URLHier können Sie zusätzliche Seiten in Form von URLs angeben, welche mit in Ihre Sitemap aufgenommen werden sollen aber nicht von WordPress erzeugt werden. Falls Sie z.B. Ihre Homepage auf www.beispiel.com haben, Ihr Blog aber unter www.beispiel.com/blog zu erreichen ist, tragen Sie Ihre Homepage als http://www.beispiel.com hier ein." + +msgid "Note" +msgstr "Notitie" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Indien het Blog in een subdirectory staat en je wilt pagina's toevoegen die NIET in de Blog of onderliggende directories liggen, dan MOET je je sitemap bestand in de root direcotry van de webserver plaatsten. (Kijk naar de "Locatie van het sitemap bestand" sectiew op deze pagina)!" + +msgid "URL to the page" +msgstr "URL naar de pagina" + +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Vul hier de URL naar de pagina in. Voorbeeld: http://www.zinloosverteld.nl of http://www.zinloosverteld.nl/blog" + +msgid "Priority" +msgstr "Prioriteit" + +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Kies hier de prioriteit van de pagina relatief ten opzichte van andere pagina's. Bijvoorbeeld, de homepage heeft een hogere prioriteit dan een colofon pagina." + +msgid "Last Changed" +msgstr "Laatste wijziging" + +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Voer hier de laatste wijziging in in het formaat JJJJ-MM-DD (bijv. 2005-12-31). Dit veld is optioneel en hoeft niet ingevuld te worden." + +msgid "Change Frequency" +msgstr "Wijzigingsfrequentie" + +msgid "#" +msgstr "#" + +msgid "No pages defined." +msgstr "Er zijn geen pagina's gedefiniëerd." + +msgid "Add new page" +msgstr "Nieuwe pagina toevoegen" + +msgid "Post Priority" +msgstr "Bericht prioriteit" + +msgid "Please select how the priority of each post should be calculated:" +msgstr "Kies hier de berekeningsmethode voor de prioriteit van de berichten." + +msgid "Do not use automatic priority calculation" +msgstr "Geen automatische prioriteitsberekening gebruiken" + +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Alle berichten hebben dezelfde prioriteit die onder "Prioriteiten" is ingesteld." + +msgid "Location of your sitemap file" +msgstr "Locatie van het sitemap bestand" + +msgid "Automatic detection" +msgstr "Automatische herkenning" + +msgid "Filename of the sitemap file" +msgstr "Bestandsnaam van de sitemap" + +msgid "Detected Path" +msgstr "Herkend pad" + +msgid "Detected URL" +msgstr "Herkende URL" + +msgid "Custom location" +msgstr "Handmatig ingesteld pad" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absoluut of relatief pad naar het sitemap bestand inclusief bestandsnaam." + +msgid "Example" +msgstr "Voorbeeld" + +msgid "Complete URL to the sitemap file, including name." +msgstr "Absolute URL naar het sitemap bestand inclusief de bestandsnaam." + +msgid "Sitemap Content" +msgstr "Sitemap inhoud" + +msgid "Include homepage" +msgstr "Bevat homepage" + +msgid "Include posts" +msgstr "Bevat berichten" + +msgid "Include static pages" +msgstr "Bevat statische pagina's" + +msgid "Include categories" +msgstr "Bevat categorieën" + +msgid "Include archives" +msgstr "Bevat archieven" + +msgid "Include tag pages" +msgstr "Bevag tag pagina's" + +msgid "Include author pages" +msgstr "Bevat auteur pagina's" + +msgid "Change frequencies" +msgstr "Wijzigingsfrequentie" + +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Let er op dat de waarde van deze tag als tip gezien wordt en niet als commando. Zoekmachines kunnen deze tip oppakken, echter hoeven zij zich er niet aan te houden. Ze kunnen pagina's per \"Hourly\" gemarkeerd minder bezoeken. En pagina's gemarkeerd \"Yearly\" kunnen frequentere controles krijgen. Ook pagina's gemarkeerd \"Never\" kunnen worden bezocht om zo onverwachte veranderingen op te pakken." + +msgid "Homepage" +msgstr "Homepage" + +msgid "Posts" +msgstr "Berichten" + +msgid "Static pages" +msgstr "Statische pagina's" + +msgid "Categories" +msgstr "Categorieën" + +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Het archief van de huidige maand (Zou hetzelfde moeten zijn als de homepage)" + +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Archieven van voorgaande maanden" + +msgid "Tag pages" +msgstr "Tag pagina's" + +msgid "Author pages" +msgstr "Auteur pagina's" + +msgid "Priorities" +msgstr "Prioriteiten" + +msgid "Posts (If auto calculation is disabled)" +msgstr "Berichten (Wanneer automatische berekening is geactiveerd)" + +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minimale prioriteit voor berichten (ook wanneer de automatische berekening is geactiveerd)" + +msgid "Archives" +msgstr "Archieven" + +msgid "Update options" +msgstr "Instellingen opslaan" + +msgid "Reset options" +msgstr "Instellingen herstellen" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.mo new file mode 100644 index 0000000..8e7168b Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.po new file mode 100644 index 0000000..e59e399 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pl_PL.po @@ -0,0 +1,640 @@ +# Polish Language File for Google XML Sitemaps - sitemap-pl_PL.po) +# Copyright (C) 2007 Kuba Zwolinski : http://kubazwolinski.com +# This file is distributed under the same license as the WordPress package. +# kuba , 2007. +# $Id: sitemap-pl_PL.po 2504 2007-10-03 09:19:18Z +# +msgid "" +msgstr "" +"Project-Id-Version: Google Sitemap Generator PL\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2007-12-30 12:52+0100\n" +"Last-Translator: Kuba Zwolinski \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: SnowDog \n" +"X-Poedit-Language: Polish\n" +"X-Poedit-Country: POLAND\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:846 +msgid "Comment Count" +msgstr "Liczba komentarzy" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:858 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Używa liczbÄ™ komentarzy do obliczania priorytetu wpisu" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:918 +msgid "Comment Average" +msgstr "Åšrednia komentarzy" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "Używa Å›redniÄ… liczbÄ™ komentarzy do obliczania priorytetu wpisu" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:993 +msgid "Popularity Contest" +msgstr "Konkurs popularnoÅ›ci" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Używa wÅ‚Ä…czonej wtyczki Popularity Contest od Alex King. Zobaczustawienia i najbardziej popularne wpisy" + +msgid "XML-Sitemap Generator" +msgstr "Generator XML-Sitemap" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2397 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2582 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Wielkie dziÄ™ki za wsparcie. Pomagasz mi rozwijać tÄ™ wtyczkÄ™ oraz inne darmowe oprogramowanie!" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2582 +msgid "Hide this notice" +msgstr "Ukryj tÄ™ informacjÄ™" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "DziÄ™ki za używanie tej wtyczki! Wtyczka zostaÅ‚a zainstalowana ponad miesiÄ…c temu. JeÅ›li dziaÅ‚a dobrze i rezultaty sa zgodne z Twoimi oczekiwaniami, czy nie jest to wart paru zÅ‚otych? Dotacje pomagajÄ… mi kontynuowac rozwój wtyczki oraz zapewnić pomoc technicznÄ… użytkownikom tego darmowego programu! Jasne, bardzo chÄ™tnie!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 +msgid "No thanks, please don't bug me anymore!" +msgstr "Nie, dziÄ™ki. I nie zawracaj mi wiÄ™cej tym gÅ‚owy!" + +msgid "XML Sitemap Generator for WordPress" +msgstr "Generator XML-Sitemap" + +msgid "Configuration updated" +msgstr "Konfiguracja zaktualizowana" + +msgid "Error while saving options" +msgstr "WystÄ…piÅ‚ bÅ‚Ä…d podczas zapisywania opcji" + +msgid "Pages saved" +msgstr "Strony zostaÅ‚y zapisane" + +msgid "Error while saving pages" +msgstr "WystÄ…piÅ‚ bÅ‚Ä…d podczas zapisywania stron." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2711 +#, php-format +msgid "Robots.txt file saved" +msgstr "Plik Robots.txt zostaÅ‚ zapisany" + +msgid "Error while saving Robots.txt file" +msgstr "WystÄ…piÅ‚ bÅ‚Ä…d podczas zapisu pliku Robots.txt" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2721 +msgid "The default configuration was restored." +msgstr "DomyÅ›lna konfiguracja zostaÅ‚a przywrócona." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2814 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2831 +msgid "open" +msgstr "otworzyć" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2815 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2832 +msgid "close" +msgstr "zamknąć" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2816 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2833 +msgid "click-down and drag to move this box" +msgstr "wciÅ›nik klawisz i przeciÄ…gnij żeby przesunąć" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2817 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2834 +msgid "click to %toggle% this box" +msgstr "kliknij aby %toggle% to pole" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2818 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2835 +msgid "use the arrow keys to move this box" +msgstr "użyj kursorów aby przesunąć ten blok" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2819 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2836 +msgid ", or press the enter key to %toggle% it" +msgstr ", lub wciÅ›nij enter aby %toggle%" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2847 +msgid "About this Plugin:" +msgstr "O wtyczce:" + +msgid "Plugin Homepage" +msgstr "Strona główna wtyczki" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2850 +msgid "Notify List" +msgstr "Lista zmian wtyczki" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2851 +msgid "Support Forum" +msgstr "Forum pomocy" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2852 +msgid "Donate with PayPal" +msgstr "Wspomóż nas przez PayPal" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2853 +msgid "My Amazon Wish List" +msgstr "Lista życzeÅ„ Amazon" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2854 +msgid "translator_name" +msgstr "Strona tÅ‚umaczenia" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2854 +msgid "translator_url" +msgstr "http://kubazwolinski.com/wordpress/tlumaczenie-wtyczki-google-xml-sitemaps/" + +msgid "Sitemap Resources:" +msgstr "O mapie strony:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2860 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2861 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2863 +msgid "Site Explorer" +msgstr "Site Explorer" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2864 +msgid "Search Blog" +msgstr "Search Blog" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2861 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +msgid "Sitemaps Protocol" +msgstr "Sitemaps Protocol" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2867 +msgid "Official Sitemaps FAQ" +msgstr "Official Sitemaps FAQ" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2868 +msgid "My Sitemaps FAQ" +msgstr "FAQ wtyczki" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2873 +msgid "Recent Donations:" +msgstr "Ostatnie dotacje:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2877 +msgid "List of the donors" +msgstr "Lista darczyÅ„ców" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2879 +msgid "Hide this list" +msgstr "Ukryj tÄ™ listÄ™" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2882 +msgid "Thanks for your support!" +msgstr "DziÄ™ki za wsparcie!" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2894 +msgid "Status" +msgstr "Status" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2904 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Mapa strony nie zostaÅ‚a jeszcze zbudowana. Kliknij tutaj, aby jÄ… zbudować po raz pierwszy." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2910 +msgid "Your sitemap was last built on %date%." +msgstr "Ostatnia modyfikacja twojej mapy strony: %date%." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2912 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreDowiedz siÄ™ wiÄ™cejzipped) was last built on %date%." +msgstr "Ostatnia modyfikacja twojej spakowanej mapy strony: %date%." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2921 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreDowiedz siÄ™ wiÄ™cejsuccessfully notified about changes." +msgstr "Google zostaÅ‚ pomyÅ›lnie powiadomiony o zmianach." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2930 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Powiadomienie Google zajęło %time% sekund, możesz wyÅ‚Ä…czyć tÄ™ opcjÄ™, aby zredukować czas publikacji." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2933 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "WystÄ…piÅ‚ problem z powiadomieniem Google. Obejrzyj rezultat" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2939 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO zostaÅ‚ pomyÅ›lnie powiadomiony o zmianach." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2942 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Powiadomienie YAHOO zajęło %time% sekund, możesz wyÅ‚Ä…czyć tÄ™ opcjÄ™, aby zredukować czas publikacji." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2945 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "WystÄ…piÅ‚ problem z powiadomieniem YAHOO. Obejrzyj rezultat" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2939 +msgid "MSN was successfully notified about changes." +msgstr "MSN zostaÅ‚ pomyÅ›lnie powiadomiony o zmianach." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2954 +msgid "It took %time% seconds to notify MSN.com, maybe you want to disable this feature to reduce the building time." +msgstr "Powiadomienie MSN.com zajęło %time% sekund, możesz wyÅ‚Ä…czyć tÄ™ opcjÄ™, aby zredukować czas publikacji." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2957 +#, php-format +msgid "There was a problem while notifying MSN.com. View result" +msgstr "WystÄ…piÅ‚ problem z powiadomieniem MSN.com. Obejrzyj rezultat" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2951 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com zostaÅ‚ pomyÅ›lnie powiadomiony o zmianach." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2954 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Powiadomienie Ask.com zajęło %time% sekund, możesz wyÅ‚Ä…czyć tÄ™ opcjÄ™, aby zredukować czas publikacji." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2957 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "WystÄ…piÅ‚ problem z powiadomieniem Ask.com. Obejrzyj rezultat" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2965 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Proces budowy mapy zajÄ…Å‚ %time% sek. i wykorzystaÅ‚ %memory% MB pamiÄ™ci." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2967 +msgid "The building process took about %time% seconds to complete." +msgstr "Proces budowy mapy zajÄ…Å‚ %time% sek." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2971 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Zawartość twojej mapy nie zmieniÅ‚a siÄ™ /strong> od ostatniego razu, wiÄ™c pliki nie zostaÅ‚y nadpisane i żadna wyszukiwarka nie zostaÅ‚a powiadomiona." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2975 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Ostatnia operacja nie zostaÅ‚a zakoÅ„czona! Może należy zwiÄ™kszyć limit pamieci lub czasu wykonywania dla skryptów PHP. Dowiedz siÄ™ wiÄ™cej" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2977 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "Ostatnie znane zużycie pamiÄ™ci wyniosÅ‚o %memused%MB, limit twojego serwera to %memlimit%." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2981 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "Ostatni znany czas wykonywania skryptu wyniósÅ‚ %timeused% sek., limit twojego serwera wynosi %timelimit% sek." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2985 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Skrypt przerwaÅ‚ wykonywanie w okolicach wpisu nr %lastpost% (+/- 100)" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2988 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "JeÅ›li na blogu coÅ› zostaÅ‚o zmienione, należy przebudować mapÄ™ rÄ™cznie." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:2990 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "JeÅ›li napotkasz jakiÅ› problem podczas procesu budowy mapy, możesz użyć funkcji debugowania aby uzyskać wiÄ™cej informacji." + +msgid "Basic Options" +msgstr "Opcje podstawowe" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3007 +msgid "Sitemap files:" +msgstr "Pliki mapy strony:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3007 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3022 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3042 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3067 +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3084 +msgid "Learn more" +msgstr "Dowiedz siÄ™ wiÄ™cej" + +msgid "Write a normal XML file (your filename)" +msgstr "Zapisz normalny plik XML (wÅ‚asna nazwa)" + +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Zapisz plik gzip (wÅ‚asna nazwa + .gz)" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3022 +msgid "Building mode:" +msgstr "Tryb budowy:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3027 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Przebudowuj mapÄ™ przy zmianie zawartoÅ›ci bloga" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3034 +msgid "Enable manual sitemap building via GET Request" +msgstr "WÅ‚Ä…cz manualne przebudowywanie mapy przez polecenie GET" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3038 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Ta opcja pozwoli na odÅ›wieżenie mapy strony jeÅ›li jakieÅ› zewnÄ™trzne narzÄ™dzie dokona zapisu w bazie danych WordPress z pominiÄ™ciem WordPress API. Użyj nastÄ™pujÄ…cego adresu w celu rozpoczÄ™cia procesu: %1 Sprawdź plik logu powyżej, aby sprawdzić czy mapa zostaÅ‚a odpowiednio przebudowana." + +msgid "Update notification:" +msgstr "Powiadomienia o aktualizacjach:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3046 +msgid "Notify Google about updates of your Blog" +msgstr "Powiadamiaj Google o aktualizacjach twojego bloga" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3047 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Rejestracja nie jest wymagana, ale możesz sprawdzić Google Webmaster Tools aby kontrolować statystyki indeksowania." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3046 +msgid "Notify MSN Live Search about updates of your Blog" +msgstr "Powiadamiaj MSN Live Search o aktualizacjach twojego bloga" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3047 +#, php-format +msgid "No registration required, but you can join the MSN Live Webmaster Tools to check crawling statistics." +msgstr "Rejestracja nie jest wymagana, ale możesz sprawdzić MSN Live Webmaster Tools aby kontrolować statystyki indeksowania." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3051 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Powiadamiaj Ask.com o aktualizacjach twojego bloga" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3052 +msgid "No registration required." +msgstr "Rejestracja nie jest konieczna" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3056 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Powiadamiaj YAHOO o aktualizacjach twojego bloga" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +msgid "Your Application ID:" +msgstr "ID aplikacji:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Nie masz takiego klucza? Zamów go tutaj! %s2" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3062 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "Modyfikuj lub utwórz plik %s w katalogu strony gdzie znajduje siÄ™ mapa strony." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3065 +msgid "File permissions: " +msgstr "Status pliku: " + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3070 +msgid "OK, robots.txt is writable." +msgstr "OK, plik robots.txt ma prawa do zapisu." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3072 +msgid "Error, robots.txt is not writable." +msgstr "BÅ‚Ä…d, plik robots.txt nie ma praw do zapisu." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3076 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, plik robots.txt nie istnieje, ale katalog ma prawa do zapisu przez serwer." + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3078 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "BÅ‚Ä…d, plik robots.txt nie istnieje i katalog nie ma prawa do zapisu przez serwer" + +msgid "Advanced options:" +msgstr "Zaawansowane opcje:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3087 +msgid "Limit the number of posts in the sitemap:" +msgstr "Limituj ilość wpisów w mapie:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3087 +msgid "Newer posts will be included first" +msgstr "Nowsze wpisy bÄ™dÄ… zaÅ‚Ä…czone jako pierwsze" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3090 +msgid "Try to increase the memory limit to:" +msgstr "Spróbuj zwiÄ™kszyć limit pamiÄ™ci do:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3090 +msgid "e.g. \"4M\", \"16M\"" +msgstr "np. \"4M\", \"16M\"" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3093 +msgid "Try to increase the execution time limit to:" +msgstr "Spróbuj zwiÄ™kszyć limit czasu wykonywania do:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3093 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "w sekundach, np. \"60\" lub \"0\" dla nieograniczonego" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3096 +msgid "Include a XSLT stylesheet:" +msgstr "ZaÅ‚Ä…cz arkusz stylu XSLT: " + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3096 +msgid "Use Default" +msgstr "Użyj wartoÅ›ci domyÅ›lnych" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3096 +msgid "Full or relative URL to your .xsl file" +msgstr "Absolutna lub relatywna Å›cieżka to twojego plik .xsl " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "WÅ‚Ä…cz standardowy tryb MySQL. Użyj tego tylko w przypadku wystÄ™powania bÅ‚Ä™dów MySQL (zużywa duzo wiÄ™cej pamiÄ™ci!)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Buduj mapÄ™ strony w tle (nie musisz czekać kiedy zapisujesz swój wpis)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "Exclude the following posts or pages:" +msgstr "WyÅ‚Ä…cz nastÄ™pujÄ…ce wpisy lub strony:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "List of IDs, separated by comma" +msgstr "Lista ID, oddzielonych przecinkami" + +msgid "Additional pages" +msgstr "Dodatkowe strony" + +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Tutaj możesz podąć pliki lub adresy URL, które powinny znaleźć się w twojej mapie strony, chociaż nie należą do blogu/WordPress'a.
    Na przykład, jeśli twoja domena to www.foo.com i twój blog znajduje się na www.foo.com/blog, możesz chcieć umieścić także stronę główną (czyli www.foo.com)" + +msgid "Note" +msgstr "Notatka" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Jeśli twój blog znajduje się w podkatalogu i chcesz dodać strony które NIE znajdują się katalogu blogu lub jego subkatalogu, MUSISZ umieścić swoją mapę strony w katalogu głównym (zobacz sekcję " Lokalizacja twojej mapy strony" na tej stronie)!" + +msgid "URL to the page" +msgstr "URL strony" + +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Wpisz adres URL strony. Przykłady: http://www.foo.com/index.html lub www.foo.com/home " + +msgid "Priority" +msgstr "Priorytet" + +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Wybierz priorytet strony w odniesieniu do innych stron. Na przykład, strona główna może mieć wyższy priorytet niż informacje o tobie." + +msgid "Last Changed" +msgstr "Ostatnio zmieniony" + +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Wpisz datę ostatniej zmiany jako YYYY-MM-DD (na przykład: 2005-12-31) (opcja)." + +msgid "Change Frequency" +msgstr "Zmień częstotliwość" + +msgid "#" +msgstr "#" + +msgid "No pages defined." +msgstr "Brak zdefiniowanych stron" + +msgid "Add new page" +msgstr "Dodaj nową stronę" + +msgid "Post Priority" +msgstr "Priorytet wpisu" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3292 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Wybierz sposób obliczania priorytetu poszczególnych wpisów:" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3294 +msgid "Do not use automatic priority calculation" +msgstr "Nie używaj automatycznego obliczania priorytetu" + +# F:\apache\htdocs\wordpress2-3\wp-content\plugins\google-sitemap-generator/sitemap.php:3294 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Wszystkie wpisy mają ten sam priorytet, który jest zdefiniowany "Priorytety"" + +msgid "Location of your sitemap file" +msgstr "Lokalizacja twojego pliku mapy strony" + +msgid "Automatic detection" +msgstr "Automatycznw wykrywanie" + +msgid "Filename of the sitemap file" +msgstr "Nazwa pliku mapy strony" + +msgid "Detected Path" +msgstr "Wykryta ścieżka" + +msgid "Detected URL" +msgstr "Wykryty URL" + +msgid "Custom location" +msgstr "Własna lokalizacja" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absolutna ścieżka do pliku mapy strony, zawierający nazwę. " + +msgid "Example" +msgstr "Przykład" + +msgid "Complete URL to the sitemap file, including name." +msgstr "Pełen adres URL to pliku mapy strony, zawierający nazwę." + +msgid "Sitemap Content" +msgstr "Zawartość mapy strony" + +msgid "Include homepage" +msgstr "Zawiera stronę główną" + +msgid "Include posts" +msgstr "Zawiera wpisy" + +msgid "Include static pages" +msgstr "Zawiera statyczne strony" + +msgid "Include categories" +msgstr "Zawiera kategorie" + +msgid "Include archives" +msgstr "Zawiera archiwa" + +msgid "Include tag pages" +msgstr "Zawiera strony tagów" + +msgid "Include author pages" +msgstr "Zawiera strony autorów" + +msgid "Change frequencies" +msgstr "Zmień częstotliwość" + +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Proszę wziąść pod uwagę, że zawartość tego znacznika jest wskazówką, a nie poleceniem. Nawet jeśli wyszukiwarki biorą tą informację pod uwagę podczas podejmowania decyzji, to mogą one przeglądać strony zaznaczone jako \"co godzinę\" rzadziej. Jest również prawdopodobne, że strony oznaczone jako \"co rok\" będą przeglądane częściej. Również jest możliwe, że mimo oznaczenia \"nigdy\", wyszukiwarki mogą takie strony czasem przeglądać i wychwytywać nieoczekiwanie zmiany na tych stronach." + +msgid "Homepage" +msgstr "Strona główna" + +msgid "Posts" +msgstr "Wpisy" + +msgid "Static pages" +msgstr "Statyczne strony" + +msgid "Categories" +msgstr "Kategorie" + +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Aktualne archiwum tego miesiąca (powinno mieć taką samą częstotliwość jak strona główna)" + +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Starsz archiwa (zmień tylko jeśli edytujesz stare wpisy)" + +msgid "Tag pages" +msgstr "Strony tagów" + +msgid "Author pages" +msgstr "Strony autorów" + +msgid "Priorities" +msgstr "Priorytety" + +msgid "Posts (If auto calculation is disabled)" +msgstr "Wpisy (jeśli automatyczne przeliczanie jest wyłączone)" + +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minimalny priorytet wpisu (nawet jeśli automatyczne przeliczanie jest włączone)" + +msgid "Archives" +msgstr "Archiwa" + +msgid "Update options" +msgstr "Zaktualizuj opcje" + +msgid "Reset options" +msgstr "Reset opcji" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.mo new file mode 100644 index 0000000..2c7283e Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.po new file mode 100644 index 0000000..f13e0fb --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_BR.po @@ -0,0 +1,327 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap-es_ES.po 2504 2005-07-03 22:19:18Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2006-11-24 18:57-0300\n" +"Last-Translator: Rafael Lima \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: Pedro Polonia \n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: PORTUGAL\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-Bookmarks: -1,59,-1,-1,-1,71,-1,-1,-1,-1\n" + +#: sitemap.php:375 +msgid "always" +msgstr "sempre" + +msgid "hourly" +msgstr "a cada hora" + +msgid "daily" +msgstr "diariamente" + +msgid "weekly" +msgstr "semanalmente" + +msgid "monthly" +msgstr "mensalmente" + +msgid "yearly" +msgstr "anualmente" + +msgid "never" +msgstr "nunca" + +msgid "Detected Path" +msgstr "Caminho detectado" + +msgid "Example" +msgstr "Exemplo" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Caminho absoluto ou relativo para o arquivo sitemap, incluindo o nome." + +msgid "Complete URL to the sitemap file, including name." +msgstr "URL completo para o arquivo sitemap, incluindo o nome." + +msgid "Automatic location" +msgstr "Localização automática" + +msgid "Manual location" +msgstr "Localização manual" + +msgid "OR" +msgstr "OU" + +msgid "Location of your sitemap file" +msgstr "Localização do arquivo sitemap" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Se o seu blog está numa pasta e quer adicionar paginas que NÃO estão na pasta do seu blog ou em sub-pastas, DEVE colocar o seu arquivo sitemap na raiz dos directórios (Olhe na secção \"Localização do seu arquivo sitemap\" nesta página)! " + +#: sitemap.php:512 +msgid "Configuration updated" +msgstr "Configuração actualizada" + +#: sitemap.php:513 +msgid "Error" +msgstr "Erro" + +#: sitemap.php:521 +msgid "A new page was added. Click on "Save page changes" to save your changes." +msgstr "Uma nova página foi adicionada. Seleccione em \"Gravar alterações\" para guardar as alterações. " + +#: sitemap.php:527 +msgid "Pages saved" +msgstr "Páginas guardadas" + +#: sitemap.php:528 +msgid "Error while saving pages" +msgstr "Erro durante a gravação das páginas " + +#: sitemap.php:539 +msgid "The page was deleted. Click on "Save page changes" to save your changes." +msgstr "A página foi eliminada. Seleccione em \"Gravar alterações\" para guardar as alterações. " + +#: sitemap.php:542 +msgid "You changes have been cleared." +msgstr "As suas alterações foram anuladas." + +#: sitemap.php:555 +msgid "Sitemap Generator" +msgstr "Gerador Sitemap" + +#: sitemap.php:558 +msgid "Manual rebuild" +msgstr "Reconstrução manual" + +#: sitemap.php:559 +msgid "If you want to build the sitemap without editing a post, click on here!" +msgstr "Se deseja construir o sitemap sem editar nenhum artigo, clique aqui!" + +#: sitemap.php:560 +msgid "Rebuild Sitemap" +msgstr "Reconstruir Sitemap" + +#: sitemap.php:564 +msgid "Additional pages" +msgstr "Páginas adicionais" + +#: sitemap.php:566 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Aqui pode especificar os arquivos ou URLs que devem ser incluídas no sitemap mas que não pertencem ao seu blog/WordPress.
    Por exemplo: se o teu domínio é www.foo.com e o teu blog está localizado em www.foo.com/blog, deve querer incluir a sua página inicial em www.foo.com " + +#: sitemap.php:568 +msgid "URL to the page" +msgstr "URL da página" + +#: sitemap.php:569 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "URL da página. Exemplos: http://www.foo.com/index.html ou www.foo.com/home" + +#: sitemap.php:571 +msgid "Priority" +msgstr "Prioridade" + +#: sitemap.php:572 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Escolha a prioridade relativa da página relativa a outras páginas. Por exemplo, a sua página inicial deve ter uma maior prioridade que os seus dados pessoais." + +#: sitemap.php:574 +msgid "Last Changed" +msgstr "Última Alteração" + +#: sitemap.php:575 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Entre a data da última alteração como AAAA-MM-DD (por exemplo: 2005-12-31) (opcional). " + +#: sitemap.php:583 +msgid "Change Frequency" +msgstr "Frequência das Alterações " + +#: sitemap.php:585 +msgid "#" +msgstr "#" + +#: sitemap.php:609 +msgid "No pages defined." +msgstr "Nenhuma página definida" + +#: sitemap.php:616 +msgid "Add new page" +msgstr "Adicionar nova página " + +#: sitemap.php:617: +msgid "Save page changes" +msgstr "Guardar as alterações da página" + +#: sitemap.php:618: +msgid "Undo all page changes" +msgstr "Desfazer todas as alterações da página" + +#: sitemap.php:621: +msgid "Delete marked page" +msgstr "Apagar a página marcada" + +#: sitemap.php:627 +msgid "Basic Options" +msgstr "Opções Básicas" + +#: sitemap.php:632 +msgid "Enable automatic priority calculation for posts based on comment count" +msgstr "Activar o cálculo automático de prioridades para artigos baseado no número de comentários. " + +#: sitemap.php:638 +msgid "Write debug comments" +msgstr "Escrever comentários de depuração (debug) " + +#: sitemap.php:643 +msgid "Filename of the sitemap file" +msgstr "Nome do arquivo sitemap" + +#: sitemap.php:650 +msgid "Write a normal XML file (your filename)" +msgstr "Escrever um arquivo XML normal (nome do arquivo)" + +#: sitemap.php:652 +msgid "Detected URL" +msgstr "URL detectada" + +#: sitemap.php:657 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Gravar um arquivo comprimido com gzip (nome_arquivo +.gz)" + +#: sitemap.php:664 +msgid "Auto-Ping Google Sitemaps" +msgstr "Ping automático a Google Sitemaps" + +#: sitemap.php:665 +msgid "This option will automatically tell Google about changes." +msgstr "Esta opção indicará automaticamente as alterações ao Google." + +#: sitemap.php:672 +msgid "Includings" +msgstr "Inclusões" + +#: sitemap.php:677 +msgid "Include homepage" +msgstr "Incluir página principal" + +#: sitemap.php:683 +msgid "Include posts" +msgstr "Incluir artigos" + +#: sitemap.php:689 +msgid "Include static pages" +msgstr "Incluir páginas estáticas" + +#: sitemap.php:695 +msgid "Include categories" +msgstr "Incluir categorías" + +#: sitemap.php:701 +msgid "Include archives" +msgstr "Incluir arquivos" + +#: sitemap.php:708 +msgid "Change frequencies" +msgstr "Frequência das mudanças " + +#: sitemap.php:709 +msgid "Note" +msgstr "Nota" + +#: sitemap.php:710 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Por favor, considere que o valor desta etiqueta é um conselho e não um comando. Mesmo quando alguns agentes de pesquisa (search engine crawlers) consideram esta informação para tomar decisões, eles podem verificar as páginas marcadas como \"a cada hora\" com menor frequência, e visitar varias vezes por ano, as páginas marcadas com \"anualmente\".É igualmente possível que sejam verificadas páginas marcadas com \"nunca\" para gerir possíveis mudanças inesperadas nas mesmas." + +#: sitemap.php:715 +msgid "Homepage" +msgstr "Página principal" + +#: sitemap.php:721 +msgid "Posts" +msgstr "Artigos" + +#: sitemap.php:727 +msgid "Static pages" +msgstr "Páginas estáticas" + +#: sitemap.php:733 +msgid "Categories" +msgstr "Categorias" + +#: sitemap.php:739 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Arquivo deste mês (Deve ser igual ao da sua pagina principal)" + +#: sitemap.php:745 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Arquivos antigos (Alterar só se editou um artigo antigo)" + +#: sitemap.php:752 +msgid "Priorities" +msgstr "Prioridades" + +#: sitemap.php:763 +msgid "Posts (If auto calculation is disabled)" +msgstr "Artigos (Se o calculo automático está inativo) " + +#: sitemap.php:769 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Prioridade mínima para artigos (Mesmo quando o cálculo automático está ativo) " + +#: sitemap.php:787 +msgid "Archives" +msgstr "Arquivos" + +#: sitemap.php:793 +msgid "Informations and support" +msgstr "Informação e suporte" + +#: sitemap.php:794 +msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." +msgstr "Consulte %s para atualizações e comentários se tiver algum problema, questão ou sugestão." + +#: sitemap.php:797 +msgid "Update options" +msgstr "Atualizar opções" + +#: sitemap.php:1033 +msgid "URL:" +msgstr "URL:" + +#: sitemap.php:1034 +msgid "Path:" +msgstr "Caminho:" + +#: sitemap.php:1037 +msgid "Could not write into %s" +msgstr "Não foi possivel escrever em %s" + +#: sitemap.php:1048 +msgid "Successfully built sitemap file:" +msgstr "Arquivo sitemap criado com sucesso:" + +#: sitemap.php:1048 +msgid "Successfully built gzipped sitemap file:" +msgstr "Arquivo sitemap comprimido criado com sucesso:" + +#: sitemap.php:1062 +msgid "Could not ping to Google at %s" +msgstr "Não foi possível realizar ping no Google em %s" + +#: sitemap.php:1064 +msgid "Successfully pinged Google at %s" +msgstr "Ping a Google realizado com sucesso em %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.mo new file mode 100644 index 0000000..3beb171 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.po new file mode 100644 index 0000000..6ad07c8 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-pt_PT.po @@ -0,0 +1,971 @@ +msgid "" +msgstr "" +"Project-Id-Version: Google XML Sitemaps v4.0.1\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2014-03-31 21:34+0100\n" +"Last-Translator: \n" +"Language-Team: wordpress.mowster.net \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.6.4\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;" +"_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Bookmarks: -1,59,-1,-1,-1,71,-1,-1,-1,-1\n" +"X-Textdomain-Support: yes\n" +"Language: pt_PT\n" +"X-Poedit-SearchPath-0: .\n" + +# @ sitemap +#: sitemap-ui.php:797 +msgid "" +"If your blog is in a subdirectory and you want to add pages which are NOT in " +"the blog directory or beneath, you MUST place your sitemap file in the root " +"directory (Look at the "Location of your sitemap file" section on " +"this page)!" +msgstr "" +"Se o seu blog está numa pasta e quer adicionar paginas que NÃO estão na " +"pasta do seu blog ou em sub-pastas, DEVE colocar o seu ficheiro sitemap na " +"raiz dos diretorias (Verifique na secção \"Localização do seu ficheiro " +"sitemap\" nesta página)!" + +# @ sitemap +#: sitemap-ui.php:374 +msgid "Configuration updated" +msgstr "Configuração atualizada" + +# @ sitemap +#: sitemap-ui.php:378 +msgid "Pages saved" +msgstr "Páginas guardadas" + +# @ sitemap +#: sitemap-ui.php:379 +msgid "Error while saving pages" +msgstr "Erro durante a gravação das páginas" + +# @ sitemap +#: sitemap-ui.php:791 +msgid "Additional pages" +msgstr "Páginas adicionais" + +# @ sitemap +#: sitemap-ui.php:794 +msgid "" +"Here you can specify files or URLs which should be included in the sitemap, " +"but do not belong to your Blog/WordPress.
    For example, if your domain " +"is www.foo.com and your blog is located on www.foo.com/blog you might want " +"to include your homepage at www.foo.com" +msgstr "" +"Aqui pode especificar os ficheiros ou URLs que devem ser incluídas no " +"sitemap mas que não pertencem ao seu blog/WordPress.
    Por exemplo: se o " +"seu domínio é www.foo.com e o seu blog está localizado em www.foo.com/blog, " +"deve querer incluir a sua página inicial em www.foo.com" + +# @ sitemap +#: sitemap-ui.php:799 sitemap-ui.php:838 +msgid "URL to the page" +msgstr "URL da página" + +# @ sitemap +#: sitemap-ui.php:800 +msgid "" +"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." +"foo.com/home " +msgstr "" +"URL da página. Exemplos: http://www.foo.com/index.html ou www.foo.com/home " + +# @ sitemap +#: sitemap-ui.php:802 sitemap-ui.php:839 +msgid "Priority" +msgstr "Prioridade" + +# @ sitemap +#: sitemap-ui.php:803 +msgid "" +"Choose the priority of the page relative to the other pages. For example, " +"your homepage might have a higher priority than your imprint." +msgstr "" +"Escolha a prioridade relativa da página em relação a outras páginas. Por " +"exemplo, a sua página inicial deve ter uma maior prioridade que os seus " +"dados pessoais." + +# @ sitemap +#: sitemap-ui.php:805 sitemap-ui.php:841 +msgid "Last Changed" +msgstr "Última Alteração" + +# @ sitemap +#: sitemap-ui.php:806 +msgid "" +"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " +"(optional)." +msgstr "" +"Introduza a data da última alteração com o formato AAAA-MM-DD (por exemplo: " +"2005-12-31) (opcional)." + +# @ sitemap +#: sitemap-ui.php:840 +msgid "Change Frequency" +msgstr "Alterar Frequência" + +# @ sitemap +#: sitemap-ui.php:842 +msgid "#" +msgstr "#" + +# @ sitemap +#: sitemap-ui.php:847 +msgid "No pages defined." +msgstr "Nenhuma página definida." + +# @ sitemap +#: sitemap-ui.php:852 +msgid "Add new page" +msgstr "Adicionar nova página" + +# @ sitemap +#: sitemap-ui.php:735 +msgid "Basic Options" +msgstr "Opções Básicas" + +# @ sitemap +#: sitemap-ui.php:879 +msgid "Include homepage" +msgstr "Incluir página principal" + +# @ sitemap +#: sitemap-ui.php:885 +msgid "Include posts" +msgstr "Incluir artigos" + +# @ sitemap +#: sitemap-ui.php:891 +msgid "Include static pages" +msgstr "Incluir páginas estáticas" + +# @ sitemap +#: sitemap-ui.php:897 +msgid "Include categories" +msgstr "Incluir categorias" + +# @ sitemap +#: sitemap-ui.php:903 +msgid "Include archives" +msgstr "Incluir arquivos" + +# @ sitemap +#: sitemap-ui.php:1017 +msgid "Change frequencies" +msgstr "Alterar frequências" + +# @ sitemap +#: sitemap-ui.php:796 sitemap-ui.php:1000 sitemap-ui.php:1011 +#: sitemap-ui.php:1020 +msgid "Note" +msgstr "Nota" + +# @ sitemap +#: sitemap-ui.php:1021 +msgid "" +"Please note that the value of this tag is considered a hint and not a " +"command. Even though search engine crawlers consider this information when " +"making decisions, they may crawl pages marked \"hourly\" less frequently " +"than that, and they may crawl pages marked \"yearly\" more frequently than " +"that. It is also likely that crawlers will periodically crawl pages marked " +"\"never\" so that they can handle unexpected changes to those pages." +msgstr "" +"Por favor, considere que o valor desta etiqueta é um conselho e não um " +"comando. Mesmo quando alguns motores de busca consideram esta informação " +"para tomar decisões, eles podem verificar as páginas marcadas como \"de hora " +"em hora\" com menor frequência, e visitar varias vezes por ano, as páginas " +"marcadas com \"anualmente\". É igualmente possível que sejam verificadas " +"páginas marcadas com \"nunca\" para gerir possíveis mudanças inesperadas nas " +"mesmas." + +# @ sitemap +#: sitemap-ui.php:1027 sitemap-ui.php:1084 +msgid "Homepage" +msgstr "Página principal" + +# @ sitemap +#: sitemap-ui.php:1033 +msgid "Posts" +msgstr "Artigos" + +# @ sitemap +#: sitemap-ui.php:1039 sitemap-ui.php:1102 +msgid "Static pages" +msgstr "Páginas estáticas" + +# @ sitemap +#: sitemap-ui.php:1045 sitemap-ui.php:1108 +msgid "Categories" +msgstr "Categorias" + +# @ sitemap +#: sitemap-ui.php:1051 +msgid "" +"The current archive of this month (Should be the same like your homepage)" +msgstr "Arquivo deste mês (Deve ser igual ao da sua pagina principal)" + +# @ sitemap +#: sitemap-ui.php:1057 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Arquivos antigos (Alterar só se editou um artigo antigo)" + +# @ sitemap +#: sitemap-ui.php:1079 +msgid "Priorities" +msgstr "Prioridades" + +# @ sitemap +#: sitemap-ui.php:1090 +msgid "Posts (If auto calculation is disabled)" +msgstr "Artigos (Se o calculo automático está desabilitado)" + +# @ sitemap +#: sitemap-ui.php:1096 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "" +"Prioridade mínima para artigos (Mesmo quando o cálculo automático esteja " +"ativo)" + +# @ sitemap +#: sitemap-ui.php:1114 +msgid "Archives" +msgstr "Arquivos" + +# @ sitemap +#: sitemap-ui.php:1139 +msgid "Update options" +msgstr "Atualizar opções" + +# @ sitemap +#: sitemap-core.php:536 +msgid "Comment Count" +msgstr "Número de comentários" + +# @ sitemap +#: sitemap-core.php:546 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Utiliza o número de comentários do artigo para calcular a prioridade" + +# @ sitemap +#: sitemap-core.php:599 +msgid "Comment Average" +msgstr "Média de comentários" + +# @ sitemap +#: sitemap-core.php:609 +msgid "Uses the average comment count to calculate the priority" +msgstr "Utiliza a contagem média de comentários para calcular a prioridade" + +# @ sitemap +#: sitemap-core.php:770 +msgid "Always" +msgstr "Sempre" + +# @ sitemap +#: sitemap-core.php:771 +msgid "Hourly" +msgstr "De hora em hora" + +# @ sitemap +#: sitemap-core.php:772 +msgid "Daily" +msgstr "Diariamente" + +# @ sitemap +#: sitemap-core.php:773 +msgid "Weekly" +msgstr "Semanalmente" + +# @ sitemap +#: sitemap-core.php:774 +msgid "Monthly" +msgstr "Mensalmente" + +# @ sitemap +#: sitemap-core.php:775 +msgid "Yearly" +msgstr "Anualmente" + +# @ sitemap +#: sitemap-core.php:776 +msgid "Never" +msgstr "Nunca" + +# @ sitemap +#: sitemap-loader.php:218 +msgid "XML-Sitemap Generator" +msgstr "Gerador XML-Sitemap" + +# @ sitemap +#: sitemap-loader.php:218 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +# @ sitemap +#: sitemap-loader.php:246 +msgid "Settings" +msgstr "Configurações" + +# @ sitemap +#: sitemap-loader.php:247 +msgid "FAQ" +msgstr "FAQ" + +# @ sitemap +#: sitemap-loader.php:248 +msgid "Support" +msgstr "Suporte" + +# @ sitemap +#: sitemap-loader.php:249 +msgid "Donate" +msgstr "Donativo" + +# @ sitemap +#: sitemap-ui.php:198 sitemap-ui.php:585 +msgid "XML Sitemap Generator for WordPress" +msgstr "Gerador XML Sitemap para o WordPress" + +# @ sitemap +#: sitemap-ui.php:375 +msgid "Error while saving options" +msgstr "Erro enquanto guardava opções" + +# @ sitemap +#: sitemap-ui.php:387 +msgid "The default configuration was restored." +msgstr "A configuração padrão foi restabelecida." + +# @ sitemap +#: sitemap-ui.php:397 +msgid "" +"The old files could NOT be deleted. Please use an FTP program and delete " +"them by yourself." +msgstr "" +"Os ficheiros antigos não podem ser apagados. Por favor, utilize um programa " +"de FTP e apague-os manualmente." + +# @ sitemap +#: sitemap-ui.php:399 +msgid "The old files were successfully deleted." +msgstr "Os ficheiros antigos foram apagados com sucesso." + +# @ sitemap +#: sitemap-ui.php:439 +msgid "" +"Thank you very much for your donation. You help me to continue support and " +"development of this plugin and other free software!" +msgstr "" +"Muito obrigado pela sua contribuição. Ajuda-me a continuar a apoiar e a " +"desenvolver este plugin e outros softwares grátis!" + +# @ sitemap +#: sitemap-ui.php:439 +msgid "Hide this notice" +msgstr "Esconder esta notícia" + +# @ sitemap +#: sitemap-ui.php:445 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin over a month ago. " +"If it works and you are satisfied with the results, isn't it worth at least " +"a few dollar? Donations help me to continue support and " +"development of this free software! Sure, no problem!" +msgstr "" +"Obrigado por utilizar este plugin! Você instalou o plugin há mais de um mês. " +"Se funciona e você está satisfeito com os resultados, não vale pelo menos um " +"dólar? Donativos ajuda-me a continuar a apoiar e a " +"desenvolver software livre! Claro, sem problema!" + +# @ sitemap +#: sitemap-ui.php:445 +msgid "Sure, but I already did!" +msgstr "Claro, mas já o fiz anteriormente!" + +# @ sitemap +#: sitemap-ui.php:445 +msgid "No thanks, please don't bug me anymore!" +msgstr "Não obrigado, não me incomode mais!" + +# @ sitemap +#: sitemap-ui.php:452 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin some time ago. If " +"it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "" +"Obrigado por utilizar este plugin! Você instalou este plugin há algum tempo. " +"Se ele funciona e você está satisfeito, por que não avaliar e recomendar a outros utilizadores? :-)" + +# @ sitemap +#: sitemap-ui.php:452 +msgid "Don't show this anymore" +msgstr "Não exibir" + +# @ default +#: sitemap-ui.php:601 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here." +msgstr "" + +# @ default +#: sitemap-ui.php:603 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here automatic upgrade unavailable for this plugin." +msgstr "" + +# @ default +#: sitemap-ui.php:605 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here or upgrade automatically." +msgstr "" + +# @ sitemap +#: sitemap-ui.php:613 +#, php-format +msgid "" +"Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "" +"O seu blog está neste momento a bloquear a indexação dos motores de busca! " +"Visite a privacidade para alterar esta limitação." + +# @ sitemap +#: sitemap-ui.php:629 +msgid "About this Plugin:" +msgstr "Sobre o Plugin:" + +# @ sitemap +#: sitemap-ui.php:630 +msgid "Plugin Homepage" +msgstr "Página principal do Plugin" + +# @ sitemap +#: sitemap-ui.php:631 +msgid "Suggest a Feature" +msgstr "Sugerir nova funcionalidade" + +# @ sitemap +#: sitemap-ui.php:632 +msgid "Notify List" +msgstr "Receber notificações" + +# @ sitemap +#: sitemap-ui.php:633 +msgid "Support Forum" +msgstr "Fórum de suporte" + +# @ sitemap +#: sitemap-ui.php:634 +msgid "Report a Bug" +msgstr "Reportar um Bug" + +# @ sitemap +#: sitemap-ui.php:636 +msgid "Donate with PayPal" +msgstr "Donativo via PayPal" + +# @ sitemap +#: sitemap-ui.php:637 +msgid "My Amazon Wish List" +msgstr "Lista Amazon" + +# @ sitemap +#: sitemap-ui.php:638 +msgid "translator_name" +msgstr "Mowster" + +# @ sitemap +#: sitemap-ui.php:638 +msgid "translator_url" +msgstr "http://wordpress.mowster.net" + +# @ sitemap +#: sitemap-ui.php:641 +msgid "Sitemap Resources:" +msgstr "Recursos Sitemap:" + +# @ sitemap +#: sitemap-ui.php:642 sitemap-ui.php:647 +msgid "Webmaster Tools" +msgstr "Ferramentas para Webmasters" + +# @ sitemap +#: sitemap-ui.php:643 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# @ sitemap +#: sitemap-ui.php:645 +msgid "Search Blog" +msgstr "Procurar no Blog" + +# @ sitemap +#: sitemap-ui.php:648 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +# @ sitemap +#: sitemap-ui.php:650 +msgid "Sitemaps Protocol" +msgstr "Protocolo Sitemaps" + +# @ sitemap +#: sitemap-ui.php:651 +msgid "Official Sitemaps FAQ" +msgstr "Oficial FAQ Sitemaps" + +# @ sitemap +#: sitemap-ui.php:652 +msgid "My Sitemaps FAQ" +msgstr "FAQ Sitemaps" + +# @ sitemap +#: sitemap-ui.php:655 +msgid "Recent Donations:" +msgstr "Donativos Recentes:" + +# @ sitemap +#: sitemap-ui.php:658 +msgid "List of the donors" +msgstr "Lista de doadores" + +# @ sitemap +#: sitemap-ui.php:660 +msgid "Hide this list" +msgstr "Ocultar lista" + +# @ sitemap +#: sitemap-ui.php:663 +msgid "Thanks for your support!" +msgstr "Obrigado pelo apoio!" + +# @ sitemap +#: sitemap-ui.php:683 +msgid "Search engines haven't been notified yet" +msgstr "Motores de busca ainda não foram notificados" + +# @ sitemap +#: sitemap-ui.php:687 +#, php-format +msgid "Result of the last ping, started on %date%." +msgstr "Resultado do último ping, iniciado em %date%." + +# @ sitemap +#: sitemap-ui.php:702 +#, php-format +msgid "" +"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " +"Please delete them as no static files are used anymore or try " +"to delete them automatically." +msgstr "" +"Existe ainda um ficheiro sitemap.xml ou sitemap.xml.gz na sua pasta do blog. " +"Por favor, apague-os uma vez que os ficheiros físicos não são mais " +"utilizados ​​ou tente apaga-los automaticamente." + +# @ sitemap +#: sitemap-ui.php:705 +#, php-format +msgid "The URL to your sitemap index file is: %s." +msgstr "O URL para o seu ficheiro sitemap é: %s." + +# @ sitemap +#: sitemap-ui.php:708 +msgid "" +"Search engines haven't been notified yet. Write a post to let them know " +"about your sitemap." +msgstr "" +"Motores de busca ainda não foram notificados. Escreva um artigo e permita-" +"lhes que tomem conhecimento do seu sitemap." + +# @ sitemap +#: sitemap-ui.php:717 +#, php-format +msgid "%s was successfully notified about changes." +msgstr "%s foi notificado com sucesso sobre as alterações." + +# @ sitemap +#: sitemap-ui.php:720 +#, php-format +msgid "" +"It took %time% seconds to notify %name%, maybe you want to disable this " +"feature to reduce the building time." +msgstr "" +"Demorou %time% segundos para notificar %name%, talvez queira desabilitar " +"este recurso para reduzir o tempo de construção." + +# @ sitemap +#: sitemap-ui.php:723 +#, php-format +msgid "" +"There was a problem while notifying %name%. View result" +msgstr "" +"Houve um problema enquanto notificava %name%. Ver resultados" + +# @ sitemap +#: sitemap-ui.php:727 +#, php-format +msgid "" +"If you encounter any problems with your sitemap you can use the debug function to get more information." +msgstr "" +"Se teve problemas com seu sitemap pode usar a função debug para obter mais informações." + +# @ sitemap +#: sitemap-ui.php:737 +msgid "Update notification:" +msgstr "Notificação de atualizações:" + +# @ sitemap +#: sitemap-ui.php:737 sitemap-ui.php:760 sitemap-ui.php:783 +msgid "Learn more" +msgstr "Saber mais" + +# @ sitemap +#: sitemap-ui.php:741 +msgid "Notify Google about updates of your Blog" +msgstr "Notificar o Google sobre as atualizações do seu Blog" + +# @ sitemap +#: sitemap-ui.php:742 +#, php-format +msgid "" +"No registration required, but you can join the Google " +"Webmaster Tools to check crawling statistics." +msgstr "" +"Nenhum registo necessário, mas pode utilizar o Google " +"Webmaster Tools para verificar as estatísticas de rastreamento." + +# @ sitemap +#: sitemap-ui.php:746 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "" +"Notificar o Bing (antigo MSN Live Search) sobre as atualizações do seu Blog" + +# @ sitemap +#: sitemap-ui.php:747 +#, php-format +msgid "" +"No registration required, but you can join the Bing Webmaster " +"Tools to check crawling statistics." +msgstr "" +"Nenhum registo necessário, mas pode utilizar o Bing Webmaster " +"Tools para verificar as estatísticas de rastreamento." + +# @ sitemap +#: sitemap-ui.php:752 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Adicionar o URL do sitemap ao ficheiro virtual robots.txt." + +# @ sitemap +#: sitemap-ui.php:756 +msgid "" +"The virtual robots.txt generated by WordPress is used. A real robots.txt " +"file must NOT exist in the blog directory!" +msgstr "" +"O robots.txt virtual é gerado pelo WordPress. Um ficheiro robots.txt real " +"não deve existir no diretório do blog!" + +# @ sitemap +#: sitemap-ui.php:760 +msgid "Advanced options:" +msgstr "Opções avançadas:" + +# @ sitemap +#: sitemap-ui.php:763 +msgid "Try to increase the memory limit to:" +msgstr "Aumentar o limite de memória para:" + +# @ sitemap +#: sitemap-ui.php:763 +msgid "e.g. \"4M\", \"16M\"" +msgstr "ex. \"4M\", \"16M\"" + +# @ sitemap +#: sitemap-ui.php:766 +msgid "Try to increase the execution time limit to:" +msgstr "Aumentar o tempo de execução para:" + +# @ sitemap +#: sitemap-ui.php:766 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "em segundos, ex: \"60\" or \"0\" para ilimitado" + +# @ sitemap +#: sitemap-ui.php:770 +msgid "Include a XSLT stylesheet:" +msgstr "Incluir uma folha de estilo XSLT:" + +# @ sitemap +#: sitemap-ui.php:771 +msgid "Full or relative URL to your .xsl file" +msgstr "URL completo ou relativo para o ficheiro .xsl" + +# @ sitemap +#: sitemap-ui.php:771 +msgid "Use default" +msgstr "Utilizar padrão" + +# @ sitemap +#: sitemap-ui.php:776 +msgid "Include sitemap in HTML format" +msgstr "Incluir o sitemap num formato HTML" + +# @ sitemap +#: sitemap-ui.php:858 +msgid "Post Priority" +msgstr "Prioridade do Artigo" + +# @ sitemap +#: sitemap-ui.php:860 +msgid "Please select how the priority of each post should be calculated:" +msgstr "" +"Por favor, selecione como a prioridade de cada artigo deve ser calculada:" + +# @ sitemap +#: sitemap-ui.php:862 +msgid "Do not use automatic priority calculation" +msgstr "Não utilizar o cálculo automático de prioridades" + +# @ sitemap +#: sitemap-ui.php:862 +msgid "" +"All posts will have the same priority which is defined in "" +"Priorities"" +msgstr "" +"Todo os artigos irão ter a mesma prioridade definida em "" +"Prioridades"" + +# @ sitemap +#: sitemap-ui.php:873 +msgid "Sitemap Content" +msgstr "Conteúdo Sitemap" + +# @ sitemap +#: sitemap-ui.php:874 +msgid "WordPress standard content" +msgstr "Conteúdo padrão do WordPress" + +# @ sitemap +#: sitemap-ui.php:909 +msgid "Include author pages" +msgstr "Incluir páginas de autores" + +# @ sitemap +#: sitemap-ui.php:916 +msgid "Include tag pages" +msgstr "Incluir páginas de etiquetas" + +# @ sitemap +#: sitemap-ui.php:930 +msgid "Custom taxonomies" +msgstr "Taxonomias personalizadas" + +# @ sitemap +#: sitemap-ui.php:941 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "Incluir páginas de taxonomias para %s" + +# @ sitemap +#: sitemap-ui.php:959 +msgid "Custom post types" +msgstr "Tipos de artigos personalizados" + +# @ sitemap +#: sitemap-ui.php:970 +#, php-format +msgid "Include custom post type %s" +msgstr "Incluir tipos de artigos personalizados %s" + +# @ sitemap +#: sitemap-ui.php:982 +msgid "Further options" +msgstr "Mais opções" + +# @ sitemap +#: sitemap-ui.php:987 +msgid "Include the last modification time." +msgstr "Incluir a hora da última modificação." + +# @ sitemap +#: sitemap-ui.php:989 +msgid "" +"This is highly recommended and helps the search engines to know when your " +"content has changed. This option affects all sitemap entries." +msgstr "" +"É extremamente recomendável e ajuda os motores de busca a saber quando seu " +"conteúdo foi alterado. Esta opção afeta todos os registos do sitemap." + +# @ sitemap +#: sitemap-ui.php:996 +msgid "Excluded items" +msgstr "Itens excluídos" + +# @ sitemap +#: sitemap-ui.php:998 +msgid "Excluded categories" +msgstr "Categorias excluídas" + +# @ sitemap +#: sitemap-ui.php:1000 +msgid "Using this feature will increase build time and memory usage!" +msgstr "" +"Utilizar este recurso irá aumentar o tempo de compilação e utilização de " +"memória!" + +# @ sitemap +#: sitemap-ui.php:1007 +msgid "Exclude posts" +msgstr "Artigos excluídos" + +# @ sitemap +#: sitemap-ui.php:1009 +msgid "Exclude the following posts or pages:" +msgstr "Excluir os seguintes artigos ou páginas:" + +# @ sitemap +#: sitemap-ui.php:1009 +msgid "List of IDs, separated by comma" +msgstr "Listagem de IDs, separados por vírgual" + +# @ sitemap +#: sitemap-ui.php:1011 +msgid "Child posts won't be excluded automatically!" +msgstr "Artigos subsequentes não serão excluídos automaticamente!" + +# @ sitemap +#: sitemap-ui.php:1064 sitemap-ui.php:1121 +msgid "Tag pages" +msgstr "Páginas de etiquetas" + +# @ sitemap +#: sitemap-ui.php:1071 sitemap-ui.php:1128 +msgid "Author pages" +msgstr "Páginas de autores" + +# @ sitemap +#: sitemap-ui.php:1140 +msgid "Reset options" +msgstr "Redefinir opções" + +# @ sitemap +#. translators: plugin header field 'Name' +#: sitemap.php:0 +msgid "Google XML Sitemaps" +msgstr "Google XML Sitemaps" + +# @ sitemap +#. translators: plugin header field 'PluginURI' +#: sitemap.php:0 +msgid "http://www.arnebrachhold.de/redir/sitemap-home/" +msgstr "http://www.arnebrachhold.de/redir/sitemap-home/" + +# @ sitemap +#. translators: plugin header field 'Description' +#: sitemap.php:0 +msgid "" +"This plugin will generate a special XML sitemap which will help search " +"engines like Google, Yahoo, Bing and Ask.com to better index your blog." +msgstr "" +"Este plugin irá gerar um sitemap XML especial que irá ajudar os motores de " +"busca como Google, Yahoo, Bing e Ask.com a indexar mais facilmente o seu " +"blog." + +# @ sitemap +#. translators: plugin header field 'Author' +#: sitemap.php:0 +msgid "Arne Brachhold" +msgstr "Arne Brachhold" + +# @ sitemap +#. translators: plugin header field 'AuthorURI' +#: sitemap.php:0 +msgid "http://www.arnebrachhold.de/" +msgstr "http://www.arnebrachhold.de/" + +# @ sitemap +#: sitemap.php:82 +msgid "Your WordPress version is too old for XML Sitemaps." +msgstr "" +"A sua versão WordPress é demasiadamente antigo para poder executar o XML " +"Sitemaps." + +# @ sitemap +#: sitemap.php:82 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least " +"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " +"insecure. Please upgrade or go to active plugins and " +"deactivate the Google XML Sitemaps plugin to hide this message. You can " +"download an older version of this plugin from the plugin " +"website." +msgstr "" +"Infelizmente esta versão do Google XML Sitemaps requer pelo menos o " +"WordPress %4$s. Está utilizando o Wordpress %2$s, que está caduco e " +"inseguro. Por favor, atualize ou nos plugins ativos " +"desative o Google XML Sitemaps para ocultar esta mensagem. Pode utilizar uma " +"versão mais antiga deste plugin, é possível encontrá-la no site oficial." + +# @ sitemap +#: sitemap.php:92 +msgid "Your PHP version is too old for XML Sitemaps." +msgstr "" +"A sua versão PHP é demasiadamente antiga para poder executar o XML Sitemaps." + +# @ sitemap +#: sitemap.php:92 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least PHP " +"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " +"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " +"this message. You can download an older version of this plugin from the plugin website." +msgstr "" +"Infelizmente esta versão do Google XML Sitemaps requer pelo menos o PHP " +"%4$s. Está utilizando o PHP %2$s, que está caduco e inseguro. Por favor, " +"peça à sua empresa de alojamento para o atualizar o nos plugins ativos desative o Google XML Sitemaps para ocultar esta " +"mensagem. Pode utilizar uma versão mais antiga deste plugin, é possível " +"encontrá-la no site oficial." + +# @ sitemap +#: sitemap-ui.php:776 +msgid "(The required PHP XSL Module is not installed)" +msgstr "(O módulo PHP XSL necessário não está instalado)" + +# @ sitemap +#: sitemap-ui.php:782 +msgid "Allow anonymous statistics (no personal information)" +msgstr "Permitir estatísticas anónimas (nenhuma informação pessoal)" + +# @ sitemap +#. translators: plugin header field 'Version' +#: sitemap.php:0 +msgid "4.0.1" +msgstr "4.0.1" diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.mo new file mode 100644 index 0000000..d4f8c37 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.po new file mode 100644 index 0000000..a1af8e0 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-ru_RU.po @@ -0,0 +1,685 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 24948 2007-11-18 16:37:44Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: <[mail-address]>\n" +"POT-Creation-Date: 2005-06-15 00:00+0000\n" +"PO-Revision-Date: 2007-11-27 12:24+0300\n" +"Last-Translator: Sergey Ryvkin \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp\\wp-content\\plugins\\sitemap_beta\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +msgid "Comment Count" +msgstr "КоличеÑтво комментариев" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "ИÑпользует количеÑтво комментариев к Ñтатье Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +msgid "Comment Average" +msgstr "Среднее количеÑтво комментариев" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +msgid "Uses the average comment count to calculate the priority" +msgstr "ИÑпользует Ñреднее количеÑтво комментариев Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸ÑÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚Ð°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +msgid "Popularity Contest" +msgstr "ПопулÑрноÑÑ‚ÑŒ диÑкуÑÑии" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "ИÑпользуйте активированный Плагин популÑрноÑти диÑкуÑÑий от Alex King. См. ÐаÑтройки и Самые популÑрные запиÑи" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap Generator" +msgstr "Генератор XML-карты Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +msgid "XML-Sitemap" +msgstr "XML-карта Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Премного благодарю за пожертвованиÑ. Ð’Ñ‹ помогаете мне в продалжении поддержки и разработки Ñтого плагина и другого Ñвободного ПО!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +msgid "Hide this notice" +msgstr "Скрыть Ñто замечание" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Благодарю Ð’Ð°Ñ Ð·Ð° иÑпользование Ñтого плагина! Ð’Ñ‹ уÑтановили его Ñвыше меÑÑца назад. ЕÑли он работает и Ð’Ñ‹ удовлетворены его результатами, вышлите мне Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ $1? ÐŸÐ¾Ð¶ÐµÑ€Ñ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð¼Ð¾Ð³ÑƒÑ‚ мне в поддержке и разработке Ñтого беÑплатного ПО! Конечно, без проблем!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +msgid "No thanks, please don't bug me anymore!" +msgstr "Ðет, ÑпаÑибо. Прошу Ð¼ÐµÐ½Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ не беÑпокоить!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +msgid "XML Sitemap Generator for WordPress" +msgstr "Генератор XML-карты Ñайта Ð´Ð»Ñ WordPress" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +msgid "Configuration updated" +msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +msgid "Error while saving options" +msgstr "Ошибка при Ñохранении параметров" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +msgid "Pages saved" +msgstr "Страницы Ñохранены" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +msgid "Error while saving pages" +msgstr "Ошибка при Ñохранении Ñтраниц" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2748 +#, php-format +msgid "Robots.txt file saved" +msgstr "Файл Robots.txt Ñохранен" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2750 +msgid "Error while saving Robots.txt file" +msgstr "Ошибка при Ñохранении файла Robots.txt" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +msgid "The default configuration was restored." +msgstr "ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾ умолчанию воÑÑтановлена." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +msgid "open" +msgstr "открыть" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +msgid "close" +msgstr "закрыть" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +msgid "click-down and drag to move this box" +msgstr "Ðажмите кнопку мыши и тащите Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñтого блока" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +msgid "click to %toggle% this box" +msgstr "Ðажмите Ð´Ð»Ñ %toggle% на Ñтот блок" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +msgid "use the arrow keys to move this box" +msgstr "иÑпользуйте Ñтрелки Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñтого блока" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +msgid ", or press the enter key to %toggle% it" +msgstr ", или нажмите копку ввод (enter) Ð´Ð»Ñ %toggle% его" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +msgid "About this Plugin:" +msgstr "Об Ñто плагине:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +msgid "Plugin Homepage" +msgstr "ДомашнÑÑ Ñтраница плагина" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +msgid "Notify List" +msgstr "СпиÑок напоминаниÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +msgid "Support Forum" +msgstr "Форум техничеÑкой поддержки" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +msgid "Donate with PayPal" +msgstr "Пожертвовать через PayPal" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +msgid "My Amazon Wish List" +msgstr "Мой ÑпиÑок пожеланий на Amazon" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_name" +msgstr "Перевёл Сергей Рывкин" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +msgid "translator_url" +msgstr "http://ryvkin.ru" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +msgid "Sitemap Resources:" +msgstr "РеÑурÑÑ‹ карыт Ñайта:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +msgid "Webmaster Tools" +msgstr "ИнÑтрументы веб-маÑтера" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +msgid "Webmaster Blog" +msgstr "Дневник веб-маÑтера" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +msgid "Site Explorer" +msgstr "ПроÑмотр Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +msgid "Search Blog" +msgstr "ИÑкать в дневнике" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +msgid "Sitemaps Protocol" +msgstr "Протокол иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹ Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +msgid "Official Sitemaps FAQ" +msgstr "Официальный ЧÐВО по картам Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +msgid "My Sitemaps FAQ" +msgstr "Мой ЧÐВО по картам Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +msgid "Recent Donations:" +msgstr "ПоÑледние пожертвованиÑ:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +msgid "List of the donors" +msgstr "СпиÑок ÑпонÑоров" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +msgid "Hide this list" +msgstr "Скрыть Ñтот ÑпиÑок" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +msgid "Thanks for your support!" +msgstr "СпаÑибо за Вашу поддержку!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +msgid "Status" +msgstr "СтатуÑ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Карта Ñайта ещё не поÑтроена. Ðажмите здеÑÑŒ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐµÑ‘ впервые." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +msgid "Your sitemap was last built on %date%." +msgstr "Ваша карта Ñайта поÑледний раз была поÑтроена: %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreПочитать ещё" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Ваша карта Ñайта (ÑжатаÑ) поÑледний раз была поÑтроена: %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreПочитать ещё" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +msgid "Google was successfully notified about changes." +msgstr "Google был уÑпешно проинформирован об изменениÑÑ…." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "%time% Ñекунд занÑло информирование Google; возможно, Ð’Ð°Ñ Ñтоит отключить Ñту функцию, чтобы Ñнизить Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "При информировании Google произошла ошибка. ПоÑмотреть результат" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO был уÑпешно проинформирован об изменениÑÑ…." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "%time% Ñекунд занÑло информирование YAHOO; возможно, Ð’Ð°Ñ Ñтоит отключить Ñту функцию, чтобы Ñнизить Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "При информировании YAHOO произошла ошибка. ПоÑмотреть результат" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com был уÑпешно проинформирован об изменениÑÑ…." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "%time% Ñекунд занÑло информирование Ask.com; возможно, Ð’Ð°Ñ Ñтоит отключить Ñту функцию, чтобы Ñнизить Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "При информировании Ask.com произошла ошибка. ПоÑмотреть результат" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "ПроцеÑÑ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð·Ð°Ð½Ñл примерно %time% Ñекунд и иÑпользовал %memory% MB памÑти." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +msgid "The building process took about %time% seconds to complete." +msgstr "ПроцеÑÑ Ð¿Ð¾ÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ Ð·Ð°Ð½Ñл примерно %time% Ñекунд." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Содержание Вашей карты Ñайта не изменÑлоÑÑŒ за поÑледнее времÑ, поÑтому файлы не запиÑывалиÑÑŒ и поиÑковые ÑиÑтемы не информировалиÑÑŒ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "ПоÑледний запуÑк не был завершен! Возможно, Ð’Ñ‹ превыÑили лимиты памÑти или времени иÑполнениÑ. Почитать ещё" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "ПоÑледний раз Ñкрипт иÑпользовал %memused%MB памÑти, лимит памÑти Вашего Ñервера ÑоÑтавлÑет %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "ПоÑледний раз Ñкрипт работал %timeused% Ñекунд, ограничение времени на Вашем Ñервере ÑоÑтавлÑет %timelimit% Ñекунд." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Скрипт оÑтановилÑÑ Ð¾ÐºÐ¾Ð»Ð¾ Ñтатьи номер %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "ЕÑли Ð’Ñ‹ что-то поменÑли на Вашем Ñервре или в дневнике, Вам необходимо заново поÑтроить карту Ñайта вручную." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "ЕÑли Ð’Ñ‹ ÑтолкнулиÑÑŒ Ñ ÐºÐ°ÐºÐ¸Ð¼Ð¸-либо проблемами в процеÑÑе поÑтроениÑ, Ð’Ñ‹ можете воÑпользоватьÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ отладки Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +msgid "Basic Options" +msgstr "Базовые параметры" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +msgid "Sitemap files:" +msgstr "Файлы карты Ñайта:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Learn more" +msgstr "Почитать ещё" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +msgid "Write a normal XML file (your filename)" +msgstr "ЗапиÑать обычный XML файл (Ваше Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "ЗапиÑать запакованный XML файл (Ваше Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +msgid "Building mode:" +msgstr "Режим поÑÑ‚Ñ€Ð¾ÐµÐ½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "ПоÑтройте заново карту Ñайта, еÑли Ð’Ñ‹ изменили Ñодержание Вашего дневника" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +msgid "Enable manual sitemap building via GET Request" +msgstr "Разрешить ручное поÑтроение карты Ñайта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ запроÑа GET" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Это разрешит Вам обновить карту Ñайта, еÑли внешний инÑтрумент будет пиÑать в базу WordPress? не иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ WordPress API. ИÑпользуйте Ñледующий URL Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа: %1 ПоÑмотрите протокол (Ñм. выше) Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸, поÑтроена ли карта Ñайта." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +msgid "Update notification:" +msgstr "Обновить уведомление:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +msgid "Notify Google about updates of your Blog" +msgstr "Уведомить Google об изменениÑÑ… в Вашем дневнике" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ требуетÑÑ, но Ð’Ñ‹ можете приÑоединитьÑÑ Ðº ИнÑтрументам веб-маÑтера Google Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра ÑтатиÑтики поиÑковых роботов." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Уведомить Asc.com об изменениÑÑ… в Вашем дневнике" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +msgid "No registration required." +msgstr "РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ требуетÑÑ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Уведомить YAHOO об изменениÑÑ… в Вашем дневнике" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +msgid "Your Application ID:" +msgstr "Ваш идентификатор Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ (Application ID):" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "У Ð’Ð°Ñ Ð½ÐµÑ‚ такого ключа?? ЗапроÑите здеÑÑŒ! %s2" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3099 +#, php-format +msgid "Modify or create %s file in blog root which contains the sitemap location." +msgstr "Изменить или Ñоздать файл %s в дневнике, который Ñодержит информацию о раÑположении карты Ñайта." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3102 +msgid "File permissions: " +msgstr "Ð Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½Ð° доÑтуп к файлам: " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3107 +msgid "OK, robots.txt is writable." +msgstr "OK, robots.txt открыт на запиÑÑŒ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3109 +msgid "Error, robots.txt is not writable." +msgstr "Ошибка, robots.txt не открыт на запиÑÑŒ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3113 +msgid "OK, robots.txt doesn't exist but the directory is writable." +msgstr "OK, robots.txt не ÑущеÑтвует, но каталог открыт на запиÑÑŒ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3115 +msgid "Error, robots.txt doesn't exist and the directory is not writable" +msgstr "Ошибка, robots.txt не ÑущеÑтвует, и каталог не открыт на запиÑÑŒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +msgid "Advanced options:" +msgstr "РаÑширенные параметры:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Limit the number of posts in the sitemap:" +msgstr "Ограничить количеÑтво Ñтатей в карте Ñайта:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +msgid "Newer posts will be included first" +msgstr "Более новые Ñтатьи будут включены первыми" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "Try to increase the memory limit to:" +msgstr "ПопытатьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ñ‚ÑŒ лимит памÑти до:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +msgid "e.g. \"4M\", \"16M\"" +msgstr "например, \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "Try to increase the execution time limit to:" +msgstr "ПопытатьÑÑ ÑƒÐ²ÐµÐ»Ð¸Ñ‡Ð¸Ñ‚ÑŒ ограничение времени иÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð¾:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "в Ñекундах, например, \"60\" или \"0\" Ð´Ð»Ñ Ð½ÐµÐ¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ времени" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Include a XSLT stylesheet:" +msgstr "Включить таблицу Ñтилей XSLT:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Use Default" +msgstr "ИÑпользовать значение по умолчанию" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +msgid "Full or relative URL to your .xsl file" +msgstr "Полный или отноÑительный URL к Вашему файлу .xsl" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Разрешить Ñтандартный режим MySQL. ИÑпользовать только в Ñлучае ошибок MySQL. (Требует намного больше памÑти!)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Строить карту Ñайта в фоновом процеÑÑе (Вам не надо ждать ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñтатьи)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "Exclude the following posts or pages:" +msgstr "ИÑключить Ñледующие Ñтатьи или Ñтраницы:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +msgid "List of IDs, separated by comma" +msgstr "СпиÑок идентификаторов (ID), разделенных запÑтыми" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +msgid "Additional pages" +msgstr "Дополнительные Ñтраницы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "ЗдеÑÑŒ Ð’Ñ‹ можете указать файлы или URL, которые должны быть включены в карту Ñайта, но не принадлежащие Вашему дневнику/WordPress.
    Ðапример,еÑли Ваш домен www.foo.com, а Ваш дневник раÑположен в www.foo.com/blog, Вам может понадобитьÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ домашнюю Ñтраницу из www.foo.com" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +msgid "Note" +msgstr "Замечание" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "ЕÑли Ваш дневник раÑположен в подкаталоге, и Ð’Ñ‹ хотите добавить Ñтраницы, которые находÑÑ‚ÑÑ Ð’Ð«Ð¨Ð• в Ñтруктуре каталогов, Вам ÐЕОБХОДИМО помеÑтить карту Ñайта в корневой каталог (См. Ñекцию "Размещение файла Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð¹ Ñайта" на Ñтой Ñтранице)!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +msgid "URL to the page" +msgstr "URL Ñтраницы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Введите URL Ñтой Ñтраницы. Примеры: http://www.foo.com/index.html или www.foo.com/home " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +msgid "Priority" +msgstr "Приоритет" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Выберите приоритет Ñтой Ñтраницы отноÑительно других Ñтраниц. Ðапример, Ваша Ð³Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница может иметь более выÑокий приоритет, чем Ñтраница Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ о Ñайте." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +msgid "Last Changed" +msgstr "ПоÑледний раз изменÑлаÑÑŒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Введите дату поÑледнего Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² формате YYYY-MM-DD (2005-12-31, например) (не обÑзательно)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +msgid "Change Frequency" +msgstr "ЧаÑтота изменений" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +msgid "#" +msgstr "â„–" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +msgid "No pages defined." +msgstr "Ðет Ñтраниц." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +msgid "Add new page" +msgstr "Добавить новую Ñтраницу" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +msgid "Post Priority" +msgstr "Приоритет Ñтатьи" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Выберите, как будет вычиÑлÑÑ‚ÑŒÑÑ Ð¿Ñ€Ð¸Ð¾Ñ€Ð¸Ñ‚ÐµÑ‚ каждой Ñтатьи:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "Do not use automatic priority calculation" +msgstr "Ðе иÑпользовать автоматичеÑкое вычиÑление приоритета" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Ð’Ñе Ñтатьи будут иметь одинаковый приоритет, который определен в "Приоритетах"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +msgid "Location of your sitemap file" +msgstr "РаÑположение Вашего файла Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð¹ Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +msgid "Automatic detection" +msgstr "ÐвтоматичеÑкое определение" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +msgid "Filename of the sitemap file" +msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð¹ Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +msgid "Detected Path" +msgstr "Обнаруженный путь" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +msgid "Detected URL" +msgstr "Обнаруженный URL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +msgid "Custom location" +msgstr "ПользовательÑкое раÑположение" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ÐбÑолютный или отноÑительный путь к файлу Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð¹ Ñайта, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +msgid "Example" +msgstr "Пример" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +msgid "Complete URL to the sitemap file, including name." +msgstr "Заполните URL к файлу Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ð¹ Ñайта, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +msgid "Sitemap Content" +msgstr "Содержание карты Ñайта" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +msgid "Include homepage" +msgstr "Включить домашнюю Ñтраницу" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +msgid "Include posts" +msgstr "Включить Ñтатьи" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +msgid "Include static pages" +msgstr "Включить ÑтатичеÑкие Ñтраницы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +msgid "Include categories" +msgstr "Включить категории" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +msgid "Include archives" +msgstr "Включить архивы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +msgid "Include tag pages" +msgstr "Включить Ñтраницы меток" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +msgid "Include author pages" +msgstr "Включить Ñтраницы авторов" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +msgid "Change frequencies" +msgstr "Изменить чаÑтоты" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Обратите внимание, что значение Ñтой метки ÑчитаетÑÑ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´Ð°Ñ†Ð¸ÐµÐ¹ и не ÑвлÑетÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹. Даже когда поиÑковые роботы берут Ñту информацию к Ñведению Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð½ÑÑ‚Ð¸Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ð¹, они могут оÑматривать Ñтраницы, помеченные \"раз в чаÑ\" реже, чем запрошено, и они могут оÑматривать Ñтраницы, помеченные как \"раз в год\" чаще, чем запрошено. Также бывает, что поиÑковые роботы оÑматривают Ñтраницы, помеченные как \"никогда\", Ð¾Ñ‚Ð¼ÐµÑ‡Ð°Ñ Ð½Ðµ предуÑмотренные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð° Ñтих Ñтраницах." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +msgid "Homepage" +msgstr "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +msgid "Posts" +msgstr "Статьи" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +msgid "Static pages" +msgstr "Статичные Ñтраницы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +msgid "Categories" +msgstr "Категории" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Текущий архив за Ñтот меÑÑц (Должен быть тем же, что и Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Старые архивы (ИзменÑÑŽÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñлучае, еÑли Ð’Ñ‹ редактируете Ñтарые Ñтатьи)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +msgid "Tag pages" +msgstr "Страницы меток" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +msgid "Author pages" +msgstr "Страницы авторов" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +msgid "Priorities" +msgstr "Приоритеты" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +msgid "Posts (If auto calculation is disabled)" +msgstr "Статьи (ЕÑли автоматичеÑкое вычиÑление запрещено)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Минимальный приоритет Ñтатьи (Даже еÑли автоматичеÑкое вычиÑление разрешено)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +msgid "Archives" +msgstr "Ðрхивы" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +msgid "Update options" +msgstr "Обновить параметры" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +msgid "Reset options" +msgstr "Вернуть иÑходные значениÑ" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.mo new file mode 100644 index 0000000..823312b Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.po new file mode 100644 index 0000000..0a7a57f --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sl_SI.po @@ -0,0 +1,325 @@ +msgid "" +msgstr "" +"Project-Id-Version: sitemap-sl_SI\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2006-11-13 09:33+0100\n" +"Last-Translator: m2-j \n" +"Language-Team: Milan Jungic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Slovenian\n" +"X-Poedit-Country: SLOVENIA\n" + +#: sitemap.php:375 +msgid "always" +msgstr "vedno" + +msgid "hourly" +msgstr "vsako uro" + +msgid "daily" +msgstr "dnevno" + +msgid "weekly" +msgstr "tedensko" + +msgid "monthly" +msgstr "meseÄno" + +msgid "yearly" +msgstr "letno" + +msgid "never" +msgstr "nikoli" + +msgid "Detected Path" +msgstr "Zaznana pot:" + +msgid "Example" +msgstr "Primer" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absolutna ali relativna pot do datoteke naÄrta strani (vkljuÄno z imenom datoteke)" + +msgid "Complete URL to the sitemap file, including name." +msgstr "URL naslov datoteke naÄrta strani (vkljuÄno z imenom datoteke)." + +msgid "Automatic location" +msgstr "Samodejno lociranje" + +msgid "Manual location" +msgstr "RoÄno lociranje" + +msgid "OR" +msgstr "ALI" + +msgid "Location of your sitemap file" +msgstr "Ime datoteke naÄrta strani" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "ÄŒe je vaÅ¡ blog v podimeniku in želite v naÄrt strani dodatki datoteke, ki se nahajajo izven tega podimenika, morate datoteko naÄrta strani shraniti v korenski imenik, ki se nahaja nad vsemi imeniki katere želite v naÄrt strani vkljuÄiti (glejte sekcijo "Ime datoteke naÄrta strani" na tej strani)!" + +#: sitemap.php:512 +msgid "Configuration updated" +msgstr "Nastavitve so posodobljene" + +#: sitemap.php:513 +msgid "Error" +msgstr "Napaka" + +#: sitemap.php:521 +msgid "A new page was added. Click on "Save page changes" to save your changes." +msgstr "Nova stran je dodana. Za uveljavitev sprememb, izberite "Shrani stran"." + +#: sitemap.php:527 +msgid "Pages saved" +msgstr "Strani so shranjene." + +#: sitemap.php:528 +msgid "Error while saving pages" +msgstr "Napaka pri shranjevanju strani" + +#: sitemap.php:539 +msgid "The page was deleted. Click on "Save page changes" to save your changes." +msgstr "Stran je izbrisana. Za uveljavitev sprememb, izberite "Shrani stran"." + +#: sitemap.php:542 +msgid "You changes have been cleared." +msgstr "Spremembe so razveljavljene." + +#: sitemap.php:555 +msgid "Sitemap Generator" +msgstr "Generator naÄrta strani" + +#: sitemap.php:558 +msgid "Manual rebuild" +msgstr "RoÄno" + +#: sitemap.php:559 +msgid "If you want to build the sitemap without editing a post, click on here!" +msgstr "Izberite to možnost, Äe želite takoj ustvariti naÄrt strani." + +#: sitemap.php:560 +msgid "Rebuild Sitemap" +msgstr "Ustvari naÄrt strani" + +#: sitemap.php:564 +msgid "Additional pages" +msgstr "Dodatne strani" + +#: sitemap.php:566 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Tukaj lahko navedete datoteke in URL naslove, ki niso del vaÅ¡e Wordpress namestitve, želite jih pa vkljuÄiti v naÄrt strani.
    Primer: VaÅ¡a domena je www.foo.com, blog se nahaja na naslovu www.foo.com/blog, medtem, ko vi v naÄrt strani želite vkljuÄiti tudi naslov www.foo.com s pripadajoÄo vsebino." + +#: sitemap.php:568 +msgid "URL to the page" +msgstr "URL naslov strani" + +#: sitemap.php:569 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Vnestite URL naslov strani. Primer: www.foo.com ali www.foo.com/home" + +#: sitemap.php:571 +msgid "Priority" +msgstr "Prioriteta" + +#: sitemap.php:572 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Izberi prioriteto strani, glede na ostale strani. Npr. za vaÅ¡o domaÄo stran www.foo.com želite morda viÅ¡jo prioriteto kot za vaÅ¡ blog www.foo.com/blog? " + +#: sitemap.php:574 +msgid "Last Changed" +msgstr "ZadnjiÄ spremenjeno" + +#: sitemap.php:575 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Vnesite datum zadnje spremembe JJJJ-MM-TT (oblika: 2005-12-31). (opcija)" + +#: sitemap.php:583 +msgid "Change Frequency" +msgstr "Spremeni frekvenco" + +#: sitemap.php:585 +msgid "#" +msgstr "#" + +#: sitemap.php:609 +msgid "No pages defined." +msgstr "Nobena stran ni bila Å¡e definirana." + +#: sitemap.php:616 +msgid "Add new page" +msgstr "Dodaj novo stran" + +# sitemap.php:617: +#: sitemap.php:617 +msgid "Save page changes" +msgstr "Shrani spremembe" + +# sitemap.php:618: +#: sitemap.php:618 +msgid "Undo all page changes" +msgstr "Razveljavi spremembe" + +# sitemap.php:621: +#: sitemap.php:621 +msgid "Delete marked page" +msgstr "IzbriÅ¡i izbrane strani" + +#: sitemap.php:627 +msgid "Basic Options" +msgstr "Osnovne nastavitve" + +#: sitemap.php:632 +msgid "Enable automatic priority calculation for posts based on comment count" +msgstr "DoloÄi prioriteto objav glede na Å¡tevilo komentarjev pod posameznimi objavami" + +#: sitemap.php:638 +msgid "Write debug comments" +msgstr "ZapiÅ¡i komentarje za iskanje in odpravljanje napak" + +#: sitemap.php:643 +msgid "Filename of the sitemap file" +msgstr "Ime datoteke naÄrta strani" + +#: sitemap.php:650 +msgid "Write a normal XML file (your filename)" +msgstr "Shrani naÄrt strani kot standardno XML datoteko" + +#: sitemap.php:652 +msgid "Detected URL" +msgstr "Zaznan URL naslov" + +#: sitemap.php:657 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Shrani kot stisnjeno (gzip) datoteko (ime datoteke + .gz)" + +#: sitemap.php:664 +msgid "Auto-Ping Google Sitemaps" +msgstr "Samodejno obvesti Google o spremembah (ping)" + +#: sitemap.php:665 +msgid "This option will automatically tell Google about changes." +msgstr "ÄŒe izberete to možnost, bodo morebitne spremembe v naÄrtu strani samodejno posredovane Googlu." + +#: sitemap.php:672 +msgid "Includings" +msgstr "Vsebina" + +#: sitemap.php:677 +msgid "Include homepage" +msgstr "VkljuÄi osnovno (prvo) stran" + +#: sitemap.php:683 +msgid "Include posts" +msgstr "VkljuÄi objave" + +#: sitemap.php:689 +msgid "Include static pages" +msgstr "VkljuÄi statiÄne strani" + +#: sitemap.php:695 +msgid "Include categories" +msgstr "VkljuÄi kategorije" + +#: sitemap.php:701 +msgid "Include archives" +msgstr "VkljuÄi zgodovino (arhivi)" + +#: sitemap.php:708 +msgid "Change frequencies" +msgstr "Spremeni frekvenco" + +#: sitemap.php:709 +msgid "Note" +msgstr "Opomba" + +#: sitemap.php:710 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Ta nastavitev je zgolj predlagana. ÄŒeprav spletni iskalniki nastavljeno frekvenco upoÅ¡tevajo, se zna zgoditi, da bodo strani nastavljene na urno osveževanje pregledovali redkeje, kot strani nastavljene na letno osveževanje. Ravno tako se zna zgoditi, da bodo iskalniki pregledovali strani, katerim ste nastavili, da se ne osvežujejo." + +#: sitemap.php:715 +msgid "Homepage" +msgstr "Osnovna stran" + +#: sitemap.php:721 +msgid "Posts" +msgstr "Objave" + +#: sitemap.php:727 +msgid "Static pages" +msgstr "StatiÄne strani" + +#: sitemap.php:733 +msgid "Categories" +msgstr "Kategorije" + +#: sitemap.php:739 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Aktualni arhiv tega meseca (enako kot za osnovno stran)" + +#: sitemap.php:745 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "StarejÅ¡i arhivi" + +#: sitemap.php:752 +msgid "Priorities" +msgstr "Prioritete" + +#: sitemap.php:763 +msgid "Posts (If auto calculation is disabled)" +msgstr "Å tevilo objav (v primeru, ko je samodejno seÅ¡tevanje onemogoÄeno)" + +#: sitemap.php:769 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "NajmanjÅ¡a prioriteta za objave (tudi, ko je izbrana možnost samodejnega izraÄunavanja prioritet)" + +#: sitemap.php:787 +msgid "Archives" +msgstr "Arhivi" + +#: sitemap.php:793 +msgid "Informations and support" +msgstr "Informacije in podpora" + +#: sitemap.php:794 +msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." +msgstr "Popravke in pomoÄ za vtiÄnik boste naÅ¡li na %s." + +#: sitemap.php:797 +msgid "Update options" +msgstr "Shrani nastavitve" + +#: sitemap.php:1033 +msgid "URL:" +msgstr "URL:" + +#: sitemap.php:1034 +msgid "Path:" +msgstr "Pot:" + +# msgid "URL:" +# msgstr "" +# msgid "Path:" +# msgstr "" +#: sitemap.php:1037 +msgid "Could not write into %s" +msgstr "Napaka pri shranjevanju datoteke "%s"." + +#: sitemap.php:1048 +msgid "Successfully built sitemap file:" +msgstr "NaÄrt strani je bil uspeÅ¡no zapisan:" + +#: sitemap.php:1048 +msgid "Successfully built gzipped sitemap file:" +msgstr "NaÄrt strani je bil uspeÅ¡no zapisan v stisnjeno (gzip) datoteko:" + +#: sitemap.php:1062 +msgid "Could not ping to Google at %s" +msgstr "Napaka pri obveÅ¡Äanju Googla o spremembah (%s)" + +#: sitemap.php:1064 +msgid "Successfully pinged Google at %s" +msgstr "Google je uspeÅ¡no obveÅ¡Äen o spremembah (%s)" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.mo new file mode 100644 index 0000000..0676bf8 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.po new file mode 100644 index 0000000..1a9e82c --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sr_RS.po @@ -0,0 +1,964 @@ +msgid "" +msgstr "" +"Project-Id-Version: Google XML Sitemaps v4.0beta9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-05-05 20:24+0100\n" +"PO-Revision-Date: 2012-06-02 14:54:30+0000\n" +"Last-Translator: Arne Brachhold \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: \n" +"X-Poedit-Country: \n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Bookmarks: \n" +"X-Poedit-SearchPath-0: C:/Inetpub/wwwroot/wp_plugins/sitemap_beta\n" +"X-Textdomain-Support: yes" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:846 +#: sitemap-core.php:527 +#@ sitemap +msgid "Comment Count" +msgstr "Broj Komentara" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:858 +#: sitemap-core.php:537 +#@ sitemap +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "Koristi broj komentara na postu za kalkulaciju prioriteta" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:918 +#: sitemap-core.php:590 +#@ sitemap +msgid "Comment Average" +msgstr "ProseÄan Broj Komentara" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:930 +#: sitemap-core.php:600 +#@ sitemap +msgid "Uses the average comment count to calculate the priority" +msgstr "Koristi proseÄan broj komentara za raÄunanje prioriteta" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:993 +#: sitemap-core.php:661 +#@ sitemap +msgid "Popularity Contest" +msgstr "TakmiÄenje Popularnosti" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:1005 +#: sitemap-core.php:671 +#, php-format +#@ sitemap +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Koristi aktivirani TakmiÄenje Popularnosti plugin od Alex King-a. Proveri PodeÅ¡avanja i Najpopularnije Postove" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1118 +#: sitemap-core.php:840 +#@ sitemap +msgid "Always" +msgstr "Uvek" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1119 +#: sitemap-core.php:841 +#@ sitemap +msgid "Hourly" +msgstr "Svakog sata" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1120 +#: sitemap-core.php:842 +#@ sitemap +msgid "Daily" +msgstr "Dnevno" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1121 +#: sitemap-core.php:843 +#@ sitemap +msgid "Weekly" +msgstr "Nedeljno" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1122 +#: sitemap-core.php:844 +#@ sitemap +msgid "Monthly" +msgstr "MeseÄno" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1123 +#: sitemap-core.php:845 +#@ sitemap +msgid "Yearly" +msgstr "GodiÅ¡nje" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-core.php:1124 +#: sitemap-core.php:846 +#@ sitemap +msgid "Never" +msgstr "Nikad" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2415 +#: sitemap-loader.php:212 +#@ sitemap +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap Generator" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2415 +#: sitemap-loader.php:212 +#@ sitemap +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +#: sitemap-loader.php:239 +#@ sitemap +msgid "Settings" +msgstr "PodeÅ¡avanja" + +#: sitemap-loader.php:240 +#@ sitemap +msgid "FAQ" +msgstr "FAQ" + +#: sitemap-loader.php:241 +#@ sitemap +msgid "Support" +msgstr "PodrÅ¡ka" + +#: sitemap-loader.php:242 +#@ sitemap +msgid "Donate" +msgstr "Donacije" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2886 +#: sitemap-loader.php:328 +#: sitemap-ui.php:630 +#@ sitemap +msgid "Plugin Homepage" +msgstr "Homepage Plugin-a" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2905 +#: sitemap-loader.php:329 +#: sitemap-ui.php:652 +#@ sitemap +msgid "My Sitemaps FAQ" +msgstr "ÄŒesta pitanja o Sitemap-ima" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2635 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2835 +#: sitemap-ui.php:198 +#: sitemap-ui.php:585 +#@ sitemap +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Sitemap Generator za WordPress" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2740 +#: sitemap-ui.php:374 +#@ sitemap +msgid "Configuration updated" +msgstr "Konfiguracije ažurirane" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2741 +#: sitemap-ui.php:375 +#@ sitemap +msgid "Error while saving options" +msgstr "GreÅ¡ka prilikom snimanja opcija" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2743 +#: sitemap-ui.php:378 +#@ sitemap +msgid "Pages saved" +msgstr "Stranice snimljene" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2744 +#: sitemap-ui.php:379 +#@ sitemap +msgid "Error while saving pages" +msgstr "GreÅ¡ka za vreme snimanja stranica" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2758 +#: sitemap-ui.php:387 +#@ sitemap +msgid "The default configuration was restored." +msgstr "Osnovna podeÅ¡avanja su vraćena" + +#: sitemap-ui.php:397 +#@ sitemap +msgid "The old files could NOT be deleted. Please use an FTP program and delete them by yourself." +msgstr "Nismo mogli izbrisati stare fajlove. Molimo vas da koristite FTP program i obriÅ¡ete ih liÄno." + +#: sitemap-ui.php:399 +#@ sitemap +msgid "The old files were successfully deleted." +msgstr "Stari fajlovi su uspeÅ¡no obrisani." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2600 +#: sitemap-ui.php:439 +#@ sitemap +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Hvala vam na donaciji. Pomažete mi da nastavim rad i razvoj ovog plugin-a i drugih besplatnih programa." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2600 +#: sitemap-ui.php:439 +#@ sitemap +msgid "Hide this notice" +msgstr "Sakrijte ovo obaveÅ¡tenje" + +#: sitemap-ui.php:445 +#, php-format +#@ sitemap +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "Hvala vam Å¡to koristite ovaj plugin. Instalirali ste plugin pre meseca dana. Ako plugin radi i zadovoljni ste rezultatima, nadam se da je vredno makar par dolara? Donacije mi pomažu da nastavim rad na ovom besplatnom softveru! Naravno, nema problema!" + +#: sitemap-ui.php:445 +#@ sitemap +msgid "Sure, but I already did!" +msgstr "Naravno, ali već sam donirao!" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2657 +#: sitemap-ui.php:445 +#@ sitemap +msgid "No thanks, please don't bug me anymore!" +msgstr "Ne hvala, molim vas ne uznemiravajte me viÅ¡e!" + +#: sitemap-ui.php:452 +#, php-format +#@ sitemap +msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "Hvala vam Å¡to koristite ovaj plugin! Instalirali ste ovaj plugin pre nekog vremena. Ako radi i zadovoljni ste, zaÅ¡to ne biste dali ocenu i preporuÄili ga drugima? :-)" + +#: sitemap-ui.php:452 +#@ sitemap +msgid "Don't show this anymore" +msgstr "Ne pokazuj viÅ¡e" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:374 +#: sitemap-ui.php:601 +#, php-format +#@ default +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "Postoji nova verzija %1$s. Skinite verziju %3$s ovde." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:376 +#: sitemap-ui.php:603 +#, php-format +#@ default +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "Postoji nova verzija %1$s. Skinite novu verziju %3$s ovde automatsko osvežavanje verzije nije dostupno za ovaj plugin." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:378 +#: sitemap-ui.php:605 +#, php-format +#@ default +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "Postoji nova verzija %1$s. Skinite verziju %3$s ovde ili uradite update automatski." + +#: sitemap-ui.php:613 +#, php-format +#@ sitemap +msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "VaÅ¡ blog trenutno blokira pretraživaÄe! Posetite podeÅ¡avanja privatnosti da bi ste promenili." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2884 +#: sitemap-ui.php:629 +#@ sitemap +msgid "About this Plugin:" +msgstr "O ovom plugin-u:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:421 +#: sitemap-ui.php:631 +#@ sitemap +msgid "Suggest a Feature" +msgstr "Predložite Funkciju" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2887 +#: sitemap-ui.php:632 +#@ sitemap +msgid "Notify List" +msgstr "Lista Notifikacija" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2888 +#: sitemap-ui.php:633 +#@ sitemap +msgid "Support Forum" +msgstr "Forum za PodrÅ¡ku" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap-ui.php:424 +#: sitemap-ui.php:634 +#@ sitemap +msgid "Report a Bug" +msgstr "Prijavite GreÅ¡ku" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2889 +#: sitemap-ui.php:636 +#@ sitemap +msgid "Donate with PayPal" +msgstr "Donirajte putem PayPal-a" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2890 +#: sitemap-ui.php:637 +#@ sitemap +msgid "My Amazon Wish List" +msgstr "Moje želje na Amazon-u" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2891 +#: sitemap-ui.php:638 +#@ sitemap +msgid "translator_name" +msgstr "ime_prevodioca" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2891 +#: sitemap-ui.php:638 +#@ sitemap +msgid "translator_url" +msgstr "url_prevodioca" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2895 +#: sitemap-ui.php:641 +#@ sitemap +msgid "Sitemap Resources:" +msgstr "ViÅ¡e o Sitemap-u" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2897 +#: sitemap-ui.php:642 +#: sitemap-ui.php:647 +#@ sitemap +msgid "Webmaster Tools" +msgstr "Alatke za Webmastere" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2898 +#: sitemap-ui.php:643 +#@ sitemap +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2901 +#: sitemap-ui.php:645 +#@ sitemap +msgid "Search Blog" +msgstr "Pretražite Blog" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3010 +#: sitemap-ui.php:648 +#@ sitemap +msgid "Webmaster Center Blog" +msgstr "Webmaster Central Blog" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2903 +#: sitemap-ui.php:650 +#@ sitemap +msgid "Sitemaps Protocol" +msgstr "Sitemap Protokol" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2904 +#: sitemap-ui.php:651 +#@ sitemap +msgid "Official Sitemaps FAQ" +msgstr "Oficijalni Sitemap FAW" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2910 +#: sitemap-ui.php:655 +#@ sitemap +msgid "Recent Donations:" +msgstr "Zadnje Donacije:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2914 +#: sitemap-ui.php:658 +#@ sitemap +msgid "List of the donors" +msgstr "Lista Donatora" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2916 +#: sitemap-ui.php:660 +#@ sitemap +msgid "Hide this list" +msgstr "Sakrijte listu" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:2919 +#: sitemap-ui.php:663 +#@ sitemap +msgid "Thanks for your support!" +msgstr "Hvala vam na podrÅ¡ci!" + +#: sitemap-ui.php:683 +#@ sitemap +msgid "Search engines haven't been notified yet" +msgstr "PretraživaÄi joÅ¡ uvek nisu obaveÅ¡teni" + +#: sitemap-ui.php:687 +#, php-format +#@ sitemap +msgid "Result of the last ping, started on %date%." +msgstr "Rezultati zadnjeg ping-a, zapoÄeto %date%." + +#: sitemap-ui.php:702 +#, php-format +#@ sitemap +msgid "There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or try to delete them automatically." +msgstr "JoÅ¡ uvek postoji sitemap.xml ili sitemap.xml.gz fajl na vaÅ¡em blog direktorijumu. Molimo vas da ih obriÅ¡ete jer se viÅ¡e ne koristi ni jeda statiÄni fajl ili pokuÅ¡ajte da ih obriÅ¡ete automatski." + +#: sitemap-ui.php:705 +#, php-format +#@ sitemap +msgid "The URL to your sitemap index file is: %s." +msgstr "URL do vaÅ¡eg sitemap index fajl-a je: %s." + +#: sitemap-ui.php:708 +#@ sitemap +msgid "Search engines haven't been notified yet. Write a post to let them know about your sitemap." +msgstr "PretraživaÄi joÅ¡ uvek nisu obaveÅ¡teni. NapiÅ¡ite post da bi ste ih obavestili o vaÅ¡em sitemap-u." + +#: sitemap-ui.php:717 +#, php-format +#@ sitemap +msgid "%s was successfully notified about changes." +msgstr "%s je uspeÅ¡no obaveÅ¡ten o promenama." + +#: sitemap-ui.php:720 +#, php-format +#@ sitemap +msgid "It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time." +msgstr "Trebalo je %time% sekundi da obavestimo %name%, možda želite da onesposobite ovu funkciju da bi ste smanjili vreme izgradnje." + +#: sitemap-ui.php:723 +#, php-format +#@ sitemap +msgid "There was a problem while notifying %name%. View result" +msgstr "Imali smo problem sa obaveÅ¡tavanjem %name%. Pogledajte rezultate" + +#: sitemap-ui.php:727 +#, php-format +#@ sitemap +msgid "If you encounter any problems with your sitemap you can use the debug function to get more information." +msgstr "Ako naiÄ‘ete na neke probleme u vezi sa sitemap-om možete iskoristiti debug funkciju da bi ste dobili viÅ¡e podataka." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3040 +#: sitemap-ui.php:735 +#@ sitemap +msgid "Basic Options" +msgstr "Onsovne Opcije" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3079 +#: sitemap-ui.php:737 +#@ sitemap +msgid "Update notification:" +msgstr "Ažurirajte notifikacije:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3044 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3059 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3079 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3104 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3121 +#: sitemap-ui.php:737 +#: sitemap-ui.php:765 +#@ sitemap +msgid "Learn more" +msgstr "Saznajte viÅ¡e" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3083 +#: sitemap-ui.php:741 +#@ sitemap +msgid "Notify Google about updates of your Blog" +msgstr "Obavestite Google o promenama na vaÅ¡em Blogu" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3084 +#: sitemap-ui.php:742 +#, php-format +#@ sitemap +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Registracija nije potrebna, ali možete otovriti nalog na Google Webmaster Tools da bi ste preverili statistiku." + +#: sitemap-ui.php:746 +#@ sitemap +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Obavestite Bing (bivÅ¡i MSN Live Search) o promenama na vaÅ¡em Blogu" + +#: sitemap-ui.php:747 +#, php-format +#@ sitemap +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "Registracija nije potrebna, ali možete napraviti nalog na Bing Webmaster Tools da proverite statistiku." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3088 +#: sitemap-ui.php:751 +#@ sitemap +msgid "Notify Ask.com about updates of your Blog" +msgstr "Obavestite Ask.com o promenama na vaÅ¡em Blogu" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3089 +#: sitemap-ui.php:752 +#@ sitemap +msgid "No registration required." +msgstr "Registracija nije potrebna." + +#: sitemap-ui.php:757 +#@ sitemap +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Dodajte URL vaÅ¡eg sitemap-a u robots.txt fajl." + +#: sitemap-ui.php:761 +#@ sitemap +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "Virtualni robots.txt fajl generisan od strane WordPress-a je iskorišćen. Pravi robots.txt fajl NE SME postojati u direktorijumu vaÅ¡eg bloga!" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3121 +#: sitemap-ui.php:765 +#@ sitemap +msgid "Advanced options:" +msgstr "Napredne opcija:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3127 +#: sitemap-ui.php:768 +#@ sitemap +msgid "Try to increase the memory limit to:" +msgstr "PokuÅ¡ajte da povećate limit memorije na:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3127 +#: sitemap-ui.php:768 +#@ sitemap +msgid "e.g. \"4M\", \"16M\"" +msgstr "npr. \"4M\", \"16M\"" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3130 +#: sitemap-ui.php:771 +#@ sitemap +msgid "Try to increase the execution time limit to:" +msgstr "PokuÅ¡ajte da povećate vreme izvrÅ¡enja na:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3130 +#: sitemap-ui.php:771 +#@ sitemap +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "u sekundama, npr. \"60\" or \"0\" za neograniÄeno" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3133 +#: sitemap-ui.php:775 +#@ sitemap +msgid "Include a XSLT stylesheet:" +msgstr "Dodajte XSLT stylesheet:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3133 +#: sitemap-ui.php:776 +#@ sitemap +msgid "Full or relative URL to your .xsl file" +msgstr "Absolutni ili relativni URL do vasÅ¡eg .xsl fajla." + +#: sitemap-ui.php:776 +#@ sitemap +msgid "Use default" +msgstr "Koristite default-ni" + +#: sitemap-ui.php:781 +#@ sitemap +msgid "Include sitemap in HTML format" +msgstr "Dodajte sitemap u HTML formatu" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3144 +#: sitemap-ui.php:790 +#@ sitemap +msgid "Additional pages" +msgstr "Dodatne stranice" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3149 +#: sitemap-ui.php:793 +#@ sitemap +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Ovde možete specificirati fajlove ili URL-ove koje bi trebalo dodati u sitemap, ali ne pripadaju vašem Blog-u/WordPress-u.
    Na primer, ako je vaÅ¡ domen www.foo.com a vaÅ¡ blog se nalazi na www.foo.com-blog mozda želite da dodate vaÅ¡u poÄetnu stranu www.foo.com" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3151 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3462 +#: sitemap-ui.php:795 +#: sitemap-ui.php:999 +#: sitemap-ui.php:1010 +#: sitemap-ui.php:1019 +#@ sitemap +msgid "Note" +msgstr "Opazite" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3152 +#: sitemap-ui.php:796 +#@ sitemap +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Ako se vaÅ¡ blog nalazi u pod direktorijumu i ako želite da doddate stranice koje se ne nalaze u blog direktorijumu ili ispod, MORATE staviti sitemap fajl u korenu direktorijuma (Pogledajte "Lokaciju vaÅ¡eg sitemap-a " sekciju na ovoj stranici)!" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3154 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3300 +#: sitemap-ui.php:798 +#: sitemap-ui.php:837 +#@ sitemap +msgid "URL to the page" +msgstr "URL do stranice" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3155 +#: sitemap-ui.php:799 +#@ sitemap +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Unesite URL do stranice. Primeri: http://www.foo.com/index.html ili www.foo.com/home " + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3157 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3301 +#: sitemap-ui.php:801 +#: sitemap-ui.php:838 +#@ sitemap +msgid "Priority" +msgstr "Prioritet" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3158 +#: sitemap-ui.php:802 +#@ sitemap +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Izaberite prioritet stranice u odnosu na druge stranice. Na primer, vaÅ¡a poÄetna stranica može imati veći prioritet nego niće stranice." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3160 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3303 +#: sitemap-ui.php:804 +#: sitemap-ui.php:840 +#@ sitemap +msgid "Last Changed" +msgstr "Zadjne promene" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3161 +#: sitemap-ui.php:805 +#@ sitemap +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Unesti datum zadnje prmene u formatu YYYY-MM-DD (2005-12-31 na primer) (opciono)." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3302 +#: sitemap-ui.php:839 +#@ sitemap +msgid "Change Frequency" +msgstr "Promente UÄestalost" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3304 +#: sitemap-ui.php:841 +#@ sitemap +msgid "#" +msgstr "#" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3309 +#: sitemap-ui.php:846 +#@ sitemap +msgid "No pages defined." +msgstr "Stranice nisu definisane." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3314 +#: sitemap-ui.php:851 +#@ sitemap +msgid "Add new page" +msgstr "Dodajte novu stranicu" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3325 +#: sitemap-ui.php:857 +#@ sitemap +msgid "Post Priority" +msgstr "Prioritet postova" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3329 +#: sitemap-ui.php:859 +#@ sitemap +msgid "Please select how the priority of each post should be calculated:" +msgstr "Molimo vas izaberite kako se raÄuna prioritet postova:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3331 +#: sitemap-ui.php:861 +#@ sitemap +msgid "Do not use automatic priority calculation" +msgstr "Ne koristi automatsku kalkulaciju prioriteta" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3331 +#: sitemap-ui.php:861 +#@ sitemap +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Svi postovi će imati isti prioritet koji je definisan u "Priorities"" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3397 +#: sitemap-ui.php:872 +#@ sitemap +msgid "Sitemap Content" +msgstr "Sadržaj sitemap-a" + +#: sitemap-ui.php:873 +#@ sitemap +msgid "WordPress standard content" +msgstr "WordPress standardni sadržaj" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3405 +#: sitemap-ui.php:878 +#@ sitemap +msgid "Include homepage" +msgstr "Dodajte poÄetnu " + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3411 +#: sitemap-ui.php:884 +#@ sitemap +msgid "Include posts" +msgstr "Dodajte postove" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3417 +#: sitemap-ui.php:890 +#@ sitemap +msgid "Include static pages" +msgstr "Dodajte statiÄke stranice" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3423 +#: sitemap-ui.php:896 +#@ sitemap +msgid "Include categories" +msgstr "Dodajte kategorije" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3429 +#: sitemap-ui.php:902 +#@ sitemap +msgid "Include archives" +msgstr "Dodajte arhive" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3443 +#: sitemap-ui.php:908 +#@ sitemap +msgid "Include author pages" +msgstr "Dodajte stranice autora" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3436 +#: sitemap-ui.php:915 +#@ sitemap +msgid "Include tag pages" +msgstr "Dodajte tag stranice" + +#: sitemap-ui.php:929 +#@ sitemap +msgid "Custom taxonomies" +msgstr "UobiÄajene taxonomije" + +#: sitemap-ui.php:940 +#, php-format +#@ sitemap +msgid "Include taxonomy pages for %s" +msgstr "Dodajte stranice taxonomije za %s" + +#: sitemap-ui.php:958 +#@ sitemap +msgid "Custom post types" +msgstr "UobiÄajeni tipovi postova" + +#: sitemap-ui.php:969 +#, php-format +#@ sitemap +msgid "Include custom post type %s" +msgstr "Dodajte uobiÄajene tipove postova %s" + +#: sitemap-ui.php:981 +#@ sitemap +msgid "Further options" +msgstr "JoÅ¡ opcija" + +#: sitemap-ui.php:986 +#@ sitemap +msgid "Include the last modification time." +msgstr "Dodajte vreme zadnje modifikacije" + +#: sitemap-ui.php:988 +#@ sitemap +msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." +msgstr "Ovo je preporuÄljivo jer govori pretraživaÄima kada se vaÅ¡ sadržaj promeni. Ova opcija utiÄe sve unose u sitemap." + +#: sitemap-ui.php:995 +#@ sitemap +msgid "Excluded items" +msgstr "Uklonite" + +#: sitemap-ui.php:997 +#@ sitemap +msgid "Excluded categories" +msgstr "Uklonite kategorije" + +#: sitemap-ui.php:999 +#@ sitemap +msgid "Using this feature will increase build time and memory usage!" +msgstr "Korišćenje ove funkcije će povećati vreme pravljenja i korišćenje memorije." + +#: sitemap-ui.php:1006 +#@ sitemap +msgid "Exclude posts" +msgstr "Uklonite postove" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3206 +#: sitemap-ui.php:1008 +#@ sitemap +msgid "Exclude the following posts or pages:" +msgstr "Uklonite sledeće postove ili stranice:" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3206 +#: sitemap-ui.php:1008 +#@ sitemap +msgid "List of IDs, separated by comma" +msgstr "Lista ID-a, odvojene zarezom" + +#: sitemap-ui.php:1010 +#@ sitemap +msgid "Child posts won't be excluded automatically!" +msgstr "Pod postovi neće biti ukljuÄeni automatski!" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3457 +#: sitemap-ui.php:1016 +#@ sitemap +msgid "Change frequencies" +msgstr "Promenite uÄestalost" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3463 +#: sitemap-ui.php:1020 +#@ sitemap +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Molimo vas da zapamtite da vrednost ovog tag-a je koristi kao predlog a ne kao komanda. Iako pretraživaÄi razmatraju ovu infomaciju kada donose odluke, možda će proći kroz stranice obeležene \"hourly\" reÄ‘e nego naznaÄeno, a možda će stranice naznaÄene \"yearly\" posećivati Äešće. Isto tako je verovatno da će s'vremena na vreme prolaziti kroz stranice naznaÄene sa \"never\" da bi mogli da reaguju na neoÄekivane promene na tim stranicama." + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3469 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3535 +#: sitemap-ui.php:1026 +#: sitemap-ui.php:1083 +#@ sitemap +msgid "Homepage" +msgstr "PoÄetna" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3475 +#: sitemap-ui.php:1032 +#@ sitemap +msgid "Posts" +msgstr "Postovi" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3481 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3553 +#: sitemap-ui.php:1038 +#: sitemap-ui.php:1101 +#@ sitemap +msgid "Static pages" +msgstr "StatiÄne stranice" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3487 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3559 +#: sitemap-ui.php:1044 +#: sitemap-ui.php:1107 +#@ sitemap +msgid "Categories" +msgstr "Kategorije" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3493 +#: sitemap-ui.php:1050 +#@ sitemap +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Trenutna arhiva za ovaj mesec (Treba biti ista kao i vaÅ¡a poÄetna stranica)" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3499 +#: sitemap-ui.php:1056 +#@ sitemap +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Starije arhive (Menja se samo ako promenti stariji post)" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3506 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3572 +#: sitemap-ui.php:1063 +#: sitemap-ui.php:1120 +#@ sitemap +msgid "Tag pages" +msgstr "Tag stranice" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3513 +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3579 +#: sitemap-ui.php:1070 +#: sitemap-ui.php:1127 +#@ sitemap +msgid "Author pages" +msgstr "Stranice autora" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3527 +#: sitemap-ui.php:1078 +#@ sitemap +msgid "Priorities" +msgstr "Prioriteti" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3541 +#: sitemap-ui.php:1089 +#@ sitemap +msgid "Posts (If auto calculation is disabled)" +msgstr "Postovi (ako je auto kalkulacija iskljuÄena)" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3547 +#: sitemap-ui.php:1095 +#@ sitemap +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minimalni prioritet za postove (ÄŒak iako je auto kalkulacija ukljuÄena)" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3565 +#: sitemap-ui.php:1113 +#@ sitemap +msgid "Archives" +msgstr "Arhive" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3590 +#: sitemap-ui.php:1138 +#@ sitemap +msgid "Update options" +msgstr "Opcije ažuriranja" + +# C:Inetpubwwwrootwpwp-contentpluginssitemap_beta/sitemap.php:3591 +#: sitemap-ui.php:1139 +#@ sitemap +msgid "Reset options" +msgstr "Opcije za resetovanje" + +#: sitemap.php:82 +#@ sitemap +msgid "Your WordPress version is too old for XML Sitemaps." +msgstr "VaÅ¡a verzija WordPress-a je previÅ¡e stara za XML Sitemap." + +#: sitemap.php:82 +#, php-format +#@ sitemap +msgid "Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website." +msgstr "Nažalost ova verzija Google XML Sitemap-a zahteva barem WordPress verziju %4$s. Vi koristite WordPress verziju %2$s, koja je zastarela i nesigurna. Molimo vas da update-ujete ili odete na aktivne plugin-ove i deaktivirate Google XML Sitemap plugin da bi ste sakrili ovu poruku. Možete skinuti stariju verziju ovog plugin-a sa naÅ¡eg sajta." + +#: sitemap.php:92 +#@ sitemap +msgid "Your PHP version is too old for XML Sitemaps." +msgstr "PHP verzija koju koristite je previÅ¡e stara za XML sitemap." + +#: sitemap.php:92 +#, php-format +#@ sitemap +msgid "Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website." +msgstr "nažalost ova verzija Google XML Sitemap-a zahteva najmanje verziju PHP %4$s. Vi koristite PHP %2$s, koji je zastareo i nesiguran. Zamolite vaÅ¡ hosting da ažuriraju verziju PHP instalacije ili idite na aktivne plugin-ove i deaktivirajte Google XML Sitemap plugin da bi ste sakrili ovu poruku. Možete skinuti straiju verziju ovog plugin-a sa naÅ¡eg sajta." + +#. translators: plugin header field 'Name' +#: sitemap.php:0 +#@ sitemap +msgid "Google XML Sitemaps" +msgstr "" + +#. translators: plugin header field 'PluginURI' +#: sitemap.php:0 +#@ sitemap +msgid "http://www.arnebrachhold.de/redir/sitemap-home/" +msgstr "" + +#. translators: plugin header field 'Description' +#: sitemap.php:0 +#@ sitemap +msgid "This plugin will generate a special XML sitemap which will help search engines like Google, Yahoo, Bing and Ask.com to better index your blog." +msgstr "" + +#. translators: plugin header field 'Author' +#: sitemap.php:0 +#@ sitemap +msgid "Arne Brachhold" +msgstr "" + +#. translators: plugin header field 'AuthorURI' +#: sitemap.php:0 +#@ sitemap +msgid "http://www.arnebrachhold.de/" +msgstr "" + +#. translators: plugin header field 'Version' +#: sitemap.php:0 +#@ sitemap +msgid "4.0beta9" +msgstr "" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.mo new file mode 100644 index 0000000..aabe565 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.po new file mode 100644 index 0000000..0094df5 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-sv_SE.po @@ -0,0 +1,322 @@ +msgid "" +msgstr "" +"Project-Id-Version: Google Sitemap Generator Swedish Translation 1.0\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2008-01-08 12:16+0100\n" +"Last-Translator: Markus \n" +"Language-Team: Tobias Bergius \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Swedish\n" +"X-Poedit-Country: SWEDEN\n" +"X-Poedit-SourceCharset: iso-8859-1\n" + +#: sitemap.php:375 +msgid "always" +msgstr "alltid" + +msgid "hourly" +msgstr "varje timme" + +msgid "daily" +msgstr "dagligen" + +msgid "weekly" +msgstr "varje vecka" + +msgid "monthly" +msgstr "månatligen" + +msgid "yearly" +msgstr "Årligen" + +msgid "never" +msgstr "aldrig" + +msgid "Detected Path" +msgstr "Funnen sökväg" + +msgid "Example" +msgstr "Exempel" + +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Absolut eller relativ sökväg till sajtkartan, inklusive namn." + +msgid "Complete URL to the sitemap file, including name." +msgstr "Komplett URL till sajtkartan, inklusive namn." + +msgid "Automatic location" +msgstr "Automatisk sökväg" + +msgid "Manual location" +msgstr "Manuell sökväg" + +msgid "OR" +msgstr "eller" + +msgid "Location of your sitemap file" +msgstr "Sökväg till din sajtkarta" + +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Om din blogg är i en underkatalog och du vill lägga till sidor som inte är i blogg-katalogen, eller under, måste du placera din sajtkarta i root-katalogen (se "Sökväg till din sajtkarta" på den här sidan)!" + +#: sitemap.php:512 +msgid "Configuration updated" +msgstr "Konfiguration uppdaterad" + +#: sitemap.php:513 +msgid "Error" +msgstr "Fel" + +#: sitemap.php:521 +msgid "A new page was added. Click on "Save page changes" to save your changes." +msgstr "En ny sida tillagd. Klicka på "Spara ändringar" för att spara." + +#: sitemap.php:527 +msgid "Pages saved" +msgstr "Sidor sparade" + +#: sitemap.php:528 +msgid "Error while saving pages" +msgstr "Fel vid sparande av sida" + +#: sitemap.php:539 +msgid "The page was deleted. Click on "Save page changes" to save your changes." +msgstr "Sidan borttagen. Klicka på "Spara ändringar" för att spara." + +#: sitemap.php:542 +msgid "You changes have been cleared." +msgstr "Dina ändringar har rensats." + +#: sitemap.php:555 +msgid "Sitemap Generator" +msgstr "Sitemap Generator" + +#: sitemap.php:558 +msgid "Manual rebuild" +msgstr "Manuell återskapning" + +#: sitemap.php:559 +msgid "If you want to build the sitemap without editing a post, click on here!" +msgstr "Om du vill skapa sajtkartan utan att redigera en artikel, klicka här!" + +#: sitemap.php:560 +msgid "Rebuild Sitemap" +msgstr "Återskapa sajtkarta" + +#: sitemap.php:564 +msgid "Additional pages" +msgstr "Ytterligare sidor" + +#: sitemap.php:566 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Här kan du lägga till URL:er i sajtkartan, som inte tillhör Wordpress.
    Till exempel, om din domän är www.foo.com och din blogg finns på www.foo.com/blogg, vill du nog lägga till din startsida på www.foo.com." + +#: sitemap.php:568 +msgid "URL to the page" +msgstr "URL till sidan" + +#: sitemap.php:569 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Ange URL till sidan. Exempel: http://www.foo.com/index.html eller www.foo.com/home" + +#: sitemap.php:571 +msgid "Priority" +msgstr "Prioritet" + +#: sitemap.php:572 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Välj prioritet relativt till de andra sidorna. Till exempel, din startsida kanske bör ha högre prioritet än dina undersidor." + +#: sitemap.php:574 +msgid "Last Changed" +msgstr "Senast ändrad" + +#: sitemap.php:575 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Ändra datum för senaste ändringar enligt ÅÅÅÅ-MM-DD (2005-12-31 t.ex.) (valfritt)." + +#: sitemap.php:583 +msgid "Change Frequency" +msgstr "Ändra frekvens" + +#: sitemap.php:585 +msgid "#" +msgstr "#" + +#: sitemap.php:609 +msgid "No pages defined." +msgstr "Inga sidor tillagda." + +#: sitemap.php:616 +msgid "Add new page" +msgstr "Lägg till sida" + +# sitemap.php:617: +#: sitemap.php:617 +msgid "Save page changes" +msgstr "Spara ändringar" + +# sitemap.php:618: +#: sitemap.php:618 +msgid "Undo all page changes" +msgstr "Ångra alla ändringar" + +# sitemap.php:621: +#: sitemap.php:621 +msgid "Delete marked page" +msgstr "Ta bort markerad sida" + +#: sitemap.php:627 +msgid "Basic Options" +msgstr "Generella ändringar" + +#: sitemap.php:632 +msgid "Enable automatic priority calculation for posts based on comment count" +msgstr "Aktivera automatisk prioritering för artiklar, baserat på antal kommentarer" + +#: sitemap.php:638 +msgid "Write debug comments" +msgstr "Skriv debuggkommentarer" + +#: sitemap.php:643 +msgid "Filename of the sitemap file" +msgstr "Filnamn på sajtkartan" + +#: sitemap.php:650 +msgid "Write a normal XML file (your filename)" +msgstr "Skapa en vanlig XML-fil (ditt filnamn)" + +#: sitemap.php:652 +msgid "Detected URL" +msgstr "Funnen URL" + +#: sitemap.php:657 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Skapa en gzippad fil (filnamn + .gz)" + +#: sitemap.php:664 +msgid "Auto-Ping Google Sitemaps" +msgstr "Auto-pinga Google Sitemaps" + +#: sitemap.php:665 +msgid "This option will automatically tell Google about changes." +msgstr "Det här gör att Google automatiskt notifieras om uppdateringar" + +#: sitemap.php:672 +msgid "Includings" +msgstr "Inkluderingar" + +#: sitemap.php:677 +msgid "Include homepage" +msgstr "Inkludera startsida" + +#: sitemap.php:683 +msgid "Include posts" +msgstr "Inkludera artiklar" + +#: sitemap.php:689 +msgid "Include static pages" +msgstr "Inkludera statiska sidor" + +#: sitemap.php:695 +msgid "Include categories" +msgstr "Inkludera kategorier" + +#: sitemap.php:701 +msgid "Include archives" +msgstr "Inkluder arkiv" + +#: sitemap.php:708 +msgid "Change frequencies" +msgstr "Ändra frekvenser" + +#: sitemap.php:709 +msgid "Note" +msgstr "Observera" + +#: sitemap.php:710 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Den här inställningen ska ses som en ledtråd och inte ett kommando. Även om sökmotorerna lägger märke till den här informationen, så kan de indexera sidor markerade \"per timme\" mer sällan än det. Och dom kan indexera sidor markerade \"årligen\" oftare än så. Det är också vanligt att sökmotorer regelbundet kontrollerar sidor markerade \"aldrig\", så att de kan hantera oväntade händelser." + +#: sitemap.php:715 +msgid "Homepage" +msgstr "Startsida" + +#: sitemap.php:721 +msgid "Posts" +msgstr "Artiklar" + +#: sitemap.php:727 +msgid "Static pages" +msgstr "Statiska sidor" + +#: sitemap.php:733 +msgid "Categories" +msgstr "Kategorier" + +#: sitemap.php:739 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Aktuellt arkiv för denna månad (borde vara samma som din startsida)" + +#: sitemap.php:745 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Äldre arkiv (ändras bara om du ändrar en äldre artikel)" + +#: sitemap.php:752 +msgid "Priorities" +msgstr "Prioriteringar" + +#: sitemap.php:763 +msgid "Posts (If auto calculation is disabled)" +msgstr "Artiklar (om autoprioritering är avaktiverat)" + +#: sitemap.php:769 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Minsta artikeprioritet (även om autoprioritering är aktiverat)" + +#: sitemap.php:787 +msgid "Archives" +msgstr "Arkiv" + +#: sitemap.php:793 +msgid "Informations and support" +msgstr "Information och support" + +#: sitemap.php:794 +msgid "Check %s for updates and comment there if you have any problems / questions / suggestions." +msgstr "Kontrollera %s efter uppdateringar och kommentera om du har några problem, frågor eller förslag." + +#: sitemap.php:797 +msgid "Update options" +msgstr "Uppdatera inställningar" + +#: sitemap.php:1033 +msgid "URL:" +msgstr "URL:" + +#: sitemap.php:1034 +msgid "Path:" +msgstr "Sökväg:" + +#: sitemap.php:1037 +msgid "Could not write into %s" +msgstr "Kan inte skriva till %s" + +#: sitemap.php:1048 +msgid "Successfully built sitemap file:" +msgstr "Sajtkarta skapad:" + +#: sitemap.php:1048 +msgid "Successfully built gzipped sitemap file:" +msgstr "Gzippad sajtkarta skapad:" + +#: sitemap.php:1062 +msgid "Could not ping to Google at %s" +msgstr "Kan inte pinga Google på %s" + +#: sitemap.php:1064 +msgid "Successfully pinged Google at %s" +msgstr "Google pingad på %s" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.mo new file mode 100644 index 0000000..2065950 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.po new file mode 100644 index 0000000..fe75997 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-tr_TR.po @@ -0,0 +1,913 @@ +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-06-07 01:15+0100\n" +"PO-Revision-Date: 2009-06-08 17:31+0200\n" +"Last-Translator: Baris Unver \n" +"Language-Team: Stefano Aglietti \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Italian\n" +"X-Poedit-Country: ITALY\n" +"X-Poedit-SourceCharset: utf-8\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "Yorum Sayımı" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "ÖnceliÄŸi belirlemek için yazıya yapılmış yorum sayısını kullan" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "Yorum Ortalaması" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "ÖnceliÄŸi hesaplamak için yazıların ortalama yorum sayısını kullanır" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "Popularity Contest" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "Alex King tarafından yaratılmış Popularity Contest Eklentisi ile uyumlu olarak çalışır, öncelikleri Popularity Contest'in raporlarına göre hesaplar. Ayarlar için buraya, en popüler yazılar içinse buraya tıklayın." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 +msgid "Always" +msgstr "Her zaman" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 +msgid "Hourly" +msgstr "Saatte bir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 +msgid "Daily" +msgstr "Günde bir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 +msgid "Weekly" +msgstr "Haftada bir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 +msgid "Monthly" +msgstr "Ayda bir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 +msgid "Yearly" +msgstr "Yılda bir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 +msgid "Never" +msgstr "Hiçbir zaman" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "Bağışınız için çok teÅŸekkürler. Bu eklenti üzerinde çalışmam ve destek sunabilmem için yardım saÄŸlamış oldunuz!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Hide this notice" +msgstr "Bu bildiriyi sakla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "" +"Bu eklentiyi kullandığınız için teÅŸekkürler! Bu eklentiyi bir aydan daha uzun süredir kullanıyorsunuz. EÄŸer eklenti sizin iÅŸinize yaradıysa ve sevdiyseniz, sizce bu en azından bir dolar etmez mi? Yapılan bağışlar, bu ücretsiz eklentiyi geliÅŸtirmeye devam etmemi ve eklenti hakkında destek sunmamı saÄŸlıyor!\n" +"Tabii canım, ne demek!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2606 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +msgid "No thanks, please don't bug me anymore!" +msgstr "Yok teÅŸekkürler, lütfen beni bir daha rahatsız etme!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "Site haritanız ÅŸu anda yenileniyor. Blog'unuzun büyüklüğüne göre bu iÅŸlem biraz zaman alabilir!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "Site haritanız %s saniye içinde yenilenecek. Blog'unuzun büyüklüğüne göre bu iÅŸlem biraz zaman alabilir!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 +msgid "XML Sitemap Generator for WordPress" +msgstr "Wordpress için XML Site Haritası OluÅŸturucusu" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 +msgid "Configuration updated" +msgstr "Ayarlar kaydedildi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 +msgid "Error while saving options" +msgstr "Seçenekler kaydedilirken hata oluÅŸtu" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 +msgid "Pages saved" +msgstr "Sayfalar kaydedildi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 +msgid "Error while saving pages" +msgstr "Sayfalar kaydedilirken hata oluÅŸtu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 +msgid "The default configuration was restored." +msgstr "Varsayılan seçenekler yüklendi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "%1$s eklentisinin yeni bir sürümü var. %3$s sürümünü buradan indirin." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "%1$s eklentisinin yeni bir sürümü var. %3$s sürümünü buradan indirin. bu eklenti için otomatik güncelleme mümkün deÄŸil." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "%1$s eklentisinin yeni bir sürümü var. %3$s sürümünü buradan indirin. veya otomatik güncelleyin." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 +msgid "open" +msgstr "açmak" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 +msgid "close" +msgstr "kapamak" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 +msgid "click-down and drag to move this box" +msgstr "kutuyu taşımak için tıklayıp sürükleyin" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 +msgid "click to %toggle% this box" +msgstr "kutuyu %toggle% için tıklayın" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 +msgid "use the arrow keys to move this box" +msgstr "bu kutuyu taşımak için yön tuÅŸlarını kullanın" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 +msgid ", or press the enter key to %toggle% it" +msgstr "%toggle% için , veya enter tuÅŸuna basın" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "About this Plugin:" +msgstr "Bu Eklenti Hakkında:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 +msgid "Plugin Homepage" +msgstr "Eklenti Anasayfası" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Suggest a Feature" +msgstr "Bir Özellik Öner" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 +msgid "Notify List" +msgstr "Bildiri listesi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "Support Forum" +msgstr "Destek Forumu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 +msgid "Report a Bug" +msgstr "Bir Hata Raporla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Donate with PayPal" +msgstr "PayPal ile Bağış Yap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +msgid "My Amazon Wish List" +msgstr "Amazon Wish List'im" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_name" +msgstr "Eklenti Çevirmeni: Barış Ãœnver" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_url" +msgstr "http://beyn.org" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +msgid "Sitemap Resources:" +msgstr "Site Haritası Kaynakları:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "Webmaster Tools" +msgstr "Webmaster Araçları" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "Webmaster Blog" +msgstr "Webmaster Blog'u" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 +msgid "Site Explorer" +msgstr "Site Explorer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "Search Blog" +msgstr "Search Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 +msgid "Webmaster Center Blog" +msgstr "Webmaster Merkezi Blog'u" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 +msgid "Sitemaps Protocol" +msgstr "Site Haritası Protokolü" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 +msgid "Official Sitemaps FAQ" +msgstr "Resmi Sitemap SSS'si" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 +msgid "My Sitemaps FAQ" +msgstr "Bu Eklentinin SSS'si" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 +msgid "Recent Donations:" +msgstr "Son Bağışlar:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 +msgid "List of the donors" +msgstr "Bağış Yapanların Listesi:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 +msgid "Hide this list" +msgstr "Bu listeyi sakla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 +msgid "Thanks for your support!" +msgstr "DesteÄŸiniz için teÅŸekkürler!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Status" +msgstr "Durum" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Site haritanız henüz oluÅŸturulmamış. OluÅŸturmak için buraya tıklayın." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 +msgid "Your sitemap was last built on %date%." +msgstr "Site haritanız en son %date% tarihinde oluÅŸturulmuÅŸ." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreDaha fazla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:610 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Sıkıştırılmış site haritanız" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreDaha fazla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 +msgid "Google was successfully notified about changes." +msgstr "Google baÅŸarıyla bilgilendirildi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Google'ın bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneÄŸi kaldırabilirsiniz" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2970 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "Google bilgilendirilirken hata oluÅŸtu. Hatayı göster" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "YAHOO was successfully notified about changes." +msgstr "Yahoo! baÅŸarıyla bilgilendirildi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Yahoo!'nun bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneÄŸi kaldırabilirsiniz" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2982 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Yahoo! bilgilendirilirken hata oluÅŸtu. Hatayı göster" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 +msgid "Bing was successfully notified about changes." +msgstr "Bing baÅŸarıyla bilgilendirildi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "Bing'in bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneÄŸi kaldırabilirsiniz" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2970 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "Bing bilgilendirilirken hata oluÅŸtu. Hatayı göster" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com baÅŸarıyla bilgilendirildi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Ask.com'un bilgilendirilmesi %time% saniye sürdü, kurulum süresini düşürmek için bu seçeneÄŸi kaldırabilirsiniz" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2994 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Ask.com bilgilendirilirken hata oluÅŸtu. Hatayı göster" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "Kurulum toplam %time% saniye sürdü ve %memory% MB bellek kullandı." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 +msgid "The building process took about %time% seconds to complete." +msgstr "Kurulum toplam %time% saniye sürdü." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "Site haritanızın içeriÄŸi önceki güncellemeyle aynı olduÄŸundan dolayı herhangi bir güncelleme yapılmadı ve herhangi bir arama motoru ping'lenmedi." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "Kurulum iÅŸlemi hala aktif olabilir! Bu sayfayı birkaç saniye sonra yenileyip bir ÅŸeyin deÄŸiÅŸip deÄŸiÅŸmediÄŸini kontrol edin." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "Son güncelleme daha bitmedi! Kullanılan bellek miktarını yükseltebilir veya kurulum süresini uzatabilirsiniz. Daha fazla" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "BetiÄŸin son bilinen bellek kullanımı %memused%MB oldu, sunucunuzun saÄŸladığı bellek sınırı ise %memlimit%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "BetiÄŸin son çalıştırılması %timeused% saniye sürdü, sunucunuzun saÄŸladığı süre sınırı ise %timelimit% saniye." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Betik, %lastpost% numaralı yazı civarında (+/- 100) durdu." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "EÄŸer sunucunuzda veya blog'unuzda bir deÄŸiÅŸiklik yaptıysanız, site haritanızı güncellemek isteyebilirsiniz." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "EÄŸer bir sorunla (veya sorunlarla) karşılaşırsanız, hata ayıklama kipini kullanıp sorun(lar) hakkında bilgi sahibi olabilirsiniz." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 +msgid "Basic Options" +msgstr "Temel Ayarlar" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +msgid "Sitemap files:" +msgstr "Site haritası dosyaları:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Learn more" +msgstr "Daha fazla" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 +msgid "Write a normal XML file (your filename)" +msgstr "Normal bir XML dosyası oluÅŸtur (dosya isminiz.xml)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Gzip ile sıkıştırılmış bir dosya oluÅŸtur (dosya isminiz.xml.gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +msgid "Building mode:" +msgstr "Kurma kipi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Blog'un içeriÄŸi deÄŸiÅŸtiÄŸinde site haritasını güncelle" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 +msgid "Enable manual sitemap building via GET Request" +msgstr "GET talebiyle site haritasının elle kurulumunu etkinleÅŸtir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "" +"EÄŸer blog'unuzu güncellemek için Wordpress API'sini kullanmayan üçüncü parti bir yazılım kullanıyorsanız bu araç iÅŸinize yarayacaktır. BaÅŸlatmak için aÅŸağıdaki baÄŸlantıyı kullanın:\n" +"%1\n" +"Lütfen site haritasının baÅŸarıyla kurulup kurulmadığını kontrol etmek için raporlara bakınız." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +msgid "Update notification:" +msgstr "Güncelleme bildirisi:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 +msgid "Notify Google about updates of your Blog" +msgstr "Blog'unuzun güncellenimini Google'a bildir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Kayıt gerektirmez, ama Google Webmaster Tools'a katılarak crawl istatistiklerini görebilirsiniz." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "Blog'unuzun güncelleniÅŸini Bing'e bildir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "Kayıt gerektirmez, ama Bing Webmaster Tools'a katılarak taranma istatistiklerini görebilirsiniz." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 +msgid "Notify Ask.com about updates of your Blog" +msgstr "Blog'unuzun güncellenimini Ask.com'a bildir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 +msgid "No registration required." +msgstr "Kayıt gerektirmez." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 +msgid "Notify YAHOO about updates of your Blog" +msgstr "Blog'unuzun güncellenimini Yahoo!'ya bildir" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 +msgid "Your Application ID:" +msgstr "Uygulama ID'niz:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Böyle bir anahtarınız yok mu? Buradan bir tane isteyin! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Sanal robots.txt dosyasına site haritası URL'ini ekle." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "WordPress'in oluÅŸturduÄŸu sanal robots.txt dosyası kullanılacaktır; gerçek bir robots.txt dosyası kök dizinde BULUNMAMALIDIR!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Advanced options:" +msgstr "GeliÅŸmiÅŸ seçenekler:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Limit the number of posts in the sitemap:" +msgstr "Site haritasındaki yazı sayısını sınırlandır:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Newer posts will be included first" +msgstr "Yeni yazılar site haritasında ilk sıraya yerleÅŸtirilsin" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "Try to increase the memory limit to:" +msgstr "Kullanılacak bellek sınırını ÅŸuna yükseltmeyi dene:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "e.g. \"4M\", \"16M\"" +msgstr "(örn. \"4M\", \"16M\")" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Try to increase the execution time limit to:" +msgstr "Ä°ÅŸlemi gerçekleÅŸtirmek için gereken zaman sınırını ÅŸuna yükseltmeyi dene:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "saniye olarak belirtin (örn. \"60\") (sınırsız için \"0\" kullanın)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Include a XSLT stylesheet:" +msgstr "Bir XSLT Sayfa Yönergesi (Stylesheet) Kullan:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Full or relative URL to your .xsl file" +msgstr ".xsl dosyanızın tam veya bağıl yolu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Use default" +msgstr "Varsayılanı kullan" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "MySQL standart kipini etkinleÅŸtirin. Yalnızca MySQL hataları alıyorsanız bunu kullanın, çok fazla belleÄŸe ihtiyaç duyar!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "Daha hızlı MySQL eriÅŸimi için WordPress sürümünüzü en azından 2.2'ye yükseltin." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Site haritasını bir arkaplan iÅŸleminde oluÅŸtur (Bir yazıyı kaydederken beklemek zorunda kalmazsınız)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "Haritanın arkaplanda oluÅŸturulabilmesi için WordPress sürümünüzü en azından 2.1'e yükseltin." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 +msgid "Additional pages" +msgstr "Ek sayfalar" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Burada blog'unuza ait olmayan sayfaları site haritasında yer alacak şekilde ekleyebilirsiniz.
    ÖrneÄŸin, eÄŸer sayfanız www.foo.com ise ve blog'unuz www.foo.com/blog ise, anasayfanız olan www.foo.com adresini de eklemek isteyebilirsiniz." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 +msgid "Note" +msgstr "Not" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "EÄŸer blog'unuz bir alt klasördeyse ve blog'da OLMAYAN sayfalar eklemek istiyorsanız, site haritası dosyanızı KESÄ°NLÄ°KLE kök klasöre koymanız gereklidir (Bu sayfadaki "Site haritanızın konumu" bölümüne bakın)!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 +msgid "URL to the page" +msgstr "Sayfanın URL'i" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Sayfanın URL'ini ekleyin. Örnekler: http://www.foo.com/index.html veya www.foo.com/home " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 +msgid "Priority" +msgstr "Öncelik" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Sayfanın, diÄŸer sayfalara göre alacağı önceliÄŸi belirleyin. ÖrneÄŸin, anasayfanızın daha yüksek bir öncelik alması gerekebilir." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Last Changed" +msgstr "Son Düzenlenen" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Son deÄŸiÅŸikliÄŸin tarihini YYYY-AA-GG olarak yazın (örneÄŸin 2005-12-31) (isteÄŸe baÄŸlı)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Change Frequency" +msgstr "Sıklık DeÄŸiÅŸtir" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "#" +msgstr "#" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 +msgid "No pages defined." +msgstr "Hiç sayfa tanımlanmamış." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 +msgid "Add new page" +msgstr "Yeni sayfa ekle" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Post Priority" +msgstr "Yazı önceliÄŸi" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 +msgid "Please select how the priority of each post should be calculated:" +msgstr "Lütfen yazıların önceliklerinin nasıl hesaplanmasını istediÄŸinizi seçin:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "Do not use automatic priority calculation" +msgstr "Otomatik öncelik hesaplamasını kullanma" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr ""Öncelikler"de tanımlanmış tüm yazılar aynı önceliÄŸe sahip olur." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 +msgid "Location of your sitemap file" +msgstr "Site haritanızın konumu" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 +msgid "Automatic detection" +msgstr "Otomatik tespit" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 +msgid "Filename of the sitemap file" +msgstr "Site haritası dosyasının ismi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected Path" +msgstr "Bulunan Yol" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected URL" +msgstr "Bulunan URL" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 +msgid "Custom location" +msgstr "Özel konum" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "Site haritasının tam veya bağıl yolu (ismi dahil)." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 +msgid "Example" +msgstr "Örnek" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 +msgid "Complete URL to the sitemap file, including name." +msgstr "Site haritasının tam URL'i (ismi dahil)." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 +msgid "Sitemap Content" +msgstr "Site Haritas İçeriÄŸi" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 +msgid "Include homepage" +msgstr "Anasayfayı dahil et" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 +msgid "Include posts" +msgstr "Blog yazılarını dahil et" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:1013 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "Çoklu sayfalardan aÅŸağıdakileri dahil et (Bellek kullanımını ve site haritası kurulum süresini uzatır!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 +msgid "Include static pages" +msgstr "Sabit sayfaları dahil et" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 +msgid "Include categories" +msgstr "Kategorileri dahil et" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 +msgid "Include archives" +msgstr "ArÅŸivleri dahil et" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 +msgid "Include tag pages" +msgstr "Etiket sayfalarını dahil et" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 +msgid "Include author pages" +msgstr "Yazar sayfalarını dahil et" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 +msgid "Excluded items" +msgstr "Hariç tutulacaklar" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 +msgid "Excluded categories" +msgstr "Hariç tutulan kategoriler" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +msgid "Using this feature will increase build time and memory usage!" +msgstr "Bu özelliÄŸi kullanmak bellek kullanımını artırır ve harita oluÅŸturma süresini uzatır!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "Bu özellik WordPress 2.5.1 sürümünü gerektirir, sizinki %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 +msgid "Exclude posts" +msgstr "Blog yazılarını hariç tut" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "Exclude the following posts or pages:" +msgstr "Åžu yazı veya sayfaları hariç tut:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "List of IDs, separated by comma" +msgstr "ID listesi, virgülle ayırın:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +msgid "Child posts won't be excluded automatically!" +msgstr "Bu yazının altındaki iç yazılar otomatik olarak dahil edilmeyecektir!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 +msgid "Change frequencies" +msgstr "Sıklıkları deÄŸiÅŸtir" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Lütfen bu etiketin bir ipucu olduÄŸuna, bir komut olmadığına dikkat edin. Her ne kadar arama motoru robotları bu bilgiyi karar verirken göz önünde bulunduruyor olsa da; "her saat" olarak iÅŸaretlenen sayfaları da daha az sıklıkla tarayabilir, "her yıl" olarak iÅŸaretlenen sayfaları da daha sık tarayabilir. Hatta robotlar bazen "hiçbir zaman" olarak iÅŸaretlenmiÅŸ sayfaları da, beklenmedik deÄŸiÅŸiklikleri ele alabilmek için tarayabilirler." + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 +msgid "Homepage" +msgstr "Anasayfa" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 +msgid "Posts" +msgstr "Blog yazıları" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 +msgid "Static pages" +msgstr "Sabit sayfalar" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 +msgid "Categories" +msgstr "Kategoriler" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Bu ayın arÅŸivi (anasayfanızla aynı olacaktır)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Daha eski arÅŸivler (Yalnızca eski bir blog yazısını düzenlerseniz güncellenir)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Tag pages" +msgstr "Etiket sayfaları" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 +msgid "Author pages" +msgstr "Yazar sayfaları" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 +msgid "Priorities" +msgstr "Öncelikler" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 +msgid "Posts (If auto calculation is disabled)" +msgstr "Blog yazıları (yalnızca otomatik hesaplama devre dışıysa)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "En düşük blog yazısı önceliÄŸi (otomatik hesaplama devre dışı olsa bile)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 +msgid "Archives" +msgstr "ArÅŸivler" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 +msgid "Update options" +msgstr "Seçenekleri güncelle" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 +msgid "Reset options" +msgstr "Seçenekleri sıfırla" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap Generator" +msgstr "XML Site Haritası OluÅŸturucusu" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 +msgid "Sitemap FAQ" +msgstr "Bu Eklentinin SSS'si" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.mo new file mode 100644 index 0000000..389fc4e Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.po new file mode 100644 index 0000000..a2cfd92 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-uk_UA.po @@ -0,0 +1,1005 @@ +msgid "" +msgstr "" +"Project-Id-Version: Google XML Sitemaps v3.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2009-08-22 13:42+0300\n" +"Last-Translator: elenka \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: Ukrainian\n" +"X-Poedit-Country: UKRAINE\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c,_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;\n" +"X-Poedit-Basepath: ../\n" +"X-Poedit-Bookmarks: \n" +"X-Poedit-SearchPath-0: .\n" +"X-Textdomain-Support: yes" + +#: sitemap-core.php:642 +#@ sitemap +msgid "Comment Count" +msgstr "Личільник коментарів" + +#: sitemap-core.php:654 +#@ sitemap +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "ВикориÑтовує кількіÑÑ‚ÑŒ коментарів до публікацій Ð´Ð»Ñ ÐºÐ°Ð»ÑŒÐºÑƒÐ»Ñції пріорітету" + +#: sitemap-core.php:714 +#@ sitemap +msgid "Comment Average" +msgstr "Коментарів Середнє" + +#: sitemap-core.php:726 +#@ sitemap +msgid "Uses the average comment count to calculate the priority" +msgstr "ВикориÑтовує кількіÑÑ‚ÑŒ коментарів у Ñередньому Ð´Ð»Ñ ÐºÐ°Ð»ÑŒÐºÑƒÐ»Ñції пріорітету" + +#: sitemap-core.php:789 +#@ sitemap +msgid "Popularity Contest" +msgstr "ÐšÐ¾Ð½ÐºÑƒÑ€Ñ ÐŸÐ¾Ð¿ÑƒÐ»ÑрноÑÑ‚Ñ–" + +#: sitemap-core.php:801 +#, php-format +#@ sitemap +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "ВикориÑтовує активований Popularity Contest Plugin від Alex King< . Див. ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð° ПопулÑрні Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ " + +#: sitemap-core.php:1187 +#@ sitemap +msgid "Always" +msgstr "Завжди" + +#: sitemap-core.php:1188 +#@ sitemap +msgid "Hourly" +msgstr "ЩочаÑу" + +#: sitemap-core.php:1189 +#@ sitemap +msgid "Daily" +msgstr "Щоденно" + +#: sitemap-core.php:1190 +#@ sitemap +msgid "Weekly" +msgstr "Щонедільно" + +#: sitemap-core.php:1191 +#@ sitemap +msgid "Monthly" +msgstr "ЩоміÑÑчно" + +#: sitemap-core.php:1192 +#@ sitemap +msgid "Yearly" +msgstr "Щорічно" + +#: sitemap-core.php:1193 +#@ sitemap +msgid "Never" +msgstr "Ðіколи" + +#: sitemap-ui.php:97 +#@ sitemap +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "ДÑкую вам дуже за ваше пожертвуваннÑ. Ви допомагаете мені підтримувати та розроблÑти цій плагін та інше вільне програмне забеÑпеченнÑ." + +#: sitemap-ui.php:97 +#@ sitemap +msgid "Hide this notice" +msgstr "Приховати це повідомленнÑ" + +#: sitemap-ui.php:103 +#, php-format +#@ sitemap +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "ДÑкую за викориÑÑ‚Ð°Ð½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ плагіна! Ви вÑтановили цей плагін більше міÑÑÑ†Ñ Ñ‚Ð¾Ð¼Ñƒ. Якщо він працює, Ñ– Ви задоволені результатами, чи не варто це щонайменше один долар? ÐŸÐ¾Ð¶ÐµÑ€Ñ‚Ð²ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð¾Ð¿Ð¾Ð¼Ð°ÑŽÑ‚ÑŒ мені продовжити підтримку Ñ– розвиток цього безкоштовного програмного забезпеченнÑ! Звичайно, немає проблем! " + +#: sitemap-ui.php:103 +#@ sitemap +msgid "No thanks, please don't bug me anymore!" +msgstr "ÐÑ–, дÑкую, будь лаÑка, не турбуйте мене!" + +#: sitemap-ui.php:114 +#@ sitemap +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "Ваша мапа Ñайту наразі оновлюєтьÑÑ. Ð’ залежноÑÑ‚Ñ– від розміру вашого блогу це може зайнÑти деÑкий чаÑ!" + +#: sitemap-ui.php:116 +#, php-format +#@ sitemap +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "Ваша мапа Ñайту буде оновлена за % S Ñекунд. Ð’ залежноÑÑ‚Ñ– від розміру вашого блогу це може зайнÑти деÑкий чаÑ!" + +#: sitemap-ui.php:145 +#: sitemap-ui.php:448 +#@ sitemap +msgid "XML Sitemap Generator for WordPress" +msgstr "XML Генератор Мапи Ñайту Ð´Ð»Ñ WordPress" + +#: sitemap-ui.php:293 +#@ sitemap +msgid "Configuration updated" +msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð°" + +#: sitemap-ui.php:294 +#@ sitemap +msgid "Error while saving options" +msgstr "Помилка при збереженні опцій" + +#: sitemap-ui.php:296 +#@ sitemap +msgid "Pages saved" +msgstr "Сторінка збережена" + +#: sitemap-ui.php:297 +#@ sitemap +msgid "Error while saving pages" +msgstr "Помилка при збереженні Ñторінок" + +#: sitemap-ui.php:304 +#@ sitemap +msgid "The default configuration was restored." +msgstr "ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð·Ð° замовчуваннÑм була відновлена." + +#: sitemap-ui.php:461 +#, php-format +#@ default +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "" + +#: sitemap-ui.php:463 +#, php-format +#@ default +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "" + +#: sitemap-ui.php:465 +#, php-format +#@ default +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "" + +#: sitemap-ui.php:488 +#: sitemap-ui.php:505 +msgid "open" +msgstr "" + +#: sitemap-ui.php:489 +#: sitemap-ui.php:506 +msgid "close" +msgstr "" + +#: sitemap-ui.php:490 +#: sitemap-ui.php:507 +msgid "click-down and drag to move this box" +msgstr "" + +#: sitemap-ui.php:491 +#: sitemap-ui.php:508 +#, php-format +msgid "click to %toggle% this box" +msgstr "" + +#: sitemap-ui.php:492 +#: sitemap-ui.php:509 +msgid "use the arrow keys to move this box" +msgstr "" + +#: sitemap-ui.php:493 +#: sitemap-ui.php:510 +#, php-format +msgid ", or press the enter key to %toggle% it" +msgstr "" + +#: sitemap-ui.php:528 +#@ sitemap +msgid "About this Plugin:" +msgstr "Про цей Плагін:" + +#: sitemap-ui.php:529 +#: sitemap.php:153 +#@ sitemap +msgid "Plugin Homepage" +msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка Плагіну" + +#: sitemap-ui.php:530 +#@ sitemap +msgid "Suggest a Feature" +msgstr "Замовити Функціонал" + +#: sitemap-ui.php:531 +#@ sitemap +msgid "Notify List" +msgstr "ЛиÑÑ‚ Повідомленнь" + +#: sitemap-ui.php:532 +#@ sitemap +msgid "Support Forum" +msgstr "Форум Підтримки " + +#: sitemap-ui.php:533 +#@ sitemap +msgid "Report a Bug" +msgstr "Повідомити про помилку" + +#: sitemap-ui.php:535 +#@ sitemap +msgid "Donate with PayPal" +msgstr "Пожертвувати через PayPal" + +#: sitemap-ui.php:536 +#@ sitemap +msgid "My Amazon Wish List" +msgstr "Мій ліÑÑ‚ побажаннь на Amazon" + +#: sitemap-ui.php:537 +#@ sitemap +msgid "translator_name" +msgstr "Ð§ÐµÐ¼Ñ–Ñ ÐžÐ»ÐµÐ½Ð°" + +#: sitemap-ui.php:537 +#@ sitemap +msgid "translator_url" +msgstr "http://stereo-lisa.org.ua" + +#: sitemap-ui.php:540 +#@ sitemap +msgid "Sitemap Resources:" +msgstr "РеÑурÑи Мапи Ñайту" + +#: sitemap-ui.php:541 +#: sitemap-ui.php:547 +#@ sitemap +msgid "Webmaster Tools" +msgstr "ІнÑтрумент Веб-майÑтрів" + +#: sitemap-ui.php:542 +#@ sitemap +msgid "Webmaster Blog" +msgstr "Блог Веб-майÑтера" + +#: sitemap-ui.php:544 +#@ sitemap +msgid "Site Explorer" +msgstr "ПереглÑд Сайту" + +#: sitemap-ui.php:545 +#@ sitemap +msgid "Search Blog" +msgstr "Пошук Блога" + +#: sitemap-ui.php:548 +#@ sitemap +msgid "Webmaster Center Blog" +msgstr "Блог Центра Веб-майÑтрів" + +#: sitemap-ui.php:550 +#@ sitemap +msgid "Sitemaps Protocol" +msgstr "Протокол Sitemaps" + +#: sitemap-ui.php:551 +#@ sitemap +msgid "Official Sitemaps FAQ" +msgstr "Офіційний Sitemaps FAQ" + +#: sitemap-ui.php:552 +#@ sitemap +msgid "My Sitemaps FAQ" +msgstr "Мій Sitemaps FAQ" + +#: sitemap-ui.php:555 +#@ sitemap +msgid "Recent Donations:" +msgstr "ОÑтанні ПожертвуваннÑ" + +#: sitemap-ui.php:559 +#@ sitemap +msgid "List of the donors" +msgstr "Перелік СпонÑорів" + +#: sitemap-ui.php:561 +#@ sitemap +msgid "Hide this list" +msgstr "Сховати цей перелік" + +#: sitemap-ui.php:564 +#@ sitemap +msgid "Thanks for your support!" +msgstr "ДÑкую за вашу підтримку!" + +#: sitemap-ui.php:582 +#@ sitemap +msgid "Status" +msgstr "СтатуÑ" + +#: sitemap-ui.php:590 +#, php-format +#@ sitemap +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "Мапа Ñайту ще не була побудована. ÐатиÑніть тут , щоб побудувати Ñ—Ñ— в перший раз." + +#: sitemap-ui.php:596 +#, php-format +#@ sitemap +msgid "Your sitemap was last built on %date%." +msgstr "Ваша мапа Ñайту була в оÑтаннє побудована %date%." + +#: sitemap-ui.php:598 +#, php-format +#@ sitemap +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn moreДізнатиÑÑŒ більше" + +#: sitemap-ui.php:605 +#, php-format +#@ sitemap +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "Вашу (ÑтиÑнуту) мапу Ñайту минулого разу побудовано %date%." + +#: sitemap-ui.php:607 +#, php-format +#@ sitemap +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn moreДізнатиÑÑŒ більше" + +#: sitemap-ui.php:613 +#@ sitemap +msgid "Google was successfully notified about changes." +msgstr "Google був уÑпішно повідомлений про зміни." + +#: sitemap-ui.php:616 +#, php-format +#@ sitemap +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "Це займе %time% Ñекунд щоб повідомити Google, можливо, ви хочете вимкнути цю функцію Ð´Ð»Ñ ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу побудови." + +#: sitemap-ui.php:619 +#, php-format +#@ sitemap +msgid "There was a problem while notifying Google. View result" +msgstr "Виникла проблема при повідомленні Google. ДивитиÑÑŒ результат" + +#: sitemap-ui.php:625 +#@ sitemap +msgid "YAHOO was successfully notified about changes." +msgstr "YAHOO був уÑпішно повідомлений про зміни." + +#: sitemap-ui.php:628 +#, php-format +#@ sitemap +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "Це займе %time% Ñекунд щоб повідомити YAHOO, можливо, ви хочете вимкнути цю функцію Ð´Ð»Ñ ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу побудови." + +#: sitemap-ui.php:631 +#, php-format +#@ sitemap +msgid "There was a problem while notifying YAHOO. View result" +msgstr "Виникла проблема при повідомленні YAHOO. ДивитиÑÑŒ результат" + +#: sitemap-ui.php:637 +#@ sitemap +msgid "Bing was successfully notified about changes." +msgstr "Bing був уÑпішно повідомлений про зміни." + +#: sitemap-ui.php:640 +#, php-format +#@ sitemap +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "Це займе %time% Ñекунд щоб повідомити Bing, можливо, ви хочете вимкнути цю функцію Ð´Ð»Ñ ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу побудови." + +#: sitemap-ui.php:643 +#, php-format +#@ sitemap +msgid "There was a problem while notifying Bing. View result" +msgstr "Виникла проблема при повідомленні Bing. ДивитиÑÑŒ результат" + +#: sitemap-ui.php:649 +#@ sitemap +msgid "Ask.com was successfully notified about changes." +msgstr "Ask.com був уÑпішно повідомлений про зміни." + +#: sitemap-ui.php:652 +#, php-format +#@ sitemap +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "Це займе %time% Ñекунд щоб повідомити Ask.com, можливо, ви хочете вимкнути цю функцію Ð´Ð»Ñ ÑÐºÐ¾Ñ€Ð¾Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу побудови." + +#: sitemap-ui.php:655 +#, php-format +#@ sitemap +msgid "There was a problem while notifying Ask.com. View result" +msgstr "Виникла проблема при повідомленні Ask.com. ДивитиÑÑŒ результат" + +#: sitemap-ui.php:663 +#, php-format +#@ sitemap +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "ÐŸÑ€Ð¾Ñ†ÐµÑ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ зайнÑв %time% Ñекунд Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ñ– викориÑтував %memory% MB пам'ÑÑ‚Ñ–." + +#: sitemap-ui.php:665 +#, php-format +#@ sitemap +msgid "The building process took about %time% seconds to complete." +msgstr "ÐŸÑ€Ð¾Ñ†ÐµÑ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ зайнÑв близько %time% Ñекунд до завершеннÑ." + +#: sitemap-ui.php:669 +#@ sitemap +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "ЗміÑÑ‚ Вашогої мапи Ñайту не змінивÑÑ , оÑкільки оÑтанній раз, файли не було запиÑано, Ñ– не відбувÑÑ Ð¿Ñ–Ð½Ð³ пошукової ÑиÑтеми." + +#: sitemap-ui.php:677 +#@ sitemap +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "ÐŸÑ€Ð¾Ñ†ÐµÑ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ може бути ще активним! Перезавантажте Ñторінку через кілька Ñекунд, Ñ– перевірьте - чи відбулиÑÑŒ зміни." + +#: sitemap-ui.php:680 +#, php-format +#@ sitemap +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "ОÑтанній запуÑк не закінчивÑÑ! Можливо ви збільшите пам'ÑÑ‚ÑŒ або лімит чаÑу Ð´Ð»Ñ PHP Ñкриптів. ДізнатиÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ" + +#: sitemap-ui.php:682 +#, php-format +#@ sitemap +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "ОÑтаннє відоме викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ– Ñценарієм було %memused%MB, межа Ð´Ð»Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ Ñервера Ñ” %memlimit%. " + +#: sitemap-ui.php:686 +#, php-format +#@ sitemap +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "ОÑтанній відомий Ñ‡Ð°Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñценарію був %timeused% Ñекунд, межа Ð´Ð»Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ Ñервера Ñ” %timelimit% Ñекунд. " + +#: sitemap-ui.php:690 +#, php-format +#@ sitemap +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "Сценарій зупинено Ð±Ñ–Ð»Ñ Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ— номер %lastpost% (+/- 100)" + +#: sitemap-ui.php:693 +#, php-format +#@ sitemap +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "Якщо ви змінювали Ñкі-небудь елементи на вашому Ñервері або блогі, потрібно відновити мапу Ñайту вручну." + +#: sitemap-ui.php:695 +#, php-format +#@ sitemap +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "Якщо у Ð²Ð°Ñ Ð²Ð¸Ð½Ð¸ÐºÐ½ÑƒÑ‚ÑŒ проблеми з процеÑом побудови можна викориÑтовувати відлагоджувальна функції , щоб одержати більш докладну інформацію." + +#: sitemap-ui.php:702 +#@ sitemap +msgid "Basic Options" +msgstr "Базові Опції" + +#: sitemap-ui.php:704 +#@ sitemap +msgid "Sitemap files:" +msgstr "Файли Мапи Ñайту" + +#: sitemap-ui.php:704 +#: sitemap-ui.php:719 +#: sitemap-ui.php:739 +#: sitemap-ui.php:772 +#@ sitemap +msgid "Learn more" +msgstr "ДізнатиÑÑŒ більше" + +#: sitemap-ui.php:709 +#@ sitemap +msgid "Write a normal XML file (your filename)" +msgstr "Запишіть нормальний XML файл (ваша назва файлу )" + +#: sitemap-ui.php:715 +#@ sitemap +msgid "Write a gzipped file (your filename + .gz)" +msgstr "Запишіть ÑтиÑнутий файл (ваша назва файлу + .gz)" + +#: sitemap-ui.php:719 +#@ sitemap +msgid "Building mode:" +msgstr "Режим побудови:" + +#: sitemap-ui.php:724 +#@ sitemap +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "Перебудуйте мапу Ñайту, Ñкщо ви змінили зміÑÑ‚ вашого блогу" + +#: sitemap-ui.php:731 +#@ sitemap +msgid "Enable manual sitemap building via GET Request" +msgstr "Включити ручну побудову мапи Ñайту через GET запит" + +#: sitemap-ui.php:735 +#, php-format +#@ sitemap +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "Це дозволить вам оновити ваш Ñайт, Ñкщо зовнішній інÑтрумент пиÑав у WordPress бази даних без викориÑÑ‚Ð°Ð½Ð½Ñ WordPress API. ВикориÑтовуйте наÑтупний URL, щоб розпочати цей процеÑ: %1 Будь лаÑка, перевірте логи вище, щоб побачити, Ñкщо мапа Ñайту була уÑпішно побудована." + +#: sitemap-ui.php:739 +#@ sitemap +msgid "Update notification:" +msgstr "ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ оновленнÑ:" + +#: sitemap-ui.php:743 +#@ sitemap +msgid "Notify Google about updates of your Blog" +msgstr "Повідомити Google про Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð’Ð°ÑˆÐ¾Ð³Ð¾ блогу\n" + +#: sitemap-ui.php:744 +#, php-format +#@ sitemap +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "Ðе потрібна реєÑтраціÑ, але ви можете приєднатиÑÑ Ð´Ð¾ Google ІнÑтрументи Ð´Ð»Ñ Ð²ÐµÐ±-майÑтрів , щоб перевірити ÑтатиÑтику ÑкануваннÑ." + +#: sitemap-ui.php:748 +#@ sitemap +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "ПовідомлÑти Бінго (колишній MSN Live Search) про Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð’Ð°ÑˆÐ¾Ð³Ð¾ блогу" + +#: sitemap-ui.php:749 +#, php-format +#@ sitemap +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "Ðе потрібна реєÑтраціÑ, але ви можете приєднатиÑÑ Ð´Ð¾ Bing ІнÑтрументи Ð´Ð»Ñ Ð²ÐµÐ±-майÑтрів , щоб перевірити ÑтатиÑтику ÑкануваннÑ." + +#: sitemap-ui.php:753 +#@ sitemap +msgid "Notify Ask.com about updates of your Blog" +msgstr "Повідомити Ask.com про Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð’Ð°ÑˆÐ¾Ð³Ð¾ блогу" + +#: sitemap-ui.php:754 +#@ sitemap +msgid "No registration required." +msgstr "Ðе потрібна реєÑтраціÑ." + +#: sitemap-ui.php:758 +#@ sitemap +msgid "Notify YAHOO about updates of your Blog" +msgstr "Повідомити YAHOO про Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð’Ð°ÑˆÐ¾Ð³Ð¾ блогу" + +#: sitemap-ui.php:759 +#@ sitemap +msgid "Your Application ID:" +msgstr "Ваш идентифікатор :" + +#: sitemap-ui.php:760 +#, php-format +#@ sitemap +msgid "Don't you have such a key? Request one here! %s2" +msgstr "Ви не маєте такого ключа? Запитати його тут! %s2" + +#: sitemap-ui.php:765 +#@ sitemap +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "Додати URL файлу Sitemap в віртуальний файл robots.txt ." + +#: sitemap-ui.php:769 +#@ sitemap +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "ВикориÑтовуєтьÑÑ Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¸Ð¹ robots.txt Ñгенерований WordPress. Реального файлу robots.txt ÐЕ ПОВИÐÐО бути в каталозі блогу!" + +#: sitemap-ui.php:772 +#@ sitemap +msgid "Advanced options:" +msgstr "Додаткові опції:" + +#: sitemap-ui.php:775 +#@ sitemap +msgid "Limit the number of posts in the sitemap:" +msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÐºÑ–Ð»ÑŒÐºÐ¾ÑÑ‚Ñ– публікацій в Sitemap:" + +#: sitemap-ui.php:775 +#@ sitemap +msgid "Newer posts will be included first" +msgstr "Ðові Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ бути включеними першими" + +#: sitemap-ui.php:778 +#@ sitemap +msgid "Try to increase the memory limit to:" +msgstr "Спробуйте збільшити ліміт пам'ÑÑ‚Ñ–:" + +#: sitemap-ui.php:778 +#@ sitemap +msgid "e.g. \"4M\", \"16M\"" +msgstr "наприклад \"4M\", \"16M\"" + +#: sitemap-ui.php:781 +#@ sitemap +msgid "Try to increase the execution time limit to:" +msgstr "Спробуйте збільшити ліміт чаÑу Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð´Ð¾:" + +#: sitemap-ui.php:781 +#@ sitemap +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "у Ñекундах, наприклад \"60\" або \"0\" Ð´Ð»Ñ Ð½ÐµÐ¾Ð±Ð¼ÐµÐ¶Ð½Ð¾Ð³Ð¾" + +#: sitemap-ui.php:785 +#@ sitemap +msgid "Include a XSLT stylesheet:" +msgstr "Додати таблиці Ñтилів XSLT:" + +#: sitemap-ui.php:786 +#@ sitemap +msgid "Full or relative URL to your .xsl file" +msgstr "Повний або відноÑний URL до вашого. XSL-файлу" + +#: sitemap-ui.php:786 +#@ sitemap +msgid "Use default" +msgstr "ВикориÑтовувати параметри за замовчуваннÑм" + +#: sitemap-ui.php:792 +#@ sitemap +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "Увімкнути Ñтандартний режим MySQL. ВикориÑтовуйте це тільки Ñкщо ви отримуєте помилки від MySQL. (Потрібно набагато більше пам'ÑÑ‚Ñ–!)" + +#: sitemap-ui.php:793 +#@ sitemap +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "Оновіть WordPress, принаймні до 2.2, з тим щоб увімкнути швидший доÑтуп до MySQL " + +#: sitemap-ui.php:800 +#@ sitemap +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "Побудувати Мапу Ñайту у фоновому режимі (Вам не доведетьÑÑ Ñ‡ÐµÐºÐ°Ñ‚Ð¸, коли ви збережете публікацію)" + +#: sitemap-ui.php:801 +#@ sitemap +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "Оновіть WordPress, принаймні до 2.1 щоб влючити побудову у фоновому режимі " + +#: sitemap-ui.php:808 +#@ sitemap +msgid "Additional pages" +msgstr "Додаткові Ñторінки" + +#: sitemap-ui.php:811 +#@ sitemap +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "Тут ви можете вказати файли, або URL-адреÑ, Ñкі повинні бути включені в Sitemap, але не належать до блогу/WordPress.
    Ðаприклад, Ñкщо ваш домен www.foo.com Ñ– ваш блог знаходитьÑÑ Ð½Ð° www.foo.com/blog можна включити в вашу домашню Ñторінку www.foo.com" + +#: sitemap-ui.php:813 +#: sitemap-ui.php:992 +#: sitemap-ui.php:1006 +#: sitemap-ui.php:1015 +#@ sitemap +msgid "Note" +msgstr "Примітка" + +#: sitemap-ui.php:814 +#@ sitemap +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "Якщо ваш блог знаходитьÑÑ Ñƒ підкаталозі, Ñ– ви хочете додати Ñторінок, Ñкі не в блозі, Ви повинні розміÑтити Ñвій файл Sitemap в кореневий каталог (ПодивітьÑÑ Ð½Ð° \\\"МіÑце Ð·Ð½Ð°Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ Ñайту файл"Розділ на цій Ñторінці) !" + +#: sitemap-ui.php:816 +#: sitemap-ui.php:855 +#@ sitemap +msgid "URL to the page" +msgstr "URL Ñторінки" + +#: sitemap-ui.php:817 +#@ sitemap +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "Введіть URL Ð´Ð»Ñ Ñторінки. Приклади: http://www.foo.com/index.html or www.foo.com/home " + +#: sitemap-ui.php:819 +#: sitemap-ui.php:856 +#@ sitemap +msgid "Priority" +msgstr "Пріорітет" + +#: sitemap-ui.php:820 +#@ sitemap +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "Виберіть пріоритет Ñторінки в порівнÑнні з іншими Ñторінками. Ðаприклад, ваша Ð´Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка, можливо, має більш виÑокий пріоритет, ніж інші." + +#: sitemap-ui.php:822 +#: sitemap-ui.php:858 +#@ sitemap +msgid "Last Changed" +msgstr "ОÑтанні Зміни" + +#: sitemap-ui.php:823 +#@ sitemap +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "Введіть дату оÑтаннього зміни Ñк РРРР-ММ-ДД (наприклад, 2005-12-31) (не обов'Ñзково)." + +#: sitemap-ui.php:857 +#@ sitemap +msgid "Change Frequency" +msgstr "Зміна чаÑтоти" + +#: sitemap-ui.php:859 +#@ sitemap +msgid "#" +msgstr "â„–" + +#: sitemap-ui.php:864 +#@ sitemap +msgid "No pages defined." +msgstr "Ðе зазначена жодна Ñторінка " + +#: sitemap-ui.php:869 +#@ sitemap +msgid "Add new page" +msgstr "Додати нову Ñторінку" + +#: sitemap-ui.php:874 +#@ sitemap +msgid "Post Priority" +msgstr "Пріорітет Публікації" + +#: sitemap-ui.php:876 +#@ sitemap +msgid "Please select how the priority of each post should be calculated:" +msgstr "Будь лаÑка, виберіть Ñкий пріоритет повинен бути розрахований Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ñ— публікації :" + +#: sitemap-ui.php:878 +#@ sitemap +msgid "Do not use automatic priority calculation" +msgstr "Ðе робити автоматичну калькулÑцію приорітету" + +#: sitemap-ui.php:878 +#@ sitemap +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "Ð’ÑÑ– публікацї, будуть мати такий же пріоритет, Ñкий визначений в "пріоритети"" + +#: sitemap-ui.php:889 +#@ sitemap +msgid "Location of your sitemap file" +msgstr "МіÑце роÑÑ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð°ÑˆÐ¾Ð³Ð¾ файлу Sitemap" + +#: sitemap-ui.php:892 +#@ sitemap +msgid "Automatic detection" +msgstr "Ðвтоматичне виÑвленнÑ" + +#: sitemap-ui.php:896 +#@ sitemap +msgid "Filename of the sitemap file" +msgstr "Ім'Ñ Sitemap файлу" + +#: sitemap-ui.php:899 +#@ sitemap +msgid "Detected Path" +msgstr "Знайдений Путь" + +#: sitemap-ui.php:899 +#@ sitemap +msgid "Detected URL" +msgstr "Знайдений URL" + +#: sitemap-ui.php:904 +#@ sitemap +msgid "Custom location" +msgstr "МіÑце Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ðµ кориÑтувачем" + +#: sitemap-ui.php:908 +#@ sitemap +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "ÐбÑолютний або відноÑний шлÑÑ… до файлу Sitemap, в тому чиÑлі ім'Ñ." + +#: sitemap-ui.php:910 +#: sitemap-ui.php:919 +#@ sitemap +msgid "Example" +msgstr "Приклад" + +#: sitemap-ui.php:917 +#@ sitemap +msgid "Complete URL to the sitemap file, including name." +msgstr "Повний URL Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ñƒ Sitemap, в тому чиÑлі ім'Ñ." + +#: sitemap-ui.php:930 +#@ sitemap +msgid "Sitemap Content" +msgstr "ЗміÑÑ‚ мапи Ñайту" + +#: sitemap-ui.php:936 +#@ sitemap +msgid "Include homepage" +msgstr "Включити домашні Ñторінки" + +#: sitemap-ui.php:942 +#@ sitemap +msgid "Include posts" +msgstr "Включити публікації" + +#: sitemap-ui.php:948 +#@ sitemap +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "Включити наÑтупні Ñторінки декількох публікацій (збільшує Ñ‡Ð°Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ та викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ–!)" + +#: sitemap-ui.php:954 +#@ sitemap +msgid "Include static pages" +msgstr "Включити Ñтатичні Ñторінки" + +#: sitemap-ui.php:960 +#@ sitemap +msgid "Include categories" +msgstr "Включити категорії" + +#: sitemap-ui.php:966 +#@ sitemap +msgid "Include archives" +msgstr "Включити архіви" + +#: sitemap-ui.php:973 +#@ sitemap +msgid "Include tag pages" +msgstr "Включити Ñторінки тегів" + +#: sitemap-ui.php:980 +#@ sitemap +msgid "Include author pages" +msgstr "Включити Ñторінки авторів" + +#: sitemap-ui.php:988 +#@ sitemap +msgid "Excluded items" +msgstr "" +"\t\n" +"Виключені пункти" + +#: sitemap-ui.php:990 +#@ sitemap +msgid "Excluded categories" +msgstr "Виключити категорії" + +#: sitemap-ui.php:992 +#@ sitemap +msgid "Using this feature will increase build time and memory usage!" +msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñ†Ñ–Ñ”Ñ— функції збільшує Ñ‡Ð°Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸ та викориÑÑ‚Ð°Ð½Ð½Ñ Ð¿Ð°Ð¼'ÑÑ‚Ñ–!" + +#: sitemap-ui.php:999 +#, php-format +#@ sitemap +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²Ð¸Ð¼Ð°Ð³Ð°Ñ”, що найменьше WordPress 2.5.1, ви викориÑтовуєте %s" + +#: sitemap-ui.php:1002 +#@ sitemap +msgid "Exclude posts" +msgstr "Виключити публікації" + +#: sitemap-ui.php:1004 +#@ sitemap +msgid "Exclude the following posts or pages:" +msgstr "Виключити наÑтупні публікації або Ñторінки:" + +#: sitemap-ui.php:1004 +#@ sitemap +msgid "List of IDs, separated by comma" +msgstr "Перелік ID, розділених комою" + +#: sitemap-ui.php:1006 +#@ sitemap +msgid "Child posts won't be excluded automatically!" +msgstr "Дочірні публікації не виключаютьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾!" + +#: sitemap-ui.php:1012 +#@ sitemap +msgid "Change frequencies" +msgstr "Зміна чаÑтоти" + +#: sitemap-ui.php:1016 +#@ sitemap +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "Майте на увазі, що Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ тега розглÑдаєтьÑÑ Ñк підказка, а не команда. Ðезважаючи на те, що Ñканери пошукової ÑиÑтеми враховують цю інформацію при прийнÑÑ‚Ñ‚Ñ– рішень, вони можуть Ñканувати Ñторінки з позначкою \\\"щогодини \" рідше, ніж Ñторінки з позначкою \\ \\\"щорічно \". Імовірно також, що Ñканери будуть періодично Ñканувати Ñторінки з позначкою \\ \\\"ніколи \", з тим щоб вони могли знайти неÑподівані зміни на цих Ñторінках." + +#: sitemap-ui.php:1022 +#: sitemap-ui.php:1079 +#@ sitemap +msgid "Homepage" +msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка" + +#: sitemap-ui.php:1028 +#@ sitemap +msgid "Posts" +msgstr "Пулікації" + +#: sitemap-ui.php:1034 +#: sitemap-ui.php:1097 +#@ sitemap +msgid "Static pages" +msgstr "Статичні Ñторінки" + +#: sitemap-ui.php:1040 +#: sitemap-ui.php:1103 +#@ sitemap +msgid "Categories" +msgstr "Катергорії" + +#: sitemap-ui.php:1046 +#@ sitemap +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "Поточний архів за цей міÑÑць (Повинен бути таким Ñамим, Ñк ваша головна Ñторінка)" + +#: sitemap-ui.php:1052 +#@ sitemap +msgid "Older archives (Changes only if you edit an old post)" +msgstr "Попередні архіви (змінютьÑÑ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ тоді, коли ви редагуєте Ñтарі публікації)" + +#: sitemap-ui.php:1059 +#: sitemap-ui.php:1116 +#@ sitemap +msgid "Tag pages" +msgstr "Сторінки тегів" + +#: sitemap-ui.php:1066 +#: sitemap-ui.php:1123 +#@ sitemap +msgid "Author pages" +msgstr "Сторінки Ðвтора" + +#: sitemap-ui.php:1074 +#@ sitemap +msgid "Priorities" +msgstr "Пріоритети" + +#: sitemap-ui.php:1085 +#@ sitemap +msgid "Posts (If auto calculation is disabled)" +msgstr "Публікації (Якщо авторозрахунок відключено)" + +#: sitemap-ui.php:1091 +#@ sitemap +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "Мінімальний пріоритет публікації (Ðавіть Ñкщо автоматичний розрахунок було включено)" + +#: sitemap-ui.php:1109 +#@ sitemap +msgid "Archives" +msgstr "Ðрхіви" + +#: sitemap-ui.php:1134 +#@ sitemap +msgid "Update options" +msgstr "Оновити опції" + +#: sitemap-ui.php:1135 +#@ sitemap +msgid "Reset options" +msgstr "Скинути опції" + +#: sitemap.php:87 +#@ sitemap +msgid "XML-Sitemap Generator" +msgstr "XML-Генератор Мапи Ñайту" + +#: sitemap.php:87 +#@ sitemap +msgid "XML-Sitemap" +msgstr "XML-Мапа Ñайту" + +#: sitemap.php:101 +msgid "Settings" +msgstr "" + +#: sitemap.php:102 +msgid "FAQ" +msgstr "" + +#: sitemap.php:103 +msgid "Support" +msgstr "" + +#: sitemap.php:104 +msgid "Donate" +msgstr "" + +#: sitemap.php:154 +msgid "Sitemap FAQ" +msgstr "" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.mo new file mode 100644 index 0000000..a599579 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.po new file mode 100644 index 0000000..0384e2e --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_CN.po @@ -0,0 +1,1054 @@ +msgid "" +msgstr "" +"Project-Id-Version: 3.1.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-12-20 03:31+0800\n" +"PO-Revision-Date: 2009-12-21 17:59+0100\n" +"Last-Translator: Arne Brachhold\n" +"Language-Team: dupola \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Chinese\n" +"X-Poedit-Country: China\n" +"X-Poedit-Basepath: D:\\usr\\www\\wp-content\\plugins\\google-sitemap-generator\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-SearchPath-0: D:\\usr\\www\\wp-content\\plugins\\google-sitemap-generator\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:525 +msgid "Comment Count" +msgstr "评论数é‡" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:537 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "通过文章评论数é‡çš„多少æ¥å†³å®šä¼˜å…ˆ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:597 +msgid "Comment Average" +msgstr "评论平å‡" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:609 +msgid "Uses the average comment count to calculate the priority" +msgstr "通过评论平å‡æ¥å†³å®šè®¡ç®—优先" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:672 +msgid "Popularity Contest" +msgstr "热门内容" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:684 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "使用已ç»æ¿€æ´»çš„ Alex King çš„ 热门日志æ’件。 查看 设置 and 最æµè¡Œæ—¥å¿—" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1123 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1084 +msgid "Always" +msgstr "总是" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1124 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1085 +msgid "Hourly" +msgstr "æ¯å°æ—¶" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1125 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1086 +msgid "Daily" +msgstr "æ¯å¤©" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1126 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1087 +msgid "Weekly" +msgstr "æ¯å‘¨" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1127 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1088 +msgid "Monthly" +msgstr "æ¯æœˆ" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1128 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1089 +msgid "Yearly" +msgstr "æ¯æœˆ" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1129 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-core.php:1090 +msgid "Never" +msgstr "从ä¸" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:97 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:482 +msgid "XML Sitemap Generator for WordPress" +msgstr "XML 地图生æˆå™¨" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:257 +msgid "Configuration updated" +msgstr "é…置已更新" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:258 +msgid "Error while saving options" +msgstr "ä¿å­˜è®¾ç½®æ—¶å‡ºé”™" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:260 +msgid "Pages saved" +msgstr "页é¢å·²ä¿å­˜" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:261 +msgid "Error while saving pages" +msgstr "ä¿å­˜é¡µé¢æ—¶å‡ºé”™" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:268 +msgid "The default configuration was restored." +msgstr "默认结构已ç»è¢«ä¿®å¤ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:307 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "éžå¸¸æ„Ÿè°¢ä½ çš„æ赠,你的帮助å¯ä»¥ä½¿æˆ‘继续开å‘该这个和其他项目ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:307 +msgid "Hide this notice" +msgstr "éšè—æ示" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:313 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and you are satisfied with the results, isn't it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "感谢使用本æ’件ï¼ä½ å·²ç»ä½¿ç”¨äº†ä¸€æ®µæ—¶é—´äº†ï¼ŒçŽ°åœ¨çœ‹èµ·æ¥å®ƒè¿è¡Œçš„很ä¸é”™ï¼Œå¸®äº†ä½ ä¸å°‘忙。你会考虑支æŒå®ƒçš„å‘展å—? æèµ  几美元,作者就å¯ä»¥æŒç»­å¼€å‘这个 å…费软件了。没问题?点这里开始æèµ ï¼" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:313 +msgid "Sure, but I already did!" +msgstr "当然,我已ç»åšäº†ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:313 +msgid "No thanks, please don't bug me anymore!" +msgstr "ä¸ï¼Œè¯·åˆ«å†å†éªšæ‰°æˆ‘啦ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:320 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "感谢你使用这个æ’件ï¼ä½ å·²ç»å¯ç”¨è¿™ä¸ªæ’件一段时间了。它è¿è¡Œå¾—很ä¸é”™å¹¶ä¸”你也很满æ„,å¯å¦ 为它评分 并 推è 给你的朋å‹ä»¬ï¼Ÿ :-)" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:320 +msgid "Don't show this anymore" +msgstr "ä¸è¦å†æ˜¾ç¤º" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:332 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!
    Due to limitations of the WordPress scheduler, it might take another 60 seconds until the build process is actually started." +msgstr "ä½ çš„ Sitemap å·²ç»æ›´æ–°ï¼Œå®Œå…¨åº”用到你的 blog å¯èƒ½éœ€è¦ç‚¹æ—¶é—´ã€‚" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:69 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:334 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "ä½ çš„ sitemap 将在 %s 秒内更新,Blog é…ç½®ä¸åŒï¼Œå®ƒå®Œå…¨ç”Ÿæ•ˆçš„时间也ä¸åŒã€‚" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:374 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:498 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "XML Sitemap 有新版本 %1$s å‘布了。 这里æ¥ä¸‹è½½ %3$s 版。" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:376 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:500 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "XML Sitemap 的新版本 %1$s å‘布了. 到这里下载 %3$s 版 。无法自动更新这个æ’件." + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:378 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:502 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "XML Sitemap 新版 %1$s å‘布了。 到这里下载 %3$s 版 或者 自动å‡çº§ã€‚" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:510 +#, php-format +msgid "Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "ä½ çš„ Blog 现在正在å±è”½æœç´¢å¼•æ“Žï¼å¦‚è¦æ›´æ”¹è¯·å‰åŽ» éšç§è®¾ç½® 页é¢ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:531 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:548 +msgid "open" +msgstr "打开" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:532 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:549 +msgid "close" +msgstr "关闭" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:533 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:550 +msgid "click-down and drag to move this box" +msgstr "点击并拖动它到这个区域" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:534 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:551 +msgid "click to %toggle% this box" +msgstr "点击并 %toggle% 这个区域" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:535 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:552 +msgid "use the arrow keys to move this box" +msgstr "使用箭头指å‘æ¥ç§»åŠ¨è¿™ä¸ªåŒºå—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:536 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:553 +msgid ", or press the enter key to %toggle% it" +msgstr ",或者按这里to %toggle% it" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:582 +msgid "About this Plugin:" +msgstr "关于这个æ’件:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:583 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:187 +msgid "Plugin Homepage" +msgstr "æ’件主页" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:438 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:584 +msgid "Suggest a Feature" +msgstr "建议新功能" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:585 +msgid "Notify List" +msgstr "通告列表" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:586 +msgid "Support Forum" +msgstr "支æŒè®ºå›" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:441 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:587 +msgid "Report a Bug" +msgstr "报告 Bug" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:589 +msgid "Donate with PayPal" +msgstr "通过 PayPal æèµ " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:590 +msgid "My Amazon Wish List" +msgstr "我想è¦çš„东西(Amazon)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:591 +msgid "translator_name" +msgstr "肚破惊天(@dupola)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:591 +msgid "translator_url" +msgstr "http://dupola.net" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:595 +msgid "Sitemap Resources:" +msgstr "Sitemap 资æºï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:596 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:602 +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:597 +msgid "Webmaster Blog" +msgstr "Webmaster Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:599 +msgid "Site Explorer" +msgstr "Site Explorer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:600 +msgid "Search Blog" +msgstr "Search Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:603 +msgid "Webmaster Center Blog" +msgstr "Webmaster Center Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:605 +msgid "Sitemaps Protocol" +msgstr "Sitemaps åè®®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:606 +msgid "Official Sitemaps FAQ" +msgstr "通用 Sitemaps FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:607 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:188 +msgid "My Sitemaps FAQ" +msgstr "我的 Sitemaps FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:610 +msgid "Recent Donations:" +msgstr "最近æ赠者:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:613 +msgid "List of the donors" +msgstr "æ赠者列表" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:615 +msgid "Hide this list" +msgstr "éšè—这个列表" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:618 +msgid "Thanks for your support!" +msgstr "谢谢支æŒï¼" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:640 +msgid "The sitemap wasn't generated yet." +msgstr "Sitemap 还没生æˆã€‚" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:643 +msgid "Result of the last build process, started on %date%." +msgstr "上一次执行的结果,始于 %date%." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:652 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "sitemap 还没建立,点击这里建立。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:658 +msgid "Your sitemap was last built on %date%." +msgstr "ä½ çš„ sitemap 上一次建立是在%date%。" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:659 +msgid "The last build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "Sitemap 上一次建立æˆåŠŸï¼Œä¸è¿‡æ–‡ä»¶è¢«åˆ é™¤äº†æˆ–者是无法访问了。你是ä¸æ˜¯å°† blog 转移到了其他主机或域å?" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:661 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "写入 sitemap 文件时å‘生错误。ä¿è¯è¿™ä¸ªæ–‡ä»¶å­˜åœ¨å¹¶ä¸”å¯å†™ã€‚学习更多" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:668 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "ä½ çš„ sitemap (zipped) 上一次建立是在 %date%." + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:669 +msgid "The last zipped build succeeded, but the file was deleted later or can't be accessed anymore. Did you move your blog to another server or domain?" +msgstr "Sitemap zipped 上一次执行æˆåŠŸï¼Œä¸è¿‡æ–‡ä»¶è¢«åˆ é™¤äº†æˆ–者是无法访问了。你是ä¸æ˜¯å°† blog 转移到了其他主机或域å?" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:671 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more" +msgstr "在创建 zipped sitemap 文件时å‘生了错误。ä¿è¯è¿™ä¸ªæ–‡ä»¶å­˜åœ¨å¹¶ä¸”å¯å†™ã€‚学习更多" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:677 +msgid "Google was successfully notified about changes." +msgstr "æ›´æ–°å·²ç»æˆåŠŸé€šçŸ¥ Google。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:680 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "通知 Google 用了%time% ,也许你应该ç¦ç”¨è¿™ä¸€åŠŸèƒ½ä»¥å‡å°‘创建时间。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:683 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "在通知 Google æ—¶å‘生错误,查看结果" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:689 +msgid "YAHOO was successfully notified about changes." +msgstr "æ›´æ–°å·²ç»æˆåŠŸé€šçŸ¥ YAHOO。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:692 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "通知 YAHOO 用了 %time% ,也许你应该ç¦ç”¨è¿™é¡¹åŠŸèƒ½ä»¥å‡å°‘建立时间。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:695 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "通知 YAHOO 时出错。查看结果" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3097 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:701 +msgid "Bing was successfully notified about changes." +msgstr "您的更改已ç»æˆåŠŸé€šçŸ¥ Bing。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:704 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "通知 Bing 用了%time% ,也许你应该ç¦ç”¨è¿™ä¸€åŠŸèƒ½ä»¥å‡å°‘创建时间。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:707 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "在通知 Bing æ—¶å‘生错误,查看结果" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:713 +msgid "Ask.com was successfully notified about changes." +msgstr "æ›´æ–°å·²ç»æˆåŠŸé€šçŸ¥ Ask.com。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:716 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "通知 Ask.com 用了%time% ,也许你应该ç¦ç”¨è¿™ä¸€åŠŸèƒ½ä»¥å‡å°‘创建时间。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:719 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "通知 MSN.com 时出错。查看结果" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:727 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "此次建立大约用了 %time% 秒 完æˆï¼Œä½¿ç”¨äº† %memory% MB 内存。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:729 +msgid "The building process took about %time% seconds to complete." +msgstr "此次建立用了大约 %time% 秒 完æˆã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:733 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "从上次这个文件ä¸å¯å†™ä»¥åŽï¼Œä½ çš„ sitemap 就没有更新 ,并且也没有通知任何æœç´¢å¼•æ“Žã€‚" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:586 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:741 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "这项处ç†å°†ä¼šç”Ÿæ•ˆï¼å‡ ç§’é’ŸåŽåˆ·æ–°è¿™ä¸ªé¡µé¢ï¼ŒæŸ¥çœ‹æ˜¯å¦æœ‰æ‰€å˜åŒ–。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:744 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "上次è¿è¡Œæ²¡æœ‰å®Œæˆï¼ä½ åº”该为 PHP scripts 增加内存或时间é™åˆ¶ã€‚学习更多" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:746 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "上次执行用了 was %memused%MB, ä½ çš„æœåŠ¡å™¨é™åˆ¶æ˜¯ %memlimit%。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:750 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "上次执行时间 %timeused% 秒,你的æœåŠ¡å™¨é™åˆ¶æ˜¯ %timelimit% 秒." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:754 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "这个脚本åœæ­¢äºŽè¿™ç¯‡æ—¥å¿—: %lastpost% (+/- 100)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:757 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "如果你 Blog 或æœåŠ¡å™¨æ›´æ–°äº†æŸäº›ä¸œè¥¿ï¼Œä½ åº”该手动 é‡å»º sitemap。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:759 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "如果在执行建立程åºæ—¶é‡åˆ°é—®é¢˜ï¼Œä½ å¯ä»¥ä½¿ç”¨ debug functionæ¥èŽ·å–更多信æ¯ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:766 +msgid "Basic Options" +msgstr "基本设置" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:768 +msgid "Sitemap files:" +msgstr "sitemap 文件" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:768 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:783 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:803 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:836 +msgid "Learn more" +msgstr "学习更多" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:773 +msgid "Write a normal XML file (your filename)" +msgstr "创建一个 XML 文件 (你的文件å)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:779 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "创建一个 gzipped 文件 (你的文件å + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:783 +msgid "Building mode:" +msgstr "建立模å¼ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:788 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "在你更改了 Blog 内容åŽé‡å»º sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:795 +msgid "Enable manual sitemap building via GET Request" +msgstr "通过 GET Request å¯ç”¨æ‰‹åŠ¨å»ºç«‹ sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:799 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the result box above to see if sitemap was successfully built." +msgstr "如果外部工具ä¸æ˜¯é€šè¿‡ WordPress API写入 WordPress æ•°æ®ï¼Œé‚£æ­¤é¡¹å°†å…许你刷新你的 sitemap,。使用下é¢è¿™ä¸ªé“¾æŽ¥å¼€å§‹è¿è¡Œï¼š%1 请检查上é¢çš„日志文件,看看 sitemap 有没有æˆåŠŸå»ºç«‹ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:803 +msgid "Update notification:" +msgstr "更新通知:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:807 +msgid "Notify Google about updates of your Blog" +msgstr "通知 Google 关于你 Blog çš„æ›´æ–°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:808 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "éžå¿…须注册,ä¸è¿‡ä½ å¯ä»¥ä½¿ç”¨Google 管ç†å‘˜å·¥å…·æŸ¥çœ‹çˆ¬è™«ç»Ÿè®¡ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3209 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:812 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "通知 Bing/MSN Live Search 关于你 Blog çš„æ›´æ–°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:813 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "éžå¿…须注册,ä¸è¿‡ä½ å¯ä»¥ä½¿ç”¨ Bing 管ç†å‘˜å·¥å…·æŸ¥çœ‹çˆ¬è™«ç»Ÿè®¡ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:817 +msgid "Notify Ask.com about updates of your Blog" +msgstr "æ醒 Ask.com 关于你 Blog çš„æ›´æ–°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:818 +msgid "No registration required." +msgstr "éžå¿…须注册。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:822 +msgid "Notify YAHOO about updates of your Blog" +msgstr "æ醒 Yahoo 关于你 Blog çš„æ›´æ–°" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:823 +msgid "Your Application ID:" +msgstr "ä½ çš„ Application ID:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:824 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "没有 key?点这里申请一个! %s2" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:829 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "å°† sitemap 地å€æ·»åŠ åˆ°è™šæ‹Ÿ robots.txt 文件中。" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:833 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "ç”± WordPress 生æˆçš„虚拟 robots.txt 文件已ç»å¯ç”¨ï¼Œè¯·ç¡®ä¿ blog 文档中已无原æ¥çš„ robots.txt 文件。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:836 +msgid "Advanced options:" +msgstr "高级设置:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:839 +msgid "Limit the number of posts in the sitemap:" +msgstr "sitemap 里日志数é‡çš„é™åˆ¶ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:839 +msgid "Newer posts will be included first" +msgstr "较早的日志将首先被包å«è¿›æ¥" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:842 +msgid "Try to increase the memory limit to:" +msgstr "增加内存é™åˆ¶åˆ°ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:842 +msgid "e.g. \"4M\", \"16M\"" +msgstr "比如: \"4M\", \"16M\"" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:845 +msgid "Try to increase the execution time limit to:" +msgstr "增加执行时间é™åˆ¶åˆ°ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:845 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "按秒计算,比如 \"60\" or \"0\" 没有é™åˆ¶" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:849 +msgid "Include a XSLT stylesheet:" +msgstr "包å«ä¸€ä¸ª XSLT 清å•" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:850 +msgid "Full or relative URL to your .xsl file" +msgstr ".xsl 文件的ç»å¯¹æˆ–相对路径" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:850 +msgid "Use default" +msgstr "使用默认的" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:856 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "å¯ç”¨ MySQL 标准模å¼ã€‚仅在 MySQL å‘生错误的时候使用。(将会å ç”¨æ›´å¤šå†…å­˜ï¼)" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:857 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "MySQL å¿«é€Ÿè¿žæŽ¥ä»…æ”¯æŒ WordPress 2.2 或以上版本,请å‡çº§ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:864 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "在åŽå°å»ºç«‹ sitemap(你ä¸éœ€è¦åœ¨ä¿å­˜æ—¥å¿—时等待)" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:865 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "åŽå°ç”Ÿæˆä»…æ”¯æŒ WordPress 2.1 或以上版本,请å‡çº§ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:872 +msgid "Additional pages" +msgstr "附加页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:875 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "在这里你å¯ä»¥ä¸º sitemap 加入一些特殊的但并ä¸å­˜åœ¨äºŽä½  Blog/WordPress 的地å€ã€‚比如,如果你的域å是 www.dupola.com,你的blog在 www.dupola.com/blog 上,你å¯ä»¥åŠ å…¥ä½ çš„首页 www.dupola.com" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:877 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1085 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1099 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1108 +msgid "Note" +msgstr "注æ„" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:878 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "如果你的 blog 在å­ç›®å½•é‡Œï¼Œä½ è¦æ·»åŠ  blog 目录或下级目录没有的页é¢ï¼Œä½ å¿…须将 sitemap 文件放到这个目录里(查看本页的 " sitemap 文件的ä½ç½® " 一节)ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:880 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:919 +msgid "URL to the page" +msgstr "这个页é¢çš„ URL" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:881 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "输入这个页é¢çš„地å€ï¼Œæ¯”如:http://dupola.com/dreamhost 或 https://twitter.com/dupola 或 http://caodan.net" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:883 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:920 +msgid "Priority" +msgstr "优先" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:884 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "选择该页é¢çš„相关页é¢çš„优先æƒã€‚比如,你的主页应该拥有一个更高的优先æƒã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:886 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:922 +msgid "Last Changed" +msgstr "最近更改" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:887 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "输入最åŽæ›´æ”¹çš„日期,格å¼ä¸º YYYY-MM-DD (例如 2005-12-31) (å¯é€‰çš„l)." + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:921 +msgid "Change Frequency" +msgstr "更改频率" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:923 +msgid "#" +msgstr "#" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:928 +msgid "No pages defined." +msgstr "没有页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:933 +msgid "Add new page" +msgstr "增加一个新的页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:938 +msgid "Post Priority" +msgstr "日志优先" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:940 +msgid "Please select how the priority of each post should be calculated:" +msgstr "请选择æ¯ç¯‡æ—¥å¿—å¯é¢„设的优先æƒï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:942 +msgid "Do not use automatic priority calculation" +msgstr "ä¸è¦ä½¿ç”¨é»˜è®¤ä¼˜å…ˆè®¡ç®—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:942 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "所有日志都将拥有 "优先æƒ" 设定中设置的那样的优先æƒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:953 +msgid "Location of your sitemap file" +msgstr "ä½ çš„ sitemap 文件的ä½ç½®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:956 +msgid "Automatic detection" +msgstr "自动检查" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:960 +msgid "Filename of the sitemap file" +msgstr "sitemap 文件的åå­—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:963 +msgid "Detected Path" +msgstr "检查路径" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:963 +msgid "Detected URL" +msgstr "检查地å€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:968 +msgid "Custom location" +msgstr "自定义ä½ç½®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:972 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "sitemap çš„ç»å¯¹æˆ–相对路径,包括å字。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:974 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:983 +msgid "Example" +msgstr "例如" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:981 +msgid "Complete URL to the sitemap file, including name." +msgstr "sitemap 文件的完全地å€ï¼ŒåŒ…括å字。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:994 +msgid "Sitemap Content" +msgstr "sitemap 内容" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1000 +msgid "Include homepage" +msgstr "包å«é¦–页" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1006 +msgid "Include posts" +msgstr "包å«æ—¥å¿—" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1013 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1012 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "包括所有多é‡é¡µé¢ï¼ˆè¿™å°†å¢žåŠ ä½¿ç”¨å†…存和生æˆæ—¶é—´ï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1018 +msgid "Include static pages" +msgstr "包å«ç‹¬ç«‹é¡µé¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1024 +msgid "Include categories" +msgstr "包å«åˆ†ç±»" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1030 +msgid "Include archives" +msgstr "包å«å­˜æ¡£é¡µé¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1037 +msgid "Include tag pages" +msgstr "åŒ…å« Tag 页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1053 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "包括 %s çš„ tag 页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1063 +msgid "Include author pages" +msgstr "包å«ä½œè€…页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1067 +msgid "Further options" +msgstr "高级设置" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1072 +msgid "Include the last modification time." +msgstr "包括最åŽä¿®æ”¹æ—¶é—´ã€‚" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1074 +msgid "This is highly recommended and helps the search engines to know when your content has changed. This option affects all sitemap entries." +msgstr "强烈推èå¼€å¯æ­¤é¡¹ï¼Œå®ƒä¼šåœ¨ä½ çš„内容å‘生å˜åŠ¨æ—¶å¸®ä½ å‘Šè¯‰æœç´¢å¼•æ“Žã€‚这个设置将影å“到 所有 sitemap 日志。" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:981 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1081 +msgid "Excluded items" +msgstr "ä¸åŒ…å«çš„项目" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1083 +msgid "Excluded categories" +msgstr "ä¸åŒ…å«åˆ†ç±»" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:985 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1085 +msgid "Using this feature will increase build time and memory usage!" +msgstr "使用这个特性将增大建立时间和使用内存ï¼" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:992 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1092 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "这个特性è¦æ±‚ WordPress 版本至少是 2.5,你正在使用 %s" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1095 +msgid "Exclude posts" +msgstr "ä¸åŒ…å«æ—¥å¿—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1097 +msgid "Exclude the following posts or pages:" +msgstr "ä¸åŒ…括下é¢çš„日志或页é¢ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1097 +msgid "List of IDs, separated by comma" +msgstr "ID 列表,用英文逗å·éš”å¼€" + +# D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:999 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1099 +msgid "Child posts won't be excluded automatically!" +msgstr "å­æ—¥å¿—ä¸ä¼šè¢«è‡ªåŠ¨æŽ’除。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1105 +msgid "Change frequencies" +msgstr "更改频率" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1109 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "请注æ„,这些值仅仅是å‚考建立而并éžæ˜¯å‡†ç¡®æ— è¯¯çš„。 " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1115 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1172 +msgid "Homepage" +msgstr "首页" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1121 +msgid "Posts" +msgstr "日志" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1127 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1190 +msgid "Static pages" +msgstr "独立页é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1133 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1196 +msgid "Categories" +msgstr "分类" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1139 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "这个月的存档(应该和你的首页ä¿æŒä¸€è‡´ï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1145 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "较早的存档(åªåœ¨ä½ ç¼–辑了旧日志åŽæ‰æ›´æ–°ï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1152 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1209 +msgid "Tag pages" +msgstr "Tag 页" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1159 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1216 +msgid "Author pages" +msgstr "作者页" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1167 +msgid "Priorities" +msgstr "优先æƒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1178 +msgid "Posts (If auto calculation is disabled)" +msgstr "日志(如果自动计算已ç¦ç”¨ï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1184 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "日志最å°ä¼˜å…ˆï¼ˆå³ä½¿è‡ªåŠ¨è®¡ç®—å·²ç»å¼€å¯ï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1202 +msgid "Archives" +msgstr "存档" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1227 +msgid "Update options" +msgstr "更新设置" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap-ui.php:1228 +msgid "Reset options" +msgstr "é‡ç½®è®¾ç½®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:98 +msgid "XML-Sitemap Generator" +msgstr "XML-Sitemap 生æˆå™¨" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:98 +msgid "XML-Sitemap" +msgstr "XML-Sitemap" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:112 +msgid "Settings" +msgstr "设置" + +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:113 +msgid "FAQ" +msgstr "FAQ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:114 +msgid "Support" +msgstr "支æŒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +#: D:\usr\www\wp-content\plugins\google-sitemap-generator/sitemap.php:115 +msgid "Donate" +msgstr "æèµ " + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.mo b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.mo new file mode 100644 index 0000000..5ec9c55 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.mo differ diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.po b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.po new file mode 100644 index 0000000..87c8c04 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap-zh_TW.po @@ -0,0 +1,980 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 123431 2009-06-07 00:17:10Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-06-07 01:15+0100\n" +"PO-Revision-Date: 2009-06-08 12:10+0800\n" +"Last-Translator: \n" +"Language-Team: hugo5688 \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: H:\\Webdev\\htdocs\\wp_plugins\\sitemap_beta\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:642 +msgid "Comment Count" +msgstr "迴響數目" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:654 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "使用迴響的數é‡ä¾†è¨ˆç®—優先權" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:714 +msgid "Comment Average" +msgstr "迴響平å‡å€¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:726 +msgid "Uses the average comment count to calculate the priority" +msgstr "使用迴響數é‡å¹³å‡å€¼ä¾†è¨ˆç®—優先權" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:993 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:789 +msgid "Popularity Contest" +msgstr "熱門競賽" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:1005 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:801 +msgid "Uses the activated Popularity Contest Plugin from Alex King. See Settings and Most Popular Posts" +msgstr "使用 Alex King æ供的 Popularity Contest 外掛(需啟用)。詳見 é¸é … 以åŠMost Popular Posts" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1187 +msgid "Always" +msgstr "隨時" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1188 +msgid "Hourly" +msgstr "æ¯å°æ™‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1189 +msgid "Daily" +msgstr "æ¯æ—¥" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1190 +msgid "Weekly" +msgstr "æ¯é€±" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1191 +msgid "Monthly" +msgstr "æ¯æœˆ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1192 +msgid "Yearly" +msgstr "æ¯å¹´" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-core.php:1193 +msgid "Never" +msgstr "從ä¸" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Thank you very much for your donation. You help me to continue support and development of this plugin and other free software!" +msgstr "éžå¸¸æ„Ÿè¬æ‚¨çš„贊助。由於您的幫助,讓我能夠繼續支æ´é–‹ç™¼é€™å€‹å¤–掛以åŠå…¶ä»–å…費軟體ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:102 +msgid "Hide this notice" +msgstr "éš±è—這個通知" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +#, php-format +msgid "Thanks for using this plugin! You've installed this plugin over a month ago. If it works and your are satisfied with the results, isn't it worth at least one dollar? Donations help me to continue support and development of this free software! Sure, no problem!" +msgstr "æ„Ÿè¬æ‚¨ä½¿ç”¨æ­¤å¤–掛!您已在一個月å‰å®‰è£æ­¤å¤–掛。如果它正常工作並讓您å°æ–¼æ­¤çµæžœæ„Ÿåˆ°å®‰å¿ƒï¼Œæ˜¯ä¸æ˜¯è‡³å°‘價值一美元呢? 請贊助我來讓我有繼續開發åŠæ”¯æ´æ­¤å…è²» 外掛軟體的動力。好的,沒å•é¡Œ!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:108 +msgid "No thanks, please don't bug me anymore!" +msgstr "ä¸äº†ï¼Œè«‹ä¸è¦å†ç…©æˆ‘!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:67 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:119 +msgid "Your sitemap is being refreshed at the moment. Depending on your blog size this might take some time!" +msgstr "您的網站地圖在此刻已開始更新。這完全å–決於您的blog大å°ï¼Œæˆ–許會花上一點時間!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:69 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:121 +#, php-format +msgid "Your sitemap will be refreshed in %s seconds. Depending on your blog size this might take some time!" +msgstr "您的網站地圖將會在%s秒é˜å¾Œæ›´æ–°ã€‚這完全å–決於您的blog大å°ï¼Œæˆ–許會花上一點時間!" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:146 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:453 +msgid "XML Sitemap Generator for WordPress" +msgstr "WordPress 專用 XML 網站地圖產生器" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:298 +msgid "Configuration updated" +msgstr "設定已更新" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:299 +msgid "Error while saving options" +msgstr "儲存é¸é …時產生錯誤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:301 +msgid "Pages saved" +msgstr "é é¢å·²å„²å­˜" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:302 +msgid "Error while saving pages" +msgstr "儲存é é¢æ™‚產生錯誤" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:309 +msgid "The default configuration was restored." +msgstr "設定已é‡ç½®ç‚ºé è¨­å€¼ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:466 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here." +msgstr "有較新的版本 %1$s å¯ä¾›ä¸‹è¼‰ã€‚下載版本 %3$s" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:468 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin." +msgstr "有較新的版本 %1$s å¯ä¾›ä¸‹è¼‰ã€‚下載版本 %3$s 自動更新ä¸å¯é©ç”¨æ–¼æ­¤å¤–掛程å¼ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:470 +#, php-format +msgid "There is a new version of %1$s available. Download version %3$s here or upgrade automatically." +msgstr "有較新的版本 %1$s å¯ä¾›ä¸‹è¼‰ã€‚下載版本 %3$s或者自動更新。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2851 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2868 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:510 +msgid "open" +msgstr "打開" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2852 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2869 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:494 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:511 +msgid "close" +msgstr "關閉" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2853 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2870 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:495 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:512 +msgid "click-down and drag to move this box" +msgstr "按下並拖曳這個矩形" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2854 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2871 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:496 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:513 +msgid "click to %toggle% this box" +msgstr "按了「%toggle%ã€é€™å€‹çŸ©å½¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2855 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2872 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:497 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:514 +msgid "use the arrow keys to move this box" +msgstr "使用方å‘éµç§»å‹•é€™å€‹çŸ©å½¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2856 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2873 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:498 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:515 +msgid ", or press the enter key to %toggle% it" +msgstr ",或者按下 Enter éµä¾†ã€Œ%toggle%ã€å®ƒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:533 +msgid "About this Plugin:" +msgstr "關於這個外掛:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:534 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:141 +msgid "Plugin Homepage" +msgstr "外掛首é " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:535 +msgid "Suggest a Feature" +msgstr "功能推薦" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:536 +msgid "Notify List" +msgstr "郵件通知" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:537 +msgid "Support Forum" +msgstr "支æ´è«–壇" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:538 +msgid "Report a Bug" +msgstr "臭蟲回報" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:540 +msgid "Donate with PayPal" +msgstr "PayPal 贊助" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:541 +msgid "My Amazon Wish List" +msgstr "我的 Amazon 願望清單" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_name" +msgstr "Hugo5688" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:542 +msgid "translator_url" +msgstr "http://take-ez.com" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:545 +msgid "Sitemap Resources:" +msgstr "網站地圖資æºï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:546 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:552 +msgid "Webmaster Tools" +msgstr "網站管ç†å“¡å·¥å…·" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:547 +msgid "Webmaster Blog" +msgstr "網站管ç†å“¡ç¶²èªŒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2900 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:549 +msgid "Site Explorer" +msgstr "Site Explorer" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:550 +msgid "Search Blog" +msgstr "Search Blog" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:553 +msgid "Webmaster Center Blog" +msgstr "網站管ç†å“¡ç¶²èªŒ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:555 +msgid "Sitemaps Protocol" +msgstr "網站地圖通訊å”定" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:556 +msgid "Official Sitemaps FAQ" +msgstr "官方版網站地圖答客å•" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:557 +msgid "My Sitemaps FAQ" +msgstr "網站地圖答客å•" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:560 +msgid "Recent Donations:" +msgstr "近期贊助清單:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:564 +msgid "List of the donors" +msgstr "贊助者清單" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:566 +msgid "Hide this list" +msgstr "éš±è—本清單" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:569 +msgid "Thanks for your support!" +msgstr "æ„Ÿè¬æ‚¨çš„贊助ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2931 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:587 +msgid "Status" +msgstr "狀態" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2941 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:595 +#, php-format +msgid "The sitemap wasn't built yet. Click here to build it the first time." +msgstr "您的網站地圖還沒產生éŽã€‚點這裡來產生它å§ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2947 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:601 +msgid "Your sitemap was last built on %date%." +msgstr "您的網站地圖上次發佈時間為:%date%。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2949 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:603 +msgid "There was a problem writing your sitemap file. Make sure the file exists and is writable. Learn more更多資訊" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2956 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:610 +msgid "Your sitemap (zipped) was last built on %date%." +msgstr "網站地圖(壓縮檔)上回產生於:%date%。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2958 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:612 +msgid "There was a problem writing your zipped sitemap file. Make sure the file exists and is writable. Learn more更多資訊" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2964 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:618 +msgid "Google was successfully notified about changes." +msgstr "已經æˆåŠŸåœ°é€šçŸ¥ Google 您網站的更新。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2967 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:621 +msgid "It took %time% seconds to notify Google, maybe you want to disable this feature to reduce the building time." +msgstr "花了 %time% 秒來通知 Google,或許您想è¦é—œé–‰æ­¤åŠŸèƒ½ä¾†å¢žåŠ æ•ˆèƒ½ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:624 +#, php-format +msgid "There was a problem while notifying Google. View result" +msgstr "通知 Google 時發生了å•é¡Œã€‚檢視çµæžœ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2976 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:630 +msgid "YAHOO was successfully notified about changes." +msgstr "已經æˆåŠŸåœ°é€šçŸ¥ YAHOO 您網站的更新。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2979 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:633 +msgid "It took %time% seconds to notify YAHOO, maybe you want to disable this feature to reduce the building time." +msgstr "花了 %time% 秒來通知 YAHOO,或許您想è¦é—œé–‰æ­¤åŠŸèƒ½ä¾†å¢žåŠ æ•ˆèƒ½ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3023 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:636 +#, php-format +msgid "There was a problem while notifying YAHOO. View result" +msgstr "通知 YAHOO 時發生了å•é¡Œã€‚檢視çµæžœ" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:642 +msgid "Bing was successfully notified about changes." +msgstr "已經æˆåŠŸåœ°é€šçŸ¥ Bing 您網站的更新。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:645 +msgid "It took %time% seconds to notify Bing, maybe you want to disable this feature to reduce the building time." +msgstr "花了 %time% 秒來通知 Bing,或許您想è¦é—œé–‰æ­¤åŠŸèƒ½ä¾†å¢žåŠ æ•ˆèƒ½ã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:648 +#, php-format +msgid "There was a problem while notifying Bing. View result" +msgstr "通知 Bing 時發生了å•é¡Œã€‚檢視çµæžœ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2988 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:654 +msgid "Ask.com was successfully notified about changes." +msgstr "已經æˆåŠŸåœ°é€šçŸ¥ Ask.com 您網站的更新。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2991 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:657 +msgid "It took %time% seconds to notify Ask.com, maybe you want to disable this feature to reduce the building time." +msgstr "花了 %time% 秒來通知 Ask.com,或許您想è¦é—œé–‰æ­¤åŠŸèƒ½ä¾†å¢žåŠ æ•ˆèƒ½ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3035 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:660 +#, php-format +msgid "There was a problem while notifying Ask.com. View result" +msgstr "通知 Ask.com 時發生了å•é¡Œã€‚檢視çµæžœ" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3002 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:668 +msgid "The building process took about %time% seconds to complete and used %memory% MB of memory." +msgstr "整個建置éŽç¨‹å¤§ç´„花費 %time% 秒 來完æˆï¼Œä¸¦ä¸”使用了 %memory% MB 的記憶體。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3004 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:670 +msgid "The building process took about %time% seconds to complete." +msgstr "整個建置éŽç¨‹å¤§ç´„花費 %time% 秒 來完æˆã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3008 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:674 +msgid "The content of your sitemap didn't change since the last time so the files were not written and no search engine was pinged." +msgstr "您的網站地圖內容與上次比較並沒有變更,所以沒有產生新檔案,而且æœå°‹å¼•æ“Žä¹Ÿæ²’有被通知。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:586 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:682 +msgid "The building process might still be active! Reload the page in a few seconds and check if something has changed." +msgstr "建立網站地圖的程åºæˆ–許ä¾ç„¶å•Ÿå‹•è‘—。é é¢å°‡åœ¨å¹¾ç§’é˜å¾Œé‡æ–°è¼‰å…¥ï¼Œä¸¦ä¸”確èªæ˜¯å¦æ”¹è®Šã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3012 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:685 +msgid "The last run didn't finish! Maybe you can raise the memory or time limit for PHP scripts. Learn more" +msgstr "上次的執行並未çµæŸï¼ä¹Ÿè¨±æ‚¨éœ€è¦æ›¿ PHP 增加記憶體或者時間é™åˆ¶ã€‚更多資訊" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3014 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:687 +msgid "The last known memory usage of the script was %memused%MB, the limit of your server is %memlimit%." +msgstr "最後一次執行本程å¼ä½¿ç”¨ %memused% MB 記憶體,您伺æœå™¨çš„é™åˆ¶ç‚º %memlimit%。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3018 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:691 +msgid "The last known execution time of the script was %timeused% seconds, the limit of your server is %timelimit% seconds." +msgstr "最後一次執行本程å¼çš„時間花 %timeused% 秒,您伺æœå™¨çš„é™åˆ¶ç‚º %timelimit% 秒。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3022 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:695 +msgid "The script stopped around post number %lastpost% (+/- 100)" +msgstr "這支程å¼å¤§ç´„åœåœ¨ç¬¬ %lastpost% (+/- 100)篇文章" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3025 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:698 +#, php-format +msgid "If you changed something on your server or blog, you should rebuild the sitemap manually." +msgstr "若是您å°ä¼ºæœå™¨æˆ–者網誌åšäº†æŸäº›æ›´å‹•ï¼Œæ‚¨æ‡‰è©²æ‰‹å‹•é‡æ–°ç”¢ç”Ÿç¶²ç«™åœ°åœ–。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:700 +#, php-format +msgid "If you encounter any problems with the build process you can use the debug function to get more information." +msgstr "如果您在建立的éŽç¨‹é‡åˆ°äº†å•é¡Œï¼Œæ‚¨å¯ä»¥ä½¿ç”¨é™¤éŒ¯åŠŸèƒ½ä¾†å¾—知更多的訊æ¯ã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:707 +msgid "Basic Options" +msgstr "基本é¸é …" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +msgid "Sitemap files:" +msgstr "網站地圖檔案:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:709 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Learn more" +msgstr "更多資訊" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3049 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:714 +msgid "Write a normal XML file (your filename)" +msgstr "寫入 XML 檔案(檔案å稱)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3055 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:720 +msgid "Write a gzipped file (your filename + .gz)" +msgstr "寫入壓縮檔(檔案å稱 + .gz)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:724 +msgid "Building mode:" +msgstr "產生模å¼ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:729 +msgid "Rebuild sitemap if you change the content of your blog" +msgstr "當修改網誌內容時é‡æ–°å»ºç«‹ç¶²ç«™åœ°åœ–。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:736 +msgid "Enable manual sitemap building via GET Request" +msgstr "啟用é€éŽç™¼é€ GET è¦æ±‚手動建立網站地圖。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3075 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:740 +msgid "This will allow you to refresh your sitemap if an external tool wrote into the WordPress database without using the WordPress API. Use the following URL to start the process: %1 Please check the logfile above to see if sitemap was successfully built." +msgstr "本é¸é …å…許您刷新您的網站地圖。當您使用外部工具直接將文章寫入 WordPress 資料庫,而éžé€éŽ WordPress API 時,使用以下網å€å•Ÿå‹•é€™å€‹ä½œæ¥­: %1 若是è¦çŸ¥é“是å¦æˆåŠŸè«‹æª¢æŸ¥ç´€éŒ„檔案。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:744 +msgid "Update notification:" +msgstr "更新通知:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:748 +msgid "Notify Google about updates of your Blog" +msgstr "通知 Google 關於您網站的更新" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:749 +#, php-format +msgid "No registration required, but you can join the Google Webmaster Tools to check crawling statistics." +msgstr "ä¸éœ€è¦è¨»å†Šï¼Œä½†æ‚¨å¯åŠ å…¥ Google 網站管ç†å“¡å·¥å…·ä¾†æª¢æŸ¥æœç´¢çµ±è¨ˆã€‚" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:753 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "" +"通知 Bing (å‰èº«ç‚º MSN Live Search\r\n" +") 關於您網站的更新" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:754 +#, php-format +msgid "No registration required, but you can join the Bing Webmaster Tools to check crawling statistics." +msgstr "ä¸éœ€è¦è¨»å†Šï¼Œä½†æ‚¨å¯åŠ å…¥ Bing 網站管ç†å“¡å·¥å…·ä¾†æª¢æŸ¥æœç´¢çµ±è¨ˆã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3088 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:758 +msgid "Notify Ask.com about updates of your Blog" +msgstr "通知 Ask.com 關於您網站的更新" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3089 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:759 +msgid "No registration required." +msgstr "ä¸éœ€è¦è¨»å†Šã€‚" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3093 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:763 +msgid "Notify YAHOO about updates of your Blog" +msgstr "通知 YAHOO 關於您網站的更新" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:764 +msgid "Your Application ID:" +msgstr "æ‚¨çš„æ‡‰ç”¨ç¨‹å¼ ID:" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:765 +#, php-format +msgid "Don't you have such a key? Request one here! %s2" +msgstr "您沒有åƒä¸€å€‹é€™æ¨£çš„金鑰嗎? 請擊點此處申請! %s2" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:770 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "在虛擬 robots.txt 檔案中加入網站地圖ä½å€" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:774 +msgid "The virtual robots.txt generated by WordPress is used. A real robots.txt file must NOT exist in the blog directory!" +msgstr "此虛擬的 robots.txt 將會由 WordPress 來使用。真實的 robots.txt ä¸å¾—存在於部è½æ ¼çš„目錄中ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:777 +msgid "Advanced options:" +msgstr "進階é¸é …:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Limit the number of posts in the sitemap:" +msgstr "網站地圖裡文章數的最å°å€¼:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3124 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:780 +msgid "Newer posts will be included first" +msgstr "較新的文章將會優先包å«" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "Try to increase the memory limit to:" +msgstr "試著將記憶體é™åˆ¶å¢žåŠ è‡³ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:783 +msgid "e.g. \"4M\", \"16M\"" +msgstr "例如:「4Mã€ã€ã€Œ16Mã€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "Try to increase the execution time limit to:" +msgstr "試著將執行時間é™åˆ¶å¢žåŠ è‡³ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:786 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "以秒為單ä½ï¼Œä¾‹å¦‚:「60ã€æˆ–者「0ã€å‰‡ä¸é™åˆ¶" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Include a XSLT stylesheet:" +msgstr "åŒ…å« XSLT 樣å¼ï¼š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Full or relative URL to your .xsl file" +msgstr "您 .xsl 檔案的絕å°æˆ–者相å°è·¯å¾‘" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:791 +msgid "Use default" +msgstr "使用é è¨­" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:797 +msgid "Enable MySQL standard mode. Use this only if you're getting MySQL errors. (Needs much more memory!)" +msgstr "啟用 MySQL 標準模å¼ã€‚當您發ç¾æœ‰ MySQL 錯誤時,å¯ä»¥ä½¿ç”¨æ­¤é¸é …。 (需è¦è¼ƒå¤šçš„記憶體!)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:798 +msgid "Upgrade WordPress at least to 2.2 to enable the faster MySQL access" +msgstr "如è¦é–‹å•Ÿè¼ƒå¿«çš„ MySQL å­˜å–,請至少將 WordPress å‡ç´šæˆ 2.2 版以上" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3166 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:805 +msgid "Build the sitemap in a background process (You don't have to wait when you save a post)" +msgstr "自動在背景程åºä¸­å»ºç«‹ç¶²ç«™åœ°åœ– (當儲存文章時,您就ä¸éœ€å†æ¬¡ç”¢ç”Ÿç¶²ç«™åœ°åœ–)" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:806 +msgid "Upgrade WordPress at least to 2.1 to enable background building" +msgstr "如è¦å•Ÿç”¨èƒŒæ™¯å»ºç«‹ç¶²ç«™åœ°åœ–,請至少將 WordPress å‡ç´šæˆ 2.1 版以上" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:813 +msgid "Additional pages" +msgstr "其他的é é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:816 +msgid "Here you can specify files or URLs which should be included in the sitemap, but do not belong to your Blog/WordPress.
    For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com" +msgstr "您å¯ä»¥åœ¨æ­¤æŒ‡å®šé‚£äº›æ‡‰è¢«ç´å…¥ç¶²ç«™åœ°åœ–的檔案或者網å€ï¼Œä½†æ˜¯ä¸å±¬æ–¼æ‚¨çš„部è½æ ¼(Blog/WordPress)。
    舉例來說,若是您的部è½æ ¼æ˜¯ www.foo.com/blog,而您想è¦å°‡æ‚¨ www.foo.com 下的網é ç´å…¥æ­¤ç¶²ç«™åœ°åœ–。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:818 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1020 +msgid "Note" +msgstr "注æ„" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:819 +msgid "If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!" +msgstr "若是您的部è½æ ¼æ˜¯åœ¨å­ç›®éŒ„下而您想è¦å¢žåŠ çš„é é¢ä¸¦ä¸åœ¨éƒ¨è½æ ¼çš„目錄下é¢ï¼Œæ‚¨å¿…須將您的網站地圖置於網站的根目錄下。(請見本é ã€Œç¶²ç«™åœ°åœ–çš„ä½ç½®ã€å°ç¯€)ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:821 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:860 +msgid "URL to the page" +msgstr "é é¢ç¶²å€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:822 +msgid "Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home " +msgstr "輸入é é¢çš„網å€ã€‚例如:http://www.foo.com/index.html 或者 www.foo.com/home " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:824 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:861 +msgid "Priority" +msgstr "優先權 " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:825 +msgid "Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint." +msgstr "é¸æ“‡è©²é é¢çš„優先權(相較於其他é é¢è€Œè¨€ï¼‰ã€‚例如:您的首é æˆ–許會比版權說明é çš„優先權來得高。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:827 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:863 +msgid "Last Changed" +msgstr "最近更動" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:828 +msgid "Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional)." +msgstr "輸入最近更動的日期,格å¼ç‚º YYYY-MM-DD(例如:2005-12-31)(éžå¿…è¦ï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:862 +msgid "Change Frequency" +msgstr "設定更新頻率" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:864 +msgid "#" +msgstr "#" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:869 +msgid "No pages defined." +msgstr "還沒有é é¢å·²è¢«è¨­å®š" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:874 +msgid "Add new page" +msgstr "新增é é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Post Priority" +msgstr "文章優先權 " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:881 +msgid "Please select how the priority of each post should be calculated:" +msgstr "è«‹é¸æ“‡æ¯ç¯‡æ–‡ç« æ‡‰è©²ç”¨å¤šå°‘優先權來計算:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "Do not use automatic priority calculation" +msgstr "ä¸ä½¿ç”¨è‡ªå‹•å„ªå…ˆæ¬Šè¨ˆç®—" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:883 +msgid "All posts will have the same priority which is defined in "Priorities"" +msgstr "所有的文章使用相åŒå®šç¾©åœ¨"優先權"內的優先權。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3348 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:894 +msgid "Location of your sitemap file" +msgstr "網站地圖的ä½ç½®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3353 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:897 +msgid "Automatic detection" +msgstr "自動ä½ç½®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3357 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:901 +msgid "Filename of the sitemap file" +msgstr "網站地圖的檔å" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected Path" +msgstr "åµæ¸¬åˆ°çš„路徑" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3360 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Detected URL" +msgstr "åµæ¸¬åˆ°çš„網å€" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3365 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:909 +msgid "Custom location" +msgstr "自定ä½ç½®" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3369 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:913 +msgid "Absolute or relative path to the sitemap file, including name." +msgstr "網站地圖的絕å°æˆ–相å°è·¯å¾‘,包括檔å。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3371 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3380 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:915 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:924 +msgid "Example" +msgstr "範例" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3378 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:922 +msgid "Complete URL to the sitemap file, including name." +msgstr "網站地圖的完整網å€ï¼ŒåŒ…括檔å。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:935 +msgid "Sitemap Content" +msgstr "網站地圖內容" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:941 +msgid "Include homepage" +msgstr "包å«é¦–é " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:947 +msgid "Include posts" +msgstr "包å«æ–‡ç« " + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:953 +msgid "Include following pages of multi-page posts (Increases build time and memory usage!)" +msgstr "包å«ä¸‹åˆ—é é¢çš„分é æ–‡ç«  (會增加建立時間åŠè¨˜æ†¶é«”使用é‡ï¼)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:959 +msgid "Include static pages" +msgstr "包å«ç¶²èªŒåˆ†é " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:965 +msgid "Include categories" +msgstr "包å«åˆ†é¡ž" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:971 +msgid "Include archives" +msgstr "包å«åŒ¯æ•´" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:978 +msgid "Include tag pages" +msgstr "包å«æ¨™ç±¤é é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:985 +msgid "Include author pages" +msgstr "包å«ä½œè€…é é¢" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:993 +msgid "Excluded items" +msgstr "排除的項目" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:995 +msgid "Excluded categories" +msgstr "排除的類型" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:997 +msgid "Using this feature will increase build time and memory usage!" +msgstr "使用此功能將會增加建立的時間åŠè¨˜æ†¶é«”使用é‡!" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1004 +#, php-format +msgid "This feature requires at least WordPress 2.5.1, you are using %s" +msgstr "æ­¤åŠŸèƒ½è‡³å°‘éœ€è¦ WordPress 2.5.1 版本,您目å‰ä½¿ç”¨çš„版本是 %s" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1007 +msgid "Exclude posts" +msgstr "包å«æ–‡ç« " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "Exclude the following posts or pages:" +msgstr "包å«ä¸‹åˆ—的文章或é é¢:" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1009 +msgid "List of IDs, separated by comma" +msgstr "列出 IDs,以逗號å€éš”。" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1011 +msgid "Child posts won't be excluded automatically!" +msgstr "å­æ–‡ç« ä¸æœƒè‡ªå‹•åŒ…å«ï¼" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1017 +msgid "Change frequencies" +msgstr "更新頻率設定" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1021 +msgid "Please note that the value of this tag is considered a hint and not a command. Even though search engine crawlers consider this information when making decisions, they may crawl pages marked \"hourly\" less frequently than that, and they may crawl pages marked \"yearly\" more frequently than that. It is also likely that crawlers will periodically crawl pages marked \"never\" so that they can handle unexpected changes to those pages." +msgstr "請注æ„下列å„設定值僅被視為æ示而éžå‘½ä»¤ã€‚雖然æœå°‹å¼•æ“Žæ¼«éŠå™¨æœƒè€ƒæ…®é€™è³‡è¨Šåšå‡ºæ±ºå®šï¼Œä»–們也許會較少漫éŠè¢«æ¨™è¨˜ç‚ºã€ŒHourlyã€çš„é é¢ï¼Œæˆ–者更加頻ç¹åœ°æ¼«éŠè¢«æ¨™è¨˜ç‚ºã€ŒYearlyã€çš„é é¢ã€‚æœå°‹å¼•æ“Žæ¼«éŠæ©Ÿåˆ¶æœƒé€±æœŸæ€§åœ°æ¼«éŠè¢«æ¨™è¨˜ç‚ºã€ŒNeverã€çš„é é¢ï¼Œä»¥ä¾¿ä»–們能處ç†å°é‚£äº›é é¢çš„變動。" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1027 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1084 +msgid "Homepage" +msgstr "首é " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1033 +msgid "Posts" +msgstr "文章" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1039 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1102 +msgid "Static pages" +msgstr "網誌分é " + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1045 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1108 +msgid "Categories" +msgstr "分類" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1051 +msgid "The current archive of this month (Should be the same like your homepage)" +msgstr "ç¾æœ‰çš„æ¯æœˆå½™æ•´ï¼ˆæ‡‰è©²èˆ‡æ‚¨çš„首é ç›¸åŒï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1057 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "較舊的彙整(åªæœ‰åœ¨æ‚¨ä¿®æ”¹èˆŠæ–‡ç« çš„時候æ‰æœƒæ”¹è®Šï¼‰" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1064 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Tag pages" +msgstr "標籤é é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1071 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1128 +msgid "Author pages" +msgstr "作者é é¢" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1079 +msgid "Priorities" +msgstr "優先權" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1090 +msgid "Posts (If auto calculation is disabled)" +msgstr "文章(如果自動計算沒有打開)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1096 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "優先權最å°å€¼ï¼ˆå³ä½¿è‡ªå‹•è¨ˆç®—有打開)" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1114 +msgid "Archives" +msgstr "彙整" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1139 +msgid "Update options" +msgstr "æ›´æ–°é¸é …" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap-ui.php:1140 +msgid "Reset options" +msgstr "é‡ç½®é¸é …" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap Generator" +msgstr "XML 網站地圖產生器" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:84 +msgid "XML-Sitemap" +msgstr "XML 網站地圖" + +#: H:\Webdev\htdocs\wp_plugins\sitemap_beta/sitemap.php:142 +msgid "Sitemap FAQ" +msgstr "網站地圖答客å•" + diff --git a/wp-content/plugins/google-sitemap-generator/lang/sitemap.pot b/wp-content/plugins/google-sitemap-generator/lang/sitemap.pot new file mode 100644 index 0000000..afbe6e5 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/lang/sitemap.pot @@ -0,0 +1,847 @@ +# [Countryname] Language File for sitemap (sitemap-[localname].po) +# Copyright (C) 2005 [name] : [URL] +# This file is distributed under the same license as the WordPress package. +# [name] <[mail-address]>, 2005. +# $Id: sitemap.pot 891813 2014-04-12 11:15:08Z arnee $ +# +msgid "" +msgstr "" +"Project-Id-Version: sitemap\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2014-04-12 13:10+0100\n" +"PO-Revision-Date: 2014-04-12 13:10+0100\n" +"Last-Translator: Arne Brachhold \n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.6.4\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Poedit-SearchPath-0: C:\\Inetpub\\wwwroot\\wp_svn\\wp-content\\plugins" +"\\sitemap_beta\n" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:846 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:536 +msgid "Comment Count" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:858 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:546 +msgid "Uses the number of comments of the post to calculate the priority" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:918 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:599 +msgid "Comment Average" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:930 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:609 +msgid "Uses the average comment count to calculate the priority" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1118 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:770 +msgid "Always" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1119 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:771 +msgid "Hourly" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1120 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:772 +msgid "Daily" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1121 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:773 +msgid "Weekly" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1122 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:774 +msgid "Monthly" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1123 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:775 +msgid "Yearly" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-core.php:1124 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-core.php:776 +msgid "Never" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 +msgid "XML-Sitemap Generator" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2415 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:233 +msgid "XML-Sitemap" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:261 +msgid "Settings" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:262 +msgid "FAQ" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:263 +msgid "Support" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-loader.php:264 +msgid "Donate" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2635 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2835 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:198 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:585 +msgid "XML Sitemap Generator for WordPress" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2740 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +msgid "Configuration updated" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2741 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:375 +msgid "Error while saving options" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2743 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +msgid "Pages saved" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2744 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:379 +msgid "Error while saving pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2758 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:387 +msgid "The default configuration was restored." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:397 +msgid "" +"The old files could NOT be deleted. Please use an FTP program and delete " +"them by yourself." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:399 +msgid "The old files were successfully deleted." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:439 +msgid "" +"Thank you very much for your donation. You help me to continue support and " +"development of this plugin and other free software!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2600 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:439 +msgid "Hide this notice" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:445 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin over a month ago. " +"If it works and you are satisfied with the results, isn't it worth at least " +"a few dollar? Donations help me to continue support and " +"development of this free software! Sure, no problem!" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:445 +msgid "Sure, but I already did!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2657 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:445 +msgid "No thanks, please don't bug me anymore!" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:452 +#, php-format +msgid "" +"Thanks for using this plugin! You've installed this plugin some time ago. If " +"it works and your are satisfied, why not rate it and recommend it to others? :-)" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:452 +msgid "Don't show this anymore" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:374 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:601 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:376 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:603 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here automatic upgrade unavailable for this plugin." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:378 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:605 +#, php-format +msgid "" +"There is a new version of %1$s available. Download version " +"%3$s here or upgrade automatically." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:613 +#, php-format +msgid "" +"Your blog is currently blocking search engines! Visit the privacy settings to change this." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2884 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:629 +msgid "About this Plugin:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2886 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:630 +msgid "Plugin Homepage" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:421 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:631 +msgid "Suggest a Feature" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2887 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:632 +msgid "Notify List" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2888 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:633 +msgid "Support Forum" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap-ui.php:424 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:634 +msgid "Report a Bug" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2889 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:636 +msgid "Donate with PayPal" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2890 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:637 +msgid "My Amazon Wish List" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:638 +msgid "translator_name" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2891 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:638 +msgid "translator_url" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2895 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:641 +msgid "Sitemap Resources:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2897 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:642 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:647 +msgid "Webmaster Tools" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2898 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:643 +msgid "Webmaster Blog" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2901 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:645 +msgid "Search Blog" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3010 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:648 +msgid "Webmaster Center Blog" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2903 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:650 +msgid "Sitemaps Protocol" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2904 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:651 +msgid "Official Sitemaps FAQ" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2905 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:652 +msgid "My Sitemaps FAQ" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2910 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:655 +msgid "Recent Donations:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2914 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:658 +msgid "List of the donors" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2916 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:660 +msgid "Hide this list" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:2919 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:663 +msgid "Thanks for your support!" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:683 +msgid "Search engines haven't been notified yet" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:687 +msgid "Result of the last ping, started on %date%." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:702 +#, php-format +msgid "" +"There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. " +"Please delete them as no static files are used anymore or try " +"to delete them automatically." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:705 +#, php-format +msgid "The URL to your sitemap index file is: %s." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:708 +msgid "" +"Search engines haven't been notified yet. Write a post to let them know " +"about your sitemap." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:717 +#, php-format +msgid "%s was successfully notified about changes." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:720 +msgid "" +"It took %time% seconds to notify %name%, maybe you want to disable this " +"feature to reduce the building time." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:723 +msgid "" +"There was a problem while notifying %name%. View result" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:727 +#, php-format +msgid "" +"If you encounter any problems with your sitemap you can use the debug function to get more information." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:737 +msgid "Webserver Configuration" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:738 +msgid "" +"Since you are using Nginx as your web-server, please configure the following " +"rewrite rules in case you get 404 Not Found errors for your sitemap:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3040 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:754 +msgid "Basic Options" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:756 +msgid "Update notification:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3044 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3059 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3079 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3104 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:756 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:779 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:802 +msgid "Learn more" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3083 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:760 +msgid "Notify Google about updates of your Blog" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3084 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:761 +#, php-format +msgid "" +"No registration required, but you can join the Google " +"Webmaster Tools to check crawling statistics." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:765 +msgid "Notify Bing (formerly MSN Live Search) about updates of your Blog" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:766 +#, php-format +msgid "" +"No registration required, but you can join the Bing Webmaster " +"Tools to check crawling statistics." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:771 +msgid "Add sitemap URL to the virtual robots.txt file." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:775 +msgid "" +"The virtual robots.txt generated by WordPress is used. A real robots.txt " +"file must NOT exist in the blog directory!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3121 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:779 +msgid "Advanced options:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:782 +msgid "Try to increase the memory limit to:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3127 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:782 +msgid "e.g. \"4M\", \"16M\"" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:785 +msgid "Try to increase the execution time limit to:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3130 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:785 +msgid "in seconds, e.g. \"60\" or \"0\" for unlimited" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:789 +msgid "Include a XSLT stylesheet:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3133 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Full or relative URL to your .xsl file" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:790 +msgid "Use default" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:795 +msgid "Include sitemap in HTML format" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:795 +msgid "(The required PHP XSL Module is not installed)" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:801 +msgid "Allow anonymous statistics (no personal information)" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3144 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:810 +msgid "Additional pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3149 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:813 +msgid "" +"Here you can specify files or URLs which should be included in the sitemap, " +"but do not belong to your Blog/WordPress.
    For example, if your domain " +"is www.foo.com and your blog is located on www.foo.com/blog you might want " +"to include your homepage at www.foo.com" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3151 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3462 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:815 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1019 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1030 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1039 +msgid "Note" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3152 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:816 +msgid "" +"If your blog is in a subdirectory and you want to add pages which are NOT in " +"the blog directory or beneath, you MUST place your sitemap file in the root " +"directory (Look at the "Location of your sitemap file" section on " +"this page)!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3154 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3300 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:818 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:857 +msgid "URL to the page" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3155 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:819 +msgid "" +"Enter the URL to the page. Examples: http://www.foo.com/index.html or www." +"foo.com/home " +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3157 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3301 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:821 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:858 +msgid "Priority" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3158 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:822 +msgid "" +"Choose the priority of the page relative to the other pages. For example, " +"your homepage might have a higher priority than your imprint." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3160 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3303 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:824 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:860 +msgid "Last Changed" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3161 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:825 +msgid "" +"Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) " +"(optional)." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3302 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:859 +msgid "Change Frequency" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3304 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:861 +msgid "#" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3309 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:866 +msgid "No pages defined." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3314 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:871 +msgid "Add new page" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3325 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:877 +msgid "Post Priority" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3329 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:879 +msgid "Please select how the priority of each post should be calculated:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:881 +msgid "Do not use automatic priority calculation" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3331 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:881 +msgid "" +"All posts will have the same priority which is defined in "" +"Priorities"" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3397 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:892 +msgid "Sitemap Content" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:893 +msgid "WordPress standard content" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3405 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:898 +msgid "Include homepage" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3411 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:904 +msgid "Include posts" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3417 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:910 +msgid "Include static pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3423 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:916 +msgid "Include categories" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3429 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:922 +msgid "Include archives" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3443 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:928 +msgid "Include author pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3436 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:935 +msgid "Include tag pages" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:949 +msgid "Custom taxonomies" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:960 +#, php-format +msgid "Include taxonomy pages for %s" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:978 +msgid "Custom post types" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:989 +#, php-format +msgid "Include custom post type %s" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1001 +msgid "Further options" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1006 +msgid "Include the last modification time." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1008 +msgid "" +"This is highly recommended and helps the search engines to know when your " +"content has changed. This option affects all sitemap entries." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1015 +msgid "Excluded items" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1017 +msgid "Excluded categories" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1019 +msgid "Using this feature will increase build time and memory usage!" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1026 +msgid "Exclude posts" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1028 +msgid "Exclude the following posts or pages:" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3206 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1028 +msgid "List of IDs, separated by comma" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1030 +msgid "Child posts won't be excluded automatically!" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3457 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1036 +msgid "Change frequencies" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3463 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1040 +msgid "" +"Please note that the value of this tag is considered a hint and not a " +"command. Even though search engine crawlers consider this information when " +"making decisions, they may crawl pages marked \"hourly\" less frequently " +"than that, and they may crawl pages marked \"yearly\" more frequently than " +"that. It is also likely that crawlers will periodically crawl pages marked " +"\"never\" so that they can handle unexpected changes to those pages." +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3469 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3535 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1046 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1103 +msgid "Homepage" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3475 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1052 +msgid "Posts" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3481 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3553 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1058 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1121 +msgid "Static pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3487 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3559 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1064 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1127 +msgid "Categories" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3493 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1070 +msgid "" +"The current archive of this month (Should be the same like your homepage)" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3499 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1076 +msgid "Older archives (Changes only if you edit an old post)" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3506 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3572 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1083 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1140 +msgid "Tag pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3513 +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3579 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1090 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1147 +msgid "Author pages" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3527 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1098 +msgid "Priorities" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3541 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1109 +msgid "Posts (If auto calculation is disabled)" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3547 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1115 +msgid "Minimum post priority (Even if auto calculation is enabled)" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3565 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1133 +msgid "Archives" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3590 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1158 +msgid "Update options" +msgstr "" + +# C:\Inetpub\wwwroot\wp\wp-content\plugins\sitemap_beta/sitemap.php:3591 +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap-ui.php:1159 +msgid "Reset options" +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:82 +msgid "Your WordPress version is too old for XML Sitemaps." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:82 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least " +"WordPress %4$s. You are using Wordpress %2$s, which is out-dated and " +"insecure. Please upgrade or go to active plugins and " +"deactivate the Google XML Sitemaps plugin to hide this message. You can " +"download an older version of this plugin from the plugin " +"website." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:92 +msgid "Your PHP version is too old for XML Sitemaps." +msgstr "" + +#: C:\Inetpub\wwwroot\wp_svn\wp-content\plugins\sitemap_beta/sitemap.php:92 +#, php-format +msgid "" +"Unfortunately this release of Google XML Sitemaps requires at least PHP " +"%4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask " +"your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide " +"this message. You can download an older version of this plugin from the plugin website." +msgstr "" diff --git a/wp-content/plugins/google-sitemap-generator/license.txt b/wp-content/plugins/google-sitemap-generator/license.txt new file mode 100644 index 0000000..ecbc059 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/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/wp-content/plugins/google-sitemap-generator/readme.txt b/wp-content/plugins/google-sitemap-generator/readme.txt new file mode 100644 index 0000000..15aa0ad --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/readme.txt @@ -0,0 +1,79 @@ +=== Google XML Sitemaps === +Contributors: arnee +Donate link: http://www.arnebrachhold.de/redir/sitemap-paypal +Tags: seo, google, sitemaps, google sitemaps, yahoo, msn, ask, live, xml sitemap, xml +Requires at least: 3.3 +Tested up to: 3.9 +Stable tag: 4.0.2 + +This plugin will generate a special XML sitemap which will help search engines to better index your blog. + +== Description == + +This plugin will generate a special XML sitemap which will help search engines like Google, Bing, Yahoo and Ask.com to better index your blog. With such a sitemap, it's much easier for the crawlers to see the complete structure of your site and retrieve it more efficiently. The plugin supports all kinds of WordPress generated pages as well as custom URLs. Additionally it notifies all major search engines every time you create a post about the new content. + +Related Links: + +* Plugin Homepage +* Changelog +* Plugin and sitemaps FAQ +* Support Forum + +== Installation == + +1. Upload the full directory into your wp-content/plugins directory +2. Activate the plugin at the plugin administration page +3. Open the plugin configuration page, which is located under Settings -> XML-Sitemap and customize settings like priorities and change frequencies. +4. The plugin will automatically update your sitemap of you publish a post, so theres nothing more to do :) + +== Frequently Asked Questions == + += Do I have to create a sitemap.xml and sitemap.xml.gz by myself? = + +No. Since version 4, these files are dynamically generated. **There must be no sitemap.xml or sitemap.xml.gz in your blog directory anymore!*** The plugin will try to rename them to sitemap.xml.bak if they still exists. + += Does this plugin use static files? = + +No. Since version 4, these files are dynamically generated. **There must be no sitemap.xml or sitemap.xml.gz in your blog directory anymore!*** The plugin will try to rename them to sitemap.xml.bak if they still exists. + += There are no comments yet (or I've disabled them) and all my postings have a priority of zero! = + +Please disable automatic priority calculation and define a static priority for posts. + += So much configuration options... Do I need to change them? = + +No, only if you want to. Default values are ok for most sites. + += Does this plugin work with all WordPress versions? = + +This version works with WordPress 2.9 and better. If you're using an older version, please check the [Google Sitemaps Plugin Homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/ "Google (XML) Sitemap Generator Plugin Homepage") for the legacy releases. There is a working release for every WordPress version since 1.5. + += My question isn't answered here = + +Most of the plugin options are described at the [plugin homepage](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/) as well as the dedicated [Google Sitemaps FAQ](http://www.arnebrachhold.de/2006/04/07/google-sitemaps-faq-sitemap-issues-errors-and-problems/ "List of common questions / problems regarding Google (XML) Sitemaps"). + += My question isn't even answered there = + +Please post your question at the [WordPress support forum](http://wordpress.org/tags/google-sitemap-generator?forum_id=10) and tag your post with "google-sitemap-generator". + += What's new in the latest version? = + +The changelog is maintained on [here](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/changelog/ "Google (XML) Sitemap Generator Plugin Changelog") + +== Changelog == + +Until it appears here, the changelog is maintained on [the plugin website](http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/changelog/ "Google (XML) Sitemap Generator Plugin Changelog") + +== Screenshots == + +1. Administration interface in WordPress 2.7 +2. Administration interface in WordPress 2.5 +3. Administration interface in WordPress 2.0 + +== License == + +Good news, this plugin is free for everyone! Since it's released under the GPL, you can use it free of charge on your personal or commercial blog. But if you enjoy this plugin, you can thank me and leave a [small donation](http://www.arnebrachhold.de/redir/sitemap-paypal "Donate with PayPal") for the time I've spent writing and supporting this plugin. And I really don't want to know how many hours of my life this plugin has already eaten ;) + +== Translations == + +The plugin comes with various translations, please refer to the [WordPress Codex](http://codex.wordpress.org/Installing_WordPress_in_Your_Language "Installing WordPress in Your Language") for more information about activating the translation. If you want to help to translate the plugin to your language, please have a look at the sitemap.pot file which contains all definitions and may be used with a [gettext](http://www.gnu.org/software/gettext/) editor like [Poedit](http://www.poedit.net/) (Windows). \ No newline at end of file diff --git a/wp-content/plugins/google-sitemap-generator/screenshot-1.gif b/wp-content/plugins/google-sitemap-generator/screenshot-1.gif new file mode 100644 index 0000000..c768367 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/screenshot-1.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/screenshot-2.gif b/wp-content/plugins/google-sitemap-generator/screenshot-2.gif new file mode 100644 index 0000000..00c2246 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/screenshot-2.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/screenshot-3.gif b/wp-content/plugins/google-sitemap-generator/screenshot-3.gif new file mode 100644 index 0000000..340b4a5 Binary files /dev/null and b/wp-content/plugins/google-sitemap-generator/screenshot-3.gif differ diff --git a/wp-content/plugins/google-sitemap-generator/sitemap-builder.php b/wp-content/plugins/google-sitemap-generator/sitemap-builder.php new file mode 100644 index 0000000..3f09179 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/sitemap-builder.php @@ -0,0 +1,497 @@ +BuildPosts($gsg, $type, $params); + break; + case "archives": + $this->BuildArchives($gsg); + break; + case "authors": + $this->BuildAuthors($gsg); + break; + case "tax": + $this->BuildTaxonomies($gsg, $params); + break; + case "externals": + $this->BuildExternals($gsg); + break; + case "misc": + $this->BuildMisc($gsg); + break; + } + } + + /** + * Adds a condition to the query to filter out password protected posts + * @param $where The where statement + * @return String Changed where statement + */ + public function FilterPassword($where) { + global $wpdb; + $where .= "AND ($wpdb->posts.post_password = '') "; + return $where; + } + + /** + * Adds the list of required fields to the query so no big fields like post_content will be selected + * @param $fields The current fields + * @return String Changed fields statement + */ + public function FilterFields($fields) { + global $wpdb; + + $newFields = array( + $wpdb->posts . ".ID", + $wpdb->posts . ".post_author", + $wpdb->posts . ".post_date", + $wpdb->posts . ".post_date_gmt", + $wpdb->posts . ".post_content", + $wpdb->posts . ".post_title", + $wpdb->posts . ".post_excerpt", + $wpdb->posts . ".post_status", + $wpdb->posts . ".post_name", + $wpdb->posts . ".post_modified", + $wpdb->posts . ".post_modified_gmt", + $wpdb->posts . ".post_content_filtered", + $wpdb->posts . ".post_parent", + $wpdb->posts . ".guid", + $wpdb->posts . ".post_type", "post_mime_type", + $wpdb->posts . ".comment_count" + ); + + $fields = implode(", ", $newFields); + return $fields; + } + + + /** + * @param $gsg GoogleSitemapGenerator + * @param $params String + */ + public function BuildPosts($gsg, $type, $params) { + + if(!$pts = strrpos($params, "-")) return; + + $pts = strrpos($params, "-", $pts - strlen($params) - 1); + + $postType = substr($params, 0, $pts); + + if(!$postType || !in_array($postType, $gsg->GetActivePostTypes())) return; + + $params = substr($params, $pts + 1); + + global $wp_version; + + if(preg_match('/^([0-9]{4})\-([0-9]{2})$/', $params, $matches)) { + $year = $matches[1]; + $month = $matches[2]; + + //All comments as an asso. Array (postID=>commentCount) + $comments = ($gsg->GetOption("b_prio_provider") != "" ? $gsg->GetComments() : array()); + + //Full number of comments + $commentCount = (count($comments) > 0 ? $gsg->GetCommentCount($comments) : 0); + + $qp = $this->BuildPostQuery($gsg, $postType); + + $qp['year'] = $year; + $qp['monthnum'] = $month; + + //Don't retrieve and update meta values and taxonomy terms if they are not used in the permalink + $struct = get_option('permalink_structure'); + if(strpos($struct, "%category%") === false && strpos($struct, "%tag%") == false) { + $qp['update_post_term_cache'] = false; + } + + $qp['update_post_meta_cache'] = false; + + //Add filter to remove password protected posts + add_filter('posts_search', array($this, 'FilterPassword'), 10, 1); + + //Add filter to filter the fields + add_filter('posts_fields', array($this, 'FilterFields'), 10, 1); + + $posts = get_posts($qp); + + //Remove the filter again + remove_filter("posts_where", array($this, 'FilterPassword'), 10, 1); + remove_filter("posts_fields", array($this, 'FilterFields'), 10, 1); + + if($postCount = count($posts) > 0) { + + $prioProvider = NULL; + + if($gsg->GetOption("b_prio_provider") != '') { + $providerClass = $gsg->GetOption('b_prio_provider'); + $prioProvider = new $providerClass($commentCount, $postCount); + } + + //Default priorities + $default_prio_posts = $gsg->GetOption('pr_posts'); + $default_prio_pages = $gsg->GetOption('pr_pages'); + + //Change frequencies + $cf_pages = $gsg->GetOption('cf_pages'); + $cf_posts = $gsg->GetOption('cf_posts'); + + //Minimum priority + $minPrio = $gsg->GetOption('pr_posts_min'); + + //Page as home handling + $homePid = 0; + $home = get_bloginfo('url'); + if('page' == get_option('show_on_front') && get_option('page_on_front')) { + $pageOnFront = get_option('page_on_front'); + $p = get_post($pageOnFront); + if($p) $homePid = $p->ID; + } + + foreach($posts AS $post) { + + $permalink = get_permalink($post->ID); + + //Exclude the home page and placeholder items by some plugins... + if(!empty($permalink) && $permalink != $home && $post->ID != $homePid && $permalink != "#") { + + //Default Priority if auto calc is disabled + $prio = ($postType == 'page' ? $default_prio_pages : $default_prio_posts); + + //If priority calc. is enabled, calculate (but only for posts, not pages)! + if($prioProvider !== null && $postType == 'post') { + //Comment count for this post + $cmtcnt = (isset($comments[$post->ID]) ? $comments[$post->ID] : 0); + $prio = $prioProvider->GetPostPriority($post->ID, $cmtcnt, $post); + } + + if($postType == 'post' && $minPrio > 0 && $prio < $minPrio) $prio = $minPrio; + + $gsg->AddUrl($permalink, $gsg->GetTimestampFromMySql(($post->post_modified_gmt && $post->post_modified_gmt != '0000-00-00 00:00:00' + ? $post->post_modified_gmt + : $post->post_date_gmt)), ($postType == 'page' ? $cf_pages + : $cf_posts), $prio, $post->ID); + + } + } + } + } + } + + /** + * @param $gsg GoogleSitemapGenerator + */ + public function BuildArchives($gsg) { + global $wpdb, $wp_version; + $now = current_time('mysql'); + + $arcresults = $wpdb->get_results(" + SELECT DISTINCT + YEAR(post_date_gmt) AS `year`, + MONTH(post_date_gmt) AS `month`, + MAX(post_date_gmt) AS last_mod, + count(ID) AS posts + FROM + $wpdb->posts + WHERE + post_date < '$now' + AND post_status = 'publish' + AND post_type = 'post' + GROUP BY + YEAR(post_date_gmt), + MONTH(post_date_gmt) + ORDER BY + post_date_gmt DESC + "); + + if($arcresults) { + foreach($arcresults as $arcresult) { + + $url = get_month_link($arcresult->year, $arcresult->month); + $changeFreq = ""; + + //Archive is the current one + if($arcresult->month == date("n") && $arcresult->year == date("Y")) { + $changeFreq = $gsg->GetOption("cf_arch_curr"); + } else { // Archive is older + $changeFreq = $gsg->GetOption("cf_arch_old"); + } + + $gsg->AddUrl($url, $gsg->GetTimestampFromMySql($arcresult->last_mod), $changeFreq, $gsg->GetOption("pr_arch")); + } + } + } + + /** + * @param $gsg GoogleSitemapGenerator + */ + public function BuildMisc($gsg) { + + if($gsg->GetOption("in_home")) { + $home = get_bloginfo('url'); + $homePid = 0; + //Add the home page (WITH a slash!) + if($gsg->GetOption("in_home")) { + if('page' == get_option('show_on_front') && get_option('page_on_front')) { + $pageOnFront = get_option('page_on_front'); + $p = get_page($pageOnFront); + if($p) { + $homePid = $p->ID; + $gsg->AddUrl(trailingslashit($home), $gsg->GetTimestampFromMySql(($p->post_modified_gmt && $p->post_modified_gmt != '0000-00-00 00:00:00' + ? $p->post_modified_gmt + : $p->post_date_gmt)), $gsg->GetOption("cf_home"), $gsg->GetOption("pr_home")); + } + } else { + $lm = get_lastpostmodified('GMT'); + $gsg->AddUrl(trailingslashit($home), ($lm ? $gsg->GetTimestampFromMySql($lm) + : time()), $gsg->GetOption("cf_home"), $gsg->GetOption("pr_home")); + } + } + } + + if($gsg->IsXslEnabled() && $gsg->GetOption("b_html") === true) { + $lm = get_lastpostmodified('GMT'); + $gsg->AddUrl($gsg->GetXmlUrl("", "", array("html" => true)), ($lm ? $gsg->GetTimestampFromMySql($lm) + : time())); + } + + do_action('sm_buildmap'); + } + + /** + * @param $gsg GoogleSitemapGenerator + */ + public function BuildAuthors($gsg) { + global $wpdb, $wp_version; + + //Unfortunately there is no API function to get all authors, so we have to do it the dirty way... + //We retrieve only users with published and not password protected enabled post types + + $enabledPostTypes = $gsg->GetActivePostTypes(); + + //Ensure we count at least the posts... + if(count($enabledPostTypes) == 0) $enabledPostTypes[] = "post"; + + $sql = "SELECT DISTINCT + u.ID, + u.user_nicename, + MAX(p.post_modified_gmt) AS last_post + FROM + {$wpdb->users} u, + {$wpdb->posts} p + WHERE + p.post_author = u.ID + AND p.post_status = 'publish' + AND p.post_type IN('" . implode("','", array_map(array($wpdb, 'escape'), $enabledPostTypes)) . "') + AND p.post_password = '' + GROUP BY + u.ID, + u.user_nicename"; + + $authors = $wpdb->get_results($sql); + + if($authors && is_array($authors)) { + foreach($authors as $author) { + $url = get_author_posts_url($author->ID, $author->user_nicename); + $gsg->AddUrl($url, $gsg->GetTimestampFromMySql($author->last_post), $gsg->GetOption("cf_auth"), $gsg->GetOption("pr_auth")); + } + } + } + + + public function FilterTermsQuery($selects, $args) { + global $wpdb; + $selects[] = " + ( /* ADDED BY XML SITEMAPS */ + SELECT + UNIX_TIMESTAMP(MAX(p.post_date_gmt)) as _mod_date + FROM + {$wpdb->posts} p, + {$wpdb->term_relationships} r + WHERE + p.ID = r.object_id + AND p.post_status = 'publish' + AND p.post_password = '' + AND r.term_taxonomy_id = tt.term_taxonomy_id + ) as _mod_date"; + + return $selects; + } + + /** + * @param $gsg GoogleSitemapGenerator + */ + public function BuildTaxonomies($gsg, $taxonomy) { + global $wpdb; + + $enabledTaxonomies = $this->GetEnabledTaxonomies($gsg); + if(in_array($taxonomy, $enabledTaxonomies)) { + + $excludes = array(); + + if($taxonomy == "category") { + $exclCats = $gsg->GetOption("b_exclude_cats"); // Excluded cats + if($exclCats) $excludes = $exclCats; + } + + add_filter("get_terms_fields", array($this, "FilterTermsQuery"), 20, 2); + $terms = get_terms($taxonomy, array("hide_empty" => true, "hierarchical" => false, "exclude" => $excludes)); + remove_filter("get_terms_fields", array($this, "FilterTermsQuery"), 20, 2); + + foreach($terms AS $term) { + $gsg->AddUrl(get_term_link($term, $term->taxonomy), $term->_mod_date, $gsg->GetOption("cf_tags"), $gsg->GetOption("pr_tags")); + } + } + } + + public function GetEnabledTaxonomies(GoogleSitemapGenerator $gsg) { + + $enabledTaxonomies = $gsg->GetOption("in_tax"); + if($gsg->GetOption("in_tags")) $enabledTaxonomies[] = "post_tag"; + if($gsg->GetOption("in_cats")) $enabledTaxonomies[] = "category"; + + $taxList = array(); + foreach($enabledTaxonomies as $taxName) { + $taxonomy = get_taxonomy($taxName); + if($taxonomy && wp_count_terms($taxonomy->name, array('hide_empty' => true)) > 0) $taxList[] = $taxonomy->name; + } + return $taxList; + } + + /** + * @param $gsg GoogleSitemapGenerator + */ + public function BuildExternals($gsg) { + $pages = $gsg->GetPages(); + if($pages && is_array($pages) && count($pages) > 0) { + foreach($pages AS $page) { + $gsg->AddUrl($page->GetUrl(), $page->getLastMod(), $page->getChangeFreq(), $page->getPriority()); + } + } + } + + public function BuildPostQuery($gsg, $postType) { + //Default Query Parameters + $qp = array( + 'post_type' => $postType, + 'numberposts' => 0, + 'nopaging' => true, + 'suppress_filters' => false + ); + + + $excludes = $gsg->GetExcludedPostIDs($gsg); + + if(count($excludes) > 0) { + $qp["post__not_in"] = $excludes; + } + + // Excluded category IDs + $exclCats = $gsg->GetExcludedCategoryIDs($gsg); + + if(count($exclCats) > 0) { + $qp["category__not_in"] = $exclCats; + } + + return $qp; + } + + /** + * @param $gsg GoogleSitemapGenerator + */ + public function Index($gsg) { + /** + * @var $wpdb wpdb + */ + global $wpdb, $wp_version; + + + $blogUpdate = strtotime(get_lastpostdate('blog')); + + $gsg->AddSitemap("misc", null, $blogUpdate); + + if($gsg->GetOption("in_arch")) $gsg->AddSitemap("archives", null, $blogUpdate); + if($gsg->GetOption("in_auth")) $gsg->AddSitemap("authors", null, $blogUpdate); + + $taxonomies = $this->GetEnabledTaxonomies($gsg); + foreach($taxonomies AS $tax) { + $gsg->AddSitemap("tax", $tax, $blogUpdate); + } + + $pages = $gsg->GetPages(); + if(count($pages) > 0) $gsg->AddSitemap("externals", null, $blogUpdate); + + $enabledPostTypes = $gsg->GetActivePostTypes(); + + if(count($enabledPostTypes) > 0) { + + $excludedPostIDs = $gsg->GetExcludedPostIDs($gsg); + $exPostSQL = ""; + if(count($excludedPostIDs) > 0) { + $exPostSQL = "AND p.ID NOT IN (" . implode(",", $excludedPostIDs) . ")"; + } + + $excludedCategoryIDs = $gsg->GetExcludedCategoryIDs($gsg); + $exCatSQL = ""; + if(count($excludedCategoryIDs) > 0) { + $exCatSQL = "AND ( p.ID NOT IN ( SELECT object_id FROM {$wpdb->term_relationships} WHERE term_taxonomy_id IN (" . implode(",", $excludedCategoryIDs) . ")))"; + } + + foreach($enabledPostTypes AS $postType) { + $q = " + SELECT + YEAR(p.post_date) AS `year`, + MONTH(p.post_date) AS `month`, + COUNT(p.ID) AS `numposts`, + MAX(p.post_date) as `last_mod` + FROM + {$wpdb->posts} p + WHERE + p.post_password = '' + AND p.post_type = '" . esc_sql($postType) . "' + AND p.post_status = 'publish' + $exPostSQL + $exCatSQL + GROUP BY + YEAR(p.post_date), + MONTH(p.post_date) + ORDER BY + p.post_date DESC"; + + $posts = $wpdb->get_results($q); + + if($posts) { + foreach($posts as $post) { + $gsg->AddSitemap("pt", $postType . "-" . sprintf("%04d-%02d", $post->year, $post->month), $gsg->GetTimestampFromMySql($post->last_mod)); + } + } + } + } + } +} + +if(defined("WPINC")) new GoogleSitemapGeneratorStandardBuilder(); \ No newline at end of file diff --git a/wp-content/plugins/google-sitemap-generator/sitemap-core.php b/wp-content/plugins/google-sitemap-generator/sitemap-core.php new file mode 100644 index 0000000..68b45f3 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/sitemap-core.php @@ -0,0 +1,2062 @@ +startTime = microtime(true); + + $exists = get_option("sm_status"); + + if($exists === false) add_option("sm_status", "", null, "no"); + + $this->Save(); + } + + /** + * Saves the status back to the database + */ + public function Save() { + update_option("sm_status", $this); + } + + /** + * Returns the last saved status object or null + * + * @return GoogleSitemapGeneratorStatus + */ + public static function Load() { + $status = @get_option("sm_status"); + if(is_a($status, "GoogleSitemapGeneratorStatus")) { + return $status; + } + else return null; + } + + /** + * Ends the ping process + */ + public function End() { + $this->endTime = microtime(true); + $this->Save(); + } + + /** + * Returns the duration of the ping process + * @return int + */ + public function GetDuration() { + return round($this->endTime - $this->startTime, 2); + } + + /** + * Returns the time when the pings were started + * @return int + */ + public function GetStartTime() { + return round($this->startTime, 2); + } + + /** + * @param $service The internal name of the ping service + * @param $url The URL to ping + * @param $name The display name of the service + * @return void + */ + public function StartPing($service, $url, $name = null) { + $this->pingResults[$service] = array( + 'startTime' => microtime(true), + 'endTime' => 0, + 'success' => false, + 'url' => $url, + 'name' => $name ? $name : $service + ); + + $this->Save(); + } + + /** + * @param $service The internal name of the ping service + * @param $success If the ping was successful + * @return void + */ + public function EndPing($service, $success) { + $this->pingResults[$service]['endTime'] = microtime(true); + $this->pingResults[$service]['success'] = $success; + + $this->Save(); + } + + /** + * Returns the duration of the last ping of a specific ping service + * + * @param $service The internal name of the ping service + * @return float + */ + public function GetPingDuration($service) { + $res = $this->pingResults[$service]; + return round($res['endTime'] - $res['startTime'], 2); + } + + /** + * Returns the last result for a specific ping service + * + * @param $service The internal name of the ping service + * @return array + */ + public function GetPingResult($service) { + return $this->pingResults[$service]['success']; + } + + /** + * Returns the URL for a specific ping service + * + * @param $service The internal name of the ping service + * @return array + */ + public function GetPingUrl($service) { + return $this->pingResults[$service]['url']; + } + + /** + * Returns the name for a specific ping service + * + * @param $service The internal name of the ping service + * @return array + */ + public function GetServiceName($service) { + return $this->pingResults[$service]['name']; + } + + /** + * Returns if a service was used in the last ping + * + * @param $service The internal name of the ping service + * @return bool + */ + public function UsedPingService($service) { + return array_key_exists($service, $this->pingResults); + } + + /** + * Returns the services which were used in the last ping + * + * @return array + */ + public function GetUsedPingServices() { + return array_keys($this->pingResults); + } +} + +/** + * Represents an item in the page list + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + */ +class GoogleSitemapGeneratorPage { + + /** + * @var string $_url Sets the URL or the relative path to the blog dir of the page + */ + public $_url; + + /** + * @var float $_priority Sets the priority of this page + */ + public $_priority; + + /** + * @var string $_changeFreq Sets the chanfe frequency of the page. I want Enums! + */ + public $_changeFreq; + + /** + * @var int $_lastMod Sets the lastMod date as a UNIX timestamp. + */ + public $_lastMod; + + /** + * @var int $_postID Sets the post ID in case this item is a WordPress post or page + */ + public $_postID; + + /** + * Initialize a new page object + * + * @since 3.0 + * @param string $url The URL or path of the file + * @param float $priority The Priority of the page 0.0 to 1.0 + * @param string $changeFreq The change frequency like daily, hourly, weekly + * @param int $lastMod The last mod date as a unix timestamp + * @param int $postID The post ID of this page + * @return GoogleSitemapGeneratorPage + * + */ + public function __construct($url = "", $priority = 0.0, $changeFreq = "never", $lastMod = 0, $postID = 0) { + $this->SetUrl($url); + $this->SetProprity($priority); + $this->SetChangeFreq($changeFreq); + $this->SetLastMod($lastMod); + $this->SetPostID($postID); + } + + /** + * Returns the URL of the page + * + * @return string The URL + */ + public function GetUrl() { + return $this->_url; + } + + /** + * Sets the URL of the page + * + * @param string $url The new URL + */ + public function SetUrl($url) { + $this->_url = (string) $url; + } + + /** + * Returns the priority of this page + * + * @return float the priority, from 0.0 to 1.0 + */ + public function GetPriority() { + return $this->_priority; + } + + /** + * Sets the priority of the page + * + * @param float $priority The new priority from 0.1 to 1.0 + */ + public function SetProprity($priority) { + $this->_priority = floatval($priority); + } + + /** + * Returns the change frequency of the page + * + * @return string The change frequncy like hourly, weekly, monthly etc. + */ + public function GetChangeFreq() { + return $this->_changeFreq; + } + + /** + * Sets the change frequency of the page + * + * @param string $changeFreq The new change frequency + */ + public function SetChangeFreq($changeFreq) { + $this->_changeFreq = (string) $changeFreq; + } + + /** + * Returns the last mod of the page + * + * @return int The lastmod value in seconds + */ + public function GetLastMod() { + return $this->_lastMod; + } + + /** + * Sets the last mod of the page + * + * @param int $lastMod The lastmod of the page + */ + public function SetLastMod($lastMod) { + $this->_lastMod = intval($lastMod); + } + + /** + * Returns the ID of the post + * + * @return int The post ID + */ + public function GetPostID() { + return $this->_postID; + } + + /** + * Sets the ID of the post + * + * @param int $postID The new ID + */ + public function SetPostID($postID) { + $this->_postID = intval($postID); + } + + public function Render() { + + if($this->_url == "/" || empty($this->_url)) return ''; + + $r = ""; + $r .= "\t\n"; + $r .= "\t\t" . $this->EscapeXML($this->_url) . "\n"; + if($this->_lastMod > 0) $r .= "\t\t" . date('Y-m-d\TH:i:s+00:00', $this->_lastMod) . "\n"; + if(!empty($this->_changeFreq)) $r .= "\t\t" . $this->_changeFreq . "\n"; + if($this->_priority !== false && $this->_priority !== "") $r .= "\t\t" . number_format($this->_priority, 1) . "\n"; + $r .= "\t\n"; + return $r; + } + + protected function EscapeXML($string) { + return str_replace(array('&', '"', "'", '<', '>'), array('&', '"', ''', '<', '>'), $string); + } +} + +/** + * Represents an XML entry, like definitions + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + */ +class GoogleSitemapGeneratorXmlEntry { + + protected $_xml; + + public function __construct($xml) { + $this->_xml = $xml; + } + + public function Render() { + return $this->_xml; + } +} + +/** + * Represents an comment + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + * @uses GoogleSitemapGeneratorXmlEntry + */ +class GoogleSitemapGeneratorDebugEntry extends GoogleSitemapGeneratorXmlEntry { + + public function Render() { + return "\n"; + } +} + +/** + * Represents an item in the sitemap + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + */ +class GoogleSitemapGeneratorSitemapEntry { + + /** + * @var string $_url Sets the URL or the relative path to the blog dir of the page + */ + protected $_url; + + /** + * @var int $_lastMod Sets the lastMod date as a UNIX timestamp. + */ + protected $_lastMod; + + /** + * Returns the URL of the page + * + * @return string The URL + */ + public function GetUrl() { + return $this->_url; + } + + /** + * Sets the URL of the page + * + * @param string $url The new URL + */ + public function SetUrl($url) { + $this->_url = (string) $url; + } + + /** + * Returns the last mod of the page + * + * @return int The lastmod value in seconds + */ + public function GetLastMod() { + return $this->_lastMod; + } + + /** + * Sets the last mod of the page + * + * @param int $lastMod The lastmod of the page + */ + public function SetLastMod($lastMod) { + $this->_lastMod = intval($lastMod); + } + + public function __construct($url = "", $lastMod = 0) { + $this->SetUrl($url); + $this->SetLastMod($lastMod); + } + + public function Render() { + + if($this->_url == "/" || empty($this->_url)) return ''; + + $r = ""; + $r .= "\t\n"; + $r .= "\t\t" . $this->EscapeXML($this->_url) . "\n"; + if($this->_lastMod > 0) $r .= "\t\t" . date('Y-m-d\TH:i:s+00:00', $this->_lastMod) . "\n"; + $r .= "\t\n"; + return $r; + } + + protected function EscapeXML($string) { + return str_replace(array('&', '"', "'", '<', '>'), array('&', '"', ''', '<', '>'), $string); + } +} + +/** + * Interface for all priority providers + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + */ +interface GoogleSitemapGeneratorPrioProviderBase { + + /** + * Initializes a new priority provider + * + * @param $totalComments int The total number of comments of all posts + * @param $totalPosts int The total number of posts + * @since 3.0 + */ + function __construct($totalComments, $totalPosts); + + /** + * Returns the (translated) name of this priority provider + * + * @since 3.0 + * @return string The translated name + */ + static function GetName(); + + /** + * Returns the (translated) description of this priority provider + * + * @since 3.0 + * @return string The translated description + */ + static function GetDescription(); + + /** + * Returns the priority for a specified post + * + * @param $postID int The ID of the post + * @param $commentCount int The number of comments for this post + * @since 3.0 + * @return int The calculated priority + */ + function GetPostPriority($postID, $commentCount); +} + +/** + * Priority Provider which calculates the priority based on the number of comments + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + */ +class GoogleSitemapGeneratorPrioByCountProvider implements GoogleSitemapGeneratorPrioProviderBase { + + /** + * @var int $_totalComments The total number of comments of all posts + */ + protected $_totalComments = 0; + + /** + * @var int $_totalComments The total number of posts + */ + protected $_totalPosts = 0; + + /** + * Initializes a new priority provider + * + * @param $totalComments int The total number of comments of all posts + * @param $totalPosts int The total number of posts + * @since 3.0 + */ + public function __construct($totalComments, $totalPosts) { + $this->_totalComments = $totalComments; + $this->_totalPosts = $totalPosts; + + } + + /** + * Returns the (translated) name of this priority provider + * + * @since 3.0 + * @return string The translated name + */ + public static function GetName() { + return __("Comment Count", 'sitemap'); + } + + /** + * Returns the (translated) description of this priority provider + * + * @since 3.0 + * @return string The translated description + */ + public static function GetDescription() { + return __("Uses the number of comments of the post to calculate the priority", 'sitemap'); + } + + /** + * Returns the priority for a specified post + * + * @param $postID int The ID of the post + * @param $commentCount int The number of comments for this post + * @since 3.0 + * @return int The calculated priority + */ + public function GetPostPriority($postID, $commentCount) { + $prio = 0; + if($this->_totalComments > 0 && $commentCount > 0) { + $prio = round(($commentCount * 100 / $this->_totalComments) / 100, 1); + } else { + $prio = 0; + } + return $prio; + } +} + +/** + * Priority Provider which calculates the priority based on the average number of comments + * @author Arne Brachhold + * @package sitemap + * @since 3.0 + */ +class GoogleSitemapGeneratorPrioByAverageProvider implements GoogleSitemapGeneratorPrioProviderBase { + + + /** + * @var int $_totalComments The total number of comments of all posts + */ + protected $_totalComments = 0; + + /** + * @var int $_totalComments The total number of posts + */ + protected $_totalPosts = 0; + + /** + * @var int $_average The average number of comments per post + */ + protected $_average = 0.0; + + /** + * Returns the (translated) name of this priority provider + * + * @since 3.0 + * @return string The translated name + */ + public static function GetName() { + return __("Comment Average", 'sitemap'); + } + + /** + * Returns the (translated) description of this priority provider + * + * @since 3.0 + * @return string The translated description + */ + public static function GetDescription() { + return __("Uses the average comment count to calculate the priority", 'sitemap'); + } + + /** + * Initializes a new priority provider which calculates the post priority based on the average number of comments + * + * @param $totalComments int The total number of comments of all posts + * @param $totalPosts int The total number of posts + * @since 3.0 + */ + public function __construct($totalComments, $totalPosts) { + + if($this->_totalComments > 0 && $this->_totalPosts > 0) { + $this->_average = (double) $this->_totalComments / $this->_totalPosts; + } + } + + /** + * Returns the priority for a specified post + * + * @param $postID int The ID of the post + * @param $commentCount int The number of comments for this post + * @since 3.0 + * @return int The calculated priority + */ + public function GetPostPriority($postID, $commentCount) { + $prio = 0; + //Do not divide by zero! + if($this->_average == 0) { + if($commentCount > 0) { + $prio = 1; + } + else $prio = 0; + } else { + $prio = $commentCount / $this->_average; + if($prio > 1) { + $prio = 1; + } + else if($prio < 0) $prio = 0; + } + + return round($prio, 1); + } +} + +/** + * Class to generate a sitemaps.org Sitemaps compliant sitemap of a WordPress blog. + * + * @package sitemap + * @author Arne Brachhold + * @since 3.0 + */ +final class GoogleSitemapGenerator { + /** + * @var array The unserialized array with the stored options + */ + private $options = array(); + + /** + * @var array The saved additional pages + */ + private $pages = array(); + + /** + * @var array The values and names of the change frequencies + */ + private $freqNames = array(); + + /** + * @var array A list of class names which my be called for priority calculation + */ + private $prioProviders = array(); + + /** + * @var bool True if init complete (options loaded etc) + */ + private $isInitiated = false; + + /** + * @var bool Defines if the sitemap building process is active at the moment + */ + private $isActive = false; + + /** + * @var array Holds options like output format and compression for the current request + */ + private $buildOptions = array(); + + /** + * Holds the user interface object + * + * @since 3.1.1 + * @var GoogleSitemapGeneratorUI + */ + private $ui = null; + + /** + * Defines if the simulation mode is on. In this case, data is not echoed but saved instead. + * @var boolean + */ + private $simMode = false; + + /** + * Holds the data if simulation mode is on + * @var array + */ + private $simData = array("sitemaps" => array(), "content" => array()); + + /** + * @var bool Defines if the options have been loaded + */ + private $optionsLoaded = false; + + + /*************************************** CONSTRUCTION AND INITIALIZING ***************************************/ + + /** + * Initializes a new Google Sitemap Generator + * + * @since 4.0 + */ + private function __construct() { + + } + + /** + * Returns the instance of the Sitemap Generator + * + * @since 3.0 + * @return GoogleSitemapGenerator The instance or null if not available. + */ + public static function GetInstance() { + if(isset($GLOBALS["sm_instance"])) { + return $GLOBALS["sm_instance"]; + } else return null; + } + + /** + * Enables the Google Sitemap Generator and registers the WordPress hooks + * + * @since 3.0 + */ + public static function Enable() { + if(!isset($GLOBALS["sm_instance"])) { + $GLOBALS["sm_instance"] = new GoogleSitemapGenerator(); + } + } + + /** + * Loads up the configuration and validates the prioity providers + * + * This method is only called if the sitemaps needs to be build or the admin page is displayed. + * + * @since 3.0 + */ + public function Initate() { + if(!$this->isInitiated) { + + load_plugin_textdomain('sitemap',false,dirname( plugin_basename( __FILE__ ) ) . '/lang'); + + $this->freqNames = array( + "always" => __("Always", "sitemap"), + "hourly" => __("Hourly", "sitemap"), + "daily" => __("Daily", "sitemap"), + "weekly" => __("Weekly", "sitemap"), + "monthly" => __("Monthly", "sitemap"), + "yearly" => __("Yearly", "sitemap"), + "never" => __("Never", "sitemap") + ); + + + $this->LoadOptions(); + $this->LoadPages(); + + //Register our own priority providers + add_filter("sm_add_prio_provider", array($this, 'AddDefaultPrioProviders')); + + //Let other plugins register their providers + $r = apply_filters("sm_add_prio_provider", $this->prioProviders); + + //Check if no plugin return null + if($r != null) $this->prioProviders = $r; + + $this->ValidatePrioProviders(); + + $this->isInitiated = true; + } + } + + + /*************************************** VERSION AND LINK HELPERS ***************************************/ + + /** + * Returns the version of the generator + * + * @since 3.0 + * @return int The version + */ + public static function GetVersion() { + return GoogleSitemapGeneratorLoader::GetVersion(); + } + + /** + * Returns the SVN version of the generator + * + * @since 4.0 + * @return string The SVN version string + */ + public static function GetSvnVersion() { + return GoogleSitemapGeneratorLoader::GetSvnVersion(); + } + + /** + * Returns a link pointing to a specific page of the authors website + * + * @since 3.0 + * @param $redir The to link to + * @return string The full url + */ + public static function GetRedirectLink($redir) { + return trailingslashit("http://www.arnebrachhold.de/redir/" . $redir); + } + + /** + * Returns a link pointing back to the plugin page in WordPress + * + * @since 3.0 + * @return string The full url + */ + public static function GetBackLink() { + global $wp_version; + $url = admin_url("options-general.php?page=" . GoogleSitemapGeneratorLoader::GetBaseName()); + + //Some browser cache the page... great! So lets add some no caching params depending on the WP and plugin version + $url .= '&sm_wpv=' . $wp_version . '&sm_pv=' . GoogleSitemapGeneratorLoader::GetVersion(); + + return $url; + } + + /** + * Converts a mysql datetime value into a unix timestamp + * @param $mysqlDateTime The in the mysql datetime format + * @return int The time in seconds + */ + public static function GetTimestampFromMySql($mysqlDateTime) { + list($date, $hours) = explode(' ', $mysqlDateTime); + list($year, $month, $day) = explode('-', $date); + list($hour, $min, $sec) = explode(':', $hours); + return mktime(intval($hour), intval($min), intval($sec), intval($month), intval($day), intval($year)); + } + + + /*************************************** SIMPLE GETTERS ***************************************/ + + /** + * Returns the names for the frequency values + * @return array + */ + public function GetFreqNames() { + return $this->freqNames; + } + + /** + * Returns if the blog is running in multi site mode + * @since 4.0 + * @return bool + */ + public function IsMultiSite() { + return (function_exists("is_multisite") && is_multisite()); + } + + /** + * Returns if the sitemap building process is currently active + * + * @since 3.0 + * @return bool true if active + */ + public function IsActive() { + $inst = GoogleSitemapGenerator::GetInstance(); + return ($inst != null && $inst->isActive); + } + + /** + * Returns if the compressed sitemap was activated + * + * @since 3.0b8 + * @return true if compressed + */ + public function IsGzipEnabled() { + return (function_exists("gzwrite")); + } + + /** + * Returns if the XML Dom and XSLT functions are enabled + * + * @since 4.0b1 + * @return true if compressed + */ + public function IsXslEnabled() { + return (class_exists("DomDocument") && class_exists("XSLTProcessor")); + } + + /** + * Returns if Nginx is used as the server software + * @since 4.0.3 + * + * @return bool + */ + function IsNginx() { + if ( isset( $_SERVER['SERVER_SOFTWARE'] ) && stristr( $_SERVER['SERVER_SOFTWARE'], 'nginx' ) !== false ) { + return true; + } + return false; + } + + + + /*************************************** TAXONOMIES AND CUSTOM POST TYPES ***************************************/ + + /** + * Returns if this version of WordPress supports the new taxonomy system + * + * @since 3.0b8 + * @return true if supported + */ + public function IsTaxonomySupported() { + return (function_exists("get_taxonomy") && function_exists("get_terms") && function_exists("get_taxonomies")); + } + + /** + * Returns the list of custom taxonomies. These are basically all taxonomies without categories and post tags + * + * @since 3.1.7 + * @return array Array of names of user-defined taxonomies + */ + public function GetCustomTaxonomies() { + $taxonomies = get_taxonomies(array("public" => 1)); + return array_diff($taxonomies, array("category", "post_tag", "nav_menu", "link_category", "post_format")); + } + + /** + * Returns if this version of WordPress supports custom post types + * + * @since 3.2.5 + * @return true if supported + */ + public function IsCustomPostTypesSupported() { + return (function_exists("get_post_types") && function_exists("register_post_type")); + } + + /** + * Returns the list of custom post types. These are all custom post types except post, page and attachment + * + * @since 3.2.5 + * @return array Array of custom post types as per get_post_types + */ + public function GetCustomPostTypes() { + $post_types = get_post_types(array("public" => 1)); + $post_types = array_diff($post_types, array("post", "page", "attachment")); + return $post_types; + } + + + /** + * Returns the list of active post types, built-in and custom ones. + * + * @since 4.0b5 + * @return array Array of custom post types as per get_post_types + */ + public function GetActivePostTypes() { + $allPostTypes = get_post_types(); + $enabledPostTypes = $this->GetOption('in_customtypes'); + if($this->GetOption("in_posts")) $enabledPostTypes[] = "post"; + if($this->GetOption("in_pages")) $enabledPostTypes[] = "page"; + + $activePostTypes = array(); + foreach($enabledPostTypes AS $postType) { + if(!empty($postType) && in_array($postType, $allPostTypes)) { + $activePostTypes[] = $postType; + } + } + return $activePostTypes; + } + + /** + * Returns an array with all excluded post IDs + * + * @since 4.0b11 + * @return int[] Array with excluded post IDs + */ + public function GetExcludedPostIDs() { + + $excludes = (array)$this->GetOption('b_exclude'); + + //Exclude front page page if defined + if (get_option('show_on_front') == 'page' && get_option('page_on_front')) { + $excludes[] = get_option('page_on_front'); + return $excludes; + } + + return array_filter(array_map('intval',$excludes),array($this,'IsGreaterZero')); + } + + /** + * Returns an array with all excluded category IDs. + * + * @since 4.0b11 + * @return int[] Array with excluded category IDs + */ + public function GetExcludedCategoryIDs() { + $exclCats = (array)$this->GetOption("b_exclude_cats"); + return array_filter(array_map('intval',$exclCats),array($this,'IsGreaterZero')); + } + + /*************************************** PRIORITY PROVIDERS ***************************************/ + + /** + * Returns the list of PriorityProviders + * @return array + */ + public function GetPrioProviders() { + return $this->prioProviders; + } + + /** + * Adds the default Priority Providers to the provider list + * + * @since 3.0 + * @param $providers + * @return array + */ + public function AddDefaultPrioProviders($providers) { + array_push($providers, "GoogleSitemapGeneratorPrioByCountProvider"); + array_push($providers, "GoogleSitemapGeneratorPrioByAverageProvider"); + if(class_exists("ak_popularity_contest")) { + array_push($providers, "GoogleSitemapGeneratorPrioByPopularityContestProvider"); + } + return $providers; + } + + /** + * Validates all given Priority Providers by checking them for required methods and existence + * + * @since 3.0 + */ + private function ValidatePrioProviders() { + $validProviders = array(); + + for($i = 0; $i < count($this->prioProviders); $i++) { + if(class_exists($this->prioProviders[$i])) { + if(is_subclass_of($this->prioProviders[$i], "GoogleSitemapGeneratorPrioProviderBase")) { + array_push($validProviders, $this->prioProviders[$i]); + } + } + } + $this->prioProviders = $validProviders; + + if(!$this->GetOption("b_prio_provider")) { + if(!in_array($this->GetOption("b_prio_provider"), $this->prioProviders, true)) { + $this->SetOption("b_prio_provider", ""); + } + } + } + + + /*************************************** COMMENT HANDLING FOR PRIO. PROVIDERS ***************************************/ + + /** + * Retrieves the number of comments of a post in a asso. array + * The key is the postID, the value the number of comments + * + * @since 3.0 + * @return array An array with postIDs and their comment count + */ + public function GetComments() { + global $wpdb; + $comments = array(); + + //Query comments and add them into the array + $commentRes = $wpdb->get_results("SELECT `comment_post_ID` as `post_id`, COUNT(comment_ID) as `comment_count` FROM `" . $wpdb->comments . "` WHERE `comment_approved`='1' GROUP BY `comment_post_ID`"); + if($commentRes) { + foreach($commentRes as $comment) { + $comments[$comment->post_id] = $comment->comment_count; + } + } + return $comments; + } + + /** + * Calculates the full number of comments from an sm_getComments() generated array + * + * @since 3.0 + * @param $comments array The Array with posts and c0mment count + * @see sm_getComments + * @return The full number of comments + */ + public function GetCommentCount($comments) { + $commentCount = 0; + foreach($comments AS $k => $v) { + $commentCount += $v; + } + return $commentCount; + } + + + /*************************************** OPTION HANDLING ***************************************/ + + /** + * Sets up the default configuration + * + * @since 3.0 + */ + public function InitOptions() { + + $this->options = array(); + $this->options["sm_b_prio_provider"] = "GoogleSitemapGeneratorPrioByCountProvider"; //Provider for automatic priority calculation + $this->options["sm_b_ping"] = true; //Auto ping Google + $this->options["sm_b_stats"] = false; //Send anonymous stats + $this->options["sm_b_pingmsn"] = true; //Auto ping MSN + $this->options["sm_b_memory"] = ''; //Set Memory Limit (e.g. 16M) + $this->options["sm_b_time"] = -1; //Set time limit in seconds, 0 for unlimited, -1 for disabled + $this->options["sm_b_style_default"] = true; //Use default style + $this->options["sm_b_style"] = ''; //Include a stylesheet in the XML + $this->options["sm_b_robots"] = true; //Add sitemap location to WordPress' virtual robots.txt file + $this->options["sm_b_html"] = true; //Include a link to a html version of the sitemap in the XML sitemap + $this->options["sm_b_exclude"] = array(); //List of post / page IDs to exclude + $this->options["sm_b_exclude_cats"] = array(); //List of post / page IDs to exclude + + $this->options["sm_in_home"] = true; //Include homepage + $this->options["sm_in_posts"] = true; //Include posts + $this->options["sm_in_posts_sub"] = false; //Include post pages ( tag) + $this->options["sm_in_pages"] = true; //Include static pages + $this->options["sm_in_cats"] = false; //Include categories + $this->options["sm_in_arch"] = false; //Include archives + $this->options["sm_in_auth"] = false; //Include author pages + $this->options["sm_in_tags"] = false; //Include tag pages + $this->options["sm_in_tax"] = array(); //Include additional taxonomies + $this->options["sm_in_customtypes"] = array(); //Include custom post types + $this->options["sm_in_lastmod"] = true; //Include the last modification date + + $this->options["sm_cf_home"] = "daily"; //Change frequency of the homepage + $this->options["sm_cf_posts"] = "monthly"; //Change frequency of posts + $this->options["sm_cf_pages"] = "weekly"; //Change frequency of static pages + $this->options["sm_cf_cats"] = "weekly"; //Change frequency of categories + $this->options["sm_cf_auth"] = "weekly"; //Change frequency of author pages + $this->options["sm_cf_arch_curr"] = "daily"; //Change frequency of the current archive (this month) + $this->options["sm_cf_arch_old"] = "yearly"; //Change frequency of older archives + $this->options["sm_cf_tags"] = "weekly"; //Change frequency of tags + + $this->options["sm_pr_home"] = 1.0; //Priority of the homepage + $this->options["sm_pr_posts"] = 0.6; //Priority of posts (if auto prio is disabled) + $this->options["sm_pr_posts_min"] = 0.2; //Minimum Priority of posts, even if autocalc is enabled + $this->options["sm_pr_pages"] = 0.6; //Priority of static pages + $this->options["sm_pr_cats"] = 0.3; //Priority of categories + $this->options["sm_pr_arch"] = 0.3; //Priority of archives + $this->options["sm_pr_auth"] = 0.3; //Priority of author pages + $this->options["sm_pr_tags"] = 0.3; //Priority of tags + + $this->options["sm_i_donated"] = false; //Did you donate? Thank you! :) + $this->options["sm_i_hide_donated"] = false; //And hide the thank you.. + $this->options["sm_i_install_date"] = time(); //The installation date + $this->options["sm_i_hide_note"] = false; //Hide the note which appears after 30 days + $this->options["sm_i_hide_works"] = false; //Hide the "works?" message which appears after 15 days + $this->options["sm_i_hide_donors"] = false; //Hide the list of donations + $this->options["sm_i_hash"] = substr(sha1(sha1(get_bloginfo('url'))),0,20); //Partial hash for GA stats, NOT identifiable! + $this->options["sm_i_lastping"] = 0; //When was the last ping + } + + /** + * Loads the configuration from the database + * + * @since 3.0 + */ + private function LoadOptions() { + + if($this->optionsLoaded) return; + + $this->InitOptions(); + + //First init default values, then overwrite it with stored values so we can add default + //values with an update which get stored by the next edit. + $storedOptions = get_option("sm_options"); + if($storedOptions && is_array($storedOptions)) { + foreach($storedOptions AS $k => $v) { + $this->options[$k] = $v; + } + } else update_option("sm_options", $this->options); //First time use, store default values + + $this->optionsLoaded = true; + } + + /** + * Returns the option value for the given key + * + * @since 3.0 + * @param $key string The Configuration Key + * @return mixed The value + */ + public function GetOption($key) { + $key = "sm_" . $key; + if(array_key_exists($key, $this->options)) { + return $this->options[$key]; + } else return null; + } + + public function GetOptions() { + return $this->options; + } + + /** + * Sets an option to a new value + * + * @since 3.0 + * @param $key string The configuration key + * @param $value mixed The new object + */ + public function SetOption($key, $value) { + if(strpos($key, "sm_") !== 0) $key = "sm_" . $key; + + $this->options[$key] = $value; + } + + /** + * Saves the options back to the database + * + * @since 3.0 + * @return bool true on success + */ + public function SaveOptions() { + $oldvalue = get_option("sm_options"); + if($oldvalue == $this->options) { + return true; + } else return update_option("sm_options", $this->options); + } + + /** + * Returns the additional pages + * @since 4.0 + * @return GoogleSitemapGeneratorPage[] + */ + function GetPages() { + return $this->pages; + } + + /** + * Returns the additional pages + * @since 4.0 + * @param array $pages + */ + function SetPages(array $pages) { + $this->pages = $pages; + } + + /** + * Loads the stored pages from the database + * + * @since 3.0 + */ + private function LoadPages() { + global $wpdb; + + $needsUpdate = false; + + $pagesString = $wpdb->get_var("SELECT option_value FROM $wpdb->options WHERE option_name = 'sm_cpages'"); + + //Class sm_page was renamed with 3.0 -> rename it in serialized value for compatibility + if(!empty($pagesString) && strpos($pagesString, "sm_page") !== false) { + $pagesString = str_replace("O:7:\"sm_page\"", "O:26:\"GoogleSitemapGeneratorPage\"", $pagesString); + $needsUpdate = true; + } + + if(!empty($pagesString)) { + $storedpages = unserialize($pagesString); + $this->pages = $storedpages; + } else { + $this->pages = array(); + } + + if($needsUpdate) $this->SavePages(); + } + + /** + * Saved the additional pages back to the database + * + * @since 3.0 + * @return true on success + */ + public function SavePages() { + $oldvalue = get_option("sm_cpages"); + if($oldvalue == $this->pages) { + return true; + } else { + delete_option("sm_cpages"); + //Add the option, Note the autoload=false because when the autoload happens, our class GoogleSitemapGeneratorPage doesn't exist + add_option("sm_cpages", $this->pages, null, "no"); + return true; + } + } + + + /*************************************** URL AND PATH FUNCTIONS ***************************************/ + + /** + * Returns the URL to the directory where the plugin file is located + * @since 3.0b5 + * @return string The URL to the plugin directory + */ + public function GetPluginUrl() { + + $url = trailingslashit(plugins_url("", __FILE__)); + + return $url; + } + + /** + * Returns the path to the directory where the plugin file is located + * @since 3.0b5 + * @return string The path to the plugin directory + */ + public function GetPluginPath() { + $path = dirname(__FILE__); + return trailingslashit(str_replace("\\", "/", $path)); + } + + /** + * Returns the URL to default XSLT style if it exists + * @since 3.0b5 + * @return string The URL to the default stylesheet, empty string if not available. + */ + public function GetDefaultStyle() { + $p = $this->GetPluginPath(); + if(file_exists($p . "sitemap.xsl")) { + $url = $this->GetPluginUrl(); + //If called over the admin area using HTTPS, the stylesheet would also be https url, even if the blog frontend is not. + if(substr(get_bloginfo('url'), 0, 5) != "https" && substr($url, 0, 5) == "https") $url = "http" . substr($url, 5); + return $url . 'sitemap.xsl'; + } + return ''; + } + + /** + * Returns of Permalinks are used + * + * @return bool + */ + public function IsUsingPermalinks() { + /** @var $wp_rewrite WP_Rewrite */ + global $wp_rewrite; + + return $wp_rewrite->using_mod_rewrite_permalinks(); + } + + /** + * Returns the URL for the sitemap file + * + * @since 3.0 + * @param string $type + * @param string $params + * @param array $buildOptions + * @return The URL to the Sitemap file + */ + public function GetXmlUrl($type = "", $params = "", $buildOptions = array()) { + global $wp_rewrite; + + $pl = $this->IsUsingPermalinks(); + $options = ""; + if(!empty($type)) { + $options .= $type; + if(!empty($params)) { + $options .= "-" . $params; + } + } + + $buildOptions = array_merge($this->buildOptions, $buildOptions); + + $html = (isset($buildOptions["html"]) ? $buildOptions["html"] : false); + $zip = (isset($buildOptions["zip"]) ? $buildOptions["zip"] : false); + + if($pl) { + return trailingslashit(get_bloginfo('url')) . "sitemap" . ($options ? "-" . $options : "") . ($html + ? ".html" : ".xml") . ($zip? ".gz" : ""); + } else { + return trailingslashit(get_bloginfo('url')) . "index.php?xml_sitemap=params=" . $options . ($html + ? ";html=true" : "") . ($zip? ";zip=true" : ""); + } + } + + /** + * Returns if there is still an old sitemap file in the blog directory + * + * @return Boolean True if a sitemap file still exists + */ + public function OldFileExists() { + $path = trailingslashit(get_home_path()); + return (file_exists($path . "sitemap.xml") || file_exists($path . "sitemap.xml.gz")); + } + + /** + * Renames old sitemap files in the blog directory from previous versions of this plugin + * @return bool True on success + */ + public function DeleteOldFiles() { + $path = trailingslashit(get_home_path()); + + $res = true; + + if(file_exists($f = $path . "sitemap.xml")) if(!rename($f, $path . "sitemap.backup.xml")) $res = false; + if(file_exists($f = $path . "sitemap.xml.gz")) if(!rename($f, $path . "sitemap.backup.xml.gz")) $res = false; + + return $res; + } + + + /*************************************** SITEMAP SIMULATION ***************************************/ + + /** + * Simulates the building of the sitemap index file. + * + * @see GoogleSitemapGenerator::SimulateSitemap + * @since 4.0 + * @return array The data of the sitemap index file + */ + public function SimulateIndex() { + + $this->simMode = true; + + require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php"); + do_action("sm_build_index", $this); + + $this->simMode = false; + + $r = $this->simData["sitemaps"]; + + $this->ClearSimData("sitemaps"); + + return $r; + } + + /** + * Simulates the building of the sitemap file. + * + * @see GoogleSitemapGenerator::SimulateIndex + * @since 4.0 + * @param $type string The type of the sitemap + * @param $params string Additional parameters for this type + * @return array The data of the sitemap file + */ + public function SimulateSitemap($type, $params) { + $this->simMode = true; + + require_once(trailingslashit(dirname(__FILE__)) . "sitemap-builder.php"); + do_action("sm_build_content", $this, $type, $params); + + $this->simMode = false; + + $r = $this->simData["content"]; + + $this->ClearSimData("content"); + + return $r; + } + + /** + * Clears the data of the simulation + * + * @param string $what Defines what to clear, either both, sitemaps or content + * @see GoogleSitemapGenerator::SimulateIndex + * @see GoogleSitemapGenerator::SimulateSitemap + * @since 4.0 + */ + public function ClearSimData($what) { + if($what == "both" || $what == "sitemaps") { + $this->simData["sitemaps"] = array(); + } + + if($what == "both" || $what == "content") { + $this->simData["content"] = array(); + } + } + + /** + * Returns the first caller outside of this __CLASS__ + * @param array $trace The backtrace + * @return array The caller information + */ + private function GetExternalBacktrace($trace) { + $caller = null; + foreach($trace AS $b) { + if($b["class"] != __CLASS__) { + $caller = $b; + break; + } + } + return $caller; + } + + + /*************************************** SITEMAP BUILDING ***************************************/ + + /** + * Shows the sitemap. Main etry point from HTTP + * @param string $options Options for the sitemap. What type, what parameters. + * @since 4.0 + */ + public function ShowSitemap($options) { + + $startTime = microtime(true); + $startQueries = $GLOBALS["wpdb"]->num_queries; + $startMemory = memory_get_peak_usage(true); + + //Raise memory and time limits + if($this->GetOption("b_memory") != '') { + @ini_set("memory_limit", $this->GetOption("b_memory")); + } + + if($this->GetOption("b_time") != -1) { + @set_time_limit($this->GetOption("b_time")); + } + + do_action("sm_init", $this); + + $this->isActive = true; + + $parsedOptions = array(); + + $options = explode(";", $options); + foreach($options AS $k) { + $kv = explode("=", $k); + $parsedOptions[$kv[0]] = @$kv[1]; + } + + $options = $parsedOptions; + + $this->buildOptions = $options; + + //Do not index the actual XML pages, only process them. + //This avoids that the XML sitemaps show up in the search results. + if(!headers_sent()) header('X-Robots-Tag: noindex', true); + + $this->Initate(); + + $html = (isset($options["html"]) ? $options["html"] : false) && $this->IsXslEnabled(); + if($html && !$this->GetOption('b_html')) { + $GLOBALS['wp_query']->is_404 = true; + return; + } + + //Don't zip if anything happened before which could break the output or if the client does not support gzip + $pack = (isset($options['zip']) ? $options['zip'] : true); + if( + empty($_SERVER['HTTP_ACCEPT_ENCODING']) + || strpos($_SERVER['HTTP_ACCEPT_ENCODING'],'gzip') === false + || !$this->IsGzipEnabled() + || headers_sent() + || ob_get_contents() + || in_array('ob_gzhandler', ob_list_handlers()) + || in_array(strtolower(ini_get("zlib.output_compression")),array('yes', 'on', 'true', 1, true)) + ) $pack = false; + + $packed = false; + + if($pack) $packed = @ob_start('ob_gzhandler'); + + $builders = array('sitemap-builder.php'); + foreach($builders AS $b) { + $f = trailingslashit(dirname(__FILE__)) . $b; + if(file_exists($f)) require_once($f); + } + + if($html) { + ob_start(); + } else { + header('Content-Type: application/xml; charset=utf-8'); + } + + + if(empty($options["params"]) || $options["params"] == "index") { + + $this->BuildSitemapHeader("index"); + + do_action('sm_build_index', $this); + + $this->BuildSitemapFooter("index"); + $this->AddEndCommend($startTime, $startQueries, $startMemory); + + + } else { + $allParams = $options["params"]; + $type = $params = null; + if(strpos($allParams, "-") !== false) { + $type = substr($allParams, 0, strpos($allParams, "-")); + $params = substr($allParams, strpos($allParams, "-") + 1); + } else { + $type = $allParams; + } + + $this->BuildSitemapHeader("sitemap"); + + do_action("sm_build_content", $this, $type, $params); + + $this->BuildSitemapFooter("sitemap"); + + $this->AddEndCommend($startTime, $startQueries, $startMemory); + } + + if($html) { + $xmlSource = ob_get_clean(); + + // Load the XML source + $xml = new DOMDocument; + $xml->loadXML($xmlSource); + + $xsl = new DOMDocument; + $xsl->load($this->GetPluginPath() . "sitemap.xsl"); + + // Configure the transformer + $proc = new XSLTProcessor; + $proc->importStyleSheet($xsl); // attach the xsl rules + + $domTranObj = $proc->transformToDoc($xml); + + // this will also output doctype and comments at top level + foreach($domTranObj->childNodes as $node) echo $domTranObj->saveXML($node) . "\n"; + } + + if($packed) ob_end_flush(); + $this->isActive = false; + exit; + } + + /** + * Generates the header for the sitemap with XML declarations, stylesheet and so on. + * + * @since 4.0 + * @param string $format The format, either sitemap for a sitemap or index for the sitemap index + */ + private function BuildSitemapHeader($format) { + + if(!in_array($format, array("sitemap", "index"))) $format = "sitemap"; + + $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); + + $styleSheet = ($this->GetDefaultStyle() && $this->GetOption('b_style_default') === true + ? $this->GetDefaultStyle() : $this->GetOption('b_style')); + + if(!empty($styleSheet)) { + $this->AddElement(new GoogleSitemapGeneratorXmlEntry('<' . '?xml-stylesheet type="text/xsl" href="' . $styleSheet . '"?' . '>')); + } + + $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generator=\"wordpress/" . get_bloginfo('version') . "\"")); + $this->AddElement(new GoogleSitemapGeneratorDebugEntry("sitemap-generator-url=\"http://www.arnebrachhold.de\" sitemap-generator-version=\"" . $this->GetVersion() . "\"")); + $this->AddElement(new GoogleSitemapGeneratorDebugEntry("generated-on=\"" . date(get_option("date_format") . " " . get_option("time_format")) . "\"")); + + switch($format) { + case "sitemap": + $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); + break; + case "index": + $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); + break; + } + } + + /** + * Generates the footer for the sitemap with XML ending tag + * + * @since 4.0 + * @param string $format The format, either sitemap for a sitemap or index for the sitemap index + */ + private function BuildSitemapFooter($format) { + if(!in_array($format, array("sitemap", "index"))) $format = "sitemap"; + switch($format) { + case "sitemap": + $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); + break; + case "index": + $this->AddElement(new GoogleSitemapGeneratorXmlEntry('')); + break; + } + } + + /** + * Adds information about time and memory usage to the sitemap + * + * @since 4.0 + * @param float $startTime The microtime of the start + * @param int $startQueries + * @param int $startMemory + * + */ + private function AddEndCommend($startTime, $startQueries = 0, $startMemory = 0) { + if(defined("WP_DEBUG") && WP_DEBUG) { + echo " "; + } + $endTime = microtime(true); + $endTime = round($endTime - $startTime, 2); + $this->AddElement(new GoogleSitemapGeneratorDebugEntry("Request ID: " . md5(microtime()) . "; Queries for sitemap: " . ($GLOBALS["wpdb"]->num_queries - $startQueries) . "; Total queries: " . $GLOBALS["wpdb"]->num_queries . "; Seconds: $endTime; Memory for sitemap: " . ((memory_get_peak_usage(true) - $startMemory) / 1024 / 1024) . "MB" . "; Total memory: " . (memory_get_peak_usage(true) / 1024 / 1024) . "MB")); + } + + /** + * Adds the sitemap to the virtual robots.txt file + * This function is executed by WordPress with the do_robots hook + * + * @since 3.1.2 + */ + public function DoRobots() { + $this->Initate(); + if($this->GetOption('b_robots') === true) { + + $smUrl = $this->GetXmlUrl(); + + echo "\nSitemap: " . $smUrl . "\n"; + } + } + + + /*************************************** SITEMAP CONTENT BUILDING ***************************************/ + + /** + * Outputs an element in the sitemap + * + * @since 3.0 + * @param $page GoogleSitemapGeneratorXmlEntry The element + */ + public function AddElement($page) { + + if(empty($page)) return; + echo $page->Render(); + } + + /** + * Adds a url to the sitemap. You can use this method or call AddElement directly. + * + * @since 3.0 + * @param $loc string The location (url) of the page + * @param $lastMod int The last Modification time as a UNIX timestamp + * @param $changeFreq string The change frequenty of the page, Valid values are "always", "hourly", "daily", "weekly", "monthly", "yearly" and "never". + * @param $priority float The priority of the page, between 0.0 and 1.0 + * @param $postID int The post ID in case this is a post or page + * @see AddElement + * @return string The URL node + */ + public function AddUrl($loc, $lastMod = 0, $changeFreq = "monthly", $priority = 0.5, $postID = 0) { + //Strip out the last modification time if activated + if($this->GetOption('in_lastmod') === false) $lastMod = 0; + $page = new GoogleSitemapGeneratorPage($loc, $priority, $changeFreq, $lastMod, $postID); + + do_action('sm_addurl', $page); + + if($this->simMode) { + $caller = $this->GetExternalBacktrace(debug_backtrace()); + + $this->simData["content"][] = array( + "data" => $page, + "caller" => $caller + ); + } else { + $this->AddElement($page); + } + } + + /** + * Add a sitemap entry to the index file + * @param $type + * @param string $params + * @param int $lastMod + */ + public function AddSitemap($type, $params = "", $lastMod = 0) { + + $url = $this->GetXmlUrl($type, $params); + + $sitemap = new GoogleSitemapGeneratorSitemapEntry($url, $lastMod); + + do_action('sm_addsitemap', $sitemap); + + if($this->simMode) { + $caller = $this->GetExternalBacktrace(debug_backtrace()); + $this->simData["sitemaps"][] = array("data" => $sitemap, "type" => $type, "params" => $params, "caller" => $caller); + } else { + $this->AddElement($sitemap); + } + } + + + /*************************************** PINGS ***************************************/ + + /** + * Sends the pings to the search engines + */ + public function SendPing() { + + $this->LoadOptions(); + + $status = new GoogleSitemapGeneratorStatus(); + + $pingUrl = $this->GetXmlUrl(); + + if($pingUrl) { + $pings = array(); + + if($this->GetOption("b_ping")) { + $pings["google"] = array( + "name" => "Google", + "url" => "http://www.google.com/webmasters/sitemaps/ping?sitemap=%s", + "check" => "successfully" + ); + } + + if($this->GetOption("b_pingmsn")) { + $pings["bing"] = array( + "name" => "Bing", + "url" => "http://www.bing.com/webmaster/ping.aspx?siteMap=%s", + "check" => " " // No way to check, response is IP-language-based :-( + ); + } + + foreach($pings AS $serviceId => $service) { + $url = str_replace("%s", urlencode($pingUrl), $service["url"]); + $status->StartPing($serviceId, $url, $service["name"]); + + $pingres = $this->RemoteOpen($url); + + if($pingres === NULL || $pingres === false || strpos($pingres, $service["check"]) === false) { + $status->EndPing($serviceId, false); + trigger_error("Failed to ping $serviceId: " . htmlspecialchars(strip_tags($pingres)), E_USER_NOTICE); + } else { + $status->EndPing($serviceId, true); + } + } + + $this->SetOption('i_lastping',time()); + $this->SaveOptions(); + } + + $status->End(); + } + + /** + * Tries to ping a specific service showing as much as debug output as possible + * @since 3.1.9 + * @return null + */ + public function ShowPingResult() { + + check_admin_referer('sitemap'); + + if(!current_user_can("administrator")) { + echo '

    Please log in as admin

    '; + return; + } + + $service = !empty($_GET["sm_ping_service"]) ? $_GET["sm_ping_service"] : null; + + $status = GoogleSitemapGeneratorStatus::Load(); + + if(!$status) die("No build status yet. Write something first."); + + $url = null; + + $services = $status->GetUsedPingServices(); + + if(!in_array($service, $services)) die("Invalid service"); + + $url = $status->GetPingUrl($service); + + if(empty($url)) die("Invalid ping url"); + + echo 'Ping Test'; + if(function_exists('wp_admin_css')) wp_admin_css('css/global', true); + echo '

    Ping Test

    '; + + echo '

    Trying to ping: ' . $url . '. The sections below should give you an idea whats going on.

    '; + + //Try to get as much as debug / error output as possible + $errLevel = error_reporting(E_ALL); + $errDisplay = ini_set("display_errors", 1); + if(!defined('WP_DEBUG')) define('WP_DEBUG', true); + + echo '

    Errors, Warnings, Notices:

    '; + + if(WP_DEBUG == false) echo "WP_DEBUG was set to false somewhere before. You might not see all debug information until you remove this declaration!
    "; + if(ini_get("display_errors") != 1) echo "Your display_errors setting currently prevents the plugin from showing errors here. Please check your webserver logfile instead.
    "; + + $res = $this->RemoteOpen($url); + + echo '

    Result (text only):

    '; + + echo wp_kses($res, array('a' => array('href' => array()), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array())); + + echo '

    Result (HTML):

    '; + + echo htmlspecialchars($res); + + //Revert back old values + error_reporting($errLevel); + ini_set("display_errors", $errDisplay); + echo ''; + exit; + } + + /** + * Opens a remote file using the WordPress API + * @since 3.0 + * @param $url The URL to open + * @param $method string get or post + * @param $postData An array with key=>value paris + * @param $timeout int Timeout for the request, by default 10 + * @return mixed False on error, the body of the response on success + */ + public static function RemoteOpen($url, $method = 'get', $postData = null, $timeout = 10) { + global $wp_version; + + $options = array(); + $options['timeout'] = $timeout; + + if($method == 'get') { + $response = wp_remote_get($url, $options); + } else { + $response = wp_remote_post($url, array_merge($options, array('body' => $postData))); + } + + if(is_wp_error($response)) { + $errs = $response->get_error_messages(); + $errs = htmlspecialchars(implode('; ', $errs)); + trigger_error('WP HTTP API Web Request failed: ' . $errs, E_USER_NOTICE); + return false; + } + + return $response['body']; + } + + /** + * Sends anonymous statistics + */ + private function SendStats() { + global $wp_version; + $postData = array( + "v" => 1, + "tid" => "UA-65990-26", + "cid" => $this->GetOption('i_hash'), + "aip" => 1, //Anonymize + "t" => "event", + "ec" => "ping", + "ea" => "auto", + "ev" => 1, + "cd1" => $wp_version, + "cd2" => $this->GetVersion(), + "cd3" => PHP_VERSION, + "ul" => get_bloginfo('language'), + ); + + $this->RemoteOpen('http://www.google-analytics.com/collect', 'post', $postData); + } + + /** + * Handles daily ping + */ + public function SendPingDaily() { + + $this->LoadOptions(); + + $blogUpdate = strtotime(get_lastpostdate('blog')); + $lastPing = $this->GetOption('i_lastping'); + $yesterday = time() - (60 * 60 * 24); + + if($blogUpdate >= $yesterday && ($lastPing==0 || $lastPing <= $yesterday)) { + $this->SendPing(); + } + + if($this->GetOption('b_stats')) { + $this->SendStats(); + } + } + + + /*************************************** USER INTERFACE ***************************************/ + + /** + * Includes the user interface class and initializes it + * + * @since 3.1.1 + * @see GoogleSitemapGeneratorUI + * @return GoogleSitemapGeneratorUI + */ + private function GetUI() { + + global $wp_version; + + if($this->ui === null) { + + $className = 'GoogleSitemapGeneratorUI'; + $fileName = 'sitemap-ui.php'; + + if(!class_exists($className)) { + + $path = trailingslashit(dirname(__FILE__)); + + if(!file_exists($path . $fileName)) return false; + require_once($path . $fileName); + } + + $this->ui = new $className($this); + + } + + return $this->ui; + } + + /** + * Shows the option page of the plugin. Before 3.1.1, this function was basically the UI, afterwards the UI was outsourced to another class + * + * @see GoogleSitemapGeneratorUI + * @since 3.0 + * @return bool + */ + public function HtmlShowOptionsPage() { + + $ui = $this->GetUI(); + if($ui) { + $ui->HtmlShowOptionsPage(); + return true; + } + + return false; + } + + /*************************************** HELPERS ***************************************/ + + /** + * Returns if the given value is greater than zero + * + * @param $value int The value to check + * @since 4.0b10 + * @return bool True if greater than zero + */ + public function IsGreaterZero($value) { + return ($value > 0); + } +} diff --git a/wp-content/plugins/google-sitemap-generator/sitemap-loader.php b/wp-content/plugins/google-sitemap-generator/sitemap-loader.php new file mode 100644 index 0000000..e0ced52 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/sitemap-loader.php @@ -0,0 +1,474 @@ + 'index.php?xml_sitemap=params=$matches[2]', + 'sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$' => 'index.php?xml_sitemap=params=$matches[2];zip=true', + 'sitemap(-+([a-zA-Z0-9_-]+))?\.html$' => 'index.php?xml_sitemap=params=$matches[2];html=true', + 'sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$' => 'index.php?xml_sitemap=params=$matches[2];html=true;zip=true' + ); + return array_merge($smRules,$wpRules); + } + + /** + * Returns the rules required for Nginx permalinks + * + * @return string[] + */ + public static function GetNginXRules() { + return array( + 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml$ "/index.php?xml_sitemap=params=$2" last;', + 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.xml\.gz$ "/index.php?xml_sitemap=params=$2;zip=true" last;', + 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html$ "/index.php?xml_sitemap=params=$2;html=true" last;', + 'rewrite ^/sitemap(-+([a-zA-Z0-9_-]+))?\.html.gz$ "/index.php?xml_sitemap=params=$2;html=true;zip=true" last;' + ); + + } + + /** + * Adds the filters for wp rewrite rule adding + * + * @since 4.0 + * @uses add_filter() + */ + public static function SetupRewriteHooks() { + add_filter('rewrite_rules_array', array(__CLASS__, 'AddRewriteRules'), 1, 1); + } + + /** + * Flushes the rewrite rules + * + * @since 4.0 + * @global $wp_rewrite WP_Rewrite + * @uses WP_Rewrite::flush_rules() + */ + public static function ActivateRewrite() { + global $wp_rewrite; + $wp_rewrite->flush_rules(false); + update_option("sm_rewrite_done", self::$svnVersion); + } + + /** + * Handled the plugin activation on installation + * + * @uses GoogleSitemapGeneratorLoader::ActivateRewrite + * @since 4.0 + */ + public static function ActivatePlugin() { + self::SetupRewriteHooks(); + self::ActivateRewrite(); + + if(self::LoadPlugin()) { + $gsg = GoogleSitemapGenerator::GetInstance(); + if($gsg->OldFileExists()) { + $gsg->DeleteOldFiles(); + } + } + + } + + /** + * Handled the plugin deactivation + * + * @uses GoogleSitemapGeneratorLoader::ActivateRewrite + * @since 4.0 + */ + public static function DeactivatePlugin() { + delete_option("sm_rewrite_done"); + wp_clear_scheduled_hook('sm_ping_daily'); + } + + + /** + * Handles the plugin output on template redirection if the xml_sitemap query var is present. + * + * @since 4.0 + * @global $wp_query The WordPress query object + */ + public static function DoTemplateRedirect() { + global $wp_query; + if(!empty($wp_query->query_vars["xml_sitemap"])) { + $wp_query->is_404 = false; + $wp_query->is_feed = false; + self::CallShowSitemap($wp_query->query_vars["xml_sitemap"]); + } + } + + public static function KillFrontpageQuery() { + //add_filter('posts_request', array('GoogleSitemapGeneratorLoader', 'KillFrontpagePosts'), 1000, 2); + } + + public static function KillFrontpagePosts($sql, &$query) { + // The main query is running on the front page + // And the currently running query is that main query + if(!empty($query->query_vars["xml_sitemap"])) { + // We only want to do this once: remove the filter + remove_filter('posts_request', array('GoogleSitemapGeneratorLoader', 'KillFrontpagePosts'), 1000, 2); + // Kill the FOUND_ROWS() query too + $query->query_vars['no_found_rows'] = true; + //Workaround for preventing to fetch sticky posts + $query->is_home = false; + //Prevent sending of 404 (it would happen because we didn't find any posts). Setting is_404 to true skips that check. + $query->is_404 = true; + + return "SELECT ID FROM {$GLOBALS['wpdb']->posts} WHERE 1=2"; // Kill the query doesnt work anymore. Now try to select no matching posts :( + } + return $sql; + } + + + /** + * Registers the plugin in the admin menu system + * + * @uses add_options_page() + */ + public static function RegisterAdminPage() { + + $p = add_options_page(__('XML-Sitemap Generator', 'sitemap'), __('XML-Sitemap', 'sitemap'), 'administrator', self::GetBaseName(), array(__CLASS__, 'CallHtmlShowOptionsPage')); + //add_action("load-$p", array(__CLASS__, 'CallHtmlShowHelpList')); + + } + + /** + * Returns a nice icon for the Ozh Admin Menu if the {@param $hook} equals to the sitemap plugin + * + * @param string $hook The hook to compare + * @return string The path to the icon + */ + public static function RegisterAdminIcon($hook) { + if($hook == self::GetBaseName() && function_exists('plugins_url')) { + return plugins_url('img/icon-arne.gif', self::GetBaseName()); + } + return $hook; + } + + /** + * Registers additional links for the sitemap plugin on the WP plugin configuration page + * + * Registers the links if the $file param equals to the sitemap plugin + * @param $links Array An array with the existing links + * @param $file string The file to compare to + */ + public static function RegisterPluginLinks($links, $file) { + $base = self::GetBaseName(); + if($file == $base) { + $links[] = '' . __('Settings', 'sitemap') . ''; + $links[] = '' . __('FAQ', 'sitemap') . ''; + $links[] = '' . __('Support', 'sitemap') . ''; + $links[] = '' . __('Donate', 'sitemap') . ''; + } + return $links; + } + + /** + * Schedules pinging the search engines + * + * @static + * @return void + */ + public static function SchedulePing() { + wp_schedule_single_event(time(),'sm_ping'); + } + + /** + * Invokes the HtmlShowOptionsPage method of the generator + * @uses GoogleSitemapGeneratorLoader::LoadPlugin() + * @uses GoogleSitemapGenerator::HtmlShowOptionsPage() + */ + public static function CallHtmlShowOptionsPage() { + if(self::LoadPlugin()) { + GoogleSitemapGenerator::GetInstance()->HtmlShowOptionsPage(); + } + } + + /** + * Invokes the ShowPingResult method of the generator + * @uses GoogleSitemapGeneratorLoader::LoadPlugin() + * @uses GoogleSitemapGenerator::ShowPingResult() + */ + public static function CallShowPingResult() { + if(self::LoadPlugin()) { + GoogleSitemapGenerator::GetInstance()->ShowPingResult(); + } + } + + /** + * Invokes the SendPing method of the generator + * @uses GoogleSitemapGeneratorLoader::LoadPlugin() + * @uses GoogleSitemapGenerator::SendPing() + */ + public static function CallSendPing() { + if(self::LoadPlugin()) { + GoogleSitemapGenerator::GetInstance()->SendPing(); + } + } + + /** + * Invokes the SendPingDaily method of the generator + * @uses GoogleSitemapGeneratorLoader::LoadPlugin() + * @uses GoogleSitemapGenerator::SendPingDaily() + */ + public static function CallSendPingDaily() + { + if (self::LoadPlugin()) { + GoogleSitemapGenerator::GetInstance()->SendPingDaily(); + } + } + + /** + * Invokes the ShowSitemap method of the generator + * @uses GoogleSitemapGeneratorLoader::LoadPlugin() + * @uses GoogleSitemapGenerator::ShowSitemap() + */ + public static function CallShowSitemap($options) { + if(self::LoadPlugin()) { + GoogleSitemapGenerator::GetInstance()->ShowSitemap($options); + } + } + + /** + * Invokes the DoRobots method of the generator + * @uses GoogleSitemapGeneratorLoader::LoadPlugin() + * @uses GoogleSitemapGenerator::DoRobots() + */ + public static function CallDoRobots() { + if(self::LoadPlugin()) { + GoogleSitemapGenerator::GetInstance()->DoRobots(); + } + } + + /** + * Displays the help links in the upper Help Section of WordPress + * + * @param $filterVal Array The existing links + * @param $screen Object The current screen object + * @return Array The new links + */ + public static function CallHtmlShowHelpList() { + + $screen = get_current_screen(); + $id = get_plugin_page_hookname(self::GetBaseName(), 'options-general.php'); + + if(is_object($screen) && $screen->id == $id) { + + /* + load_plugin_textdomain('sitemap',false,dirname( plugin_basename( __FILE__ ) ) . '/lang'); + + $links = array( + __('Plugin Homepage', 'sitemap') => 'http://www.arnebrachhold.de/redir/sitemap-help-home/', + __('My Sitemaps FAQ', 'sitemap') => 'http://www.arnebrachhold.de/redir/sitemap-help-faq/' + ); + + $filterVal[$id] = ''; + + $i = 0; + foreach($links AS $text => $url) { + $filterVal[$id] .= '' . $text . '' . ($i < (count($links) - 1) ? ' | ' : ''); + $i++; + } + + $screen->add_help_tab( array( + 'id' => 'sitemap-links', + 'title' => __('My Sitemaps FAQ', 'sitemap'), + 'content' => '

    ' . __('dsf dsf sd f', 'sitemap') . '

    ', + + )); + */ + + } + //return $filterVal; + } + + + /** + * Loads the actual generator class and tries to raise the memory and time limits if not already done by WP + * + * @uses GoogleSitemapGenerator::Enable() + * @return boolean true if run successfully + */ + public static function LoadPlugin() { + + if(!class_exists("GoogleSitemapGenerator")) { + + $mem = abs(intval(@ini_get('memory_limit'))); + if($mem && $mem < 128) { + @ini_set('memory_limit', '128M'); + } + + $time = abs(intval(@ini_get("max_execution_time"))); + if($time != 0 && $time < 120) { + @set_time_limit(120); + } + + $path = trailingslashit(dirname(__FILE__)); + + if(!file_exists($path . 'sitemap-core.php')) return false; + require_once($path . 'sitemap-core.php'); + } + + GoogleSitemapGenerator::Enable(); + return true; + } + + /** + * Returns the plugin basename of the plugin (using __FILE__) + * + * @return string The plugin basename, "sitemap" for example + */ + public static function GetBaseName() { + return plugin_basename(sm_GetInitFile()); + } + + /** + * Returns the name of this loader script, using sm_GetInitFile + * + * @return string The sm_GetInitFile value + */ + public static function GetPluginFile() { + return sm_GetInitFile(); + } + + /** + * Returns the plugin version + * + * Uses the WP API to get the meta data from the top of this file (comment) + * + * @return string The version like 3.1.1 + */ + public static function GetVersion() { + if(!isset($GLOBALS["sm_version"])) { + if(!function_exists('get_plugin_data')) { + if(file_exists(ABSPATH . 'wp-admin/includes/plugin.php')) { + require_once(ABSPATH . 'wp-admin/includes/plugin.php'); + } + else return "0.ERROR"; + } + $data = get_plugin_data(self::GetPluginFile(), false, false); + $GLOBALS["sm_version"] = $data['Version']; + } + return $GLOBALS["sm_version"]; + } + + public static function GetSvnVersion() { + return self::$svnVersion; + } +} + +//Enable the plugin for the init hook, but only if WP is loaded. Calling this php file directly will do nothing. +if(defined('ABSPATH') && defined('WPINC')) { + add_action("init", array("GoogleSitemapGeneratorLoader", "Enable"), 15, 0); + register_activation_hook(sm_GetInitFile(), array('GoogleSitemapGeneratorLoader', 'ActivatePlugin')); + register_deactivation_hook(sm_GetInitFile(), array('GoogleSitemapGeneratorLoader', 'DeactivatePlugin')); + + //Set up hooks for adding permalinks, query vars. + //Don't wait until unit with this, since other plugins might flush the rewrite rules in init already... + GoogleSitemapGeneratorLoader::SetupQueryVars(); + GoogleSitemapGeneratorLoader::SetupRewriteHooks(); +} + diff --git a/wp-content/plugins/google-sitemap-generator/sitemap-ui.php b/wp-content/plugins/google-sitemap-generator/sitemap-ui.php new file mode 100644 index 0000000..2a1c800 --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/sitemap-ui.php @@ -0,0 +1,1203 @@ +sg = $sitemapBuilder; + } + + private function HtmlPrintBoxHeader($id, $title) { + ?> +
    +

    +
    + +
    +
    + sg->GetFreqNames() AS $k=>$v) { + echo ""; + } + } + + /** + * Echos option fields for an select field containing the valid priorities (0- 1.0) + * + * @since 4.0 + * @param $currentVal string The value which should be selected + * @return 0.0 - 1.0 as html option fields + */ + public static function HtmlGetPriorityValues($currentVal) { + $currentVal=(float) $currentVal; + for($i=0.0; $i<=1.0; $i+=0.1) { + $v = number_format($i,1,".",""); + echo ""; + } + } + + /** + * Returns the checked attribute if the given values match + * + * @since 4.0 + * @param $val string The current value + * @param $equals string The value to match + * @return The checked attribute if the given values match, an empty string if not + */ + public static function HtmlGetChecked($val,$equals) { + if($val==$equals) return self::HtmlGetAttribute("checked"); + else return ""; + } + + /** + * Returns the selected attribute if the given values match + * + * @since 4.0 + * @param $val string The current value + * @param $equals string The value to match + * @return The selected attribute if the given values match, an empty string if not + */ + public static function HtmlGetSelected($val,$equals) { + if($val==$equals) return self::HtmlGetAttribute("selected"); + else return ""; + } + + /** + * Returns an formatted attribute. If the value is NULL, the name will be used. + * + * @since 4.0 + * @param $attr string The attribute name + * @param $value string The attribute value + * @return The formatted attribute + */ + public static function HtmlGetAttribute($attr,$value=NULL) { + if($value==NULL) $value=$attr; + return " " . $attr . "=\"" . esc_attr($value) . "\" "; + } + + /** + * Returns an array with GoogleSitemapGeneratorPage objects which is generated from POST values + * + * @since 4.0 + * @see GoogleSitemapGeneratorPage + * @return array An array with GoogleSitemapGeneratorPage objects + */ + public function HtmlApplyPages() { + // Array with all page URLs + $pages_ur=(!isset($_POST["sm_pages_ur"]) || !is_array($_POST["sm_pages_ur"])?array():$_POST["sm_pages_ur"]); + + //Array with all priorities + $pages_pr=(!isset($_POST["sm_pages_pr"]) || !is_array($_POST["sm_pages_pr"])?array():$_POST["sm_pages_pr"]); + + //Array with all change frequencies + $pages_cf=(!isset($_POST["sm_pages_cf"]) || !is_array($_POST["sm_pages_cf"])?array():$_POST["sm_pages_cf"]); + + //Array with all lastmods + $pages_lm=(!isset($_POST["sm_pages_lm"]) || !is_array($_POST["sm_pages_lm"])?array():$_POST["sm_pages_lm"]); + + //Array where the new pages are stored + $pages=array(); + //Loop through all defined pages and set their properties into an object + if(isset($_POST["sm_pages_mark"]) && is_array($_POST["sm_pages_mark"])) { + for($i=0; $iSetUrl($pages_ur[$i]); + $p->SetProprity($pages_pr[$i]); + $p->SetChangeFreq($pages_cf[$i]); + //Try to parse last modified, if -1 (note ===) automatic will be used (0) + $lm=(!empty($pages_lm[$i])?strtotime($pages_lm[$i],time()):-1); + if($lm===-1) $p->setLastMod(0); + else $p->setLastMod($lm); + //Add it to the array + array_push($pages,$p); + } + } + + return $pages; + } + + /** + * Displays the option page + * + * @since 3.0 + * @access public + * @author Arne Brachhold + */ + public function HtmlShowOptionsPage() { + global $wp_version; + + //Hopefully this fixes the caching issues after upgrade. Redirect incl. the versions, but only if no POST data. + if(count($_POST) == 0 && count($_GET) == 1 && isset($_GET["page"])) { + $redirURL = $this->sg->GetBackLink() . '&sm_fromidx=true'; + + //Redirect so the sm_rebuild GET parameter no longer exists. + @header("location: " . $redirURL); + //If there was already any other output, the header redirect will fail + echo ''; + echo ''; + exit; + } + + $snl = false; //SNL + + $this->sg->Initate(); + + $message=""; + + $is_ms = $this->sg->IsMultiSite(); + + + if(!empty($_REQUEST["sm_rebuild"])) { //Pressed Button: Rebuild Sitemap + check_admin_referer('sitemap'); + + + if(isset($_GET["sm_do_debug"]) && $_GET["sm_do_debug"]=="true") { + + //Check again, just for the case that something went wrong before + if(!current_user_can("administrator") || !is_super_admin()) { + echo '

    Please log in as admin

    '; + return; + } + + $oldErr = error_reporting(E_ALL); + $oldIni = ini_set("display_errors",1); + + echo '
    '; + echo '

    ' . __('XML Sitemap Generator for WordPress', 'sitemap') . " " . $this->sg->GetVersion(). '

    '; + echo '

    This is the debug mode of the XML Sitemap Generator. It will show all PHP notices and warnings as well as the internal logs, messages and configuration.

    '; + echo '

    DO NOT POST THIS INFORMATION ON PUBLIC PAGES LIKE SUPPORT FORUMS AS IT MAY CONTAIN PASSWORDS OR SECRET SERVER INFORMATION!

    '; + echo "

    WordPress and PHP Information

    "; + echo '

    WordPress ' . $GLOBALS['wp_version'] . ' with ' . ' DB ' . $GLOBALS['wp_db_version'] . ' on PHP ' . phpversion() . '

    '; + echo '

    Plugin version: ' . $this->sg->GetVersion() . ' (' . $this->sg->GetSvnVersion() . ')'; + echo '

    Environment

    '; + echo "
    ";
    +				$sc = $_SERVER;
    +				unset($sc["HTTP_COOKIE"]);
    +				print_r($sc);
    +				echo "
    "; + echo "

    WordPress Config

    "; + echo "
    ";
    +				$opts = array();
    +				if(function_exists('wp_load_alloptions')) {
    +					$opts = wp_load_alloptions();
    +				} else {
    +					global $wpdb;
    +					$os = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options");
    +					foreach ( (array) $os as $o ) $opts[$o->option_name] = $o->option_value;
    +				}
    +
    +				$popts = array();
    +				foreach($opts as $k=>$v) {
    +					//Try to filter out passwords etc...
    +					if(preg_match("/pass|login|pw|secret|user|usr|key|auth|token/si",$k)) continue;
    +					$popts[$k] = htmlspecialchars($v);
    +				}
    +				print_r($popts);
    +				echo "
    "; + echo '

    Sitemap Config

    '; + echo "
    ";
    +				print_r($this->sg->GetOptions());
    +				echo "
    "; + echo '

    Sitemap Content and Errors, Warnings, Notices

    '; + echo '
    '; + + $sitemaps = $this->sg->SimulateIndex(); + + foreach($sitemaps AS $sitemap) { + + echo "

    Sitemap: GetUrl() . "\">" . $sitemap["type"] . "/" . ($sitemap["params"]?$sitemap["params"]:"(No parameters)") . " by " . $sitemap["caller"]["class"] . "

    "; + + $res = $this->sg->SimulateSitemap($sitemap["type"], $sitemap["params"]); + + echo "
      "; + foreach($res AS $s) echo "
    • " . $s["data"]->GetUrl() . "
    • "; + echo "
    "; + } + + $status = GoogleSitemapGeneratorStatus::Load(); + echo '
    '; + echo '

    MySQL Queries

    '; + if(defined('SAVEQUERIES') && SAVEQUERIES) { + echo '
    ';
    +					var_dump($GLOBALS['wpdb']->queries);
    +					echo '
    '; + + $total = 0; + foreach($GLOBALS['wpdb']->queries as $q) { + $total+=$q[1]; + } + echo '

    Total Query Time

    '; + echo '
    ' . count($GLOBALS['wpdb']->queries) . ' queries in ' . round($total,2) . ' seconds.
    '; + } else { + echo '

    Please edit wp-db.inc.php in wp-includes and set SAVEQUERIES to true if you want to see the queries.

    '; + } + echo "

    Build Process Results

    "; + echo "
    ";
    +				print_r($status);
    +				echo "
    "; + echo '

    Done. Rebuild or Return

    '; + echo '

    DO NOT POST THIS INFORMATION ON PUBLIC PAGES LIKE SUPPORT FORUMS AS IT MAY CONTAIN PASSWORDS OR SECRET SERVER INFORMATION!

    '; + echo '
    '; + @error_reporting($oldErr); + @ini_set("display_errors",$oldIni); + return; + } else { + + $redirURL = $this->sg->GetBackLink() . '&sm_fromrb=true'; + + //Redirect so the sm_rebuild GET parameter no longer exists. + @header("location: " . $redirURL); + //If there was already any other output, the header redirect will fail + echo ''; + echo ''; + exit; + } + } else if (!empty($_POST['sm_update'])) { //Pressed Button: Update Config + check_admin_referer('sitemap'); + + if(isset($_POST['sm_b_style']) && $_POST['sm_b_style'] == $this->sg->getDefaultStyle()) { + $_POST['sm_b_style_default'] = true; + $_POST['sm_b_style'] = ''; + } + + foreach($this->sg->GetOptions() as $k=>$v) { + + //Skip some options if the user is not super admin... + if(!is_super_admin() && in_array($k,array("sm_b_time","sm_b_memory","sm_b_style","sm_b_style_default"))) { + continue; + } + + //Check vor values and convert them into their types, based on the category they are in + if(!isset($_POST[$k])) $_POST[$k]=""; // Empty string will get false on 2bool and 0 on 2float + + //Options of the category "Basic Settings" are boolean, except the filename and the autoprio provider + if(substr($k,0,5)=="sm_b_") { + if($k=="sm_b_prio_provider" || $k == "sm_b_style" || $k == "sm_b_memory") { + if($k=="sm_b_filename_manual" && strpos($_POST[$k],"\\")!==false){ + $_POST[$k]=stripslashes($_POST[$k]); + } + $this->sg->SetOption($k,(string) $_POST[$k]); + } else if($k == "sm_b_time") { + if($_POST[$k]=='') $_POST[$k] = -1; + $this->sg->SetOption($k,intval($_POST[$k])); + } else if($k== "sm_i_install_date") { + if($this->sg->GetOption('i_install_date')<=0) $this->sg->SetOption($k,time()); + } else if($k=="sm_b_exclude") { + $IDss = array(); + $IDs = explode(",",$_POST[$k]); + for($x = 0; $x0) $IDss[] = $ID; + } + $this->sg->SetOption($k,$IDss); + } else if($k == "sm_b_exclude_cats") { + $exCats = array(); + if(isset($_POST["post_category"])) { + foreach((array) $_POST["post_category"] AS $vv) if(!empty($vv) && is_numeric($vv)) $exCats[] = intval($vv); + } + $this->sg->SetOption($k,$exCats); + } else { + $this->sg->SetOption($k,(bool) $_POST[$k]); + + } + //Options of the category "Includes" are boolean + } else if(substr($k,0,6)=="sm_in_") { + if($k=='sm_in_tax') { + + $enabledTaxonomies = array(); + + foreach(array_keys((array) $_POST[$k]) AS $taxName) { + if(empty($taxName) || !(function_exists('taxonomy_exists')?taxonomy_exists($taxName):is_taxonomy($taxName))) continue; + + $enabledTaxonomies[] = $taxName; + } + + $this->sg->SetOption($k,$enabledTaxonomies); + + } else if($k=='sm_in_customtypes') { + + $enabledPostTypes = array(); + + foreach(array_keys((array) $_POST[$k]) AS $postTypeName) { + if(empty($postTypeName) || !post_type_exists($postTypeName)) continue; + + $enabledPostTypes[] = $postTypeName; + } + + $this->sg->SetOption($k, $enabledPostTypes); + + } else $this->sg->SetOption($k,(bool) $_POST[$k]); + //Options of the category "Change frequencies" are string + } else if(substr($k,0,6)=="sm_cf_") { + $this->sg->SetOption($k,(string) $_POST[$k]); + //Options of the category "Priorities" are float + } else if(substr($k,0,6)=="sm_pr_") { + $this->sg->SetOption($k,(float) $_POST[$k]); + } + } + + //Apply page changes from POST + if(is_super_admin()) $this->sg->SetPages($this->HtmlApplyPages()); + + if($this->sg->SaveOptions()) $message.=__('Configuration updated', 'sitemap') . "
    "; + else $message.=__('Error while saving options', 'sitemap') . "
    "; + + if(is_super_admin()) { + if($this->sg->SavePages()) $message.=__("Pages saved",'sitemap') . "
    "; + else $message.=__('Error while saving pages', 'sitemap'). "
    "; + } + + } else if(!empty($_POST["sm_reset_config"])) { //Pressed Button: Reset Config + check_admin_referer('sitemap'); + $this->sg->InitOptions(); + $this->sg->SaveOptions(); + + $message.=__('The default configuration was restored.','sitemap'); + } else if(!empty($_GET["sm_delete_old"])) { //Delete old sitemap files + check_admin_referer('sitemap'); + + //Check again, just for the case that something went wrong before + if(!current_user_can("administrator")) { + echo '

    Please log in as admin

    '; + return; + } + if(!$this->sg->DeleteOldFiles()) { + $message = __("The old files could NOT be deleted. Please use an FTP program and delete them by yourself.","sitemap"); + } else { + $message = __("The old files were successfully deleted.","sitemap"); + } + } + + //Print out the message to the user, if any + if($message!="") { + ?> +

    sg->SetOption('i_hide_donated',true); + $this->sg->SaveOptions(); + } + if(isset($_GET['sm_donated'])) { + $this->sg->SetOption('i_donated',true); + $this->sg->SaveOptions(); + } + if(isset($_GET['sm_hide_note'])) { + $this->sg->SetOption('i_hide_note',true); + $this->sg->SaveOptions(); + } + if(isset($_GET['sm_hidedonors'])) { + $this->sg->SetOption('i_hide_donors',true); + $this->sg->SaveOptions(); + } + if(isset($_GET['sm_hide_works'])) { + $this->sg->SetOption('i_hide_works',true); + $this->sg->SaveOptions(); + } + + + if(isset($_GET['sm_donated']) || ($this->sg->GetOption('i_donated')===true && $this->sg->GetOption('i_hide_donated')!==true)) { + ?> +
    +

    ">

    +
    + sg->GetOption('i_donated') !== true && $this->sg->GetOption('i_install_date')>0 && $this->sg->GetOption('i_hide_note')!==true && time() > ($this->sg->GetOption('i_install_date') + (60*60*24*30))) { + ?> +
    +

    sg->GetRedirectLink("sitemap-donate-note"),__('Thanks for using this plugin! You\'ve installed this plugin over a month ago. If it works and you are satisfied with the results, isn\'t it worth at least a few dollar? Donations help me to continue support and development of this free software! Sure, no problem!','sitemap')); ?> " style="float:right; display:block; border:none; margin-left:10px;"> " style="float:right; display:block; border:none;">

    +
    +
    + sg->GetOption('i_install_date')>0 && $this->sg->GetOption('i_hide_works')!==true && time() > ($this->sg->GetOption('i_install_date') + (60*60*24*15))) { + ?> +
    +

    sg->GetRedirectLink("sitemap-works-note"),__('Thanks for using this plugin! You\'ve installed this plugin some time ago. If it works and your are satisfied, why not rate it and recommend it to others? :-)','sitemap')); ?> " style="float:right; display:block; border:none;">

    +
    +
    + + + + + +
    "; +} + +/** + * Adds a notice to the admin interface that the WordPress version is too old for the plugin + * + * @package sitemap + * @since 4.0 + */ +function sm_AddPhpVersionError() { + echo "

    " . __('Your PHP version is too old for XML Sitemaps.', 'sitemap') . "
    " . sprintf(__('Unfortunately this release of Google XML Sitemaps requires at least PHP %4$s. You are using PHP %2$s, which is out-dated and insecure. Please ask your web host to update your PHP installation or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website.', 'sitemap'), "plugins.php?plugin_status=active", PHP_VERSION, "http://www.arnebrachhold.de/redir/sitemap-home/","5.1") . "

    "; +} + +/** + * Returns the file used to load the sitemap plugin + * + * @package sitemap + * @since 4.0 + * @return string The path and file of the sitemap plugin entry point + */ +function sm_GetInitFile() { + return __FILE__; +} + +//Don't do anything if this file was called directly +if (defined('ABSPATH') && defined('WPINC') && !class_exists("GoogleSitemapGeneratorLoader", false)) { + sm_Setup(); +} + diff --git a/wp-content/plugins/google-sitemap-generator/sitemap.xsl b/wp-content/plugins/google-sitemap-generator/sitemap.xsl new file mode 100644 index 0000000..a5230cf --- /dev/null +++ b/wp-content/plugins/google-sitemap-generator/sitemap.xsl @@ -0,0 +1,151 @@ + + + + + + + XML Sitemap + + + + + +

    XML Sitemap

    +
    +

    + This is a XML Sitemap which is supposed to be processed by search engines which follow the XML Sitemap standard like Ask.com, Bing, Google and Yahoo.
    + It was generated using the Blogging-Software WordPress and the Google Sitemap Generator Plugin by Arne Brachhold.
    + You can find more information about XML sitemaps on sitemaps.org and Google's list of sitemap programs. +

    +
    + + + + + +
    + + + +
    + + + + + + + + + + + + + high + + + + + + + +
    URLPriorityChange frequencyLast modified (GMT)
    + + + + + + + + + + + + +
    +
    +
    + + + +
    + + + + + + + + + high + + + + + +
    URLLast modified (GMT)
    + + + + + + + + +
    +
    +
    +
    \ No newline at end of file diff --git a/wp-content/plugins/hello.php b/wp-content/plugins/hello.php new file mode 100644 index 0000000..2b1e07b --- /dev/null +++ b/wp-content/plugins/hello.php @@ -0,0 +1,82 @@ +Hello, Dolly in the upper right of your admin screen on every page. +Author: Matt Mullenweg +Version: 1.6 +Author URI: http://ma.tt/ +*/ + +function hello_dolly_get_lyric() { + /** These are the lyrics to Hello Dolly */ + $lyrics = "Hello, Dolly +Well, hello, Dolly +It's so nice to have you back where you belong +You're lookin' swell, Dolly +I can tell, Dolly +You're still glowin', you're still crowin' +You're still goin' strong +We feel the room swayin' +While the band's playin' +One of your old favourite songs from way back when +So, take her wrap, fellas +Find her an empty lap, fellas +Dolly'll never go away again +Hello, Dolly +Well, hello, Dolly +It's so nice to have you back where you belong +You're lookin' swell, Dolly +I can tell, Dolly +You're still glowin', you're still crowin' +You're still goin' strong +We feel the room swayin' +While the band's playin' +One of your old favourite songs from way back when +Golly, gee, fellas +Find her a vacant knee, fellas +Dolly'll never go away +Dolly'll never go away +Dolly'll never go away again"; + + // Here we split it into lines + $lyrics = explode( "\n", $lyrics ); + + // And then randomly choose a line + return wptexturize( $lyrics[ mt_rand( 0, count( $lyrics ) - 1 ) ] ); +} + +// This just echoes the chosen line, we'll position it later +function hello_dolly() { + $chosen = hello_dolly_get_lyric(); + echo "

    $chosen

    "; +} + +// Now we set that function up to execute when the admin_notices action is called +add_action( 'admin_notices', 'hello_dolly' ); + +// We need some CSS to position the paragraph +function dolly_css() { + // This makes sure that the positioning is also good for right-to-left languages + $x = is_rtl() ? 'left' : 'right'; + + echo " + + "; +} + +add_action( 'admin_head', 'dolly_css' ); + +?> diff --git a/wp-content/plugins/image-widget/image-widget.php b/wp-content/plugins/image-widget/image-widget.php new file mode 100644 index 0000000..8555a02 --- /dev/null +++ b/wp-content/plugins/image-widget/image-widget.php @@ -0,0 +1,410 @@ + 'widget_sp_image', 'description' => __( 'Showcase a single image with a Title, URL, and a Description', 'image_widget' ) ); + $control_ops = array( 'id_base' => 'widget_sp_image' ); + $this->WP_Widget('widget_sp_image', __('Image Widget', 'image_widget'), $widget_ops, $control_ops); + if ( $this->use_old_uploader() ) { + require_once( 'lib/ImageWidgetDeprecated.php' ); + new ImageWidgetDeprecated( $this ); + } else { + add_action( 'sidebar_admin_setup', array( $this, 'admin_setup' ) ); + } + add_action( 'admin_head-widgets.php', array( $this, 'admin_head' ) ); + + add_action( 'plugin_row_meta', array( $this, 'plugin_row_meta' ),10 ,2 ); + + if ( !defined('I_HAVE_SUPPORTED_THE_IMAGE_WIDGET') ) + add_action( 'admin_notices', array( $this, 'post_upgrade_nag') ); + + add_action( 'network_admin_notices', array( $this, 'post_upgrade_nag') ); + } + + /** + * Test to see if this version of WordPress supports the new image manager. + * @return bool true if the current version of WordPress does NOT support the current image management tech. + */ + private function use_old_uploader() { + if ( defined( 'IMAGE_WIDGET_COMPATIBILITY_TEST' ) ) return true; + return !function_exists('wp_enqueue_media'); + } + + /** + * Enqueue all the javascript. + */ + function admin_setup() { + wp_enqueue_media(); + wp_enqueue_script( 'tribe-image-widget', plugins_url('resources/js/image-widget.js', __FILE__), array( 'jquery', 'media-upload', 'media-views' ), self::VERSION ); + + wp_localize_script( 'tribe-image-widget', 'TribeImageWidget', array( + 'frame_title' => __( 'Select an Image', 'image_widget' ), + 'button_title' => __( 'Insert Into Widget', 'image_widget' ), + ) ); + } + + /** + * Widget frontend output + * + * @param array $args + * @param array $instance + * @author Modern Tribe, Inc. + */ + function widget( $args, $instance ) { + extract( $args ); + $instance = wp_parse_args( (array) $instance, self::get_defaults() ); + if ( !empty( $instance['imageurl'] ) || !empty( $instance['attachment_id'] ) ) { + + $instance['title'] = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'] ); + $instance['description'] = apply_filters( 'widget_text', $instance['description'], $args, $instance ); + $instance['link'] = apply_filters( 'image_widget_image_link', esc_url( $instance['link'] ), $args, $instance ); + $instance['linktarget'] = apply_filters( 'image_widget_image_link_target', esc_attr( $instance['linktarget'] ), $args, $instance ); + $instance['width'] = apply_filters( 'image_widget_image_width', abs( $instance['width'] ), $args, $instance ); + $instance['height'] = apply_filters( 'image_widget_image_height', abs( $instance['height'] ), $args, $instance ); + $instance['maxwidth'] = apply_filters( 'image_widget_image_maxwidth', esc_attr( $instance['maxwidth'] ), $args, $instance ); + $instance['maxheight'] = apply_filters( 'image_widget_image_maxheight', esc_attr( $instance['maxheight'] ), $args, $instance ); + $instance['align'] = apply_filters( 'image_widget_image_align', esc_attr( $instance['align'] ), $args, $instance ); + $instance['alt'] = apply_filters( 'image_widget_image_alt', esc_attr( $instance['alt'] ), $args, $instance ); + + if ( !defined( 'IMAGE_WIDGET_COMPATIBILITY_TEST' ) ) { + $instance['attachment_id'] = ( $instance['attachment_id'] > 0 ) ? $instance['attachment_id'] : $instance['image']; + $instance['attachment_id'] = apply_filters( 'image_widget_image_attachment_id', abs( $instance['attachment_id'] ), $args, $instance ); + $instance['size'] = apply_filters( 'image_widget_image_size', esc_attr( $instance['size'] ), $args, $instance ); + } + $instance['imageurl'] = apply_filters( 'image_widget_image_url', esc_url( $instance['imageurl'] ), $args, $instance ); + + // No longer using extracted vars. This is here for backwards compatibility. + extract( $instance ); + + include( $this->getTemplateHierarchy( 'widget' ) ); + } + } + + /** + * Update widget options + * + * @param object $new_instance Widget Instance + * @param object $old_instance Widget Instance + * @return object + * @author Modern Tribe, Inc. + */ + function update( $new_instance, $old_instance ) { + $instance = $old_instance; + $new_instance = wp_parse_args( (array) $new_instance, self::get_defaults() ); + $instance['title'] = strip_tags($new_instance['title']); + if ( current_user_can('unfiltered_html') ) { + $instance['description'] = $new_instance['description']; + } else { + $instance['description'] = wp_filter_post_kses($new_instance['description']); + } + $instance['link'] = $new_instance['link']; + $instance['linktarget'] = $new_instance['linktarget']; + $instance['width'] = abs( $new_instance['width'] ); + $instance['height'] =abs( $new_instance['height'] ); + if ( !defined( 'IMAGE_WIDGET_COMPATIBILITY_TEST' ) ) { + $instance['size'] = $new_instance['size']; + } + $instance['align'] = $new_instance['align']; + $instance['alt'] = $new_instance['alt']; + + // Reverse compatibility with $image, now called $attachement_id + if ( !defined( 'IMAGE_WIDGET_COMPATIBILITY_TEST' ) && $new_instance['attachment_id'] > 0 ) { + $instance['attachment_id'] = abs( $new_instance['attachment_id'] ); + } elseif ( $new_instance['image'] > 0 ) { + $instance['attachment_id'] = $instance['image'] = abs( $new_instance['image'] ); + if ( class_exists('ImageWidgetDeprecated') ) { + $instance['imageurl'] = ImageWidgetDeprecated::get_image_url( $instance['image'], $instance['width'], $instance['height'] ); // image resizing not working right now + } + } + $instance['imageurl'] = $new_instance['imageurl']; // deprecated + + $instance['aspect_ratio'] = $this->get_image_aspect_ratio( $instance ); + + return $instance; + } + + /** + * Form UI + * + * @param object $instance Widget Instance + * @author Modern Tribe, Inc. + */ + function form( $instance ) { + $instance = wp_parse_args( (array) $instance, self::get_defaults() ); + if ( $this->use_old_uploader() ) { + include( $this->getTemplateHierarchy( 'widget-admin.deprecated' ) ); + } else { + include( $this->getTemplateHierarchy( 'widget-admin' ) ); + } + } + + /** + * Admin header css + * + * @author Modern Tribe, Inc. + */ + function admin_head() { + ?> + + '', + 'description' => '', + 'link' => '', + 'linktarget' => '', + 'width' => 0, + 'height' => 0, + 'maxwidth' => '100%', + 'maxheight' => '', + 'image' => 0, // reverse compatible - now attachement_id + 'imageurl' => '', // reverse compatible. + 'align' => 'none', + 'alt' => '', + ); + + if ( !defined( 'IMAGE_WIDGET_COMPATIBILITY_TEST' ) ) { + $defaults['size'] = self::CUSTOM_IMAGE_SIZE_SLUG; + $defaults['attachment_id'] = 0; + } + + return $defaults; + } + + /** + * Render the image html output. + * + * @param array $instance + * @param bool $include_link will only render the link if this is set to true. Otherwise link is ignored. + * @return string image html + */ + private function get_image_html( $instance, $include_link = true ) { + + // Backwards compatible image display. + if ( $instance['attachment_id'] == 0 && $instance['image'] > 0 ) { + $instance['attachment_id'] = $instance['image']; + } + + $output = ''; + + if ( $include_link && !empty( $instance['link'] ) ) { + $attr = array( + 'href' => $instance['link'], + 'target' => $instance['linktarget'], + 'class' => $this->widget_options['classname'].'-image-link', + 'title' => ( !empty( $instance['alt'] ) ) ? $instance['alt'] : $instance['title'], + ); + $attr = apply_filters('image_widget_link_attributes', $attr, $instance ); + $attr = array_map( 'esc_attr', $attr ); + $output = ' $value ) { + $output .= sprintf( ' %s="%s"', $name, $value ); + } + $output .= '>'; + } + + $size = $this->get_image_size( $instance ); + if ( is_array( $size ) ) { + $instance['width'] = $size[0]; + $instance['height'] = $size[1]; + } elseif ( !empty( $instance['attachment_id'] ) ) { + //$instance['width'] = $instance['height'] = 0; + $image_details = wp_get_attachment_image_src( $instance['attachment_id'], $size ); + if ($image_details) { + $instance['imageurl'] = $image_details[0]; + $instance['width'] = $image_details[1]; + $instance['height'] = $image_details[2]; + } + } + $instance['width'] = abs( $instance['width'] ); + $instance['height'] = abs( $instance['height'] ); + + $attr = array(); + $attr['alt'] = $instance['title']; + if (is_array($size)) { + $attr['class'] = 'attachment-'.join('x',$size); + } else { + $attr['class'] = 'attachment-'.$size; + } + $attr['style'] = ''; + if (!empty($instance['maxwidth'])) { + $attr['style'] .= "max-width: {$instance['maxwidth']};"; + } + if (!empty($instance['maxheight'])) { + $attr['style'] .= "max-height: {$instance['maxheight']};"; + } + if (!empty($instance['align']) && $instance['align'] != 'none') { + $attr['class'] .= " align{$instance['align']}"; + } + $attr = apply_filters( 'image_widget_image_attributes', $attr, $instance ); + + // If there is an imageurl, use it to render the image. Eventually we should kill this and simply rely on attachment_ids. + if ( !empty( $instance['imageurl'] ) ) { + // If all we have is an image src url we can still render an image. + $attr['src'] = $instance['imageurl']; + $attr = array_map( 'esc_attr', $attr ); + $hwstring = image_hwstring( $instance['width'], $instance['height'] ); + $output .= rtrim(" $value ) { + $output .= sprintf( ' %s="%s"', $name, $value ); + } + $output .= ' />'; + } elseif( abs( $instance['attachment_id'] ) > 0 ) { + $output .= wp_get_attachment_image($instance['attachment_id'], $size, false, $attr); + } + + if ( $include_link && !empty( $instance['link'] ) ) { + $output .= ''; + } + + return $output; + } + + /** + * Assesses the image size in case it has not been set or in case there is a mismatch. + * + * @param $instance + * @return array|string + */ + private function get_image_size( $instance ) { + if ( !empty( $instance['size'] ) && $instance['size'] != self::CUSTOM_IMAGE_SIZE_SLUG ) { + $size = $instance['size']; + } elseif ( isset( $instance['width'] ) && is_numeric($instance['width']) && isset( $instance['height'] ) && is_numeric($instance['height']) ) { + $size = array(abs($instance['width']),abs($instance['height'])); + } else { + $size = 'full'; + } + return $size; + } + + /** + * Establish the aspect ratio of the image. + * + * @param $instance + * @return float|number + */ + private function get_image_aspect_ratio( $instance ) { + if ( !empty( $instance['aspect_ratio'] ) ) { + return abs( $instance['aspect_ratio'] ); + } else { + $attachment_id = ( !empty($instance['attachment_id']) ) ? $instance['attachment_id'] : $instance['image']; + if ( !empty($attachment_id) ) { + $image_details = wp_get_attachment_image_src( $attachment_id, 'full' ); + if ($image_details) { + return ( $image_details[1]/$image_details[2] ); + } + } + } + } + + /** + * Loads theme files in appropriate hierarchy: 1) child theme, + * 2) parent template, 3) plugin resources. will look in the image-widget/ + * directory in a theme and the views/ directory in the plugin + * + * @param string $template template file to search for + * @return template path + * @author Modern Tribe, Inc. (Matt Wiebe) + **/ + + function getTemplateHierarchy($template) { + // whether or not .php was added + $template_slug = rtrim($template, '.php'); + $template = $template_slug . '.php'; + + if ( $theme_file = locate_template(array('image-widget/'.$template)) ) { + $file = $theme_file; + } else { + $file = 'views/' . $template; + } + return apply_filters( 'sp_template_image-widget_'.$template, $file); + } + + + /** + * Display a thank you nag when the plugin has been upgraded. + */ + public function post_upgrade_nag() { + if ( !current_user_can('install_plugins') ) return; + + $version_key = '_image_widget_version'; + if ( get_site_option( $version_key ) == self::VERSION ) return; + + $msg = sprintf(__('Thanks for upgrading the Image Widget! If you like this plugin, please consider rating it and maybe even check out our premium plugins including our Events Calendar Pro!', 'image-widget'),'http://wordpress.org/extend/plugins/image-widget/?source=image-widget&pos=nag','http://tri.be/wordpress-events-calendar-pro/?source=image-widget&pos=nag'); + echo "
    $msg
    "; + + update_site_option( $version_key, self::VERSION ); + } + + /** + * Display an informational section in the plugin admin ui. + * @param $meta + * @param $file + * + * @return array + */ + public function plugin_row_meta( $meta, $file ) { + if ( $file == plugin_basename( dirname(__FILE__).'/image-widget.php' ) ) { + $meta[] = ''.sprintf(__('Check out our other plugins including our Events Calendar Pro!', 'image-widget'),'http://tri.be/products/?source=image-widget&pos=pluginlist','http://tri.be/wordpress-events-calendar-pro/?source=image-widget&pos=pluginlist').''; + } + return $meta; + } +} diff --git a/wp-content/plugins/image-widget/lang/image_widget-ar_AR.mo b/wp-content/plugins/image-widget/lang/image_widget-ar_AR.mo new file mode 100644 index 0000000..77b919d Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-ar_AR.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-ar_AR.po b/wp-content/plugins/image-widget/lang/image_widget-ar_AR.po new file mode 100644 index 0000000..071fa6f --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-ar_AR.po @@ -0,0 +1,143 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-02-18 01:02+0300\n" +"Last-Translator: Modern Tribe, Inc. \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "مشاهدة صورة واحدة مع العنوان،الرابط،والوصÙ" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "إضاÙØ© الصور" + +#: image-widget.php:74 views/widget-admin.php:13 +msgid "Select an Image" +msgstr "اختر الصورة" + +#: image-widget.php:75 lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "أض٠ÙÙŠ إضاÙØ© الصور" + +#: image-widget.php:390 +#, php-format +msgid "" +"Thanks for upgrading the Image Widget! If you like this plugin, please " +"consider rating it and maybe even check " +"out our premium plugins including our Events Calendar Pro!" +msgstr "" +"شكراً لتحديثك إضاÙØ© Image Widget!إذا اعجبتك هذه الإضاÙØ©, أرجوك قيمهاوربما قد تعجبك إضاÙاتنا الأخرى أحداث التقويم الاحتراÙيةEvents Calendar Pro!" + +#: image-widget.php:405 +#, php-format +msgid "" +"Check out our other plugins including " +"our Events Calendar Pro!" +msgstr "" +"اÙحص هذه أو الأخرى الأضاÙةبما لدينا " +"أيضاً أحداث التقويم Events Calendar Pro!" + +#: views/widget-admin.deprecated.php:10 views/widget-admin.php:23 +msgid "Title" +msgstr "العنوان" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "صورة" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "تغيير الصورة" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "أض٠الصورة" + +#: views/widget-admin.deprecated.php:25 views/widget-admin.php:29 +msgid "Caption" +msgstr "شرح" + +#: views/widget-admin.deprecated.php:28 views/widget-admin.php:32 +msgid "Link" +msgstr "رابط" + +#: views/widget-admin.deprecated.php:31 views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "ابق ÙÙŠ الناÙذة" + +#: views/widget-admin.deprecated.php:32 views/widget-admin.php:36 +msgid "Open New Window" +msgstr "اÙتح ÙÙŠ ناÙذة جديدة" + +#: views/widget-admin.deprecated.php:35 views/widget-admin.php:66 +msgid "Width" +msgstr "العرض" + +#: views/widget-admin.deprecated.php:38 views/widget-admin.php:69 +msgid "Height" +msgstr "الطول" + +#: views/widget-admin.deprecated.php:41 views/widget-admin.php:74 +msgid "Align" +msgstr "المحاذاة" + +#: views/widget-admin.deprecated.php:43 views/widget-admin.php:76 +msgid "none" +msgstr "بدون" + +#: views/widget-admin.deprecated.php:44 views/widget-admin.php:77 +msgid "left" +msgstr "يسار" + +#: views/widget-admin.deprecated.php:45 views/widget-admin.php:78 +msgid "center" +msgstr "المنتصÙ" + +#: views/widget-admin.deprecated.php:46 views/widget-admin.php:79 +msgid "right" +msgstr "يمين" + +#: views/widget-admin.deprecated.php:49 views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "نص بديل" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "الحجم" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "الحجم الكامل" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "معاينة" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "وسط" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "كبير" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "مخصص" diff --git a/wp-content/plugins/image-widget/lang/image_widget-en_EN.mo b/wp-content/plugins/image-widget/lang/image_widget-en_EN.mo new file mode 100644 index 0000000..85b04b3 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-en_EN.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-en_EN.po b/wp-content/plugins/image-widget/lang/image_widget-en_EN.po new file mode 100644 index 0000000..f0cca3c --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-en_EN.po @@ -0,0 +1,138 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-01-30 23:50-0800\n" +"Last-Translator: Modern Tribe, Inc. \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "" + +#: image-widget.php:74 views/widget-admin.php:13 +msgid "Select an Image" +msgstr "" + +#: image-widget.php:75 lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "" + +#: image-widget.php:390 +#, php-format +msgid "" +"Thanks for upgrading the Image Widget! If you like this plugin, please " +"consider rating it and maybe even check " +"out our premium plugins including our Events Calendar Pro!" +msgstr "" + +#: image-widget.php:405 +#, php-format +msgid "" +"Check out our other plugins including " +"our Events Calendar Pro!" +msgstr "" + +#: views/widget-admin.deprecated.php:10 views/widget-admin.php:23 +msgid "Title" +msgstr "" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "" + +#: views/widget-admin.deprecated.php:25 views/widget-admin.php:29 +msgid "Caption" +msgstr "" + +#: views/widget-admin.deprecated.php:28 views/widget-admin.php:32 +msgid "Link" +msgstr "" + +#: views/widget-admin.deprecated.php:31 views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "" + +#: views/widget-admin.deprecated.php:32 views/widget-admin.php:36 +msgid "Open New Window" +msgstr "" + +#: views/widget-admin.deprecated.php:35 views/widget-admin.php:66 +msgid "Width" +msgstr "" + +#: views/widget-admin.deprecated.php:38 views/widget-admin.php:69 +msgid "Height" +msgstr "" + +#: views/widget-admin.deprecated.php:41 views/widget-admin.php:74 +msgid "Align" +msgstr "" + +#: views/widget-admin.deprecated.php:43 views/widget-admin.php:76 +msgid "none" +msgstr "" + +#: views/widget-admin.deprecated.php:44 views/widget-admin.php:77 +msgid "left" +msgstr "" + +#: views/widget-admin.deprecated.php:45 views/widget-admin.php:78 +msgid "center" +msgstr "" + +#: views/widget-admin.deprecated.php:46 views/widget-admin.php:79 +msgid "right" +msgstr "" + +#: views/widget-admin.deprecated.php:49 views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "" diff --git a/wp-content/plugins/image-widget/lang/image_widget-es_ES.mo b/wp-content/plugins/image-widget/lang/image_widget-es_ES.mo new file mode 100644 index 0000000..79c0f53 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-es_ES.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-es_ES.po b/wp-content/plugins/image-widget/lang/image_widget-es_ES.po new file mode 100644 index 0000000..2e9f838 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-es_ES.po @@ -0,0 +1,148 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-03-19 01:24-0300\n" +"Last-Translator: \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Muestra una imagen con un título, una URL, y una descripción" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "Widget de una imagen" + +#: image-widget.php:74 +#: views/widget-admin.php:13 +msgid "Select an Image" +msgstr "Seleccione una Imagen" + +#: image-widget.php:75 +#: lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "Insertar en el Widget" + +#: image-widget.php:390 +#, php-format +msgid "Thanks for upgrading the Image Widget! If you like this plugin, please consider rating it and maybe even check out our premium plugins including our Events Calendar Pro!" +msgstr "Gracias por actualizar Image Widget! Si te gusta este plugin, por favor considera Calificarlo y puede que quieras echarle un vistazo a nuestros plugins premium, entre ellos nuestro Events Calendar Pro!" + +#: image-widget.php:405 +#, php-format +msgid "Check out our other plugins including our Events Calendar Pro!" +msgstr "Echa un vistazo a nuestros plugins incluyendo nuestro Events Calendar Pro!" + +#: views/widget-admin.deprecated.php:10 +#: views/widget-admin.php:23 +msgid "Title" +msgstr "Título" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "Imagen" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "Cambiar Imagen" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "Añadir Imagen" + +#: views/widget-admin.deprecated.php:25 +#: views/widget-admin.php:29 +msgid "Caption" +msgstr "Leyenda" + +#: views/widget-admin.deprecated.php:28 +#: views/widget-admin.php:32 +msgid "Link" +msgstr "Enlace" + +#: views/widget-admin.deprecated.php:31 +#: views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "Abrir en la misma ventana" + +#: views/widget-admin.deprecated.php:32 +#: views/widget-admin.php:36 +msgid "Open New Window" +msgstr "Abrir en ventana nueva" + +#: views/widget-admin.deprecated.php:35 +#: views/widget-admin.php:66 +msgid "Width" +msgstr "Ancho" + +#: views/widget-admin.deprecated.php:38 +#: views/widget-admin.php:69 +msgid "Height" +msgstr "Alto" + +#: views/widget-admin.deprecated.php:41 +#: views/widget-admin.php:74 +msgid "Align" +msgstr "Alinear" + +#: views/widget-admin.deprecated.php:43 +#: views/widget-admin.php:76 +msgid "none" +msgstr "Ninguno" + +#: views/widget-admin.deprecated.php:44 +#: views/widget-admin.php:77 +msgid "left" +msgstr "Izquierda" + +#: views/widget-admin.deprecated.php:45 +#: views/widget-admin.php:78 +msgid "center" +msgstr "Centrado" + +#: views/widget-admin.deprecated.php:46 +#: views/widget-admin.php:79 +msgid "right" +msgstr "Derecha" + +#: views/widget-admin.deprecated.php:49 +#: views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "Texto Alternativo" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "Tamaño" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "Tamaño Completo" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "Miniatura" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "Medio" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "Largo" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "Personalizado" + diff --git a/wp-content/plugins/image-widget/lang/image_widget-it_IT.mo b/wp-content/plugins/image-widget/lang/image_widget-it_IT.mo new file mode 100644 index 0000000..faf996c Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-it_IT.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-it_IT.po b/wp-content/plugins/image-widget/lang/image_widget-it_IT.po new file mode 100644 index 0000000..4b30f22 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-it_IT.po @@ -0,0 +1,148 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-02-02 14:12+0100\n" +"Last-Translator: \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Mostra una singola immagine con un Titolo, URL e una Descrizione" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "Widget Immagine" + +#: image-widget.php:74 +#: views/widget-admin.php:13 +msgid "Select an Image" +msgstr "Seleziona un'immagine" + +#: image-widget.php:75 +#: lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "Inserisci nel Widget" + +#: image-widget.php:390 +#, php-format +msgid "Thanks for upgrading the Image Widget! If you like this plugin, please consider rating it and maybe even check out our premium plugins including our Events Calendar Pro!" +msgstr "Grazie per aver aggiornato il Widget Immagine! Se questo plugin ti piace, considera un voto e scopri i nostri premium plugins, incluso il nostro Events Calendar Pro!" + +#: image-widget.php:405 +#, php-format +msgid "Check out our other plugins including our Events Calendar Pro!" +msgstr "Scopri gli altri nostri plugins, incluso il nostro Events Calendar Pro!" + +#: views/widget-admin.deprecated.php:10 +#: views/widget-admin.php:23 +msgid "Title" +msgstr "Titolo" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "Immagine" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "Cambia Immagine" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "Aggiungi Immagine" + +#: views/widget-admin.deprecated.php:25 +#: views/widget-admin.php:29 +msgid "Caption" +msgstr "Didascalia" + +#: views/widget-admin.deprecated.php:28 +#: views/widget-admin.php:32 +msgid "Link" +msgstr "Link" + +#: views/widget-admin.deprecated.php:31 +#: views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "Apri nella stessa finestra" + +#: views/widget-admin.deprecated.php:32 +#: views/widget-admin.php:36 +msgid "Open New Window" +msgstr "Apri in nuova finestra" + +#: views/widget-admin.deprecated.php:35 +#: views/widget-admin.php:66 +msgid "Width" +msgstr "Larghezza" + +#: views/widget-admin.deprecated.php:38 +#: views/widget-admin.php:69 +msgid "Height" +msgstr "Altezza" + +#: views/widget-admin.deprecated.php:41 +#: views/widget-admin.php:74 +msgid "Align" +msgstr "Allineamento" + +#: views/widget-admin.deprecated.php:43 +#: views/widget-admin.php:76 +msgid "none" +msgstr "nesssuno" + +#: views/widget-admin.deprecated.php:44 +#: views/widget-admin.php:77 +msgid "left" +msgstr "sinistra" + +#: views/widget-admin.deprecated.php:45 +#: views/widget-admin.php:78 +msgid "center" +msgstr "centro" + +#: views/widget-admin.deprecated.php:46 +#: views/widget-admin.php:79 +msgid "right" +msgstr "destra" + +#: views/widget-admin.deprecated.php:49 +#: views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "Testo Alternativo" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "Dimensioni" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "Dimensioni Reali" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "Miniatura" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "Media" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "Larga" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "Personalizzata" + diff --git a/wp-content/plugins/image-widget/lang/image_widget-ja.mo b/wp-content/plugins/image-widget/lang/image_widget-ja.mo new file mode 100644 index 0000000..caada45 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-ja.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-ja.po b/wp-content/plugins/image-widget/lang/image_widget-ja.po new file mode 100644 index 0000000..5087a91 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-ja.po @@ -0,0 +1,132 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-02-16 18:09+0900\n" +"Last-Translator: Jun SUGIMOTO \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "å˜ä¸€ã®ç”»åƒã‚’表示ã—ã¾ã™ã€‚" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "ç”»åƒã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆ" + +#: image-widget.php:74 views/widget-admin.php:13 +msgid "Select an Image" +msgstr "ç”»åƒã‚’é¸æŠž" + +#: image-widget.php:75 lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "ウィジェットã«æŒ¿å…¥" + +#: image-widget.php:390 +#, php-format +msgid "Thanks for upgrading the Image Widget! If you like this plugin, please consider rating it and maybe even check out our premium plugins including our Events Calendar Pro!" +msgstr "ç”»åƒã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã®ã‚¢ãƒƒãƒ—グレードã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ï¼ã‚‚ã—ã“ã®ãƒ—ラグインãŒæ°—ã«å…¥ã£ãŸã‚‰ã€è©•ä¾¡ã‚’ã—ã¦ãã ã•ã„。ã¾ãŸã€Events Calendar Pro ãªã©ã®æœ‰æ–™ãƒ—ラグインもãƒã‚§ãƒƒã‚¯ã—ã¦ã¿ã¦ãã ã•ã„ï¼" + +#: image-widget.php:405 +#, php-format +msgid "Check out our other plugins including our Events Calendar Pro!" +msgstr "Events Calendar Pro ã‚’å«ã‚€ã€ãã®ä»–ã®ãƒ—ラグインもãƒã‚§ãƒƒã‚¯ã—ã¦ã¿ã¦ãã ã•ã„ï¼" + +#: views/widget-admin.deprecated.php:10 views/widget-admin.php:23 +msgid "Title" +msgstr "タイトル" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "ç”»åƒ" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "ç”»åƒã‚’変更" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "ç”»åƒã‚’追加" + +#: views/widget-admin.deprecated.php:25 views/widget-admin.php:29 +msgid "Caption" +msgstr "キャプション" + +#: views/widget-admin.deprecated.php:28 views/widget-admin.php:32 +msgid "Link" +msgstr "リンク" + +#: views/widget-admin.deprecated.php:31 views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "åŒä¸€ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§é–‹ã" + +#: views/widget-admin.deprecated.php:32 views/widget-admin.php:36 +msgid "Open New Window" +msgstr "æ–°è¦ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§é–‹ã" + +#: views/widget-admin.deprecated.php:35 views/widget-admin.php:66 +msgid "Width" +msgstr "å¹…" + +#: views/widget-admin.deprecated.php:38 views/widget-admin.php:69 +msgid "Height" +msgstr "高ã•" + +#: views/widget-admin.deprecated.php:41 views/widget-admin.php:74 +msgid "Align" +msgstr "é…ç½®" + +#: views/widget-admin.deprecated.php:43 views/widget-admin.php:76 +msgid "none" +msgstr "ãªã—" + +#: views/widget-admin.deprecated.php:44 views/widget-admin.php:77 +msgid "left" +msgstr "å·¦" + +#: views/widget-admin.deprecated.php:45 views/widget-admin.php:78 +msgid "center" +msgstr "中央" + +#: views/widget-admin.deprecated.php:46 views/widget-admin.php:79 +msgid "right" +msgstr "å³" + +#: views/widget-admin.deprecated.php:49 views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "代替テキスト" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "サイズ" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "フルサイズ" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "サムãƒã‚¤ãƒ«" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "中サイズ" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "大サイズ" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "カスタム" diff --git a/wp-content/plugins/image-widget/lang/image_widget-nl_NL.mo b/wp-content/plugins/image-widget/lang/image_widget-nl_NL.mo new file mode 100644 index 0000000..8286668 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-nl_NL.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-nl_NL.po b/wp-content/plugins/image-widget/lang/image_widget-nl_NL.po new file mode 100644 index 0000000..62ede15 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-nl_NL.po @@ -0,0 +1,144 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-02-01 06:14-0800\n" +"Last-Translator: Presis \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Toon een enkele afbeelding met een Titel, URL, en een Omschrijving" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "Afbeelding widget" + +#: image-widget.php:74 views/widget-admin.php:13 +msgid "Select an Image" +msgstr "Selecteer een afbeelding" + +#: image-widget.php:75 lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "Invoegen in widget" + +#: image-widget.php:390 +#, php-format +msgid "" +"Thanks for upgrading the Image Widget! If you like this plugin, please " +"consider rating it and maybe even check " +"out our premium plugins including our Events Calendar Pro!" +msgstr "" +"Bedankt voor het upgraden van Image Widget! Tevreden met deze plugin? Geef " +"een waardering. Of kijk eens naar onze " +"premium plugins, zoals Events Calendar Pro!" + +#: image-widget.php:405 +#, php-format +msgid "" +"Check out our other plugins including " +"our Events Calendar Pro!" +msgstr "" +"Bekijk onze anders plugins zoals Events Calendar Pro!" + +#: views/widget-admin.deprecated.php:10 views/widget-admin.php:23 +msgid "Title" +msgstr "Titel" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "Afbeelding" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "Wijzig afbeelding" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "Afbeelding toevoegen" + +#: views/widget-admin.deprecated.php:25 views/widget-admin.php:29 +msgid "Caption" +msgstr "Onderschrift" + +#: views/widget-admin.deprecated.php:28 views/widget-admin.php:32 +msgid "Link" +msgstr "Link" + +#: views/widget-admin.deprecated.php:31 views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "Blijf in zelfde venster" + +#: views/widget-admin.deprecated.php:32 views/widget-admin.php:36 +msgid "Open New Window" +msgstr "Open in nieuw venster" + +#: views/widget-admin.deprecated.php:35 views/widget-admin.php:66 +msgid "Width" +msgstr "Breedte" + +#: views/widget-admin.deprecated.php:38 views/widget-admin.php:69 +msgid "Height" +msgstr "Hoogte" + +#: views/widget-admin.deprecated.php:41 views/widget-admin.php:74 +msgid "Align" +msgstr "Uitlijning" + +#: views/widget-admin.deprecated.php:43 views/widget-admin.php:76 +msgid "none" +msgstr "geen" + +#: views/widget-admin.deprecated.php:44 views/widget-admin.php:77 +msgid "left" +msgstr "links" + +#: views/widget-admin.deprecated.php:45 views/widget-admin.php:78 +msgid "center" +msgstr "midden" + +#: views/widget-admin.deprecated.php:46 views/widget-admin.php:79 +msgid "right" +msgstr "rechts" + +#: views/widget-admin.deprecated.php:49 views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "Alternatieve tekst" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "Formaat" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "Volledige groote" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "Thumbnail" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "Gemiddeld" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "Groot" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "Eigen" diff --git a/wp-content/plugins/image-widget/lang/image_widget-pt_BR.mo b/wp-content/plugins/image-widget/lang/image_widget-pt_BR.mo new file mode 100644 index 0000000..57ceb7c Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-pt_BR.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-pt_BR.po b/wp-content/plugins/image-widget/lang/image_widget-pt_BR.po new file mode 100644 index 0000000..4fb9e3b --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-pt_BR.po @@ -0,0 +1,144 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-02-02 18:21-0800\n" +"Last-Translator: Gustavo Henrique Mascarenhas Machado \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Apresente uma imagem única com um Título, URL e uma Descrição" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "Image Widget" + +#: image-widget.php:74 views/widget-admin.php:13 +msgid "Select an Image" +msgstr "Selecione Uma Imagem" + +#: image-widget.php:75 lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "Inserir No Widget" + +#: image-widget.php:390 +#, php-format +msgid "" +"Thanks for upgrading the Image Widget! If you like this plugin, please " +"consider rating it and maybe even check " +"out our premium plugins including our Events Calendar Pro!" +msgstr "" +"Obrigado por atualizar o Image Widget! Se você gosta deste plugin, por favor " +"considere avaliá-lo e dar uma olhada em " +"nossos plugins premium incluindo o Events " +"Calendar Pro!" + +#: image-widget.php:405 +#, php-format +msgid "" +"Check out our other plugins including " +"our Events Calendar Pro!" +msgstr "" +"Veja nosos outros plugins, plugins " +"incluindo Events Calendar Pro!" + +#: views/widget-admin.deprecated.php:10 views/widget-admin.php:23 +msgid "Title" +msgstr "Título" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "Imagem" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "Trocar Imagem" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "Adicionar Imagem" + +#: views/widget-admin.deprecated.php:25 views/widget-admin.php:29 +msgid "Caption" +msgstr "Legenda" + +#: views/widget-admin.deprecated.php:28 views/widget-admin.php:32 +msgid "Link" +msgstr "Link" + +#: views/widget-admin.deprecated.php:31 views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "Abrir Na Mesma Janela" + +#: views/widget-admin.deprecated.php:32 views/widget-admin.php:36 +msgid "Open New Window" +msgstr "Abrir Em Nova Janela" + +#: views/widget-admin.deprecated.php:35 views/widget-admin.php:66 +msgid "Width" +msgstr "Largura" + +#: views/widget-admin.deprecated.php:38 views/widget-admin.php:69 +msgid "Height" +msgstr "Altura" + +#: views/widget-admin.deprecated.php:41 views/widget-admin.php:74 +msgid "Align" +msgstr "Alinhamento" + +#: views/widget-admin.deprecated.php:43 views/widget-admin.php:76 +msgid "none" +msgstr "nenhum" + +#: views/widget-admin.deprecated.php:44 views/widget-admin.php:77 +msgid "left" +msgstr "esquerda" + +#: views/widget-admin.deprecated.php:45 views/widget-admin.php:78 +msgid "center" +msgstr "centro" + +#: views/widget-admin.deprecated.php:46 views/widget-admin.php:79 +msgid "right" +msgstr "direita" + +#: views/widget-admin.deprecated.php:49 views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "Texto Alternativo" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "Tamanho" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "Tamanho Máximo" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "Miniatura" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "Médio" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "Grande" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "Customizado" diff --git a/wp-content/plugins/image-widget/lang/image_widget-sv_SE.mo b/wp-content/plugins/image-widget/lang/image_widget-sv_SE.mo new file mode 100644 index 0000000..0442672 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/image_widget-sv_SE.mo differ diff --git a/wp-content/plugins/image-widget/lang/image_widget-sv_SE.po b/wp-content/plugins/image-widget/lang/image_widget-sv_SE.po new file mode 100644 index 0000000..7b6b41b --- /dev/null +++ b/wp-content/plugins/image-widget/lang/image_widget-sv_SE.po @@ -0,0 +1,144 @@ +# Translation of the Image Widget 4.0 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +msgid "" +msgstr "" +"Project-Id-Version: Image Widget\n" +"POT-Creation-Date: 2013-01-30 23:34-0800\n" +"PO-Revision-Date: 2013-01-31 22:56+0100\n" +"Last-Translator: Tomas Lindhoff \n" +"Language-Team: @ModernTribe \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.4\n" +"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_e\n" +"X-Poedit-Basepath: .\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: image-widget.php:40 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Visa upp en bild med titel, url och en beskrivning" + +#: image-widget.php:42 +msgid "Image Widget" +msgstr "Bild Widget" + +#: image-widget.php:74 views/widget-admin.php:13 +msgid "Select an Image" +msgstr "Välj en bild" + +#: image-widget.php:75 lib/ImageWidgetDeprecated.php:66 +msgid "Insert Into Widget" +msgstr "Infoga i Widget" + +#: image-widget.php:390 +#, php-format +msgid "" +"Thanks for upgrading the Image Widget! If you like this plugin, please " +"consider rating it and maybe even check " +"out our premium plugins including our Events Calendar Pro!" +msgstr "" +"Tack för att du uppgraderade Bild Widget! Om du gillar detta tillägg skulle " +"vi uppskatta om du betygsätter den och " +"eventuellt titter pÃ¥ vÃ¥ra premium tillägg som t ex Events Calendar Pro!" + +#: image-widget.php:405 +#, php-format +msgid "" +"Check out our other plugins including " +"our Events Calendar Pro!" +msgstr "" +"Se vÃ¥ra andra tillägg som bland annat " +"inkluderar Events Calendar Pro!" + +#: views/widget-admin.deprecated.php:10 views/widget-admin.php:23 +msgid "Title" +msgstr "Titel" + +#: views/widget-admin.deprecated.php:13 +msgid "Image" +msgstr "Bild" + +#: views/widget-admin.deprecated.php:17 +msgid "Change Image" +msgstr "Byt bild" + +#: views/widget-admin.deprecated.php:17 +msgid "Add Image" +msgstr "Lägg till bild" + +#: views/widget-admin.deprecated.php:25 views/widget-admin.php:29 +msgid "Caption" +msgstr "Bildtext" + +#: views/widget-admin.deprecated.php:28 views/widget-admin.php:32 +msgid "Link" +msgstr "Länk" + +#: views/widget-admin.deprecated.php:31 views/widget-admin.php:35 +msgid "Stay in Window" +msgstr "Stanna i samma fönster" + +#: views/widget-admin.deprecated.php:32 views/widget-admin.php:36 +msgid "Open New Window" +msgstr "Öppna i ett nytt fönster" + +#: views/widget-admin.deprecated.php:35 views/widget-admin.php:66 +msgid "Width" +msgstr "Bredd" + +#: views/widget-admin.deprecated.php:38 views/widget-admin.php:69 +msgid "Height" +msgstr "Höjd" + +#: views/widget-admin.deprecated.php:41 views/widget-admin.php:74 +msgid "Align" +msgstr "Justering" + +#: views/widget-admin.deprecated.php:43 views/widget-admin.php:76 +msgid "none" +msgstr "Ingen" + +#: views/widget-admin.deprecated.php:44 views/widget-admin.php:77 +msgid "left" +msgstr "Vänster" + +#: views/widget-admin.deprecated.php:45 views/widget-admin.php:78 +msgid "center" +msgstr "Centrerad" + +#: views/widget-admin.deprecated.php:46 views/widget-admin.php:79 +msgid "right" +msgstr "Höger" + +#: views/widget-admin.deprecated.php:49 views/widget-admin.php:26 +msgid "Alternate Text" +msgstr "Alternativ text" + +#: views/widget-admin.php:44 +msgid "Size" +msgstr "Storlek" + +#: views/widget-admin.php:49 +msgid "Full Size" +msgstr "Full storlek" + +#: views/widget-admin.php:50 +msgid "Thumbnail" +msgstr "Miniatyr" + +#: views/widget-admin.php:51 +msgid "Medium" +msgstr "Medium" + +#: views/widget-admin.php:52 +msgid "Large" +msgstr "Stor" + +#: views/widget-admin.php:54 +msgid "Custom" +msgstr "Anpassad" diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-cs_CZ.mo b/wp-content/plugins/image-widget/lang/old/image_widget-cs_CZ.mo new file mode 100644 index 0000000..d3b1aca Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-cs_CZ.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-cs_CZ.po b/wp-content/plugins/image-widget/lang/old/image_widget-cs_CZ.po new file mode 100644 index 0000000..3489bef --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-cs_CZ.po @@ -0,0 +1,97 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2012-08-28 16:17+0100\n" +"Last-Translator: Vladislav Musílek \n" +"Language-Team: Rüdiger Weiß \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Czech\n" +"X-Poedit-Country: CZECH REPUBLIC\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Zobrazí obrázek s Titulkem, URL adresou a popisem" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Obrázek Widget" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Vložit do Widgetu" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titulek:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Obrázek:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "ZmÄ›nit obrázek:" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "PÅ™idej obrázek:" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Nadpis:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Odkaz:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "Otevřít ve stejném oknÄ›" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "Otevřít v novém oknÄ›" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Šířka:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Výška:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Zarovnání:" + +#: image-widget.php:313 +msgid "none" +msgstr "žádné" + +#: image-widget.php:314 +msgid "left" +msgstr "doleva" + +#: image-widget.php:315 +msgid "center" +msgstr "doprostÅ™ed" + +#: image-widget.php:316 +msgid "right" +msgstr "doprava" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Alternativní text:" + diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-de_DE.mo b/wp-content/plugins/image-widget/lang/old/image_widget-de_DE.mo new file mode 100644 index 0000000..f9361cb Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-de_DE.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-de_DE.po b/wp-content/plugins/image-widget/lang/old/image_widget-de_DE.po new file mode 100644 index 0000000..ced9ebf --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-de_DE.po @@ -0,0 +1,96 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2010-01-30 15:24+0100\n" +"Last-Translator: Rüdiger Weiß \n" +"Language-Team: Rüdiger Weiß \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-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Ein einzelnes Bild mit Text" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Bild Widget" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "In Widget übernehmen" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titel:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Bild:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Bild ändern" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Bild einfügen" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Bildunterschrift:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Link:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "im gleichen Fenster öffnen" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "im neuen Fenster öffnen" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Breite:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Höhe:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Ausrichtung:" + +#: image-widget.php:313 +msgid "none" +msgstr "ohne" + +#: image-widget.php:314 +msgid "left" +msgstr "links" + +#: image-widget.php:315 +msgid "center" +msgstr "zentriert" + +#: image-widget.php:316 +msgid "right" +msgstr "rechts" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Alternativer Text" diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-fr_FR.mo b/wp-content/plugins/image-widget/lang/old/image_widget-fr_FR.mo new file mode 100644 index 0000000..310643a Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-fr_FR.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-fr_FR.po b/wp-content/plugins/image-widget/lang/old/image_widget-fr_FR.po new file mode 100644 index 0000000..dc84eb9 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-fr_FR.po @@ -0,0 +1,94 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# +# Authors +# Dominique Corbex , 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2010-12-11 17:43+0100\n" +"Last-Translator: Dominique Corbex \n" +"Language-Team: Dominique Corbex \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"x-editor:Emacs 23.1" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Affiche une seule image avec un titre, URL et une description" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Image Widget" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Insérer dans le Widget" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titre :" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Image :" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Changer d'image :" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Ajouter une image" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Légende :" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Lien :" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "Dans la même fenêtre" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "Ouvrir une nouvelle fenêtre" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Largeur :" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Hauteur :" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Alignement :" + +#: image-widget.php:313 +msgid "none" +msgstr "aucun" + +#: image-widget.php:314 +msgid "left" +msgstr "gauche" + +#: image-widget.php:315 +msgid "center" +msgstr "centre" + +#: image-widget.php:316 +msgid "right" +msgstr "droite" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Texte alternatif :" diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-it_IT.mo b/wp-content/plugins/image-widget/lang/old/image_widget-it_IT.mo new file mode 100644 index 0000000..4b77d38 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-it_IT.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-it_IT.po b/wp-content/plugins/image-widget/lang/old/image_widget-it_IT.po new file mode 100644 index 0000000..c49e050 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-it_IT.po @@ -0,0 +1,97 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2012-11-14 16:44+0100\n" +"Last-Translator: \n" +"Language-Team: Rüdiger Weiß \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Czech\n" +"X-Poedit-Country: CZECH REPUBLIC\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Mostra una singola immagine con un Titolo, URL e una Descrizione" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Widget Immagine" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Inserisci in Widget" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titolo:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Immagine:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Cambia Immagine" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Aggiungi Immagine" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Didascalia:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Link:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "Rimani nella Finestra" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "Apri Nuova Finestra" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Larghezza:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Altezza:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Allineamento:" + +#: image-widget.php:313 +msgid "none" +msgstr "nessuno" + +#: image-widget.php:314 +msgid "left" +msgstr "sinistra" + +#: image-widget.php:315 +msgid "center" +msgstr "centro" + +#: image-widget.php:316 +msgid "right" +msgstr "destra" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Testo Alternativo:" + diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-ja.mo b/wp-content/plugins/image-widget/lang/old/image_widget-ja.mo new file mode 100644 index 0000000..22f7cc4 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-ja.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-ja.po b/wp-content/plugins/image-widget/lang/old/image_widget-ja.po new file mode 100644 index 0000000..96eb8f5 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-ja.po @@ -0,0 +1,96 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-06-21 00:00+0000\n" +"PO-Revision-Date: 2011-06-21 00:00+0000\n" +"Last-Translator: Takayuki Miyauchi \n" +"Language-Team: Rüdiger Weiß \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Japanese\n" +"X-Poedit-Country: Japan\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "å˜ä¸€ã®ç”»åƒã‚’表示ã—ã¾ã™ã€‚" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "ç”»åƒã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆ" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "ウィジェットã«æŒ¿å…¥" + +#: image-widget.php:265 +msgid "Title:" +msgstr "タイトル:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "ç”»åƒ:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "ç”»åƒã‚’変更" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "ç”»åƒã‚’追加" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "見出ã—:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "リンク:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "åŒã˜ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "æ–°ã—ã„ウインドウ" + +#: image-widget.php:305 +msgid "Width:" +msgstr "å¹…:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "高ã•:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "é…ç½®:" + +#: image-widget.php:313 +msgid "none" +msgstr "ãªã—" + +#: image-widget.php:314 +msgid "left" +msgstr "å·¦" + +#: image-widget.php:315 +msgid "center" +msgstr "中央" + +#: image-widget.php:316 +msgid "right" +msgstr "å³" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "代替テキスト:" diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-nl_NL.mo b/wp-content/plugins/image-widget/lang/old/image_widget-nl_NL.mo new file mode 100644 index 0000000..9bb5611 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-nl_NL.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-nl_NL.po b/wp-content/plugins/image-widget/lang/old/image_widget-nl_NL.po new file mode 100644 index 0000000..95f1b1e --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-nl_NL.po @@ -0,0 +1,96 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2012-06-06 10:49+0100\n" +"Last-Translator: Presis \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Dutch\n" +"X-Poedit-Country: DUTCH\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" +"Language-Team: \n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Toon een afbeelding met een Titel, URL en een Omschrijving" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Afbeelding" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "In Widget invoegen" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titel:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Afbeelding:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Afbeelding wijzigen" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Afbeelding kiezen" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Onderschrift:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Link:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "open in zelfde venster" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "open in nieuw venster" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Breedte:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Hoogte:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Uitlijning:" + +#: image-widget.php:313 +msgid "none" +msgstr "geen" + +#: image-widget.php:314 +msgid "left" +msgstr "links" + +#: image-widget.php:315 +msgid "center" +msgstr "midden" + +#: image-widget.php:316 +msgid "right" +msgstr "rechts" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Alternatieve tekst:" + diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-pl_PL.mo b/wp-content/plugins/image-widget/lang/old/image_widget-pl_PL.mo new file mode 100644 index 0000000..a7efca2 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-pl_PL.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-pl_PL.po b/wp-content/plugins/image-widget/lang/old/image_widget-pl_PL.po new file mode 100644 index 0000000..e88d4f5 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-pl_PL.po @@ -0,0 +1,97 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2011-07-02 13:34+0100\n" +"Last-Translator: Åukasz KliÅ› \n" +"Language-Team: Rüdiger Weiß \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Polish\n" +"X-Poedit-Country: POLAND\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Obrazek z tytuÅ‚em, podpisem i odnoÅ›nikiem." + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Widget obrazkowy" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Dodaj do widgeta" + +#: image-widget.php:265 +msgid "Title:" +msgstr "TytuÅ‚:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Obrazek:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "ZmieÅ„ obrazek" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Dodaj obrazek" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Podpis:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "OdnoÅ›nik:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "otwórz w tym samym oknie" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "otwórz w nowym oknie" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Szerokość:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Wysokość:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Wyrównanie:" + +#: image-widget.php:313 +msgid "none" +msgstr "żadne" + +#: image-widget.php:314 +msgid "left" +msgstr "do lewej" + +#: image-widget.php:315 +msgid "center" +msgstr "do Å›rodka" + +#: image-widget.php:316 +msgid "right" +msgstr "do prawej" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Alternatywny tekst dla obrazka" + diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-pt_BR.mo b/wp-content/plugins/image-widget/lang/old/image_widget-pt_BR.mo new file mode 100644 index 0000000..63e4d14 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-pt_BR.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-pt_BR.po b/wp-content/plugins/image-widget/lang/old/image_widget-pt_BR.po new file mode 100644 index 0000000..cb1adbb --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-pt_BR.po @@ -0,0 +1,97 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Gustavo Machado , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2010-10-13 17:53-0300\n" +"Last-Translator: Gustavo Machado \n" +"Language-Team: Gustavo Machado \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Mostra uma única imagem com título, link e descrição" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Widget de Imagens" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Inserir no Widget" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Título:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Imagem:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Modificar Imagem:" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Adicionar Imagem:" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Legenda:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Link:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "Abrir na Mesma Janela" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "Abrir em Nova Janela" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Comprimento:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Altura:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Alinhamento:" + +#: image-widget.php:313 +msgid "none" +msgstr "nenhum" + +#: image-widget.php:314 +msgid "left" +msgstr "esquerda" + +#: image-widget.php:315 +msgid "center" +msgstr "centro" + +#: image-widget.php:316 +msgid "right" +msgstr "direita" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Texto Alternativo" + diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-ro_RO.mo b/wp-content/plugins/image-widget/lang/old/image_widget-ro_RO.mo new file mode 100644 index 0000000..16ed419 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-ro_RO.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-ro_RO.po b/wp-content/plugins/image-widget/lang/old/image_widget-ro_RO.po new file mode 100644 index 0000000..949935f --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-ro_RO.po @@ -0,0 +1,96 @@ +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2012-03-27 14:22+0200\n" +"X-Poedit-Language: Romanian\n" +"X-Poedit-Country: Romania\n" +"Language-Team: Web Geeks\n" +"Last-Translator: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Casetă de prezentare o singură imagine cu un titlu, URL-ul, precum ÅŸi o descriere" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Imagine Widget" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Inserare în Widget" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titlu:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Imagine:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Modificare imagine" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "AdăugaÅ£i imagini" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Legendă:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Link-ul:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "StaÅ£i în fereastra" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "DeschideÅ£i fereastra noua" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Lăţime:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "ÃŽnălÅ£ime:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Align:" + +#: image-widget.php:313 +msgid "none" +msgstr "nici unul" + +#: image-widget.php:314 +msgid "left" +msgstr "stânga" + +#: image-widget.php:315 +msgid "center" +msgstr "Centrul de" + +#: image-widget.php:316 +msgid "right" +msgstr "dreptul de" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Text alternativ:" + diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-sv_SE.mo b/wp-content/plugins/image-widget/lang/old/image_widget-sv_SE.mo new file mode 100644 index 0000000..8050ec7 Binary files /dev/null and b/wp-content/plugins/image-widget/lang/old/image_widget-sv_SE.mo differ diff --git a/wp-content/plugins/image-widget/lang/old/image_widget-sv_SE.po b/wp-content/plugins/image-widget/lang/old/image_widget-sv_SE.po new file mode 100644 index 0000000..0e57c89 --- /dev/null +++ b/wp-content/plugins/image-widget/lang/old/image_widget-sv_SE.po @@ -0,0 +1,97 @@ +# Translation of the Image Widget 3.1.4 WordPress plugin. +# This file is distributed under the same license as the the Image Widget package. +# Rüdiger Weiß , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Image Widget 3.1.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-01-30 14:15+0100\n" +"PO-Revision-Date: 2011-01-26 14:48+0100\n" +"Last-Translator: Tomas Lindhoff \n" +"Language-Team: Rüdiger Weiß \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-SourceCharset: iso-8859-1\n" +"X-Poedit-KeywordsList: __;_e\n" +"X-Poedit-Basepath: .\n" + +#: image-widget.php:33 +msgid "Showcase a single image with a Title, URL, and a Description" +msgstr "Visa upp en bild med titel, url och beskrivning" + +#: image-widget.php:35 +msgid "Image Widget" +msgstr "Bild Widget" + +#: image-widget.php:114 +msgid "Insert Into Widget" +msgstr "Infoga i Bild Widget" + +#: image-widget.php:265 +msgid "Title:" +msgstr "Titel:" + +#: image-widget.php:268 +msgid "Image:" +msgstr "Bild:" + +#: image-widget.php:272 +msgid "Change Image" +msgstr "Ändra bild" + +#: image-widget.php:272 +msgid "Add Image" +msgstr "Lägg till Bild" + +#: image-widget.php:295 +msgid "Caption:" +msgstr "Beskrivning:" + +#: image-widget.php:298 +msgid "Link:" +msgstr "Länk:" + +#: image-widget.php:301 +msgid "Stay in Window" +msgstr "Stanna i fönster" + +#: image-widget.php:302 +msgid "Open New Window" +msgstr "Öppna i nytt fönster" + +#: image-widget.php:305 +msgid "Width:" +msgstr "Bredd:" + +#: image-widget.php:308 +msgid "Height:" +msgstr "Höjd:" + +#: image-widget.php:311 +msgid "Align:" +msgstr "Justering:" + +#: image-widget.php:313 +msgid "none" +msgstr "ingen" + +#: image-widget.php:314 +msgid "left" +msgstr "vänster" + +#: image-widget.php:315 +msgid "center" +msgstr "centrerad" + +#: image-widget.php:316 +msgid "right" +msgstr "höger" + +#: image-widget.php:331 +msgid "Alternate Text:" +msgstr "Alternativ Text" + diff --git a/wp-content/plugins/image-widget/lib/ImageWidgetDeprecated.php b/wp-content/plugins/image-widget/lib/ImageWidgetDeprecated.php new file mode 100644 index 0000000..40a4a74 --- /dev/null +++ b/wp-content/plugins/image-widget/lib/ImageWidgetDeprecated.php @@ -0,0 +1,202 @@ +id_base = $widget->id_base; + } + + function admin_setup() { + global $pagenow; + if ( 'widgets.php' == $pagenow ) { + wp_enqueue_style( 'thickbox' ); + wp_enqueue_script( 'tribe-image-widget', plugins_url('resources/js/image-widget.deprecated.js', dirname(__FILE__)), array('thickbox'), Tribe_Image_Widget::VERSION, TRUE ); + } + elseif ( 'media-upload.php' == $pagenow || 'async-upload.php' == $pagenow ) { + wp_enqueue_script( 'tribe-image-widget-fix-uploader', plugins_url('resources/js/image-widget.deprecated.upload-fixer.js', dirname(__FILE__)), array('jquery'), Tribe_Image_Widget::VERSION, TRUE ); + add_filter( 'image_send_to_editor', array( $this,'image_send_to_editor'), 1, 8 ); + add_filter( 'gettext', array( $this, 'replace_text_in_thickbox' ), 1, 3 ); + add_filter( 'media_upload_tabs', array( $this, 'media_upload_tabs' ) ); + add_filter( 'image_widget_image_url', array( $this, 'https_cleanup' ) ); + } + $this->fix_async_upload_image(); + } + + function fix_async_upload_image() { + if(isset($_REQUEST['attachment_id'])) { + $id = (int) $_REQUEST['attachment_id']; + $GLOBALS['post'] = get_post( $id ); + } + } + + /** + * Test context to see if the uploader is being used for the image widget or for other regular uploads + * + * @author Modern Tribe, Inc. (Peter Chester) + */ + function is_sp_widget_context() { + if ( isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'],$this->id_base) !== false ) { + return true; + } elseif ( isset($_REQUEST['_wp_http_referer']) && strpos($_REQUEST['_wp_http_referer'],$this->id_base) !== false ) { + return true; + } elseif ( isset($_REQUEST['widget_id']) && strpos($_REQUEST['widget_id'],$this->id_base) !== false ) { + return true; + } + return false; + } + + /** + * Somewhat hacky way of replacing "Insert into Post" with "Insert into Widget" + * + * @param string $translated_text text that has already been translated (normally passed straight through) + * @param string $source_text text as it is in the code + * @param string $domain domain of the text + * @author Modern Tribe, Inc. (Peter Chester) + */ + function replace_text_in_thickbox($translated_text, $source_text, $domain) { + if ( $this->is_sp_widget_context() ) { + if ('Insert into Post' == $source_text) { + return __('Insert Into Widget', 'image_widget' ); + } + } + return $translated_text; + } + + /** + * Filter image_end_to_editor results + * + * @param string $html + * @param int $id + * @param string $alt + * @param string $title + * @param string $align + * @param string $url + * @param array $size + * @return string javascript array of attachment url and id or just the url + * @author Modern Tribe, Inc. (Peter Chester) + */ + function image_send_to_editor( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ) { + // Normally, media uploader return an HTML string (in this case, typically a complete image tag surrounded by a caption). + // Don't change that; instead, send custom javascript variables back to opener. + // Check that this is for the widget. Shouldn't hurt anything if it runs, but let's do it needlessly. + if ( $this->is_sp_widget_context() ) { + if ($alt=='') $alt = $title; + ?> + + is_sp_widget_context() ) { + unset($tabs['type_url']); + } + return $tabs; + } + + /** + * Adjust the image url on output to account for SSL. + * + * @param string $imageurl + * @return string $imageurl + * @author Modern Tribe, Inc. (Peter Chester) + */ + function https_cleanup( $imageurl = '' ) { + // TODO: 3.5: Document that this is deprecated??? + if( isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on" ) { + $imageurl = str_replace('http://', 'https://', $imageurl); + } else { + $imageurl = str_replace('https://', 'http://', $imageurl); + } + return $imageurl; + } + + + + /** + * Retrieve resized image URL + * + * @param int $id Post ID or Attachment ID + * @param int $width desired width of image (optional) + * @param int $height desired height of image (optional) + * @return string URL + * @author Modern Tribe, Inc. (Peter Chester) + */ + public static function get_image_url( $id, $width=false, $height=false ) { + /**/ + // Get attachment and resize but return attachment path (needs to return url) + $attachment = wp_get_attachment_metadata( $id ); + $attachment_url = wp_get_attachment_url( $id ); + if (isset($attachment_url)) { + if ($width && $height) { + $uploads = wp_upload_dir(); + $imgpath = $uploads['basedir'].'/'.$attachment['file']; + if (WP_DEBUG) { + error_log(__CLASS__.'->'.__FUNCTION__.'() $imgpath = '.$imgpath); + } + $image = self::resize_image( $imgpath, $width, $height ); + if ( $image && !is_wp_error( $image ) ) { + $image = path_join( dirname($attachment_url), basename($image) ); + } else { + $image = $attachment_url; + } + } else { + $image = $attachment_url; + } + if (isset($image)) { + return $image; + } + } + } + + public static function resize_image( $file, $max_w, $max_h ) { + if ( function_exists('wp_get_image_editor') ) { + $dest_file = $file; + if ( function_exists('wp_get_image_editor') ) { + $editor = wp_get_image_editor( $file ); + if ( is_wp_error( $editor ) ) + return $editor; + + $resized = $editor->resize( $max_w, $max_h ); + if ( is_wp_error( $resized ) ) + return $resized; + + $dest_file = $editor->generate_filename(); + $saved = $editor->save( $dest_file ); + + if ( is_wp_error( $saved ) ) + return $saved; + + } + return $dest_file; + } else { + return image_resize( $file, $max_w, $max_h ); + } + } + +} diff --git a/wp-content/plugins/image-widget/readme.txt b/wp-content/plugins/image-widget/readme.txt new file mode 100644 index 0000000..58a0a74 --- /dev/null +++ b/wp-content/plugins/image-widget/readme.txt @@ -0,0 +1,440 @@ +=== Image Widget === +Contributors: ModernTribe, peterchester, mattwiebe +Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4BSPTNFFY6AL6 +Tags: widget, image, ad, banner, simple, upload, sidebar, admin, thickbox, resize, arabic, brazilian portuguese, dutch, italian, japanese, spanish, swedish, widget-only +Requires at least: 3.5 +Tested up to: 3.6 +Stable tag: 4.0.8 + +== Description == + +A simple image widget that uses the native WordPress media manager to add image widgets to your site. + +* MU Compatible +* Handles image resizing and alignment +* Link the image +* Title and Description +* Very versatile. All fields are optional. +* Upload, link to external image, or select an image from your media collection using the built in thickbox browser. +* Supports override of template so that you can override the template for your theme! +* Responsive + +Supported Languages: + +* Arabic +* Brazilian Portuguese +* Dutch +* Italian +* Japanese +* Spanish +* Swedish + +If you would like your own language to be supported, please contribute translations here: + +http://wordpress.org/support/topic/image-widget-40-translations-needed-2 + +This plugin is actively supported and we will do our best to help you. In return we simply as 3 things: + +1. Help Out. If you see a question on the forum you can help with or have a great idea and want to code it up and submit a patch, that would be just plain awesome and we will shower your with praise. Might even be a good way to get to know us and lead to some paid work if you freelance. Also, we are happy to post translations if you provide them. +1. Donate - if this is generating enough revenue to support our time it makes all the difference in the world +https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=4BSPTNFFY6AL6 +1. Support us by buying our Premium plugins. In particular, check out our Events Calendar Pro http://tri.be/wordpress-events-calendar-pro/?src=imagewidget + +Note, we're also on github in case you want to add some pull requests or a fork! + +https://github.com/moderntribe/image-widget + +== Installation == + += Install = + +1. In your WordPress administration, go to the Plugins page +1. Activate the Image Widget plugin and a subpage for the plugin will appear + in your Manage menu. +1. Go to the Appearance > Widget page and place the widget in your sidebar in the Design + +If you find any bugs or have any ideas, please mail us. + +Please visit the forum for questions or comments: http://wordpress.org/tags/image-widget/ + += Requirements = + +* PHP 5.1 or above +* WordPress 3.5 or above + +== Documentation == + +The built in template can be overridden by files within your template. + += Default vs. Custom Templates = + +The Image Widget comes with a default template for the widget output. If you would like to alter the widget display code, create a new folder called "image-widget" in your template directory and copy over the "views/widget.php" file. + +Edit the new file to your hearts content. Please do not edit the one in the plugin folder as that will cause conflicts when you update the plugin to the latest release. + +New in 3.2: You may now also use the "sp_template_image-widget_widget.php" filter to override the default template behavior for .php template files. Eg: if you wanted widget.php to reside in a folder called my-custom-templates/ and wanted it to be called my-custom-name.php: + +`add_filter('sp_template_image-widget_widget.php', 'my_template_filter'); +function my_template_filter($template) { + return get_template_directory() . '/my-custom-templates/my-custom-name.php'; +}` + += Filters = + +There are a number of filters in the code that will allow you to override data as you see fit. The best way to learn what filters are available is always by simply searching the code for 'apply_filters'. But all the same, here are a few of the more essential filters: + +*widget_title* + +This is actually a pretty typical filter in widgets and is applied to the widget title. + +*widget_text* + +Another very typical widget filter that is applied to the description body text. This filter also takes 2 additional arguments for $args and $instance so that you can learn more about the specific widget instance in the process of filtering the content. + +*image_widget_image_attachment_id* + +Filters the attachment id of the image. +Accepts additional $args and $instance arguments. + +*image_widget_image_url* + +Filters the url of the image displayed in the widget. +Accepts additional $args and $instance arguments. +THIS IS DEPRECATED AND WILL EVENTUALLY BE DELETED + +*image_widget_image_width* + +Filters the display width of the image. +Accepts additional $args and $instance arguments. + +*image_widget_image_height* + +Filters the display height of the image. +Accepts additional $args and $instance arguments. + +*image_widget_image_maxwidth* + +Filters the inline max-width style of the image. Hint: override this to use this in responsive designs :) +Accepts additional $args and $instance arguments. +Return null to remove this css from the image output (defaults to '100%'). + +*image_widget_image_maxheight* + +Filters the inline max-height style of the image. +Accepts additional $args and $instance arguments. +Return null to remove this css from the image output (defaults to null) + +*image_widget_image_size* + +Filters the selected image 'size' corresponding to WordPress registered sizes. +If this is set to 'tribe_image_widget_custom' then the width and height are used instead. +Accepts additional $args and $instance arguments. + +*image_widget_image_align* + +Filters the display alignment of the image. +Accepts additional $args and $instance arguments. + +*image_widget_image_alt* + +Filters the alt text of the image. +Accepts additional $args and $instance arguments. + +*image_widget_image_link* + +Filters the url that the image links to. +Accepts additional $args and $instance arguments. + +*image_widget_image_link_target* + +Filters the link target of the image link. +Accepts additional $args and $instance arguments. + +*image_widget_image_attributes* + +Filters a list of image attributes used in the image output. Similar to 'wp_get_attachment_image_attributes' +Accepts $instance arguments + +*image_widget_link_attributes* + +Filters a list of attributes used in the image link. Similar to 'wp_get_attachment_image_attributes' +Accepts $instance arguments + += Have You Supported the Image Widget? = + +If so, then THANK YOU! Also, feel free to add this line to your wp-config.php file to prevent the image widget from displaying a message after upgrades. + +define( 'I_HAVE_SUPPORTED_THE_IMAGE_WIDGET', true ); + +For more info on the philosophy here, check out our blog post: http://tri.be/define-i-have-donated-true/ + +== Changelog == + += 4.0.8 = + +* Responsive support in honor of Josh Broton's WordCamp SF talk about responsive design. max-width now defaults to 100%; + += 4.0.7 = + +* Add Spanish translation (thank you @mzaweb) + += 4.0.6 = + +* Rename all language files and implement a couple more minor language bug fixes a la @understandard +* Added support for the constant 'I_HAVE_SUPPORTED_THE_IMAGE_WIDGET' to turn off the message that appears after upgrading. (@crienoloog, i hope this puts a smile on your face.) + += 4.0.5 = + +* Added Japanese (and fixed a minor language string bug - thank you @understandard) +* Added Arabic (thank you @modmenpc) + += 4.0.4 = + +Super minor fix to enable saving of a blank caption. (thanks @crdunst) + += 4.0.3 = + +Fixed javascript bug caused by log message. + += 4.0.2 = + +Fix oversized screenshot. + += 4.0.1 = + +Language updates: + +* Brazilian Portuguese (Thank you @guhemama) +* Spanish (Thank you @javiandgo) + += 4.0 = + +* Significant upgrades to support the new WordPress media manager (Thank you @kyleunzicker, @dancameron, @dudekpj, @JakePT) +* Significant improvements the administrative user interface. +* Abstracted support for older versions of WordPress so that that we don't break old versions with this upgrade (Though there's no reason you should up grade this widget and NOT your WP install! You should always keep WordPress core up to date!) +* Added 'image_widget_link_attributes' filter to easily process link attributes and to default to having the link 'title' be the 'alt' or 'title' content. (Thank you @ZeroGravity, @pixelyzed, and @javiandgo) +* Updated Translations +** Swedish (Tomas Lindhoff ) +** Dutch (Presis ) +** Italian (@maxgx) + += 3.3.8 = + +* Added italian translations courtesy of @maxgx + += 3.3.7 = + +* Add filters so that people can more easily adjust the output of the widget as per @TCBarrett's request. + += 3.3.6 = + +* Czech translation courtesy of Vladislav Musilek at blogísek (http://blog.musilda.cz). + += 3.3.5 = + +* Fix filtered media library inserts thanks to @miraclemaker as well as @oxyc, @BjornW and innumerable others in the support forum (http://wordpress.org/support/topic/plugin-image-widget-add-image-upload-an-image-select-insert-into-widget-no-image-is-shown) +* Adjusted HTTPS/SSL handling so that it's only applied in the view. ( thanks @TheFluffyDoneky and @aerobrent ) +* Added a filter for the image url: 'image_widget_image_url' +* Add Dutch language translation ( thank you Carsten Alsemgeest - presis.nl ) +* Rename all language files to lowercase image_widget to match the localization string. + += 3.3.4 = + +* Fix javascript bugs in the widget admin UI. ( thanks for filing this @joo-joo ) +* Fix notices in php error log. +* Add widget description filter $args and $instance ( thanks @jeffreyzinn ) +* Fixed localization and renamed key to 'image-widget' + += 3.3.3 = + +* Romanian translation courtesy of Alexander Ovsov at Web Geek Science (http://webhostinggeeks.com). + += 3.3.2 = + +* Remove extra esc_attr() from the $title display. (Thank you @romaspit) + += 3.3.1 = + +* Add minor security updates. +* Update readme, thumbnails and other minor descriptors. + += 3.3 = + +* Fix to allow the widget to work in the non-async (browser) uploader. Props Bjorn Wijers + += 3.2.11 = + +* Yet another minor JS fix to hopefully address issues of lightbox not working + += 3.2.10 = + +* Fix JS typo. + += 3.2.9 = + +* Minor JS fix to hopefully address issues of lightbox not working +* Use new the new [jQuery.fn.on](http://api.jquery.com/on/) method for forward compatibility. + += 3.2.8 = + +* Minor bugfix courtesy of Takayuki Miyauchi (@miya0001) +* Polish translation courtesy of Åukasz KliÅ› + += 3.2.7 = + +* Update javascript to work with the new version of WordPress (thanks Matt Wiebe!!! @mattwiebe) +* Added Japanese translation courtesy of Takayuki Miyauchi (@miya0001) + += 3.2.6 = + +* Add HTTPS support courtesy of David Paul Ellenwood (DPE@SGS) + += 3.2.5 = + +* Added Swedish translation courtesy of Tomas Lindhoff (@Tomas) + += 3.2.4 = + +* Added javascript conflict prevention code thanks to @rcain. + += 3.2.3 = + +* Added French translation courtesy of Dominique Corbex (@Domcox) + += 3.2.2 = + +* Added Portuguese translation courtesy of Gustavo Machado + += 3.2.1 = + +* Fix image widget public declaration bug. + += 3.2 = + +* Abstract views for widget output and widget admin. +* Support theme override of the widget output! Now you can layout the widget however you'd like. +* Added filter to override template call. + += 3.1.6 = + +* Fixed Wordpress 3.0 bugs. (Thanks @kenvunz) + += 3.1.5 = + +Fixed PHP 5 bug. Removed 'public' declaration. http://wordpress.org/support/topic/362167 Thanks @mpwalsh8, @jleuze, @PoLaR5, @NancyA and @phoney36 + += 3.1.4 = + +* Added support for ALT tags. If no alt tag is entered the title is used. + += 3.1.3 = + +* Added German language support (Thank you Rüdiger Weiß!!!) + += 3.1.2 = + +* Fix bug: XHTML Compliance (thanks HGU for offering a patch and thanks @webmasterlistingarts for filing the bug) +* Replaced `

    ` with `

    "; + if ( empty( $loginRadiusSecret ) ) { + $loginRadiusResult = ''; + }elseif ( ! $loginRadiusObject->login_radius_validate_key( $loginRadiusApiKey ) || ! $loginRadiusObject->login_radius_validate_key( $loginRadiusSecret ) ) { + $loginRadiusResult = $loginRadiusError; + }else { + $loginRadiusResult = "
    "; + } + // return/print interface HTML + if ( ! $newInterface ) { + echo $loginRadiusResult; + }else { + return $loginRadiusResult; + } +} + +/** + * Display social login interface in widget area. + */ +function login_radius_widget_connect_button(){ + if ( ! is_user_logged_in() ) { + login_radius_get_interface(); + } + // On user Login show user details. + if ( is_user_logged_in() && ! is_admin() ) { + global $loginRadiusSettings, $user_ID; + $size = '60'; + $user = get_userdata( $user_ID ); + echo "
    "; + $currentSocialId = get_user_meta( $user_ID, 'loginradius_current_id', true ); + // hold the value of avatar option + $socialAvatar = ''; + $avatarType = 'thumbnail'; + if ( isset( $loginRadiusSettings['LoginRadius_socialavatar'] ) ) { + $socialAvatar = $loginRadiusSettings['LoginRadius_socialavatar']; + if ( $socialAvatar == 'largeavatar' ) { + $avatarType = 'picture'; + } + } + if ( $socialAvatar && ( $userAvatar = get_user_meta( $user_ID, 'loginradius_'.$currentSocialId.'_'.$avatarType, true ) ) !== false && strlen( trim( $userAvatar ) ) > 0 ) { + echo 'user social avatar'; + }elseif ( $socialAvatar && ( $userAvatar = get_user_meta( $user_ID, 'loginradius_' . $avatarType, true ) ) !== false && strlen( trim( $userAvatar ) ) > 0 ) { + echo 'user social avatar'; + }else { + echo @get_avatar( $user_ID, $size, $default, $alt ); + } + echo "
    "; + // username separator + if ( ! isset( $loginRadiusSettings['username_separator'] ) || $loginRadiusSettings['username_separator'] == 'dash' ) { + echo $user->user_login; + }elseif ( isset( $loginRadiusSettings['username_separator'] ) && $loginRadiusSettings['username_separator'] == 'dot' ) { + echo str_replace( '-', '.', $user->user_login ); + }else { + echo str_replace( '-', ' ', $user->user_login ); + } + if ( $loginRadiusSettings['LoginRadius_loutRedirect'] == 'custom' && ! empty( $loginRadiusSettings['custom_loutRedirect'] ) ) { + $redirect = htmlspecialchars( $loginRadiusSettings['custom_loutRedirect'] ); + }else { + $redirect = home_url();?> + +
    0 ) { + $redirectionUrl = trim( $customRedirectUrl ); + }else { + $redirectionUrl = site_url().'/'; + } + break; + default: + case 'samepage': + $redirectionUrl = login_radius_get_protocol(). $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; + break; + } + } + } + ?> + + var islrsharing = true; var islrsocialcounter = true; '; + $sharingScript .= ''; + echo $sharingScript; +} + +/** + * Auto approve comments if user logs in through social login. + */ +function login_radius_approve_comment( $approved ) { + global $loginRadiusSettings; + if ( empty( $approved ) ) { + if ( $loginRadiusSettings['LoginRadius_autoapprove'] == '1' ) { + $user_id = get_current_user_id(); + if ( is_numeric( $user_id ) ) { + $commentUser = get_user_meta( $user_id, 'loginradius_provider_id', true ); + if ( $commentUser !== false ) { + $approved = 1; + } + } + } + } + return $approved; +} +// check if auto approve comment option is checked +if ( isset( $loginRadiusSettings['LoginRadius_autoapprove'] ) && $loginRadiusSettings['LoginRadius_autoapprove'] == '1' ) { + add_action( 'pre_comment_approved', 'login_radius_approve_comment' ); +} + +/** + * Shortcode for social sharing. + */ +function login_radius_sharing_shortcode( $params ) { + $tempArray = array( + 'style' => '', + 'type' => 'horizontal', + ); + extract( shortcode_atts( $tempArray , $params ) ); + $return = '
    '', + ); + extract( shortcode_atts( $tempArray , $params ) ); + $return = '
    '', + ); + extract( shortcode_atts( $tempArray , $params ) ); + if ( $style != '' ) { + $return .= '
    '; + } + $return .= login_radius_get_interface( true ); + if ( $style != '' ) { + $return .= '
    '; + } + return $return; +} +add_shortcode( 'LoginRadius_Login', 'login_radius_login_shortcode' ); + +// shortcode to enable Social Linking interface +add_shortcode( 'LoginRadius_Linking', 'login_radius_widget_linking_button' ); + +// replicate Social Login configuration to the subblogs in the multisite network +if ( is_multisite()&& is_main_site() ) { + // replicate the social login config to the new blog created in the multisite network + function login_radius_replicate_settings( $blogId ) { + global $loginRadiusSettings; + add_blog_option( $blogId, 'LoginRadius_settings', $loginRadiusSettings ); + } + add_action( 'wpmu_new_blog', 'login_radius_replicate_settings' ); + // update the social login options in all the old blogs + function login_radius_update_old_blogs( $oldConfig ) { + $newConfig = get_option( 'LoginRadius_settings' ); + if ( isset( $newConfig['multisite_config'] ) && $newConfig['multisite_config'] == '1' ) { + $blogs = get_blog_list( 0, 'all' ); + foreach ( $blogs as $blog ) { + update_blog_option( $blog['blog_id'], 'LoginRadius_settings', $newConfig ); + } + } + } + add_action( 'update_option_LoginRadius_settings', 'login_radius_update_old_blogs' ); +} + +/** + * Social Linking widget + */ +function login_radius_widget_linking_button(){ + if ( ! is_user_logged_in() ) return ''; + $html = ''; + if ( isset( $_GET['lrlinked'] ) ) { + if ( $_GET['lrlinked'] == 1 ) { + $html .= '
    '; + $html .= __( 'Account mapped successfully', 'LoginRadius' ); + $html .= '
    '; + }else { + $html .= '
    '; + $html .= __( 'This account is already mapped', 'LoginRadius' ); + $html .= '
    '; + } + } + // function call + login_radius_mapping_status(); + global $loginRadiusSettings, $loginRadiusObject, $user_ID; + if ( ! ( $loginRadiusObject->login_radius_validate_key( trim( $loginRadiusSettings['LoginRadius_apikey'] ) ) && $loginRadiusObject->login_radius_validate_key( trim( $loginRadiusSettings['LoginRadius_secret'] ) ) ) ) { + $html .= '
    ' . __( 'Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com', 'LoginRadius' ) . '
    '; + } + login_radius_login_script( true ); + $html .= login_radius_get_interface( true ); + // show mapping list + $loginRadiusMappings = get_user_meta( $user_ID, 'loginradius_mapped_provider', false ); + $loginRadiusMappings = array_unique( $loginRadiusMappings ); + $connected = false; + $loginRadiusLoggedIn = get_user_meta( $user_ID, 'loginradius_current_id', true ); + $totalAccounts = get_user_meta( $user_ID, 'loginradius_provider_id' ); + $location = login_radius_get_protocol(). $_SERVER['HTTP_HOST'] . remove_query_arg( array( 'lrlinked', 'loginradius_linking', 'loginradius_post', 'loginradius_invite', 'loginRadiusMappingProvider', 'loginRadiusMap', 'loginRadiusMain' ) ); + $html .= ''; + if ( count( $loginRadiusMappings ) > 0 ) { + foreach ( $loginRadiusMappings as $map ) { + $loginRadiusMappingId = get_user_meta( $user_ID, 'loginradius_'.$map.'_id' ); + if ( count( $loginRadiusMappingId ) > 0 ) { + foreach ( $loginRadiusMappingId as $tempId ) { + $html .= ''; + if ( $loginRadiusLoggedIn == $tempId ) { + $append = 'Currently '; + $connected = true; + }else { + $append = ''; + } + $html .= ''; + $html .= ''; + } + } + } + } + $map = get_user_meta( $user_ID, 'loginradius_provider', true ); + if ( $map != false ) { + $html .= ''; + $tempId = $loginRadiusLoggedIn; + $append = ! $connected ? 'Currently ' : ''; + $html .= ''; + $html .= ''; + } + $html .= '
    ' . $append; + $html .= __( 'Connected with', 'LoginRadius' ); + $html .= ' ' . ucfirst( $map ) . ' '; + if ( count( $totalAccounts ) != 1 ) { + $html .= ''; + } + $html .= '
    ' . $append; + $html .= __( 'Connected with', 'LoginRadius' ); + $html .= ' ' . ucfirst( $map ) . ' '; + if ( count( $totalAccounts ) != 1 ) { + $html .= ''; + } + $html .= '
    '; + return $html; +} + +/** + * Update mapping fields in database. + */ +function login_radius_map_id( $id, $lrid, $provider, $thumb, $pictureUrl ) { + add_user_meta( $id, 'loginradius_provider_id', $lrid ); + add_user_meta( $id, 'loginradius_mapped_provider', $provider ); + add_user_meta( $id, 'loginradius_'.$provider.'_id', $lrid ); + if ( $thumb != '' ) { + add_user_meta( $id, 'loginradius_'.$lrid.'_thumbnail', $thumb ); + } + if ( $pictureUrl != '' ) { + add_user_meta( $id, 'loginradius_'.$lrid.'_picture', $pictureUrl ); + } +} + +/** + * Check if ID can be mapped. + */ +function login_radius_mapping_status(){ + global $loginRadiusObject, $wpdb, $loginRadiusSettings, $user_ID, $post; + // if remove button clicked + if ( isset( $_GET['loginRadiusMap'] ) && ! empty( $_GET['loginRadiusMap'] ) && isset( $_GET['loginRadiusMappingProvider'] ) && ! empty( $_GET['loginRadiusMappingProvider'] ) ) { + $loginRadiusMapId = trim( $_GET['loginRadiusMap'] ); + $loginRadiusMapProvider = trim( $_GET['loginRadiusMappingProvider'] ); + // remove account + delete_user_meta( $user_ID, 'loginradius_provider_id', $loginRadiusMapId ); + if ( isset( $_GET['loginRadiusMain'] ) ) { + delete_user_meta( $user_ID, 'loginradius_thumbnail' ); + delete_user_meta( $user_ID, 'loginradius_provider' ); + }else { + delete_user_meta( $user_ID, 'loginradius_'.$loginRadiusMapId.'_thumbnail' ); + $wpdb->query( $wpdb->prepare( 'delete FROM ' . $wpdb->usermeta . ' WHERE user_id = %d AND meta_key = \'loginradius_mapped_provider\' AND meta_value = %s limit 1', $user_ID, $loginRadiusMapProvider ) ); + delete_user_meta( $user_ID, 'loginradius_'.$loginRadiusMapProvider.'_id', $loginRadiusMapId ); + } + ?> + + login_radius_get_userprofile_data( $loginRadiusSecret ); + if ( $loginRadiusObject->IsAuthenticated == true && is_user_logged_in() ) { + $loginRadiusMappingData['id'] = ( ! empty( $loginRadiusUserprofile->ID ) ? $loginRadiusUserprofile->ID : '' ); + $loginRadiusMappingData['provider'] = ( ! empty( $loginRadiusUserprofile->Provider ) ? $loginRadiusUserprofile->Provider : '' ); + $loginRadiusMappingData['thumbnail'] = ( ! empty( $loginRadiusUserprofile->ThumbnailImageUrl ) ? trim( $loginRadiusUserprofile->ThumbnailImageUrl ) : '' ); + if ( empty( $loginRadiusMappingData['thumbnail'] ) && $loginRadiusMappingData['provider'] == 'facebook' ) { + $loginRadiusMappingData['thumbnail'] = 'http://graph.facebook.com/' . $loginRadiusMappingData['id'] . '/picture?type=large'; + } + $loginRadiusMappingData['pictureUrl'] = ( ! empty( $loginRadiusUserprofile->ImageUrl ) ? trim( $loginRadiusUserprofile->ImageUrl ) : '' ); + $wp_user_id = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key='loginradius_provider_id' AND meta_value = %s", $loginRadiusMappingData['id'] ) ); + if ( ! empty( $wp_user_id ) ) { + // Check if verified field exist or not. + $loginRadiusVfyExist = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id = %d AND meta_key = 'loginradius_isVerified'", $wp_user_id ) ); + if ( ! empty( $loginRadiusVfyExist ) ) { // if verified field exists + $loginRadiusVerify = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM " . $wpdb->usermeta . " WHERE user_id = %d AND meta_key = 'loginradius_isVerified'", $wp_user_id ) ); + if ( $loginRadiusVerify != '1' ) { + login_radius_map_id( $user_ID, $loginRadiusMappingData['id'], $loginRadiusMappingData['provider'], $loginRadiusMappingData['thumbnail'], $loginRadiusMappingData['pictureUrl'] ); + return true; + }else { + //account already mapped + return false; + } + }else { + return false; + } + }else { + $loginRadiusMappingProvider = $loginRadiusMappingData['provider']; + $wp_user_lrid = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key='".$loginRadiusMappingProvider."Lrid' AND meta_value = %s", $loginRadiusMappingData['id'] ) ); + if ( ! empty( $wp_user_lrid ) ) { + $lrVerified = get_user_meta( $wp_user_lrid, $loginRadiusMappingProvider.'LrVerified', true ); + if ( $lrVerified == '1' ) { // Check if lrid is the same that verified email. + // account already mapped + return false; + }else { + // map account + login_radius_map_id( $user_ID, $loginRadiusMappingData['id'], $loginRadiusMappingData['provider'], $loginRadiusMappingData['thumbnail'], $loginRadiusMappingData['pictureUrl'] ); + return true; + } + }else { + // map account + login_radius_map_id( $user_ID, $loginRadiusMappingData['id'], $loginRadiusMappingData['provider'], $loginRadiusMappingData['thumbnail'], $loginRadiusMappingData['pictureUrl'] ); + return true; + } + } + } +} + +/** + * Mapping functionality. + */ +function login_radius_mapping(){ + global $pagenow,$user_ID; + if ( $pagenow == 'profile.php' ) { + if ( isset( $_GET['lrlinked'] ) ) { + if ( $_GET['lrlinked'] == 1 ) { + echo '
    '; + _e( 'Account mapped successfully', 'LoginRadius' ); + echo '
    '; + }else { + echo '
    '; + _e( 'This account is already mapped', 'LoginRadius' ); + echo '
    '; + } + } + login_radius_mapping_status(); + ?> +
    +
    +

    +
    + + + + + + + + 0 ) { + foreach ( $loginRadiusMappings as $map ) { + $loginRadiusMappingId = get_user_meta( $user_ID, 'loginradius_'.$map.'_id' ); + if ( count( $loginRadiusMappingId ) > 0 ) { + foreach ( $loginRadiusMappingId as $tempId ) { + ?> + + Currently '; + $connected = true; + }else { + $append = ''; + } + echo ' + + + Currently ' : ''; + echo ' + +
    + +
    '.$append; + echo _e( 'Connected with', 'LoginRadius' ); + echo ' '. ucfirst( $map ) . ' '; + if ( count( $totalAccounts ) != 1 ) { + ?> + ?loginRadiusMap=&loginRadiusMappingProvider=' >' /> + '; + ?> +
    '.$append; + echo _e( 'Connected with', 'LoginRadius' ); + echo ' '. ucfirst( $map ) . ' '; + if ( count( $totalAccounts ) != 1 ) { + ?> + ?loginRadiusMain=1&loginRadiusMap=&loginRadiusMappingProvider=' >' /> + '; + ?> +
    +
    +
    +
    + '; + } +} +add_action( 'admin_notices', 'login_radius_mapping' ); + +/** + * Delete the field holding current provider information. + */ +function login_radius_delete_meta(){ + global $user_ID; + delete_user_meta( $user_ID, 'loginradius_current_id' ); +} +add_action( 'clear_auth_cookie', 'login_radius_delete_meta' ); + +// check if provider column to be shown in the user list. +if ( ( isset( $loginRadiusSettings['LoginRadius_noProvider'] ) && $loginRadiusSettings['LoginRadius_noProvider'] != '1' ) || ( isset( $loginRadiusSettings['LoginRadius_enableUserActivation'] ) && $loginRadiusSettings['LoginRadius_enableUserActivation'] == '1' ) ) { + // add provider column in the user list + function login_radius_add_provider_column( $columns ) { + global $loginRadiusSettings; + if ( isset( $loginRadiusSettings['LoginRadius_noProvider'] ) && $loginRadiusSettings['LoginRadius_noProvider'] != '1' ) { + $columns['loginradius_provider'] = 'LoginRadius Provider'; + } + if ( isset( $loginRadiusSettings['LoginRadius_enableUserActivation'] ) && $loginRadiusSettings['LoginRadius_enableUserActivation'] == '1' ) { + $columns['loginradius_status'] = 'Status'; + } + return $columns; + } + add_filter( 'manage_users_columns', 'login_radius_add_provider_column' ); + // show social ID provider in the provider column + function login_radius_show_provider( $value, $columnName, $userId ) { + global $loginRadiusSettings; + if ( isset( $loginRadiusSettings['LoginRadius_noProvider'] ) && $loginRadiusSettings['LoginRadius_noProvider'] != '1' ) { + $lrProvider = get_user_meta( $userId, 'loginradius_provider', true ); + $lrProvider = ( $lrProvider == false ) ? '-' : $lrProvider; + if ( 'loginradius_provider' == $columnName ) { + return ucfirst( $lrProvider ); + } + } + if ( isset( $loginRadiusSettings['LoginRadius_enableUserActivation'] ) && $loginRadiusSettings['LoginRadius_enableUserActivation'] == '1' ) { + if ( $userId == 1 ) { + return; + } + if ( ( $lrStatus = get_user_meta( $userId, 'loginradius_status', true ) ) == '' || $lrStatus == '1' ) { + $lrStatus = '1'; + }else { + $lrStatus = '0'; + } + if ( 'loginradius_status' == $columnName ) { + if ( $lrStatus == '1' ) { + return ''; + }else { + return ''; + } + } + } + } + add_action( 'manage_users_custom_column', 'login_radius_show_provider', 10, 3 ); + + // add javascript on users.php in admin + function loginradius_add_script(){ + global $parent_file; + if ( $parent_file == 'users.php' ) { + ?> + + data->ID ) ) { + $id = $tempUser->data->ID; + if ( get_user_meta( $id, 'loginradius_status', true ) === '0' ) { + global $loginRadiusLoginAttempt; + $loginRadiusLoginAttempt = 1; + return null; + } + } + return $user; +} +add_filter( 'authenticate', 'login_radius_filter_login', 40, 3 ); + +/** + * Display error message to inactive user + */ +function login_radius_error_message( $error ) { + global $loginRadiusLoginAttempt; + //check if inactive user has attempted to login + if ( $loginRadiusLoginAttempt == 1 ) { + $error = __( 'Your account is currently inactive. You will be notified through email, once Administrator activates your account.', 'LoginRadius' ); + } + return $error; +} +add_filter( 'login_errors','login_radius_error_message' ); + +/** + * Check if LR API Key and Secret are saved + */ +function login_radius_api_secret_saved() { + global $loginRadiusSettings; + if ( ! isset( $loginRadiusSettings['LoginRadius_apikey'] ) || trim( $loginRadiusSettings['LoginRadius_apikey'] ) == '' || ! isset( $loginRadiusSettings['LoginRadius_secret'] ) || trim( $loginRadiusSettings['LoginRadius_secret'] ) == '' ) { + return false; + } + return true; +} + +/** + * Check if scripts are to be loaded in footer + */ +function login_radius_scripts_in_footer_enabled() { + global $loginRadiusSettings; + //echo 'test'.$loginRadiusSettings['scripts_in_footer']; + //die; + if( isset( $loginRadiusSettings['scripts_in_footer'] ) && $loginRadiusSettings['scripts_in_footer'] == 1 ) { + return true; + } + return false; +} \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/LoginRadius-location.php b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-location.php new file mode 100644 index 0000000..9a5fdb4 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-location.php @@ -0,0 +1,63 @@ + + jQuery ( document ) .ready ( function(){ '. + 'var loginDiv = jQuery ( "div#login" );'; + if ( $lrLogin && $lrRegister ) { + $script .= 'if ( jQuery ( "#loginform" ) .length || jQuery ( "#registerform" ) .length || jQuery ( "#lostpasswordform" ) .length ) + { + jQuery ( "#loginform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "#lostpasswordform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "#registerform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "div#login" ) .css ( \'width\', \'910px\' ); + loginDiv.append ( "

    OR

    " ); + + if ( jQuery ( "#registerform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + }else if ( jQuery ( "#lostpasswordform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + jQuery ( "#lostpasswordform" ) .css ( "height", "178px" ); + }else if ( jQuery ( "#loginform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + jQuery ( "#loginform" ) .css ( "height", "178px" ); + } + }'; + }elseif ( $lrLogin ) { + $script .= 'if ( jQuery ( "#loginform" ) .length || jQuery ( "#lostpasswordform" ) .length ) { + jQuery ( "#loginform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "#lostpasswordform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "div#login" ) .css ( \'width\', \'910px\' ); + loginDiv.append ( "

    OR

    " ); + + if ( jQuery ( "#lostpasswordform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + jQuery ( "#lostpasswordform" ) .css ( "height", "178px" ); + }else if ( jQuery ( "#loginform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + jQuery ( "#loginform" ) .css ( "height", "178px" ); + } + }'; + }elseif ( $lrRegister ) { + $script .= 'if ( jQuery ( "#registerform" ) .length || jQuery ( "#lostpasswordform" ) .length ) { + jQuery ( "#registerform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "#lostpasswordform" ) .wrap ( "
    " ) .after ( jQuery ( "#nav" ) ) .after ( jQuery ( "#backtoblog" ) ); + jQuery ( "div#login" ) .css ( \'width\', \'910px\' ); + loginDiv.append ( "

    OR

    " ); + + if ( jQuery ( "#lostpasswordform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + jQuery ( "#lostpasswordform" ) .css ( "height", "178px" ); + }else if ( jQuery ( "#registerform" ) .length ) { + loginDiv.append ( "
    '.login_radius_connect_button( true ) .'
    " ); + jQuery ( "#loginform" ) .css ( "height", "178px" ); + } + }'; + } + $script .= '}'. + ' );'. + ''; + echo $script; + } diff --git a/wp-content/plugins/loginradius-for-wordpress/LoginRadius-socialShare.php b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-socialShare.php new file mode 100644 index 0000000..d373aec --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-socialShare.php @@ -0,0 +1,76 @@ +ID, '_login_radius_meta', true ); + // if sharing disabled on this page/post, return content unaltered + if ( isset( $lrMeta['sharing'] ) && $lrMeta['sharing'] == 1 && ! is_front_page() ) { + return $content; + } + global $loginRadiusSettings; + $loginRadiusSettings['LoginRadius_sharingTitle'] = isset( $loginRadiusSettings['LoginRadius_sharingTitle'] ) ? trim( $loginRadiusSettings['LoginRadius_sharingTitle'] ) : ''; + if ( isset( $loginRadiusSettings['horizontal_shareEnable'] ) && $loginRadiusSettings['horizontal_shareEnable'] == '1' ) { + if ( isset( $loginRadiusSettings['horizontalSharing_theme'] ) && ( $loginRadiusSettings['horizontalSharing_theme'] == '32' || $loginRadiusSettings['horizontalSharing_theme'] == '16' || $loginRadiusSettings['horizontalSharing_theme'] == 'single_large' || $loginRadiusSettings['horizontalSharing_theme'] == 'single_small' ) ) { + $loginRadiusHorizontalSharingDiv = '
    ID ) .'"'; + } + $loginRadiusHorizontalSharingDiv .= ' >
    '; + }elseif ( isset( $loginRadiusSettings['horizontalSharing_theme'] ) && ( $loginRadiusSettings['horizontalSharing_theme'] == 'counter_horizontal' || $loginRadiusSettings['horizontalSharing_theme'] == 'counter_vertical' ) ) { + $loginRadiusHorizontalSharingDiv = '
    ID ) .'" data-counter-url="'.get_permalink( $post->ID ) .'"'; + } + $loginRadiusHorizontalSharingDiv .= ' >
    '; + }else { + $loginRadiusHorizontalSharingDiv = '
    ID ) .'"'; + } + $loginRadiusHorizontalSharingDiv .= ' >
    '; + } + $horizontalDiv = "
    " . ucfirst( $loginRadiusSettings['LoginRadius_sharingTitle'] ) . '
    ' . $loginRadiusHorizontalSharingDiv; + if ( ( ( ( isset( $loginRadiusSettings['horizontal_sharehome'] ) && current_filter() == 'the_content' ) || ( isset( $loginRadiusSettings['horizontal_shareexcerpt'] ) && current_filter() == 'get_the_excerpt' ) ) && is_front_page() ) || ( isset( $loginRadiusSettings['horizontal_sharepost'] ) && is_single() ) || ( isset( $loginRadiusSettings['horizontal_sharepage'] ) && is_page() ) ) { + if ( isset( $loginRadiusSettings['horizontal_shareTop'] ) && isset( $loginRadiusSettings['horizontal_shareBottom'] ) ) { + $content = $horizontalDiv.'
    '.$content.'
    '.$horizontalDiv; + }else { + if ( isset( $loginRadiusSettings['horizontal_shareTop'] ) ) { + $content = $horizontalDiv.$content; + } + elseif ( isset( $loginRadiusSettings['horizontal_shareBottom'] ) ) { + $content = $content.$horizontalDiv; + } + } + } + } + if ( isset( $loginRadiusSettings['vertical_shareEnable'] ) && $loginRadiusSettings['vertical_shareEnable'] == '1' ) { + $loginRadiusVerticalSharingDiv = '
    '; + // show vertical sharing + if ( ( ( ( isset( $loginRadiusSettings['vertical_sharehome'] ) && current_filter() == 'the_content' ) || ( isset( $loginRadiusSettings['vertical_shareexcerpt'] ) && current_filter() == 'get_the_excerpt' ) ) && is_front_page() ) || ( isset( $loginRadiusSettings['vertical_sharepost'] ) && is_single() ) || ( isset( $loginRadiusSettings['vertical_sharepage'] ) && is_page() ) ) { + if ( is_front_page() ) { + global $loginRadiusVerticalInterfaceContentCount, $loginRadiusVerticalInterfaceExcerptCount; + if ( current_filter() == 'the_content' ) { + $compareVariable = 'loginRadiusVerticalInterfaceContentCount'; + }elseif ( current_filter() == 'get_the_excerpt' ) { + $compareVariable = 'loginRadiusVerticalInterfaceExcerptCount'; + } + if ( $$compareVariable == 0 ) { + $content = $content.$loginRadiusVerticalSharingDiv; + $$compareVariable++; + } + }else { + $content = $content.$loginRadiusVerticalSharingDiv; + } + } + } + return $content; +} +add_filter( 'the_content', 'login_radius_share_content' ); +add_filter( 'get_the_excerpt', 'login_radius_share_content' ); \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/LoginRadius-widget.php b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-widget.php new file mode 100644 index 0000000..5bdced2 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-widget.php @@ -0,0 +1,266 @@ + __( 'Login or register with Facebook, Twitter, Yahoo, Google and many more', 'LoginRadius' ) ) /*Additional parameters*/ ); + } + + /** This is rendered widget content */ + function widget( $args, $instance ) { + + extract( $args ); + + if ( $instance['hide_for_logged_in'] == 1 && is_user_logged_in() ) return; + + echo $before_widget; + + if ( ! empty( $instance['title'] ) && ! is_user_logged_in() ) { + $title = apply_filters( 'widget_title', $instance[ 'title' ] ); + echo $before_title . $title . $after_title; + } + + if ( ! empty( $instance['before_widget_content'] ) ) { + echo $instance['before_widget_content']; + } + + login_radius_widget_connect_button(); + + if ( ! empty( $instance['after_widget_content'] ) ) { + echo $instance['after_widget_content']; + } + + echo $after_widget; + } + + /** Everything which should happen when user edit widget at admin panel */ + function update( $new_instance, $old_instance ) { + $instance = $old_instance; + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['before_widget_content'] = $new_instance['before_widget_content']; + $instance['after_widget_content'] = $new_instance['after_widget_content']; + $instance['hide_for_logged_in'] = $new_instance['hide_for_logged_in']; + + return $instance; + } + + /** Widget edit form at admin panel */ + function form( $instance ) { + /* Set up default widget settings. */ + $defaults = array( 'title' => 'Social Login', 'before_widget_content' => '', 'after_widget_content' => '' ); + + foreach ( $instance as $key => $value ) + $instance[ $key ] = esc_attr( $value ); + + $instance = wp_parse_args( ( array ) $instance, $defaults ); + ?> +

    + + + + + + +

    + /> +

    + __( 'Share post/page with Facebook, Twitter, Yahoo, Google and many more', 'LoginRadius' ) ) /*Additional parameters*/ ); + } + + /** This is rendered widget content */ + function widget( $args, $instance ) { + extract( $args ); + + if ( $instance['hide_for_logged_in'] == 1 && is_user_logged_in() ) return; + + echo $before_widget; + + if ( ! empty( $instance['title'] ) ) { + $title = apply_filters( 'widget_title', $instance[ 'title' ] ); + echo $before_title . $title . $after_title; + } + + if ( ! empty( $instance['before_widget_content'] ) ) { + echo $instance['before_widget_content']; + } + + echo '
    '; + + if ( ! empty( $instance['after_widget_content'] ) ) { + echo $instance['after_widget_content']; + } + + echo $after_widget; + } + + /** Everything which should happen when user edit widget at admin panel */ + function update( $new_instance, $old_instance ) { + $instance = $old_instance; + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['before_widget_content'] = $new_instance['before_widget_content']; + $instance['after_widget_content'] = $new_instance['after_widget_content']; + $instance['hide_for_logged_in'] = $new_instance['hide_for_logged_in']; + + return $instance; + } + + /** Widget edit form at admin panel */ + function form( $instance ) { + /* Set up default widget settings. */ + $defaults = array( 'title' => 'Share it now', 'before_widget_content' => '', 'after_widget_content' => '' ); + + foreach ( $instance as $key => $value ) + $instance[ $key ] = esc_attr( $value ); + + $instance = wp_parse_args( ( array ) $instance, $defaults ); + ?> +

    + + + + + + +

    + /> +

    + __( 'Share post/page with Facebook, Twitter, Yahoo, Google and many more', 'LoginRadius' ) ) /*Additional parameters*/ ); + } + + /** This is rendered widget content */ + function widget( $args, $instance ) { + extract( $args ); + + if ( $instance['hide_for_logged_in'] == 1 && is_user_logged_in() ) return; + + echo $before_widget; + + if ( ! empty( $instance['title'] ) ) { + $title = apply_filters( 'widget_title', $instance[ 'title' ] ); + echo $before_title . $title . $after_title; + } + + if ( ! empty( $instance['before_widget_content'] ) ) { + echo $instance['before_widget_content']; + } + + echo '
    '; + + if ( ! empty( $instance['after_widget_content'] ) ) { + echo $instance['after_widget_content']; + } + + echo $after_widget; + } + + /** Everything which should happen when user edit widget at admin panel */ + function update( $new_instance, $old_instance ) { + $instance = $old_instance; + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['before_widget_content'] = $new_instance['before_widget_content']; + $instance['after_widget_content'] = $new_instance['after_widget_content']; + $instance['hide_for_logged_in'] = $new_instance['hide_for_logged_in']; + + return $instance; + } + + /** Widget edit form at admin panel */ + function form( $instance ) { + /* Set up default widget settings. */ + $defaults = array( 'title' => 'Share it now', 'before_widget_content' => '', 'after_widget_content' => '' ); + + foreach ( $instance as $key => $value ) { + $instance[ $key ] = esc_attr( $value ); + } + $instance = wp_parse_args( ( array ) $instance, $defaults ); + ?> +

    + + + + + + +

    + /> +

    + __( 'Link your Social Accounts', 'LoginRadius' ) ) /*Additional parameters*/ ); + } + + /** This is rendered widget content */ + function widget( $args, $instance ) { + extract( $args ); + + echo $before_widget; + + if ( ! empty( $instance['title'] ) ) { + $title = apply_filters( 'widget_title', $instance[ 'title' ] ); + echo $before_title . $title . $after_title; + } + + if ( ! empty( $instance['before_widget_content'] ) ) { + echo $instance['before_widget_content']; + } + + echo login_radius_widget_linking_button(); + + if ( ! empty( $instance['after_widget_content'] ) ) { + echo $instance['after_widget_content']; + } + echo $after_widget; + } + + /** Everything which should happen when user edit widget at admin panel */ + function update( $new_instance, $old_instance ) { + $instance = $old_instance; + $instance['title'] = strip_tags( $new_instance['title'] ); + $instance['before_widget_content'] = $new_instance['before_widget_content']; + $instance['after_widget_content'] = $new_instance['after_widget_content']; + $instance['hide_for_logged_in'] = $new_instance['hide_for_logged_in']; + return $instance; + } + + /** Widget edit form at admin panel */ + function form( $instance ) { + /* Set up default widget settings. */ + $defaults = array( 'title' => 'Social Linking', 'before_widget_content' => '', 'after_widget_content' => '' ); + foreach ( $instance as $key => $value ){ + $instance[ $key ] = esc_attr( $value ); + } + $instance = wp_parse_args( ( array ) $instance, $defaults ); + ?> +

    + + + + + + +

    + query( "update " . $wpdb->usermeta . " set meta_key = 'loginradius_provider_id' where meta_key = 'id'" ); + $wpdb->query( "update " . $wpdb->usermeta . " set meta_key = 'loginradius_thumbnail' where meta_key = 'thumbnail'" ); + $wpdb->query( "update " . $wpdb->usermeta . " set meta_key = 'loginradius_verification_key' where meta_key = 'loginRadiusVkey'" ); + $wpdb->query( "update " . $wpdb->usermeta . " set meta_key = 'loginradius_isVerified' where meta_key = 'loginRadiusVerified'" ); + update_option( 'loginradius_version', self::$loginRadiusVersion ); + } + add_action( 'parse_request', array( get_class(), 'login_radius_connect' ) ); + add_action( 'wp_enqueue_scripts', array( get_class(), 'login_radius_front_end_css' ) ); + if ( login_radius_scripts_in_footer_enabled() ) { + add_action( 'wp_footer', array( get_class(), 'login_radius_front_end_scripts' ) ); + add_action( 'login_footer', array( get_class(), 'login_radius_front_end_scripts' ) ); + }else { + add_action( 'wp_enqueue_scripts', array( get_class(), 'login_radius_front_end_scripts' ) ); + } + add_filter( 'LR_logout_url', array( get_class(), 'log_out_url' ) , 20, 2 ); + add_action( 'login_head', 'wp_enqueue_scripts', 1 ); + } + + /** + * Include necessary scripts at front end + */ + public static function login_radius_front_end_scripts(){ + global $loginRadiusSettings; + if ( ! wp_script_is( 'jquery' ) ) { + @wp_deregister_script( 'jquery' ); + @wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', false, '1.7.1' ); + wp_enqueue_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', false, '1.7.1' ); + } + if ( !is_user_logged_in() ) { + login_radius_login_script(); + } + ?> + + get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key='tmpsession' AND meta_value = %s", trim( $_GET['lrid'] ) ) ); + if ( ! empty( $loginRadiusTempUniqueId ) ) { + $key = trim( $_GET['lrid'] ); + $message = trim( $loginRadiusSettings['msg_email'] ); + } + } + $ajaxUrl = add_query_arg( + array( + 'height' => 1, + 'width' => 1, + 'action' => 'login_radius_email_popup', + 'key' => $key, + 'message' => urlencode($message), + ), + 'admin-ajax.php' + ); + //echo '
    '.admin_url().$ajaxUrl; die; + ?> + + 1, + 'width' => 1, + 'action' => 'login_radius_notification_popup', + 'key' => '', + 'message' => urlencode($message), + ); + if ( $redirection != '' ) { + $args['redirection'] = $redirection; + } + $ajaxUrl = add_query_arg( $args, 'admin-ajax.php' ); + ?> + + + ' . _e( 'Logout', 'LoginRadius' ) . ''; + echo apply_filters( 'Login_Radius_log_out_url', $link ); + } + + /** + * Verify user after clicking confirmation link. + */ + private static function login_radius_verify(){ + global $wpdb, $loginRadiusSettings; + $verificationKey = mysql_real_escape_string( trim( $_GET['loginRadiusVk'] ) ); + if ( isset( $_GET['loginRadiusProvider'] ) && trim( $_GET['loginRadiusProvider'] ) != '' ) { + $provider = mysql_real_escape_string( trim( $_GET['loginRadiusProvider'] ) ); + $providerCheck = true; + }else { + $providerCheck = false; + } + if ( $providerCheck ) { + $userId = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key = '".$provider."LoginRadiusVkey' and meta_value = %s", $verificationKey ) ); + }else { + $userId = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key = 'loginradius_verification_key' and meta_value = %s", $verificationKey ) ); + } + if ( ! empty( $userId ) ) { + if ( $providerCheck ) { + update_user_meta( $userId, $provider.'LrVerified', '1' ); + delete_user_meta( $userId, $provider.'LoginRadiusVkey', $verificationKey ); + }else { + update_user_meta( $userId, 'loginradius_isVerified', '1' ); + delete_user_meta( $userId, 'loginradius_verification_key', $verificationKey ); + } + // new user notification + if ( isset( $loginRadiusSettings['LoginRadius_sendemail'] ) && $loginRadiusSettings['LoginRadius_sendemail'] == 'sendemail' ) { + $userPassword = wp_generate_password(); + wp_update_user( array( 'ID' => $userId, 'user_pass' => $userPassword ) ); + wp_new_user_notification( $userId, $userPassword ); + }else { + // notification to admin + self::login_radius_send_verification_email( trim( get_option( 'admin_email' ) ) , '', '', 'admin notification', $userId ); + } + if ( get_user_meta( $userId, 'loginradius_status', true ) === '0' ) { + self::login_radius_notify( __( 'Your account is currently inactive. You will be notified through email, once Administrator activates your account.', 'LoginRadius' ) ); + }else { + self::login_radius_notify( __( 'Your email has been successfully verified. Now you can login into your account.', 'LoginRadius' ) ); + } + }else { + wp_redirect( site_url() ); + exit(); + } + return; + } + + /** + * Link accountassociated with existing email to Social login. + */ + private static function login_radius_link_account( $userId, $socialId, $thumbnail, $provider ) { + add_user_meta( $userId, 'loginradius_provider_id', $socialId ); + add_user_meta( $userId, 'loginradius_mapped_provider', $provider ); + add_user_meta( $userId, 'loginradius_'.$provider.'_id', $socialId ); + if ( $thumbnail != '' ) { + add_user_meta( $userId, 'loginradius_'.$socialId.'_thumbnail', $thumbnail ); + } + } + + /** + * Update user's verification status in the database and send verification email. + */ + private static function login_radius_update_status( $userId, $provider, $socialId, $email ) { + $loginRadiusKey = $userId.time().mt_rand(); + update_user_meta( $userId, $provider.'Lrid', $socialId ); + update_user_meta( $userId, $provider.'LrVerified', '0' ); + update_user_meta( $userId, $provider.'LoginRadiusVkey', $loginRadiusKey ); + self::login_radius_send_verification_email( $email, $loginRadiusKey, $provider ); + self::login_radius_notify( __( 'Confirmation link has been sent to your email address. Please verify your email by clicking on confirmation link.', 'LoginRadius' ) ); + } + + /** + * Check if user accountassociated with the ID passed is verified or not. + */ + private static function login_radius_check_verification_status( $socialId, $provider ) { + global $wpdb; + $userId = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key='".$provider."Lrid' AND meta_value = %s", $socialId ) ); + if ( ! empty( $userId ) ) { // id exists + return $userId; + }else { // id doesn't exist + return false; + } + } + + /** + * Update user profile data + */ + public static function login_radius_update_profile_data( $userId ) { + // create username, firstname and lastname + $usernameFirstnameLastname = explode( '|LR|', self::login_radius_create_username( self::$loginRadiusProfileData ) ); + $username = $usernameFirstnameLastname[0]; + $firstName = $usernameFirstnameLastname[1]; + $lastName = $usernameFirstnameLastname[2]; + // fields going to be updated + $profileData = array( + 'ID' => $userId, + 'first_name' => $firstName, + 'last_name' => $lastName, + 'description' => self::$loginRadiusProfileData['Bio'], + 'user_url' => self::$loginRadiusProfileData['ProfileUrl'], + ); + if ( wp_update_user( $profileData ) ) { + update_user_meta( $userId, 'loginradius_thumbnail', self::$loginRadiusProfileData['Thumbnail'] ); + update_user_meta( $userId, 'loginradius_picture', self::$loginRadiusProfileData['PictureUrl'] ); + } + } + + /** + * Login and redirect user + */ + public static function login_radius_login_user( $userId, $socialId, $firstLogin = false, $register = false ) { + if ( get_user_meta( $userId, 'loginradius_status', true ) === '0' ) { + self::login_radius_notify( __( 'Your account is currently inactive. You will be notified through email, once Administrator activates your account.', 'LoginRadius' ) ); + return; + } + // update user profile data if option is set + if ( ! $firstLogin ) { + global $loginRadiusSettings; + if ( isset( $loginRadiusSettings['profileDataUpdate'] ) && $loginRadiusSettings['profileDataUpdate'] == '1' ) { + self::login_radius_update_profile_data( $userId ); + } + } + // set the current social login id + update_user_meta( $userId, 'loginradius_current_id', $socialId ); + self::login_radius_set_cookies( $userId ); + // WP login hook + $_user = get_user_by( 'id', $userId ); + do_action( 'wp_login', $_user->user_login, $_user ); + login_radius_redirect( $userId, $register ); + } + + /** + * Check for the query string variables and authenticate user. + */ + public static function login_radius_connect(){ + global $wpdb, $loginRadiusSettings, $loginRadiusObject; + // Social linking redirection + if ( isset( $_GET['loginradius_linking'] ) && isset( $_REQUEST['token'] ) ) { + if ( login_radius_mapping_status() === true ) { + $linked = 1; + }elseif ( login_radius_mapping_status() === false ) { + $linked = 0; + } + + $redirectionUrl = login_radius_get_protocol(). $_SERVER['HTTP_HOST'] . remove_query_arg( 'lrlinked' ); + if ( strpos( $redirectionUrl, '?' ) !== false ) { + $redirectionUrl .= '&lrlinked=' . $linked; + }else { + $redirectionUrl .= '?lrlinked=' . $linked; + } + ?> + + get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key='tmpsession' AND meta_value = %s", trim( $_GET['lrid'] ) ) ); + if ( ! empty( $loginRadiusTempUniqueId ) ) { + self::login_radius_display_popup( array( 'Provider' => $provider, 'UniqueId' => trim( $_GET['lrid'] ) ) , htmlspecialchars( trim( $loginRadiusSettings['msg_email'] ) ) ); + return; + } + } + */ + // notification + /* + if ( isset( $_GET['lrNotVerified'] ) && isset( $_GET['loginRadiusKey'] ) ) { + $message = get_user_meta( $_GET['loginRadiusKey'], 'loginradius_tmpKey', true ); + delete_user_meta( $_GET['loginRadiusKey'], 'loginradius_tmpKey' ); + if ( $message != '' ) { + self::login_radius_notify( __( $message, 'LoginRadius' ) , false ); + } + return; + } + */ + // email verification + if ( isset( $_GET['loginRadiusVk'] ) && trim( $_GET['loginRadiusVk'] ) != '' ) { + self::login_radius_verify(); + } + $loginRadiusSecret = isset( $loginRadiusSettings['LoginRadius_secret'] ) ? $loginRadiusSettings['LoginRadius_secret'] : ''; + $dummyEmail = isset( $loginRadiusSettings['LoginRadius_dummyemail'] ) ? $loginRadiusSettings['LoginRadius_dummyemail'] : ''; + $profileData = array(); + global $loginRadiusObject; + $userProfileObject = $loginRadiusObject -> login_radius_get_userprofile_data( $loginRadiusSecret ); + if ( $loginRadiusObject -> IsAuthenticated == true && ! is_user_logged_in() && ! is_admin() ) { + self::$loginRadiusProfileData = self::login_radius_validate_profiledata( $userProfileObject ); + // check for social id in the database + // check if already verified or pending + $loginRadiusProvider = self::$loginRadiusProfileData['Provider']; + $userId = self::login_radius_check_verification_status( self::$loginRadiusProfileData['SocialId'], $loginRadiusProvider ); + if ( $userId != false ) { + $isVerified = get_user_meta( $userId, $loginRadiusProvider.'LrVerified', true ); + if ( $isVerified == '1' ) { // Check if lrid is the same that verified email. + self::login_radius_login_user( $userId, self::$loginRadiusProfileData['SocialId'] ); // login user + return; + }else { // Notify user to verify email + self::login_radius_notify( __( 'Please verify your email by clicking the confirmation link sent to you.', 'LoginRadius' ) ); + return; + } + } + // check if id already exists. + $loginRadiusUserId = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE meta_key='loginradius_provider_id' AND meta_value = %s", self::$loginRadiusProfileData['SocialId'] ) ); + if ( ! empty( $loginRadiusUserId ) ) { // id exists + $tempUserId = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id = %d and meta_key='loginradius_isVerified'", $loginRadiusUserId ) ); + if ( ! empty( $tempUserId ) ) { + // check if verification field exists. + $isVerified = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM " . $wpdb->usermeta . " WHERE user_id = %d and meta_key='loginradius_isVerified'", $loginRadiusUserId ) ); + if ( $isVerified == '1' ) { // if email is verified + self::login_radius_login_user( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'] ); + return; + }else { + self::login_radius_notify( __( 'Please verify your email by clicking the confirmation link sent to you.', 'LoginRadius' ) ); + return; + } + }else { + self::login_radius_login_user( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'] ); + return; + } + }else { // id doesn't exist + if ( empty( self::$loginRadiusProfileData['Email'] ) ) { // email is empty + if ( $dummyEmail == 'dummyemail' ) { // email not required + self::$loginRadiusProfileData['Email'] = self::login_radius_get_random_email( self::$loginRadiusProfileData ); + if ( ! self::login_radius_allow_registration() ) { + return; + } + self::login_radius_create_user( self::$loginRadiusProfileData ); + return; + }else { // email required + if ( ! self::login_radius_allow_registration() ) { + return; + } + $lrUniqueId = self::login_radius_store_temporary_data( self::$loginRadiusProfileData ); + login_radius_close_window( $lrUniqueId ); + // save data temporarily + self::login_radius_display_popup( self::$loginRadiusProfileData, htmlspecialchars( trim( $loginRadiusSettings['msg_email'] ) ) ); // show popup + } + }else { // email is not empty + $userObject = get_user_by( 'email', self::$loginRadiusProfileData['Email'] ); + $loginRadiusUserId = is_object( $userObject ) ? $userObject->ID : ''; + if ( ! empty( $loginRadiusUserId ) ) { // email exists + $isVerified = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM " . $wpdb->usermeta . " WHERE user_id = %d and meta_key='loginradius_isVerified'", $loginRadiusUserId ) ); + if ( ! empty( $isVerified ) ) { + if ( $isVerified == '1' ) { + // social linking + self::login_radius_link_account( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'], self::$loginRadiusProfileData['Thumbnail'], self::$loginRadiusProfileData['Provider'] ); + // Login user + self::login_radius_login_user( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'] ); + return; + }else { + if ( ! self::login_radius_allow_registration() ) { + return; + } + $directorySeparator = DIRECTORY_SEPARATOR; + require_once( getcwd().$directorySeparator.'wp-admin'.$directorySeparator.'includes'.$directorySeparator.'user.php' ); + wp_delete_user( $loginRadiusUserId ); + self::login_radius_create_user( self::$loginRadiusProfileData ); + } + }else { + if ( get_user_meta( $loginRadiusUserId, 'loginradius_provider_id', true ) != false ) { + // social linking + self::login_radius_link_account( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'], self::$loginRadiusProfileData['Thumbnail'], self::$loginRadiusProfileData['Provider'] ); + }else { + // traditional account + // social linking + if ( isset( $loginRadiusSettings['LoginRadius_socialLinking'] ) && ( $loginRadiusSettings['LoginRadius_socialLinking'] == 1 ) ) { + self::login_radius_link_account( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'], self::$loginRadiusProfileData['Thumbnail'], self::$loginRadiusProfileData['Provider'] ); + } + } + // Login user + self::login_radius_login_user( $loginRadiusUserId, self::$loginRadiusProfileData['SocialId'] ); + return; + } + }else { + if ( ! self::login_radius_allow_registration() ) { + return; + } + self::login_radius_create_user( self::$loginRadiusProfileData ); // create new user + } + } + } + } // Authentication ends + + // check if "email required" popup has been submitted + if ( isset( $_POST['LoginRadius_popupSubmit'] ) ) { + if ( $_POST['LoginRadius_popupSubmit'] == 'Submit' ) { + $loginRadiusEmail = mysql_real_escape_string( trim( $_POST['email'] ) ); + if ( ! is_email( $loginRadiusEmail ) ) { + // If email not in correct format. + $loginRadiusMessage = '

    ' . trim( strip_tags( $loginRadiusSettings['msg_existemail'] ) ) . '

    '; + $profileData['UniqueId'] = trim( $_POST['session'] ); + //self::login_radius_display_popup( $profileData, $loginRadiusMessage ); + $redirectUrl = add_query_arg( + array( + 'lrid' => $profileData['UniqueId'], + 'LoginRadiusMessage' => urlencode( 'invalid email' ), + ), + site_url() + ); + wp_redirect( $redirectUrl ); + die; + }else { + // Email is in correct format. + $profileData = array(); + $loginRadiusTempUserId = $wpdb->get_var( $wpdb->prepare( 'SELECT user_id FROM ' . $wpdb->usermeta . ' WHERE meta_key=\'tmpsession\' AND meta_value = %s', $_POST['session'] ) ); + $profileData['UniqueId'] = get_user_meta( $loginRadiusTempUserId, 'tmpsession', true ); + if ( isset( $profileData['UniqueId'] ) && isset( $_POST['session'] ) && $profileData['UniqueId'] == $_POST['session'] ) { + // if email exists. + if ( $loginRadiusUserId = email_exists( $loginRadiusEmail ) ) { + $loginRadiusProvider = get_user_meta( $loginRadiusTempUserId, 'tmpProvider', true ); + $loginRadiusId = get_user_meta( $loginRadiusTempUserId, 'tmpid', true ); + // Check if email is verified for this provider. + if ( get_user_meta( $loginRadiusUserId, 'loginradius_provider', true ) == $loginRadiusProvider && get_user_meta( $loginRadiusUserId, 'loginradius_isVerified', true ) == '1' ) { + // Email is already registered. + $loginRadiusMessage = '

    ' . trim( strip_tags( $loginRadiusSettings['msg_existemail'] ) ) . '

    '; + $profileData['UniqueId'] = $_POST['session']; + //self::login_radius_display_popup( $profileData, $loginRadiusMessage ); + //return; + $redirectUrl = add_query_arg( + array( + 'lrid' => $profileData['UniqueId'], + 'LoginRadiusMessage' => urlencode( 'invalid email' ), + ), + site_url() + ); + wp_redirect( $redirectUrl ); + die; + }elseif ( get_user_meta( $loginRadiusUserId, 'loginradius_provider', true ) == $loginRadiusProvider ) { + $directorySeparator = DIRECTORY_SEPARATOR; + require_once( getcwd().$directorySeparator.'wp-admin'.$directorySeparator.'includes'.$directorySeparator.'user.php' ); + wp_delete_user( $loginRadiusUserId ); + // New user. + $profileData['UniqueId'] = get_user_meta( $loginRadiusTempUserId, 'tmpsession', true ); + $profileData['SocialId'] = get_user_meta( $loginRadiusTempUserId, 'tmpid', true ); + $profileData['FullName'] = get_user_meta( $loginRadiusTempUserId, 'tmpFullName', true ); + $profileData['ProfileName'] = get_user_meta( $loginRadiusTempUserId, 'tmpProfileName', true ); + $profileData['NickName'] = get_user_meta( $loginRadiusTempUserId, 'tmpNickName', true ); + $profileData['FirstName'] = get_user_meta( $loginRadiusTempUserId, 'tmpFname', true ); + $profileData['LastName'] = get_user_meta( $loginRadiusTempUserId, 'tmpLname', true ); + $profileData['Provider'] = get_user_meta( $loginRadiusTempUserId, 'tmpProvider', true ); + $profileData['Thumbnail'] = get_user_meta( $loginRadiusTempUserId, 'tmpthumbnail', true ); + $profileData['Bio'] = get_user_meta( $loginRadiusTempUserId, 'tmpaboutme', true ); + $profileData['ProfileUrl'] = get_user_meta( $loginRadiusTempUserId, 'tmpwebsite', true ); + $profileData['Email'] = mysql_real_escape_string( trim( $_POST['email'] ) ); + if ( ! self::login_radius_allow_registration() ) { + return; + } + self::login_radius_create_user( $profileData, true ); + return; + } + $loginRadiusUserID = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id=%d and meta_key='".$loginRadiusProvider."LrVerified' AND meta_value = '1'", $loginRadiusUserId ) ); + if ( ! empty( $loginRadiusUserID ) ) { + // if email is verified for this provider. + $loginRadiusTempUserID = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id=%d and meta_key='".$loginRadiusProvider."Lrid' AND meta_value = %s", $loginRadiusUserId, $loginRadiusId ) ); + if ( ! empty( $loginRadiusTempUserID ) ) { + // If the user is the one who verified email, login user. + self::login_radius_login_user( $loginRadiusTempUserID, $profileData['SocialId'] ); + }else { + // This is not the user who verified email. + $loginRadiusMessage = '

    ' . trim( strip_tags( $loginRadiusSettings['msg_existemail'] ) ) . '

    '; + $profileData['UniqueId'] = $_POST['session']; + self::login_radius_display_popup( $profileData, $loginRadiusMessage ); + } + }else { + // Check if verification is pending for this provider. + $loginRadiusUnverifiedId = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id=%d and meta_key='".$loginRadiusProvider."LrVerified' AND meta_value = '0'", $loginRadiusUserId ) ); + if ( ! empty( $loginRadiusUnverifiedId ) ) { + // Verification pending. + $loginRadiusProviderId = get_user_meta( $loginRadiusUserId, $loginRadiusProvider.'Lrid', true ); + if ( $loginRadiusProviderId == $loginRadiusId ) { + // If verification pending for this login radius id, show notification. + self::login_radius_notify( __( 'Please verify your email by clicking the confirmation link sent to you.', 'LoginRadius' ) ); + }else { + self::login_radius_update_status( $loginRadiusUserId, $loginRadiusProvider, $loginRadiusId, $loginRadiusEmail ); + } + }else { + self::login_radius_update_status( $loginRadiusUserId, $loginRadiusProvider, $loginRadiusId, $loginRadiusEmail ); + } + } + }else { // existing email check ends + // New user. + $profileData['UniqueId'] = get_user_meta( $loginRadiusTempUserId, 'tmpsession', true ); + $profileData['SocialId'] = get_user_meta( $loginRadiusTempUserId, 'tmpid', true ); + $profileData['FullName'] = get_user_meta( $loginRadiusTempUserId, 'tmpFullName', true ); + $profileData['ProfileName'] = get_user_meta( $loginRadiusTempUserId, 'tmpProfileName', true ); + $profileData['NickName'] = get_user_meta( $loginRadiusTempUserId, 'tmpNickName', true ); + $profileData['FirstName'] = get_user_meta( $loginRadiusTempUserId, 'tmpFname', true ); + $profileData['LastName'] = get_user_meta( $loginRadiusTempUserId, 'tmpLname', true ); + $profileData['Provider'] = get_user_meta( $loginRadiusTempUserId, 'tmpProvider', true ); + $profileData['Thumbnail'] = get_user_meta( $loginRadiusTempUserId, 'tmpthumbnail', true ); + $profileData['Bio'] = get_user_meta( $loginRadiusTempUserId, 'tmpaboutme', true ); + $profileData['ProfileUrl'] = get_user_meta( $loginRadiusTempUserId, 'tmpwebsite', true ); + $profileData['Email'] = mysql_real_escape_string( trim( $_POST['email'] ) ); + if ( ! self::login_radius_allow_registration() ) { + return; + } + self::login_radius_create_user( $profileData, true ); + } + } + } + }else { + self::login_radius_delete_temporary_data( array( 'UniqueId' => trim( $_POST['session'] ) ) ); + wp_redirect( site_url() ); + exit(); + } + } + } //connect ends + + /** + * check if new user registration is allowed + */ + private static function login_radius_allow_registration(){ + global $loginRadiusSettings; + if ( isset( $loginRadiusSettings['LoginRadius_disableRegistration'] ) && $loginRadiusSettings['LoginRadius_disableRegistration'] == '1' ) { + wp_redirect( site_url( '/wp-login.php?registration=disabled' ) ); + exit(); + } + return true; + } + + /** + * Create username, firstname and lastname. + */ + private static function login_radius_create_username( $profileData ) { + $username = ''; + $firstName = ''; + $lastName = ''; + if ( ! empty( $profileData['FirstName'] ) && ! empty( $profileData['LastName'] ) ) { + $username = $profileData['FirstName'] . ' ' . $profileData['LastName']; + $firstName = $profileData['FirstName']; + $lastName = $profileData['LastName']; + }elseif ( ! empty( $profileData['FullName'] ) ) { + $username = $profileData['FullName']; + $firstName = $profileData['FullName']; + } + elseif ( ! empty( $profileData['ProfileName'] ) ) { + $username = $profileData['ProfileName']; + $firstName = $profileData['ProfileName']; + } + elseif ( ! empty( $profileData['NickName'] ) ) { + $username = $profileData['NickName']; + $firstName = $profileData['NickName']; + }elseif ( ! empty( $email ) ) { + $user_name = explode( '@', $email ); + $username = $user_name[0]; + $firstName = str_replace( '_', ' ', $user_name[0] ); + }else { + $username = $profileData['SocialId']; + $firstName = $profileData['SocialId']; + } + return $username . '|LR|' . $firstName . '|LR|' . $lastName; + } + /** + * Create new user. + */ + private static function login_radius_create_user( $profileData, $loginRadiusPopup = false ) { + global $wpdb, $loginRadiusSettings; + $dummyEmail = $loginRadiusSettings['LoginRadius_dummyemail']; + $userPassword = wp_generate_password(); + $bio = $profileData['Bio']; + $profileUrl = $profileData['ProfileUrl']; + $socialId = $profileData['SocialId']; + $thumbnail = $profileData['Thumbnail']; + if ( isset( $socialId ) && ! empty( $socialId ) ) { + if ( ! empty( $profileData['Email'] ) ) { + $email = $profileData['Email']; + } + // create username, firstname and lastname + $usernameFirstnameLastname = explode( '|LR|', self::login_radius_create_username( $profileData ) ); + $username = $usernameFirstnameLastname[0]; + $firstName = $usernameFirstnameLastname[1]; + $lastName = $usernameFirstnameLastname[2]; + + $role = get_option( 'default_role' ); + $sendemail = $loginRadiusSettings['LoginRadius_sendemail']; + //look for user with username match + $nameexists = true; + $index = 0; + $username = str_replace( ' ', '-', $username ); + $userName = $username; + while ( $nameexists == true ) { + if ( username_exists( $userName ) != 0 ) { + $index++; + $userName = $username.$index; + }else { + $nameexists = false; + } + } + $username = $userName; + $userdata = array( + 'user_login' => $username, + 'user_pass' => $userPassword, + 'user_nicename' => sanitize_title( $firstName ), + 'user_email' => $email, + 'display_name' => $firstName, + 'nickname' => $firstName, + 'first_name' => $firstName, + 'last_name' => $lastName, + 'description' => $bio, + 'user_url' => $profileUrl, + 'role' => $role, + ); + $user_id = wp_insert_user( $userdata ); + // check if error due to empty user_login + if ( isset( $user_id -> errors ) && isset( $user_id -> errors['empty_user_login'] ) ) { + $userdata['user_login'] = strtoupper( $profileData['Provider'] ) . $socialId; + $user_id = wp_insert_user( $userdata ); + } + self::login_radius_delete_temporary_data( $profileData ); + if ( ! is_wp_error( $user_id ) ) { + if ( ! empty( $socialId ) ) { + update_user_meta( $user_id, 'loginradius_provider_id', $socialId ); + } + if ( ! empty( $thumbnail ) ) { + update_user_meta( $user_id, 'loginradius_thumbnail', $thumbnail ); + } + if ( ! empty( $profileData['PictureUrl'] ) ) { + update_user_meta( $user_id, 'loginradius_picture', $profileData['PictureUrl'] ); + } + if ( ! empty( $profileData['Provider'] ) ) { + update_user_meta( $user_id, 'loginradius_provider', $profileData['Provider'] ); + } + if ( $loginRadiusPopup ) { + $loginRadiusKey = $user_id.time().mt_rand(); + update_user_meta( $user_id, 'loginradius_verification_key', $loginRadiusKey ); + update_user_meta( $user_id, 'loginradius_isVerified', '0' ); + self::login_radius_send_verification_email( $email, $loginRadiusKey ); + // set status + if ( isset( $loginRadiusSettings['LoginRadius_defaultUserStatus'] ) && $loginRadiusSettings['LoginRadius_defaultUserStatus'] == '0' ) { + update_user_meta( $user_id, 'loginradius_status', '0' ); + }else { + update_user_meta( $user_id, 'loginradius_status', '1' ); + } + self::login_radius_notify( __( 'Confirmation link has been sent to your email address. Please verify your email by clicking on confirmation link.', 'LoginRadius' ) ); + return; + } + if ( ( $sendemail == 'sendemail' ) ) { + if ( ( $dummyEmail == 'notdummyemail' ) && ( $loginRadiusPopup == true ) ) { + }else { + wp_new_user_notification( $user_id, $userPassword ); + } + }else { + // notification to admin + self::login_radius_send_verification_email( trim( get_option( 'admin_email' ) ) , '', '', 'admin notification', $user_id ); + } + // set status if option is enabled + if ( isset( $loginRadiusSettings['LoginRadius_enableUserActivation'] ) && $loginRadiusSettings['LoginRadius_enableUserActivation'] == '1' ) { + if ( isset( $loginRadiusSettings['LoginRadius_defaultUserStatus'] ) && $loginRadiusSettings['LoginRadius_defaultUserStatus'] == '0' ) { + update_user_meta( $user_id, 'loginradius_status', '0' ); + self::login_radius_notify( __( 'Your account is currently inactive. You will be notified through email, once Administrator activates your account.', 'LoginRadius' ) ); + return; + }else { + update_user_meta( $user_id, 'loginradius_status', '1' ); + } + } + self::login_radius_login_user( $user_id, $socialId, true, true ); + }else { + login_radius_redirect( $user_id ); + } + } + } + + /** + * Function that verify new wp user. + */ + public static function login_radius_send_verification_email( $loginRadiusEmail, $loginRadiusKey, $loginRadiusProvider = '', $emailType = '', $username = '' ) { + if ( $emailType == 'activation' ) { + $loginRadiusSubject = '[' . htmlspecialchars( trim( get_option( 'blogname' ) ) ) . '] AccountActivation'; + $loginRadiusMessage = 'Hi ' . $username . ", \r\n". + 'Your account has been activated at ' . site_url() . '. Now you can login to your account.'; + }elseif ( $emailType == 'admin notification' ) { + $user = get_userdata( $username ); + $loginRadiusSubject = '[' . htmlspecialchars( trim( get_option( 'blogname' ) ) ) . '] New User Registration'; + $loginRadiusMessage = 'New user registration on your site ' . htmlspecialchars( trim( get_option( 'blogname' ) ) ) . ": \r\n". + 'Username: ' . $user->user_login . " \r\n". + 'E-mail: ' . $user->user_email . ''; + }else { + $loginRadiusSubject = '[' . htmlspecialchars( trim( get_option( 'blogname' ) ) ) . '] Email Verification'; + $loginRadiusUrl = site_url() . '?loginRadiusVk=' . $loginRadiusKey; + if ( ! empty( $loginRadiusProvider ) ) { + $loginRadiusUrl .= '&loginRadiusProvider='.$loginRadiusProvider; + } + $loginRadiusMessage = "Please click on the following link or paste it in browser to verify your email \r\n".$loginRadiusUrl; + } + $headers = "MIME-Version: 1.0\n" . + "Content-Type: text/plain; charset='" . + get_option( 'blog_charset' ) . "\"\n" . + 'From: '; + wp_mail( $loginRadiusEmail, $loginRadiusSubject, $loginRadiusMessage, $headers ); + } + + /** + * Function that asking for enter email. + */ + private static function login_radius_display_popup( $profileData, $loginRadiusMessage ) { + $output = '
    '; + if ( $loginRadiusMessage ) { + $output .= '' . $loginRadiusMessage . ''; + } + $output .= '
    '; + $output .= '
    '; + print $output; + } + + /** + * Function that asking for enter email. + */ + private static function login_radius_notify( $loginRadiusMsg, $closeWindow = true, $redirection = '' ) { + if ( $closeWindow ) { + // save the notification in database + $key = mt_rand(); + update_user_meta( $key, 'loginradius_tmpKey', $loginRadiusMsg ); + if ( $redirection ) { + update_user_meta( $key, 'loginradius_tmpRedirection', $redirection ); + } + login_radius_close_window( '', 'lrNotVerified', $key ); + } + /* + $output = '
    '; + $output .= ' ' . $loginRadiusMsg . ' '; + if ( $redirection ) { + $output .= '
    '; + }else { + $output .= '
    '; + } + print $output; + */ + $queryString = '?lrNotVerified=1&loginRadiusKey=' . $key; + wp_redirect( site_url() . $queryString ); + die; + } + + /** + * Set cookies. + */ + private static function login_radius_set_cookies( $userId = 0, $remember = true ) { + wp_clear_auth_cookie(); + wp_set_auth_cookie( $userId, $remember ); + wp_set_current_user( $userId ); + return true; + } + + /** + * Store temporary data in database. + */ + private static function login_radius_store_temporary_data( $profileData ) { + $tmpdata = array(); + $tmpdata['tmpsession'] = $profileData['UniqueId']; + $tmpdata['tmpid'] = $profileData['SocialId']; + $tmpdata['tmpFullName'] = $profileData['FullName']; + $tmpdata['tmpProfileName'] = $profileData['ProfileName']; + $tmpdata['tmpNickName'] = $profileData['NickName']; + $tmpdata['tmpFname'] = $profileData['FirstName']; + $tmpdata['tmpLname'] = $profileData['LastName']; + $tmpdata['tmpProvider'] = $profileData['Provider']; + $tmpdata['tmpthumbnail'] = $profileData['Thumbnail']; + $tmpdata['tmpaboutme'] = $profileData['Bio']; + $tmpdata['tmpwebsite'] = $profileData['ProfileUrl']; + $tmpdata['tmpEmail'] = $profileData['Email']; + $uni_id = $tmpdata['tmpsession']; + $uniqu_id = explode( '.',$uni_id ); + $unique_id = $uniqu_id[1]; + if ( ! is_numeric( $unique_id ) ) { + $unique_id = rand(); + } + foreach ( $tmpdata as $key => $value ) { + update_user_meta( $unique_id, $key, $value ); + } + return $profileData['UniqueId']; + } + + /** + * Delete temporary data from database. + */ + private static function login_radius_delete_temporary_data( $profileData ) { + $uni_id = $profileData['UniqueId']; + $uniqu_id = explode( '.',$uni_id ); + $unique_id = $uniqu_id[1]; + $keys = array( 'tmpid', 'tmpsession', 'tmpEmail', 'tmpFullName', 'tmpProfileName', 'tmpNickName', 'tmpFname', 'tmpLname', 'tmpProvider', 'tmpthumbnail', 'tmpaboutme', 'tmpwebsite' ); + foreach ( $keys as $key ) { + delete_user_meta( $unique_id, $key ); + } + } + + /** + * Filter the data fetched from LoginRadius. + */ + private static function login_radius_validate_profiledata( $userProfileObject ) { + $profileData['SocialId'] = ( ! empty( $userProfileObject->ID ) ? $userProfileObject->ID : '' ); + $profileData['UniqueId'] = uniqid( 'LoginRadius_', true ); + $profileData['Email'] = isset( $userProfileObject->Email[0]->Value ) ? $userProfileObject->Email[0]->Value : ''; + $profileData['FullName'] = ( ! empty( $userProfileObject->FullName ) ? $userProfileObject->FullName : '' ); + $profileData['ProfileName'] = ( ! empty( $userProfileObject->ProfileName ) ? $userProfileObject->ProfileName : '' ); + $profileData['NickName'] = ( ! empty( $userProfileObject->NickName ) ? $userProfileObject->NickName : '' ); + $profileData['FirstName'] = ( ! empty( $userProfileObject->FirstName ) ? $userProfileObject->FirstName : '' ); + $profileData['LastName'] = ( ! empty( $userProfileObject->LastName ) ? $userProfileObject->LastName : '' ); + $profileData['Provider'] = ( ! empty( $userProfileObject->Provider ) ? $userProfileObject->Provider : '' ); + $profileData['Thumbnail'] = ( ! empty( $userProfileObject->ThumbnailImageUrl ) ? trim( $userProfileObject->ThumbnailImageUrl ) : '' ); + $profileData['PictureUrl'] = ( ! empty( $userProfileObject->ImageUrl ) ? trim( $userProfileObject->ImageUrl ) : '' ); + if ( empty( $profileData['Thumbnail'] ) && $profileData['Provider'] == 'facebook' ) { + $profileData['Thumbnail'] = 'http://graph.facebook.com/' . $profileData['SocialId'] . '/picture?type=square'; + } + $profileData['Bio'] = ( ! empty( $userProfileObject->About ) ? $userProfileObject->About : '' ); + $profileData['ProfileUrl'] = ( ! empty( $userProfileObject->ProfileUrl ) ? $userProfileObject->ProfileUrl : '' ); + return $profileData; + } + + /** + * Generate a dummy email. + */ + private static function login_radius_get_random_email( $profileData ) { + switch ( $profileData['Provider'] ) { + case 'twitter': + $profileData['Email'] = $profileData['SocialId'] . '@' . $profileData['Provider'] . '.com'; + break; + case 'linkedin': + $profileData['Email'] = $profileData['SocialId'] . '@' . $profileData['Provider'] . '.com'; + break; + case 'renren': + $profileData['Email'] = $profileData['SocialId'] . '@' . $profileData['Provider'] . '.com'; + break; + default: + $email = substr( $profileData['SocialId'], 7 ); + $tempEmail = str_replace( '/', '_', $email ); + $profileData['Email'] = str_replace( '.', '_', $tempEmail ) . '@' . $profileData['Provider'] . '.com'; + break; + } + return $profileData['Email']; + } +}// Class ends. +add_action( 'init', array( 'Login_Radius_Social_Login', 'login_radius_init' ) ); + +/** + * Replace default avatar with social avatar + */ +function login_radius_social_avatar( $avatar, $avuser, $size, $default, $alt = '' ) { + global $loginRadiusSettings; + $userId = null; + if ( is_numeric( $avuser ) ) { + if ( $avuser > 0 ) { + $userId = $avuser; + } + }elseif ( is_object( $avuser ) ) { + if ( property_exists( $avuser, 'user_id' ) AND is_numeric( $avuser -> user_id ) ) { + $userId = $avuser -> user_id; + } + } + if ( ! empty( $userId ) ) { + $avatarType = 'thumbnail'; + if ( $loginRadiusSettings['LoginRadius_socialavatar'] == 'largeavatar' ) { + $avatarType = 'picture'; + } + + $currentSocialId = get_user_meta( $userId, 'loginradius_current_id', true ); + if ( ( $userAvatar = get_user_meta( $userId, 'loginradius_'.$currentSocialId.'_'.$avatarType, true ) ) !== false && strlen( trim( $userAvatar ) ) > 0 ) { + return '' . esc_attr( $alt ) . ''; + }elseif ( ( $userAvatar = get_user_meta( $userId, 'loginradius_'.$avatarType, true ) ) !== false && strlen( trim( $userAvatar ) ) > 0 ) { + return '' . esc_attr( $alt ) . ''; + } + } + return $avatar; +} +if ( isset( $loginRadiusSettings['LoginRadius_socialavatar'] ) && ( $loginRadiusSettings['LoginRadius_socialavatar'] == 'socialavatar' || $loginRadiusSettings['LoginRadius_socialavatar'] == 'largeavatar' ) ) { + add_filter( 'get_avatar', 'login_radius_social_avatar', 10, 5 ); +} + +/** + * Load the plugin's translated scripts + */ +function login_radius_init_locale(){ + load_plugin_textdomain( 'LoginRadius', false, basename( dirname( __FILE__ ) ) . '/i18n' ); +} +add_filter( 'init', 'login_radius_init_locale' ); + +/** + * Add the LoginRadius menu in the left sidebar in the admin + */ +function login_radius_admin_menu(){ + $page = @add_menu_page( 'LoginRadius', 'LoginRadius', 'manage_options', 'LoginRadius', 'login_radius_option_page', plugins_url( 'images/favicon.ico', __FILE__ ) ); + @add_action( 'admin_print_scripts-' . $page, 'login_radius_options_page_scripts' ); + @add_action( 'admin_print_styles-' . $page, 'login_radius_options_page_style' ); + @add_action( 'admin_print_styles-' . $page, 'login_radius_admin_css_custom_page' ); +} +@add_action( 'admin_menu', 'login_radius_admin_menu' ); + +/** + * Register LoginRadius_settings and its sanitization callback. + */ +function login_radius_meta_setup(){ + global $post; + $postType = $post -> post_type; + $lrMeta = get_post_meta( $post->ID, '_login_radius_meta', true ); + ?> +

    + +

    + '; +} + +/** + * Save login radius meta fields. + */ +function login_radius_save_meta( $postId ) { + // make sure data came from our meta box + if ( ! isset( $_POST['login_radius_meta_nonce'] ) || ! wp_verify_nonce( $_POST['login_radius_meta_nonce'], __FILE__ ) ) { + return $postId; + } + // check user permissions + if ( $_POST['post_type'] == 'page' ) { + if ( ! current_user_can( 'edit_page', $postId ) ) { + return $postId; + } + }else { + if ( ! current_user_can( 'edit_post', $postId ) ) { + return $postId; + } + } + + if ( isset( $_POST['_login_radius_meta'] ) ) { + $newData = $_POST['_login_radius_meta']; + }else{ + $newData = array( 'sharing' => 0 ); + } + update_post_meta( $postId, '_login_radius_meta', $newData ); + return $postId; +} + +/** + * Register LoginRadius_settings and its sanitization callback. Add Login Radius meta box to pages and posts. + */ +function login_radius_options_init(){ + global $pagenow; + register_setting( 'LoginRadius_setting_options', 'LoginRadius_settings', 'login_radius_validate_options' ); + // show sharing and counter meta fields on pages and posts + foreach ( array( 'post', 'page' ) as $type ) { + add_meta_box( 'login_radius_meta', 'LoginRadius', 'login_radius_meta_setup', $type ); + } + // add a callback function to save any data a user enters in + add_action( 'save_post', 'login_radius_save_meta' ); + if ( $pagenow == 'profile.php' ) { + // redirect after accountlinking + if ( isset( $_REQUEST['token'] ) ) { + // function call + if ( login_radius_mapping_status() === true ) { + $linked = 1; + }elseif ( login_radius_mapping_status() === false ) { + $linked = 0; + } + + $redirectionUrl = login_radius_get_protocol(). $_SERVER['HTTP_HOST'] . remove_query_arg( 'lrlinked' ); + if ( strpos( $redirectionUrl, '?' ) !== false ) { + $redirectionUrl .= '&lrlinked=' . $linked; + }else { + $redirectionUrl .= '?lrlinked=' . $linked; + } + ?> + + = 3.2 ) ? 'loginradius-options-page32.js' : 'loginradius-options-page29.js'; + $scriptLocation = apply_filters( 'LoginRadius_files_uri', plugins_url( 'js/' . $script.'?t=4.0.0', __FILE__ ) ); + wp_enqueue_script( 'LoginRadius_options_page_script', $scriptLocation, array( 'jquery-ui-tabs', 'thickbox' ) ); + wp_enqueue_script( 'LoginRadius_options_page_script2', plugins_url( 'js/loginRadiusAdmin.js?t=4.0.0', __FILE__ ) , array(), false, false ); +} + +/** + + * Add option Settings css. + */ +function login_radius_options_page_style(){ + ?> + +

    $message

    \n"; +} + +/** + * Add a settings link to the Plugins page, so people can go straight from the plugin page to the + * settings page. + */ +function login_radius_filter_plugin_actions( $links, $file ) { + static $thisPlugin; + if ( ! $thisPlugin ) { + $thisPlugin = plugin_basename( __FILE__ ); + } + if ( $file == $thisPlugin ) { + $settingsLink = '' . __( 'Settings' ) . ''; + array_unshift( $links, $settingsLink ); // before other links + } + return $links; +} +add_filter( 'plugin_action_links', 'login_radius_filter_plugin_actions', 10, 2 ); + +/** + * Set Default options when plugin is activated first time. + */ +function login_radius_activation(){ + global $wpdb; + $options = array( + 'LoginRadius_loginform' => '1', + 'LoginRadius_regform' => '1', + 'LoginRadius_regformPosition' => 'embed', + 'LoginRadius_commentEnable' => '1', + 'LoginRadius_sharingTheme' => 'horizontal', + 'LoginRadius_counterTheme' => 'horizontal', + 'LoginRadius_shareEnable' => '1', + 'horizontal_shareEnable' => '1', + 'horizontal_shareTop' => '1', + 'horizontal_shareBottom' => '1', + 'horizontal_sharehome' => '1', + 'horizontal_sharepost' => '1', + 'horizontal_sharepage' => '1', + 'vertical_shareEnable' => '1', + 'verticalSharing_theme' => 'counter_vertical', + 'vertical_sharehome' => '1', + 'vertical_sharepost' => '1', + 'vertical_sharepage' => '1', + 'sharing_offset' => '200', + 'LoginRadius_noProvider' => '0', + 'LoginRadius_enableUserActivation' => '1', + 'LoginRadius_defaultUserStatus' => '1', + 'scripts_in_footer' => '0', + 'delete_options' => '1', + 'username_separator' => 'dash', + 'LoginRadius_redirect' => 'samepage', + 'LoginRadius_regRedirect' => 'samepage', + 'LoginRadius_loutRedirect' => 'homepage', + 'LoginRadius_socialavatar' => 'socialavatar', + 'sameWindow' => 1, + ); + // Set plugin default options + add_option( 'LoginRadius_settings', $options ); +} +register_activation_hook( __FILE__, 'login_radius_activation' ); + +/** + * Replace buddypress default avatar with social avatar. + */ +function login_radius_bp_avatar( $text, $args ) { + global $loginRadiusSettings; + //Check arguments + if ( is_array( $args ) ) { + if ( ! empty( $args['object'] ) && strtolower( $args['object'] ) == 'user' ) { + if ( ! empty( $args['item_id'] ) && is_numeric( $args['item_id'] ) ) { + if ( ( $userData = get_userdata( $args['item_id'] ) ) !== false ) { + $currentSocialId = get_user_meta( $args['item_id'], 'loginradius_current_id', true ); + $avatar = ''; + if ( ( $userAvatar = get_user_meta( $args['item_id'], 'loginradius_'.$currentSocialId.'_thumbnail', true ) ) !== false && strlen( trim( $userAvatar ) ) > 0 ) { + $avatar = $userAvatar; + }elseif ( ( $userAvatar = get_user_meta( $args['item_id'], 'loginradius_thumbnail', true ) ) !== false && strlen( trim( $userAvatar ) ) > 0 ) { + $avatar = $userAvatar; + } + if ( $avatar != '' ) { + $imgAlt = ( ! empty( $args['alt'] ) ? 'alt="'.esc_attr( $args['alt'] ) .'" ' : '' ); + $imgAlt = sprintf( $imgAlt, htmlspecialchars( $userData->user_login ) ); + $imgClass = ( 'class="'. ( ! empty( $args['class'] ) ? ( $args['class'].' ' ) : '' ) .'avatar-social-login" ' ); + $imgWidth = ( ! empty( $args['width'] ) ? 'width="'.$args['width'].'" ' : 'width="50"' ); + $imgHeight = ( ! empty( $args['height'] ) ? 'height="'.$args['height'].'" ' : 'height="50"' ); + $text = preg_replace( '#]+>#i', '', $text ); + } + } + } + } + } + return $text; +} + +if ( isset( $loginRadiusSettings['LoginRadius_socialavatar'] ) && $loginRadiusSettings['LoginRadius_socialavatar'] == 'socialavatar' ) { + add_filter( 'bp_core_fetch_avatar', 'login_radius_bp_avatar', 10, 2 ); +} +// show social login interface on the custom hook call +add_action( 'login_radius_social_login', 'login_radius_connect_button' ); + +// verify API connection method +function login_radius_api_connection(){ + global $loginRadiusObject; + if ( in_array( 'curl', get_loaded_extensions() ) ) { + $iframe = $loginRadiusObject->login_radius_check_connection( $method = 'curl' ); + if ( $iframe == 'ok' ) { + die( 'curl' ); + }elseif ( $iframe == 'service connection timeout' ) { + die( 'service connection timeout' ); + }elseif ( $iframe == 'connection error' ) { + die( 'connection error' ); + }elseif ( $iframe == 'timeout' ) { + die( 'timeout' ); + } + }elseif ( ini_get( 'allow_url_fopen' ) == 1 ) { + $iframe = $loginRadiusObject->login_radius_check_connection( $method = 'fopen' ); + if ( $iframe == 'ok' ) { + die( 'fsock' ); + }elseif ( $iframe == 'service connection timeout' ) { + die( 'service connection timeout' ); + }elseif ( $iframe == 'connection error' ) { + die( 'connection error' ); + }elseif ( $iframe == 'timeout' ) { + die( 'timeout' ); + } + }else { + die( 'lrerror' ); + } +} +// ajax for connection handler detection +add_action( 'wp_ajax_login_radius_api_connection', 'login_radius_api_connection' ); + +// verify API Key/Secret +function login_radius_verify_keys(){ + $key = trim( $_POST['key'] ); + $secret = trim( $_POST['secret'] ); + if ( empty( $key ) || ! preg_match( '/^\{?[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\}?$/i', $key ) ) { + die( 'key' ); + }elseif ( empty( $secret ) || ! preg_match( '/^\{?[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\}?$/i', $secret ) ) { + die( 'secret' ); + }elseif ( $key == $secret ) { + die( 'same' ); + }else { + die( 'working' ); + } +} +// ajax for key verification +add_action( 'wp_ajax_login_radius_verify_keys', 'login_radius_verify_keys' ); + +// change user status +function login_radius_change_user_status(){ + $currentStatus = $_POST['current_status']; + $userId = $_POST['user_id']; + if ( $currentStatus == '1' ) { + update_user_meta( $userId, 'loginradius_status', '0' ); + die( 'done' ); + }elseif ( $currentStatus == '0' ) { + update_user_meta( $userId, 'loginradius_status', '1' ); + $user = get_userdata( $userId ); + $username = $user->display_name != '' ? $user->display_name : $user->user_nicename; + $username = $username != '' ? ucfirst( $username ) : ucfirst( $user->user_login ); + try{ + Login_Radius_Social_Login::login_radius_send_verification_email( $user->user_email, '', '', 'activation', $username ); + }catch ( Exception $e ) { + die( 'error' ); + } + die( 'done' ); + } +} +// ajax for key verification +add_action( 'wp_ajax_login_radius_change_user_status', 'login_radius_change_user_status' ); + +function login_radius_bp_check(){ + global $loginRadiusLoginIsBpActive; + $loginRadiusLoginIsBpActive = true; +} +add_action( 'bp_include', 'login_radius_bp_check' ); + +/** + * Close current ( social login popup ) window + */ +function login_radius_close_window( $uniqueId, $param = '', $key = '' ) { + if ( $uniqueId != '' ) { + $queryString = '?lrid='.$uniqueId; + }elseif ( $param != '' ) { + $queryString = '?' . $param . '=1&loginRadiusKey=' . $key; + } + ?> + + +
    + + + +
    + +
    + + + +
    + loginradius_call_api( $ValidateUrl ); + $UserProfile = json_decode( $JsonResponse ); + if ( isset( $UserProfile->ID ) && $UserProfile->ID != '' ) { + $this->IsAuthenticated = true; + return $UserProfile; + } + } + } + + /** + * LoginRadius function - It validate against GUID format of keys. + * + * @param string $key data to validate. + * + * @return boolean. If valid - true, else - false. + */ + public function login_radius_validate_key( $key ) { + if ( empty( $key ) || ! preg_match( '/^\{?[A-Z0-9]{8}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{4}-[A-Z0-9]{12}\}?$/i', $key ) ) { + return false; + }else { + return true; + } + } + + /** + * LoginRadius function - Check if CURL/FSOCKOPEN are working. + * + * @param string $method API communication method to use (curl/fsockopen). + * + * @return string + */ + public function login_radius_check_connection( $method ) { + $ValidateUrl = 'https://'.LR_DOMAIN.'/ping/ApiKey/ApiSecret'; + $JsonResponse = $this->loginradius_call_api( $ValidateUrl, $method ); + $UserAuth = json_decode( $JsonResponse ); + if ( isset( $UserAuth->ok ) ) { + return 'ok'; + }elseif ( $JsonResponse == 'service connection timeout' ) { + return 'service connection timeout'; + }elseif ( $JsonResponse == 'timeout' ) { + return 'timeout'; + }else { + return 'connection error'; + } + } + + /** + * LoginRadius function - To fetch data from the LoginRadius API URL. + * + * @param string $ValidateUrl - Target URL to fetch data from. + * + * @return string - data fetched from the LoginRadius API. + */ + public function loginradius_call_api( $ValidateUrl, $method = '' ) { + global $loginRadiusSettings; + if ( $method == '' ) { + $useapi = $loginRadiusSettings['LoginRadius_useapi']; + }else { + $useapi = $method; + } + if ( $useapi == 'curl' ) { + $curl_handle = curl_init(); + curl_setopt( $curl_handle, CURLOPT_URL, $ValidateUrl ); + curl_setopt( $curl_handle, CURLOPT_CONNECTTIMEOUT, 5 ); + curl_setopt( $curl_handle, CURLOPT_TIMEOUT, 15 ); + curl_setopt( $curl_handle, CURLOPT_SSL_VERIFYPEER, false ); + if ( ini_get( 'open_basedir' ) == '' && ( ini_get( 'safe_mode' ) == 'Off' or ! ini_get( 'safe_mode' ) ) ) { + curl_setopt( $curl_handle, CURLOPT_FOLLOWLOCATION, 1 ); + curl_setopt( $curl_handle, CURLOPT_RETURNTRANSFER, true ); + }else { + curl_setopt( $curl_handle, CURLOPT_HEADER, 1 ); + $url = curl_getinfo( $curl_handle, CURLINFO_EFFECTIVE_URL ); + curl_close( $curl_handle ); + $curl_handle = curl_init(); + $url = str_replace( '?','/?',$url ); + curl_setopt( $curl_handle, CURLOPT_URL, $url ); + curl_setopt( $curl_handle, CURLOPT_RETURNTRANSFER, true ); + } + $JsonResponse = curl_exec( $curl_handle ); + $httpCode = curl_getinfo( $curl_handle, CURLINFO_HTTP_CODE ); + if ( in_array( $httpCode, array( 400, 401, 403, 404, 500, 503 ) ) && $httpCode != 200 ) { + return 'service connection timeout'; + }else { + if ( curl_errno( $curl_handle ) == 28 ) { + return 'timeout'; + } + } + curl_close( $curl_handle ); + }else { + $JsonResponse = @file_get_contents( $ValidateUrl ); + if ( strpos( @$http_response_header[0], '400' ) !== false || strpos( @$http_response_header[0], '401' ) !== false || strpos( @$http_response_header[0], '403' ) !== false || strpos( @$http_response_header[0], '404' ) !== false || strpos( @$http_response_header[0], '500' ) !== false || strpos( @$http_response_header[0], '503' ) !== false ) { + return 'service connection timeout'; + } + } + return $JsonResponse; + } +} +?> \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusOptionsPage.css b/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusOptionsPage.css new file mode 100644 index 0000000..02eb7aa --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusOptionsPage.css @@ -0,0 +1,434 @@ +@charset "utf-8"; +/* CSS Document */ +.green:hover { + background: #f47c20; + border: #669E00 1px solid; + background: -webkit-gradient(linear, left top, left bottom, from(#C5E276), to(#A8D32E)); + background: -moz-linear-gradient(top, #C5E276, #A8D32E); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#C5E276', endColorstr='#A8D32E'); +} +.green { + color: #fef4e9; + border: #669E00 1px solid; + background: #f78d1d; + background: -webkit-gradient(linear, left top, left bottom, from(#8DC300), to(#6BA500)); + background: -moz-linear-gradient(top, #8DC300, #6BA500); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8DC300', endColorstr='#6BA500'); +} +.greenbutton { + display: inline-block; + outline: none; + cursor: pointer; + text-align: center; + text-decoration: none; + font: 14px/100% Arial, Helvetica, sans-serif; + padding: 13px 36px 15px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + font-size: 1.2em; + font-weight: bold; +} +.wrapper{ + width:99%; + float:left; + margin:0px; + padding:0px; +} +.header_div{ + float:left; + width:100%; +} +.header_div > h2{ + padding:0px; + margin:0px; + font:18px Arial, Helvetica, sans-serif; + color:#4b4b4b; + margin:10px 0; +} +.header_div > h2 > span{ + color:#00ccff; +} +.header_div > fieldset{ + position:relative; + border:#d7d7d7 1px solid; + border-radius:4px; + width:490px; + float:left; + padding: 3px 10px 0 10px; + margin-bottom: 10px; + background-color: #FFFFE0; + border: 1px solid #E6DB55; +} +.header_div > fieldset > legend{ + margin:0px; + padding:0px; + border:#d6d6d6 1px solid; + background: #f0f0f0; + background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f0f0f0)); + background: -moz-linear-gradient(top, #ffffff, #f0f0f0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0f0f0'); + border-radius:4px; + color:#000; + padding:5px 8px 6px; + font-family:Verdana, Geneva, sans-serif; + font-size:12px; + vertical-align:text-bottom; + +} +.header_div > fieldset > h4{ + font:14px Arial, Helvetica, sans-serif; + color:#000; + line-height:140%; + padding:0px; + margin:10px 0px; + font-weight:bold +} +.header_div > fieldset > p{ + font:12px Arial, Helvetica, sans-serif; + color:#4b4b4b; + padding:0px; + margin:10px 0px; + line-height:160%; +} +/* +@-moz-document url-prefix() { + .header_div > fieldset > p{ + font:12px Arial, Helvetica, sans-serif; + color:#4b4b4b; + padding:0px; + margin:16px 0px; + line-height:157%; +} +} +*/ +.header_div > fieldset > p > a, .header_div > fieldset > ul > li > a{ + color:#00ccff; + text-decoration:none; +} +.header_div > fieldset > p > a:hover, .header_div > fieldset > ul > li > a:hover, .header_div > fieldset > a:hover{ + text-decoration:underline; +} +a.loginRadiusHow{ + color:#00ccff; + text-decoration:none +} +.help_div{ + width:272px; + border:#d7d7d7 1px solid; + float:left; + border-radius:4px; + margin-right: 10px; +} +.help_div > h3{ + padding:10px 15px; + margin:0px; + font:16px Arial, Helvetica, sans-serif; + color:#FFF; + font-weight:normal; + background: #3f3f3f; + background: -webkit-gradient(linear, left top, left bottom, from(#646464), to(#3f3f3f)); + background: -moz-linear-gradient(top, #646464, #3f3f3f); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#646464', endColorstr='#3f3f3f'); + border-top-left-radius:3px; + border-top-right-radius:3px; +} +.help_div > ul{ + margin:10px 15px; + list-style:none; + font:12px Arial, Helvetica, sans-serif; + color:#3e3e3e; +} +.help_div > ul > li{ + list-style-type:disc +} +.help_div > ul > li.last{ + padding:6px 0; + border:none; +} +.clr{ + clear:both; +} +.content_div{ + border:#d7d7d7 1px solid; + border-radius:7px; + margin:12px 0px; +} +.menu_div{ + border-radius:6px; +} +h2.nav-tab-wrapper > ul > li{ + float:left; + margin-left:5px +} +.menu_containt_div{ + margin:10px; +} +.menu_containt_div > h4{ + font-family:Arial, Helvetica, sans-serif; + font-size:15px; + color:#88a824; + font-weight:normal; + padding:24px 0px 6px 0; + margin:0 0 12px 0; + border-bottom:#d7d7d7 1px solid; +} +.menu_content_table{ + margin-bottom:4px +} +.menu_content_table td{ + font-size:13px; + font-family:Arial, Helvetica, sans-serif; + color:#333333; + line-height:150%; + vertical-align:top; + +} +.menu_content_table th{ + font-size:13px; + font-family:Arial, Helvetica, sans-serif; + color:#333333; + line-height:150%; + vertical-align:top; + text-align:left +} +/*.menu_content_table td label{ + font-size:11px; +} +*/.menu_content_table td span{ + font-size:11px; + display:block; +} +.menu_content_table th span{ + font-size:11px; + display:block; + font-weight:normal +} +input[type="text"]{ + float: left; + border:#acacac 1px solid; + border-radius:4px; + width:276px; +} +input[type="submit"]{ + float: left; + border:0px; + width:107px; + border-radius:4px; + padding:7px; + margin:0 8px 0 8px; + background:#94b52c; + color:#FFF; +} +input[type="reset"]{ + float: left; + border:0px; + border-radius:4px; + padding:7px; + margin:0; + background:#777777; + width:107px; + color:#FFF; +} +.loginRadiusProviders{ + width:100px; + float:left +} +.loginRadiusCounterProviders{ + width:162px; + float:left +} +.loginRadiusProviders .loginRadiusCounterProviders label{ + margin-right:10px +} +li.ui-tabs-active{ + border-bottom-color: #f1f1f1; + border-bottom-style: solid; + border-bottom-width: 5px; +} +li.ui-tabs-active a{ + background-color: transparent +} +.stuffbox h3{ + border-bottom: 1px solid #ccc +} +.submit a { + margin-left: 20px; +} +input[type="radio"]{ + display: block; + float: left !important; + margin: 0 2px 0 0 !important; +} +#tabs a.tab_anchor{ + border: none; + font-weight: normal; + text-decoration: none; + color:#fff +} +div.loginRadiusQuestion{ + margin-bottom:5px; + font-weight:bold !important +} +div.loginRadiusBorder{ + clear: both; + border-bottom-color: rgb(243, 243, 243); + border-bottom-style: solid; + border-bottom-width: 1px; + height: 10px; + width: 106%; + margin-left: -19px; +} +div.menu_containt_div > .stuffbox{ + width:763px +} +.lrsharing_spanwhite{ + border-color: transparent transparent #fff; + border-style: dashed dashed solid; + border-width: 0 10px 10px; + margin: -9px 0 0 20px; + position: absolute; + z-index: 4; +} +.lrsharing_spangrey{ + border-color: transparent transparent #ccc; + border-style: dashed dashed solid; + border-width: 0 10px 10px; + margin: -10px 0 0 20px; + position: absolute; +} +div.menu_containt_div img{ + margin-bottom:10px +} +.lrshare_iconsprite32.lrshare_facebook{ + background-position: -174px 0px; + width: 32px; + height: 32px; +} +ul#loginRadiusHorizontalSortable > li{ + float:left; +} +ul#loginRadiusVerticalSortable > li{ + float:left; +} +.loginRadiusYesRadio{ + margin-right:20px; + float:left +} +div.loginRadiusBorder2 { + clear: both; + border-bottom-color: rgb(243, 243, 243); + border-bottom-style: solid; + border-bottom-width: 1px; + height: 10px; + width: 103%; + margin-left: -8px; +} +.twitter_box { + width: 58px; height: 34px; + position: relative; + background: #fff; + border: 1px solid #bbb; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + -ms-border-radius: 3px; + -o-border-radius: 3px; + border-radius: 3px; + margin-bottom: 5px; + margin-left: 56px; +} +.twitter_box:after, .twitter_box:before{ + width: 0; height: 0; + position: absolute; + top: 100%; + border: solid transparent; + pointer-events: none; + content: " "; +} +.twitter_box:after{ + left: 50%; + border-top-color: #fff; + border-width: 3px; + margin-left: -3px; +} +.twitter_box:before{ + left: 50%; + border-top-color: #aaa; + border-width: 4px; + margin-left: -4px; +} +.twitter_box #followers{ + width: 100%; height: auto; + position: absolute; + top: 0px; left: 0px; + font-family: "Helvetica Neue", helvetica, arial, sans-serif; + font-size: 16px; line-height: 34px; + letter-spacing: 0; + white-space: nowrap; + color: #333; + text-align: center; + -webkit-font-smoothing: subpixel-antialiased; +} +.lrshare_iconsprite32{ + cursor: pointer !important; + height: 32px; + margin: 4px !important; + width: 32px; + padding: 0px !important; + border: none !important; + background: url("../images/sharing/sprites/lrshare_iconsprite32.png") no-repeat scroll left top transparent; + list-style-type: none !important; +} +.lrshare_iconsprite32.lrshare_delicious { background-position: 0px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_digg { background-position: -34px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_dotnetkicks { background-position: -68px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_email { background-position: -102px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_evenmore32 { background-position: -138px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_facebook { background-position: -174px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_google { background-position: -208px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_googleplus { background-position: -242px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_hyves { background-position: -276px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_linkedin { background-position: -310px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_live { background-position: -344px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_myspace { background-position: -378px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_pinterest { background-position: -412px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_print { background-position: -446px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_reddit { background-position: -480px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_sharingcounter32 { background-position: -514px 0px; width: 50px; height: 32px; padding-top:4px !important; font-size:18px; } +.lrshare_iconsprite32.lrshare_tumblr { background-position: -576px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_twitter { background-position: -610px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_viadeo { background-position: -644px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_vkontakte { background-position: -678px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_wordpress { background-position: -712px 0px; width: 32px; height: 32px; } +.lrshare_iconsprite32.lrshare_yahoo { background-position: -746px 0px; width: 32px; height: 32px; } + +/* LR login/registration form */ +.loginradius-aia--form-element-content{ + clear:both +} +.loginradius-aia--form-element-content label{ + float: left; + width: 100px; + margin-top: 3px; +} +#loginRadiusRegisterForm label{ + float: left; + width: 155px; + margin-top: 3px; +} +.loginradius-aia--form-element-content input[type=password]{ + float: left; + border: #acacac 1px solid; + border-radius: 4px; + width: 276px; +} +#loginradius-aia-submit-Login, #loginradius-aia-submit-Register{ + margin: 10px 0 10px 0 !important; + clear: both !important; +} +ul.recaptcha_options{ + clear:both +} +.loginradius-aia-validation-message{ + color: red +} \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusOptionsPageIE.css b/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusOptionsPageIE.css new file mode 100644 index 0000000..1b602ec --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusOptionsPageIE.css @@ -0,0 +1,39 @@ +@charset "utf-8"; +/* CSS Document */ + +.header_div > fieldset{ + position:relative; + border:#d7d7d7 1px solid; + border-radius:4px; + width:490px; + float:left; + padding: 24px 10px 28px 10px; +} + +.header_div > fieldset > legend{ + margin:0px; + padding:0px; + border:#d6d6d6 1px solid; + background: #f0f0f0; + background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f0f0f0)); + background: -moz-linear-gradient(top, #ffffff, #f0f0f0); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0f0f0'); + border-radius:4px; + color:#000; + padding:5px 8px 6px; + font-family:Verdana, Geneva, sans-serif; + font-size:12px; + vertical-align:text-bottom; + +} +.header_div > fieldset > p{ + font:12px Arial, Helvetica, sans-serif; + color:#4b4b4b; + padding:0px; + margin:16px 0px; + line-height:190%; +} +div.loginRadiusQuestion{ + margin-bottom:5px; + font-weight:bold !important +} \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusStyle.css b/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusStyle.css new file mode 100644 index 0000000..8416362 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/css/loginRadiusStyle.css @@ -0,0 +1,175 @@ +/* CSS Document */ +.LoginRadius_overlay { + background: none no-repeat scroll 0 0 rgba(127, 127, 127, 0.6); + filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4cffffff', endColorstr='#4cffffff'); /* IE */ + position: absolute; + top: 0; + left: 0; + z-index: 100001; + width: 100%; + height: 100%; + overflow: auto; + padding: 220px 20px 20px 20px; + padding-bottom: 130px; + position: fixed; +} +#popupouter{ + -moz-border-radius:4px; + -webkit-border-radius:4px; + border-radius:4px; + overflow:auto; + background:#f3f3f3; + padding:0px 0px 0px 0px; + width:370px; + margin:0 auto; +} +#popupinner{ + -moz-border-radius:4px; + -webkit-border-radius:4px; + border-radius:4px; + overflow:auto; + background:#ffffff; + margin:10px; + padding:10px 8px 4px 8px; +} +#textmatter{ + margin:10px 0px 10px 0px; + font-family:Arial, Helvetica, sans-serif; + color:#666666; + font-size:14px; + +} +.loginRadiusInputTxt{ + font-family:Arial, Helvetica, sans-serif; + color:#a8a8a8; + font-size:11px; + border:#e5e5e5 1px solid; + width:280px; + margin:5px 0px 15px 0px; +} +.inputbutton{ + border:#dcdcdc 1px solid; + -moz-border-radius:2px; + -webkit-border-radius:2px; + border-radius:2px; + text-decoration:none; + color:#6e6e6e; + font-family:Arial, Helvetica, sans-serif; + font-size:13px; + cursor:pointer; + background:#f3f3f3; + padding:6px 7px 6px 8px; + margin:0px 8px 0px 0px; +} +.LoginRadius_container_outer { + /*width: 648px; + border: 1px solid #ccc; + background-color: #EAF7FF;*/ +} +.LoginRadius_container_inner { + /*background-color: #EAF7FF;*/ + padding: 10px; + overflow: hidden; + } +.LoginRadius_container { + float:left; + padding: 10px; + margin-bottom: 10px; + overflow: hidden; + width:520px; +} +.LoginRadius_container_outer h3 { + color:#00ccff; + font-size:1.1em; +} + +.LoginRadius_container_outer ul { + list-style-type: disc; + padding-left: 20px; + } + +.LoginRadius_container_outer .LoginRadius_container_links { +border-color: #E6DB55; +} + +.LoginRadius_container_outer .LoginRadius_container_links a { + color: #111; + text-decoration:none; +} + +.LoginRadius_container_outer .LoginRadius_container_links a:hover { + color: #00ccff; +} + +.LoginRadius_table { + background-color: #efefef; + border: 1px solid #ccc; + width: 650px; + margin-bottom: 10px; +} + +.LoginRadius_table input { + border-color: #aaa; +} + +.LoginRadius_table .head { + font-weight: bold; + font-size: 13px; + font-weight: bold; + background-color: #ddd; +} + +.LoginRadius_table tr td.row { + line-height: 36px; +} + +.LoginRadius_table tr.description td { + color: #0D5995; +} + +.LoginRadius_table .row_white { + background-color: #fff; +} + +.login-panel-lr { + float: right; + background: none repeat scroll 0 0 #FFFFFF; + border: 1px solid #E5E5E5; + box-shadow: 0 4px 10px -1px rgba(200, 200, 200, 0.7); + font-weight: normal; + margin: 20px 0 0 8px; + padding: 26px 24px 46px; + width:345px +} +.login-sep-text { + float: left; + font-size: 16px; + font-weight: bold; + margin: 100px 20px 20px 30px; + padding-left: 10px; +} +.float-left { + float: left; +} + \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-es_ES.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-es_ES.mo new file mode 100644 index 0000000..6d099b6 Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-es_ES.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-es_ES.po b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-es_ES.po new file mode 100644 index 0000000..24d22e3 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-es_ES.po @@ -0,0 +1,1376 @@ +msgid "" +msgstr "" +"Project-Id-Version: Loginradius\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-07-02 10:51-0800\n" +"PO-Revision-Date: 2013-07-02 10:52-0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ..\n" + +#: ../LoginRadius.php:108 +#: ../LoginRadius.php:183 +#: ../LoginRadius.php:550 +#: ../LoginRadius_function.php:827 +msgid "Your account is currently inactive. You will be notified through email, once Administrator activates your account." +msgstr "Su cuenta está actualmente inactiva. Se le notificará por correo electrónico, una vez que se activa la cuenta de administrador." + +#: ../LoginRadius.php:110 +msgid "Your email has been successfully verified. Now you can login into your account." +msgstr "Tu mensaje ha sido verificado con éxito. Ahora puede acceder a su cuenta." + +#: ../LoginRadius.php:140 +#: ../LoginRadius.php:534 +msgid "Your Confirmation link Has Been Sent To Your Email Address. Please verify your email by clicking on confirmation link." +msgstr "Su enlace de confirmación ha sido enviado a su correo electrónico. Verifique por favor su correo electrónico haciendo clic en el enlace de confirmación." + +#: ../LoginRadius.php:228 +#: ../LoginRadius.php:243 +#: ../LoginRadius.php:382 +msgid "Please verify your email by clicking the confirmation link sent to you." +msgstr "Verifique por favor su correo electrónico haciendo clic en el enlace de confirmación enviado a usted." + +#: ../LoginRadius.php:765 +#, fuzzy +msgid "Disable Social Sharing on this " +msgstr "Comparte la posición social" + +#: ../LoginRadius.php:869 +msgid "Settings" +msgstr "configuración" + +#: ../LoginRadius_admin.php:48 +#: ../LoginRadius_admin.php:73 +msgid "Please wait. This may take a few minutes" +msgstr "Por favor, espere. Este proceso puede tardar unos minutos" + +#: ../LoginRadius_admin.php:57 +msgid "Detected CURL. Please save changes" +msgstr "Detectado CURL. Por favor, guarde los cambios" + +#: ../LoginRadius_admin.php:60 +msgid "Detected FSOCKOPEN. Please save changes" +msgstr "Detectado fsockopen. Por favor, guarde los cambios" + +#: ../LoginRadius_admin.php:63 +msgid "Please check your php.ini settings to enable CURL or FSOCKOPEN" +msgstr "Por favor verifica la configuracion de php.ini para permitir CURL o fsockopen" + +#: ../LoginRadius_admin.php:65 +msgid "Problem in communicating LoginRadius API. Please check if one of the API Connection method mentioned above is working." +msgstr "Problema en la comunicación API LoginRadius. Por favor, compruebe si uno de los métodos de conexión API mencionado anteriormente está trabajando." + +#: ../LoginRadius_admin.php:67 +msgid "Uh oh, looks like something went wrong. Try again in a sec!" +msgstr "Uh oh, parece que algo salió mal. Inténtelo de nuevo en un segundo!" + +#: ../LoginRadius_admin.php:84 +#, fuzzy +msgid "Your API Key is invalid. Please paste the correct API Key from your LoginRadius Account." +msgstr "Pegue el código en contra de su cuenta LoginRadius" + +#: ../LoginRadius_admin.php:86 +msgid "Your API Secret is invalid. Please paste the correct API Secret from your LoginRadius Account" +msgstr "Su secreto API no es válido. Por favor, pegue el Secreto API correcta de su cuenta LoginRadius" + +#: ../LoginRadius_admin.php:88 +#, fuzzy +msgid "API Key and Secret cannot be same. Please paste correct API Key and Secret from your LoginRadius account in the corresponding fields above." +msgstr "Su secreto API no es válido. Por favor, pegue el Secreto API correcta de su cuenta LoginRadius" + +#: ../LoginRadius_admin.php:90 +msgid "Your API Key and Secret are valid. Please save the changes." +msgstr "Su API Key y Secret son válidos. Por favor, guarde los cambios." + +#: ../LoginRadius_admin.php:212 +#, fuzzy +msgid "Social Plugin Settings" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:214 +msgid "Please clear your browser cache, if you have trouble loading the plugin interface. For more information" +msgstr "Por favor, vaciar la caché del navegador, si tiene problemas para cargar la interfaz del plugin. Para obtener más información" + +#: ../LoginRadius_admin.php:214 +msgid "click here" +msgstr "haga clic aquí" + +#: ../LoginRadius_admin.php:217 +#, fuzzy +msgid "Thank you for installing the LoginRadius Social Plugin!" +msgstr "Gracias por instalar el plugin de LoginRadius!" + +#: ../LoginRadius_admin.php:218 +#, fuzzy +msgid "To activate the plugin, you will need to first configure it (manage your desired social networks, etc.) from your LoginRadius account. If you do not have an account, click" +msgstr "Para activar el plugin, por favor configurarlo y gestionar las redes sociales de la cuenta LoginRadius ti. Si usted no tiene una cuenta, haga clic en" + +#: ../LoginRadius_admin.php:218 +msgid "here" +msgstr "aquí" + +#: ../LoginRadius_admin.php:218 +msgid "and create one for FREE!" +msgstr "y crear una de forma gratuita!" + +#: ../LoginRadius_admin.php:220 +#, fuzzy +msgid "We also offer Social Plugins for " +msgstr "Este texto se muestra arriba del botón de registro de Social Login." + +#: ../LoginRadius_admin.php:220 +msgid "and" +msgstr "y" + +#: ../LoginRadius_admin.php:223 +msgid "Enable Plugin Now!" +msgstr "Habilitar Programas ahora!" + +#: ../LoginRadius_admin.php:225 +msgid "How to set up an account" +msgstr "Cómo configurar una cuenta" + +#: ../LoginRadius_admin.php:229 +#, fuzzy +msgid "Get Updates" +msgstr "Recibe noticias!" + +#: ../LoginRadius_admin.php:230 +#, fuzzy +msgid "To receive updates on new features, future releases, etc, please connect with us via Facebook and Twitter" +msgstr "Para recibir actualizaciones sobre las nuevas características, nuevos productos, etc, por favor, conectarse a una de nuestras páginas de medios sociales" + +#: ../LoginRadius_admin.php:240 +#: ../LoginRadius_admin.php:1024 +#, fuzzy +msgid "Help & Documentations" +msgstr "Documentación" + +#: ../LoginRadius_admin.php:242 +#: ../LoginRadius_admin.php:1030 +msgid "Plugin Installation, Configuration and Troubleshooting" +msgstr "Instalación del Plugin, configuración y solución de problemas" + +#: ../LoginRadius_admin.php:243 +#: ../LoginRadius_admin.php:1031 +#, fuzzy +msgid "How to get LoginRadius API Key & Secret" +msgstr "API Key personal de LoginRadius" + +#: ../LoginRadius_admin.php:244 +#: ../LoginRadius_admin.php:1032 +#, fuzzy +msgid "WP Multisite Feature" +msgstr "Web del plugin" + +#: ../LoginRadius_admin.php:247 +#: ../LoginRadius_admin.php:1033 +msgid "Discussion Forum" +msgstr "Foro de Discusión" + +#: ../LoginRadius_admin.php:248 +#: ../LoginRadius_admin.php:1036 +msgid "About LoginRadius" +msgstr "Acerca de LoginRadius" + +#: ../LoginRadius_admin.php:249 +#: ../LoginRadius_admin.php:1037 +#, fuzzy +msgid "LoginRadius Products" +msgstr "Blog de LoginRadius" + +#: ../LoginRadius_admin.php:252 +#: ../LoginRadius_admin.php:1038 +#, fuzzy +msgid "Social Plugins" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:253 +#: ../LoginRadius_admin.php:1039 +#, fuzzy +msgid "Social SDKs" +msgstr "Comparte la posición social" + +#: ../LoginRadius_admin.php:258 +#, fuzzy +msgid "Support Us" +msgstr "Soporte Técnico" + +#: ../LoginRadius_admin.php:260 +msgid "If you liked our FREE open-source plugin, please send your feedback/testimonial to " +msgstr "Si te gustó nuestro libre de código abierto plugin, por favor, envíe sus comentarios / testimonial para" + +#: ../LoginRadius_admin.php:261 +msgid "Please help us to " +msgstr "Por favor ayúdenos a" + +#: ../LoginRadius_admin.php:261 +msgid "translate" +msgstr "traducir" + +#: ../LoginRadius_admin.php:261 +msgid "the plugin content in your language." +msgstr "el contenido del plugin en su idioma." + +#: ../LoginRadius_admin.php:271 +msgid "To activate the Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret." +msgstr "Para activar la Login Social , inserte LoginRadius API Key y Secret en la configuración de la API a continuación. Compartir redes sociales no requiere clave de API y Secret ." + +#: ../LoginRadius_admin.php:280 +msgid "Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com" +msgstr "Su clave de API LoginRadius o secreto no es válido, favor de corregir o contacte con Atención al LoginRadius www.LoginRadius. com " + +#: ../LoginRadius_admin.php:291 +#, fuzzy +msgid "API Settings" +msgstr "configuración" + +#: ../LoginRadius_admin.php:292 +#, fuzzy +msgid "Social Login" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:293 +#, fuzzy +msgid "Social Commenting" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:294 +#, fuzzy +msgid "Social Sharing" +msgstr "Comparte la posición social" + +#: ../LoginRadius_admin.php:295 +msgid "Help" +msgstr "ayudar" + +#: ../LoginRadius_admin.php:301 +#, fuzzy +msgid "What API Connection Method do you prefer to use to enable API communication?" +msgstr "¿Qué método de la API de conexión te gusta más para permitir la comunicación API?" + +#: ../LoginRadius_admin.php:311 +msgid "Use CURL" +msgstr "Utilice CURL" + +#: ../LoginRadius_admin.php:312 +#, fuzzy +msgid "This is the recommended API connection method, but sometimes this is disabled on hosting server" +msgstr "Método recomendado de conexión API pero a veces esto está desactivado en un servidor de alojamiento" + +#: ../LoginRadius_admin.php:316 +msgid "Use FSOCKOPEN" +msgstr "Utilice fsockopen" + +#: ../LoginRadius_admin.php:317 +#, fuzzy +msgid "Choose this option if cURL is disabled on your hosting server" +msgstr "Elija esta opción si cURL está desactivada en su servidor de alojamiento" + +#: ../LoginRadius_admin.php:318 +#, fuzzy +msgid "Auto-detect Connection Method" +msgstr "Seleccione credenciales de la API" + +#: ../LoginRadius_admin.php:326 +#, fuzzy +msgid "To activate the plugin, insert the LoginRadius API Key & Secret" +msgstr "API Key personal de LoginRadius" + +#: ../LoginRadius_admin.php:327 +msgid "(How to get it?)" +msgstr "(¿Cómo conseguirlo?)" + +#: ../LoginRadius_admin.php:332 +msgid "API Key" +msgstr "API Key" + +#: ../LoginRadius_admin.php:337 +msgid "API Secret" +msgstr "API Secreto" + +#: ../LoginRadius_admin.php:340 +#, fuzzy +msgid "Verify API Settings" +msgstr "configuración" + +#: ../LoginRadius_admin.php:351 +#, fuzzy +msgid "Social Login Interface Settings" +msgstr "Mostrar iconos sociales En" + +#: ../LoginRadius_admin.php:355 +#, fuzzy +msgid "What text should be displayed above the Social Login interface? Leave blank if you do not want any text to be displayed" +msgstr "¿Qué texto es lo que quieres que se vea por encima de la interfaz sesión Social (Dejar en blanco para ningún texto)?" + +#: ../LoginRadius_admin.php:356 +msgid "Login with Social ID" +msgstr "Ingresar con ID Social" + +#: ../LoginRadius_admin.php:363 +#, fuzzy +msgid "Do you want to show the Social Login interface on your WordPress login page?" +msgstr "donde para mostrar los iconos sociales" + +#: ../LoginRadius_admin.php:365 +#: ../LoginRadius_admin.php:379 +#: ../LoginRadius_admin.php:692 +#: ../LoginRadius_admin.php:737 +#: ../LoginRadius_admin.php:768 +#: ../LoginRadius_admin.php:900 +msgid "Yes" +msgstr "Si" + +#: ../LoginRadius_admin.php:368 +#: ../LoginRadius_admin.php:381 +#: ../LoginRadius_admin.php:694 +#: ../LoginRadius_admin.php:739 +#: ../LoginRadius_admin.php:770 +#: ../LoginRadius_admin.php:902 +msgid "No" +msgstr "No" + +#: ../LoginRadius_admin.php:376 +#, fuzzy +msgid "Do you want to show Social Login interface on your WordPress registration page?" +msgstr "donde para mostrar los iconos sociales" + +#: ../LoginRadius_admin.php:389 +#, fuzzy +msgid "If Yes, how do you want the Social Login interface to be shown on your wordpress registration page?" +msgstr "En caso afirmativo, ¿cómo desea que la interfaz sesión Social que se muestra en su página de registro de wordpress?" + +#: ../LoginRadius_admin.php:391 +#, fuzzy +msgid "Show it below the registration form" +msgstr "Mostrar en el Formulario de Registro" + +#: ../LoginRadius_admin.php:392 +#, fuzzy +msgid "Show it beside the registration form" +msgstr "Mostrar en el Formulario de Registro" + +#: ../LoginRadius_admin.php:400 +#, fuzzy +msgid "Social Login Interface Customization" +msgstr "Mostrar iconos sociales En" + +#: ../LoginRadius_admin.php:404 +#, fuzzy +msgid "Select the icon size to use in the Social Login interface" +msgstr "donde para mostrar los iconos sociales" + +#: ../LoginRadius_admin.php:406 +msgid "Medium" +msgstr "medio" + +#: ../LoginRadius_admin.php:409 +msgid "Small" +msgstr "pequeño" + +#: ../LoginRadius_admin.php:416 +msgid "How many social icons would you like to be displayed per row?" +msgstr "¿Cuántos iconos sociales le gustaría ser mostrar en una fila?" + +#: ../LoginRadius_admin.php:423 +#, fuzzy +msgid "What background color would you like to use for the Social Login interface?" +msgstr "¿Qué color elegirías para el fondo de la interfaz sesión Social?" + +#: ../LoginRadius_admin.php:423 +msgid "Leave empty for transparent. You can enter hexa-decimal code of the color as well as name of the color." +msgstr "Dejar en blanco para transparente. Puede introducir el código hexadecimal del color, así como el nombre del color." + +#: ../LoginRadius_admin.php:433 +msgid "User Email Settings" +msgstr "Configuración de usuario de correo electrónico" + +#: ../LoginRadius_admin.php:439 +#, fuzzy +msgid "Do you want to send emails to users with their username and password post-registration?" +msgstr "¿Quieres enviar correos electrónicos a los usuarios después de registrarse con su nombre de usuario y la contraseña?" + +#: ../LoginRadius_admin.php:448 +#, fuzzy +msgid "YES, send an email to users after registration" +msgstr "Seleccione Sí si desea que enviar un correo electrónico al usuario después de registro." + +#: ../LoginRadius_admin.php:449 +#, fuzzy +msgid "NO, do not send email to users after registration" +msgstr "Seleccione Sí si desea que enviar un correo electrónico al usuario después de registro." + +#: ../LoginRadius_admin.php:456 +#, fuzzy +msgid "A few ID Providers do not supply users' e-mail IDs as part of the user profile data they provide. Do you want to prompt users to provide their email IDs before completing registration process if it is not provided by the ID Provider?" +msgstr "A pocos proveedores de ID no proporciona los usuarios de correo electrónico IDs como parte de los datos de perfil de usuario. ¿Desea que los usuarios den sus identificadores de correo electrónico antes de completar el proceso de registro?" + +#: ../LoginRadius_admin.php:465 +#, fuzzy +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "Sí, obtener identificaciones reales de correo electrónico de los usuarios (Pida a los usuarios que introduzcan sus identificadores de correo electrónico en un pop-up)" + +#: ../LoginRadius_admin.php:466 +#, fuzzy +msgid "NO, just auto-generate random email IDs for users" +msgstr "NO, sólo auto-generar identificadores aleatorios de correo electrónico para los usuarios" + +#: ../LoginRadius_admin.php:474 +#, fuzzy +msgid "Please enter the message to be displayed to the user in the pop-up asking for their email address" +msgstr "Por favor, introduzca el mensaje que se muestra al usuario en el correo electrónico pop-up preguntando" + +#: ../LoginRadius_admin.php:476 +#, fuzzy +msgid "Unfortunately, the ID Provider did not provided your email address. Please enter your email to proceed" +msgstr "Por desgracia, el proveedor Social no proporcionó su dirección de correo electrónico. Introduzca su dirección de correo electrónico para proceder" + +#: ../LoginRadius_admin.php:483 +#, fuzzy +msgid "Please enter the message to be shown to the user in case of an invalid or already registered email" +msgstr "Por favor, introduzca el mensaje que se muestra al usuario en caso de email no es válida o ya registrado" + +#: ../LoginRadius_admin.php:485 +#, fuzzy +msgid "The email you have entered is either already registered or invalid. Please enter a valid email address." +msgstr "Este correo electrónico ya está registrado o no válida, por favor elija otro." + +#: ../LoginRadius_admin.php:493 +#, fuzzy +msgid "Redirection Settings" +msgstr "redirección de Marco" + +#: ../LoginRadius_admin.php:499 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "¿Dónde quiere redireccionar a sus usuarios después de iniciar sesión correctamente?" + +#: ../LoginRadius_admin.php:514 +#, fuzzy +msgid "Redirect to the same page where the user logged in" +msgstr "Redireccionar a la página de inicio del blog" + +#: ../LoginRadius_admin.php:514 +#: ../LoginRadius_admin.php:549 +msgid "Default" +msgstr "Default" + +#: ../LoginRadius_admin.php:515 +#, fuzzy +msgid "Redirect to homepage of your WP site" +msgstr "Redireccionar a la página de inicio del blog" + +#: ../LoginRadius_admin.php:517 +msgid "Redirect to account dashboard" +msgstr "Redireccionar a la página de datos de la cuenta" + +#: ../LoginRadius_admin.php:522 +#, fuzzy +msgid "Redirect to Buddypress profile page" +msgstr "Redireccionar a la página de inicio del blog" + +#: ../LoginRadius_admin.php:527 +#: ../LoginRadius_admin.php:551 +#, fuzzy +msgid "Redirect to Custom URL:" +msgstr "Redireccionar a la url:" + +#: ../LoginRadius_admin.php:536 +msgid "Where do you want to redirect your users after successfully logging out?" +msgstr "¿Dónde quiere redireccionar a sus usuarios después de cerrar la sesión con éxito?" + +#: ../LoginRadius_admin.php:538 +#, fuzzy +msgid "Note: Logout function works only when clicking 'logout' in the social login widget area. In all other cases, WordPress's default logout function will be applied." +msgstr "Nota: Salir funciona la función de cierre de sesión sólo cuando se hace clic en el área de acceso Widget social. En todos los demás casos, por defecto WordPress función de cierre de sesión se aplicará." + +#: ../LoginRadius_admin.php:549 +#, fuzzy +msgid "Redirect to the homepage" +msgstr "Redireccionar a la página de inicio del blog" + +#: ../LoginRadius_admin.php:561 +#, fuzzy +msgid "User Settings" +msgstr "configuración" + +#: ../LoginRadius_admin.php:567 +msgid "Do you want to allow new users to register through Social Login?" +msgstr "¿Desea permitir que nuevos usuarios se registren a través de Login Social?" + +#: ../LoginRadius_admin.php:569 +msgid "YES, allow new users to register through Social Login" +msgstr "Sí, permitir que nuevos usuarios se registren a través de Ingreso Social" + +#: ../LoginRadius_admin.php:570 +msgid "NO, do not allow new users to register through Social Login" +msgstr "NO, no permita que nuevos usuarios se registren a través de Ingreso Social" + +#: ../LoginRadius_admin.php:571 +msgid "New users will not be able to login through Social Login" +msgstr "Los nuevos usuarios no podrán acceder a través Login Social" + +#: ../LoginRadius_admin.php:579 +msgid "Do you want to display the social network that the user connected with, in the user list" +msgstr "¿Quieres ver la red social que conecta al usuario con, en la lista de usuarios" + +#: ../LoginRadius_admin.php:581 +msgid "YES, display the social network that the user connected with, in the user list" +msgstr "Sí, mostrar la red social que conecta al usuario con, en la lista de usuarios" + +#: ../LoginRadius_admin.php:582 +msgid "NO, do not display the social network that the user connected with, in the user list" +msgstr "NO, no se muestran en la red social que conecta al usuario con, en la lista de usuarios" + +#: ../LoginRadius_admin.php:589 +#, fuzzy +msgid "Do you want to automatically link your existing users' accounts to their social accounts if their WP account email address matches the email address associated with their social account?" +msgstr "¿Quieres que tus cuentas de usuario existentes WP vincular automáticamente a su cuenta social en caso de que los partidos de correo electrónico de identificación con su ID Social cuenta de correo electrónico?" + +#: ../LoginRadius_admin.php:591 +msgid "YES, automatically link social accounts to WP accounts" +msgstr "SÃ, vincular automáticamente a las cuentas de las cuentas sociales WP" + +#: ../LoginRadius_admin.php:593 +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "NO, yo quiero que mis usuarios existentes para continuar usando la cuenta WP nativo" + +#: ../LoginRadius_admin.php:603 +msgid "Do you want to apply the same changes when you update plugin settings in the main blog of multisite network?" +msgstr "¿Desea aplicar los mismos cambios al actualizar la configuración del plugin en el blog principal de la red de múltiples sitios?" + +#: ../LoginRadius_admin.php:604 +msgid "YES, apply the same changes to plugin settings of each blog in the multisite network when I update plugin settings." +msgstr "Sí, se aplican los mismos cambios en la configuración de plug-in de cada blog en la red de múltiples sitios al actualizar la configuración del plugin." + +#: ../LoginRadius_admin.php:605 +msgid "NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "NO, no se aplican los cambios a otros blogs cuando puedo actualizar la configuración del plugin." + +#: ../LoginRadius_admin.php:622 +#, fuzzy +msgid "Do you want to let users use their social profile picture as an avatar on your website?" +msgstr "¿Quieres habilitar contador Social para su sitio web?" + +#: ../LoginRadius_admin.php:623 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "SÃ, permite a los usuarios utilizar su foto de perfil social como un avatar" + +#: ../LoginRadius_admin.php:624 +#, fuzzy +msgid "NO, use default avatars" +msgstr "Utilice avatar por defecto" + +#: ../LoginRadius_admin.php:632 +msgid "User Membership Control" +msgstr "Control de afiliación del usuario" + +#: ../LoginRadius_admin.php:638 +msgid "Do you want to control user activation/deactivation?" +msgstr "¿Quieres controlar la activación de usuario / desactivación?" + +#: ../LoginRadius_admin.php:639 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "Puede activar / desactivar el usuario de la columna de estado en la página de administración de usuarios en" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "YES, display activate/deactivate option in the " +msgstr "Sí, mostrar la red social que conecta al usuario con, en la lista de usuarios" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "User list" +msgstr "configuración" + +#: ../LoginRadius_admin.php:642 +#: ../LoginRadius_admin.php:672 +msgid "NO" +msgstr "No" + +#: ../LoginRadius_admin.php:650 +msgid "What would you like to set as the default status of the user when he/she registers to your website?" +msgstr "¿Qué le gustaría establecer como estado por defecto del usuario cuando él / ella registra en su sitio web?" + +#: ../LoginRadius_admin.php:652 +msgid "Active" +msgstr "activo" + +#: ../LoginRadius_admin.php:653 +msgid "Inactive" +msgstr "inactivo" + +#: ../LoginRadius_admin.php:662 +msgid "User Profile Data Options" +msgstr "Perfil de usuario Opciones de datos" + +#: ../LoginRadius_admin.php:668 +msgid "Do you want to update User Profile Data in your Wordpress database, every time user logs into your website?" +msgstr "¿Desea actualizar los datos del perfil de usuario en la base de datos de Wordpress, cada vez que el usuario inicie sesión en su sitio web?" + +#: ../LoginRadius_admin.php:669 +msgid "If you disable this option, user profile data will be saved only once when user logs in first time at your website, user profile details will not be updated in your Wordpress database, even if user changes his/her social account details." +msgstr "Si desactiva esta opción, los datos de perfil de usuario se guardarán sólo una vez cuando el usuario inicia la sesión primera vez en su sitio web, información de perfil de usuario no se actualizarán en la base de datos de Wordpress, incluso si el usuario cambia su / sus detalles de cuentas sociales." + +#: ../LoginRadius_admin.php:671 +#: ../LoginRadius_admin.php:717 +msgid "YES" +msgstr "SI" + +#: ../LoginRadius_admin.php:683 +#, fuzzy +msgid "Social Commenting Settings" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:689 +msgid "Do you want to enable Social Commenting for your website" +msgstr "¿Desea permitir Social comentar para su sitio web" + +#: ../LoginRadius_admin.php:701 +#, fuzzy +msgid "Where do you want to display the Social login interface on the commenting form?" +msgstr "cómo quiere Login Social a aparecer en forma de comentario" + +#: ../LoginRadius_admin.php:704 +msgid "At the very top of the comment form" +msgstr "En la parte superior del formulario de comentarios" + +#: ../LoginRadius_admin.php:705 +msgid "After the 'Leave a Reply' caption" +msgstr "Después de la 'Deja un comentario' leyenda" + +#: ../LoginRadius_admin.php:706 +msgid "Before the comment form input fields" +msgstr "Antes de que los campos de entrada de formulario de comentarios" + +#: ../LoginRadius_admin.php:707 +#, fuzzy +msgid "Before the comment box" +msgstr "Antes del contenido del programa" + +#: ../LoginRadius_admin.php:715 +#, fuzzy +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "Aprobar automáticamente los comentarios realizados por los usuarios de inicio de sesión sociales" + +#: ../LoginRadius_admin.php:718 +#, fuzzy +msgid "NO, I want to approve the comments per my discretion" +msgstr "NO, quiero aprobar las observaciones según mi criterio" + +#: ../LoginRadius_admin.php:728 +#, fuzzy +msgid "Basic Social Sharing Settings" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:734 +msgid "Do you want to enable Social Sharing for your website" +msgstr "¿Quieres activar Compartir Social para su sitio web" + +#: ../LoginRadius_admin.php:747 +#, fuzzy +msgid "Social Sharing Theme Selection" +msgstr "Compartir ubicación social" + +#: ../LoginRadius_admin.php:753 +#, fuzzy +msgid "What Social Sharing widget theme would you like to use across your website? (Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "¿Qué tema Social widget de Intercambio es lo que quieres usar a través de su sitio web?" + +#: ../LoginRadius_admin.php:765 +#, fuzzy +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "¿Quieres activar Compartir Social para su sitio web" + +#: ../LoginRadius_admin.php:774 +#, fuzzy +msgid "Choose a Sharing theme" +msgstr "Elige un tema compartido" + +#: ../LoginRadius_admin.php:833 +#, fuzzy +msgid "Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "Este texto se muestra arriba del botón de registro de Social Login." + +#: ../LoginRadius_admin.php:835 +#, fuzzy +msgid "Share it now!" +msgstr "Compartir ahora" + +#: ../LoginRadius_admin.php:840 +#: ../LoginRadius_admin.php:950 +msgid "What Sharing Networks do you want to show in the sharing widget? (All other sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "¿Qué redes de intercambio de qué quiere mostrar en el widget para compartir? (Todas las redes de intercambio de otros se mostrarán como parte del icono LoginRadius compartir)" + +#: ../LoginRadius_admin.php:842 +#: ../LoginRadius_admin.php:952 +msgid "You can select only nine providers" +msgstr "Puede seleccionar sólo nueve proveedores" + +#: ../LoginRadius_admin.php:851 +#: ../LoginRadius_admin.php:961 +#, fuzzy +msgid "In what order do you want your sharing networks listed?" +msgstr "¿En qué orden compartido de la red prefiere para su widget compartir?" + +#: ../LoginRadius_admin.php:871 +#, fuzzy +msgid "Select the position of the Social sharing interface" +msgstr "donde para mostrar los iconos sociales" + +#: ../LoginRadius_admin.php:873 +msgid "Show at the top of content" +msgstr "Mostrar en la parte superior de los contenidos" + +#: ../LoginRadius_admin.php:874 +msgid "Show at the bottom of content" +msgstr "Mostrar en la parte inferior de contenido" + +#: ../LoginRadius_admin.php:877 +#: ../LoginRadius_admin.php:1004 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "¿En qué área (s) quieres mostrar el widget de intercambio social?" + +#: ../LoginRadius_admin.php:879 +#: ../LoginRadius_admin.php:1006 +#, fuzzy +msgid "Show on homepage" +msgstr "Mostrar en el Formulario de comentarios" + +#: ../LoginRadius_admin.php:880 +#: ../LoginRadius_admin.php:1007 +#, fuzzy +msgid "Show on posts" +msgstr "Mostrar en el Formulario de comentarios" + +#: ../LoginRadius_admin.php:882 +#: ../LoginRadius_admin.php:1009 +#, fuzzy +msgid "Show on pages" +msgstr "Mostrar en las páginas" + +#: ../LoginRadius_admin.php:883 +#: ../LoginRadius_admin.php:1010 +#, fuzzy +msgid "Show on post excerpts " +msgstr "Mostrar en el Formulario de Registro" + +#: ../LoginRadius_admin.php:884 +#: ../LoginRadius_admin.php:1011 +#, fuzzy +msgid "Show on archive pages" +msgstr "Mostrar en el archivos de las páginas" + +#: ../LoginRadius_admin.php:886 +#: ../LoginRadius_admin.php:1013 +#, fuzzy +msgid "Show on feed" +msgstr "Mostrar en el alimento" + +#: ../LoginRadius_admin.php:897 +#, fuzzy +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "¿Quieres activar Compartir Social para su sitio web" + +#: ../LoginRadius_admin.php:906 +msgid "Choose a sharing theme" +msgstr "Elige un tema compartido" + +#: ../LoginRadius_admin.php:981 +#, fuzzy +msgid "Select the position of the Social Sharing widget" +msgstr "Seleccione la posición del widget de Intercambio Social" + +#: ../LoginRadius_admin.php:997 +msgid "Specify distance of vertical sharing interface from top (Leave empty for default behaviour)" +msgstr "Especifique distancia de interfaz intercambio vertical de arriba (Dejar en blanco para el comportamiento por defecto)" + +#: ../LoginRadius_admin.php:998 +msgid "Enter a number (For example - 200). It will set the 'top' CSS attribute of the interface to the value specified. Increase in the number pushes interface towards bottom." +msgstr "Introduzca un número (por ejemplo - 200). Se fijará el 'top' atributo CSS de la interfaz con el valor especificado. Aumento del número empuja interfaz hacia abajo." + +#: ../LoginRadius_admin.php:1059 +msgid "Save Changes" +msgstr "Guardar cambios" + +#: ../LoginRadius_admin.php:1060 +msgid "Preview" +msgstr "Vista previa" + +#: ../LoginRadius_function.php:150 +msgid "Log Out" +msgstr "Cierre de sesión" + +#: ../LoginRadius_function.php:548 +msgid "This account is already mapped" +msgstr "Esta cuenta ya está asignada" + +#: ../LoginRadius_function.php:551 +msgid "Account mapped successfully" +msgstr "Cuenta asignó correctamente" + +#: ../LoginRadius_function.php:556 +msgid "Link your account" +msgstr "Vincula tu cuenta" + +#: ../LoginRadius_function.php:560 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "Al agregar otra cuenta, puede iniciar sesión con la nueva cuenta, así!" + +#: ../LoginRadius_function.php:665 +#: ../LoginRadius_function.php:688 +msgid "Connected with" +msgstr "conectado con" + +#: ../LoginRadius_function.php:669 +#: ../LoginRadius_function.php:692 +msgid "Remove" +msgstr "quitar" + +#: ../LoginRadius_function.php:771 +#, fuzzy +msgid "Please wait" +msgstr "Por favor Ingresar con" + +#: ../LoginRadius_function.php:783 +#: ../LoginRadius_function.php:788 +msgid "Active (Click to Disable)" +msgstr "Active (Haga clic en Desactivar)" + +#: ../LoginRadius_function.php:785 +msgid "Inactive (Click to Enable)" +msgstr "Inactivo (Haga clic para activar)" + +#: ../LoginRadius_function.php:792 +msgid "Unexpected error occurred" +msgstr "Error inesperado" + +#: ../LoginRadius_widget.php:10 +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Ingresa o registrate con Facebook, Twitter, yahoo, Google y muchas más." + +#: ../LoginRadius_widget.php:62 +#: ../LoginRadius_widget.php:135 +#: ../LoginRadius_widget.php:208 +msgid "Title:" +msgstr "título:" + +#: ../LoginRadius_widget.php:64 +#: ../LoginRadius_widget.php:137 +#: ../LoginRadius_widget.php:210 +msgid "Before widget content:" +msgstr "Antes del contenido del programa" + +#: ../LoginRadius_widget.php:66 +#: ../LoginRadius_widget.php:139 +#: ../LoginRadius_widget.php:212 +msgid "After widget content:" +msgstr "Después del contenido del programa" + +#: ../LoginRadius_widget.php:68 +#: ../LoginRadius_widget.php:141 +#: ../LoginRadius_widget.php:214 +msgid "Hide for logged in users:" +msgstr "Oculto para registrados en seccion de usuarios." + +#: ../LoginRadius_widget.php:83 +#: ../LoginRadius_widget.php:156 +#, fuzzy +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Ingresa o registrate con Facebook, Twitter, yahoo, Google y muchas más." + +#, fuzzy +#~ msgid "Set up my FREE account!" +#~ msgstr "¡Crea tu cuenta GRATIS ahora!" + +#, fuzzy +#~ msgid "Disable Social Counter on this " +#~ msgstr "Habilitar contador Social" + +#, fuzzy +#~ msgid "Support Documentations" +#~ msgstr "Documentación" + +#, fuzzy +#~ msgid "Social Counter" +#~ msgstr "Compartir ubicación social" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Seleccionar temas Social widget de compartir que se muestra en la parte " +#~ "superior de los contenidos" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Seleccionar temas Social widget de compartir que se muestra en la parte " +#~ "inferior de los contenidos" + +#, fuzzy +#~ msgid "Social Sharing Widget Position" +#~ msgstr "Comparte la posición social" + +#, fuzzy +#~ msgid "Basic Social Counter Settings" +#~ msgstr "Compartir ubicación social" + +#~ msgid "Do you want to enable Social Counter for your website?" +#~ msgstr "¿Quieres habilitar contador Social para su sitio web?" + +#, fuzzy +#~ msgid "" +#~ "Enter the text that you wish to be displayed above the Social Counter " +#~ "Interface. Leave the field blank if you don't want any text to be " +#~ "displayed" +#~ msgstr "Este texto se muestra arriba del botón de registro de Social Login." + +#, fuzzy +#~ msgid "Be a fan" +#~ msgstr "Ser un fan!" + +#, fuzzy +#~ msgid "Social Counter Theme Selection" +#~ msgstr "Compartir ubicación social" + +#, fuzzy +#~ msgid "" +#~ "What Social Counter widget theme would you like to use across your " +#~ "website?" +#~ msgstr "" +#~ "¿Qué tema social Counter Widget quieres utilizar a través de su sitio web?" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Seleccionar temas Social widget de contador que se muestra en la parte " +#~ "superior de los contenidos" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Seleccionar temas Social widget de contador que se muestra en la parte " +#~ "inferior de los contenidos" + +#~ msgid "Choose a counter theme" +#~ msgstr "Elige un tema contador" + +#~ msgid "What Counter Networks do you want to show in the counter widget?" +#~ msgstr "¿Qué redes contador se desea mostrar en el widget contador?" + +#, fuzzy +#~ msgid "Social Counter Widget Position" +#~ msgstr "Comparte la posición social" + +#, fuzzy +#~ msgid "Select the position of the Social Counter widget" +#~ msgstr "Seleccione la posición del widget contador Social" + +#~ msgid "" +#~ "Specify distance of vertical counter interface from top (Leave empty for " +#~ "default behaviour)" +#~ msgstr "" +#~ "Especifique la distancia vertical de interfaz de contador de arriba " +#~ "(Dejar en blanco para el comportamiento por defecto)" + +#, fuzzy +#~ msgid "Select the position of Social counter interface" +#~ msgstr "donde para mostrar los iconos sociales" + +#~ msgid "What area(s) do you want to show the social counter widget?" +#~ msgstr "¿En qué área (s) quieres mostrar en el widget contador social?" + +#~ msgid "Get your fan counts all over the social networks." +#~ msgstr "Obtenga su ventilador cuenta por todas las redes sociales." + +#~ msgid "What size would you choose for Social Login Interface?" +#~ msgstr "¿De qué tamaño que usted elija para Interface sesión Social?" + +#~ msgid "" +#~ "In how many columns would you want to show Social icons in the Social " +#~ "Login Interface?" +#~ msgstr "" +#~ "En el número de columnas que desea mostrar iconos sociales en la interfaz " +#~ "sesión Social?" + +#~ msgid "" +#~ "Currently service is not available and we are working on a fix for it." +#~ msgstr "" +#~ "Actualmente el servicio no está disponible y estamos trabajando en una " +#~ "solución para ello." + +#~ msgid "" +#~ "Embed it in registration form and show it below the registration form" +#~ msgstr "" +#~ "Colóquelo en forma de registro y mostrar a continuación el formulario de " +#~ "inscripción" + +#, fuzzy +#~ msgid "Redirect to the Custom URL:" +#~ msgstr "Redireccionar a la url:" + +#, fuzzy +#~ msgid "" +#~ "YES, Link existing WP user accounts to user social account if email ID " +#~ "matches" +#~ msgstr "" +#~ "Enlace existentes cuentas de usuario de Wordpress para Ingresar Social " +#~ "(si lo hay)" + +#, fuzzy +#~ msgid "NO, Do not Link existing WP user accounts to user social account" +#~ msgstr "" +#~ "Enlace existentes cuentas de usuario de Wordpress para Ingresar Social " +#~ "(si lo hay)" + +#~ msgid "" +#~ "Social Network provides User avatar image as profile data, do you want to " +#~ "show User Social profile image as avatar for your website?" +#~ msgstr "" +#~ "Red Social proporciona Imagen Avatar de Usuario como dato de perfil, " +#~ "¿quieres mostrar imagen Perfil de usuario Social como avatar para tu " +#~ "sitio web?" + +#, fuzzy +#~ msgid "" +#~ "YES, use user social profile image or avatar (if provided by ID Provider)" +#~ msgstr "Utilice Avatar proveedor Social (en caso de proporcionar)" + +#~ msgid "" +#~ "You can customize the settings for your plugin on this page, though you " +#~ "will have to choose your desired ID providers and get your unique" +#~ msgstr "" +#~ "Puede configurar los parametros del plugin en esta página, aunque es " +#~ "necesario que seleccione los proveedores de conección y gestione su" + +#, fuzzy +#~ msgid "from your" +#~ msgstr "de su" + +#~ msgid " account at" +#~ msgstr "cuenta a" + +#~ msgid "" +#~ "There you can also customize your login interface with different login " +#~ "themes and icon sets. By using LoginRadius, the profile data of each user " +#~ "who logs in via social login will be saved to your WordPress database." +#~ msgstr "" +#~ "Allí también se puede personalizar la interfaz de inicio de sesión con " +#~ "los temas de acceso diferentes y conjuntos de iconos. Mediante el uso de " +#~ "LoginRadius, los datos del perfil de cada usuario que se registra a " +#~ "través de conexión social, se guardará en su base de datos de WordPress." + +#, fuzzy +#~ msgid "" +#~ "is a technology startup based in Canada that offers social login through " +#~ "popular ID providers such as Facebook Twitter Google LinkedIn and over 15 " +#~ "more as well as social sharing on over 80 networks. For tech support or " +#~ "if you have any questions please contact us at" +#~ msgstr "" +#~ "es una compañía de tecnología NorteAmericana que ofrece registros via " +#~ "redes sociales vinculandose con servidores como Facebook, Twitter, Google " +#~ "y más de 15 proveedores adicionales. Para soporte técnico o si tiene " +#~ "alguna pregunta, favor de ponerse en contacto a" + +#~ msgid "We are available 24/7 to assist our clients!" +#~ msgstr "Estamos disponibles 24/7 para ayudar a nuestros clientes." + +#~ msgid "Plugin Help" +#~ msgstr "de ayuda del plugin" + +#, fuzzy +#~ msgid "Live Demo (Wordpress)" +#~ msgstr "Sitio Web de Demostracion" + +#, fuzzy +#~ msgid "Live Demo (BuddyPress)" +#~ msgstr "Sitio Web de Demostracion" + +#, fuzzy +#~ msgid "Live Demo (bbPress)" +#~ msgstr "Sitio Web de Demostracion" + +#~ msgid "Other AddOns" +#~ msgstr "otros complementos" + +#~ msgid "LoginRadius Blog" +#~ msgstr "Blog de LoginRadius" + +#, fuzzy +#~ msgid "WP Social Login Support" +#~ msgstr "Compartir ubicación social" + +#, fuzzy +#~ msgid "Contact LoginRadius" +#~ msgstr "Acerca de LoginRadius" + +#, fuzzy +#~ msgid "Social Share & Counter" +#~ msgstr "Comparte la posición social" + +#~ msgid "LoginRadius Login & Redirection Settings" +#~ msgstr "LoginRadius de sesión y la redirección de Configuración" + +#, fuzzy +#~ msgid "Show on Login Page" +#~ msgstr "Mostrar en el formulario de acceso" + +#, fuzzy +#~ msgid "Embed in Login Form" +#~ msgstr "Mostrar en el formulario de acceso" + +#, fuzzy +#~ msgid "Show Beside Login Form" +#~ msgstr "Mostrar en el formulario de acceso" + +#, fuzzy +#~ msgid "Show on Register Page" +#~ msgstr "Mostrar en el Formulario de Registro" + +#, fuzzy +#~ msgid "Embed in Register Form" +#~ msgstr "Mostrar en el Formulario de Registro" + +#, fuzzy +#~ msgid "Social Linking" +#~ msgstr "Compartir ubicación social" + +#~ msgid "Show Social Avatar" +#~ msgstr "Mostrar Avatar Social" + +#, fuzzy +#~ msgid "Show social provider avatar image" +#~ msgstr "proveedor de la imagen social de avatar en comentario" + +#~ msgid "Redirect user After login" +#~ msgstr "Redirigir Después de iniciar sesión de usuario" + +#~ msgid "Redirect to Same Page of blog" +#~ msgstr "Redireccionar a la misma página del blog" + +#, fuzzy +#~ msgid "Logout Redirection Setting" +#~ msgstr "redirección de Marco" + +#, fuzzy +#~ msgid "Redirect user After logout" +#~ msgstr "Redirigir Después de iniciar sesión de usuario" + +#~ msgid "(Only for Login Radius widget area)" +#~ msgstr "(Sólo para el área de widget de Acceso Radio)" + +#, fuzzy +#~ msgid "Redirect to Home Page of blog" +#~ msgstr "Redireccionar a la misma página del blog" + +#~ msgid "To Communicate with API" +#~ msgstr "Para comunicarse con la API" + +#~ msgid "Use cURL (Require cURL support = enabled in your php.ini settings)" +#~ msgstr "" +#~ "Use cURL (Requiere cURL support = enabled en la configuración de php.ini)" + +#~ msgid "" +#~ "Use FSOCKOPEN (Require allow_url_fopen = On and safemode = off in your " +#~ "php.ini settings)" +#~ msgstr "" +#~ "Utilice fsockopen (Requiere allow_url_fopen = On y safemode = off en la " +#~ "configuración de php.ini)" + +#~ msgid "LoginRadius Basic Settings" +#~ msgstr "Configuración básica de LoginRadius" + +#~ msgid "Title" +#~ msgstr "Título" + +#~ msgid "Send Email" +#~ msgstr "Enviar correo" + +#, fuzzy +#~ msgid "After user registration" +#~ msgstr "Después de registrarse el usuario" + +#~ msgid "Email Required" +#~ msgstr "Dirección de correo-e Indispensable." + +#, fuzzy +#~ msgid "" +#~ "A few ID provider does not provide user's Email ID. Select YES if you " +#~ "would like an email pop-up after login or select NO if you would like to " +#~ "auto-generate the email address." +#~ msgstr "" +#~ "Algunos proveedores de conección no entegan la dirección de correo del " +#~ "usuario. Selecciona \"SI/YES\" si deseas que aparezca una ventana que " +#~ "solicite el correo y selecciona \"No\" si deseas que la dirección de " +#~ "correo se genere automáticamente." + +#, fuzzy +#~ msgid "This text will be displayed on the email popup" +#~ msgstr "" +#~ "Este texto se displyed por encima de la ventana emergente para entrar en " +#~ "correo electrónico." + +#, fuzzy +#~ msgid "Please enter your email to proceed" +#~ msgstr "" +#~ "Por favor, introduzca su dirección de correo electrónico para continuar." + +#, fuzzy +#~ msgid "" +#~ "This text will be displayed on the email popup if the email is already " +#~ "registered or invalid" +#~ msgstr "" +#~ "Este texto se displyed por encima de la ventana emergente si el correo " +#~ "electrónico ya está registrado o no válido." + +#~ msgid "Turn Social Sharing ON/OFF" +#~ msgstr "Gire Compartir redes sociales ON / OFF" + +#~ msgid "Code" +#~ msgstr "código" + +#~ msgid "paste sharing code from your LoginRadius account" +#~ msgstr "pegar el código compartido de su cuenta LoginRadius" + +#, fuzzy +#~ msgid "where to show social share bar" +#~ msgstr "donde para mostrar los iconos sociales" + +#, fuzzy +#~ msgid "Show on Top" +#~ msgstr "Mostrar en el formulario de acceso" + +#, fuzzy +#~ msgid "Show on Bottom" +#~ msgstr "Mostrar en el Formulario de comentarios" + +#, fuzzy +#~ msgid "which location to show social share bar" +#~ msgstr "donde para mostrar los iconos sociales" + +#~ msgid "Turn Social Counter ON/OFF" +#~ msgstr "Gire Contador Social ON / OFF" + +#, fuzzy +#~ msgid "which location to show social counter interface" +#~ msgstr "donde para mostrar los iconos sociales" + +#~ msgid "LoginRadius API Settings" +#~ msgstr "Parámetros del API Key LoginRadius" + +#, fuzzy +#~ msgid "LoginRadius API key" +#~ msgstr "Parámetros del API Key LoginRadius" + +#, fuzzy +#~ msgid "Required for LoginRadius plugin to work" +#~ msgstr "Otros plugins de LoginRadius" + +#~ msgid "Paste LoginRadius API Key here. To get the API Key, log in to" +#~ msgstr "Copia tu API Key de LoginRadius aquí. Para obtenerla, registrate en" + +#, fuzzy +#~ msgid "LoginRadius API Secret" +#~ msgstr "API Key personal de LoginRadius" + +#~ msgid "Paste LoginRadius API Secret here. To get the API Secret, log in to " +#~ msgstr "" +#~ "Copia tu API Secreto de LoginRadius aquí. Para obtenerla, registrate en" + +#~ msgid "Turn Social Commenting ON/OFF" +#~ msgstr "Gire Social comentar ON / OFF" + +#~ msgid "Enable Social Commenting" +#~ msgstr "Habilitar Social Comentando" + +#~ msgid "Commenting Mode" +#~ msgstr "Comentando el modo de" + +#~ msgid "Show on Comment Form" +#~ msgstr "Mostrar en el Formulario de comentarios" + +#~ msgid "" +#~ "Integrate with Comment Form (Give your website users a new commenting " +#~ "experience)" +#~ msgstr "" +#~ "Integración con Forma Comentario (Dele a su sitio web los usuarios una " +#~ "nueva experiencia comentar)" + +#~ msgid "Select a social network:" +#~ msgstr "Seleccione una red social:" + +#, fuzzy +#~ msgid "Auto Approve Social User's Comments" +#~ msgstr "Auto aprobar comentario de usuario sociales" + +#, fuzzy +#~ msgid "if user logged in using social login" +#~ msgstr "si el usuario ha iniciado sesión con inicio de sesión sociales" + +#, fuzzy +#~ msgid "LoginRadius Share Basic Settings" +#~ msgstr "Configuración básica de LoginRadius" + +#~ msgid "Open in new window" +#~ msgstr "Abre en ventana nueva" + +#~ msgid "opened new window for sharing" +#~ msgstr "nueva ventana que se abre para compartir" + +#~ msgid "Open share link in new Window" +#~ msgstr "Abrir enlace en nueva ventana participación en" + +#, fuzzy +#~ msgid "LoginRadius Share Location Settings" +#~ msgstr "Configuración básica de LoginRadius" + +#, fuzzy +#~ msgid "Required for Social Login and Social Share" +#~ msgstr "Se requiere para Ingresar Social" + +#~ msgid "Required for Social Login" +#~ msgstr "Se requiere para Ingresar Social" + +#~ msgid "from" +#~ msgstr "junto a la palabra secreta desde" + +#~ msgid "" +#~ "In order to make the login process secure, we require you to manage it " +#~ "from your LoginRadius account." +#~ msgstr "" +#~ "Buscando hacer el proceso de registro seguro, solicitamos que se manejen " +#~ "desde su cuenta de LoginRadius" + +#~ msgid "Restored all settings to defaults." +#~ msgstr "Restaurar todos los valores predeterminados." + +#~ msgid "You Must Need a Login Radius Api Key For Login Process." +#~ msgstr "" +#~ "Usted debe necesitar una API Key LoginRadius para el proceso de inicio de " +#~ "sesión." + +#~ msgid "You Must Need a Login Radius Api Secret For Login Process." +#~ msgstr "" +#~ "Usted debe necesitar un secreto Api LoginRadius para el proceso de inicio " +#~ "de sesión." + +#~ msgid "You Need a Redirect url for Login Redirection." +#~ msgstr "" +#~ "Necesita una URL de redireccionamiento para la redirección de inicio de " +#~ "sesión." + +#~ msgid "Saved changes." +#~ msgstr "Guardado los cambios." + +#~ msgid "Restore Defaults" +#~ msgstr "Configuracion original" + +#~ msgid "Welcome! " +#~ msgstr "Bienvenido!" diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-fr_FR.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-fr_FR.mo new file mode 100644 index 0000000..b71d936 Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-fr_FR.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-fr_FR.po b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-fr_FR.po new file mode 100644 index 0000000..f72649f --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-fr_FR.po @@ -0,0 +1,1377 @@ +msgid "" +msgstr "" +"Project-Id-Version: LoginRadius\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-07-02 10:52-0800\n" +"PO-Revision-Date: 2013-07-02 10:52-0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ..\n" + +#: ../LoginRadius.php:108 +#: ../LoginRadius.php:183 +#: ../LoginRadius.php:550 +#: ../LoginRadius_function.php:827 +msgid "Your account is currently inactive. You will be notified through email, once Administrator activates your account." +msgstr "Votre compte est actuellement inactif. Vous serez averti par e-mail, une fois l'administrateur active votre compte." + +#: ../LoginRadius.php:110 +msgid "Your email has been successfully verified. Now you can login into your account." +msgstr "Votre email a été vérifiée avec succès. Vous pouvez maintenant vous connecter à votre compte." + +#: ../LoginRadius.php:140 +#: ../LoginRadius.php:534 +msgid "Your Confirmation link Has Been Sent To Your Email Address. Please verify your email by clicking on confirmation link." +msgstr "Votre lien de confirmation a été envoyé à votre adresse e-mail. S'il vous plaît vérifier votre email en cliquant sur ​​le lien de confirmation." + +#: ../LoginRadius.php:228 +#: ../LoginRadius.php:243 +#: ../LoginRadius.php:382 +msgid "Please verify your email by clicking the confirmation link sent to you." +msgstr "S'il vous plaît vérifier votre email en cliquant sur le lien de confirmation envoyé vers vous." + +#: ../LoginRadius.php:765 +#, fuzzy +msgid "Disable Social Sharing on this " +msgstr "Position sociale Partager" + +#: ../LoginRadius.php:869 +msgid "Settings" +msgstr "réglages" + +#: ../LoginRadius_admin.php:48 +#: ../LoginRadius_admin.php:73 +msgid "Please wait. This may take a few minutes" +msgstr "S'il vous plaît attendre. Cela peut prendre quelques minutes" + +#: ../LoginRadius_admin.php:57 +msgid "Detected CURL. Please save changes" +msgstr "Détecté CURL. S'il vous plaît enregistrer les modifications" + +#: ../LoginRadius_admin.php:60 +msgid "Detected FSOCKOPEN. Please save changes" +msgstr "Fsockopen détecté. S'il vous plaît enregistrer les modifications" + +#: ../LoginRadius_admin.php:63 +msgid "Please check your php.ini settings to enable CURL or FSOCKOPEN" +msgstr "S'il vous plaît vérifier vos paramètres de php.ini pour permettre CURL ou fsockopen" + +#: ../LoginRadius_admin.php:65 +msgid "Problem in communicating LoginRadius API. Please check if one of the API Connection method mentioned above is working." +msgstr "Reporter un problème dans la communication API LoginRadius. S'il vous plaît vérifiez si l'une des méthodes de connexion API mentionné ci-dessus fonctionne." + +#: ../LoginRadius_admin.php:67 +msgid "Uh oh, looks like something went wrong. Try again in a sec!" +msgstr "Uh oh, on dirait que quelque chose s'est mal passé. Essayez à nouveau dans une seconde!" + +#: ../LoginRadius_admin.php:84 +#, fuzzy +msgid "Your API Key is invalid. Please paste the correct API Key from your LoginRadius Account." +msgstr "Copiez le code compteur dans votre compte LoginRadius" + +#: ../LoginRadius_admin.php:86 +msgid "Your API Secret is invalid. Please paste the correct API Secret from your LoginRadius Account" +msgstr "Votre secret API n'est pas valide. S'il vous plaît collez le secret API correcte de votre compte LoginRadius" + +#: ../LoginRadius_admin.php:88 +#, fuzzy +msgid "API Key and Secret cannot be same. Please paste correct API Key and Secret from your LoginRadius account in the corresponding fields above." +msgstr "Votre secret API n'est pas valide. S'il vous plaît collez le secret API correcte de votre compte LoginRadius" + +#: ../LoginRadius_admin.php:90 +msgid "Your API Key and Secret are valid. Please save the changes." +msgstr "Votre clé API et Secret sont valides. S'il vous plaît enregistrer les modifications." + +#: ../LoginRadius_admin.php:212 +#, fuzzy +msgid "Social Plugin Settings" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:214 +msgid "Please clear your browser cache, if you have trouble loading the plugin interface. For more information" +msgstr "S'il vous plaît effacer le cache de votre navigateur, si vous avez des problèmes pour charger l'interface du plugin. Pour plus d'informations" + +#: ../LoginRadius_admin.php:214 +msgid "click here" +msgstr "cliquez ici" + +#: ../LoginRadius_admin.php:217 +#, fuzzy +msgid "Thank you for installing the LoginRadius Social Plugin!" +msgstr "Merci d'avoir installé le plugin pour connecter LoginRadius social et le partage social!" + +#: ../LoginRadius_admin.php:218 +#, fuzzy +msgid "To activate the plugin, you will need to first configure it (manage your desired social networks, etc.) from your LoginRadius account. If you do not have an account, click" +msgstr "Pour activer le plugin, s'il vous plaît configurer et gérer les réseaux sociaux à partir du compte LoginRadius vous. Si vous ne possédez pas de compte, cliquez sur" + +#: ../LoginRadius_admin.php:218 +msgid "here" +msgstr "ici" + +#: ../LoginRadius_admin.php:218 +msgid "and create one for FREE!" +msgstr "et de créer un gratuitement!" + +#: ../LoginRadius_admin.php:220 +#, fuzzy +msgid "We also offer Social Plugins for " +msgstr "Ce texte displyed au-dessus du bouton de connexion sociale." + +#: ../LoginRadius_admin.php:220 +msgid "and" +msgstr "et" + +#: ../LoginRadius_admin.php:223 +msgid "Enable Plugin Now!" +msgstr "Activer Plugin maintenant!" + +#: ../LoginRadius_admin.php:225 +msgid "How to set up an account" +msgstr "Comment mettre en place un compte" + +#: ../LoginRadius_admin.php:229 +#, fuzzy +msgid "Get Updates" +msgstr "Mises à jour!" + +#: ../LoginRadius_admin.php:230 +#, fuzzy +msgid "To receive updates on new features, future releases, etc, please connect with us via Facebook and Twitter" +msgstr "Pour recevoir les mises à jour sur les nouvelles fonctionnalités, des communiqués, etc, s'il vous plaît vous connecter à l'un de nos pages de médias sociaux" + +#: ../LoginRadius_admin.php:240 +#: ../LoginRadius_admin.php:1024 +#, fuzzy +msgid "Help & Documentations" +msgstr "Documentation" + +#: ../LoginRadius_admin.php:242 +#: ../LoginRadius_admin.php:1030 +msgid "Plugin Installation, Configuration and Troubleshooting" +msgstr "Installation plug-in, configuration et dépannage" + +#: ../LoginRadius_admin.php:243 +#: ../LoginRadius_admin.php:1031 +#, fuzzy +msgid "How to get LoginRadius API Key & Secret" +msgstr "API LoginRadius and Secret" + +#: ../LoginRadius_admin.php:244 +#: ../LoginRadius_admin.php:1032 +#, fuzzy +msgid "WP Multisite Feature" +msgstr "page plugin" + +#: ../LoginRadius_admin.php:247 +#: ../LoginRadius_admin.php:1033 +msgid "Discussion Forum" +msgstr "Forum de discussion" + +#: ../LoginRadius_admin.php:248 +#: ../LoginRadius_admin.php:1036 +msgid "About LoginRadius" +msgstr "À propos LoginRadius" + +#: ../LoginRadius_admin.php:249 +#: ../LoginRadius_admin.php:1037 +#, fuzzy +msgid "LoginRadius Products" +msgstr "Blog LoginRadius" + +#: ../LoginRadius_admin.php:252 +#: ../LoginRadius_admin.php:1038 +#, fuzzy +msgid "Social Plugins" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:253 +#: ../LoginRadius_admin.php:1039 +#, fuzzy +msgid "Social SDKs" +msgstr "Position sociale Partager" + +#: ../LoginRadius_admin.php:258 +#, fuzzy +msgid "Support Us" +msgstr "Tech Support" + +#: ../LoginRadius_admin.php:260 +msgid "If you liked our FREE open-source plugin, please send your feedback/testimonial to " +msgstr "Si vous avez aimé notre open-source gratuit plugin, s'il vous plaît envoyer vos commentaires / témoignages d'" + +#: ../LoginRadius_admin.php:261 +msgid "Please help us to " +msgstr "S'il vous plaît aidez-nous à" + +#: ../LoginRadius_admin.php:261 +msgid "translate" +msgstr "traduire" + +#: ../LoginRadius_admin.php:261 +msgid "the plugin content in your language." +msgstr "le contenu du plugin dans votre langue." + +#: ../LoginRadius_admin.php:271 +msgid "To activate the Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret." +msgstr "Pour activer le connecter sociale , insérez LoginRadius clé API et secret dans les paramètres API la section ci-dessous. partage social ne nécessite pas de clé API et secret ." + +#: ../LoginRadius_admin.php:280 +msgid "Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com" +msgstr "Votre clé API de LoginRadius ou secret n'est pas valide, veuillez corriger ou contacter le support LoginRadius à www.LoginRadius. com " + +#: ../LoginRadius_admin.php:291 +#, fuzzy +msgid "API Settings" +msgstr "réglages" + +#: ../LoginRadius_admin.php:292 +#, fuzzy +msgid "Social Login" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:293 +#, fuzzy +msgid "Social Commenting" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:294 +#, fuzzy +msgid "Social Sharing" +msgstr "Position sociale Partager" + +#: ../LoginRadius_admin.php:295 +msgid "Help" +msgstr "aider" + +#: ../LoginRadius_admin.php:301 +#, fuzzy +msgid "What API Connection Method do you prefer to use to enable API communication?" +msgstr "Quelle méthode de connexion API préférez-vous pour activer la communication API?" + +#: ../LoginRadius_admin.php:311 +msgid "Use CURL" +msgstr "utiliser CURL" + +#: ../LoginRadius_admin.php:312 +#, fuzzy +msgid "This is the recommended API connection method, but sometimes this is disabled on hosting server" +msgstr "Méthode recommandée connexion API, mais parfois cette option est désactivée au serveur d'hébergement" + +#: ../LoginRadius_admin.php:316 +msgid "Use FSOCKOPEN" +msgstr "Utilisez fsockopen" + +#: ../LoginRadius_admin.php:317 +#, fuzzy +msgid "Choose this option if cURL is disabled on your hosting server" +msgstr "Choisissez cette option si cURL est désactivé sur votre serveur d'hébergement" + +#: ../LoginRadius_admin.php:318 +#, fuzzy +msgid "Auto-detect Connection Method" +msgstr "Sélectionnez des titres de compétences API" + +#: ../LoginRadius_admin.php:326 +#, fuzzy +msgid "To activate the plugin, insert the LoginRadius API Key & Secret" +msgstr "API LoginRadius and Secret" + +#: ../LoginRadius_admin.php:327 +msgid "(How to get it?)" +msgstr "(Comment l'obtenir?)" + +#: ../LoginRadius_admin.php:332 +msgid "API Key" +msgstr "API Key" + +#: ../LoginRadius_admin.php:337 +msgid "API Secret" +msgstr " Secret API" + +#: ../LoginRadius_admin.php:340 +#, fuzzy +msgid "Verify API Settings" +msgstr "réglages" + +#: ../LoginRadius_admin.php:351 +#, fuzzy +msgid "Social Login Interface Settings" +msgstr "Afficher les icônes sociales sur" + +#: ../LoginRadius_admin.php:355 +#, fuzzy +msgid "What text should be displayed above the Social Login interface? Leave blank if you do not want any text to be displayed" +msgstr "Quel texte que vous voulez afficher au-dessus de l'interface Connexion social (Laissez vide pour aucun texte)?" + +#: ../LoginRadius_admin.php:356 +msgid "Login with Social ID" +msgstr "Connexion avec ID Social" + +#: ../LoginRadius_admin.php:363 +#, fuzzy +msgid "Do you want to show the Social Login interface on your WordPress login page?" +msgstr "où afficher les icônes sociales" + +#: ../LoginRadius_admin.php:365 +#: ../LoginRadius_admin.php:379 +#: ../LoginRadius_admin.php:692 +#: ../LoginRadius_admin.php:737 +#: ../LoginRadius_admin.php:768 +#: ../LoginRadius_admin.php:900 +msgid "Yes" +msgstr "Oui" + +#: ../LoginRadius_admin.php:368 +#: ../LoginRadius_admin.php:381 +#: ../LoginRadius_admin.php:694 +#: ../LoginRadius_admin.php:739 +#: ../LoginRadius_admin.php:770 +#: ../LoginRadius_admin.php:902 +msgid "No" +msgstr "Non" + +#: ../LoginRadius_admin.php:376 +#, fuzzy +msgid "Do you want to show Social Login interface on your WordPress registration page?" +msgstr "où afficher les icônes sociales" + +#: ../LoginRadius_admin.php:389 +#, fuzzy +msgid "If Yes, how do you want the Social Login interface to be shown on your wordpress registration page?" +msgstr "Si oui, comment voulez-vous que l'interface Connexion social à afficher sur votre page d'inscription wordpress?" + +#: ../LoginRadius_admin.php:391 +#, fuzzy +msgid "Show it below the registration form" +msgstr "Afficher sur formulaire d'inscription" + +#: ../LoginRadius_admin.php:392 +#, fuzzy +msgid "Show it beside the registration form" +msgstr "Afficher sur formulaire d'inscription" + +#: ../LoginRadius_admin.php:400 +#, fuzzy +msgid "Social Login Interface Customization" +msgstr "Afficher les icônes sociales sur" + +#: ../LoginRadius_admin.php:404 +#, fuzzy +msgid "Select the icon size to use in the Social Login interface" +msgstr "où afficher les icônes sociales" + +#: ../LoginRadius_admin.php:406 +msgid "Medium" +msgstr "moyen" + +#: ../LoginRadius_admin.php:409 +msgid "Small" +msgstr "petit" + +#: ../LoginRadius_admin.php:416 +msgid "How many social icons would you like to be displayed per row?" +msgstr "Combien d'icônes sociales aimeriez-vous être affichés par ligne?" + +#: ../LoginRadius_admin.php:423 +#, fuzzy +msgid "What background color would you like to use for the Social Login interface?" +msgstr "Quelle couleur choisiriez-vous pour l'arrière-plan de l'interface Connexion social?" + +#: ../LoginRadius_admin.php:423 +msgid "Leave empty for transparent. You can enter hexa-decimal code of the color as well as name of the color." +msgstr "Laissez vide pour transparent. Vous pouvez entrer le code hexadécimal de la couleur ainsi que le nom de la couleur." + +#: ../LoginRadius_admin.php:433 +msgid "User Email Settings" +msgstr "Paramètres de messagerie des utilisateurs" + +#: ../LoginRadius_admin.php:439 +#, fuzzy +msgid "Do you want to send emails to users with their username and password post-registration?" +msgstr "Voulez-vous envoyer des emails aux utilisateurs après l'inscription de leur nom d'utilisateur et Mot de passe les détails?" + +#: ../LoginRadius_admin.php:448 +#, fuzzy +msgid "YES, send an email to users after registration" +msgstr "Sélectionnez Oui si vous souhaitez d'aimer envoyer un email à l'utilisateur après le registre." + +#: ../LoginRadius_admin.php:449 +#, fuzzy +msgid "NO, do not send email to users after registration" +msgstr "Sélectionnez Oui si vous souhaitez d'aimer envoyer un email à l'utilisateur après le registre." + +#: ../LoginRadius_admin.php:456 +#, fuzzy +msgid "A few ID Providers do not supply users' e-mail IDs as part of the user profile data they provide. Do you want to prompt users to provide their email IDs before completing registration process if it is not provided by the ID Provider?" +msgstr "A quelques fournisseurs ID ne fournissons pas les utilisateurs e-mail identifiants dans le cadre de données de profil utilisateur. Voulez-vous les utilisateurs à fournir leurs identifiants par courrier électronique avant la fin de l'enregistrement?" + +#: ../LoginRadius_admin.php:465 +#, fuzzy +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "OUI, ID de messagerie obtenir réels des utilisateurs (Demandez aux utilisateurs d'entrer leurs identifiants de messagerie dans un pop-up)" + +#: ../LoginRadius_admin.php:466 +#, fuzzy +msgid "NO, just auto-generate random email IDs for users" +msgstr "NON, uniquement une auto-générer des ID email aléatoires pour les utilisateurs" + +#: ../LoginRadius_admin.php:474 +#, fuzzy +msgid "Please enter the message to be displayed to the user in the pop-up asking for their email address" +msgstr "S'il vous plaît entrez le message à afficher à l'utilisateur dans l'email pop-up demandant" + +#: ../LoginRadius_admin.php:476 +#, fuzzy +msgid "Unfortunately, the ID Provider did not provided your email address. Please enter your email to proceed" +msgstr "Malheureusement, le fournisseur sociale n'a pas fourni votre adresse e-mail. S'il vous plaît entrer votre e-mail de procéder" + +#: ../LoginRadius_admin.php:483 +#, fuzzy +msgid "Please enter the message to be shown to the user in case of an invalid or already registered email" +msgstr "S'il vous plaît entrez le message à afficher à l'utilisateur en cas d'email invalide ou déjà enregistré" + +#: ../LoginRadius_admin.php:485 +#, fuzzy +msgid "The email you have entered is either already registered or invalid. Please enter a valid email address." +msgstr "Cet email est déjà enregistré ou non valide, s'il vous plaît choisir un autre." + +#: ../LoginRadius_admin.php:493 +#, fuzzy +msgid "Redirection Settings" +msgstr "Réglage de redirection" + +#: ../LoginRadius_admin.php:499 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "Où voulez-vous rediriger vos utilisateurs après avoir réussi à ouvrir une session?" + +#: ../LoginRadius_admin.php:514 +#, fuzzy +msgid "Redirect to the same page where the user logged in" +msgstr "Redirection vers une page d'accueil du blogue" + +#: ../LoginRadius_admin.php:514 +#: ../LoginRadius_admin.php:549 +msgid "Default" +msgstr "par défaut" + +#: ../LoginRadius_admin.php:515 +#, fuzzy +msgid "Redirect to homepage of your WP site" +msgstr "Redirection vers une page d'accueil du blogue" + +#: ../LoginRadius_admin.php:517 +msgid "Redirect to account dashboard" +msgstr "Redirection vers une planche de bord en compte" + +#: ../LoginRadius_admin.php:522 +#, fuzzy +msgid "Redirect to Buddypress profile page" +msgstr "Redirection vers une page d'accueil du blogue" + +#: ../LoginRadius_admin.php:527 +#: ../LoginRadius_admin.php:551 +#, fuzzy +msgid "Redirect to Custom URL:" +msgstr "Redirection vers l'URL suivante:" + +#: ../LoginRadius_admin.php:536 +msgid "Where do you want to redirect your users after successfully logging out?" +msgstr "Où voulez-vous rediriger vos utilisateurs après avoir réussi à se déconnecter?" + +#: ../LoginRadius_admin.php:538 +#, fuzzy +msgid "Note: Logout function works only when clicking 'logout' in the social login widget area. In all other cases, WordPress's default logout function will be applied." +msgstr "Remarque: Déconnexion des Å“uvres fonctionnent uniquement lorsque vous cliquez sur Déconnexion dans la zone de widget de connexion sociale. Dans tous les autres cas, par défaut WordPress fonction de déconnexion sera appliquée." + +#: ../LoginRadius_admin.php:549 +#, fuzzy +msgid "Redirect to the homepage" +msgstr "Redirection vers une page d'accueil du blogue" + +#: ../LoginRadius_admin.php:561 +#, fuzzy +msgid "User Settings" +msgstr "réglages" + +#: ../LoginRadius_admin.php:567 +msgid "Do you want to allow new users to register through Social Login?" +msgstr "Voulez-vous permettre aux nouveaux utilisateurs de s'inscrire par le biais connecter sociale?" + +#: ../LoginRadius_admin.php:569 +msgid "YES, allow new users to register through Social Login" +msgstr "OUI, permettre aux nouveaux utilisateurs de s'inscrire par le biais connecter sociale" + +#: ../LoginRadius_admin.php:570 +msgid "NO, do not allow new users to register through Social Login" +msgstr "NON, ne pas permettre aux nouveaux utilisateurs de s'inscrire par le biais connecter sociale" + +#: ../LoginRadius_admin.php:571 +msgid "New users will not be able to login through Social Login" +msgstr "Les nouveaux utilisateurs ne pourront pas se connecter avec login sociale" + +#: ../LoginRadius_admin.php:579 +msgid "Do you want to display the social network that the user connected with, in the user list" +msgstr "Voulez-vous afficher le réseau social que l'utilisateur connecté avec, dans la liste des utilisateurs" + +#: ../LoginRadius_admin.php:581 +msgid "YES, display the social network that the user connected with, in the user list" +msgstr "OUI, en affichant le réseau social que l'utilisateur connecté avec, dans la liste des utilisateurs" + +#: ../LoginRadius_admin.php:582 +msgid "NO, do not display the social network that the user connected with, in the user list" +msgstr "NON, ne pas afficher le réseau social que l'utilisateur connecté avec, dans la liste des utilisateurs" + +#: ../LoginRadius_admin.php:589 +#, fuzzy +msgid "Do you want to automatically link your existing users' accounts to their social accounts if their WP account email address matches the email address associated with their social account?" +msgstr "Voulez-vous vos comptes existants utilisateur WP lier automatiquement à son compte social au cas où les correspondances d'ID d'email avec leur identifiant de compte email sociale?" + +#: ../LoginRadius_admin.php:591 +msgid "YES, automatically link social accounts to WP accounts" +msgstr "OUI, lier automatiquement des comptes sociaux aux comptes WP" + +#: ../LoginRadius_admin.php:593 +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "NON, je veux que mes utilisateurs existants de continuer à utiliser la connexion native WP" + +#: ../LoginRadius_admin.php:603 +msgid "Do you want to apply the same changes when you update plugin settings in the main blog of multisite network?" +msgstr "Voulez-vous appliquer les mêmes changements lorsque vous mettez à jour les paramètres de plug-in dans le blog principal de réseau multi-sites?" + +#: ../LoginRadius_admin.php:604 +msgid "YES, apply the same changes to plugin settings of each blog in the multisite network when I update plugin settings." +msgstr "OUI, appliquer les mêmes changements aux paramètres de plug-in de chaque blog dans le réseau multisite quand je mettre à jour les paramètres de plug-in." + +#: ../LoginRadius_admin.php:605 +msgid "NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "NON, ne pas appliquer les modifications à d'autres blogs quand je mettre à jour les paramètres de plug-in." + +#: ../LoginRadius_admin.php:622 +#, fuzzy +msgid "Do you want to let users use their social profile picture as an avatar on your website?" +msgstr "Voulez-vous permettre compteur pour votre site web social?" + +#: ../LoginRadius_admin.php:623 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "OUI, permettent aux utilisateurs d'utiliser leur photo de profil social comme un avatar" + +#: ../LoginRadius_admin.php:624 +#, fuzzy +msgid "NO, use default avatars" +msgstr "Utilisez avatar par défaut" + +#: ../LoginRadius_admin.php:632 +msgid "User Membership Control" +msgstr "Contrôle de l'adhésion de l'utilisateur" + +#: ../LoginRadius_admin.php:638 +msgid "Do you want to control user activation/deactivation?" +msgstr "Voulez-vous contrôler l'activation par utilisateur / désactivation?" + +#: ../LoginRadius_admin.php:639 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "Vous pouvez activer / désactiver l'utilisateur dans la colonne Statut de la page Utilisateurs dans l'admin" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "YES, display activate/deactivate option in the " +msgstr "OUI, en affichant le réseau social que l'utilisateur connecté avec, dans la liste des utilisateurs" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "User list" +msgstr "réglages" + +#: ../LoginRadius_admin.php:642 +#: ../LoginRadius_admin.php:672 +msgid "NO" +msgstr "aucun" + +#: ../LoginRadius_admin.php:650 +msgid "What would you like to set as the default status of the user when he/she registers to your website?" +msgstr "Que voulez-vous définir comme l'état par défaut de l'utilisateur quand il / elle enregistre à votre site Web?" + +#: ../LoginRadius_admin.php:652 +msgid "Active" +msgstr "actif" + +#: ../LoginRadius_admin.php:653 +msgid "Inactive" +msgstr "inactif" + +#: ../LoginRadius_admin.php:662 +msgid "User Profile Data Options" +msgstr "Profil de l'utilisateur options de données" + +#: ../LoginRadius_admin.php:668 +msgid "Do you want to update User Profile Data in your Wordpress database, every time user logs into your website?" +msgstr "Voulez-vous mettre à jour données de profil utilisateur dans votre base de données Wordpress, chaque fois que l'utilisateur se connecte à votre site Web?" + +#: ../LoginRadius_admin.php:669 +msgid "If you disable this option, user profile data will be saved only once when user logs in first time at your website, user profile details will not be updated in your Wordpress database, even if user changes his/her social account details." +msgstr "Si vous désactivez cette option, les données de profil utilisateur seront enregistrés qu'une seule fois lorsque l'utilisateur se connecte première visite sur votre site, les détails du profil de l'utilisateur ne seront pas mis à jour dans votre base de données Wordpress, même si l'utilisateur change son / ses informations de compte sociales." + +#: ../LoginRadius_admin.php:671 +#: ../LoginRadius_admin.php:717 +msgid "YES" +msgstr "OUI" + +#: ../LoginRadius_admin.php:683 +#, fuzzy +msgid "Social Commenting Settings" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:689 +msgid "Do you want to enable Social Commenting for your website" +msgstr "Voulez-vous permettre sociale Commentant pour votre site web" + +#: ../LoginRadius_admin.php:701 +#, fuzzy +msgid "Where do you want to display the Social login interface on the commenting form?" +msgstr "comment vous voulez connecter sociale à apparaître sur le formulaire commentaire" + +#: ../LoginRadius_admin.php:704 +msgid "At the very top of the comment form" +msgstr "Au sommet de la forme commentaire" + +#: ../LoginRadius_admin.php:705 +msgid "After the 'Leave a Reply' caption" +msgstr "Après le «Laisser un commentaire» légende" + +#: ../LoginRadius_admin.php:706 +msgid "Before the comment form input fields" +msgstr "Avant de zones de commentaires des formulaire de saisie" + +#: ../LoginRadius_admin.php:707 +#, fuzzy +msgid "Before the comment box" +msgstr "Avant le contenu du widget:" + +#: ../LoginRadius_admin.php:715 +#, fuzzy +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "Approuver automatiquement observations formulées par les utilisateurs de connexion sociaux" + +#: ../LoginRadius_admin.php:718 +#, fuzzy +msgid "NO, I want to approve the comments per my discretion" +msgstr "NON, je tiens à approuver les commentaires selon mon pouvoir discrétionnaire" + +#: ../LoginRadius_admin.php:728 +#, fuzzy +msgid "Basic Social Sharing Settings" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:734 +msgid "Do you want to enable Social Sharing for your website" +msgstr "Voulez-vous activer le partage social pour votre site web" + +#: ../LoginRadius_admin.php:747 +#, fuzzy +msgid "Social Sharing Theme Selection" +msgstr "Lieu Partager social" + +#: ../LoginRadius_admin.php:753 +#, fuzzy +msgid "What Social Sharing widget theme would you like to use across your website? (Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "Quel thème Social widget de partage que vous souhaitez utiliser sur votre site web?" + +#: ../LoginRadius_admin.php:765 +#, fuzzy +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "Voulez-vous activer le partage social pour votre site web" + +#: ../LoginRadius_admin.php:774 +#, fuzzy +msgid "Choose a Sharing theme" +msgstr "Choisir un thème de partage" + +#: ../LoginRadius_admin.php:833 +#, fuzzy +msgid "Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "Ce texte displyed au-dessus du bouton de connexion sociale." + +#: ../LoginRadius_admin.php:835 +#, fuzzy +msgid "Share it now!" +msgstr "Partagez maintenant" + +#: ../LoginRadius_admin.php:840 +#: ../LoginRadius_admin.php:950 +msgid "What Sharing Networks do you want to show in the sharing widget? (All other sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "Qu'est-ce Networks partage que vous voulez afficher dans le widget de partage? (Tous les réseaux de partage d'autres seront présentés dans le cadre de l'icône de partage LoginRadius)" + +#: ../LoginRadius_admin.php:842 +#: ../LoginRadius_admin.php:952 +msgid "You can select only nine providers" +msgstr "Vous ne pouvez sélectionner que neuf fournisseurs" + +#: ../LoginRadius_admin.php:851 +#: ../LoginRadius_admin.php:961 +#, fuzzy +msgid "In what order do you want your sharing networks listed?" +msgstr "Que l'ordre du réseau de partage préférez-vous pour votre widget partage?" + +#: ../LoginRadius_admin.php:871 +#, fuzzy +msgid "Select the position of the Social sharing interface" +msgstr "où afficher les icônes sociales" + +#: ../LoginRadius_admin.php:873 +msgid "Show at the top of content" +msgstr "Voir en haut de contenu" + +#: ../LoginRadius_admin.php:874 +msgid "Show at the bottom of content" +msgstr "Afficher au bas de la teneur en" + +#: ../LoginRadius_admin.php:877 +#: ../LoginRadius_admin.php:1004 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "Quel est le secteur (s) voulez-vous montrer le widget partage social?" + +#: ../LoginRadius_admin.php:879 +#: ../LoginRadius_admin.php:1006 +#, fuzzy +msgid "Show on homepage" +msgstr "Afficher sur Formulaire de commentaires" + +#: ../LoginRadius_admin.php:880 +#: ../LoginRadius_admin.php:1007 +#, fuzzy +msgid "Show on posts" +msgstr "Afficher sur Formulaire de commentaires" + +#: ../LoginRadius_admin.php:882 +#: ../LoginRadius_admin.php:1009 +#, fuzzy +msgid "Show on pages" +msgstr "Afficher sur Pages" + +#: ../LoginRadius_admin.php:883 +#: ../LoginRadius_admin.php:1010 +#, fuzzy +msgid "Show on post excerpts " +msgstr "Afficher sur formulaire d'inscription" + +#: ../LoginRadius_admin.php:884 +#: ../LoginRadius_admin.php:1011 +#, fuzzy +msgid "Show on archive pages" +msgstr "Afficher sur les archives pages" + +#: ../LoginRadius_admin.php:886 +#: ../LoginRadius_admin.php:1013 +#, fuzzy +msgid "Show on feed" +msgstr "Afficher sur l'alimentation" + +#: ../LoginRadius_admin.php:897 +#, fuzzy +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "Voulez-vous activer le partage social pour votre site web" + +#: ../LoginRadius_admin.php:906 +msgid "Choose a sharing theme" +msgstr "Choisir un thème de partage" + +#: ../LoginRadius_admin.php:981 +#, fuzzy +msgid "Select the position of the Social Sharing widget" +msgstr "Sélectionnez la position du widget de partage social" + +#: ../LoginRadius_admin.php:997 +msgid "Specify distance of vertical sharing interface from top (Leave empty for default behaviour)" +msgstr "Spécifiez la distance de l'interface de partage vertical de haut (Laissez vide pour comportement par défaut)" + +#: ../LoginRadius_admin.php:998 +msgid "Enter a number (For example - 200). It will set the 'top' CSS attribute of the interface to the value specified. Increase in the number pushes interface towards bottom." +msgstr "Entrez un numéro (par exemple - 200). Il fixera le 'top' attribut CSS de l'interface à la valeur spécifiée. Augmentation du nombre pousse interface vers le bas." + +#: ../LoginRadius_admin.php:1059 +msgid "Save Changes" +msgstr "Enregistrer les modifications" + +#: ../LoginRadius_admin.php:1060 +msgid "Preview" +msgstr "avant-première" + +#: ../LoginRadius_function.php:150 +msgid "Log Out" +msgstr "Déconnexion" + +#: ../LoginRadius_function.php:548 +msgid "This account is already mapped" +msgstr "Ce compte est déjà mappé" + +#: ../LoginRadius_function.php:551 +msgid "Account mapped successfully" +msgstr "Compte mappé avec succès" + +#: ../LoginRadius_function.php:556 +msgid "Link your account" +msgstr "Liez votre compte" + +#: ../LoginRadius_function.php:560 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "En ajoutant un autre compte, vous pouvez vous connecter avec le nouveau compte aussi bien!" + +#: ../LoginRadius_function.php:665 +#: ../LoginRadius_function.php:688 +msgid "Connected with" +msgstr "connecté avec" + +#: ../LoginRadius_function.php:669 +#: ../LoginRadius_function.php:692 +msgid "Remove" +msgstr "enlever" + +#: ../LoginRadius_function.php:771 +#, fuzzy +msgid "Please wait" +msgstr "S'il vous plaît Connexion avec" + +#: ../LoginRadius_function.php:783 +#: ../LoginRadius_function.php:788 +msgid "Active (Click to Disable)" +msgstr "Actif (Cliquez pour désactiver)" + +#: ../LoginRadius_function.php:785 +msgid "Inactive (Click to Enable)" +msgstr "Inactif (Cliquez sur Activer)" + +#: ../LoginRadius_function.php:792 +msgid "Unexpected error occurred" +msgstr "Une erreur inattendue s'est produite" + +#: ../LoginRadius_widget.php:10 +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Connectez-vous ou enregistrez-vous avec Facebook, Twitter, Yahoo, Google et bien d'autres" + +#: ../LoginRadius_widget.php:62 +#: ../LoginRadius_widget.php:135 +#: ../LoginRadius_widget.php:208 +msgid "Title:" +msgstr "Titre" + +#: ../LoginRadius_widget.php:64 +#: ../LoginRadius_widget.php:137 +#: ../LoginRadius_widget.php:210 +msgid "Before widget content:" +msgstr "Avant le contenu du widget:" + +#: ../LoginRadius_widget.php:66 +#: ../LoginRadius_widget.php:139 +#: ../LoginRadius_widget.php:212 +msgid "After widget content:" +msgstr "Une fois le contenu du widget:" + +#: ../LoginRadius_widget.php:68 +#: ../LoginRadius_widget.php:141 +#: ../LoginRadius_widget.php:214 +msgid "Hide for logged in users:" +msgstr "Cacher pour les utilisateurs connectés:" + +#: ../LoginRadius_widget.php:83 +#: ../LoginRadius_widget.php:156 +#, fuzzy +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Connectez-vous ou enregistrez-vous avec Facebook, Twitter, Yahoo, Google et bien d'autres" + +#, fuzzy +#~ msgid "Set up my FREE account!" +#~ msgstr "Créez votre compte gratuit!" + +#, fuzzy +#~ msgid "Disable Social Counter on this " +#~ msgstr "Activer compteur sociale" + +#, fuzzy +#~ msgid "Support Documentations" +#~ msgstr "Documentation" + +#, fuzzy +#~ msgid "Social Counter" +#~ msgstr "Lieu Partager social" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Sélectionnez social thème widget de partage pour être montré au-dessus du " +#~ "contenu" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Sélectionnez social thème widget de partage pour être affiché en bas du " +#~ "contenu" + +#, fuzzy +#~ msgid "Social Sharing Widget Position" +#~ msgstr "Position sociale Partager" + +#, fuzzy +#~ msgid "Basic Social Counter Settings" +#~ msgstr "Lieu Partager social" + +#~ msgid "Do you want to enable Social Counter for your website?" +#~ msgstr "Voulez-vous permettre compteur pour votre site web social?" + +#, fuzzy +#~ msgid "" +#~ "Enter the text that you wish to be displayed above the Social Counter " +#~ "Interface. Leave the field blank if you don't want any text to be " +#~ "displayed" +#~ msgstr "Ce texte displyed au-dessus du bouton de connexion sociale." + +#, fuzzy +#~ msgid "Be a fan" +#~ msgstr "Soyez fan!" + +#, fuzzy +#~ msgid "Social Counter Theme Selection" +#~ msgstr "Lieu Partager social" + +#, fuzzy +#~ msgid "" +#~ "What Social Counter widget theme would you like to use across your " +#~ "website?" +#~ msgstr "" +#~ "Quel thème Social widget de compteur que vous voulez utiliser sur votre " +#~ "site web?" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Sélectionnez social thème Counter Widget être affiché en haut du contenu" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Sélectionnez social thème counter widget à afficher au bas du contenu" + +#~ msgid "Choose a counter theme" +#~ msgstr "Choisissez un thème compteur" + +#~ msgid "What Counter Networks do you want to show in the counter widget?" +#~ msgstr "" +#~ "Quels sont les réseaux de compteur que vous voulez afficher dans le " +#~ "widget de comptoir?" + +#, fuzzy +#~ msgid "Social Counter Widget Position" +#~ msgstr "Position sociale Partager" + +#, fuzzy +#~ msgid "Select the position of the Social Counter widget" +#~ msgstr "Sélectionnez la position de widget compteur sociale" + +#~ msgid "" +#~ "Specify distance of vertical counter interface from top (Leave empty for " +#~ "default behaviour)" +#~ msgstr "" +#~ "Spécifiez la distance de l'interface compteur vertical de haut (Laissez " +#~ "vide pour comportement par défaut)" + +#, fuzzy +#~ msgid "Select the position of Social counter interface" +#~ msgstr "où afficher les icônes sociales" + +#~ msgid "What area(s) do you want to show the social counter widget?" +#~ msgstr "" +#~ "Quel est le secteur (s) voulez-vous montrer le widget compteur sociale?" + +#~ msgid "Get your fan counts all over the social networks." +#~ msgstr "Obtenez votre ventilateur de compte tous sur les réseaux sociaux" + +#~ msgid "What size would you choose for Social Login Interface?" +#~ msgstr "" +#~ "Quelle est la taille choisiriez-vous pour l'interface connecter sociale?" + +#~ msgid "" +#~ "In how many columns would you want to show Social icons in the Social " +#~ "Login Interface?" +#~ msgstr "" +#~ "Dans combien de colonnes voudriez-vous pour afficher les icônes sociales " +#~ "dans l'interface Connexion social?" + +#~ msgid "" +#~ "Currently service is not available and we are working on a fix for it." +#~ msgstr "" +#~ "Actuellement, le service n'est pas disponible et nous travaillons sur un " +#~ "correctif pour cela." + +#~ msgid "" +#~ "Embed it in registration form and show it below the registration form" +#~ msgstr "" +#~ "L'intégrer dans le formulaire d'inscription et de le montrer ci-dessous " +#~ "le formulaire d'inscription" + +#, fuzzy +#~ msgid "Redirect to the Custom URL:" +#~ msgstr "Redirection vers l'URL suivante:" + +#, fuzzy +#~ msgid "" +#~ "YES, Link existing WP user accounts to user social account if email ID " +#~ "matches" +#~ msgstr "" +#~ "Lien comptes existants utilisateur de Wordpress à connecter social (le " +#~ "cas échéant)" + +#, fuzzy +#~ msgid "NO, Do not Link existing WP user accounts to user social account" +#~ msgstr "" +#~ "Lien comptes existants utilisateur de Wordpress à connecter social (le " +#~ "cas échéant)" + +#~ msgid "" +#~ "Social Network provides User avatar image as profile data, do you want to " +#~ "show User Social profile image as avatar for your website?" +#~ msgstr "" +#~ "Social Network fournit une image Avatar de l'utilisateur que les données " +#~ "de profil, voulez-vous montrer l'image utilisateur profil social comme " +#~ "avatar pour votre site?" + +#, fuzzy +#~ msgid "" +#~ "YES, use user social profile image or avatar (if provided by ID Provider)" +#~ msgstr "Utilisez avatar fournisseur social (si fournir)" + +#~ msgid "" +#~ "You can customize the settings for your plugin on this page, though you " +#~ "will have to choose your desired ID providers and get your unique" +#~ msgstr "" +#~ "Vous pouvez sélectionner les paramètres souhaités pour votre plugin sur " +#~ "cette page. Bien que vous pouvez choisir les fournisseurs d'identité et " +#~ "peut obtenir la clé" + +#, fuzzy +#~ msgid "from your" +#~ msgstr "Créez votre compte gratuit!" + +#~ msgid " account at" +#~ msgstr "compte à" + +#~ msgid "" +#~ "There you can also customize your login interface with different login " +#~ "themes and icon sets. By using LoginRadius, the profile data of each user " +#~ "who logs in via social login will be saved to your WordPress database." +#~ msgstr "" +#~ "Là, vous pouvez aussi personnaliser votre interface de connexion avec des " +#~ "thèmes différents et de connexion jeux d'icônes. En utilisant " +#~ "LoginRadius, les données du profil de chaque utilisateur qui se connecte " +#~ "via un login sociale sera enregistré sur votre base de données WordPress." + +#, fuzzy +#~ msgid "" +#~ "is a technology startup based in Canada that offers social login through " +#~ "popular ID providers such as Facebook Twitter Google LinkedIn and over 15 " +#~ "more as well as social sharing on over 80 networks. For tech support or " +#~ "if you have any questions please contact us at" +#~ msgstr "" +#~ "est une société en Amérique du Nord la technologie qui offre de connexion " +#~ "sociale à travers hôtes populaires tels que Facebook, Twitter, Google et " +#~ "plus de 15 autres! Pour le support technique ou des questions, s'il vous " +#~ "plaît contactez-nous au" + +#~ msgid "We are available 24/7 to assist our clients!" +#~ msgstr "Nous sommes jusqu'à 24x7 pour aider nos clients!" + +#~ msgid "Plugin Help" +#~ msgstr "Aide plugin" + +#, fuzzy +#~ msgid "Live Demo (Wordpress)" +#~ msgstr "Site de Live Demo" + +#, fuzzy +#~ msgid "Live Demo (BuddyPress)" +#~ msgstr "Site de Live Demo" + +#, fuzzy +#~ msgid "Live Demo (bbPress)" +#~ msgstr "Site de Live Demo" + +#~ msgid "Other AddOns" +#~ msgstr "D'autres addons" + +#~ msgid "LoginRadius Blog" +#~ msgstr "Blog LoginRadius" + +#, fuzzy +#~ msgid "WP Social Login Support" +#~ msgstr "Lieu Partager social" + +#, fuzzy +#~ msgid "Contact LoginRadius" +#~ msgstr "À propos LoginRadius" + +#, fuzzy +#~ msgid "Social Share & Counter" +#~ msgstr "Position sociale Partager" + +#~ msgid "LoginRadius Login & Redirection Settings" +#~ msgstr "Connexion LoginRadius & redirection des paramètres" + +#, fuzzy +#~ msgid "Show on Login Page" +#~ msgstr "Afficher sur le formulaire Connexion" + +#, fuzzy +#~ msgid "Embed in Login Form" +#~ msgstr "Afficher sur le formulaire Connexion" + +#, fuzzy +#~ msgid "Show Beside Login Form" +#~ msgstr "Afficher sur le formulaire Connexion" + +#, fuzzy +#~ msgid "Show on Register Page" +#~ msgstr "Afficher sur formulaire d'inscription" + +#, fuzzy +#~ msgid "Embed in Register Form" +#~ msgstr "Afficher sur formulaire d'inscription" + +#, fuzzy +#~ msgid "Social Linking" +#~ msgstr "Lieu Partager social" + +#~ msgid "Show Social Avatar" +#~ msgstr "Voir Avatar social" + +#, fuzzy +#~ msgid "Show social provider avatar image" +#~ msgstr "sociale image d'avatar fournisseur sur le commentaire de" + +#~ msgid "Redirect user After login" +#~ msgstr "Rediriger l'utilisateur Une fois la connexion" + +#~ msgid "Redirect to Same Page of blog" +#~ msgstr "Redirection vers une même page du blog" + +#, fuzzy +#~ msgid "Logout Redirection Setting" +#~ msgstr "Réglage de redirection" + +#, fuzzy +#~ msgid "Redirect user After logout" +#~ msgstr "Rediriger l'utilisateur Une fois la connexion" + +#~ msgid "(Only for Login Radius widget area)" +#~ msgstr "Seulement pour la zone widget de connecter Rayon" + +#, fuzzy +#~ msgid "Redirect to Home Page of blog" +#~ msgstr "Redirection vers une même page du blog" + +#~ msgid "To Communicate with API" +#~ msgstr "Pour communiquer avec l'API" + +#~ msgid "Use cURL (Require cURL support = enabled in your php.ini settings)" +#~ msgstr "" +#~ "Utilisez cURL (Exiger cURL support = enabled dans votre configuration php." +#~ "ini)" + +#~ msgid "" +#~ "Use FSOCKOPEN (Require allow_url_fopen = On and safemode = off in your " +#~ "php.ini settings)" +#~ msgstr "" +#~ "Utilisez fsockopen (Exiger allow_url_fopen = On et safemode = off dans " +#~ "vos paramètres de php.ini)" + +#~ msgid "LoginRadius Basic Settings" +#~ msgstr "LoginRadius Paramètres de base" + +#~ msgid "Title" +#~ msgstr "Titre" + +#~ msgid "Send Email" +#~ msgstr "Envoyer un email" + +#, fuzzy +#~ msgid "After user registration" +#~ msgstr "Après utilisateur inscrire" + +#~ msgid "Email Required" +#~ msgstr "courriel Requis" + +#, fuzzy +#~ msgid "" +#~ "A few ID provider does not provide user's Email ID. Select YES if you " +#~ "would like an email pop-up after login or select NO if you would like to " +#~ "auto-generate the email address." +#~ msgstr "" +#~ "A quelques fournisseurs d'identité ne fournissent Email ID utilisateur. " +#~ "Sélectionnez OUI si vous souhaitez un email pop-up après identification " +#~ "ou Sélectionnez Non si vous souhaitez générer automatiquement l'adresse " +#~ "de courriel." + +#, fuzzy +#~ msgid "This text will be displayed on the email popup" +#~ msgstr "" +#~ "Ce texte sera displyed-dessus de la boîte de popup pour entrer courriel." + +#, fuzzy +#~ msgid "Please enter your email to proceed" +#~ msgstr "S'il vous plaît, entrez votre adresse email pour continuer." + +#, fuzzy +#~ msgid "" +#~ "This text will be displayed on the email popup if the email is already " +#~ "registered or invalid" +#~ msgstr "" +#~ "Ce texte sera displyed dessus de la boîte courriel popup si déjà " +#~ "enregistré ou non valide." + +#~ msgid "Turn Social Sharing ON/OFF" +#~ msgstr "Tournez Partage social ON / OFF" + +#~ msgid "Code" +#~ msgstr "code" + +#~ msgid "paste sharing code from your LoginRadius account" +#~ msgstr "coller le code de partage de votre compte LoginRadius" + +#, fuzzy +#~ msgid "where to show social share bar" +#~ msgstr "où afficher les icônes sociales" + +#, fuzzy +#~ msgid "Show on Top" +#~ msgstr "Afficher sur le formulaire Connexion" + +#, fuzzy +#~ msgid "Show on Bottom" +#~ msgstr "Afficher sur Formulaire de commentaires" + +#~ msgid "which location to show social share bar" +#~ msgstr "quel endroit à afficher la barre de parts sociales" + +#~ msgid "Turn Social Counter ON/OFF" +#~ msgstr "Tournez social ON / OFF" + +#, fuzzy +#~ msgid "which location to show social counter interface" +#~ msgstr "quel endroit à afficher la barre de parts sociales" + +#~ msgid "LoginRadius API Settings" +#~ msgstr "LoginRadius Settings API" + +#, fuzzy +#~ msgid "LoginRadius API key" +#~ msgstr "LoginRadius Settings API" + +#, fuzzy +#~ msgid "Required for LoginRadius plugin to work" +#~ msgstr "Autres plugins LoginRadius" + +#~ msgid "Paste LoginRadius API Key here. To get the API Key, log in to" +#~ msgstr "" +#~ "Coller clés API LoginRadius ici. Pour obtenir la clé API, connectez-vous à" + +#, fuzzy +#~ msgid "LoginRadius API Secret" +#~ msgstr "API LoginRadius and Secret" + +#~ msgid "Paste LoginRadius API Secret here. To get the API Secret, log in to " +#~ msgstr "" +#~ "Coller LoginRadius API secret ici. Pour obtenir le secret de l'API, " +#~ "connectez-vous à" + +#~ msgid "Turn Social Commenting ON/OFF" +#~ msgstr "Tournez sociale Commentant ON / OFF" + +#~ msgid "Enable Social Commenting" +#~ msgstr "Activer sociale Commentant" + +#~ msgid "Commenting Mode" +#~ msgstr "Commentant mode" + +#~ msgid "Show on Comment Form" +#~ msgstr "Afficher sur Formulaire de commentaires" + +#~ msgid "" +#~ "Integrate with Comment Form (Give your website users a new commenting " +#~ "experience)" +#~ msgstr "" +#~ "Intégration avec le formulaire Commentaire (Donnez à vos utilisateurs du " +#~ "site Web une nouvelle expérience commentaires)" + +#~ msgid "Select a social network:" +#~ msgstr "Sélectionnez un réseau social:" + +#~ msgid "Auto Approve Social User's Comments" +#~ msgstr "Auto Approuver Commentaires des utilisateurs Social" + +#, fuzzy +#~ msgid "if user logged in using social login" +#~ msgstr "si l'utilisateur est connecté à l'aide sociale de connexion" + +#, fuzzy +#~ msgid "LoginRadius Share Basic Settings" +#~ msgstr "LoginRadius Paramètres de base" + +#~ msgid "Open in new window" +#~ msgstr "ouvert dans une nouvelle fenêtre" + +#~ msgid "opened new window for sharing" +#~ msgstr "a ouvert une nouvelle fenêtre pour le partage" + +#~ msgid "Open share link in new Window" +#~ msgstr "Ouvrez lien de partage dans la fenêtre nouvelle" + +#, fuzzy +#~ msgid "LoginRadius Share Location Settings" +#~ msgstr "LoginRadius Paramètres de base" + +#, fuzzy +#~ msgid "Required for Social Login and Social Share" +#~ msgstr "Requis pour la connexion sociale" + +#~ msgid "Required for Social Login" +#~ msgstr "Requis pour la connexion sociale" + +#~ msgid "Restored all settings to defaults." +#~ msgstr "Restauré tous les paramètres par défaut." + +#~ msgid "You Must Need a Login Radius Api Key For Login Process." +#~ msgstr "" +#~ "Vous devez avoir besoin une clé API LoginRadius Pour processus de login." + +#~ msgid "You Must Need a Login Radius Api Secret For Login Process." +#~ msgstr "" +#~ "Vous devez avoir besoin d'un secret Api LoginRadius Pour processus de " +#~ "login." + +#~ msgid "You Need a Redirect url for Login Redirection." +#~ msgstr "" +#~ "Vous avez besoin d'un URL de redirection pour la redirection de connexion." + +#~ msgid "Saved changes." +#~ msgstr "Modifications enregistrées." + +#~ msgid "from" +#~ msgstr "en vous connectant à" + +#~ msgid "" +#~ "In order to make the login process secure, we require you to manage it " +#~ "from your LoginRadius account." +#~ msgstr "" +#~ "Afin de rendre le processus de connexion hautement sécurisée l'ensemble, " +#~ "nous vous demandons de le gérer depuis votre compte LoginRadius" + +#~ msgid "Restore Defaults" +#~ msgstr "Restore Defaults" + +#~ msgid "Welcome! " +#~ msgstr "Bienvenue" diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_BR.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_BR.mo new file mode 100644 index 0000000..bd67bdb Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_BR.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_BR.po b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_BR.po new file mode 100644 index 0000000..785d6d6 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_BR.po @@ -0,0 +1,1232 @@ +msgid "" +msgstr "" +"Project-Id-Version: LoginRadius\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-07-02 10:53-0800\n" +"PO-Revision-Date: 2013-07-02 10:53-0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ..\n" + +#: ../LoginRadius.php:108 +#: ../LoginRadius.php:183 +#: ../LoginRadius.php:550 +#: ../LoginRadius_function.php:827 +msgid "Your account is currently inactive. You will be notified through email, once Administrator activates your account." +msgstr "Sua conta está inativa. Você será notificado por e-mail, uma vez que Administrator ativa " + +#: ../LoginRadius.php:110 +msgid "Your email has been successfully verified. Now you can login into your account." +msgstr "Seu e-mail foi verificada com êxito. Agora você pode fazer login em sua conta." + +#: ../LoginRadius.php:140 +#: ../LoginRadius.php:534 +msgid "Your Confirmation link Has Been Sent To Your Email Address. Please verify your email by clicking on confirmation link." +msgstr "Seu link de confirmação foi enviado para o teu email. Por favor, verifique seu e-mail clicando no link de confirmação." + +#: ../LoginRadius.php:228 +#: ../LoginRadius.php:243 +#: ../LoginRadius.php:382 +msgid "Please verify your email by clicking the confirmation link sent to you." +msgstr "Por favor, verifique seu e-mail, clicando no link de confirmação enviado a você." + +#: ../LoginRadius.php:765 +msgid "Disable Social Sharing on this " +msgstr "Desabilitar o compartilhamento Social sobre essa" + +#: ../LoginRadius.php:869 +msgid "Settings" +msgstr "configurações" + +#: ../LoginRadius_admin.php:48 +#: ../LoginRadius_admin.php:73 +msgid "Please wait. This may take a few minutes" +msgstr "Por favor, aguarde. Isso pode demorar alguns minutos" + +#: ../LoginRadius_admin.php:57 +msgid "Detected CURL. Please save changes" +msgstr "Detectado CURL. Por favor, salve as alterações" + +#: ../LoginRadius_admin.php:60 +msgid "Detected FSOCKOPEN. Please save changes" +msgstr "Detectado fsockopen. Por favor, salve as alterações" + +#: ../LoginRadius_admin.php:63 +msgid "Please check your php.ini settings to enable CURL or FSOCKOPEN" +msgstr "Verifique as configurações do seu php.ini para permitir CURL ou fsockopen" + +#: ../LoginRadius_admin.php:65 +msgid "Problem in communicating LoginRadius API. Please check if one of the API Connection method mentioned above is working." +msgstr "Problema na comunicação API LoginRadius. Por favor, verifique se um dos métodos de conexão API mencionados acima está funcionando." + +#: ../LoginRadius_admin.php:67 +msgid "Uh oh, looks like something went wrong. Try again in a sec!" +msgstr "Uh oh, parece que algo deu errado. Tente novamente em um segundo!" + +#: ../LoginRadius_admin.php:84 +msgid "Your API Key is invalid. Please paste the correct API Key from your LoginRadius Account." +msgstr "A sua chave API é inválido. Por favor, cole a chave de API correta da sua Conta LoginRadius." + +#: ../LoginRadius_admin.php:86 +msgid "Your API Secret is invalid. Please paste the correct API Secret from your LoginRadius Account" +msgstr "Seu segredo API é inválido. Por favor, cole o Segredo API correta da sua Conta LoginRadius" + +#: ../LoginRadius_admin.php:88 +#, fuzzy +msgid "API Key and Secret cannot be same. Please paste correct API Key and Secret from your LoginRadius account in the corresponding fields above." +msgstr "Seu segredo API é inválido. Por favor, cole o Segredo API correta da sua Conta LoginRadius" + +#: ../LoginRadius_admin.php:90 +msgid "Your API Key and Secret are valid. Please save the changes." +msgstr "A sua chave API e Secret são válidos. Por favor, salve as alterações." + +#: ../LoginRadius_admin.php:212 +#, fuzzy +msgid "Social Plugin Settings" +msgstr "Linkagens Sociais" + +#: ../LoginRadius_admin.php:214 +msgid "Please clear your browser cache, if you have trouble loading the plugin interface. For more information" +msgstr "Por favor limpar o cache do navegador, se você tiver problemas para carregar a interface do plugin. Para mais informações" + +#: ../LoginRadius_admin.php:214 +msgid "click here" +msgstr "clique aqui" + +#: ../LoginRadius_admin.php:217 +#, fuzzy +msgid "Thank you for installing the LoginRadius Social Plugin!" +msgstr "Obrigado por instalar o plugin LoginRadius!" + +#: ../LoginRadius_admin.php:218 +#, fuzzy +msgid "To activate the plugin, you will need to first configure it (manage your desired social networks, etc.) from your LoginRadius account. If you do not have an account, click" +msgstr "Para ativar o plugin, por favor, configurá-lo e gerenciar as redes sociais a partir de sua conta LoginRadius. Se você não tem uma conta, clique em" + +#: ../LoginRadius_admin.php:218 +msgid "here" +msgstr "aqui" + +#: ../LoginRadius_admin.php:218 +msgid "and create one for FREE!" +msgstr "e criar um para LIVRE!" + +#: ../LoginRadius_admin.php:220 +#, fuzzy +msgid "We also offer Social Plugins for " +msgstr "Mostrar este texto acima do botão de Login Social" + +#: ../LoginRadius_admin.php:220 +msgid "and" +msgstr "e" + +#: ../LoginRadius_admin.php:223 +msgid "Enable Plugin Now!" +msgstr "Ativar Plugin Now!" + +#: ../LoginRadius_admin.php:225 +msgid "How to set up an account" +msgstr "Como configurar uma conta" + +#: ../LoginRadius_admin.php:229 +#, fuzzy +msgid "Get Updates" +msgstr "Obter atualizações!" + +#: ../LoginRadius_admin.php:230 +#, fuzzy +msgid "To receive updates on new features, future releases, etc, please connect with us via Facebook and Twitter" +msgstr "Para receber atualizações sobre as novas funcionalidades, lançamentos, etc, por favor conectar-se a uma de nossas páginas de mídia social" + +#: ../LoginRadius_admin.php:240 +#: ../LoginRadius_admin.php:1024 +#, fuzzy +msgid "Help & Documentations" +msgstr "Documentação" + +#: ../LoginRadius_admin.php:242 +#: ../LoginRadius_admin.php:1030 +msgid "Plugin Installation, Configuration and Troubleshooting" +msgstr "Instalação Plugin Configuração e Solução de Problemas" + +#: ../LoginRadius_admin.php:243 +#: ../LoginRadius_admin.php:1031 +#, fuzzy +msgid "How to get LoginRadius API Key & Secret" +msgstr "desejados e obter a Chave e o Segredo da API " + +#: ../LoginRadius_admin.php:244 +#: ../LoginRadius_admin.php:1032 +#, fuzzy +msgid "WP Multisite Feature" +msgstr "Características do Plugin" + +#: ../LoginRadius_admin.php:247 +#: ../LoginRadius_admin.php:1033 +msgid "Discussion Forum" +msgstr "Fórum de Discussão" + +#: ../LoginRadius_admin.php:248 +#: ../LoginRadius_admin.php:1036 +msgid "About LoginRadius" +msgstr "Sobre a LoginRadius" + +#: ../LoginRadius_admin.php:249 +#: ../LoginRadius_admin.php:1037 +msgid "LoginRadius Products" +msgstr "Produtos LoginRadius" + +#: ../LoginRadius_admin.php:252 +#: ../LoginRadius_admin.php:1038 +#, fuzzy +msgid "Social Plugins" +msgstr "Login Social" + +#: ../LoginRadius_admin.php:253 +#: ../LoginRadius_admin.php:1039 +#, fuzzy +msgid "Social SDKs" +msgstr "Compartilhamento Social" + +#: ../LoginRadius_admin.php:258 +#, fuzzy +msgid "Support Us" +msgstr "技术支æŒ" + +#: ../LoginRadius_admin.php:260 +msgid "If you liked our FREE open-source plugin, please send your feedback/testimonial to " +msgstr "Se você gostou do nosso plugin de código aberto gratuito, por favor, envie a sua opinião / depoimento para" + +#: ../LoginRadius_admin.php:261 +msgid "Please help us to " +msgstr "Por favor, ajude-nos a" + +#: ../LoginRadius_admin.php:261 +msgid "translate" +msgstr "traduzir" + +#: ../LoginRadius_admin.php:261 +msgid "the plugin content in your language." +msgstr "o conteúdo de plugin no seu idioma." + +#: ../LoginRadius_admin.php:271 +msgid "To activate the Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret." +msgstr "Para ativar o Sociais Entrar , insira LoginRadius Chave de API e Secret in os Configurações de de API do seção abaixo. Sharing Sociais não requer Chave de API and Secret ." + +#: ../LoginRadius_admin.php:280 +msgid "Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com" +msgstr "Sua chave de API LoginRadius ou segredo não é válido, por favor, corrija-o ou contate o suporte LoginRadius em www.LoginRadius. com " + +#: ../LoginRadius_admin.php:291 +msgid "API Settings" +msgstr "Configurações API" + +#: ../LoginRadius_admin.php:292 +msgid "Social Login" +msgstr "Login Social" + +#: ../LoginRadius_admin.php:293 +msgid "Social Commenting" +msgstr "Comentando sociais" + +#: ../LoginRadius_admin.php:294 +#, fuzzy +msgid "Social Sharing" +msgstr "Compartilhamento Social" + +#: ../LoginRadius_admin.php:295 +msgid "Help" +msgstr "ajudar" + +#: ../LoginRadius_admin.php:301 +#, fuzzy +msgid "What API Connection Method do you prefer to use to enable API communication?" +msgstr "O API método de conexão que você prefere, para permitir a comunicação API?" + +#: ../LoginRadius_admin.php:311 +msgid "Use CURL" +msgstr "use CURL" + +#: ../LoginRadius_admin.php:312 +#, fuzzy +msgid "This is the recommended API connection method, but sometimes this is disabled on hosting server" +msgstr "Método de ligação recomendado API, mas às vezes isso é desativado em servidor de hospedagem" + +#: ../LoginRadius_admin.php:316 +msgid "Use FSOCKOPEN" +msgstr "use fsockopen" + +#: ../LoginRadius_admin.php:317 +#, fuzzy +msgid "Choose this option if cURL is disabled on your hosting server" +msgstr "Escolha essa opção, se cURL está desativado em seu servidor de hospedagem" + +#: ../LoginRadius_admin.php:318 +#, fuzzy +msgid "Auto-detect Connection Method" +msgstr "Selecione a Credencial da API" + +#: ../LoginRadius_admin.php:326 +#, fuzzy +msgid "To activate the plugin, insert the LoginRadius API Key & Secret" +msgstr "desejados e obter a Chave e o Segredo da API " + +#: ../LoginRadius_admin.php:327 +msgid "(How to get it?)" +msgstr "(Como obtê-lo?)" + +#: ../LoginRadius_admin.php:332 +msgid "API Key" +msgstr "API Key" + +#: ../LoginRadius_admin.php:337 +msgid "API Secret" +msgstr "API的秘密" + +#: ../LoginRadius_admin.php:340 +#, fuzzy +msgid "Verify API Settings" +msgstr "Configurações API LoginRadius" + +#: ../LoginRadius_admin.php:351 +#, fuzzy +msgid "Social Login Interface Settings" +msgstr "Mostrar Ãcones Sociais Em" + +#: ../LoginRadius_admin.php:355 +#, fuzzy +msgid "What text should be displayed above the Social Login interface? Leave blank if you do not want any text to be displayed" +msgstr "O texto que você quer exibir acima da interface Entrar Social (Deixe em branco para nenhum texto)?" + +#: ../LoginRadius_admin.php:356 +msgid "Login with Social ID" +msgstr "Entrar com ID Sociais" + +#: ../LoginRadius_admin.php:363 +#, fuzzy +msgid "Do you want to show the Social Login interface on your WordPress login page?" +msgstr "onde mostrar ícones sociais" + +#: ../LoginRadius_admin.php:365 +#: ../LoginRadius_admin.php:379 +#: ../LoginRadius_admin.php:692 +#: ../LoginRadius_admin.php:737 +#: ../LoginRadius_admin.php:768 +#: ../LoginRadius_admin.php:900 +msgid "Yes" +msgstr "Sim" + +#: ../LoginRadius_admin.php:368 +#: ../LoginRadius_admin.php:381 +#: ../LoginRadius_admin.php:694 +#: ../LoginRadius_admin.php:739 +#: ../LoginRadius_admin.php:770 +#: ../LoginRadius_admin.php:902 +msgid "No" +msgstr "Não" + +#: ../LoginRadius_admin.php:376 +#, fuzzy +msgid "Do you want to show Social Login interface on your WordPress registration page?" +msgstr "onde mostrar ícones sociais" + +#: ../LoginRadius_admin.php:389 +#, fuzzy +msgid "If Yes, how do you want the Social Login interface to be shown on your wordpress registration page?" +msgstr "Se sim, como você quer interface de login Social para ser mostrado em sua página de registo wordpress?" + +#: ../LoginRadius_admin.php:391 +#, fuzzy +msgid "Show it below the registration form" +msgstr "Mostrar ao Lado do Formulário de Registro" + +#: ../LoginRadius_admin.php:392 +#, fuzzy +msgid "Show it beside the registration form" +msgstr "Mostrar ao Lado do Formulário de Registro" + +#: ../LoginRadius_admin.php:400 +#, fuzzy +msgid "Social Login Interface Customization" +msgstr "Mostrar Ãcones Sociais Em" + +#: ../LoginRadius_admin.php:404 +#, fuzzy +msgid "Select the icon size to use in the Social Login interface" +msgstr "onde mostrar ícones sociais" + +#: ../LoginRadius_admin.php:406 +msgid "Medium" +msgstr "médio" + +#: ../LoginRadius_admin.php:409 +msgid "Small" +msgstr "pequeno" + +#: ../LoginRadius_admin.php:416 +msgid "How many social icons would you like to be displayed per row?" +msgstr "Quantos ícones sociais gostaria de ser exibido por linha?" + +#: ../LoginRadius_admin.php:423 +msgid "What background color would you like to use for the Social Login interface?" +msgstr "Qual a cor de fundo que você gostaria de usar para a interface de login social?" + +#: ../LoginRadius_admin.php:423 +msgid "Leave empty for transparent. You can enter hexa-decimal code of the color as well as name of the color." +msgstr "Deixe em branco para transparente. Você pode inserir código hexadecimal da cor, bem como o nome da cor." + +#: ../LoginRadius_admin.php:433 +msgid "User Email Settings" +msgstr "E-mail configurações de usuário" + +#: ../LoginRadius_admin.php:439 +#, fuzzy +msgid "Do you want to send emails to users with their username and password post-registration?" +msgstr "Você quer enviar e-mails para usuários após o registro com seu usuário e senha detalhes?" + +#: ../LoginRadius_admin.php:448 +#, fuzzy +msgid "YES, send an email to users after registration" +msgstr "Selecione SIM se você quer que um email seja enviado ao usuário após o cadastro." + +#: ../LoginRadius_admin.php:449 +#, fuzzy +msgid "NO, do not send email to users after registration" +msgstr "Selecione SIM se você quer que um email seja enviado ao usuário após o cadastro." + +#: ../LoginRadius_admin.php:456 +#, fuzzy +msgid "A few ID Providers do not supply users' e-mail IDs as part of the user profile data they provide. Do you want to prompt users to provide their email IDs before completing registration process if it is not provided by the ID Provider?" +msgstr "A poucos provedores de ID não fornecer os usuários de e-mail IDs como parte dos dados do perfil do usuário. Você quer que os usuários forneçam seus IDs de e-mail antes de completar o processo de registro?" + +#: ../LoginRadius_admin.php:465 +#, fuzzy +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "SIM, obter IDs de e-mail reais dos usuários (Pergunte aos usuários inserir suas identificações e-mail em uma janela pop-up)" + +#: ../LoginRadius_admin.php:466 +#, fuzzy +msgid "NO, just auto-generate random email IDs for users" +msgstr "Não, apenas gerar automaticamente IDs e-mail aleatório para os usuários" + +#: ../LoginRadius_admin.php:474 +#, fuzzy +msgid "Please enter the message to be displayed to the user in the pop-up asking for their email address" +msgstr "Por favor insira a mensagem a ser mostrado para o usuário no e-mail pop-up pedindo" + +#: ../LoginRadius_admin.php:476 +#, fuzzy +msgid "Unfortunately, the ID Provider did not provided your email address. Please enter your email to proceed" +msgstr "Infelizmente, o Provedor Social não forneceu seu endereço de e-mail. Digite seu e-mail para prosseguir" + +#: ../LoginRadius_admin.php:483 +#, fuzzy +msgid "Please enter the message to be shown to the user in case of an invalid or already registered email" +msgstr "Por favor insira a mensagem a ser mostrado para o usuário em caso de e-mail inválido ou já registrado" + +#: ../LoginRadius_admin.php:485 +#, fuzzy +msgid "The email you have entered is either already registered or invalid. Please enter a valid email address." +msgstr "O email que você inseriu já está registrado ou é inválido, Por favor insira um endereço de email válido" + +#: ../LoginRadius_admin.php:493 +#, fuzzy +msgid "Redirection Settings" +msgstr "Configuração de Redirecionamento do Login" + +#: ../LoginRadius_admin.php:499 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "Onde você quer redirecionar seus usuários depois de ter conseguido entrar?" + +#: ../LoginRadius_admin.php:514 +#, fuzzy +msgid "Redirect to the same page where the user logged in" +msgstr "Redirecionar para a página inicial do blog" + +#: ../LoginRadius_admin.php:514 +#: ../LoginRadius_admin.php:549 +msgid "Default" +msgstr "omissão" + +#: ../LoginRadius_admin.php:515 +#, fuzzy +msgid "Redirect to homepage of your WP site" +msgstr "Redirecionar para a página inicial do blog" + +#: ../LoginRadius_admin.php:517 +msgid "Redirect to account dashboard" +msgstr "Redirecionar para o painel da conta" + +#: ../LoginRadius_admin.php:522 +#, fuzzy +msgid "Redirect to Buddypress profile page" +msgstr "Redirecionar para a página inicial do blog" + +#: ../LoginRadius_admin.php:527 +#: ../LoginRadius_admin.php:551 +#, fuzzy +msgid "Redirect to Custom URL:" +msgstr "Redirecionar para a url a seguir:" + +#: ../LoginRadius_admin.php:536 +msgid "Where do you want to redirect your users after successfully logging out?" +msgstr "Onde você quer redirecionar seus usuários depois de ter conseguido sair?" + +#: ../LoginRadius_admin.php:538 +#, fuzzy +msgid "Note: Logout function works only when clicking 'logout' in the social login widget area. In all other cases, WordPress's default logout function will be applied." +msgstr "Nota: Sair funciona a função apenas quando sair clicando na área social de login widget. Em todos os outros casos, o padrão do WordPress sair função será aplicada." + +#: ../LoginRadius_admin.php:549 +#, fuzzy +msgid "Redirect to the homepage" +msgstr "Redirecionar para a página inicial do blog" + +#: ../LoginRadius_admin.php:561 +msgid "User Settings" +msgstr "Configurações do Usuário" + +#: ../LoginRadius_admin.php:567 +msgid "Do you want to allow new users to register through Social Login?" +msgstr "Você quer permitir que novos usuários se registrem através Entrar Social?" + +#: ../LoginRadius_admin.php:569 +msgid "YES, allow new users to register through Social Login" +msgstr "Sim, permitir que novos usuários se registrem através Entrar Sociais" + +#: ../LoginRadius_admin.php:570 +msgid "NO, do not allow new users to register through Social Login" +msgstr "NÃO, não permitir que novos usuários se registrem através Entrar Sociais" + +#: ../LoginRadius_admin.php:571 +msgid "New users will not be able to login through Social Login" +msgstr "Novos usuários não serão capazes de logar através de login Sociais" + +#: ../LoginRadius_admin.php:579 +msgid "Do you want to display the social network that the user connected with, in the user list" +msgstr "Você quer exibir a rede social que o usuário conectado com, na lista de usuários" + +#: ../LoginRadius_admin.php:581 +msgid "YES, display the social network that the user connected with, in the user list" +msgstr "Sim, exibir a rede social que o usuário conectado com, na lista de usuários" + +#: ../LoginRadius_admin.php:582 +msgid "NO, do not display the social network that the user connected with, in the user list" +msgstr "NÃO, não exibem a rede social que o usuário conectado com, na lista de usuários" + +#: ../LoginRadius_admin.php:589 +#, fuzzy +msgid "Do you want to automatically link your existing users' accounts to their social accounts if their WP account email address matches the email address associated with their social account?" +msgstr "Você quer que suas contas de utilizador existentes WP automaticamente para vincular a sua conta Social no caso dos jogos de identificação de e-mail com seu ID Sociais conta de e-mail?" + +#: ../LoginRadius_admin.php:591 +msgid "YES, automatically link social accounts to WP accounts" +msgstr "SIM, automaticamente vincular contas sociais a contas WP" + +#: ../LoginRadius_admin.php:593 +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "NÃO, eu quero que meus usuários existentes para continuar usando o login WP nativa" + +#: ../LoginRadius_admin.php:603 +msgid "Do you want to apply the same changes when you update plugin settings in the main blog of multisite network?" +msgstr "Você quer aplicar as mesmas alterações quando você atualizar as configurações de plugin no blog principal da rede em vários locais?" + +#: ../LoginRadius_admin.php:604 +msgid "YES, apply the same changes to plugin settings of each blog in the multisite network when I update plugin settings." +msgstr "SIM, aplicar as mesmas alterações nas configurações do plugin de cada blog na rede em vários locais quando eu atualizar as configurações do plugin." + +#: ../LoginRadius_admin.php:605 +msgid "NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "NÃO, não aplicar as alterações para outros blogs, quando eu atualizar as configurações do plugin." + +#: ../LoginRadius_admin.php:622 +#, fuzzy +msgid "Do you want to let users use their social profile picture as an avatar on your website?" +msgstr "Você quer permitir Counter Social para o seu site?" + +#: ../LoginRadius_admin.php:623 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "Sim, vamos usuários usam sua imagem de perfil social como um avatar" + +#: ../LoginRadius_admin.php:624 +#, fuzzy +msgid "NO, use default avatars" +msgstr "Usar avatar padrão" + +#: ../LoginRadius_admin.php:632 +msgid "User Membership Control" +msgstr "Controle Membership usuário" + +#: ../LoginRadius_admin.php:638 +msgid "Do you want to control user activation/deactivation?" +msgstr "Você quer controlar a ativação do usuário / desativação?" + +#: ../LoginRadius_admin.php:639 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "Você pode ativar / desativar usuário coluna Status na página Users em administração" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "YES, display activate/deactivate option in the " +msgstr "Sim, exibir a rede social que o usuário conectado com, na lista de usuários" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "User list" +msgstr "Configurações do Usuário" + +#: ../LoginRadius_admin.php:642 +#: ../LoginRadius_admin.php:672 +msgid "NO" +msgstr "não" + +#: ../LoginRadius_admin.php:650 +msgid "What would you like to set as the default status of the user when he/she registers to your website?" +msgstr "O que você gostaria de definir como o status padrão do usuário quando ele / ela registra para o seu site?" + +#: ../LoginRadius_admin.php:652 +msgid "Active" +msgstr "ativo" + +#: ../LoginRadius_admin.php:653 +msgid "Inactive" +msgstr "inativo" + +#: ../LoginRadius_admin.php:662 +msgid "User Profile Data Options" +msgstr "Perfil do Usuário Opções de Dados" + +#: ../LoginRadius_admin.php:668 +msgid "Do you want to update User Profile Data in your Wordpress database, every time user logs into your website?" +msgstr "Você quer atualizar dados de perfil de usuário no seu banco de dados Wordpress, cada vez que o usuário faz em seu site?" + +#: ../LoginRadius_admin.php:669 +msgid "If you disable this option, user profile data will be saved only once when user logs in first time at your website, user profile details will not be updated in your Wordpress database, even if user changes his/her social account details." +msgstr "Se você desativar esta opção, os dados do perfil do usuário será salvo apenas uma vez quando o usuário se conecta pela primeira vez em seu site, usuário detalhes do perfil não será atualizado no banco de dados Wordpress, mesmo que as alterações do usuário his / detalha sua conta " + +#: ../LoginRadius_admin.php:671 +#: ../LoginRadius_admin.php:717 +msgid "YES" +msgstr "SIM" + +#: ../LoginRadius_admin.php:683 +msgid "Social Commenting Settings" +msgstr "Configurações sociais Comentando" + +#: ../LoginRadius_admin.php:689 +msgid "Do you want to enable Social Commenting for your website" +msgstr "Você quer permitir social Comentando para o seu site" + +#: ../LoginRadius_admin.php:701 +#, fuzzy +msgid "Where do you want to display the Social login interface on the commenting form?" +msgstr "Onde você quer para a interface de login Social sobre a forma de comentar?" + +#: ../LoginRadius_admin.php:704 +msgid "At the very top of the comment form" +msgstr "No topo do formulário de comentário" + +#: ../LoginRadius_admin.php:705 +msgid "After the 'Leave a Reply' caption" +msgstr "Depois da \"Deixe uma resposta\" caption" + +#: ../LoginRadius_admin.php:706 +msgid "Before the comment form input fields" +msgstr "Antes dos comentários campos de entrada de formulário" + +#: ../LoginRadius_admin.php:707 +#, fuzzy +msgid "Before the comment box" +msgstr "Antes de o conteúdo widget:" + +#: ../LoginRadius_admin.php:715 +#, fuzzy +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "Aprovar automaticamente comentários feitos por usuários do login social" + +#: ../LoginRadius_admin.php:718 +#, fuzzy +msgid "NO, I want to approve the comments per my discretion" +msgstr "Não, eu quero para aprovar os comentários como por minha discrição" + +#: ../LoginRadius_admin.php:728 +#, fuzzy +msgid "Basic Social Sharing Settings" +msgstr "Posição do Compartilhamento Social" + +#: ../LoginRadius_admin.php:734 +msgid "Do you want to enable Social Sharing for your website" +msgstr "Você quer ativar o compartilhamento social para o seu site" + +#: ../LoginRadius_admin.php:747 +#, fuzzy +msgid "Social Sharing Theme Selection" +msgstr "Local de Compartilhamento Social" + +#: ../LoginRadius_admin.php:753 +#, fuzzy +msgid "What Social Sharing widget theme would you like to use across your website? (Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "Que tema widget Social Sharing quer usar em seu site?" + +#: ../LoginRadius_admin.php:765 +#, fuzzy +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "Você quer ativar o compartilhamento social para o seu site" + +#: ../LoginRadius_admin.php:774 +#, fuzzy +msgid "Choose a Sharing theme" +msgstr "Escolha um tema partilha" + +#: ../LoginRadius_admin.php:833 +#, fuzzy +msgid "Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "Texto exibido acima do botão de Compartilhamento Social" + +#: ../LoginRadius_admin.php:835 +#, fuzzy +msgid "Share it now!" +msgstr "Compartilhe" + +#: ../LoginRadius_admin.php:840 +#: ../LoginRadius_admin.php:950 +msgid "What Sharing Networks do you want to show in the sharing widget? (All other sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "O que redes de compartilhamento que você quer mostrar no widget partilha? (Todas as redes de compartilhamento de outros será mostrado como parte do ícone de compartilhamento LoginRadius)" + +#: ../LoginRadius_admin.php:842 +#: ../LoginRadius_admin.php:952 +msgid "You can select only nine providers" +msgstr "Você pode selecionar apenas nove fornecedores" + +#: ../LoginRadius_admin.php:851 +#: ../LoginRadius_admin.php:961 +#, fuzzy +msgid "In what order do you want your sharing networks listed?" +msgstr "Qual a ordem de partilha de rede que você prefere para o seu widget partilha?" + +#: ../LoginRadius_admin.php:871 +#, fuzzy +msgid "Select the position of the Social sharing interface" +msgstr "onde mostrar ícones sociais" + +#: ../LoginRadius_admin.php:873 +msgid "Show at the top of content" +msgstr "Mostrar na parte superior do conteúdo" + +#: ../LoginRadius_admin.php:874 +msgid "Show at the bottom of content" +msgstr "Mostrar na parte inferior do conteúdo" + +#: ../LoginRadius_admin.php:877 +#: ../LoginRadius_admin.php:1004 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "Que área (s) que você quer mostrar o widget de compartilhamento social?" + +#: ../LoginRadius_admin.php:879 +#: ../LoginRadius_admin.php:1006 +#, fuzzy +msgid "Show on homepage" +msgstr "Mostrar na Página Inicial" + +#: ../LoginRadius_admin.php:880 +#: ../LoginRadius_admin.php:1007 +#, fuzzy +msgid "Show on posts" +msgstr "Mostrar nos Posts" + +#: ../LoginRadius_admin.php:882 +#: ../LoginRadius_admin.php:1009 +#, fuzzy +msgid "Show on pages" +msgstr "Mostrar nas Páginas" + +#: ../LoginRadius_admin.php:883 +#: ../LoginRadius_admin.php:1010 +msgid "Show on post excerpts " +msgstr "Mostrar nos resumos dos posts" + +#: ../LoginRadius_admin.php:884 +#: ../LoginRadius_admin.php:1011 +#, fuzzy +msgid "Show on archive pages" +msgstr "Mostrar na Página Inicial" + +#: ../LoginRadius_admin.php:886 +#: ../LoginRadius_admin.php:1013 +#, fuzzy +msgid "Show on feed" +msgstr "Mostrar nas Páginas" + +#: ../LoginRadius_admin.php:897 +#, fuzzy +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "Você quer ativar o compartilhamento social para o seu site" + +#: ../LoginRadius_admin.php:906 +msgid "Choose a sharing theme" +msgstr "Escolha um tema partilha" + +#: ../LoginRadius_admin.php:981 +#, fuzzy +msgid "Select the position of the Social Sharing widget" +msgstr "Selecione a posição de widget partilha social" + +#: ../LoginRadius_admin.php:997 +msgid "Specify distance of vertical sharing interface from top (Leave empty for default behaviour)" +msgstr "Especificar distância de interface de compartilhamento vertical de cima (Deixe em branco para o comportamento padrão)" + +#: ../LoginRadius_admin.php:998 +msgid "Enter a number (For example - 200). It will set the 'top' CSS attribute of the interface to the value specified. Increase in the number pushes interface towards bottom." +msgstr "Digite um número (por exemplo - 200). Ele irá definir o 'top' atributo CSS da interface para o valor especificado. Aumento no Número de interface empurra para baixo." + +#: ../LoginRadius_admin.php:1059 +msgid "Save Changes" +msgstr "Salvar alterações" + +#: ../LoginRadius_admin.php:1060 +msgid "Preview" +msgstr "visualização" + +#: ../LoginRadius_function.php:150 +msgid "Log Out" +msgstr "Sair" + +#: ../LoginRadius_function.php:548 +msgid "This account is already mapped" +msgstr "Esta conta já está mapeado" + +#: ../LoginRadius_function.php:551 +msgid "Account mapped successfully" +msgstr "Conta mapeada com sucesso" + +#: ../LoginRadius_function.php:556 +msgid "Link your account" +msgstr "Vincular sua conta" + +#: ../LoginRadius_function.php:560 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "Ao adicionar outra conta, você pode fazer login com a nova conta também!" + +#: ../LoginRadius_function.php:665 +#: ../LoginRadius_function.php:688 +msgid "Connected with" +msgstr "conectado com" + +#: ../LoginRadius_function.php:669 +#: ../LoginRadius_function.php:692 +msgid "Remove" +msgstr "remover" + +#: ../LoginRadius_function.php:771 +#, fuzzy +msgid "Please wait" +msgstr "Por favor Cogar Com" + +#: ../LoginRadius_function.php:783 +#: ../LoginRadius_function.php:788 +msgid "Active (Click to Disable)" +msgstr "Ativa (Clique para Desativar)" + +#: ../LoginRadius_function.php:785 +msgid "Inactive (Click to Enable)" +msgstr "Inativo (clique para ativar)" + +#: ../LoginRadius_function.php:792 +msgid "Unexpected error occurred" +msgstr "Ocorreu um erro inesperado" + +#: ../LoginRadius_widget.php:10 +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Faça o login ou registre-se com o Facebook, Twitter, Yahoo, Google e muitos mais" + +#: ../LoginRadius_widget.php:62 +#: ../LoginRadius_widget.php:135 +#: ../LoginRadius_widget.php:208 +msgid "Title:" +msgstr "Título:" + +#: ../LoginRadius_widget.php:64 +#: ../LoginRadius_widget.php:137 +#: ../LoginRadius_widget.php:210 +msgid "Before widget content:" +msgstr "Antes de o conteúdo widget:" + +#: ../LoginRadius_widget.php:66 +#: ../LoginRadius_widget.php:139 +#: ../LoginRadius_widget.php:212 +msgid "After widget content:" +msgstr "Depois de conteúdo widget:" + +#: ../LoginRadius_widget.php:68 +#: ../LoginRadius_widget.php:141 +#: ../LoginRadius_widget.php:214 +msgid "Hide for logged in users:" +msgstr "Ocultar site para os usuários:" + +#: ../LoginRadius_widget.php:83 +#: ../LoginRadius_widget.php:156 +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Compartilhe post / página com o Facebook, Twitter, Yahoo, Google e muitos mais" + +#, fuzzy +#~ msgid "Set up my FREE account!" +#~ msgstr "Crie sua conta GRÃTIS agora!" + +#~ msgid "Disable Social Counter on this " +#~ msgstr "Desativar Contador Social sobre essa" + +#, fuzzy +#~ msgid "Support Documentations" +#~ msgstr "Documentação" + +#~ msgid "Social Counter" +#~ msgstr "Counter Social" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Escolher tema widget Social Sharing a ser mostrado no topo do conteúdo" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Escolher tema widget Social Sharing a ser mostrado na parte inferior do " +#~ "conteúdo" + +#, fuzzy +#~ msgid "Social Sharing Widget Position" +#~ msgstr "Posição do Compartilhamento Social" + +#~ msgid "Basic Social Counter Settings" +#~ msgstr "Sociais básicos Definições do contador" + +#~ msgid "Do you want to enable Social Counter for your website?" +#~ msgstr "Você quer permitir Counter Social para o seu site?" + +#, fuzzy +#~ msgid "" +#~ "Enter the text that you wish to be displayed above the Social Counter " +#~ "Interface. Leave the field blank if you don't want any text to be " +#~ "displayed" +#~ msgstr "" +#~ "O texto que você quer exibir a interface social acima Contador (Deixe em " +#~ "branco para nenhum texto)?" + +#~ msgid "Be a fan" +#~ msgstr "Seja um fã" + +#~ msgid "Social Counter Theme Selection" +#~ msgstr "Seleção de Tema sociais Contador" + +#, fuzzy +#~ msgid "" +#~ "What Social Counter widget theme would you like to use across your " +#~ "website?" +#~ msgstr "Que tema widget Social Contador quer usar em seu site?" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Escolher tema widget Social Contra a ser mostrado no topo do conteúdo" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Escolher tema widget Social Contra a ser mostrado na parte inferior do " +#~ "conteúdo" + +#~ msgid "Choose a counter theme" +#~ msgstr "Escolha um tema balcão" + +#~ msgid "What Counter Networks do you want to show in the counter widget?" +#~ msgstr "Que redes contador que você quer mostrar no widget contador?" + +#, fuzzy +#~ msgid "Social Counter Widget Position" +#~ msgstr "Posição do Compartilhamento Social" + +#, fuzzy +#~ msgid "Select the position of the Social Counter widget" +#~ msgstr "Selecione a posição de widget Counter Social" + +#~ msgid "" +#~ "Specify distance of vertical counter interface from top (Leave empty for " +#~ "default behaviour)" +#~ msgstr "" +#~ "Especifique a distância da interface balcão vertical de cima (Deixe em " +#~ "branco para o comportamento padrão)" + +#, fuzzy +#~ msgid "Select the position of Social counter interface" +#~ msgstr "onde mostrar ícones sociais" + +#~ msgid "What area(s) do you want to show the social counter widget?" +#~ msgstr "Que área (s) que você quer mostrar o widget contador social?" + +#~ msgid "Get your fan counts all over the social networks." +#~ msgstr "Obtenha seu fã conta tudo sobre as redes sociais." + +#~ msgid "" +#~ "Currently service is not available and we are working on a fix for it." +#~ msgstr "" +#~ "Atualmente o serviço não está disponível e nós estamos trabalhando em uma " +#~ "correção para ele." + +#~ msgid "" +#~ "Embed it in registration form and show it below the registration form" +#~ msgstr "" +#~ "Incorporá-lo na ficha de inscrição e apresentá-lo abaixo do formulário de " +#~ "inscrição" + +#, fuzzy +#~ msgid "Redirect to the Custom URL:" +#~ msgstr "Redirecionar para a url a seguir:" + +#, fuzzy +#~ msgid "" +#~ "YES, Link existing WP user accounts to user social account if email ID " +#~ "matches" +#~ msgstr "" +#~ "Linkar contas de usuários já existentes no Wordpress com o Login Social " +#~ "(se houver)" + +#, fuzzy +#~ msgid "NO, Do not Link existing WP user accounts to user social account" +#~ msgstr "" +#~ "Linkar contas de usuários já existentes no Wordpress com o Login Social " +#~ "(se houver)" + +#~ msgid "" +#~ "Social Network provides User avatar image as profile data, do you want to " +#~ "show User Social profile image as avatar for your website?" +#~ msgstr "" +#~ "Rede social oferece imagem do avatar do usuário como dados de perfil, " +#~ "você quer mostrar imagem de perfil do usuário Social como avatar para o " +#~ "seu site?" + +#, fuzzy +#~ msgid "" +#~ "YES, use user social profile image or avatar (if provided by ID Provider)" +#~ msgstr "Usar provedor Social de avatar (se disponível)" + +#~ msgid "" +#~ "You can customize the settings for your plugin on this page, though you " +#~ "will have to choose your desired ID providers and get your unique" +#~ msgstr "" +#~ "Você pode customizar as configurações de seu plugin nesta página, e você " +#~ "terá que escolher os IDs dos " + +#~ msgid "" +#~ "is a technology startup based in Canada that offers social login through " +#~ "popular ID providers such as Facebook Twitter Google LinkedIn and over 15 " +#~ "more as well as social sharing on over 80 networks. For tech support or " +#~ "if you have any questions please contact us at" +#~ msgstr "" +#~ "LoginRadius é uma empresa de tecnologia baseada na América do Norte, que " +#~ "oferece login social através de provedores populares como o Facebook, " +#~ "Twitter, Google e mais 15 provedores. Para perguntas ou suporte técnico, " +#~ "por favor contate-nos em hello@loginradius.com. " + +#~ msgid "We are available 24/7 to assist our clients!" +#~ msgstr "Estamos disponíveis 24/7 para ajudar nossos clientes." + +#~ msgid "Live Demo (Wordpress)" +#~ msgstr "Demonstração (Wordpress)" + +#~ msgid "Live Demo (BuddyPress)" +#~ msgstr "Demonstração (Buddypress)" + +#~ msgid "Live Demo (bbPress)" +#~ msgstr "Demonstração (BBpress)" + +#~ msgid "Other AddOns" +#~ msgstr "Outros AddOns" + +#~ msgid "LoginRadius Blog" +#~ msgstr "Blog LoginRadius" + +#~ msgid "WP Social Login Support" +#~ msgstr "Suporte Login Social WP" + +#~ msgid "Contact LoginRadius" +#~ msgstr "Contato LoginRadius" + +#~ msgid "LoginRadius Login & Redirection Settings" +#~ msgstr "Login LoginRadius e Configurações de Redirecionamento." + +#~ msgid "Show on Login Page" +#~ msgstr "Mostrar na Página de Login" + +#~ msgid "Embed in Login Form" +#~ msgstr "Embutir no Formulário de Login" + +#~ msgid "Show Beside Login Form" +#~ msgstr "Mostra Ao Lado do Formulário de Login" + +#~ msgid "Show on Register Page" +#~ msgstr "Mostra na Página de Registro" + +#~ msgid "Embed in Register Form" +#~ msgstr "Embutir no Formulário de Registro" + +#~ msgid "Show Social Avatar" +#~ msgstr "Mostrar Avatar Social" + +#~ msgid "Show social provider avatar image" +#~ msgstr "Imagem de avatar do provedor social no comentário" + +#~ msgid "Redirect user After login" +#~ msgstr "Redirecionar o usuário Após o login" + +#~ msgid "Redirect to Same Page of blog" +#~ msgstr "Redirecionar para a mesma página do blog (Padrão)" + +#~ msgid "Logout Redirection Setting" +#~ msgstr "Configuração de redirecionamento do Logout" + +#~ msgid "Redirect user After logout" +#~ msgstr "Redirecionar o usuário Após o logout" + +#~ msgid "(Only for Login Radius widget area)" +#~ msgstr "(Somente para área de widget do LoginRadius)" + +#~ msgid "Redirect to Home Page of blog" +#~ msgstr "Redirecionar para a Página Inicial do blog (Padrão)" + +#~ msgid "To Communicate with API" +#~ msgstr "Para comunicar-se com a API" + +#~ msgid "Use cURL (Require cURL support = enabled in your php.ini settings)" +#~ msgstr "" +#~ "Usar cURL (Requer cURL support = enabled nas configurações do php.ini)" + +#~ msgid "" +#~ "Use FSOCKOPEN (Require allow_url_fopen = On and safemode = off in your " +#~ "php.ini settings)" +#~ msgstr "" +#~ "Usar FSOCKOPEN (Requer allow_url_fopen = On e safemode = off nas " +#~ "configurações do php.ini)" + +#~ msgid "LoginRadius Basic Settings" +#~ msgstr "Configurações Básicas do LoginRadius" + +#~ msgid "Title" +#~ msgstr "Tìtulo" + +#~ msgid "Send Email" +#~ msgstr "Enviar Email" + +#~ msgid "After user registration" +#~ msgstr "Após o cadastro do usuário" + +#~ msgid "Email Required" +#~ msgstr "Email Requerido" + +#~ msgid "" +#~ "A few ID provider does not provide user's Email ID. Select YES if you " +#~ "would like an email pop-up after login or select NO if you would like to " +#~ "auto-generate the email address." +#~ msgstr "" +#~ "Alguns provedores de ID não fornecem o ID de Email do usuário. Selecione " +#~ "SIM se você quiser que um popup de email apareça após o login ou " +#~ "selecione NÃO se você quiser gerar o email automaticamente." + +#~ msgid "Please enter your email to proceed" +#~ msgstr "Por favor insira seu email para prosseguir" + +#~ msgid "" +#~ "This text will be displayed on the email popup if the email is already " +#~ "registered or invalid" +#~ msgstr "Este texto será mostrado no popup de email" + +#~ msgid "where to show social share bar" +#~ msgstr "onde mostrar a barra de compartilhamento social" + +#~ msgid "Show on Top" +#~ msgstr "Mostrar no Topo" + +#~ msgid "Show on Bottom" +#~ msgstr "Mostrar Embaixo" + +#~ msgid "LoginRadius API key" +#~ msgstr "Chave da API LoginRadius" + +#~ msgid "Required for LoginRadius plugin to work" +#~ msgstr "Requerido para o Login Social e Compartilhamento Social." + +#~ msgid "Paste LoginRadius API Key here. To get the API Key, log in to" +#~ msgstr "" +#~ "Cole sua Chave da API LoginRadius aqui. Para obter a Chave da API, faça o " +#~ "login em LoginRadius." + +#~ msgid "LoginRadius API Secret" +#~ msgstr "Segredo API LoginRadius" + +#~ msgid "Show on Comment Form" +#~ msgstr "Mostrar no Formulário de Comentário" + +#~ msgid "Auto Approve Social User's Comments" +#~ msgstr "Auto-aprovar Comentários de Usuários Sociais" + +#~ msgid "if user logged in using social login" +#~ msgstr "Se o usuário se logou utilizando o login social" + +#, fuzzy +#~ msgid "LoginRadius Share Basic Settings" +#~ msgstr "LoginRadius基本设置" + +#~ msgid "Open in new window" +#~ msgstr "在新视窗开å¯" + +#~ msgid "opened new window for sharing" +#~ msgstr "共享开辟了新的窗å£" + +#~ msgid "Open share link in new Window" +#~ msgstr "在新窗å£ä¸­æ‰“开共享链接" + +#, fuzzy +#~ msgid "LoginRadius Share Location Settings" +#~ msgstr "LoginRadius基本设置" + +#, fuzzy +#~ msgid "Required for Social Login and Social Share" +#~ msgstr "需è¦ç¤¾ä¼šç™»å½•" + +#~ msgid "Required for Social Login" +#~ msgstr "需è¦ç¤¾ä¼šç™»å½•" + +#~ msgid "Restored all settings to defaults." +#~ msgstr "所有设置æ¢å¤åˆ°é»˜è®¤å€¼ã€‚" + +#~ msgid "You Must Need a Login Radius Api Key For Login Process." +#~ msgstr "你必须需è¦ä¸€ä¸ªç™»å½•è¿‡ç¨‹LoginRadius API密钥。" + +#~ msgid "You Must Need a Login Radius Api Secret For Login Process." +#~ msgstr "你必须需è¦ä¸€ä¸ªç™»å½•è¿‡ç¨‹LoginRadius API秘密。" + +#~ msgid "You Need a Redirect url for Login Redirection." +#~ msgstr "您需è¦ç™»å½•é‡å®šå‘é‡å®šå‘URL。" + +#~ msgid "Saved changes." +#~ msgstr "ä¿å­˜çš„更改。" + +#~ msgid "from" +#~ msgstr "从" + +#~ msgid "" +#~ "In order to make the login process secure, we require you to manage it " +#~ "from your LoginRadius account." +#~ msgstr "为了使登录过程的安全,我们è¦æ±‚您管ç†ä»ŽLoginRadius account." + +#~ msgid "Restore Defaults" +#~ msgstr "还原为默认值" + +#~ msgid "Welcome! " +#~ msgstr "欢迎您ï¼" diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_JA.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_JA.mo new file mode 100644 index 0000000..6ec7eb3 Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_JA.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_JA.po b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_JA.po new file mode 100644 index 0000000..043c751 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-pt_JA.po @@ -0,0 +1,1355 @@ +msgid "" +msgstr "" +"Project-Id-Version: Loginradius\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-07-02 10:53-0800\n" +"PO-Revision-Date: 2013-07-02 10:53-0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ..\n" + +#: ../LoginRadius.php:108 +#: ../LoginRadius.php:183 +#: ../LoginRadius.php:550 +#: ../LoginRadius_function.php:827 +msgid "Your account is currently inactive. You will be notified through email, once Administrator activates your account." +msgstr "ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ç¾åœ¨ç„¡åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚管ç†è€…ã¯ã€ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’アクティブã«ã—ãŸã‚‰ã€ã‚ãªãŸã¯ã€é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’介ã—ã¦é€šçŸ¥ã•ã‚Œã¾ã™ã€‚" + +#: ../LoginRadius.php:110 +msgid "Your email has been successfully verified. Now you can login into your account." +msgstr "ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ãŒæ­£å¸¸ã«æ¤œè¨¼ã•ã‚Œã¦ã„ã¾ã™ã€‚今ã€ã‚ãªãŸã¯ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" + +#: ../LoginRadius.php:140 +#: ../LoginRadius.php:534 +msgid "Your Confirmation link Has Been Sent To Your Email Address. Please verify your email by clicking on confirmation link." +msgstr "ã‚ãªãŸã®ç¢ºèªã®ãƒªãƒ³ã‚¯ãŒã‚ãªãŸã®Eメールアドレスã«é€ä¿¡ã•ã‚Œã¾ã—ãŸã€‚確èªãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ã€ã‚ãªãŸã®é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’確èªã—ã¦ãã ã•ã„。" + +#: ../LoginRadius.php:228 +#: ../LoginRadius.php:243 +#: ../LoginRadius.php:382 +msgid "Please verify your email by clicking the confirmation link sent to you." +msgstr "ã‚ãªãŸã«é€ã‚‰ã‚ŒãŸç¢ºèªãƒªãƒ³ã‚¯ã‚’クリックã—ã¦ã€ã‚ãªãŸã®é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’確èªã—ã¦ãã ã•ã„。" + +#: ../LoginRadius.php:765 +#, fuzzy +msgid "Disable Social Sharing on this " +msgstr "社会的ãªå…±æœ‰ã®ä½ç½®" + +#: ../LoginRadius.php:869 +msgid "Settings" +msgstr "設定" + +#: ../LoginRadius_admin.php:48 +#: ../LoginRadius_admin.php:73 +msgid "Please wait. This may take a few minutes" +msgstr "ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。ã“ã‚Œã«ã¯æ•°åˆ†ã‹ã‹ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™" + +#: ../LoginRadius_admin.php:57 +msgid "Detected CURL. Please save changes" +msgstr "カールを検出ã—ã¾ã—ãŸã€‚変更内容をä¿å­˜ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:60 +msgid "Detected FSOCKOPEN. Please save changes" +msgstr "fsockopenã®ã‚’検出ã—ã¾ã—ãŸã€‚変更内容をä¿å­˜ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:63 +msgid "Please check your php.ini settings to enable CURL or FSOCKOPEN" +msgstr "CURLã¾ãŸã¯fsockopenを有効ã«ã™ã‚‹ã«ã¯ã€php.iniã®è¨­å®šã‚’確èªã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:65 +msgid "Problem in communicating LoginRadius API. Please check if one of the API Connection method mentioned above is working." +msgstr "LoginRadius APIã®é€šä¿¡ã®å•é¡Œã€‚上記ã®API接続方法ã®ã„ãšã‚Œã‹ãŒå‹•ä½œã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ç¢ºèªã—ã¦ãã ã•ã„。" + +#: ../LoginRadius_admin.php:67 +msgid "Uh oh, looks like something went wrong. Try again in a sec!" +msgstr "ã‚ã‚ãˆãˆã¨ã€ä½•ã‹ãŒé–“é•ã£ã¦ã„ãŸã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚秒後ã«ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ï¼" + +#: ../LoginRadius_admin.php:84 +#, fuzzy +msgid "Your API Key is invalid. Please paste the correct API Key from your LoginRadius Account." +msgstr "ã‚ãªãŸã®LoginRadiusアカウントã‹ã‚‰ã‚«ã‚¦ãƒ³ã‚¿ã®ã‚³ãƒ¼ãƒ‰ã‚’貼り付ã‘ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:86 +msgid "Your API Secret is invalid. Please paste the correct API Secret from your LoginRadius Account" +msgstr "ã‚ãªãŸã®APIシークレットãŒç„¡åŠ¹ã§ã™ã€‚ã‚ãªãŸã®LoginRadiusアカウントã‹ã‚‰æ­£ã—ã„API Secretを貼り付ã‘ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:88 +#, fuzzy +msgid "API Key and Secret cannot be same. Please paste correct API Key and Secret from your LoginRadius account in the corresponding fields above." +msgstr "ã‚ãªãŸã®APIシークレットãŒç„¡åŠ¹ã§ã™ã€‚ã‚ãªãŸã®LoginRadiusアカウントã‹ã‚‰æ­£ã—ã„API Secretを貼り付ã‘ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:90 +msgid "Your API Key and Secret are valid. Please save the changes." +msgstr "ã‚ãªãŸã®APIキーã¨ç§˜å¯†ãŒæœ‰åŠ¹ã§ã™ã€‚変更内容をä¿å­˜ã—ã¦ãã ã•ã„。" + +#: ../LoginRadius_admin.php:212 +#, fuzzy +msgid "Social Plugin Settings" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:214 +msgid "Please clear your browser cache, if you have trouble loading the plugin interface. For more information" +msgstr "ã‚ãªãŸãŒãƒˆãƒ©ãƒ–ルプラグインインターフェイスをロードã—ã¦ã„ã‚‹å ´åˆã€ãƒ–ラウザã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’クリアã—ã¦ãã ã•ã„。詳細ã«ã¤ã„ã¦ã¯ã€" + +#: ../LoginRadius_admin.php:214 +msgid "click here" +msgstr "ã“ã“をクリック" + +#: ../LoginRadius_admin.php:217 +#, fuzzy +msgid "Thank you for installing the LoginRadius Social Plugin!" +msgstr "LoginRadiusã®ãƒ—ラグインをインストールã—ã¦ã„ãŸã ãã‚ã‚ŠãŒã¨ã†ã”ã–ã„ã¾ã™ï¼" + +#: ../LoginRadius_admin.php:218 +#, fuzzy +msgid "To activate the plugin, you will need to first configure it (manage your desired social networks, etc.) from your LoginRadius account. If you do not have an account, click" +msgstr "プラグインを有効ã«ã™ã‚‹ã«ã¯ã€ãれを構æˆã—LoginRadiusアカウントã‹ã‚‰ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’管ç†ã—ã¦ãã ã•ã„。ã‚ãªãŸãŒã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’æŒã£ã¦ã„ãªã„å ´åˆã¯ã€ã‚¯ãƒªãƒƒã‚¯" + +#: ../LoginRadius_admin.php:218 +msgid "here" +msgstr "ã“ã“ã§" + +#: ../LoginRadius_admin.php:218 +msgid "and create one for FREE!" +msgstr "ãã—ã¦ç„¡æ–™ã§ä½œæˆï¼" + +#: ../LoginRadius_admin.php:220 +#, fuzzy +msgid "We also offer Social Plugins for " +msgstr "ã“ã®ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ç¤¾ä¼šã®ãƒ­ã‚°ã‚¤ãƒ³ãƒœã‚¿ãƒ³ã®ä¸Šã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:220 +msgid "and" +msgstr "ã¨" + +#: ../LoginRadius_admin.php:223 +msgid "Enable Plugin Now!" +msgstr "今ã™ãプラグインを有効ã«ã™ã‚‹ï¼" + +#: ../LoginRadius_admin.php:225 +msgid "How to set up an account" +msgstr "アカウントを設定ã™ã‚‹æ–¹æ³•" + +#: ../LoginRadius_admin.php:229 +#, fuzzy +msgid "Get Updates" +msgstr "アップデートを入手ï¼" + +#: ../LoginRadius_admin.php:230 +#, fuzzy +msgid "To receive updates on new features, future releases, etc, please connect with us via Facebook and Twitter" +msgstr "新機能ã€ãƒªãƒªãƒ¼ã‚¹ç­‰ã§ã®æ›´æ–°ã‚’å—ä¿¡ã™ã‚‹ã«ã¯ã€ç§é”ã®ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ãƒ¡ãƒ‡ã‚£ã‚¢ã®ãƒšãƒ¼ã‚¸ã®ã„ãšã‚Œã‹ã«æŽ¥ç¶šã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:240 +#: ../LoginRadius_admin.php:1024 +#, fuzzy +msgid "Help & Documentations" +msgstr "ドキュメント" + +#: ../LoginRadius_admin.php:242 +#: ../LoginRadius_admin.php:1030 +msgid "Plugin Installation, Configuration and Troubleshooting" +msgstr "プラグインã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã€è¨­å®šãŠã‚ˆã³ãƒˆãƒ©ãƒ–ルシューティング" + +#: ../LoginRadius_admin.php:243 +#: ../LoginRadius_admin.php:1031 +#, fuzzy +msgid "How to get LoginRadius API Key & Secret" +msgstr "LoginRadius APIキーã¨ç§˜å¯†" + +#: ../LoginRadius_admin.php:244 +#: ../LoginRadius_admin.php:1032 +#, fuzzy +msgid "WP Multisite Feature" +msgstr "プラグインã®ã‚¦ã‚§ãƒ–ページ" + +#: ../LoginRadius_admin.php:247 +#: ../LoginRadius_admin.php:1033 +msgid "Discussion Forum" +msgstr "ディスカッション·フォーラム" + +#: ../LoginRadius_admin.php:248 +#: ../LoginRadius_admin.php:1036 +msgid "About LoginRadius" +msgstr "LoginRadiusã«ã¤ã„ã¦" + +#: ../LoginRadius_admin.php:249 +#: ../LoginRadius_admin.php:1037 +#, fuzzy +msgid "LoginRadius Products" +msgstr "LoginRadiusブログ" + +#: ../LoginRadius_admin.php:252 +#: ../LoginRadius_admin.php:1038 +#, fuzzy +msgid "Social Plugins" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:253 +#: ../LoginRadius_admin.php:1039 +#, fuzzy +msgid "Social SDKs" +msgstr "社会的ãªå…±æœ‰ã®ä½ç½®" + +#: ../LoginRadius_admin.php:258 +#, fuzzy +msgid "Support Us" +msgstr "技術サãƒãƒ¼ãƒˆ" + +#: ../LoginRadius_admin.php:260 +msgid "If you liked our FREE open-source plugin, please send your feedback/testimonial to " +msgstr "ã‚ãªãŸãŒç§ãŸã¡ã®ç„¡æ–™ã®ã‚ªãƒ¼ãƒ—ンソースプラグインを好ããªã‚‰ã€ã‚ãªãŸã®ãƒ•ã‚£ãƒ¼ãƒ‰ãƒãƒƒã‚¯/表彰状ã«é€ä¿¡ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:261 +msgid "Please help us to " +msgstr "ç§ãŸã¡ã«åŠ©ã‘ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:261 +msgid "translate" +msgstr "翻訳ã™ã‚‹" + +#: ../LoginRadius_admin.php:261 +msgid "the plugin content in your language." +msgstr "ã‚ãªãŸã®è¨€èªžã§ãƒ—ラグインコンテンツ。" + +#: ../LoginRadius_admin.php:271 +msgid "To activate the Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret." +msgstr "ã®ã‚ã‚‹[社会ログインを有効ã«ã™ã‚‹ã«ã¯ã€ã®ã‚ã‚‹[API設定ã§LoginRadiusã®APIキーã¨ç§˜å¯†ã‚’挿入ã™ã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’以下ã«ã€‚ã‚ã‚‹[ソーシャル共有ã«ã¯ã€APIキーã¨ç§˜å¯†]ã‚’å¿…è¦ã¨ã—ã¾ã›ã‚“。" + +#: ../LoginRadius_admin.php:280 +msgid "Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com" +msgstr "ã‚ãªãŸã®LoginRadiusã®APIキーや秘密ãŒæœ‰åŠ¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€ãれを修正ã™ã‚‹ã‹ hrefã‚’=\"http://www.loginradius.com\"ターゲット=\"_blank\"> www.LoginRadiusã§LoginRadiusサãƒãƒ¼ãƒˆã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。comã®éŽåŽ» ã‚’" + +#: ../LoginRadius_admin.php:291 +#, fuzzy +msgid "API Settings" +msgstr "設定" + +#: ../LoginRadius_admin.php:292 +#, fuzzy +msgid "Social Login" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:293 +#, fuzzy +msgid "Social Commenting" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:294 +#, fuzzy +msgid "Social Sharing" +msgstr "社会的ãªå…±æœ‰ã®ä½ç½®" + +#: ../LoginRadius_admin.php:295 +msgid "Help" +msgstr "助ã‘ã‚‹" + +#: ../LoginRadius_admin.php:301 +#, fuzzy +msgid "What API Connection Method do you prefer to use to enable API communication?" +msgstr "ã©ã®ã‚ˆã†ãªAPIã®æŽ¥ç¶šæ–¹æ³•ã¯ã€APIã®é€šä¿¡ã‚’有効ã«ã™ã‚‹ã“ã¨ã‚’好むã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:311 +msgid "Use CURL" +msgstr "cURLを使用" + +#: ../LoginRadius_admin.php:312 +#, fuzzy +msgid "This is the recommended API connection method, but sometimes this is disabled on hosting server" +msgstr "時ã«ã¯ãŠè–¦ã‚APIã®æŽ¥ç¶šæ–¹æ³•ãŒã€ã“ã‚Œã¯ã€ã‚µãƒ¼ãƒãƒ¼ã‚’ホスティングã§ç„¡åŠ¹ã«ãªã£ã¦ã„ã‚‹" + +#: ../LoginRadius_admin.php:316 +msgid "Use FSOCKOPEN" +msgstr "ã«fsockopen使用" + +#: ../LoginRadius_admin.php:317 +#, fuzzy +msgid "Choose this option if cURL is disabled on your hosting server" +msgstr "カールãŒã‚ãªãŸã®ãƒ›ã‚¹ãƒ†ã‚£ãƒ³ã‚°ã‚µãƒ¼ãƒãƒ¼ã§ç„¡åŠ¹ã«ã•ã‚Œã¦ã„ã‚‹å ´åˆã€ã“ã®ã‚ªãƒ—ションをé¸æŠžã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:318 +#, fuzzy +msgid "Auto-detect Connection Method" +msgstr "APIã®è³‡æ ¼æƒ…報をé¸æŠžã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:326 +#, fuzzy +msgid "To activate the plugin, insert the LoginRadius API Key & Secret" +msgstr "LoginRadius APIキーã¨ç§˜å¯†" + +#: ../LoginRadius_admin.php:327 +msgid "(How to get it?)" +msgstr "(ãれをå–å¾—ã™ã‚‹ã«ã¯ï¼Ÿï¼‰" + +#: ../LoginRadius_admin.php:332 +msgid "API Key" +msgstr "APIキー" + +#: ../LoginRadius_admin.php:337 +msgid "API Secret" +msgstr "APIã®ç§˜å¯†" + +#: ../LoginRadius_admin.php:340 +#, fuzzy +msgid "Verify API Settings" +msgstr "設定" + +#: ../LoginRadius_admin.php:351 +#, fuzzy +msgid "Social Login Interface Settings" +msgstr "ã§ã€ç¤¾ä¼šã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹" + +#: ../LoginRadius_admin.php:355 +#, fuzzy +msgid "What text should be displayed above the Social Login interface? Leave blank if you do not want any text to be displayed" +msgstr "ã©ã®ã‚ˆã†ãªãƒ†ã‚­ã‚¹ãƒˆã¯ã€ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ãƒ­ã‚°ã‚¤ãƒ³ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ï¼ˆãƒ†ã‚­ã‚¹ãƒˆãªã—ã®ãŸã‚ã«ç©ºã®ã¾ã¾ã«ã—ã¦ãŠãã¾ã™ï¼‰ã®ä¸Šã«è¡¨ç¤ºã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:356 +msgid "Login with Social ID" +msgstr "ソーシャルIDã§ãƒ­ã‚°ã‚¤ãƒ³" + +#: ../LoginRadius_admin.php:363 +#, fuzzy +msgid "Do you want to show the Social Login interface on your WordPress login page?" +msgstr "社会的ãªã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹å ´æ‰€" + +#: ../LoginRadius_admin.php:365 +#: ../LoginRadius_admin.php:379 +#: ../LoginRadius_admin.php:692 +#: ../LoginRadius_admin.php:737 +#: ../LoginRadius_admin.php:768 +#: ../LoginRadius_admin.php:900 +msgid "Yes" +msgstr "ã¯ã„" + +#: ../LoginRadius_admin.php:368 +#: ../LoginRadius_admin.php:381 +#: ../LoginRadius_admin.php:694 +#: ../LoginRadius_admin.php:739 +#: ../LoginRadius_admin.php:770 +#: ../LoginRadius_admin.php:902 +msgid "No" +msgstr "ã„ã„ãˆ" + +#: ../LoginRadius_admin.php:376 +#, fuzzy +msgid "Do you want to show Social Login interface on your WordPress registration page?" +msgstr "社会的ãªã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹å ´æ‰€" + +#: ../LoginRadius_admin.php:389 +#, fuzzy +msgid "If Yes, how do you want the Social Login interface to be shown on your wordpress registration page?" +msgstr "ã¯ã„ã®å ´åˆã¯ã€ç¤¾ä¼šãƒ­ã‚°ã‚¤ãƒ³ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã¯WordPressã®ç™»éŒ²ãƒšãƒ¼ã‚¸ã«è¡¨ç¤ºã•ã‚Œã‚‹æ–¹æ³•ã«ã—ãŸã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:391 +#, fuzzy +msgid "Show it below the registration form" +msgstr "登録フォームã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:392 +#, fuzzy +msgid "Show it beside the registration form" +msgstr "登録フォームã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:400 +#, fuzzy +msgid "Social Login Interface Customization" +msgstr "ã§ã€ç¤¾ä¼šã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹" + +#: ../LoginRadius_admin.php:404 +#, fuzzy +msgid "Select the icon size to use in the Social Login interface" +msgstr "社会的ãªã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹å ´æ‰€" + +#: ../LoginRadius_admin.php:406 +msgid "Medium" +msgstr "培地" + +#: ../LoginRadius_admin.php:409 +msgid "Small" +msgstr "スモール" + +#: ../LoginRadius_admin.php:416 +msgid "How many social icons would you like to be displayed per row?" +msgstr "ã©ã®ã‚ˆã†ã«å¤šãã®ç¤¾ä¼šçš„ãªã‚¢ã‚¤ã‚³ãƒ³ã¯ã€è¡Œã”ã¨ã«è¡¨ç¤ºã•ã‚ŒãŸã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:423 +msgid "What background color would you like to use for the Social Login interface?" +msgstr "ã©ã®ã‚ˆã†ãªèƒŒæ™¯è‰²ã¯ã€ã‚½ãƒ¼ã‚·ãƒ£ãƒ«Â·ãƒ­ã‚°ã‚¤ãƒ³Â·ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ç”¨ã«ä½¿ç”¨ã—ãŸã„ã¨æ€ã„ã¾ã™ï¼Ÿ" + +#: ../LoginRadius_admin.php:423 +msgid "Leave empty for transparent. You can enter hexa-decimal code of the color as well as name of the color." +msgstr "é€æ˜Žã®ãŸã‚ã«ç©ºã®ã¾ã¾ã«ã—ã¾ã™ã€‚ã‚ãªãŸã¯è‰²ã ã‘ã§ãªãã€è‰²ã®åå‰ã®16進コードを入力ã§ãã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:433 +msgid "User Email Settings" +msgstr "ユーザã®é›»å­ãƒ¡ãƒ¼ãƒ«è¨­å®š" + +#: ../LoginRadius_admin.php:439 +#, fuzzy +msgid "Do you want to send emails to users with their username and password post-registration?" +msgstr "ã‚ãªãŸã¯ãれらã®ãƒ¦ãƒ¼ã‚¶ãƒ¼åãŠã‚ˆã³ãƒ‘スワードã®è©³ç´°æƒ…å ±ã¸ã®ç™»éŒ²å¾Œã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:448 +#, fuzzy +msgid "YES, send an email to users after registration" +msgstr "登録後ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡æ°—ã«å…¥ã£ã¦ãれれã°YESã‚’é¸æŠžã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:449 +#, fuzzy +msgid "NO, do not send email to users after registration" +msgstr "登録後ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡æ°—ã«å…¥ã£ã¦ãれれã°YESã‚’é¸æŠžã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:456 +#, fuzzy +msgid "A few ID Providers do not supply users' e-mail IDs as part of the user profile data they provide. Do you want to prompt users to provide their email IDs before completing registration process if it is not provided by the ID Provider?" +msgstr "ã„ãã¤ã‹ã®IDプロãƒã‚¤ãƒ€ãŒãƒ¦ãƒ¼ã‚¶ãƒ¼Â·ãƒ—ロファイル·データã®ä¸€éƒ¨ã¨ã—ã¦ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®é›»å­ãƒ¡ãƒ¼ãƒ«IDを指定ã—ãªã„ã§ãã ã•ã„。ユーザーãŒç™»éŒ²ãƒ—ロセスを完了ã™ã‚‹å‰ã«ã€ãれらã®é›»å­ãƒ¡ãƒ¼ãƒ«ã®IDã‚’æä¾›ã§ãるよã†ã«ã—ãŸã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:465 +#, fuzzy +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "YESã®å ´åˆã€ï¼ˆãƒãƒƒãƒ—アップã«é›»å­ãƒ¡ãƒ¼ãƒ«IDを入力ã™ã‚‹ã‚ˆã†ã«ãƒ¦ãƒ¼ã‚¶ã«ä¾é ¼ï¼‰ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‹ã‚‰å®Ÿéš›ã®é›»å­ãƒ¡ãƒ¼ãƒ«IDã‚’å–å¾—" + +#: ../LoginRadius_admin.php:466 +#, fuzzy +msgid "NO, just auto-generate random email IDs for users" +msgstr "ã„ã‚„ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ãŸã‚ã«ãƒ©ãƒ³ãƒ€ãƒ ãªé›»å­ãƒ¡ãƒ¼ãƒ«IDを自動生æˆ" + +#: ../LoginRadius_admin.php:474 +#, fuzzy +msgid "Please enter the message to be displayed to the user in the pop-up asking for their email address" +msgstr "ãƒãƒƒãƒ—アップを尋ã­ã‚‹é›»å­ãƒ¡ãƒ¼ãƒ«ã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’入力ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:476 +#, fuzzy +msgid "Unfortunately, the ID Provider did not provided your email address. Please enter your email to proceed" +msgstr "残念ãªã“ã¨ã«ã€ç¤¾ä¼šãƒ—ロãƒã‚¤ãƒ€ã¯ã‚ãªãŸã®é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’æä¾›ã—ã¾ã›ã‚“ã§ã—ãŸã€‚続行ã™ã‚‹ã«ã¯ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:483 +#, fuzzy +msgid "Please enter the message to be shown to the user in case of an invalid or already registered email" +msgstr "無効ã®ã€ã¾ãŸã¯ã€æ—¢ã«ç™»éŒ²ã—ãŸEメールã®å ´åˆã«ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«è¡¨ç¤ºã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’入力ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_admin.php:485 +#, fuzzy +msgid "The email you have entered is either already registered or invalid. Please enter a valid email address." +msgstr "ã“ã®ãƒ¡ãƒ¼ãƒ«ã¯ã™ã§ã«ç™»éŒ²æ¸ˆã¿ã¾ãŸã¯ç„¡åŠ¹ãªå ´åˆã€åˆ¥ã®ã„ãšã‚Œã‹ã‚’é¸æŠžã—ã¦ãã ã•ã„。" + +#: ../LoginRadius_admin.php:493 +#, fuzzy +msgid "Redirection Settings" +msgstr "リダイレクションã®è¨­å®š" + +#: ../LoginRadius_admin.php:499 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "ã©ã“ã«æ­£å¸¸ã«ãƒ­ã‚°ã‚¤ãƒ³ã—ãŸå¾Œã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’リダイレクトã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:514 +#, fuzzy +msgid "Redirect to the same page where the user logged in" +msgstr "ブログã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ" + +#: ../LoginRadius_admin.php:514 +#: ../LoginRadius_admin.php:549 +msgid "Default" +msgstr "デフォルト" + +#: ../LoginRadius_admin.php:515 +#, fuzzy +msgid "Redirect to homepage of your WP site" +msgstr "ブログã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ" + +#: ../LoginRadius_admin.php:517 +msgid "Redirect to account dashboard" +msgstr "アカウントã®ãƒ€ãƒƒã‚·ãƒ¥ãƒœãƒ¼ãƒ‰ã¸ã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ" + +#: ../LoginRadius_admin.php:522 +#, fuzzy +msgid "Redirect to Buddypress profile page" +msgstr "ブログã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ" + +#: ../LoginRadius_admin.php:527 +#: ../LoginRadius_admin.php:551 +#, fuzzy +msgid "Redirect to Custom URL:" +msgstr "次ã®URLã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:536 +msgid "Where do you want to redirect your users after successfully logging out?" +msgstr "ã©ã“ãŒæ­£å¸¸ã«ãƒ­ã‚°ã‚¢ã‚¦ãƒˆå¾Œã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’リダイレクトã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:538 +#, fuzzy +msgid "Note: Logout function works only when clicking 'logout' in the social login widget area. In all other cases, WordPress's default logout function will be applied." +msgstr "注:社会ログインウィジェット領域ã§ãƒ­ã‚°ã‚¢ã‚¦ãƒˆã‚’クリック時ã«ã®ã¿æ©Ÿèƒ½ä½œå“をログアウトã—ã¾ã™ã€‚ä»–ã®ã™ã¹ã¦ã®ã‚±ãƒ¼ã‚¹ã§ã¯ã€WordPressã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã€é–¢æ•°ãŒé©ç”¨ã•ã‚Œã‚‹ãƒ­ã‚°ã‚¢ã‚¦ãƒˆã€‚" + +#: ../LoginRadius_admin.php:549 +#, fuzzy +msgid "Redirect to the homepage" +msgstr "ブログã®ãƒ›ãƒ¼ãƒ ãƒšãƒ¼ã‚¸ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆ" + +#: ../LoginRadius_admin.php:561 +#, fuzzy +msgid "User Settings" +msgstr "設定" + +#: ../LoginRadius_admin.php:567 +msgid "Do you want to allow new users to register through Social Login?" +msgstr "ã‚ãªãŸã¯ã€æ–°ã—ã„ユーザーãŒã‚½ãƒ¼ã‚·ãƒ£ãƒ«Â·ãƒ­ã‚°ã‚¤ãƒ³ã‚’介ã—ã¦ç™»éŒ²ã§ãるよã†ã«ã—ãŸã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:569 +msgid "YES, allow new users to register through Social Login" +msgstr "YESã®å ´åˆã€æ–°ã—ã„ユーザーãŒã‚½ãƒ¼ã‚·ãƒ£ãƒ«Â·ãƒ­ã‚°ã‚¤ãƒ³ã‚’介ã—ã¦ç™»éŒ²ã™ã‚‹ã“ã¨ã‚’許å¯" + +#: ../LoginRadius_admin.php:570 +msgid "NO, do not allow new users to register through Social Login" +msgstr "NOã®å ´åˆã¯ã€æ–°ã—ã„ユーザーãŒã‚½ãƒ¼ã‚·ãƒ£ãƒ«Â·ãƒ­ã‚°ã‚¤ãƒ³ã‚’介ã—ã¦ç™»éŒ²ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" + +#: ../LoginRadius_admin.php:571 +msgid "New users will not be able to login through Social Login" +msgstr "æ–°è¦ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã€ã‚½ãƒ¼ã‚·ãƒ£ãƒ«Â·ãƒ­ã‚°ã‚¤ãƒ³ã‚’介ã—ã¦ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" + +#: ../LoginRadius_admin.php:579 +msgid "Do you want to display the social network that the user connected with, in the user list" +msgstr "ã‚ãªãŸã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒªã‚¹ãƒˆã§ã€ãƒ¦ãƒ¼ã‚¶ãŒæŽ¥ç¶šã—ã¦ã„るソーシャルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’表示ã—ãŸã„ã§ã™ã‹" + +#: ../LoginRadius_admin.php:581 +msgid "YES, display the social network that the user connected with, in the user list" +msgstr "YESã®å ´åˆã€ãƒ¦ãƒ¼ã‚¶ãƒ¼Â·ãƒªã‚¹ãƒˆã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒæŽ¥ç¶šã—ã¦ã„るソーシャルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’表示" + +#: ../LoginRadius_admin.php:582 +msgid "NO, do not display the social network that the user connected with, in the user list" +msgstr "NOã®å ´åˆã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒªã‚¹ãƒˆã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒæŽ¥ç¶šã—ã¦ã„るソーシャルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¯è¡¨ç¤ºã•ã‚Œã¾ã›ã‚“" + +#: ../LoginRadius_admin.php:589 +#, fuzzy +msgid "Do you want to automatically link your existing users' accounts to their social accounts if their WP account email address matches the email address associated with their social account?" +msgstr "既存ã®WPã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŒè‡ªå‹•çš„ã«å½¼ã‚‰ã®ç¤¾ä¼šã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®é›»å­ãƒ¡ãƒ¼ãƒ«IDã‚’æŒã¤å ´åˆé›»å­ãƒ¡ãƒ¼ãƒ«IDã®ä¸€è‡´ã‚’ã§å½¼ã‚‰ã®ç¤¾ä¼šã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ãƒªãƒ³ã‚¯ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:591 +msgid "YES, automatically link social accounts to WP accounts" +msgstr "ã¯ã„ã€è‡ªå‹•çš„ã«WPã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã«ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’リンク" + +#: ../LoginRadius_admin.php:593 +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "ã„ã„ãˆã€ç§ã¯ç§ã®æ—¢å­˜ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ãƒã‚¤ãƒ†ã‚£ãƒ–WPã®ãƒ­ã‚°ã‚¤ãƒ³æƒ…報を使用ã—続ã‘ãŸã„" + +#: ../LoginRadius_admin.php:603 +msgid "Do you want to apply the same changes when you update plugin settings in the main blog of multisite network?" +msgstr "ã‚ãªãŸã¯ãƒžãƒ«ãƒã‚µã‚¤ãƒˆãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®ãƒ¡ã‚¤ãƒ³ã®ãƒ–ログã§ãƒ—ラグインã®è¨­å®šã‚’æ›´æ–°ã™ã‚‹éš›ã«åŒã˜å¤‰æ›´ã‚’é©ç”¨ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:604 +msgid "YES, apply the same changes to plugin settings of each blog in the multisite network when I update plugin settings." +msgstr "ç§ã¯ãƒ—ラグインã®è¨­å®šã‚’æ›´æ–°ã™ã‚‹éš›ã€YESマルãƒã‚µã‚¤ãƒˆãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å†…ã®å„ブログã®ãƒ—ラグインã®è¨­å®šã«ã‚‚åŒã˜å¤‰æ›´ã‚’é©ç”¨ã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:605 +msgid "NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "ç§ã¯ãƒ—ラグインã®è¨­å®šã‚’æ›´æ–°ã™ã‚‹éš›ã€NOã€ä»–ã®ãƒ–ログã¸ã®å¤‰æ›´ã‚’é©ç”¨ã—ãªã„ã§ãã ã•ã„。" + +#: ../LoginRadius_admin.php:622 +#, fuzzy +msgid "Do you want to let users use their social profile picture as an avatar on your website?" +msgstr "ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ã‚«ã‚¦ãƒ³ã‚¿ãƒ¼ã‚’有効ã«ã—ã¾ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:623 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "ã¯ã„ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚¢ãƒã‚¿ãƒ¼ã¨ã—ã¦ã®ç¤¾ä¼šçš„プロフィールã®å†™çœŸã‚’使ã£ã¦ã¿ã¾ã—ょã†" + +#: ../LoginRadius_admin.php:624 +#, fuzzy +msgid "NO, use default avatars" +msgstr "デフォルトã®ã‚¢ãƒã‚¿ãƒ¼ã‚’使用ã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:632 +msgid "User Membership Control" +msgstr "ユーザメンãƒãƒ¼ã‚·ãƒƒãƒ—コントロール" + +#: ../LoginRadius_admin.php:638 +msgid "Do you want to control user activation/deactivation?" +msgstr "ã‚ãªãŸã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¢ã‚¯ãƒ†ã‚£ãƒ–化/éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–化を制御ã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:639 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "ã‚ãªãŸã¯ã€adminã§ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒšãƒ¼ã‚¸ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹æ¬„ã‹ã‚‰ãƒ¦ãƒ¼ã‚¶ã‚’有効/無効ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "YES, display activate/deactivate option in the " +msgstr "YESã®å ´åˆã€ãƒ¦ãƒ¼ã‚¶ãƒ¼Â·ãƒªã‚¹ãƒˆã§ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒæŽ¥ç¶šã—ã¦ã„るソーシャルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’表示" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "User list" +msgstr "設定" + +#: ../LoginRadius_admin.php:642 +#: ../LoginRadius_admin.php:672 +msgid "NO" +msgstr "ノー" + +#: ../LoginRadius_admin.php:650 +msgid "What would you like to set as the default status of the user when he/she registers to your website?" +msgstr "ã‚ãªãŸã¯ä½•ã‚’å½¼/彼女ã¯ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã«ç™»éŒ²ã™ã‚‹ã¨ãã«ã€ãƒ¦ãƒ¼ã‚¶ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã¨ã—ã¦è¨­å®šã—ãŸã„?" + +#: ../LoginRadius_admin.php:652 +msgid "Active" +msgstr "アクティブ" + +#: ../LoginRadius_admin.php:653 +msgid "Inactive" +msgstr "éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–ãª" + +#: ../LoginRadius_admin.php:662 +msgid "User Profile Data Options" +msgstr "ユーザー·プロファイル·データオプション" + +#: ../LoginRadius_admin.php:668 +msgid "Do you want to update User Profile Data in your Wordpress database, every time user logs into your website?" +msgstr "ã‚ãªãŸã¯Wordpressã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ロファイルデータを更新ã—ãŸã„ã§ã™ã‹ã€æ¯Žå›žãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚ãªãŸã®ã‚µã‚¤ãƒˆã«ãƒ­ã‚°ã‚¤ãƒ³ã—ãŸï¼Ÿ" + +#: ../LoginRadius_admin.php:669 +msgid "If you disable this option, user profile data will be saved only once when user logs in first time at your website, user profile details will not be updated in your Wordpress database, even if user changes his/her social account details." +msgstr "ã“ã®ã‚ªãƒ—ションを無効ã«ã—ãŸå ´åˆã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒã‚ãªãŸã®ã‚µã‚¤ãƒˆã«åˆã‚ã¦ãƒ­ã‚°ã‚¤ãƒ³ã—ãŸã¨ãã«ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼Â·ãƒ—ロファイル·データã¯ä¸€åº¦ã ã‘ä¿å­˜ã•ã‚Œã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒ—ロファイルã®è©³ç´°ã¯ã‚ãªãŸã®Wordpressã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§æ›´æ–°ã€ãŸã¨ãˆãƒ¦ãƒ¼ã‚¶ãƒ¼ã®å¤‰æ›´ã€å½¼/彼女ã®ç¤¾ä¼šçš„ãªã‚¢ã‚«ã‚¦ãƒ³ãƒˆã®è©³ç´°ã€‚ã•ã‚Œã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“" + +#: ../LoginRadius_admin.php:671 +#: ../LoginRadius_admin.php:717 +msgid "YES" +msgstr "ã¯ã„" + +#: ../LoginRadius_admin.php:683 +#, fuzzy +msgid "Social Commenting Settings" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:689 +msgid "Do you want to enable Social Commenting for your website" +msgstr "ã‚ãªãŸã¯ç¤¾ä¼šã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®æ³¨é‡ˆã‚’有効ã«ã—ã¾ã™ã‹" + +#: ../LoginRadius_admin.php:701 +#, fuzzy +msgid "Where do you want to display the Social login interface on the commenting form?" +msgstr "ã‚ãªãŸã¯ã€ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ãƒ­ã‚°ã‚¤ãƒ³ã‚³ãƒ¡ãƒ³ãƒˆãƒ•ã‚©ãƒ¼ãƒ ã«è¡¨ç¤ºã™ã‚‹æ–¹æ³•" + +#: ../LoginRadius_admin.php:704 +msgid "At the very top of the comment form" +msgstr "コメントフォームã®æœ€ä¸Šéƒ¨ã«" + +#: ../LoginRadius_admin.php:705 +msgid "After the 'Leave a Reply' caption" +msgstr "後キャプション'返信を残ã™\"ã‚’" + +#: ../LoginRadius_admin.php:706 +msgid "Before the comment form input fields" +msgstr "コメントフォームã®å…¥åŠ›ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®å‰ã«" + +#: ../LoginRadius_admin.php:707 +#, fuzzy +msgid "Before the comment box" +msgstr "ウィジェットコンテンツã®å‰ã«ï¼š" + +#: ../LoginRadius_admin.php:715 +#, fuzzy +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "自動的ã«ç¤¾ä¼šçš„ãªãƒ­ã‚°ã‚¤ãƒ³ãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã‚‹ã‚³ãƒ¡ãƒ³ãƒˆã‚’承èª" + +#: ../LoginRadius_admin.php:718 +#, fuzzy +msgid "NO, I want to approve the comments per my discretion" +msgstr "ã„ã„ãˆã€ç§ã¯ç§ã®è£é‡ã«å¾“ã£ã¦ã‚³ãƒ¡ãƒ³ãƒˆã‚’承èªã™ã‚‹" + +#: ../LoginRadius_admin.php:728 +#, fuzzy +msgid "Basic Social Sharing Settings" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:734 +msgid "Do you want to enable Social Sharing for your website" +msgstr "ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®ã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚’有効ã«ã—ã¾ã™ã‹" + +#: ../LoginRadius_admin.php:747 +#, fuzzy +msgid "Social Sharing Theme Selection" +msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#: ../LoginRadius_admin.php:753 +#, fuzzy +msgid "What Social Sharing widget theme would you like to use across your website? (Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "ã©ã®ã‚ˆã†ãªã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã®ãƒ†ãƒ¼ãƒžã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトを介ã—ã¦ä½¿ç”¨ã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:765 +#, fuzzy +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®ã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚’有効ã«ã—ã¾ã™ã‹" + +#: ../LoginRadius_admin.php:774 +#, fuzzy +msgid "Choose a Sharing theme" +msgstr "共有テーマをé¸æŠž" + +#: ../LoginRadius_admin.php:833 +#, fuzzy +msgid "Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "ã“ã®ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ç¤¾ä¼šã®ãƒ­ã‚°ã‚¤ãƒ³ãƒœã‚¿ãƒ³ã®ä¸Šã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:835 +#, fuzzy +msgid "Share it now!" +msgstr "今ãれを共有ã™ã‚‹" + +#: ../LoginRadius_admin.php:840 +#: ../LoginRadius_admin.php:950 +msgid "What Sharing Networks do you want to show in the sharing widget? (All other sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "ã‚ãªãŸã¯ã€å…±æœ‰ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã«è¡¨ç¤ºã™ã‚‹ã«ã¯ã€ã©ã®ã‚ˆã†ãªå…±æœ‰ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’ã—ãŸã„ã§ã™ã‹ï¼Ÿ (他ã®ã™ã¹ã¦ã®å…±æœ‰ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãŒLoginRadius共有アイコンã®ä¸€éƒ¨ã¨ã—ã¦è¡¨ç¤ºã•ã‚Œã¾ã™ï¼‰" + +#: ../LoginRadius_admin.php:842 +#: ../LoginRadius_admin.php:952 +msgid "You can select only nine providers" +msgstr "ã‚ãªãŸã¯ã€ã‚ãšã‹9プロãƒã‚¤ãƒ€ã‚’é¸æŠžã™ã‚‹ã“ã¨ãŒã§ãã¾ã™" + +#: ../LoginRadius_admin.php:851 +#: ../LoginRadius_admin.php:961 +#, fuzzy +msgid "In what order do you want your sharing networks listed?" +msgstr "ã‚ãªãŸã®å…±æœ‰ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã¯ä½•å…±æœ‰ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚ªãƒ¼ãƒ€ãƒ¼ã‚’好むã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:871 +#, fuzzy +msgid "Select the position of the Social sharing interface" +msgstr "社会的ãªã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹å ´æ‰€" + +#: ../LoginRadius_admin.php:873 +msgid "Show at the top of content" +msgstr "コンテンツã®ä¸Šéƒ¨ã«è¡¨ç¤ºã™ã‚‹" + +#: ../LoginRadius_admin.php:874 +msgid "Show at the bottom of content" +msgstr "コンテンツã®ä¸‹éƒ¨ã«è¡¨ç¤ºã™ã‚‹" + +#: ../LoginRadius_admin.php:877 +#: ../LoginRadius_admin.php:1004 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "何é¢ç©ï¼ˆS)ã¯ã€ã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã‚’表示ã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:879 +#: ../LoginRadius_admin.php:1006 +#, fuzzy +msgid "Show on homepage" +msgstr "コメントフォームã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:880 +#: ../LoginRadius_admin.php:1007 +#, fuzzy +msgid "Show on posts" +msgstr "コメントフォームã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:882 +#: ../LoginRadius_admin.php:1009 +#, fuzzy +msgid "Show on pages" +msgstr "ページã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:883 +#: ../LoginRadius_admin.php:1010 +#, fuzzy +msgid "Show on post excerpts " +msgstr "登録フォームã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:884 +#: ../LoginRadius_admin.php:1011 +#, fuzzy +msgid "Show on archive pages" +msgstr "アーカイブページã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:886 +#: ../LoginRadius_admin.php:1013 +#, fuzzy +msgid "Show on feed" +msgstr "フィードã«è¡¨ç¤º" + +#: ../LoginRadius_admin.php:897 +#, fuzzy +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®ã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚’有効ã«ã—ã¾ã™ã‹" + +#: ../LoginRadius_admin.php:906 +msgid "Choose a sharing theme" +msgstr "共有テーマをé¸æŠž" + +#: ../LoginRadius_admin.php:981 +#, fuzzy +msgid "Select the position of the Social Sharing widget" +msgstr "ソーシャル共有ウィジェットã®ä½ç½®ã‚’é¸æŠžã—ã¾ã™" + +#: ../LoginRadius_admin.php:997 +msgid "Specify distance of vertical sharing interface from top (Leave empty for default behaviour)" +msgstr "上ã‹ã‚‰åž‚直共有インターフェイスã®è·é›¢ï¼ˆãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå‹•ä½œã®ãŸã‚ã«ç©ºã®ã¾ã¾ã«ã—ã¦ãŠãã¾ã™ï¼‰ã‚’指定ã—ã¾ã™" + +#: ../LoginRadius_admin.php:998 +msgid "Enter a number (For example - 200). It will set the 'top' CSS attribute of the interface to the value specified. Increase in the number pushes interface towards bottom." +msgstr "。番å·ï¼ˆ - 200ãŸã¨ãˆã°ï¼‰ã‚’入力ã—ã¾ã™ã“ã‚Œã¯ã€æŒ‡å®šã•ã‚ŒãŸå€¤ã«ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã®'トップ' CSS属性を設定ã—ã¾ã™ã€‚æ•°ã®å¢—加ã¯ã€åº•éƒ¨ã«å‘ã‹ã£ã¦ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ãƒ¼ã‚¹ã‚’プッシュã—ã¾ã™ã€‚" + +#: ../LoginRadius_admin.php:1059 +msgid "Save Changes" +msgstr "変更をä¿å­˜" + +#: ../LoginRadius_admin.php:1060 +msgid "Preview" +msgstr "プレビュー" + +#: ../LoginRadius_function.php:150 +msgid "Log Out" +msgstr "ログアウト" + +#: ../LoginRadius_function.php:548 +msgid "This account is already mapped" +msgstr "ã“ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯ã™ã§ã«ãƒžãƒƒãƒ—ã•ã‚Œã¦ã„ã‚‹" + +#: ../LoginRadius_function.php:551 +msgid "Account mapped successfully" +msgstr "アカウントãŒæ­£å¸¸ã«ãƒžãƒƒãƒ”ング" + +#: ../LoginRadius_function.php:556 +msgid "Link your account" +msgstr "アカウントをリンク" + +#: ../LoginRadius_function.php:560 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "別ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’追加ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€ã‚ãªãŸã«ã‚‚æ–°ã—ã„アカウントã§ãƒ­ã‚°ã‚¤ãƒ³ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼" + +#: ../LoginRadius_function.php:665 +#: ../LoginRadius_function.php:688 +msgid "Connected with" +msgstr "ã¨æŽ¥ç¶š" + +#: ../LoginRadius_function.php:669 +#: ../LoginRadius_function.php:692 +msgid "Remove" +msgstr "削除ã™ã‚‹" + +#: ../LoginRadius_function.php:771 +#, fuzzy +msgid "Please wait" +msgstr "ã—ã¦ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ãã ã•ã„" + +#: ../LoginRadius_function.php:783 +#: ../LoginRadius_function.php:788 +msgid "Active (Click to Disable)" +msgstr "アクティブ(無効ã«ã™ã‚‹]をクリック)" + +#: ../LoginRadius_function.php:785 +msgid "Inactive (Click to Enable)" +msgstr "éžã‚¢ã‚¯ãƒ†ã‚£ãƒ–(有効ã«ã™ã‚‹]をクリック)" + +#: ../LoginRadius_function.php:792 +msgid "Unexpected error occurred" +msgstr "予期ã—ãªã„エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ" + +#: ../LoginRadius_widget.php:10 +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "ログインã¾ãŸã¯Facebookã‚„Twitterã‚„Yahooã€Googleã¨å¤šãã«ç™»éŒ²" + +#: ../LoginRadius_widget.php:62 +#: ../LoginRadius_widget.php:135 +#: ../LoginRadius_widget.php:208 +msgid "Title:" +msgstr "タイトル" + +#: ../LoginRadius_widget.php:64 +#: ../LoginRadius_widget.php:137 +#: ../LoginRadius_widget.php:210 +msgid "Before widget content:" +msgstr "ウィジェットコンテンツã®å‰ã«ï¼š" + +#: ../LoginRadius_widget.php:66 +#: ../LoginRadius_widget.php:139 +#: ../LoginRadius_widget.php:212 +msgid "After widget content:" +msgstr "ウィジェットコンテンツã®å¾Œã«ï¼š" + +#: ../LoginRadius_widget.php:68 +#: ../LoginRadius_widget.php:141 +#: ../LoginRadius_widget.php:214 +msgid "Hide for logged in users:" +msgstr "ログインユーザーã¯ã€éžè¡¨ç¤ºã«ã™ã‚‹ï¼š" + +#: ../LoginRadius_widget.php:83 +#: ../LoginRadius_widget.php:156 +#, fuzzy +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "ログインã¾ãŸã¯Facebookã‚„Twitterã‚„Yahooã€Googleã¨å¤šãã«ç™»éŒ²" + +#, fuzzy +#~ msgid "Set up my FREE account!" +#~ msgstr "今ã™ãç„¡æ–™ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作りã¾ã—ょã†ï¼" + +#, fuzzy +#~ msgid "Disable Social Counter on this " +#~ msgstr "社会カウンタを有効ã«" + +#, fuzzy +#~ msgid "Support Documentations" +#~ msgstr "ドキュメント" + +#, fuzzy +#~ msgid "Social Counter" +#~ msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "コンテンツã®ä¸Šéƒ¨ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã®ãƒ†ãƒ¼ãƒžã‚’é¸æŠž" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "コンテンツã®ä¸‹éƒ¨ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ã‚½ãƒ¼ã‚·ãƒ£ãƒ«å…±æœ‰ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã®ãƒ†ãƒ¼ãƒžã‚’é¸æŠž" + +#, fuzzy +#~ msgid "Social Sharing Widget Position" +#~ msgstr "社会的ãªå…±æœ‰ã®ä½ç½®" + +#, fuzzy +#~ msgid "Basic Social Counter Settings" +#~ msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#~ msgid "Do you want to enable Social Counter for your website?" +#~ msgstr "ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®ã‚½ãƒ¼ã‚·ãƒ£ãƒ«ã‚«ã‚¦ãƒ³ã‚¿ãƒ¼ã‚’有効ã«ã—ã¾ã™ã‹ï¼Ÿ" + +#, fuzzy +#~ msgid "" +#~ "Enter the text that you wish to be displayed above the Social Counter " +#~ "Interface. Leave the field blank if you don't want any text to be " +#~ "displayed" +#~ msgstr "ã“ã®ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ç¤¾ä¼šã®ãƒ­ã‚°ã‚¤ãƒ³ãƒœã‚¿ãƒ³ã®ä¸Šã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚" + +#, fuzzy +#~ msgid "Be a fan" +#~ msgstr "ファンã«ãªã‚‹ï¼" + +#, fuzzy +#~ msgid "Social Counter Theme Selection" +#~ msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#, fuzzy +#~ msgid "" +#~ "What Social Counter widget theme would you like to use across your " +#~ "website?" +#~ msgstr "" +#~ "何ã®ç¤¾ä¼šçš„カウンターウィジェットã®ãƒ†ãƒ¼ãƒžã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトを介ã—ã¦ä½¿ç”¨ã—" +#~ "ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "コンテンツã®ä¸Šéƒ¨ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ç¤¾ä¼šã‚«ã‚¦ãƒ³ã‚¿ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã®ãƒ†ãƒ¼ãƒžã‚’é¸æŠž" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "コンテンツã®ä¸‹éƒ¨ã«è¡¨ç¤ºã•ã‚Œã‚‹ã‚ˆã†ã«ç¤¾ä¼šã‚«ã‚¦ãƒ³ã‚¿ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã®ãƒ†ãƒ¼ãƒžã‚’é¸æŠž" + +#~ msgid "Choose a counter theme" +#~ msgstr "カウンタテーマをé¸æŠž" + +#~ msgid "What Counter Networks do you want to show in the counter widget?" +#~ msgstr "" +#~ "何カウンタãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚ãªãŸã¯ã‚«ã‚¦ãƒ³ã‚¿ãƒ¼ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã«è¡¨ç¤ºã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#, fuzzy +#~ msgid "Social Counter Widget Position" +#~ msgstr "社会的ãªå…±æœ‰ã®ä½ç½®" + +#, fuzzy +#~ msgid "Select the position of the Social Counter widget" +#~ msgstr "ソーシャルカウンターウィジェットã®ä½ç½®ã‚’é¸æŠžã—ã¾ã™" + +#~ msgid "" +#~ "Specify distance of vertical counter interface from top (Leave empty for " +#~ "default behaviour)" +#~ msgstr "" +#~ "上部ã‹ã‚‰åž‚直カウンタインターフェイスã®è·é›¢ï¼ˆãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå‹•ä½œã®ãŸã‚ã«ç©ºã®ã¾ã¾" +#~ "ã«ã—ã¦ãŠãã¾ã™ï¼‰ã‚’指定ã—ã¾ã™" + +#, fuzzy +#~ msgid "Select the position of Social counter interface" +#~ msgstr "社会的ãªã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹å ´æ‰€" + +#~ msgid "What area(s) do you want to show the social counter widget?" +#~ msgstr "何é¢ç©ï¼ˆS)ã¯ã€ç¤¾ä¼šçš„ãªã‚«ã‚¦ãƒ³ã‚¿ãƒ¼ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆã‚’表示ã—ãŸã„ã®ã§ã™ã‹ï¼Ÿ" + +#~ msgid "Get your fan counts all over the social networks." +#~ msgstr "" +#~ "ã‚ãªãŸã®ãƒ•ã‚¡ãƒ³ã¯ã€ã™ã¹ã¦ã®ç¤¾ä¼šçš„ãªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ä¸Šã§ã‚«ã‚¦ãƒ³ãƒˆã•ã‚Œå¾—る。" + +#~ msgid "" +#~ "Currently service is not available and we are working on a fix for it." +#~ msgstr "" +#~ "ç¾åœ¨ã‚µãƒ¼ãƒ“スã¯åˆ©ç”¨ã§ãã¾ã›ã‚“ã€æˆ‘々ã¯ãã‚Œã®ãŸã‚ã®ä¿®æ­£ã«å–り組んã§ã„ã¾ã™ã€‚" + +#~ msgid "" +#~ "Embed it in registration form and show it below the registration form" +#~ msgstr "登録フォームã«åŸ‹ã‚込むã¨ã€ç™»éŒ²ãƒ•ã‚©ãƒ¼ãƒ ã®ä¸‹ã«è¡¨ç¤ºã™ã‚‹" + +#, fuzzy +#~ msgid "Redirect to the Custom URL:" +#~ msgstr "次ã®URLã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ã¾ã™ã€‚" + +#, fuzzy +#~ msgid "" +#~ "YES, Link existing WP user accounts to user social account if email ID " +#~ "matches" +#~ msgstr "" +#~ "社会ログインã¸ã®ãƒªãƒ³ã‚¯ã¯ã€æ—¢å­˜ã®WordPressユーザーアカウントを(もã—ã‚ã‚Œ" +#~ "ã°ï¼‰" + +#, fuzzy +#~ msgid "NO, Do not Link existing WP user accounts to user social account" +#~ msgstr "" +#~ "社会ログインã¸ã®ãƒªãƒ³ã‚¯ã¯ã€æ—¢å­˜ã®WordPressユーザーアカウントを(もã—ã‚ã‚Œ" +#~ "ã°ï¼‰" + +#~ msgid "" +#~ "Social Network provides User avatar image as profile data, do you want to " +#~ "show User Social profile image as avatar for your website?" +#~ msgstr "" +#~ "プロファイルデータã¯ã€ã‚ãªãŸãŒã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãŸã‚ã®ãƒ¦ãƒ¼ã‚¶ã‚¢ãƒã‚¿ãƒ¼ã¨" +#~ "ã—ã¦ã®ç¤¾ä¼šçš„プロフィール画åƒã‚’表示ã—ãŸããªã„よã†ãªç¤¾ä¼šçš„ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã¯ã€" +#~ "ユーザã®ã‚¢ãƒã‚¿ãƒ¼ç”»åƒã‚’æä¾›ã—ã¦ã„ã¾ã™ï¼Ÿ" + +#, fuzzy +#~ msgid "" +#~ "YES, use user social profile image or avatar (if provided by ID Provider)" +#~ msgstr "(æä¾›ã—ã¦ã„ã‚‹å ´åˆï¼‰ç¤¾ä¼šãƒ—ロãƒã‚¤ãƒ€ã®ã‚¢ãƒã‚¿ãƒ¼ã‚’使用ã—ã¾ã™ã€‚" + +#~ msgid "" +#~ "You can customize the settings for your plugin on this page, though you " +#~ "will have to choose your desired ID providers and get your unique" +#~ msgstr "" +#~ "ã‚ãªãŸã¯ã€ã‚ãªãŸã®å¸Œæœ›ã™ã‚‹IDプロãƒã‚¤ãƒ€ã‚’é¸æŠžã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ãŒã€ã“ã®" +#~ "ページ上ã«ãƒ—ラグインã®è¨­å®šã‚’カスタマイズã—ã€ç‹¬è‡ªã«å–å¾—ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™" + +#, fuzzy +#~ msgid "from your" +#~ msgstr "今ã™ãç„¡æ–™ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã‚’作りã¾ã—ょã†ï¼" + +#~ msgid " account at" +#~ msgstr "ã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ" + +#~ msgid "" +#~ "There you can also customize your login interface with different login " +#~ "themes and icon sets. By using LoginRadius, the profile data of each user " +#~ "who logs in via social login will be saved to your WordPress database." +#~ msgstr "" +#~ "ãã“ã«ã¯ã€ã¾ãŸåˆ¥ã®ãƒ­ã‚°ã‚¤ãƒ³ã®ãƒ†ãƒ¼ãƒžã¨ã‚¢ã‚¤ã‚³ãƒ³ã‚»ãƒƒãƒˆã‚’使用ã—ã¦ãƒ­ã‚°ã‚¤ãƒ³ã‚¤ãƒ³" +#~ "ターフェイスをカスタマイズã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ LoginRadiusを使用ã™ã‚‹ã“ã¨ã«" +#~ "よりã€ç¤¾ä¼šçš„ãªãƒ­ã‚°ã‚¤ãƒ³çµŒç”±ã§ãƒ­ã‚°ã‚ªãƒ³ã™ã‚‹å„ユーザーã®ãƒ—ロファイルデータã¯ã€" +#~ "WordPressã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚" + +#, fuzzy +#~ msgid "" +#~ "is a technology startup based in Canada that offers social login through " +#~ "popular ID providers such as Facebook Twitter Google LinkedIn and over 15 " +#~ "more as well as social sharing on over 80 networks. For tech support or " +#~ "if you have any questions please contact us at" +#~ msgstr "" +#~ "ã“ã®ã‚ˆã†ãªFacebookã‚„Twitterã€Googleã¨15以上よりã€äººæ°—ã®ãƒ›ã‚¹ãƒˆã‚’経由ã—ã¦ç¤¾" +#~ "会的ãªãƒ­ã‚°ã‚¤ãƒ³ã‚’æä¾›ã™ã‚‹åŒ—米ベースã®æŠ€è¡“会社ã§ã™ï¼æŠ€è¡“サãƒãƒ¼ãƒˆç”¨ã‚„ã”質å•ãŒ" +#~ "ã‚ã‚‹å ´åˆã¯ã€ãŠå•ã„åˆã‚ã›ãã ã•ã„" + +#~ msgid "We are available 24/7 to assist our clients!" +#~ msgstr "ã«ãŠå•ã„åˆã‚ã›ãã ã•ã„。サãƒãƒ¼ãƒˆãƒ»ã‚»ãƒ³ã‚¿ãƒ¼ã¯24時間営業ã§ã™ã€‚" + +#~ msgid "Plugin Help" +#~ msgstr "プラグインã®ãƒ˜ãƒ«ãƒ—" + +#, fuzzy +#~ msgid "Live Demo (Wordpress)" +#~ msgstr "ライブデモサイト" + +#, fuzzy +#~ msgid "Live Demo (BuddyPress)" +#~ msgstr "ライブデモサイト" + +#, fuzzy +#~ msgid "Live Demo (bbPress)" +#~ msgstr "ライブデモサイト" + +#~ msgid "Other AddOns" +#~ msgstr "ä»–ã®ã‚¢ãƒ‰ã‚ªãƒ³" + +#~ msgid "LoginRadius Blog" +#~ msgstr "LoginRadiusブログ" + +#, fuzzy +#~ msgid "WP Social Login Support" +#~ msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#, fuzzy +#~ msgid "Contact LoginRadius" +#~ msgstr "LoginRadiusã«ã¤ã„ã¦" + +#, fuzzy +#~ msgid "Social Share & Counter" +#~ msgstr "社会的ãªå…±æœ‰ã®ä½ç½®" + +#~ msgid "LoginRadius Login & Redirection Settings" +#~ msgstr "LoginRadiusログインã¨ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆè¨­å®š" + +#, fuzzy +#~ msgid "Show on Login Page" +#~ msgstr "ログインフォームã«è¡¨ç¤º" + +#, fuzzy +#~ msgid "Embed in Login Form" +#~ msgstr "ログインフォームã«è¡¨ç¤º" + +#, fuzzy +#~ msgid "Show Beside Login Form" +#~ msgstr "ログインフォームã«è¡¨ç¤º" + +#, fuzzy +#~ msgid "Show on Register Page" +#~ msgstr "登録フォームã«è¡¨ç¤º" + +#, fuzzy +#~ msgid "Embed in Register Form" +#~ msgstr "登録フォームã«è¡¨ç¤º" + +#, fuzzy +#~ msgid "Social Linking" +#~ msgstr "社会的ãªå…±æœ‰ã®å ´æ‰€" + +#~ msgid "Show Social Avatar" +#~ msgstr "社会アãƒã‚¿ãƒ¼ã‚’表示ã™ã‚‹" + +#, fuzzy +#~ msgid "Show social provider avatar image" +#~ msgstr "コメント上ã§ç¤¾ä¼šçš„ãªãƒ—ロãƒã‚¤ãƒ€ãƒ¼ã®ã‚¢ãƒã‚¿ãƒ¼ç”»åƒ" + +#~ msgid "Redirect user After login" +#~ msgstr "ログイン後ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’リダイレクト" + +#~ msgid "Redirect to Same Page of blog" +#~ msgstr "ブログã®åŒã˜ãƒšãƒ¼ã‚¸ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹" + +#, fuzzy +#~ msgid "Logout Redirection Setting" +#~ msgstr "リダイレクションã®è¨­å®š" + +#, fuzzy +#~ msgid "Redirect user After logout" +#~ msgstr "ログイン後ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’リダイレクト" + +#~ msgid "(Only for Login Radius widget area)" +#~ msgstr "(ã®ã¿ãƒ­ã‚°ã‚¤ãƒ³åŠå¾„ウィジェット領域用)" + +#, fuzzy +#~ msgid "Redirect to Home Page of blog" +#~ msgstr "ブログã®åŒã˜ãƒšãƒ¼ã‚¸ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã™ã‚‹" + +#~ msgid "To Communicate with API" +#~ msgstr "APIã¨é€šä¿¡ã™ã‚‹ã«ã¯" + +#~ msgid "Use cURL (Require cURL support = enabled in your php.ini settings)" +#~ msgstr "cURLã«ï¼ˆrequireを使ㆠcURL support = enabled php.iniã®è¨­å®šã§ï¼‰" + +#~ msgid "" +#~ "Use FSOCKOPEN (Require allow_url_fopen = On and safemode = off in your " +#~ "php.ini settings)" +#~ msgstr "" +#~ "ã™ãã«ã‚ã‹ã‚‹ã®ï¼ˆrequireを使ㆠallow_url_fopen = On 㨠safemode = off php." +#~ "iniã®è¨­å®šã§ï¼‰" + +#~ msgid "LoginRadius Basic Settings" +#~ msgstr "LoginRadius基本設定" + +#~ msgid "Title" +#~ msgstr "タイトル" + +#~ msgid "Send Email" +#~ msgstr "é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’é€ä¿¡" + +#, fuzzy +#~ msgid "After user registration" +#~ msgstr "ユーザーãŒç™»éŒ²ã—ãŸå¾Œ" + +#~ msgid "Email Required" +#~ msgstr "å¿…è¦ãªé›»å­ãƒ¡ãƒ¼ãƒ«" + +#, fuzzy +#~ msgid "" +#~ "A few ID provider does not provide user's Email ID. Select YES if you " +#~ "would like an email pop-up after login or select NO if you would like to " +#~ "auto-generate the email address." +#~ msgstr "" +#~ "ã„ãã¤ã‹ã®IDプロãƒã‚¤ãƒ€ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®é›»å­ãƒ¡ãƒ¼ãƒ«IDã‚’æä¾›ã—ã¦ã„ã¾ã›ã‚“。必è¦ã«" +#~ "å¿œã˜ã¦YESã‚’é¸æŠžã—ãŸé›»å­ãƒ¡ãƒ¼ãƒ«ã®ãƒãƒƒãƒ—アップログイン後ã€ã¾ãŸã¯è‡ªå‹•ã§ãƒ¡ãƒ¼ãƒ«" +#~ "アドレスを生æˆã™ã‚‹å ´åˆã¯NOã‚’é¸æŠžã—ã¾ã™ã€‚" + +#, fuzzy +#~ msgid "This text will be displayed on the email popup" +#~ msgstr "" +#~ "ã“ã®ãƒ†ã‚­ã‚¹ãƒˆã¯ã€é›»å­ãƒ¡ãƒ¼ãƒ«ã‚’入力ã™ã‚‹ãŸã‚ã®ãƒãƒƒãƒ—アップボックスã®ä¸Šã«ç”»é¢ä¸­" +#~ "央ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚" + +#, fuzzy +#~ msgid "Please enter your email to proceed" +#~ msgstr "続行ã™ã‚‹ã«ã¯ã€ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’入力ã—ã¦ãã ã•ã„。" + +#, fuzzy +#~ msgid "" +#~ "This text will be displayed on the email popup if the email is already " +#~ "registered or invalid" +#~ msgstr "" +#~ "é›»å­ãƒ¡ãƒ¼ãƒ«ã¯ã™ã§ã«ç™»éŒ²æ¸ˆã¿ã¾ãŸã¯ç„¡åŠ¹ãªå ´åˆã€ã“ã®ãƒ†ã‚­ã‚¹ãƒˆãŒãƒãƒƒãƒ—アップボッ" +#~ "クスã®ä¸Šã«ç”»é¢ä¸­å¤®ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚" + +#~ msgid "Turn Social Sharing ON/OFF" +#~ msgstr "ON / OFFソーシャル共有を回ã—" + +#~ msgid "Code" +#~ msgstr "コード" + +#~ msgid "paste sharing code from your LoginRadius account" +#~ msgstr "ã‚ãªãŸã®LoginRadiusアカウントã‹ã‚‰å…±æœ‰ã‚³ãƒ¼ãƒ‰ã‚’貼り付ã‘ã¾ã™" + +#, fuzzy +#~ msgid "where to show social share bar" +#~ msgstr "社会的ãªã‚¢ã‚¤ã‚³ãƒ³ã‚’表示ã™ã‚‹å ´æ‰€" + +#, fuzzy +#~ msgid "Show on Top" +#~ msgstr "ログインフォームã«è¡¨ç¤º" + +#, fuzzy +#~ msgid "Show on Bottom" +#~ msgstr "コメントフォームã«è¡¨ç¤º" + +#~ msgid "which location to show social share bar" +#~ msgstr "ã©ã®å ´æ‰€ã®ç¤¾ä¼šçš„共有ãƒãƒ¼ã‚’表示ã™ã‚‹" + +#~ msgid "Turn Social Counter ON/OFF" +#~ msgstr "社会カウンタをオン/オフ" + +#, fuzzy +#~ msgid "which location to show social counter interface" +#~ msgstr "ã©ã®å ´æ‰€ã®ç¤¾ä¼šçš„共有ãƒãƒ¼ã‚’表示ã™ã‚‹" + +#~ msgid "LoginRadius API Settings" +#~ msgstr "LoginRadiusã®API設定" + +#, fuzzy +#~ msgid "LoginRadius API key" +#~ msgstr "LoginRadiusã®API設定" + +#, fuzzy +#~ msgid "Required for LoginRadius plugin to work" +#~ msgstr "ä»–ã®LoginRadiusプラグイン" + +#~ msgid "Paste LoginRadius API Key here. To get the API Key, log in to" +#~ msgstr "" +#~ "ã“ã“ã«LoginRadiusã®APIキー貼り付ã‘ã¦ãã ã•ã„。 APIキーをå–å¾—ã™ã‚‹ã«ã¯ã€" +#~ "LoginRadiusã«ãƒ­ã‚°ã‚¤ãƒ³ã—ã¾ã™ã€‚" + +#, fuzzy +#~ msgid "LoginRadius API Secret" +#~ msgstr "LoginRadius APIキーã¨ç§˜å¯†" + +#~ msgid "Paste LoginRadius API Secret here. To get the API Secret, log in to " +#~ msgstr "" +#~ "ã“ã“ã«LoginRadius APIã®ç§˜å¯†ã‚’貼り付ã‘ã¾ã™ã€‚ APIã®ç§˜å¯†ã‚’å–å¾—ã™ã‚‹ã«ã¯ã€" +#~ "LoginRadiusã«ãƒ­ã‚°ã‚¤ãƒ³ã—ã¾ã™ã€‚" + +#~ msgid "Turn Social Commenting ON/OFF" +#~ msgstr "ソーシャルON / OFF注釈回ã—" + +#~ msgid "Enable Social Commenting" +#~ msgstr "ソーシャルコメント有効" + +#~ msgid "Commenting Mode" +#~ msgstr "モードをコメントアウト" + +#~ msgid "Show on Comment Form" +#~ msgstr "コメントフォームã«è¡¨ç¤º" + +#~ msgid "" +#~ "Integrate with Comment Form (Give your website users a new commenting " +#~ "experience)" +#~ msgstr "" +#~ "(ã‚ãªãŸã®ã‚¦ã‚§ãƒ–サイトã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«æ–°ã—ã„体験を与ãˆã‚‹ã‚³ãƒ¡ãƒ³ãƒˆï¼‰ã‚³ãƒ¡ãƒ³ãƒˆ" +#~ "フォームã¨çµ±åˆ" + +#~ msgid "Select a social network:" +#~ msgstr "ソーシャルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚’é¸æŠžã—ã¾ã™ã€‚" + +#~ msgid "Auto Approve Social User's Comments" +#~ msgstr "オートã¯ã€ç¤¾ä¼šã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚³ãƒ¡ãƒ³ãƒˆã‚’承èª" + +#, fuzzy +#~ msgid "if user logged in using social login" +#~ msgstr "ユーザーã¯ã€ç¤¾ä¼šçš„ãªãƒ­ã‚°ã‚¤ãƒ³ã‚’使用ã—ã¦ãƒ­ã‚°ã‚¤ãƒ³ã—ã¦ã„ã‚‹å ´åˆ" + +#, fuzzy +#~ msgid "LoginRadius Share Basic Settings" +#~ msgstr "LoginRadius基本設定" + +#~ msgid "Open in new window" +#~ msgstr "æ–°ã—ã„ウィンドウã§é–‹ã" + +#~ msgid "opened new window for sharing" +#~ msgstr "共有ã™ã‚‹ãŸã‚ã«é–‹ã„ãŸæ–°ã—ã„ウィンドウ" + +#~ msgid "Open share link in new Window" +#~ msgstr "æ–°ã—ã„ウィンドウã§å…±æœ‰ãƒªãƒ³ã‚¯ã‚’é–‹ã" + +#, fuzzy +#~ msgid "LoginRadius Share Location Settings" +#~ msgstr "LoginRadius基本設定" + +#, fuzzy +#~ msgid "Required for Social Login and Social Share" +#~ msgstr "社会ログインã™ã‚‹ãŸã‚ã«å¿…è¦ãª" + +#~ msgid "Required for Social Login" +#~ msgstr "社会ログインã™ã‚‹ãŸã‚ã«å¿…è¦ãª" + +#~ msgid "Restored all settings to defaults." +#~ msgstr "デフォルトã«ã™ã¹ã¦ã®è¨­å®šã‚’復元。" + +#~ msgid "You Must Need a Login Radius Api Key For Login Process." +#~ msgstr "" +#~ "ã‚ãªãŸãŒãƒ­ã‚°ã‚¤ãƒ³ãƒ—ロセスã®LoginRadiusã®APIキーãŒå¿…è¦ã§ã™å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" + +#~ msgid "You Must Need a Login Radius Api Secret For Login Process." +#~ msgstr "" +#~ "ã‚ãªãŸãŒãƒ­ã‚°ã‚¤ãƒ³ãƒ—ロセスã®LoginRadius APIã®ã‚·ãƒ¼ã‚¯ãƒ¬ãƒƒãƒˆãŒå¿…è¦ã§ã™å¿…è¦ãŒã‚" +#~ "ã‚Šã¾ã™ã€‚" + +#~ msgid "You Need a Redirect url for Login Redirection." +#~ msgstr "ã‚ãªãŸã¯ãƒ­ã‚°ã‚¤ãƒ³ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã®ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆURLãŒå¿…è¦ã§ã™ã€‚" + +#~ msgid "Saved changes." +#~ msgstr "変更をä¿å­˜ã€‚" + +#~ msgid "from" +#~ msgstr "ã‹ã‚‰ã®" + +#~ msgid "" +#~ "In order to make the login process secure, we require you to manage it " +#~ "from your LoginRadius account." +#~ msgstr "" +#~ "ログインプロセスを安全ã«ã™ã‚‹ãŸã‚ã«ã€æˆ‘々ã¯ã€ã‚ãªãŸã®LoginRadiusã®ã‚¢ã‚«ã‚¦ãƒ³" +#~ "トã‹ã‚‰ç®¡ç†ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" + +#~ msgid "Restore Defaults" +#~ msgstr "デフォルトã®å¾©å…ƒ" + +#~ msgid "Welcome! " +#~ msgstr "よã†ã“ãï¼" diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-ru_RU.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-ru_RU.mo new file mode 100644 index 0000000..85ace3a Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-ru_RU.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-ru_RU.po b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-ru_RU.po new file mode 100644 index 0000000..5a010a7 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-ru_RU.po @@ -0,0 +1,1363 @@ +msgid "" +msgstr "" +"Project-Id-Version: Loginradius\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-07-02 10:53-0800\n" +"PO-Revision-Date: 2013-07-02 10:54-0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ..\n" + +#: ../LoginRadius.php:108 +#: ../LoginRadius.php:183 +#: ../LoginRadius.php:550 +#: ../LoginRadius_function.php:827 +msgid "Your account is currently inactive. You will be notified through email, once Administrator activates your account." +msgstr "Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ неактивна. Ð’Ñ‹ будете уведомлены по Ñлектронной почте, как только админиÑтратор активирует Ñвой ​​аккаунт." + +#: ../LoginRadius.php:110 +msgid "Your email has been successfully verified. Now you can login into your account." +msgstr "Ваше Ñообщение было уÑпешно проверено. Теперь вы можете войти в Ñвой аккаунт." + +#: ../LoginRadius.php:140 +#: ../LoginRadius.php:534 +msgid "Your Confirmation link Has Been Sent To Your Email Address. Please verify your email by clicking on confirmation link." +msgstr "Ваша ÑÑылка Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±Ñ‹Ð»Ð° отправлена ​​на ваш Ñлектронный адреÑ. ПожалуйÑта проверьте ваш e-mail, нажав на ÑÑылку Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ." + +#: ../LoginRadius.php:228 +#: ../LoginRadius.php:243 +#: ../LoginRadius.php:382 +msgid "Please verify your email by clicking the confirmation link sent to you." +msgstr "ПожалуйÑта проверьте ваш e-mail, нажав на ÑÑылку Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñлали к вам." + +#: ../LoginRadius.php:765 +#, fuzzy +msgid "Disable Social Sharing on this " +msgstr "Социального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Share" + +#: ../LoginRadius.php:869 +msgid "Settings" +msgstr "наÑтройки" + +#: ../LoginRadius_admin.php:48 +#: ../LoginRadius_admin.php:73 +msgid "Please wait. This may take a few minutes" +msgstr "ПожалуйÑта, подождите. Это может занÑÑ‚ÑŒ неÑколько минут" + +#: ../LoginRadius_admin.php:57 +msgid "Detected CURL. Please save changes" +msgstr "Обнаружено CURL. ПожалуйÑта, Ñохраните изменениÑ" + +#: ../LoginRadius_admin.php:60 +msgid "Detected FSOCKOPEN. Please save changes" +msgstr "Обнаружено FSOCKOPEN. ПожалуйÑта, Ñохраните изменениÑ" + +#: ../LoginRadius_admin.php:63 +msgid "Please check your php.ini settings to enable CURL or FSOCKOPEN" +msgstr "ПожалуйÑта, проверьте наÑтройки php.ini чтобы CURL или FSOCKOPEN" + +#: ../LoginRadius_admin.php:65 +msgid "Problem in communicating LoginRadius API. Please check if one of the API Connection method mentioned above is working." +msgstr "Проблема в общении LoginRadius API. ПожалуйÑта, проверьте, еÑли один из методов API Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑƒÐ¿Ð¾Ð¼Ñнутых выше работает." + +#: ../LoginRadius_admin.php:67 +msgid "Uh oh, looks like something went wrong. Try again in a sec!" +msgstr "Ой-ой, похоже, что-то пошло не так. Попробуйте еще раз в Ñекунду!" + +#: ../LoginRadius_admin.php:84 +#, fuzzy +msgid "Your API Key is invalid. Please paste the correct API Key from your LoginRadius Account." +msgstr "Ð’Ñтавить код Ñчетчика Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñчета LoginRadius" + +#: ../LoginRadius_admin.php:86 +msgid "Your API Secret is invalid. Please paste the correct API Secret from your LoginRadius Account" +msgstr "Ваше API Ñекретно ÑвлÑетÑÑ Ð½ÐµÐ´ÐµÐ¹Ñтвительным. ПожалуйÑта, вÑтавьте правильный Ñекретно API Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñчета LoginRadius" + +#: ../LoginRadius_admin.php:88 +#, fuzzy +msgid "API Key and Secret cannot be same. Please paste correct API Key and Secret from your LoginRadius account in the corresponding fields above." +msgstr "Ваше API Ñекретно ÑвлÑетÑÑ Ð½ÐµÐ´ÐµÐ¹Ñтвительным. ПожалуйÑта, вÑтавьте правильный Ñекретно API Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñчета LoginRadius" + +#: ../LoginRadius_admin.php:90 +msgid "Your API Key and Secret are valid. Please save the changes." +msgstr "Ваш ключ API и Секретной ÑвлÑÑŽÑ‚ÑÑ Ð´ÐµÐ¹Ñтвительными. ПожалуйÑта, Ñохраните изменениÑ." + +#: ../LoginRadius_admin.php:212 +#, fuzzy +msgid "Social Plugin Settings" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:214 +msgid "Please clear your browser cache, if you have trouble loading the plugin interface. For more information" +msgstr "ПожалуйÑта, очиÑтить кÑш браузера, еÑли у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ проблемы Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¾Ð¹ плагинов интерфейÑ. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации" + +#: ../LoginRadius_admin.php:214 +msgid "click here" +msgstr "нажмите здеÑÑŒ" + +#: ../LoginRadius_admin.php:217 +#, fuzzy +msgid "Thank you for installing the LoginRadius Social Plugin!" +msgstr "Благодарим Ð²Ð°Ñ Ð·Ð° уÑтановку плагина LoginRadius!" + +#: ../LoginRadius_admin.php:218 +#, fuzzy +msgid "To activate the plugin, you will need to first configure it (manage your desired social networks, etc.) from your LoginRadius account. If you do not have an account, click" +msgstr "Ð”Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ плагина, пожалуйÑта, наÑтроить и управлÑÑ‚ÑŒ Ñоциальными ÑетÑми от Ð²Ð°Ñ LoginRadius Ñчет. ЕÑли вы не имеете учетной запиÑи, нажмите" + +#: ../LoginRadius_admin.php:218 +msgid "here" +msgstr "здеÑÑŒ" + +#: ../LoginRadius_admin.php:218 +msgid "and create one for FREE!" +msgstr "и Ñоздать одну беÑплатно!" + +#: ../LoginRadius_admin.php:220 +#, fuzzy +msgid "We also offer Social Plugins for " +msgstr "Этот текÑÑ‚ отображаетÑÑ Ð½Ð°Ð´ кнопкой Ñоциального входа." + +#: ../LoginRadius_admin.php:220 +msgid "and" +msgstr "и" + +#: ../LoginRadius_admin.php:223 +msgid "Enable Plugin Now!" +msgstr "Включить плагин теперь!" + +#: ../LoginRadius_admin.php:225 +msgid "How to set up an account" +msgstr "Как наÑтроить учетную запиÑÑŒ" + +#: ../LoginRadius_admin.php:229 +#, fuzzy +msgid "Get Updates" +msgstr "Получите обновлениÑ!" + +#: ../LoginRadius_admin.php:230 +#, fuzzy +msgid "To receive updates on new features, future releases, etc, please connect with us via Facebook and Twitter" +msgstr "Чтобы получать информацию о новых функциÑÑ…, релизы и Ñ‚.д., пожалуйÑта, подключитьÑÑ Ðº одному из наших Ñтраницах Ñоциальных медиа" + +#: ../LoginRadius_admin.php:240 +#: ../LoginRadius_admin.php:1024 +#, fuzzy +msgid "Help & Documentations" +msgstr "документациÑ" + +#: ../LoginRadius_admin.php:242 +#: ../LoginRadius_admin.php:1030 +msgid "Plugin Installation, Configuration and Troubleshooting" +msgstr "Плагин уÑтановке, наÑтройке и уÑтранению неполадок" + +#: ../LoginRadius_admin.php:243 +#: ../LoginRadius_admin.php:1031 +#, fuzzy +msgid "How to get LoginRadius API Key & Secret" +msgstr "API от LoginRadius" + +#: ../LoginRadius_admin.php:244 +#: ../LoginRadius_admin.php:1032 +#, fuzzy +msgid "WP Multisite Feature" +msgstr "плагин веб-Ñтраницу" + +#: ../LoginRadius_admin.php:247 +#: ../LoginRadius_admin.php:1033 +msgid "Discussion Forum" +msgstr "Форум" + +#: ../LoginRadius_admin.php:248 +#: ../LoginRadius_admin.php:1036 +msgid "About LoginRadius" +msgstr "Блог LoginRadius" + +#: ../LoginRadius_admin.php:249 +#: ../LoginRadius_admin.php:1037 +#, fuzzy +msgid "LoginRadius Products" +msgstr "LoginRadius блог" + +#: ../LoginRadius_admin.php:252 +#: ../LoginRadius_admin.php:1038 +#, fuzzy +msgid "Social Plugins" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:253 +#: ../LoginRadius_admin.php:1039 +#, fuzzy +msgid "Social SDKs" +msgstr "Социального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Share" + +#: ../LoginRadius_admin.php:258 +#, fuzzy +msgid "Support Us" +msgstr "ТехничеÑÐºÐ°Ñ ÐŸÐ¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ°" + +#: ../LoginRadius_admin.php:260 +msgid "If you liked our FREE open-source plugin, please send your feedback/testimonial to " +msgstr "ЕÑли Вам понравилÑÑ Ð½Ð°Ñˆ беÑплатный Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ иÑходным кодом плагина, пожалуйÑта, отправьте Ваше мнение / ÑвидетельÑтвом" + +#: ../LoginRadius_admin.php:261 +msgid "Please help us to " +msgstr "ПожалуйÑта, помогите нам" + +#: ../LoginRadius_admin.php:261 +msgid "translate" +msgstr "переводить" + +#: ../LoginRadius_admin.php:261 +msgid "the plugin content in your language." +msgstr "Плагин ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð½Ð° вашем Ñзыке." + +#: ../LoginRadius_admin.php:271 +msgid "To activate the Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret." +msgstr "Ð”Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸ Ð¡Ð¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð’Ñ…Ð¾Ð´ , вÑтавьте LoginRadius API ключ и тайна в API наÑтроек , ниже. ÑоцÑети не требуетÑÑ ÐºÐ»ÑŽÑ‡ API и Секретной ." + +#: ../LoginRadius_admin.php:280 +msgid "Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com" +msgstr "Ваш ключ API LoginRadius или тайным не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым, пожалуйÑта, иÑправить ее или ÑвÑжитеÑÑŒ LoginRadius поддержки ÑÑылочной www.LoginRadius. COM " + +#: ../LoginRadius_admin.php:291 +#, fuzzy +msgid "API Settings" +msgstr "наÑтройки" + +#: ../LoginRadius_admin.php:292 +#, fuzzy +msgid "Social Login" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:293 +#, fuzzy +msgid "Social Commenting" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:294 +#, fuzzy +msgid "Social Sharing" +msgstr "Социального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Share" + +#: ../LoginRadius_admin.php:295 +msgid "Help" +msgstr "Помогите" + +#: ../LoginRadius_admin.php:301 +#, fuzzy +msgid "What API Connection Method do you prefer to use to enable API communication?" +msgstr "Что API Метод Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹ предпочитаете, чтобы включить API общениÑ?" + +#: ../LoginRadius_admin.php:311 +msgid "Use CURL" +msgstr "ИÑпользование CURL" + +#: ../LoginRadius_admin.php:312 +#, fuzzy +msgid "This is the recommended API connection method, but sometimes this is disabled on hosting server" +msgstr "Рекомендуемый ÑпоÑоб Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ API, но иногда Ñта Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð° на Ñервере хоÑтинг" + +#: ../LoginRadius_admin.php:316 +msgid "Use FSOCKOPEN" +msgstr "ИÑпользуйте FSOCKOPEN" + +#: ../LoginRadius_admin.php:317 +#, fuzzy +msgid "Choose this option if cURL is disabled on your hosting server" +msgstr "Выберите Ñту опцию, еÑли Curl отключена на ваш хоÑтинг-Ñервер" + +#: ../LoginRadius_admin.php:318 +#, fuzzy +msgid "Auto-detect Connection Method" +msgstr "Выберите API учетных" + +#: ../LoginRadius_admin.php:326 +#, fuzzy +msgid "To activate the plugin, insert the LoginRadius API Key & Secret" +msgstr "API от LoginRadius" + +#: ../LoginRadius_admin.php:327 +msgid "(How to get it?)" +msgstr "(Как его получить?)" + +#: ../LoginRadius_admin.php:332 +msgid "API Key" +msgstr "API Key" + +#: ../LoginRadius_admin.php:337 +msgid "API Secret" +msgstr "API Ñекретно" + +#: ../LoginRadius_admin.php:340 +#, fuzzy +msgid "Verify API Settings" +msgstr "наÑтройки" + +#: ../LoginRadius_admin.php:351 +#, fuzzy +msgid "Social Login Interface Settings" +msgstr "Показать иконки на" + +#: ../LoginRadius_admin.php:355 +#, fuzzy +msgid "What text should be displayed above the Social Login interface? Leave blank if you do not want any text to be displayed" +msgstr "Какой текÑÑ‚ вы хотите, чтобы отобразить над Ñоциальным интерфейÑом Логин (оÑтавьте пуÑтым без текÑта)?" + +#: ../LoginRadius_admin.php:356 +msgid "Login with Social ID" +msgstr "Войти Ñ Ñоциал-ID" + +#: ../LoginRadius_admin.php:363 +#, fuzzy +msgid "Do you want to show the Social Login interface on your WordPress login page?" +msgstr "где показывать Ñоциальные иконки" + +#: ../LoginRadius_admin.php:365 +#: ../LoginRadius_admin.php:379 +#: ../LoginRadius_admin.php:692 +#: ../LoginRadius_admin.php:737 +#: ../LoginRadius_admin.php:768 +#: ../LoginRadius_admin.php:900 +msgid "Yes" +msgstr "Да" + +#: ../LoginRadius_admin.php:368 +#: ../LoginRadius_admin.php:381 +#: ../LoginRadius_admin.php:694 +#: ../LoginRadius_admin.php:739 +#: ../LoginRadius_admin.php:770 +#: ../LoginRadius_admin.php:902 +msgid "No" +msgstr "Ðет" + +#: ../LoginRadius_admin.php:376 +#, fuzzy +msgid "Do you want to show Social Login interface on your WordPress registration page?" +msgstr "где показывать Ñоциальные иконки" + +#: ../LoginRadius_admin.php:389 +#, fuzzy +msgid "If Yes, how do you want the Social Login interface to be shown on your wordpress registration page?" +msgstr "ЕÑли да, то как вы хотите, ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð’Ñ…Ð¾Ð´ будет показано на Ñтранице региÑтрации WordPress?" + +#: ../LoginRadius_admin.php:391 +#, fuzzy +msgid "Show it below the registration form" +msgstr "Показать на региÑтрационную форму" + +#: ../LoginRadius_admin.php:392 +#, fuzzy +msgid "Show it beside the registration form" +msgstr "Показать на региÑтрационную форму" + +#: ../LoginRadius_admin.php:400 +#, fuzzy +msgid "Social Login Interface Customization" +msgstr "Показать иконки на" + +#: ../LoginRadius_admin.php:404 +#, fuzzy +msgid "Select the icon size to use in the Social Login interface" +msgstr "где показывать Ñоциальные иконки" + +#: ../LoginRadius_admin.php:406 +msgid "Medium" +msgstr "Ñреда" + +#: ../LoginRadius_admin.php:409 +msgid "Small" +msgstr "небольшой" + +#: ../LoginRadius_admin.php:416 +msgid "How many social icons would you like to be displayed per row?" +msgstr "Как многие Ñоциальные иконки бы вы хотели проÑмотреть в Ñтроке?" + +#: ../LoginRadius_admin.php:423 +msgid "What background color would you like to use for the Social Login interface?" +msgstr "Какой цвет фона вы хотели бы иÑпользовать Ð´Ð»Ñ Ñоциальных интерфейÑа Логин?" + +#: ../LoginRadius_admin.php:423 +msgid "Leave empty for transparent. You can enter hexa-decimal code of the color as well as name of the color." +msgstr "ОÑтавьте пуÑтым Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð·Ñ€Ð°Ñ‡Ð½Ð¾Ð¹. Ð’Ñ‹ можете войти, гекÑа-деÑÑтичный код цвета, а также название цвета." + +#: ../LoginRadius_admin.php:433 +msgid "User Email Settings" +msgstr "ÐаÑтройки Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ E-mail" + +#: ../LoginRadius_admin.php:439 +#, fuzzy +msgid "Do you want to send emails to users with their username and password post-registration?" +msgstr "Ð’Ñ‹ хотите, чтобы отправлÑÑ‚ÑŒ пиÑьма пользователÑм поÑле региÑтрации их Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль подробноÑти?" + +#: ../LoginRadius_admin.php:448 +#, fuzzy +msgid "YES, send an email to users after registration" +msgstr "Выберите Да, еÑли вы бы хотели, чтобы отправить по Ñлектронной почте пользователь поÑле региÑÑ‚Ñ€." + +#: ../LoginRadius_admin.php:449 +#, fuzzy +msgid "NO, do not send email to users after registration" +msgstr "Выберите Да, еÑли вы бы хотели, чтобы отправить по Ñлектронной почте пользователь поÑле региÑÑ‚Ñ€." + +#: ../LoginRadius_admin.php:456 +#, fuzzy +msgid "A few ID Providers do not supply users' e-mail IDs as part of the user profile data they provide. Do you want to prompt users to provide their email IDs before completing registration process if it is not provided by the ID Provider?" +msgstr "ÐеÑколько поÑтавщиков ID не предоÑтавлÑÑŽÑ‚ пользователÑм Ñлектронной почты идентификаторы как чаÑÑ‚ÑŒ данных Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ. Ð’Ñ‹ хотите, чтобы пользователи предоÑтавлÑÑŽÑ‚ Ñвои идентификаторы Ñлектронной почты до Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑа региÑтрации?" + +#: ../LoginRadius_admin.php:465 +#, fuzzy +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "Да, получить реальные идентификаторы Ñлектронной почты от пользователей (Ask пользователÑм вводить их Ñлектронной почты идентификаторы в вÑплывающем)" + +#: ../LoginRadius_admin.php:466 +#, fuzzy +msgid "NO, just auto-generate random email IDs for users" +msgstr "Ðет, проÑто автоматичеÑки генерировать Ñлучайные идентификаторы Ñлектронной почты Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹" + +#: ../LoginRadius_admin.php:474 +#, fuzzy +msgid "Please enter the message to be displayed to the user in the pop-up asking for their email address" +msgstr "ПожалуйÑта, введите Ñообщение, которое будет показано пользователю в вÑплывающем проÑÑÑ‚ Ñлектронной почте" + +#: ../LoginRadius_admin.php:476 +#, fuzzy +msgid "Unfortunately, the ID Provider did not provided your email address. Please enter your email to proceed" +msgstr "К Ñожалению, ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð½Ðµ предоÑтавлена ​​ваш Ñлектронный адреÑ. Введите Ð°Ð´Ñ€ÐµÑ Ñлектронной приÑтупить" + +#: ../LoginRadius_admin.php:483 +#, fuzzy +msgid "Please enter the message to be shown to the user in case of an invalid or already registered email" +msgstr "ПожалуйÑта, введите Ñообщение, которое будет показано пользователю в Ñлучае недейÑтвительных или Ñлектронной почты уже зарегиÑтрирован" + +#: ../LoginRadius_admin.php:485 +#, fuzzy +msgid "The email you have entered is either already registered or invalid. Please enter a valid email address." +msgstr "Этот Ð°Ð´Ñ€ÐµÑ ÑƒÐ¶Ðµ зарегиÑтрирован или недейÑтвительным, пожалуйÑта, выберите другой." + +#: ../LoginRadius_admin.php:493 +#, fuzzy +msgid "Redirection Settings" +msgstr "ÐаÑтройка перенаправлениÑ" + +#: ../LoginRadius_admin.php:499 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "ЕÑли вы хотите, чтобы перенаправить пользователей поÑле уÑпешного входа в ÑиÑтему?" + +#: ../LoginRadius_admin.php:514 +#, fuzzy +msgid "Redirect to the same page where the user logged in" +msgstr "Перенаправление на главную Ñтраницу блога." + +#: ../LoginRadius_admin.php:514 +#: ../LoginRadius_admin.php:549 +msgid "Default" +msgstr "По Умолчанию" + +#: ../LoginRadius_admin.php:515 +#, fuzzy +msgid "Redirect to homepage of your WP site" +msgstr "Перенаправление на главную Ñтраницу блога." + +#: ../LoginRadius_admin.php:517 +msgid "Redirect to account dashboard" +msgstr "Перенаправление на Ñтраницу приборной панели" + +#: ../LoginRadius_admin.php:522 +#, fuzzy +msgid "Redirect to Buddypress profile page" +msgstr "Перенаправление на главную Ñтраницу блога." + +#: ../LoginRadius_admin.php:527 +#: ../LoginRadius_admin.php:551 +#, fuzzy +msgid "Redirect to Custom URL:" +msgstr "Перенаправление на Ñледующий адреÑ:" + +#: ../LoginRadius_admin.php:536 +msgid "Where do you want to redirect your users after successfully logging out?" +msgstr "ЕÑли вы хотите, чтобы перенаправить пользователей поÑле уÑпешного выхода из ÑиÑтемы?" + +#: ../LoginRadius_admin.php:538 +#, fuzzy +msgid "Note: Logout function works only when clicking 'logout' in the social login widget area. In all other cases, WordPress's default logout function will be applied." +msgstr "Примечание: Выход Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ð°ÐµÑ‚ только при нажатии на выход в Ñоциальной Ñфере виджет входа в ÑиÑтему. Во вÑех других ÑлучаÑÑ…, WordPress по умолчанию выход функции будет применÑÑ‚ÑŒÑÑ." + +#: ../LoginRadius_admin.php:549 +#, fuzzy +msgid "Redirect to the homepage" +msgstr "Перенаправление на главную Ñтраницу блога." + +#: ../LoginRadius_admin.php:561 +#, fuzzy +msgid "User Settings" +msgstr "наÑтройки" + +#: ../LoginRadius_admin.php:567 +msgid "Do you want to allow new users to register through Social Login?" +msgstr "Ð’Ñ‹ хотите, чтобы позволить новым пользователÑм региÑтрироватьÑÑ Ñ‡ÐµÑ€ÐµÐ· Ñоциальные Логин?" + +#: ../LoginRadius_admin.php:569 +msgid "YES, allow new users to register through Social Login" +msgstr "Да, разрешить новым пользователÑм региÑтрироватьÑÑ Ñ‡ÐµÑ€ÐµÐ· Ñоциальные Логин" + +#: ../LoginRadius_admin.php:570 +msgid "NO, do not allow new users to register through Social Login" +msgstr "Ðет, не позволÑÑŽÑ‚ новым пользователÑм региÑтрироватьÑÑ Ñ‡ÐµÑ€ÐµÐ· Ñоциальные Логин" + +#: ../LoginRadius_admin.php:571 +msgid "New users will not be able to login through Social Login" +msgstr "Ðовые пользователи не Ñмогут войти через Ñоциальные Логин" + +#: ../LoginRadius_admin.php:579 +msgid "Do you want to display the social network that the user connected with, in the user list" +msgstr "Ð’Ñ‹ хотите, чтобы отобразить Ñоциальные Ñети, которые пользователь ÑвÑзан, в ÑпиÑке пользователей" + +#: ../LoginRadius_admin.php:581 +msgid "YES, display the social network that the user connected with, in the user list" +msgstr "Да, отображение Ñоциальной Ñети, пользователь ÑвÑзан, в ÑпиÑке пользователей" + +#: ../LoginRadius_admin.php:582 +msgid "NO, do not display the social network that the user connected with, in the user list" +msgstr "Ðет, не отображают Ñоциальные Ñети, которые пользователь ÑвÑзан, в ÑпиÑке пользователей" + +#: ../LoginRadius_admin.php:589 +#, fuzzy +msgid "Do you want to automatically link your existing users' accounts to their social accounts if their WP account email address matches the email address associated with their social account?" +msgstr "Ð’Ñ‹ хотите, чтобы ваши ÑущеÑтвующие учетные запиÑи пользователей WP автоматичеÑки ÑвÑзывать их Ñоциальной ответÑтвенноÑти в Ñлучае Ñлектронной почты ID матчей Ñ Ð¸Ñ… Ñоциальным ID учетной запиÑи Ñлектронной почты?" + +#: ../LoginRadius_admin.php:591 +msgid "YES, automatically link social accounts to WP accounts" +msgstr "Да, автоматичеÑки ÑвÑзывать Ñоциальные Ñчета WP Ñчетов" + +#: ../LoginRadius_admin.php:593 +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "ÐЕТ, Ñ Ñ…Ð¾Ñ‡Ñƒ, чтобы мои ÑущеÑтвующих пользователей, чтобы продолжить иÑпользование родного вход WP" + +#: ../LoginRadius_admin.php:603 +msgid "Do you want to apply the same changes when you update plugin settings in the main blog of multisite network?" +msgstr "Ð’Ñ‹ хотите, чтобы применÑÑ‚ÑŒ те же Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ обновлении наÑтроек плагина в главном блоге Ñети многоузлового?" + +#: ../LoginRadius_admin.php:604 +msgid "YES, apply the same changes to plugin settings of each blog in the multisite network when I update plugin settings." +msgstr "Да, применÑÑŽÑ‚ÑÑ Ñ‚Ð°ÐºÐ¸Ðµ же Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² наÑтройках плагина каждого блога в Ñети многоузловое, когда Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑŽ наÑтройках плагина." + +#: ../LoginRadius_admin.php:605 +msgid "NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "Ðет, не применÑÑ‚ÑŒ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² других блогах, когда Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑŽ наÑтройках плагина." + +#: ../LoginRadius_admin.php:622 +#, fuzzy +msgid "Do you want to let users use their social profile picture as an avatar on your website?" +msgstr "Ð’Ñ‹ хотите, чтобы ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¡Ñ‡ÐµÑ‚Ñ‡Ð¸Ðº Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта?" + +#: ../LoginRadius_admin.php:623 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "Да, позволÑющие пользователÑм иÑпользовать Ñвой Ñоциальный профиль Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² качеÑтве аватара" + +#: ../LoginRadius_admin.php:624 +#, fuzzy +msgid "NO, use default avatars" +msgstr "ИÑпользовать параметры по умолчанию аватара" + +#: ../LoginRadius_admin.php:632 +msgid "User Membership Control" +msgstr "Контроль учетных членÑтва" + +#: ../LoginRadius_admin.php:638 +msgid "Do you want to control user activation/deactivation?" +msgstr "Ð’Ñ‹ хотите, чтобы управлÑÑ‚ÑŒ активацией пользователей / деактивации?" + +#: ../LoginRadius_admin.php:639 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "Ð’Ñ‹ можете включить / отключить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‚ ÑтатуÑа колонке на Ñтранице Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² админ" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "YES, display activate/deactivate option in the " +msgstr "Да, отображение Ñоциальной Ñети, пользователь ÑвÑзан, в ÑпиÑке пользователей" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "User list" +msgstr "наÑтройки" + +#: ../LoginRadius_admin.php:642 +#: ../LoginRadius_admin.php:672 +msgid "NO" +msgstr "нет" + +#: ../LoginRadius_admin.php:650 +msgid "What would you like to set as the default status of the user when he/she registers to your website?" +msgstr "Что бы Ð’Ñ‹ хотели уÑтановить в качеÑтве оÑновного ÑтатуÑа пользователÑ, когда он / она региÑтрируетÑÑ Ð½Ð° ваш Ñайт?" + +#: ../LoginRadius_admin.php:652 +msgid "Active" +msgstr "активный" + +#: ../LoginRadius_admin.php:653 +msgid "Inactive" +msgstr "неактивный" + +#: ../LoginRadius_admin.php:662 +msgid "User Profile Data Options" +msgstr "Профиль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÐŸÐ°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ‹ данных" + +#: ../LoginRadius_admin.php:668 +msgid "Do you want to update User Profile Data in your Wordpress database, every time user logs into your website?" +msgstr "Ð’Ñ‹ хотите обновить данные Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² базе данных WordPress, каждый раз, когда пользователь входит в Ñвой ​​веб-Ñайт?" + +#: ../LoginRadius_admin.php:669 +msgid "If you disable this option, user profile data will be saved only once when user logs in first time at your website, user profile details will not be updated in your Wordpress database, even if user changes his/her social account details." +msgstr "ЕÑли вы отключите Ñту опцию, данные профилей пользователей будут Ñохранены только один раз, когда пользователь входит в ÑиÑтему первый раз на вашем Ñайте, подробноÑти профиль не будет обновлÑÑ‚ÑŒÑÑ Ð² вашей базе данных Wordpress, даже еÑли пользователь не изменит его / ее Ñоциальные Ñчета." + +#: ../LoginRadius_admin.php:671 +#: ../LoginRadius_admin.php:717 +msgid "YES" +msgstr "ДÐ" + +#: ../LoginRadius_admin.php:683 +#, fuzzy +msgid "Social Commenting Settings" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:689 +msgid "Do you want to enable Social Commenting for your website" +msgstr "Ð’Ñ‹ хотите, чтобы ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ ÐšÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð¸Ñ€ÑƒÑ Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта" + +#: ../LoginRadius_admin.php:701 +#, fuzzy +msgid "Where do you want to display the Social login interface on the commenting form?" +msgstr "как вы хотите, ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð’Ð¾Ð¹Ñ‚Ð¸, чтобы поÑвитьÑÑ Ð½Ð° комментирование" + +#: ../LoginRadius_admin.php:704 +msgid "At the very top of the comment form" +msgstr "Ð’ Ñамой верхней чаÑти формы комментариÑ" + +#: ../LoginRadius_admin.php:705 +msgid "After the 'Leave a Reply' caption" +msgstr "ПоÑле \"ОÑтавить комментарий\" подпиÑÑŒ" + +#: ../LoginRadius_admin.php:706 +msgid "Before the comment form input fields" +msgstr "Перед комментарий полей формы ввода" + +#: ../LoginRadius_admin.php:707 +#, fuzzy +msgid "Before the comment box" +msgstr "Перед Ñодержанием виджета:" + +#: ../LoginRadius_admin.php:715 +#, fuzzy +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "ÐвтоматичеÑки утверждать Ð·Ð°Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ñоциальных входа" + +#: ../LoginRadius_admin.php:718 +#, fuzzy +msgid "NO, I want to approve the comments per my discretion" +msgstr "Ðет, Ñ Ñ…Ð¾Ñ‡Ñƒ, чтобы утвердить комментарии, как в мое уÑмотрение" + +#: ../LoginRadius_admin.php:728 +#, fuzzy +msgid "Basic Social Sharing Settings" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:734 +msgid "Do you want to enable Social Sharing for your website" +msgstr "Ð’Ñ‹ хотите, чтобы включить Ñоциальной Ñети Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта" + +#: ../LoginRadius_admin.php:747 +#, fuzzy +msgid "Social Sharing Theme Selection" +msgstr "МеÑто Ñоциальной Share" + +#: ../LoginRadius_admin.php:753 +#, fuzzy +msgid "What Social Sharing widget theme would you like to use across your website? (Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "Что ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚ÐµÐ¼Ð° виджетов Ñети вы хотите иÑпользовать на вашем Ñайте?" + +#: ../LoginRadius_admin.php:765 +#, fuzzy +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "Ð’Ñ‹ хотите, чтобы включить Ñоциальной Ñети Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта" + +#: ../LoginRadius_admin.php:774 +#, fuzzy +msgid "Choose a Sharing theme" +msgstr "Выберите обмена тему" + +#: ../LoginRadius_admin.php:833 +#, fuzzy +msgid "Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "Этот текÑÑ‚ отображаетÑÑ Ð½Ð°Ð´ кнопкой Ñоциального входа." + +#: ../LoginRadius_admin.php:835 +#, fuzzy +msgid "Share it now!" +msgstr "Отправить ÑейчаÑ" + +#: ../LoginRadius_admin.php:840 +#: ../LoginRadius_admin.php:950 +msgid "What Sharing Networks do you want to show in the sharing widget? (All other sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "Что Ñетей обмена вы хотите показать в обмен виджет? (Ð’Ñе другие Ñети обмена будет показана как чаÑÑ‚ÑŒ LoginRadius значок обмен)" + +#: ../LoginRadius_admin.php:842 +#: ../LoginRadius_admin.php:952 +msgid "You can select only nine providers" +msgstr "Ð’Ñ‹ можете выбрать только девÑÑ‚ÑŒ поÑтавщиков" + +#: ../LoginRadius_admin.php:851 +#: ../LoginRadius_admin.php:961 +#, fuzzy +msgid "In what order do you want your sharing networks listed?" +msgstr "Каков порÑдок обмена Ñети вы предпочитаете Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ обмена виджет?" + +#: ../LoginRadius_admin.php:871 +#, fuzzy +msgid "Select the position of the Social sharing interface" +msgstr "где показывать Ñоциальные иконки" + +#: ../LoginRadius_admin.php:873 +msgid "Show at the top of content" +msgstr "Показать в верхней чаÑти ÑодержаниÑ" + +#: ../LoginRadius_admin.php:874 +msgid "Show at the bottom of content" +msgstr "Показать в нижней чаÑти ÑодержаниÑ" + +#: ../LoginRadius_admin.php:877 +#: ../LoginRadius_admin.php:1004 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "Какой район (Ñ‹) Ð’Ñ‹ хотите, чтобы показать Ñоциальные виджеты обмена?" + +#: ../LoginRadius_admin.php:879 +#: ../LoginRadius_admin.php:1006 +#, fuzzy +msgid "Show on homepage" +msgstr "Показать на комментарий форме" + +#: ../LoginRadius_admin.php:880 +#: ../LoginRadius_admin.php:1007 +#, fuzzy +msgid "Show on posts" +msgstr "Показать на комментарий форме" + +#: ../LoginRadius_admin.php:882 +#: ../LoginRadius_admin.php:1009 +#, fuzzy +msgid "Show on pages" +msgstr "Показать на Ñтраницы" + +#: ../LoginRadius_admin.php:883 +#: ../LoginRadius_admin.php:1010 +#, fuzzy +msgid "Show on post excerpts " +msgstr "Показать на региÑтрационную форму" + +#: ../LoginRadius_admin.php:884 +#: ../LoginRadius_admin.php:1011 +#, fuzzy +msgid "Show on archive pages" +msgstr "Показать на Ñтраницах архивов" + +#: ../LoginRadius_admin.php:886 +#: ../LoginRadius_admin.php:1013 +#, fuzzy +msgid "Show on feed" +msgstr "Показать на корм" + +#: ../LoginRadius_admin.php:897 +#, fuzzy +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "Ð’Ñ‹ хотите, чтобы включить Ñоциальной Ñети Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта" + +#: ../LoginRadius_admin.php:906 +msgid "Choose a sharing theme" +msgstr "Выберите обмена тему" + +#: ../LoginRadius_admin.php:981 +#, fuzzy +msgid "Select the position of the Social Sharing widget" +msgstr "Выберите положение Ñоциальных виджетов Ñети" + +#: ../LoginRadius_admin.php:997 +msgid "Specify distance of vertical sharing interface from top (Leave empty for default behaviour)" +msgstr "Укажите раÑÑтоÑние вертикальной Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° Ñверху (оÑтавьте пуÑтым поведение по умолчанию)" + +#: ../LoginRadius_admin.php:998 +msgid "Enter a number (For example - 200). It will set the 'top' CSS attribute of the interface to the value specified. Increase in the number pushes interface towards bottom." +msgstr "Введите чиÑло (например - 200). Он будет уÑтанавливать «главного» CSS атрибут интерфейÑа Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ значениÑ. Увеличение чиÑла толкает интерфейÑа движением вниз." + +#: ../LoginRadius_admin.php:1059 +msgid "Save Changes" +msgstr "Сохронить изменениÑ." + +#: ../LoginRadius_admin.php:1060 +msgid "Preview" +msgstr "предварительный проÑмотр" + +#: ../LoginRadius_function.php:150 +msgid "Log Out" +msgstr "Выйти" + +#: ../LoginRadius_function.php:548 +msgid "This account is already mapped" +msgstr "Эта ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ уже ÑопоÑтавлен" + +#: ../LoginRadius_function.php:551 +msgid "Account mapped successfully" +msgstr "Счет отображаетÑÑ ÑƒÑпешно" + +#: ../LoginRadius_function.php:556 +msgid "Link your account" +msgstr "СвÑжите Ñвой аккаунт" + +#: ../LoginRadius_function.php:560 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "Путем Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ учетной запиÑи, вы можете войти в ÑиÑтему Ñ Ð½Ð¾Ð²Ð¾Ð¹ учетной запиÑью, как хорошо!" + +#: ../LoginRadius_function.php:665 +#: ../LoginRadius_function.php:688 +msgid "Connected with" +msgstr "СвÑзанные Ñ" + +#: ../LoginRadius_function.php:669 +#: ../LoginRadius_function.php:692 +msgid "Remove" +msgstr "удаление" + +#: ../LoginRadius_function.php:771 +#, fuzzy +msgid "Please wait" +msgstr "ПожалуйÑта, Войти Ñ" + +#: ../LoginRadius_function.php:783 +#: ../LoginRadius_function.php:788 +msgid "Active (Click to Disable)" +msgstr "Ðктивное (Ðажмите, чтобы отключить)" + +#: ../LoginRadius_function.php:785 +msgid "Inactive (Click to Enable)" +msgstr "Ðеактивные (Ðажмите, чтобы включить)" + +#: ../LoginRadius_function.php:792 +msgid "Unexpected error occurred" +msgstr "ÐÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°" + +#: ../LoginRadius_widget.php:10 +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Войти или зарегиÑтрироватьÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Facebook, Twitter, Yahoo, Google и многие другие Ñоциальные Ñайты." + +#: ../LoginRadius_widget.php:62 +#: ../LoginRadius_widget.php:135 +#: ../LoginRadius_widget.php:208 +msgid "Title:" +msgstr "Ðазвание." + +#: ../LoginRadius_widget.php:64 +#: ../LoginRadius_widget.php:137 +#: ../LoginRadius_widget.php:210 +msgid "Before widget content:" +msgstr "Перед Ñодержанием виджета:" + +#: ../LoginRadius_widget.php:66 +#: ../LoginRadius_widget.php:139 +#: ../LoginRadius_widget.php:212 +msgid "After widget content:" +msgstr "ПоÑле ÑÐ¾Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ Ð²Ð¸Ð´Ð¶ÐµÑ‚Ð°:" + +#: ../LoginRadius_widget.php:68 +#: ../LoginRadius_widget.php:141 +#: ../LoginRadius_widget.php:214 +msgid "Hide for logged in users:" +msgstr "Скрыть от пользователей вошедших в ÑиÑтему:" + +#: ../LoginRadius_widget.php:83 +#: ../LoginRadius_widget.php:156 +#, fuzzy +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "Войти или зарегиÑтрироватьÑÑ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Facebook, Twitter, Yahoo, Google и многие другие Ñоциальные Ñайты." + +#, fuzzy +#~ msgid "Set up my FREE account!" +#~ msgstr "Создайте Ñвой БЕСПЛÐТÐЫЙ аккаунт!" + +#, fuzzy +#~ msgid "Disable Social Counter on this " +#~ msgstr "Включение Ñоциальных Счетчик" + +#, fuzzy +#~ msgid "Support Documentations" +#~ msgstr "документациÑ" + +#, fuzzy +#~ msgid "Social Counter" +#~ msgstr "МеÑто Ñоциальной Share" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Выберите тему виджет Ñоциальной Ñети будут показаны в верхней чаÑти " +#~ "ÑодержаниÑ" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Выберите тему виджет Ñоциальной Ñети будут показаны в нижней чаÑти " +#~ "ÑодержаниÑ" + +#, fuzzy +#~ msgid "Social Sharing Widget Position" +#~ msgstr "Социального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Share" + +#, fuzzy +#~ msgid "Basic Social Counter Settings" +#~ msgstr "МеÑто Ñоциальной Share" + +#~ msgid "Do you want to enable Social Counter for your website?" +#~ msgstr "Ð’Ñ‹ хотите, чтобы ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð¡Ñ‡ÐµÑ‚Ñ‡Ð¸Ðº Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта?" + +#, fuzzy +#~ msgid "" +#~ "Enter the text that you wish to be displayed above the Social Counter " +#~ "Interface. Leave the field blank if you don't want any text to be " +#~ "displayed" +#~ msgstr "Этот текÑÑ‚ отображаетÑÑ Ð½Ð°Ð´ кнопкой Ñоциального входа." + +#, fuzzy +#~ msgid "Be a fan" +#~ msgstr "Быть фанатом!" + +#, fuzzy +#~ msgid "Social Counter Theme Selection" +#~ msgstr "МеÑто Ñоциальной Share" + +#, fuzzy +#~ msgid "" +#~ "What Social Counter widget theme would you like to use across your " +#~ "website?" +#~ msgstr "" +#~ "Что Ñоциальным Счетчик тему виджет вы хотите иÑпользовать на вашем Ñайте?" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the top of the content" +#~ msgstr "" +#~ "Выберите Ñоциальной Счетчик тему виджет будет отображатьÑÑ Ð² верхней " +#~ "чаÑти ÑодержаниÑ" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "" +#~ "Выберите Ñоциальной Счетчик тему виджет будет отображатьÑÑ Ð² нижней чаÑти " +#~ "ÑодержаниÑ" + +#~ msgid "Choose a counter theme" +#~ msgstr "Выберите Ñчетчик тему" + +#~ msgid "What Counter Networks do you want to show in the counter widget?" +#~ msgstr "Что Счетчик Сети вы хотите показать в Ñчетчике виджет?" + +#, fuzzy +#~ msgid "Social Counter Widget Position" +#~ msgstr "Социального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Share" + +#, fuzzy +#~ msgid "Select the position of the Social Counter widget" +#~ msgstr "Выберите положение Ñоциальных Counter Widget" + +#~ msgid "" +#~ "Specify distance of vertical counter interface from top (Leave empty for " +#~ "default behaviour)" +#~ msgstr "" +#~ "Укажите раÑÑтоÑние вертикального Ñчетчика Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñверху (оÑтавьте " +#~ "пуÑтым поведение по умолчанию)" + +#, fuzzy +#~ msgid "Select the position of Social counter interface" +#~ msgstr "где показывать Ñоциальные иконки" + +#~ msgid "What area(s) do you want to show the social counter widget?" +#~ msgstr "" +#~ "Какой район (Ñ‹) Ð’Ñ‹ хотите, чтобы показать Ñоциальные виджеты Ñчетчик?" + +#~ msgid "Get your fan counts all over the social networks." +#~ msgstr "Получите ваш поклонник Ñчитает вÑе более Ñоциальным ÑетÑм." + +#~ msgid "" +#~ "Currently service is not available and we are working on a fix for it." +#~ msgstr "" +#~ "Ð’ наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ ÑƒÑлуга не предоÑтавлÑетÑÑ, и мы работаем над решением " +#~ "Ñтого." + +#~ msgid "" +#~ "Embed it in registration form and show it below the registration form" +#~ msgstr "" +#~ "ПомеÑтите его в региÑтрационную форму и показать ее ниже региÑтрационную " +#~ "форму" + +#, fuzzy +#~ msgid "Redirect to the Custom URL:" +#~ msgstr "Перенаправление на Ñледующий адреÑ:" + +#, fuzzy +#~ msgid "" +#~ "YES, Link existing WP user accounts to user social account if email ID " +#~ "matches" +#~ msgstr "" +#~ "СÑылка ÑущеÑтвующих пользователей WordPress Ñчета Ñоциального вход (еÑли " +#~ "еÑÑ‚ÑŒ)" + +#, fuzzy +#~ msgid "NO, Do not Link existing WP user accounts to user social account" +#~ msgstr "" +#~ "СÑылка ÑущеÑтвующих пользователей WordPress Ñчета Ñоциального вход (еÑли " +#~ "еÑÑ‚ÑŒ)" + +#~ msgid "" +#~ "Social Network provides User avatar image as profile data, do you want to " +#~ "show User Social profile image as avatar for your website?" +#~ msgstr "" +#~ "Ð¡Ð¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñеть предоÑтавлÑет Ðватара Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² профиле данных, вы " +#~ "хотите показать пользователей Ñоциальных изображение Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ Ð² качеÑтве " +#~ "аватара Ð´Ð»Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ Ñайта?" + +#, fuzzy +#~ msgid "" +#~ "YES, use user social profile image or avatar (if provided by ID Provider)" +#~ msgstr "" +#~ "ИÑпользование Ñоциальных аватара поÑтавщика уÑлуг (еÑли обеÑпечивать)" + +#~ msgid "" +#~ "You can customize the settings for your plugin on this page, though you " +#~ "will have to choose your desired ID providers and get your unique" +#~ msgstr "" +#~ "Ð’Ñ‹ можете наÑтроить параметры Ð´Ð»Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° на Ñтой Ñтранице, Ñ…Ð¾Ñ‚Ñ Ð²Ñ‹ " +#~ "должны будете выбрать желаемый Ñоциальный Ñайт и получить Ñвой уникальный " +#~ "ключ" + +#, fuzzy +#~ msgid "from your" +#~ msgstr "Создайте Ñвой БЕСПЛÐТÐЫЙ аккаунт!" + +#~ msgid " account at" +#~ msgstr "Ñчет в" + +#~ msgid "" +#~ "There you can also customize your login interface with different login " +#~ "themes and icon sets. By using LoginRadius, the profile data of each user " +#~ "who logs in via social login will be saved to your WordPress database." +#~ msgstr "" +#~ "Там вы также можете наÑтроить Ñвой ​​логин Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñ Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ñ‹Ð¼Ð¸ темами " +#~ "логин и наборы иконок. При иÑпользовании LoginRadius, данные Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ñ " +#~ "каждого пользователÑ, который входит в ÑиÑтему через Ñоциальные логин " +#~ "будет Ñохранен в базе данных WordPress." + +#, fuzzy +#~ msgid "" +#~ "is a technology startup based in Canada that offers social login through " +#~ "popular ID providers such as Facebook Twitter Google LinkedIn and over 15 " +#~ "more as well as social sharing on over 80 networks. For tech support or " +#~ "if you have any questions please contact us at" +#~ msgstr "" +#~ "ÐšÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð² Северной Ðмерике предлагает технологию, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ " +#~ "позволÑет доÑтуп в ваш Ñайт иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð°ÐºÐºÐ°Ð½Ñ‚Ñ‹ популÑрных Ñоциальных " +#~ "Ñетей, такие как Facebook, Twitter, Google и более 15 других! Ð”Ð»Ñ " +#~ "техничеÑкой поддержки и других вопроÑов, пожалуйÑта, ÑвÑжитеÑÑŒ Ñ Ð½Ð°Ð¼Ð¸ по " +#~ "Ñлектронной почте" + +#~ msgid "We are available 24/7 to assist our clients!" +#~ msgstr "Ðаша поддержка работает круглоÑуточно 24 / 7." + +#~ msgid "Plugin Help" +#~ msgstr "Справка модулÑ" + +#, fuzzy +#~ msgid "Live Demo (Wordpress)" +#~ msgstr "Ð–Ð¸Ð²Ð°Ñ Ñайт Demo" + +#, fuzzy +#~ msgid "Live Demo (BuddyPress)" +#~ msgstr "Ð–Ð¸Ð²Ð°Ñ Ñайт Demo" + +#, fuzzy +#~ msgid "Live Demo (bbPress)" +#~ msgstr "Ð–Ð¸Ð²Ð°Ñ Ñайт Demo" + +#~ msgid "Other AddOns" +#~ msgstr "Дополнительные уÑлуги" + +#~ msgid "LoginRadius Blog" +#~ msgstr "LoginRadius блог" + +#, fuzzy +#~ msgid "WP Social Login Support" +#~ msgstr "МеÑто Ñоциальной Share" + +#, fuzzy +#~ msgid "Contact LoginRadius" +#~ msgstr "Блог LoginRadius" + +#, fuzzy +#~ msgid "Social Share & Counter" +#~ msgstr "Социального Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Share" + +#~ msgid "LoginRadius Login & Redirection Settings" +#~ msgstr "Вход LoginRadius и параметры перенаправлениÑ" + +#, fuzzy +#~ msgid "Show on Login Page" +#~ msgstr "Показать на Вход в ÑиÑтему" + +#, fuzzy +#~ msgid "Embed in Login Form" +#~ msgstr "Показать на Вход в ÑиÑтему" + +#, fuzzy +#~ msgid "Show Beside Login Form" +#~ msgstr "Показать на Вход в ÑиÑтему" + +#, fuzzy +#~ msgid "Show on Register Page" +#~ msgstr "Показать на региÑтрационную форму" + +#, fuzzy +#~ msgid "Embed in Register Form" +#~ msgstr "Показать на региÑтрационную форму" + +#, fuzzy +#~ msgid "Social Linking" +#~ msgstr "МеÑто Ñоциальной Share" + +#~ msgid "Show Social Avatar" +#~ msgstr "Показать Ñоциальной Ðватара" + +#, fuzzy +#~ msgid "Show social provider avatar image" +#~ msgstr "Ñоциальный образ аватара поÑтавщик на комментарий" + +#~ msgid "Redirect user After login" +#~ msgstr "Перенаправление пользователей поÑле входа" + +#~ msgid "Redirect to Same Page of blog" +#~ msgstr "Перенаправление на ту же Ñамую Ñтраницу блога." + +#, fuzzy +#~ msgid "Logout Redirection Setting" +#~ msgstr "ÐаÑтройка перенаправлениÑ" + +#, fuzzy +#~ msgid "Redirect user After logout" +#~ msgstr "Перенаправление пользователей поÑле входа" + +#~ msgid "(Only for Login Radius widget area)" +#~ msgstr "(Только Ð´Ð»Ñ Ð’Ñ…Ð¾Ð´ в ÑиÑтему виджетов Radius)" + +#, fuzzy +#~ msgid "Redirect to Home Page of blog" +#~ msgstr "Перенаправление на ту же Ñамую Ñтраницу блога." + +#~ msgid "To Communicate with API" +#~ msgstr "Ð”Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð° данными Ñ API" + +#~ msgid "Use cURL (Require cURL support = enabled in your php.ini settings)" +#~ msgstr "" +#~ "ИÑпользовать cURL (требуетÑÑ cURL support = enabled в наÑтройках php.ini)" + +#~ msgid "" +#~ "Use FSOCKOPEN (Require allow_url_fopen = On and safemode = off in your " +#~ "php.ini settings)" +#~ msgstr "" +#~ "ИÑпользуйте FSOCKOPEN (Требовать allow_url_fopen = On и safemode = off в " +#~ "наÑтройках php.ini)" + +#~ msgid "LoginRadius Basic Settings" +#~ msgstr "ОÑновные ÐаÑтройки LoginRadius." + +#~ msgid "Title" +#~ msgstr "Ðазвание." + +#~ msgid "Send Email" +#~ msgstr "Отправить по почте" + +#, fuzzy +#~ msgid "After user registration" +#~ msgstr "ПоÑле региÑтрации пользователь" + +#~ msgid "Email Required" +#~ msgstr "Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ ÐŸÐ¾Ñ‡Ñ‚Ð° ОбÑзательна." + +#, fuzzy +#~ msgid "" +#~ "A few ID provider does not provide user's Email ID. Select YES if you " +#~ "would like an email pop-up after login or select NO if you would like to " +#~ "auto-generate the email address." +#~ msgstr "" +#~ "Ðекоторые провайдеры Логинов не обеÑпечивают Логин Электронной Почты " +#~ "пользователÑ. Выберите ДÐ, еÑли вы хотите чтобы ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° " +#~ "отображалаÑÑŒ поÑле Логина или выберите ÐЕТ, еÑли вы хотите чтобы " +#~ "ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð°Ñ Ð¿Ð¾Ñ‡Ñ‚Ð° автоматичеÑки генерировалаÑÑŒ." + +#, fuzzy +#~ msgid "This text will be displayed on the email popup" +#~ msgstr "" +#~ "Этот текÑÑ‚ будет displyed выше вÑплывающее окно Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° Ñлектронной " +#~ "почты." + +#, fuzzy +#~ msgid "Please enter your email to proceed" +#~ msgstr "ПожалуйÑта, введите Ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты, чтобы продолжить." + +#, fuzzy +#~ msgid "" +#~ "This text will be displayed on the email popup if the email is already " +#~ "registered or invalid" +#~ msgstr "" +#~ "Этот текÑÑ‚ будет displyed выше вÑплывающее окно Ñлектронной почты, еÑли " +#~ "уже зарегиÑтрированы или недейÑтвительным." + +#~ msgid "Turn Social Sharing ON/OFF" +#~ msgstr "Включите Ñоциальной Ñети ON / OFF" + +#~ msgid "Code" +#~ msgstr "код" + +#~ msgid "paste sharing code from your LoginRadius account" +#~ msgstr "вÑтавьте обмена код из LoginRadius Ñчета" + +#, fuzzy +#~ msgid "where to show social share bar" +#~ msgstr "где показывать Ñоциальные иконки" + +#, fuzzy +#~ msgid "Show on Top" +#~ msgstr "Показать на Вход в ÑиÑтему" + +#, fuzzy +#~ msgid "Show on Bottom" +#~ msgstr "Показать на комментарий форме" + +#~ msgid "which location to show social share bar" +#~ msgstr "каком меÑте, чтобы показать Ñоциальный бар долÑ" + +#~ msgid "Turn Social Counter ON/OFF" +#~ msgstr "Включите Ñоциального Ñчетчика ON / OFF" + +#, fuzzy +#~ msgid "which location to show social counter interface" +#~ msgstr "каком меÑте, чтобы показать Ñоциальный бар долÑ" + +#~ msgid "LoginRadius API Settings" +#~ msgstr "ÐаÑтройки API от LoginRadius." + +#, fuzzy +#~ msgid "LoginRadius API key" +#~ msgstr "ÐаÑтройки API от LoginRadius." + +#, fuzzy +#~ msgid "Required for LoginRadius plugin to work" +#~ msgstr "Другие плагины LoginRadius" + +#~ msgid "Paste LoginRadius API Key here. To get the API Key, log in to" +#~ msgstr "" +#~ "Ð’Ñтавьте здеÑÑŒ ваш Ключ API от LoginRadius. Чтобы получить ключ API, " +#~ "войдите в Ñвой LoginRadius аккаунт на нашем Ñайте." + +#, fuzzy +#~ msgid "LoginRadius API Secret" +#~ msgstr "API от LoginRadius" + +#~ msgid "Paste LoginRadius API Secret here. To get the API Secret, log in to " +#~ msgstr "" +#~ "Ð’Ñтавьте здеÑÑŒ ваш Секретный Ключ API от LoginRadius. Чтобы получить " +#~ "Ñекретный ключ API, войдите в Ñвой LoginRadius аккаунт на нашем Ñайте." + +#~ msgid "Turn Social Commenting ON/OFF" +#~ msgstr "Включите Ñоциального ÐšÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð¸Ñ€ÑƒÑ ON / OFF" + +#~ msgid "Enable Social Commenting" +#~ msgstr "Включение Ñоциальных комментируÑ" + +#~ msgid "Commenting Mode" +#~ msgstr "ÐšÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð¸Ñ€ÑƒÑ Mode" + +#~ msgid "Show on Comment Form" +#~ msgstr "Показать на комментарий форме" + +#~ msgid "" +#~ "Integrate with Comment Form (Give your website users a new commenting " +#~ "experience)" +#~ msgstr "" +#~ "Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ (Дайте вашим пользователÑм Ñайта новые " +#~ "ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð¸Ñ€ÑƒÑ Ð¾Ð¿Ñ‹Ñ‚Ð°)" + +#~ msgid "Select a social network:" +#~ msgstr "Выберите Ñоциальные Ñети:" + +#~ msgid "Auto Approve Social User's Comments" +#~ msgstr "Ðвто Утвердить Комментарии Ñоциальной пользователÑ" + +#, fuzzy +#~ msgid "if user logged in using social login" +#~ msgstr "еÑли пользователь вошел в ÑиÑтему Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñоциальных входа" + +#, fuzzy +#~ msgid "LoginRadius Share Basic Settings" +#~ msgstr "ОÑновные ÐаÑтройки LoginRadius." + +#~ msgid "Open in new window" +#~ msgstr "Открыть в новом окне" + +#~ msgid "opened new window for sharing" +#~ msgstr "открыл новое окно Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ½Ð°" + +#~ msgid "Open share link in new Window" +#~ msgstr "Откройте Ð´Ð¾Ð»Ñ ÑÑылку в новом окне" + +#, fuzzy +#~ msgid "LoginRadius Share Location Settings" +#~ msgstr "ОÑновные ÐаÑтройки LoginRadius." + +#, fuzzy +#~ msgid "Required for Social Login and Social Share" +#~ msgstr "ТребуетÑÑ Ð´Ð»Ñ Ñоциальных Войти" + +#~ msgid "Required for Social Login" +#~ msgstr "ТребуетÑÑ Ð´Ð»Ñ Ñоциальных Войти" + +#~ msgid "Restored all settings to defaults." +#~ msgstr "ВоÑÑтановлены вÑе наÑтройки по умолчанию." + +#~ msgid "You Must Need a Login Radius Api Key For Login Process." +#~ msgstr "Ð’Ñ‹ должны нужен ключ LoginRadius Api Ð”Ð»Ñ Ð’Ð¾Ð¹Ñ‚Ð¸ процеÑÑа" + +#~ msgid "You Must Need a Login Radius Api Secret For Login Process." +#~ msgstr "Ð’Ñ‹ должны Ðужна Секретные LoginRadius Api Ð”Ð»Ñ Ð’Ð¾Ð¹Ñ‚Ð¸ процеÑÑа." + +#~ msgid "You Need a Redirect url for Login Redirection." +#~ msgstr "You Need Перенаправление URL Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð’Ð¾Ð¹Ñ‚Ð¸." + +#~ msgid "Saved changes." +#~ msgstr "Сохраненные изменениÑ." + +#~ msgid "from" +#~ msgstr "а так же Ñекретный ключ API на нашем Ñайте" + +#~ msgid "" +#~ "In order to make the login process secure, we require you to manage it " +#~ "from your LoginRadius account." +#~ msgstr "" +#~ "Ð”Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы Ñделать процеÑÑ Ð›Ð¾Ð³Ð¸Ð½Ð° более безопаÑным, вам необходимо " +#~ "управлÑÑ‚ÑŒ наÑтройками Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ аккаунта на Ñайте LoginRadius." + +#~ msgid "Restore Defaults" +#~ msgstr "ВоÑÑтановить изночальные наÑтройки." + +#~ msgid "Welcome! " +#~ msgstr "Добро пожаловать!" diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-zh_CN.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-zh_CN.mo new file mode 100644 index 0000000..ddc31a8 Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-zh_CN.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-zh_CN.po b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-zh_CN.po new file mode 100644 index 0000000..cdafedc --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/LoginRadius-zh_CN.po @@ -0,0 +1,1321 @@ +msgid "" +msgstr "" +"Project-Id-Version: LoginRadius\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-07-02 10:54-0800\n" +"PO-Revision-Date: 2013-07-02 10:54-0800\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: ..\n" + +#: ../LoginRadius.php:108 +#: ../LoginRadius.php:183 +#: ../LoginRadius.php:550 +#: ../LoginRadius_function.php:827 +msgid "Your account is currently inactive. You will be notified through email, once Administrator activates your account." +msgstr "您的帳戶目å‰ç„¡æ•ˆã€‚您將收到通éŽé›»å­éƒµä»¶ï¼Œä¸€æ—¦ç®¡ç†å“¡æ¿€æ´»æ‚¨çš„帳戶。" + +#: ../LoginRadius.php:110 +msgid "Your email has been successfully verified. Now you can login into your account." +msgstr "您的郵件已æˆåŠŸé©—證。ç¾åœ¨ï¼Œæ‚¨å¯ä»¥ç™»éŒ„到您的帳戶。" + +#: ../LoginRadius.php:140 +#: ../LoginRadius.php:534 +msgid "Your Confirmation link Has Been Sent To Your Email Address. Please verify your email by clicking on confirmation link." +msgstr "您的確èªéˆæŽ¥å·²ç™¼é€åˆ°æ‚¨çš„é›»å­éƒµä»¶åœ°å€ã€‚請點擊確èªéˆæŽ¥ç¢ºèªæ‚¨çš„é›»å­éƒµä»¶ã€‚" + +#: ../LoginRadius.php:228 +#: ../LoginRadius.php:243 +#: ../LoginRadius.php:382 +msgid "Please verify your email by clicking the confirmation link sent to you." +msgstr "請點擊確èªéˆæŽ¥ç™¼é€çµ¦æ‚¨é©—證您的電å­éƒµä»¶ã€‚" + +#: ../LoginRadius.php:765 +#, fuzzy +msgid "Disable Social Sharing on this " +msgstr "社会份é¢" + +#: ../LoginRadius.php:869 +msgid "Settings" +msgstr "设置" + +#: ../LoginRadius_admin.php:48 +#: ../LoginRadius_admin.php:73 +msgid "Please wait. This may take a few minutes" +msgstr "è«‹ç¨å€™ã€‚這å¯èƒ½éœ€è¦å¹¾åˆ†é˜" + +#: ../LoginRadius_admin.php:57 +msgid "Detected CURL. Please save changes" +msgstr "檢測到的æ²æ›²ã€‚è«‹ä¿å­˜æ›´æ”¹" + +#: ../LoginRadius_admin.php:60 +msgid "Detected FSOCKOPEN. Please save changes" +msgstr "檢測到的fsockopen。請ä¿å­˜æ›´æ”¹" + +#: ../LoginRadius_admin.php:63 +msgid "Please check your php.ini settings to enable CURL or FSOCKOPEN" +msgstr "請檢查你的php.ini的設置來啟用CURL或fsockopen" + +#: ../LoginRadius_admin.php:65 +msgid "Problem in communicating LoginRadius API. Please check if one of the API Connection method mentioned above is working." +msgstr "å•é¡Œçš„æºé€šLoginRadius API。請檢查如果的API連接上述方法之一是工作。" + +#: ../LoginRadius_admin.php:67 +msgid "Uh oh, looks like something went wrong. Try again in a sec!" +msgstr "嗯哦,看起來就åƒæ˜¯å‡ºäº†å•é¡Œã€‚在幾秒é˜ä¹‹å…§å†æ¬¡å˜—試ï¼" + +#: ../LoginRadius_admin.php:84 +#, fuzzy +msgid "Your API Key is invalid. Please paste the correct API Key from your LoginRadius Account." +msgstr "粘贴计数器代ç ä»Žæ‚¨çš„LoginRadiuså¸æˆ·çš„" + +#: ../LoginRadius_admin.php:86 +msgid "Your API Secret is invalid. Please paste the correct API Secret from your LoginRadius Account" +msgstr "您的API的秘密是無效的。從您的LoginRadius帳戶,請複製粘貼正確的API秘密的" + +#: ../LoginRadius_admin.php:88 +#, fuzzy +msgid "API Key and Secret cannot be same. Please paste correct API Key and Secret from your LoginRadius account in the corresponding fields above." +msgstr "您的API的秘密是無效的。從您的LoginRadius帳戶,請複製粘貼正確的API秘密的" + +#: ../LoginRadius_admin.php:90 +msgid "Your API Key and Secret are valid. Please save the changes." +msgstr "您的API Keyå’ŒSecret是有效的。請ä¿å­˜æ›´æ”¹ã€‚" + +#: ../LoginRadius_admin.php:212 +#, fuzzy +msgid "Social Plugin Settings" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:214 +msgid "Please clear your browser cache, if you have trouble loading the plugin interface. For more information" +msgstr "請清除ç€è¦½å™¨ç·©å­˜ï¼Œå¦‚果你有麻煩加載的æ’件接å£ã€‚欲了解更多信æ¯" + +#: ../LoginRadius_admin.php:214 +msgid "click here" +msgstr "請點擊這裡" + +#: ../LoginRadius_admin.php:217 +#, fuzzy +msgid "Thank you for installing the LoginRadius Social Plugin!" +msgstr "感谢您安装LoginRadiusæ’件ï¼" + +#: ../LoginRadius_admin.php:218 +#, fuzzy +msgid "To activate the plugin, you will need to first configure it (manage your desired social networks, etc.) from your LoginRadius account. If you do not have an account, click" +msgstr "è¦æ¿€æ´»æ’件,請設定它的社會網絡,從你LoginRadius帳戶和管ç†ã€‚如果你沒有一個帳戶,請點擊" + +#: ../LoginRadius_admin.php:218 +msgid "here" +msgstr "這裡" + +#: ../LoginRadius_admin.php:218 +msgid "and create one for FREE!" +msgstr "創建一個å…費的ï¼" + +#: ../LoginRadius_admin.php:220 +#, fuzzy +msgid "We also offer Social Plugins for " +msgstr "这个文本是社会的登录按钮,上é¢æ˜¾ç¤ºçš„。" + +#: ../LoginRadius_admin.php:220 +msgid "and" +msgstr "å’Œ" + +#: ../LoginRadius_admin.php:223 +msgid "Enable Plugin Now!" +msgstr "啟用æ’件ç¾åœ¨ï¼" + +#: ../LoginRadius_admin.php:225 +msgid "How to set up an account" +msgstr "如何建立一個帳戶" + +#: ../LoginRadius_admin.php:229 +#, fuzzy +msgid "Get Updates" +msgstr "ç²å–æ›´æ–°ï¼" + +#: ../LoginRadius_admin.php:230 +#, fuzzy +msgid "To receive updates on new features, future releases, etc, please connect with us via Facebook and Twitter" +msgstr "接收更新的新功能,發布等,請連接到我們的社交媒體é é¢" + +#: ../LoginRadius_admin.php:240 +#: ../LoginRadius_admin.php:1024 +#, fuzzy +msgid "Help & Documentations" +msgstr "文档" + +#: ../LoginRadius_admin.php:242 +#: ../LoginRadius_admin.php:1030 +msgid "Plugin Installation, Configuration and Troubleshooting" +msgstr "æ’件的安è£ï¼Œé…置和故障排除" + +#: ../LoginRadius_admin.php:243 +#: ../LoginRadius_admin.php:1031 +#, fuzzy +msgid "How to get LoginRadius API Key & Secret" +msgstr "LoginRadius API密钥和秘密" + +#: ../LoginRadius_admin.php:244 +#: ../LoginRadius_admin.php:1032 +#, fuzzy +msgid "WP Multisite Feature" +msgstr "æ’件的网页" + +#: ../LoginRadius_admin.php:247 +#: ../LoginRadius_admin.php:1033 +msgid "Discussion Forum" +msgstr "討論會" + +#: ../LoginRadius_admin.php:248 +#: ../LoginRadius_admin.php:1036 +msgid "About LoginRadius" +msgstr "关于LoginRadius" + +#: ../LoginRadius_admin.php:249 +#: ../LoginRadius_admin.php:1037 +#, fuzzy +msgid "LoginRadius Products" +msgstr "LoginRadiusåšå®¢" + +#: ../LoginRadius_admin.php:252 +#: ../LoginRadius_admin.php:1038 +#, fuzzy +msgid "Social Plugins" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:253 +#: ../LoginRadius_admin.php:1039 +#, fuzzy +msgid "Social SDKs" +msgstr "社会份é¢" + +#: ../LoginRadius_admin.php:258 +#, fuzzy +msgid "Support Us" +msgstr "技术支æŒ" + +#: ../LoginRadius_admin.php:260 +msgid "If you liked our FREE open-source plugin, please send your feedback/testimonial to " +msgstr "如果您喜歡我們的å…費開放æºä»£ç¢¼çš„æ’件,請發é€æ‚¨çš„æ„見/證明到" + +#: ../LoginRadius_admin.php:261 +msgid "Please help us to " +msgstr "請大家幫忙" + +#: ../LoginRadius_admin.php:261 +msgid "translate" +msgstr "翻譯" + +#: ../LoginRadius_admin.php:261 +msgid "the plugin content in your language." +msgstr "以您的語言的æ’件內容。" + +#: ../LoginRadius_admin.php:271 +msgid "To activate the Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret." +msgstr "è¦æ¿€æ´»çš„社會登錄,æ’å…¥LoginRadiusçš„API密鑰和秘密在API的設置一節。ä¸éœ€è¦ç¤¾æœƒå…±äº«çš„API密鑰和秘密。" + +#: ../LoginRadius_admin.php:280 +msgid "Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com" +msgstr "ä½ çš„çš„LoginRadius API密鑰或秘密是無效的,請糾正它,或è¯ç¹«LoginRadiusæ”¯æŒ www.LoginRadius。COM" + +#: ../LoginRadius_admin.php:291 +#, fuzzy +msgid "API Settings" +msgstr "设置" + +#: ../LoginRadius_admin.php:292 +#, fuzzy +msgid "Social Login" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:293 +#, fuzzy +msgid "Social Commenting" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:294 +#, fuzzy +msgid "Social Sharing" +msgstr "社会份é¢" + +#: ../LoginRadius_admin.php:295 +msgid "Help" +msgstr "幫助" + +#: ../LoginRadius_admin.php:301 +#, fuzzy +msgid "What API Connection Method do you prefer to use to enable API communication?" +msgstr "你喜歡什麼API連接方法,使API通信嗎?" + +#: ../LoginRadius_admin.php:311 +msgid "Use CURL" +msgstr "使用cURL" + +#: ../LoginRadius_admin.php:312 +#, fuzzy +msgid "This is the recommended API connection method, but sometimes this is disabled on hosting server" +msgstr "推薦的API連接的方法,但有時這是在託管æœå‹™å™¨ä¸Šç¦ç”¨" + +#: ../LoginRadius_admin.php:316 +msgid "Use FSOCKOPEN" +msgstr "使用的fsockopen" + +#: ../LoginRadius_admin.php:317 +#, fuzzy +msgid "Choose this option if cURL is disabled on your hosting server" +msgstr "é¸æ“‡æ­¤é¸é …,如果curl被ç¦æ­¢åœ¨æ‚¨çš„託管æœå‹™å™¨" + +#: ../LoginRadius_admin.php:318 +#, fuzzy +msgid "Auto-detect Connection Method" +msgstr "选择API凭è¯" + +#: ../LoginRadius_admin.php:326 +#, fuzzy +msgid "To activate the plugin, insert the LoginRadius API Key & Secret" +msgstr "LoginRadius API密钥和秘密" + +#: ../LoginRadius_admin.php:327 +msgid "(How to get it?)" +msgstr "(如何ç²å¾—呢?)" + +#: ../LoginRadius_admin.php:332 +msgid "API Key" +msgstr "API密鑰" + +#: ../LoginRadius_admin.php:337 +msgid "API Secret" +msgstr "API的秘密" + +#: ../LoginRadius_admin.php:340 +#, fuzzy +msgid "Verify API Settings" +msgstr "设置" + +#: ../LoginRadius_admin.php:351 +#, fuzzy +msgid "Social Login Interface Settings" +msgstr "社会上的图标" + +#: ../LoginRadius_admin.php:355 +#, fuzzy +msgid "What text should be displayed above the Social Login interface? Leave blank if you do not want any text to be displayed" +msgstr "你想è¦ä»€éº¼æ¨£çš„文字上é¢é¡¯ç¤ºç¤¾æœƒç™»éŒ„ç•Œé¢ï¼ˆç•™ç©ºç‚ºæ²’有文字)?" + +#: ../LoginRadius_admin.php:356 +msgid "Login with Social ID" +msgstr "社會ID登錄" + +#: ../LoginRadius_admin.php:363 +#, fuzzy +msgid "Do you want to show the Social Login interface on your WordPress login page?" +msgstr "显示社会图标" + +#: ../LoginRadius_admin.php:365 +#: ../LoginRadius_admin.php:379 +#: ../LoginRadius_admin.php:692 +#: ../LoginRadius_admin.php:737 +#: ../LoginRadius_admin.php:768 +#: ../LoginRadius_admin.php:900 +msgid "Yes" +msgstr "是" + +#: ../LoginRadius_admin.php:368 +#: ../LoginRadius_admin.php:381 +#: ../LoginRadius_admin.php:694 +#: ../LoginRadius_admin.php:739 +#: ../LoginRadius_admin.php:770 +#: ../LoginRadius_admin.php:902 +msgid "No" +msgstr "å¦" + +#: ../LoginRadius_admin.php:376 +#, fuzzy +msgid "Do you want to show Social Login interface on your WordPress registration page?" +msgstr "显示社会图标" + +#: ../LoginRadius_admin.php:389 +#, fuzzy +msgid "If Yes, how do you want the Social Login interface to be shown on your wordpress registration page?" +msgstr "如果是,你怎麼想社會登錄界é¢é¡¯ç¤ºåœ¨ä½ çš„WordPress的註冊é é¢å‘¢ï¼Ÿ" + +#: ../LoginRadius_admin.php:391 +#, fuzzy +msgid "Show it below the registration form" +msgstr "登记表上显示" + +#: ../LoginRadius_admin.php:392 +#, fuzzy +msgid "Show it beside the registration form" +msgstr "登记表上显示" + +#: ../LoginRadius_admin.php:400 +#, fuzzy +msgid "Social Login Interface Customization" +msgstr "社会上的图标" + +#: ../LoginRadius_admin.php:404 +#, fuzzy +msgid "Select the icon size to use in the Social Login interface" +msgstr "显示社会图标" + +#: ../LoginRadius_admin.php:406 +msgid "Medium" +msgstr "中" + +#: ../LoginRadius_admin.php:409 +msgid "Small" +msgstr "å°" + +#: ../LoginRadius_admin.php:416 +msgid "How many social icons would you like to be displayed per row?" +msgstr "你想æ¯è¡Œé¡¯ç¤ºå¤šå°‘社會圖標?" + +#: ../LoginRadius_admin.php:423 +msgid "What background color would you like to use for the Social Login interface?" +msgstr "你喜歡什麼樣的背景é¡è‰²å°‡ç”¨æ–¼ç¤¾æœƒçš„登錄界é¢ï¼Ÿ" + +#: ../LoginRadius_admin.php:423 +msgid "Leave empty for transparent. You can enter hexa-decimal code of the color as well as name of the color." +msgstr "留空é€æ˜Žã€‚您å¯ä»¥è¼¸å…¥å六進制代碼的é¡è‰²ä»¥åŠé¡è‰²çš„å稱。" + +#: ../LoginRadius_admin.php:433 +msgid "User Email Settings" +msgstr "用戶郵箱設置" + +#: ../LoginRadius_admin.php:439 +#, fuzzy +msgid "Do you want to send emails to users with their username and password post-registration?" +msgstr "你想註冊自己的用戶å和密碼的詳細信æ¯å¾Œç™¼é€é›»å­éƒµä»¶çµ¦ç”¨æˆ¶ï¼Ÿ" + +#: ../LoginRadius_admin.php:448 +#, fuzzy +msgid "YES, send an email to users after registration" +msgstr "如果你会喜欢åŽï¼Œæ³¨å†Œç”¨æˆ·å‘é€ç”µå­é‚®ä»¶ï¼Œé€‰æ‹©YES。" + +#: ../LoginRadius_admin.php:449 +#, fuzzy +msgid "NO, do not send email to users after registration" +msgstr "如果你会喜欢åŽï¼Œæ³¨å†Œç”¨æˆ·å‘é€ç”µå­é‚®ä»¶ï¼Œé€‰æ‹©YES。" + +#: ../LoginRadius_admin.php:456 +#, fuzzy +msgid "A few ID Providers do not supply users' e-mail IDs as part of the user profile data they provide. Do you want to prompt users to provide their email IDs before completing registration process if it is not provided by the ID Provider?" +msgstr "有幾個ID供應商ä¸æ供用戶的電å­éƒµä»¶ID的用戶é…置文件數據的一部分。你希望用戶æ供他們的電å­éƒµä»¶ID之å‰å®Œæˆè¨»å†ŠéŽç¨‹ï¼Ÿ" + +#: ../LoginRadius_admin.php:465 +#, fuzzy +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "YES,真正從用戶的電å­éƒµä»¶ID(在彈出è¦æ±‚用戶輸入他們的電å­éƒµä»¶ID)" + +#: ../LoginRadius_admin.php:466 +#, fuzzy +msgid "NO, just auto-generate random email IDs for users" +msgstr "NO,åªæ˜¯è‡ªå‹•ç”Ÿæˆéš¨æ©Ÿç‚ºç”¨æˆ¶çš„é›»å­éƒµä»¶ID" + +#: ../LoginRadius_admin.php:474 +#, fuzzy +msgid "Please enter the message to be displayed to the user in the pop-up asking for their email address" +msgstr "請進入的消æ¯é¡¯ç¤ºçµ¦ç”¨æˆ¶ï¼Œåœ¨å½ˆå‡ºçš„è©¢å•é›»å­éƒµä»¶" + +#: ../LoginRadius_admin.php:476 +#, fuzzy +msgid "Unfortunately, the ID Provider did not provided your email address. Please enter your email to proceed" +msgstr "ä¸å¹¸çš„是,社會æä¾›ä¸æ供您的電å­éƒµä»¶åœ°å€ã€‚請輸入您的電å­éƒµä»¶é€²è¡Œ" + +#: ../LoginRadius_admin.php:483 +#, fuzzy +msgid "Please enter the message to be shown to the user in case of an invalid or already registered email" +msgstr "請進入的消æ¯é¡¯ç¤ºçµ¦ç”¨æˆ¶çš„情æ³ä¸‹ç„¡æ•ˆæˆ–已註冊的電å­éƒµä»¶" + +#: ../LoginRadius_admin.php:485 +#, fuzzy +msgid "The email you have entered is either already registered or invalid. Please enter a valid email address." +msgstr "此电å­é‚®ä»¶å·²æ³¨å†Œæˆ–无效,请选择å¦ä¸€ä¸ªã€‚" + +#: ../LoginRadius_admin.php:493 +#, fuzzy +msgid "Redirection Settings" +msgstr "é‡å®šå‘设置" + +#: ../LoginRadius_admin.php:499 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "你想æˆåŠŸç™»éŒ„後,將用戶é‡å®šå‘?" + +#: ../LoginRadius_admin.php:514 +#, fuzzy +msgid "Redirect to the same page where the user logged in" +msgstr "é‡å®šå‘到åšå®¢é¦–页" + +#: ../LoginRadius_admin.php:514 +#: ../LoginRadius_admin.php:549 +msgid "Default" +msgstr "默认" + +#: ../LoginRadius_admin.php:515 +#, fuzzy +msgid "Redirect to homepage of your WP site" +msgstr "é‡å®šå‘到åšå®¢é¦–页" + +#: ../LoginRadius_admin.php:517 +msgid "Redirect to account dashboard" +msgstr "é‡å®šå‘到å¸æˆ·æŽ§åˆ¶é¢æ¿" + +#: ../LoginRadius_admin.php:522 +#, fuzzy +msgid "Redirect to Buddypress profile page" +msgstr "é‡å®šå‘到åšå®¢é¦–页" + +#: ../LoginRadius_admin.php:527 +#: ../LoginRadius_admin.php:551 +#, fuzzy +msgid "Redirect to Custom URL:" +msgstr "é‡å®šå‘到以下URL:" + +#: ../LoginRadius_admin.php:536 +msgid "Where do you want to redirect your users after successfully logging out?" +msgstr "你想æˆåŠŸç™»éŒ„後,將用戶é‡å®šå‘?" + +#: ../LoginRadius_admin.php:538 +#, fuzzy +msgid "Note: Logout function works only when clicking 'logout' in the social login widget area. In all other cases, WordPress's default logout function will be applied." +msgstr "注:åªæœ‰ç•¶ç¤¾æœƒç™»éŒ„å°å·¥å…·å€åŸŸä¸­å–®æ“Šâ€œè¨»éŠ·ï¼Œè¨»éŠ·åŠŸèƒ½å·¥ç¨‹ã€‚在所有其他情æ³ä¸‹ï¼ŒWordPress默èªè¨»éŠ·åŠŸèƒ½å°‡è¢«æ‡‰ç”¨ã€‚" + +#: ../LoginRadius_admin.php:549 +#, fuzzy +msgid "Redirect to the homepage" +msgstr "é‡å®šå‘到åšå®¢é¦–页" + +#: ../LoginRadius_admin.php:561 +#, fuzzy +msgid "User Settings" +msgstr "设置" + +#: ../LoginRadius_admin.php:567 +msgid "Do you want to allow new users to register through Social Login?" +msgstr "ä½ è¦å…許新用戶註冊,通éŽç¤¾æœƒç™»éŒ„?" + +#: ../LoginRadius_admin.php:569 +msgid "YES, allow new users to register through Social Login" +msgstr "YES,å…許通éŽç¤¾æœƒç™»éŒ„新用戶註冊" + +#: ../LoginRadius_admin.php:570 +msgid "NO, do not allow new users to register through Social Login" +msgstr "NO,ä¸å…許通éŽç¤¾æœƒç™»éŒ„新用戶註冊" + +#: ../LoginRadius_admin.php:571 +msgid "New users will not be able to login through Social Login" +msgstr "新用戶將無法登錄,通éŽç¤¾æœƒç™»éŒ„" + +#: ../LoginRadius_admin.php:579 +msgid "Do you want to display the social network that the user connected with, in the user list" +msgstr "ä½ è¦é¡¯ç¤ºçš„社交網絡連接的用戶,在用戶列表中" + +#: ../LoginRadius_admin.php:581 +msgid "YES, display the social network that the user connected with, in the user list" +msgstr "YESéµï¼Œé¡¯ç¤ºè©²ç”¨æˆ¶çš„連接的社交網絡,在用戶列表中" + +#: ../LoginRadius_admin.php:582 +msgid "NO, do not display the social network that the user connected with, in the user list" +msgstr "NO,ä¸é¡¯ç¤ºç¤¾äº¤ç¶²çµ¡ç”¨æˆ¶é€£æŽ¥ï¼Œåœ¨ç”¨æˆ¶åˆ—表中" + +#: ../LoginRadius_admin.php:589 +#, fuzzy +msgid "Do you want to automatically link your existing users' accounts to their social accounts if their WP account email address matches the email address associated with their social account?" +msgstr "你想你ç¾æœ‰çš„çš„WP用戶帳戶自動éˆæŽ¥åˆ°ä»–們的社會帳戶的電å­éƒµä»¶ID匹é…的情æ³ä¸‹ï¼Œä»–們的社會帳戶的電å­éƒµä»¶ID?" + +#: ../LoginRadius_admin.php:591 +msgid "YES, automatically link social accounts to WP accounts" +msgstr "是社會賬戶,自動éˆæŽ¥åˆ°WP帳戶" + +#: ../LoginRadius_admin.php:593 +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "ä¸ï¼Œæˆ‘想我的ç¾æœ‰ç”¨æˆ¶ç¹¼çºŒä½¿ç”¨æœ¬æ©ŸWP登錄" + +#: ../LoginRadius_admin.php:603 +msgid "Do you want to apply the same changes when you update plugin settings in the main blog of multisite network?" +msgstr "你想採用åŒæ¨£çš„變化,當你更新æ’件的設置,在主åšå®¢çš„多站點網絡?" + +#: ../LoginRadius_admin.php:604 +msgid "YES, apply the same changes to plugin settings of each blog in the multisite network when I update plugin settings." +msgstr "YES,採用åŒæ¨£çš„變化,當我更新的多站點網絡中的æ¯å€‹åšå®¢çš„æ’件設置æ’件的設置。" + +#: ../LoginRadius_admin.php:605 +msgid "NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "NO,並ä¸é©ç”¨æ–¼å…¶ä»–åšå®¢çš„變化,當我更新æ’件的設置。" + +#: ../LoginRadius_admin.php:622 +#, fuzzy +msgid "Do you want to let users use their social profile picture as an avatar on your website?" +msgstr "你想使社會計數器為您的網站嗎?" + +#: ../LoginRadius_admin.php:623 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "是的,讓用戶使用他們的社會形象圖片作為頭åƒ" + +#: ../LoginRadius_admin.php:624 +#, fuzzy +msgid "NO, use default avatars" +msgstr "使用默认头åƒ" + +#: ../LoginRadius_admin.php:632 +msgid "User Membership Control" +msgstr "用戶æˆå“¡æŽ§åˆ¶" + +#: ../LoginRadius_admin.php:638 +msgid "Do you want to control user activation/deactivation?" +msgstr "你想控制用戶激活/去激活呢?" + +#: ../LoginRadius_admin.php:639 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "在管ç†ç”¨æˆ¶â€œé ä¸Šï¼Œæ‚¨å¯ä»¥å•Ÿç”¨/ç¦ç”¨ç”¨æˆ¶å¾žç‹€æ…‹æ¬„" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "YES, display activate/deactivate option in the " +msgstr "YESéµï¼Œé¡¯ç¤ºè©²ç”¨æˆ¶çš„連接的社交網絡,在用戶列表中" + +#: ../LoginRadius_admin.php:641 +#, fuzzy +msgid "User list" +msgstr "设置" + +#: ../LoginRadius_admin.php:642 +#: ../LoginRadius_admin.php:672 +msgid "NO" +msgstr "沒有" + +#: ../LoginRadius_admin.php:650 +msgid "What would you like to set as the default status of the user when he/she registers to your website?" +msgstr "你想è¦ä»€éº¼ï¼Œå°‡å…¶è¨­ç½®ç‚ºé»˜èªç‹€æ…‹çš„用戶,當他/她註冊到您的網站嗎?" + +#: ../LoginRadius_admin.php:652 +msgid "Active" +msgstr "æ´»èº" + +#: ../LoginRadius_admin.php:653 +msgid "Inactive" +msgstr "待用" + +#: ../LoginRadius_admin.php:662 +msgid "User Profile Data Options" +msgstr "用戶個人資料é¸é …" + +#: ../LoginRadius_admin.php:668 +msgid "Do you want to update User Profile Data in your Wordpress database, every time user logs into your website?" +msgstr "你想更新你的WordPress數據庫的用戶é…置文件中的數據,æ¯æ¬¡ç”¨æˆ¶ç™»éŒ„到您的網站嗎?" + +#: ../LoginRadius_admin.php:669 +msgid "If you disable this option, user profile data will be saved only once when user logs in first time at your website, user profile details will not be updated in your Wordpress database, even if user changes his/her social account details." +msgstr "如果ç¦ç”¨æ­¤é¸é …,用戶é…置文件數據將被ä¿å­˜ï¼Œåªæœ‰ä¸€æ¬¡ï¼Œç•¶ç”¨æˆ¶åœ¨æ‚¨çš„網站在第一時間登錄,用戶的個人資料將ä¸æœƒåœ¨ä½ çš„WordPress數據庫更新,å³ä½¿ç”¨æˆ¶æ”¹è®Šä»–/她的社交帳戶的詳細資料。" + +#: ../LoginRadius_admin.php:671 +#: ../LoginRadius_admin.php:717 +msgid "YES" +msgstr "是" + +#: ../LoginRadius_admin.php:683 +#, fuzzy +msgid "Social Commenting Settings" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:689 +msgid "Do you want to enable Social Commenting for your website" +msgstr "你想為您的網站,使社會評論" + +#: ../LoginRadius_admin.php:701 +#, fuzzy +msgid "Where do you want to display the Social login interface on the commenting form?" +msgstr "社会登录到你想怎么评论的形å¼å‡ºçŽ°åœ¨" + +#: ../LoginRadius_admin.php:704 +msgid "At the very top of the comment form" +msgstr "在最頂端的回應" + +#: ../LoginRadius_admin.php:705 +msgid "After the 'Leave a Reply' caption" +msgstr "後留下一個回å¤çš„標題" + +#: ../LoginRadius_admin.php:706 +msgid "Before the comment form input fields" +msgstr "在評論表單輸入域" + +#: ../LoginRadius_admin.php:707 +#, fuzzy +msgid "Before the comment box" +msgstr "å‰Widget内容:" + +#: ../LoginRadius_admin.php:715 +#, fuzzy +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "自动批准由社会登录用户æ出的æ„è§" + +#: ../LoginRadius_admin.php:718 +#, fuzzy +msgid "NO, I want to approve the comments per my discretion" +msgstr "按我的判斷,我想批准的æ„見" + +#: ../LoginRadius_admin.php:728 +#, fuzzy +msgid "Basic Social Sharing Settings" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:734 +msgid "Do you want to enable Social Sharing for your website" +msgstr "你想為您的網站,讓社會共享的" + +#: ../LoginRadius_admin.php:747 +#, fuzzy +msgid "Social Sharing Theme Selection" +msgstr "社会共享ä½ç½®" + +#: ../LoginRadius_admin.php:753 +#, fuzzy +msgid "What Social Sharing widget theme would you like to use across your website? (Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "你想è¦ä»€éº¼æ¨£çš„社會共享的部件主題使用在您的網站嗎?" + +#: ../LoginRadius_admin.php:765 +#, fuzzy +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "你想為您的網站,讓社會共享的" + +#: ../LoginRadius_admin.php:774 +#, fuzzy +msgid "Choose a Sharing theme" +msgstr "é¸æ“‡ä¸€å€‹å…±äº«ä¸»é¡Œ" + +#: ../LoginRadius_admin.php:833 +#, fuzzy +msgid "Enter the text that you wish to be displayed above the Social Sharing Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "这个文本是社会的登录按钮,上é¢æ˜¾ç¤ºçš„。" + +#: ../LoginRadius_admin.php:835 +#, fuzzy +msgid "Share it now!" +msgstr "现在共用" + +#: ../LoginRadius_admin.php:840 +#: ../LoginRadius_admin.php:950 +msgid "What Sharing Networks do you want to show in the sharing widget? (All other sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "你想è¦ä»€éº¼æ¨£çš„共享網絡顯示在共享å°å·¥å…·ï¼Ÿ (所有其他的共享網絡將被顯示為部分的LoginRadius共享圖標)" + +#: ../LoginRadius_admin.php:842 +#: ../LoginRadius_admin.php:952 +msgid "You can select only nine providers" +msgstr "您å¯ä»¥é¸æ“‡åªæœ‰9個供應商" + +#: ../LoginRadius_admin.php:851 +#: ../LoginRadius_admin.php:961 +#, fuzzy +msgid "In what order do you want your sharing networks listed?" +msgstr "您的共享部件共享網絡秩åºï¼Œä½ æ›´å–œæ­¡ï¼Ÿ" + +#: ../LoginRadius_admin.php:871 +#, fuzzy +msgid "Select the position of the Social sharing interface" +msgstr "显示社会图标" + +#: ../LoginRadius_admin.php:873 +msgid "Show at the top of content" +msgstr "顯示內容的頂部" + +#: ../LoginRadius_admin.php:874 +msgid "Show at the bottom of content" +msgstr "顯示在底部的內容" + +#: ../LoginRadius_admin.php:877 +#: ../LoginRadius_admin.php:1004 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "ä½ è¦é¡¯ç¤ºå“ªäº›é ˜åŸŸçš„社會共享å°å·¥å…·å—Žï¼Ÿ" + +#: ../LoginRadius_admin.php:879 +#: ../LoginRadius_admin.php:1006 +#, fuzzy +msgid "Show on homepage" +msgstr "æ„è§è¡¨ä¸Šæ˜¾ç¤º" + +#: ../LoginRadius_admin.php:880 +#: ../LoginRadius_admin.php:1007 +#, fuzzy +msgid "Show on posts" +msgstr "æ„è§è¡¨ä¸Šæ˜¾ç¤º" + +#: ../LoginRadius_admin.php:882 +#: ../LoginRadius_admin.php:1009 +#, fuzzy +msgid "Show on pages" +msgstr "网页上显示" + +#: ../LoginRadius_admin.php:883 +#: ../LoginRadius_admin.php:1010 +#, fuzzy +msgid "Show on post excerpts " +msgstr "登记表上显示" + +#: ../LoginRadius_admin.php:884 +#: ../LoginRadius_admin.php:1011 +#, fuzzy +msgid "Show on archive pages" +msgstr "档案页é¢ä¸Šæ˜¾ç¤º" + +#: ../LoginRadius_admin.php:886 +#: ../LoginRadius_admin.php:1013 +#, fuzzy +msgid "Show on feed" +msgstr "显示饲料" + +#: ../LoginRadius_admin.php:897 +#, fuzzy +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "你想為您的網站,讓社會共享的" + +#: ../LoginRadius_admin.php:906 +msgid "Choose a sharing theme" +msgstr "é¸æ“‡ä¸€å€‹å…±äº«ä¸»é¡Œ" + +#: ../LoginRadius_admin.php:981 +#, fuzzy +msgid "Select the position of the Social Sharing widget" +msgstr "é¸æ“‡ç¤¾æœƒå…±äº«çš„部件的ä½ç½®" + +#: ../LoginRadius_admin.php:997 +msgid "Specify distance of vertical sharing interface from top (Leave empty for default behaviour)" +msgstr "指定共享界é¢é ‚部的垂直è·é›¢ï¼ˆç•™ç©ºé»˜èªè¡Œç‚ºï¼‰" + +#: ../LoginRadius_admin.php:998 +msgid "Enter a number (For example - 200). It will set the 'top' CSS attribute of the interface to the value specified. Increase in the number pushes interface towards bottom." +msgstr "輸入一個數字(比如 - 200)。指定的值將設置'é ‚'CSS屬性的接å£ã€‚數é‡å¢žåŠ æŽ¨å‹•èµ°å‘底部接å£ã€‚" + +#: ../LoginRadius_admin.php:1059 +msgid "Save Changes" +msgstr "ä¿å­˜æ›´æ”¹" + +#: ../LoginRadius_admin.php:1060 +msgid "Preview" +msgstr "预览" + +#: ../LoginRadius_function.php:150 +msgid "Log Out" +msgstr "注销" + +#: ../LoginRadius_function.php:548 +msgid "This account is already mapped" +msgstr "此帳戶已被映射" + +#: ../LoginRadius_function.php:551 +msgid "Account mapped successfully" +msgstr "帳號æˆåŠŸæ˜ å°„" + +#: ../LoginRadius_function.php:556 +msgid "Link your account" +msgstr "將您的帳戶" + +#: ../LoginRadius_function.php:560 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "加入å¦ä¸€å€‹å¸³æˆ¶ï¼Œæ‚¨å¯ä»¥ä½¿ç”¨æ–°çš„帳戶登錄的ï¼" + +#: ../LoginRadius_function.php:665 +#: ../LoginRadius_function.php:688 +msgid "Connected with" +msgstr "有關連" + +#: ../LoginRadius_function.php:669 +#: ../LoginRadius_function.php:692 +msgid "Remove" +msgstr "清除" + +#: ../LoginRadius_function.php:771 +#, fuzzy +msgid "Please wait" +msgstr "请登入" + +#: ../LoginRadius_function.php:783 +#: ../LoginRadius_function.php:788 +msgid "Active (Click to Disable)" +msgstr "活動(點擊ç¦ç”¨ï¼‰" + +#: ../LoginRadius_function.php:785 +msgid "Inactive (Click to Enable)" +msgstr "處於éžæ´»å‹•ç‹€æ…‹ï¼ˆå•Ÿç”¨ï¼‰" + +#: ../LoginRadius_function.php:792 +msgid "Unexpected error occurred" +msgstr "發生æ„外錯誤" + +#: ../LoginRadius_widget.php:10 +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "在Facebook,Twitter,雅虎,谷歌和多登录或注册" + +#: ../LoginRadius_widget.php:62 +#: ../LoginRadius_widget.php:135 +#: ../LoginRadius_widget.php:208 +msgid "Title:" +msgstr "标题" + +#: ../LoginRadius_widget.php:64 +#: ../LoginRadius_widget.php:137 +#: ../LoginRadius_widget.php:210 +msgid "Before widget content:" +msgstr "å‰Widget内容:" + +#: ../LoginRadius_widget.php:66 +#: ../LoginRadius_widget.php:139 +#: ../LoginRadius_widget.php:212 +msgid "After widget content:" +msgstr "ç»è¿‡Widget内容:" + +#: ../LoginRadius_widget.php:68 +#: ../LoginRadius_widget.php:141 +#: ../LoginRadius_widget.php:214 +msgid "Hide for logged in users:" +msgstr "éšè—登录用户:" + +#: ../LoginRadius_widget.php:83 +#: ../LoginRadius_widget.php:156 +#, fuzzy +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "在Facebook,Twitter,雅虎,谷歌和多登录或注册" + +#, fuzzy +#~ msgid "Set up my FREE account!" +#~ msgstr "现在创建您的å…è´¹å¸æˆ·ï¼" + +#, fuzzy +#~ msgid "Disable Social Counter on this " +#~ msgstr "å¯ç”¨ç¤¾ä¼šè®¡æ•°å™¨â€œ" + +#, fuzzy +#~ msgid "Support Documentations" +#~ msgstr "文档" + +#, fuzzy +#~ msgid "Social Counter" +#~ msgstr "社会共享ä½ç½®" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the top of the content" +#~ msgstr "優先é¸æ“‡ç¤¾æœƒå…±äº«çš„窗å£å°éƒ¨ä»¶è¦é¡¯ç¤ºåœ¨ä¸Šé¢çš„內容的主題" + +#~ msgid "" +#~ "Select Social Sharing widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "è¦é¡¯ç¤ºåœ¨åº•éƒ¨çš„內容,é¸æ“‡ç¤¾æœƒå…±äº«çš„部件主題" + +#, fuzzy +#~ msgid "Social Sharing Widget Position" +#~ msgstr "社会份é¢" + +#, fuzzy +#~ msgid "Basic Social Counter Settings" +#~ msgstr "社会共享ä½ç½®" + +#~ msgid "Do you want to enable Social Counter for your website?" +#~ msgstr "你想使社會計數器為您的網站嗎?" + +#, fuzzy +#~ msgid "" +#~ "Enter the text that you wish to be displayed above the Social Counter " +#~ "Interface. Leave the field blank if you don't want any text to be " +#~ "displayed" +#~ msgstr "这个文本是社会的登录按钮,上é¢æ˜¾ç¤ºçš„。" + +#, fuzzy +#~ msgid "Be a fan" +#~ msgstr "æˆä¸ºä¸€ä¸ªé£Žæ‰‡ï¼" + +#, fuzzy +#~ msgid "Social Counter Theme Selection" +#~ msgstr "社会共享ä½ç½®" + +#, fuzzy +#~ msgid "" +#~ "What Social Counter widget theme would you like to use across your " +#~ "website?" +#~ msgstr "你想è¦ä»€éº¼æ¨£çš„社會計數器部件主題使用在您的網站嗎?" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the top of the content" +#~ msgstr "è¦é¡¯ç¤ºåœ¨ä¸Šé¢çš„內容,é¸æ“‡ç¤¾æœƒè¨ˆæ•¸å™¨çš„窗å£å°éƒ¨ä»¶çš„主題" + +#~ msgid "" +#~ "Select Social Counter widget theme to be shown at the bottom of the " +#~ "content" +#~ msgstr "é¸æ“‡ç¤¾æœƒåœ¨åº•éƒ¨çš„內容顯示的的計數器窗å£å°éƒ¨ä»¶çš„主題" + +#~ msgid "Choose a counter theme" +#~ msgstr "é¸æ“‡ä¸€å€‹è¨ˆæ•¸å™¨çš„主題" + +#~ msgid "What Counter Networks do you want to show in the counter widget?" +#~ msgstr "你想什麼å網絡顯示在櫃檯部件?" + +#, fuzzy +#~ msgid "Social Counter Widget Position" +#~ msgstr "社会份é¢" + +#, fuzzy +#~ msgid "Select the position of the Social Counter widget" +#~ msgstr "é¸æ“‡ç¤¾æœƒè¨ˆæ•¸å™¨éƒ¨ä»¶çš„ä½ç½®" + +#~ msgid "" +#~ "Specify distance of vertical counter interface from top (Leave empty for " +#~ "default behaviour)" +#~ msgstr "指定è·é›¢å¾žé ‚部垂直計數器接å£ï¼ˆç•™ç©ºé»˜èªè¡Œç‚ºï¼‰" + +#, fuzzy +#~ msgid "Select the position of Social counter interface" +#~ msgstr "显示社会图标" + +#~ msgid "What area(s) do you want to show the social counter widget?" +#~ msgstr "ä½ è¦é¡¯ç¤ºå“ªäº›é ˜åŸŸçš„社會計數器部件嗎?" + +#~ msgid "Get your fan counts all over the social networks." +#~ msgstr "让您的风扇计算所有的社会网络。" + +#~ msgid "" +#~ "Currently service is not available and we are working on a fix for it." +#~ msgstr "ç›®å‰æœå‹™ä¸å¯ç”¨ï¼Œä¸¦ä¸”我們正在努力修復它。" + +#~ msgid "" +#~ "Embed it in registration form and show it below the registration form" +#~ msgstr "在註冊表單中嵌入下é¢çš„å ±å表,並顯示" + +#, fuzzy +#~ msgid "Redirect to the Custom URL:" +#~ msgstr "é‡å®šå‘到以下URL:" + +#, fuzzy +#~ msgid "" +#~ "YES, Link existing WP user accounts to user social account if email ID " +#~ "matches" +#~ msgstr "链接现有的WordPress用户å¸æˆ·ï¼Œä»¥ç¤¾ä¼šç™»å½•ï¼ˆå¦‚果有的è¯ï¼‰" + +#, fuzzy +#~ msgid "NO, Do not Link existing WP user accounts to user social account" +#~ msgstr "链接现有的WordPress用户å¸æˆ·ï¼Œä»¥ç¤¾ä¼šç™»å½•ï¼ˆå¦‚果有的è¯ï¼‰" + +#~ msgid "" +#~ "Social Network provides User avatar image as profile data, do you want to " +#~ "show User Social profile image as avatar for your website?" +#~ msgstr "" +#~ "社會網絡為用戶æ供頭åƒåœ–片文件數據,你想顯示用戶的社會知å度形象,化身為你" +#~ "的網站嗎?" + +#, fuzzy +#~ msgid "" +#~ "YES, use user social profile image or avatar (if provided by ID Provider)" +#~ msgstr "利用社会æ供的头åƒï¼ˆå¦‚æžœæ供)" + +#~ msgid "" +#~ "You can customize the settings for your plugin on this page, though you " +#~ "will have to choose your desired ID providers and get your unique" +#~ msgstr "" +#~ "您å¯ä»¥è‡ªå®šä¹‰æ­¤é¡µé¢ä¸Šçš„æ’件设置,虽然你会选择所需的编å·æ供商,并得到您的独" +#~ "特" + +#, fuzzy +#~ msgid "from your" +#~ msgstr "现在创建您的å…è´¹å¸æˆ·ï¼" + +#~ msgid " account at" +#~ msgstr "å¸æˆ·" + +#~ msgid "" +#~ "There you can also customize your login interface with different login " +#~ "themes and icon sets. By using LoginRadius, the profile data of each user " +#~ "who logs in via social login will be saved to your WordPress database." +#~ msgstr "" +#~ "有你也å¯ä»¥è‡ªå®šä¹‰æ‚¨çš„登录界é¢ï¼Œç”¨ä¸åŒçš„登录主题和图标集。通过使用" +#~ "LoginRadius,æ¯ä¸ªç”¨æˆ·ç™»å½•ï¼Œåœ¨é€šè¿‡ç¤¾ä¼šç™»å½•çš„个人资料数æ®å°†è¢«ä¿å­˜åˆ°æ‚¨çš„" +#~ "WordPressæ•°æ®åº“。" + +#, fuzzy +#~ msgid "" +#~ "is a technology startup based in Canada that offers social login through " +#~ "popular ID providers such as Facebook Twitter Google LinkedIn and over 15 " +#~ "more as well as social sharing on over 80 networks. For tech support or " +#~ "if you have any questions please contact us at" +#~ msgstr "" +#~ "它是一个北美的科技公å¸ï¼Œæ供社会登录通过æµè¡Œçš„主机,如在Facebook," +#~ "Twitter,谷歌和超过15ï¼çš„技术支æŒï¼Œæˆ–如果您有任何疑问,请è”系我们在" + +#~ msgid "We are available 24/7 to assist our clients!" +#~ msgstr "Weæä¾›24 / 7,以å助我们的客户ï¼" + +#~ msgid "Plugin Help" +#~ msgstr "æ’件的帮助" + +#, fuzzy +#~ msgid "Live Demo (Wordpress)" +#~ msgstr "现场演示网站" + +#, fuzzy +#~ msgid "Live Demo (BuddyPress)" +#~ msgstr "现场演示网站" + +#, fuzzy +#~ msgid "Live Demo (bbPress)" +#~ msgstr "现场演示网站" + +#~ msgid "Other AddOns" +#~ msgstr "其他æ’件" + +#~ msgid "LoginRadius Blog" +#~ msgstr "LoginRadiusåšå®¢" + +#, fuzzy +#~ msgid "WP Social Login Support" +#~ msgstr "社会共享ä½ç½®" + +#, fuzzy +#~ msgid "Contact LoginRadius" +#~ msgstr "关于LoginRadius" + +#, fuzzy +#~ msgid "Social Share & Counter" +#~ msgstr "社会份é¢" + +#~ msgid "LoginRadius Login & Redirection Settings" +#~ msgstr "LoginRadius登录和é‡å®šå‘设置" + +#, fuzzy +#~ msgid "Show on Login Page" +#~ msgstr "上显示登录表å•" + +#, fuzzy +#~ msgid "Embed in Login Form" +#~ msgstr "上显示登录表å•" + +#, fuzzy +#~ msgid "Show Beside Login Form" +#~ msgstr "上显示登录表å•" + +#, fuzzy +#~ msgid "Show on Register Page" +#~ msgstr "登记表上显示" + +#, fuzzy +#~ msgid "Embed in Register Form" +#~ msgstr "登记表上显示" + +#, fuzzy +#~ msgid "Social Linking" +#~ msgstr "社会共享ä½ç½®" + +#~ msgid "Show Social Avatar" +#~ msgstr "显示社会头åƒ" + +#, fuzzy +#~ msgid "Show social provider avatar image" +#~ msgstr "社会æ供头åƒå›¾ç‰‡è¯„论" + +#~ msgid "Redirect user After login" +#~ msgstr "é‡å®šå‘用户登录åŽ" + +#~ msgid "Redirect to Same Page of blog" +#~ msgstr "é‡å®šå‘到åŒä¸€é¡µçš„åšå®¢" + +#, fuzzy +#~ msgid "Logout Redirection Setting" +#~ msgstr "é‡å®šå‘设置" + +#, fuzzy +#~ msgid "Redirect user After logout" +#~ msgstr "é‡å®šå‘用户登录åŽ" + +#~ msgid "(Only for Login Radius widget area)" +#~ msgstr "(åªé€‚用于登录åŠå¾„部件é¢ç§¯ï¼‰" + +#, fuzzy +#~ msgid "Redirect to Home Page of blog" +#~ msgstr "é‡å®šå‘到åŒä¸€é¡µçš„åšå®¢" + +#~ msgid "To Communicate with API" +#~ msgstr "沟通与API" + +#~ msgid "Use cURL (Require cURL support = enabled in your php.ini settings)" +#~ msgstr "使用cURL(需求 cURL support = enabled 在你的php.ini设置)" + +#~ msgid "" +#~ "Use FSOCKOPEN (Require allow_url_fopen = On and safemode = off in your " +#~ "php.ini settings)" +#~ msgstr "" +#~ "使用FSOCKOPEN(需求 allow_url_fopen = On å’Œ safemode = off 在你的php.ini设" +#~ "ç½®)" + +#~ msgid "LoginRadius Basic Settings" +#~ msgstr "LoginRadius基本设置" + +#~ msgid "Title" +#~ msgstr "标题" + +#~ msgid "Send Email" +#~ msgstr "å‘é€ç”µé‚®" + +#, fuzzy +#~ msgid "After user registration" +#~ msgstr "ç»è¿‡ç”¨æˆ·æ³¨å†Œ" + +#~ msgid "Email Required" +#~ msgstr "电å­é‚®ä»¶è¦æ±‚" + +#, fuzzy +#~ msgid "" +#~ "A few ID provider does not provide user's Email ID. Select YES if you " +#~ "would like an email pop-up after login or select NO if you would like to " +#~ "auto-generate the email address." +#~ msgstr "" +#~ "几个IDæ供商ä¸æ供用户的电å­é‚®ä»¶ID。选择YES如果你想è¦ä¸€ä¸ªç”µå­é‚®ä»¶å¼¹å‡ºåŽç™»" +#~ "录,或选择NO,如果你想自动生æˆçš„电å­é‚®ä»¶åœ°å€ã€‚" + +#, fuzzy +#~ msgid "This text will be displayed on the email popup" +#~ msgstr "此文字将上é¢çš„弹出框中输入电å­é‚®ä»¶displyed。" + +#, fuzzy +#~ msgid "Please enter your email to proceed" +#~ msgstr "请输入您的电å­é‚®ä»¶åœ°å€è¿›è¡Œã€‚" + +#, fuzzy +#~ msgid "" +#~ "This text will be displayed on the email popup if the email is already " +#~ "registered or invalid" +#~ msgstr "此文字将displyed上é¢çš„弹出框,如果电å­é‚®ä»¶å·²ç»æ³¨å†Œæˆ–无效。" + +#~ msgid "Turn Social Sharing ON/OFF" +#~ msgstr "将社会共享的ON / OFF" + +#~ msgid "Code" +#~ msgstr "ç " + +#~ msgid "paste sharing code from your LoginRadius account" +#~ msgstr "共享代ç ç²˜è´´ä»Žæ‚¨çš„LoginRadiuså¸æˆ·" + +#, fuzzy +#~ msgid "where to show social share bar" +#~ msgstr "显示社会图标" + +#, fuzzy +#~ msgid "Show on Top" +#~ msgstr "上显示登录表å•" + +#, fuzzy +#~ msgid "Show on Bottom" +#~ msgstr "æ„è§è¡¨ä¸Šæ˜¾ç¤º" + +#~ msgid "which location to show social share bar" +#~ msgstr "哪个ä½ç½®ï¼Œä»¥æ˜¾ç¤ºç¤¾ä¼šå…±äº«å§" + +#~ msgid "Turn Social Counter ON/OFF" +#~ msgstr "将社会计数器ON / OFF" + +#, fuzzy +#~ msgid "which location to show social counter interface" +#~ msgstr "哪个ä½ç½®ï¼Œä»¥æ˜¾ç¤ºç¤¾ä¼šå…±äº«å§" + +#~ msgid "LoginRadius API Settings" +#~ msgstr "LoginRadiusçš„API设置" + +#, fuzzy +#~ msgid "LoginRadius API key" +#~ msgstr "LoginRadiusçš„API设置" + +#, fuzzy +#~ msgid "Required for LoginRadius plugin to work" +#~ msgstr "其他LoginRadiusæ’件" + +#~ msgid "Paste LoginRadius API Key here. To get the API Key, log in to" +#~ msgstr "粘贴LoginRadius API这里的关键。è¦èŽ·å¾—çš„API密钥,登录到" + +#, fuzzy +#~ msgid "LoginRadius API Secret" +#~ msgstr "LoginRadius API密钥和秘密" + +#~ msgid "Paste LoginRadius API Secret here. To get the API Secret, log in to " +#~ msgstr "在这里粘贴LoginRadius API的秘密。为了得到API的秘密,登录到" + +#~ msgid "Turn Social Commenting ON/OFF" +#~ msgstr "关闭社会评论的ON / OFF" + +#~ msgid "Enable Social Commenting" +#~ msgstr "使社会评论" + +#~ msgid "Commenting Mode" +#~ msgstr "谈到模å¼" + +#~ msgid "Show on Comment Form" +#~ msgstr "æ„è§è¡¨ä¸Šæ˜¾ç¤º" + +#~ msgid "" +#~ "Integrate with Comment Form (Give your website users a new commenting " +#~ "experience)" +#~ msgstr "æ•´åˆæ„è§è¡¨ï¼ˆç»™ä½ çš„网站的用户一个新的注释ç»éªŒï¼‰" + +#~ msgid "Select a social network:" +#~ msgstr "选择一个社交网络:" + +#~ msgid "Auto Approve Social User's Comments" +#~ msgstr "自动核准社会用户的评论" + +#, fuzzy +#~ msgid "if user logged in using social login" +#~ msgstr "如果在使用社会登录用户登录" + +#, fuzzy +#~ msgid "LoginRadius Share Basic Settings" +#~ msgstr "LoginRadius基本设置" + +#~ msgid "Open in new window" +#~ msgstr "在新视窗开å¯" + +#~ msgid "opened new window for sharing" +#~ msgstr "共享开辟了新的窗å£" + +#~ msgid "Open share link in new Window" +#~ msgstr "在新窗å£ä¸­æ‰“开共享链接" + +#, fuzzy +#~ msgid "LoginRadius Share Location Settings" +#~ msgstr "LoginRadius基本设置" + +#, fuzzy +#~ msgid "Required for Social Login and Social Share" +#~ msgstr "需è¦ç¤¾ä¼šç™»å½•" + +#~ msgid "Required for Social Login" +#~ msgstr "需è¦ç¤¾ä¼šç™»å½•" + +#~ msgid "Restored all settings to defaults." +#~ msgstr "所有设置æ¢å¤åˆ°é»˜è®¤å€¼ã€‚" + +#~ msgid "You Must Need a Login Radius Api Key For Login Process." +#~ msgstr "你必须需è¦ä¸€ä¸ªç™»å½•è¿‡ç¨‹LoginRadius API密钥。" + +#~ msgid "You Must Need a Login Radius Api Secret For Login Process." +#~ msgstr "你必须需è¦ä¸€ä¸ªç™»å½•è¿‡ç¨‹LoginRadius API秘密。" + +#~ msgid "You Need a Redirect url for Login Redirection." +#~ msgstr "您需è¦ç™»å½•é‡å®šå‘é‡å®šå‘URL。" + +#~ msgid "Saved changes." +#~ msgstr "ä¿å­˜çš„更改。" + +#~ msgid "from" +#~ msgstr "从" + +#~ msgid "" +#~ "In order to make the login process secure, we require you to manage it " +#~ "from your LoginRadius account." +#~ msgstr "为了使登录过程的安全,我们è¦æ±‚您管ç†ä»ŽLoginRadius account." + +#~ msgid "Restore Defaults" +#~ msgstr "还原为默认值" + +#~ msgid "Welcome! " +#~ msgstr "欢迎您ï¼" diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/loginradius-de_DE.mo b/wp-content/plugins/loginradius-for-wordpress/i18n/loginradius-de_DE.mo new file mode 100644 index 0000000..b74513b Binary files /dev/null and b/wp-content/plugins/loginradius-for-wordpress/i18n/loginradius-de_DE.mo differ diff --git a/wp-content/plugins/loginradius-for-wordpress/i18n/loginradius-de_DE.po b/wp-content/plugins/loginradius-for-wordpress/i18n/loginradius-de_DE.po new file mode 100644 index 0000000..ffbc112 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/i18n/loginradius-de_DE.po @@ -0,0 +1,1840 @@ +# This file was generated by WPML +# WPML is a WordPress plugin that can turn any WordPress or WordPressMU site into a full featured multilingual content management system. +# http://wpml.org +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Project-Id-Version: loginradius_de-DE\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: eberhard grossgasteiger \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Language: de_DE\n" +"X-Generator: Poedit 1.6.3\n" + +# }else if ( currentStatus == 1 ) { +# jQuery ( '#loginRadiusStatus'+userId ) .html ( '' ); +# } +# wpml-name: dfdd25794c0318024f112227f6b34b15 +msgid "Inactive ( Click to Enable ) " +msgstr "Inaktiv ( Klicken zum aktivieren ) " + +# if ( currentStatus == 0 ) { +# jQuery ( '#loginRadiusStatus'+userId ) .html ( '' ); +# }else if ( currentStatus == 1 ) { +# wpml-name: 98e33b24aa6cbe44e792badb2f3a4387 +msgid "Active ( Click to Disable ) " +msgstr "Aktiv ( Klicken zum deaktivieren ) " + +# $redirect = get_permalink(); +# $link = '' . _e( 'Logout', 'LoginRadius' ) . ''; +# echo apply_filters( 'Login_Radius_log_out_url', $link ); +# wpml-name: 0323de4f66a1700e2173e9bcdce02715 +msgid "Logout" +msgstr "Abmelden" + +# self::login_radius_send_verification_email( $email, $loginRadiusKey, $provider ); +# self::login_radius_notify( __( 'Confirmation link has been sent to your email address. Please verify your email by clicking on confirmation link.', 'LoginRadius' ) ); +# } +# wpml-name: ee00f3cb06a4a7601f9b6a81ab121697 +msgid "" +"Confirmation link has been sent to your email address. Please verify your " +"email by clicking on confirmation link." +msgstr "" +"Ein Bestätigungslink wurde an deine E-Mail-Adresse gesendet. Bitte überprüfe " +"deine E-mail mit Klicken auf den Bestätigungslink." + +# +# "> (?) +#
    +# wpml-name: ae8c1bb099886cd76af4bec96e369c1f +msgid "" +"Enter a number ( For example - 200 ) . It will set the 'top' CSS attribute " +"of the interface to the value specified. Increase in the number pushes " +"interface towards bottom." +msgstr "" +"Bitte eine Zahl eingeben (z.B. - 200). Es wird das CSS-Attribut 'top' für " +"das Interface auf den angegebenen Wert setzen. Erhöhung (Inkrement) der " +"Zahlen wird das Interface Richtung unten verschieben." + +#
    +# +# "> (?) +# wpml-name: fb3d392b7861951e9b6c2b2cbab28033 +msgid "" +"Specify distance of vertical sharing interface from top ( Leave emptyfor " +"default behaviour ) " +msgstr "" +"Abstand des Vertikal Sharing Interfaces von oben. (frei lassen für das " +"Standardverhalten)" + +#
    +# +#
    +# wpml-name: 6eb49c2e53ad7499375a91b92414a58d +msgid "What area ( s ) do you want to show the social sharing widget?" +msgstr "Wo soll das Social Sharing Widget angezeigt werden?" + +#
    +# +#
    +# wpml-name: ea1cea52bf2d7f2aac7b3a45e6e8192f +msgid "" +"What Sharing Networks do you want to show in the sharing widget? ( All other " +"sharing networks will be shown as part of LoginRadius sharing icon ) " +msgstr "" +"Welche Sharing Networks willst du im Sharing Widget anzeigen? ( Alle anderen " +"Sharing Networks werden als Teil des LoginRadius Sharing-Icons angezeigt)" + +#
    +# +#
    +# wpml-name: 231c198910edf96fe2c1ef7e2a22107a +msgid "" +"What Social Sharing widget theme would you like to use across your website? " +"( Horizontal and Vertical themes can be enabled simultaneously ) " +msgstr "" +"Welches Social Sharing Widget-Theme soll auf der gesamten Webseite angezeigt " +"werden? (Horizontal und Vertikal Themes können gleichzeitig aktiviert sein)" + +#
    +# +#
    +# wpml-name: 1ca5d2f58d39c4cf3c733529464c14e0 +msgid "" +"Do you want to completely remove the plugin settings and options on plugin " +"deletion ( If you choose yes, then you will not be able to recover settings " +"again ) ?" +msgstr "" +"Sollen die gesamten Plugin -einstellungen und -optionen beim löschen des " +"Plugins entfernt werden (Bei Auswahl dieser Option können keine " +"Einstellungen wieder hergestellt werden)?" + +# +# (?) +#
    +# wpml-name: 0756ddd7a75e1506d8105391e4e2c4b8 +msgid "" +"If you disable this option, user profile data will be saved only once when " +"user logs in first time at your website, user profile details will not be " +"updated in your Wordpress database, even if user changes his/her social " +"accountdetails." +msgstr "" +"Bei Deaktivierung dieser Option werden Benutzerprofil-Daten nur gespeichert " +"wenn der Benutzer sich zum ersten Mal an der Webseite anmeldet. " +"Benutzerprofil-Details werden nicht in der Wordpress Datenbank aktualisiert, " +"auch wenn der Benutzer seine Social Account-Details ändert." + +# +# (?) +# +# wpml-name: 1e6a5496ce2efbd6b54abd00c85fb919 +msgid "" +"During accountcreation, it automatically adds a separator between first name " +"and last name of the user" +msgstr "" +"Während der Konten-Erstellung wird automatisch ein Trennzeichen zwischen " +"Vor- und Nachnamen des Benutzers gesetzt." + +# value="socialavatar"/>
    +# value="largeavatar"/>
    +# value="defaultavatar" /> +# wpml-name: ac3d916840a8341160942e57ff9c8693 +msgid "YES, let users use large avatars from Social ID provider if available" +msgstr "" +"Ja, Benutzer können große Avatare, wenn diese beim Social ID-Provider " +"verfügbar sind, verwenden." + +# +# value="socialavatar"/>
    +# value="largeavatar"/>
    +# wpml-name: 5a5808955d41a31f8b418344e9dadf4f +msgid "YES, let users use small avatars from Social ID provider if available" +msgstr "" +"Ja, Benutzer können kleine Avatare, wenn diese beim Social ID-Provider " +"verfügbar sind, verwenden." + +#
    +# +#
    +# wpml-name: c636ff23465b9fa90e2ffcd3ae819abf +msgid "" +"Do you want to automatically link your existing users' accounts to their " +"social accounts if their WP accountemail address matches the email address " +"associated with their social account?" +msgstr "" +"Sollen bestehende Benutzerkonten den korrespondierenden Social Accounts " +"automatisch zugeordnet werden, wenn deren WP-Konto E-Mail-Adresse mit deren " +"Social Account E-Mail-Adresse übereinstimmen?" + +# ?> +# /> ()
    +# /> +# wpml-name: 8b62990d22afcc1eaf3110032c69d8a3 +msgid "Redirect to the same page where the user registered" +msgstr "Umleitung zur gleichen Seite an der sich der Benutzer registriert hat." + +#
    +# +#
    +# wpml-name: 937902da27ee902602b83b9d7701198a +msgid "" +"Where do you want to redirect your users after registration ( first Social " +"Login ) ?" +msgstr "" +"Wohin sollen die Benutzer nach der Registrierung umgeleitet werden (Social " +"Login zuerst)?" + +#
    +# /> +#
    +# wpml-name: 65dd6cc04c0a737ba7222f1e4df45b12 +msgid "Redirect to accountdashboard" +msgstr "Umleitung zum Dashboard des Accounts" + +#
    +# +#
    +# wpml-name: 4aa4fa594a7725f18aaebdacec1e6981 +msgid "" +"A few ID Providers do not supply user e-mail ID as part of the user profile " +"data they provide. Do you want to prompt users to provide their email IDs " +"before completing registration process if it is not provided by the ID " +"Provider?" +msgstr "" +"Einige ID Provider stellen die Benutzer E-mail ID als Teil der " +"Benutzerprofildaten nicht zur Verfügung. Sollen die Benutzer vor Abschluss " +"des Registrierungsprozesses die Möglichkeit haben, ihre E-Mail als ID`s " +"einzugeben, wenn dies der Provider nicht anbietet?" + +#
    +# (?)
    +# http://www.colorpicker.com/ +# wpml-name: e15ee3391b63ec853cebf105c803aaa5 +msgid "" +"Leave emptyfor transparent. You can enter hexa-decimal code of the color as " +"well as name of the color." +msgstr "" +"Für transparent leer lassen. Es kann der hexadezimal-Code oder auch der Name " +"der Farbe angegeben werden." + +# +# (?) +#
    +# wpml-name: 83941ac3e7b87ec88ed29e643068eb0b +msgid "" +"It may break the functionality of the plugin if wp_footer and login_footer " +"hooks do not exist in your theme" +msgstr "" +"Die Funktionalität des Plugins kann brechen, wenn wp_footer und login_footer-" +"HOOKS in diesem Theme nicht existieren." + +#
    +# +# (?) +# wpml-name: e27c8955511aa10ee01107b6b9b1c279 +msgid "" +"Do you want the plugin Javascript code to be included in the footer for " +"faster loading of website content?" +msgstr "" +"Soll der Javascript-Code des Plugins in den Footer eingebettet werden um " +"Webseiteninhalt schneller zu laden?" + +# +# (?) +#
    +# wpml-name: c3bd48bc4c71643b002671defce2a76e +msgid "This is used for better user experience" +msgstr "Für eine bessere Benutzerfreundlichkeit" + +#
    +# +# (?) +# wpml-name: b3aa793ad177c014cfbc853a7d0a2f6b +msgid "Release authentication response in ID provider pop-up?" +msgstr "Authentifizierungs-Antwort in ID-Provider Pop-up?" + +#

    +#

    +#
    +# wpml-name: b0b55f46c61b4e07d458a1575ec4877f +msgid "" +"To receive updates on new features, future releases, etc, please connect " +"with us via Facebook" +msgstr "" +"Für Aktualisierungen von neuen Features und zukünftigen Versionen verknüpfe " +"deinen Facebook-Account." + +#

    +#

    +#

    +# wpml-name: dcff66d2c053da830b43b36f25a29e3e +msgid "" +"To activate the plugin, you will need to first configure it ( manage your " +"desired social networks, etc. ) from your LoginRadius account. If you do not " +"have an account, click" +msgstr "" +"Um das Plugin zu aktivieren, muss es zuerst in deinem LoginRadius-Account " +"(Verwaltung der gewünschten Social Networks usw.) auf unser Webseite " +"konfiguriert werden. Wenn du keinen Account hast, klicke bitte " + +# }else if ( data == 'same' ) { +# jQuery ( '#login_radius_api_response' ) .html ( '' ); +# }else if ( data == 'working' ) { +# wpml-name: 068a8185e10016bf5172dbba453fade3 +msgid "" +"API Key and Secret cannot be same. Please paste correct API Key and Secret " +"from your LoginRadius accountin the corresponding fields above." +msgstr "" +"API Key und Secret können nicht gleich sein. Bitte füge den korrekten API " +"Key und Secret aus deinem LoginRadius-Account in die dazugehörigen Feldern " +"ein." + +# function LoginRadiusSocialLinkingWidget(){ +# parent::WP_Widget( 'LoginRadiusSocialLinking' /*unique id*/, 'LoginRadius - Social Linking' /*title displayed at admin panel*/, array( 'description' => __( 'Link your Social Accounts', 'LoginRadius' ) ) /*Additional parameters*/ ); +# } +# wpml-name: 6e00cf818d878941ac6f1a74f1c73ebf +msgid "Link your Social Accounts" +msgstr "Verknüpfung der Social Accounts" + +# function LoginRadiusSocialLinkingWidget(){ +# parent::WP_Widget( 'LoginRadiusSocialLinking' /*unique id*/, 'LoginRadius - Social Linking' /*title displayed at admin panel*/, array( 'description' => __( 'Link your Social Accounts', 'LoginRadius' ) ) /*Additional parameters*/ ); +# } +# wpml-name: ebb6461995810885a90d1b0277865e06 +msgid "Inactive (Click to Enable)" +msgstr "Inaktiv (Klicken Sie auf aktivieren)" + +# function LoginRadiusSocialLinkingWidget(){ +# parent::WP_Widget( 'LoginRadiusSocialLinking' /*unique id*/, 'LoginRadius - Social Linking' /*title displayed at admin panel*/, array( 'description' => __( 'Link your Social Accounts', 'LoginRadius' ) ) /*Additional parameters*/ ); +# } +# wpml-name: bb0404046efcd0861a571598201ed47a +msgid "Active (Click to Disable)" +msgstr "Aktiv (Klicken Sie auf deaktivieren)" + +# function loginRadiusChangeStatus ( userId, currentStatus ) { +# jQuery ( '#loginRadiusStatus'+userId ) .html ( '' ); +# jQuery.ajax ( { +# wpml-name: c360639f51cb2625a9439974e865a683 +msgid "Please wait" +msgstr "Bitte warten" + +# if ( count( $totalAccounts ) != 1 ) { +# $html .= ''; +# } +# wpml-name: 1063e38cb53d94d386f21227fcd84717 +msgid "Remove" +msgstr "Entfernen" + +# $html .= '' . $append; +# $html .= __( 'Connected with', 'LoginRadius' ); +# $html .= ' ' . ucfirst( $map ) . ' '; +# wpml-name: c95c22e63bedae04f0ac921779404a86 +msgid "Connected with" +msgstr "Verbunden mit" + +# +# +# +# wpml-name: 2f00f7d89c781050aa2116f3dbdfa619 +msgid "By adding another account, you can log in with the new account as well!" +msgstr "" +"Nach dem Hinzufügen eines neuen Kontos kannst du dich auch mit diesem " +"anmelden." + +#

    +#

    +#
    +# wpml-name: 0303c2cf3fef70a33478885e59dd877a +msgid "Link your account" +msgstr "Verknüpfe dein Konto" + +# $html .= '
    '; +# $html .= __( 'Account mapped successfully', 'LoginRadius' ); +# $html .= '
    '; +# wpml-name: 53817d392ff02f42f9be813683b9b4ab +msgid "Account mapped successfully" +msgstr "Konto erfolgreich zuegeordnet." + +# $html .= '
    '; +# $html .= __( 'This account is already mapped', 'LoginRadius' ); +# $html .= '
    '; +# wpml-name: bc8447f34d8cf648983ed9bd6039d9f1 +msgid "This account is already mapped" +msgstr "Dieses Konto ist bereits zugeordnet." + +# ?> +#
    get_field_id( 'after_widget_content' ); ?>" name="get_field_name( 'after_widget_content' ); ?>" type="text" value="" /> +#

    +# /> +# wpml-name: ae0c445ffd90c59817a861c4aed55b6c +msgid "Hide for logged in users:" +msgstr "Für eingeloggte Benutzer verbergen:" + +# +# +# +# wpml-name: 02c8f6b8cad10a56f20f88c211138236 +msgid "After widget content:" +msgstr "Inhalt nach dem Widget:" + +# +# +# +# wpml-name: a40aa545e56a61acce9951bc94659ddb +msgid "Before widget content:" +msgstr "Inhalt vor dem Widget:" + +#

    +# +# +# wpml-name: 51ec9bf4aaeab1b25bb57f9f8d4de557 +msgid "Title:" +msgstr "Titel:" + +# function LoginRadiusHorizontalShareWidget(){ +# parent::WP_Widget( 'LoginRadiusHorizontalShare' /*unique id*/, 'LoginRadius - Horizontal Sharing' /*title displayed at admin panel*/, array( 'description' => __( 'Share post/page with Facebook, Twitter, Yahoo, Google and many more', 'LoginRadius' ) ) /*Additional parameters*/ ); +# } +# wpml-name: 3f55e2f720ce2b4754df7d2597c71bad +msgid "Share post/page with Facebook, Twitter, Yahoo, Google and many more" +msgstr "" +"Teile Seiten/Postings mit Facebook, Twitter, Yahoo, Google und vielen " +"anderen." + +# function LoginRadiusWidget(){ +# parent::WP_Widget( 'LoginRadius' /*unique id*/, 'LoginRadius - Social Login' /*title displayed at admin panel*/, array( 'description' => __( 'Login or register with Facebook, Twitter, Yahoo, Google and many more', 'LoginRadius' ) ) /*Additional parameters*/ ); +# } +# wpml-name: cd3d9016079bac236696700d70c3515a +msgid "Login or register with Facebook, Twitter, Yahoo, Google and many more" +msgstr "" +"Einloggen oder Registrieren mit Facebook, Twitter, Yahoo, Google und vielen " +"anderen" + +# +# +#

    +# wpml-name: 31fde7b05ac8952dacf4af8a704074ec +msgid "Preview" +msgstr "Vorschau" + +# ?> +# +# +# wpml-name: f5d6040ed78ca86ddc73296a49b18510 +msgid "Save Changes" +msgstr "Änderungen speichern" + +# ?> +# +# +# wpml-name: 112ec40ca9c53ed4f2b76bb50e83481a +msgid "" +"Enter a number (For example - 200). It will set the 'top' CSS attribute of " +"the interface to the value specified. Increase in the number pushes " +"interface towards bottom." +msgstr "" +"Geben Sie eine Zahl (zum Beispiel - 200). Es wird das 'top' CSS-Attribut der " +"Schnittstelle auf den angegebenen Wert gesetzt. Erhöhung der Zahl verschiebt " +"die Schnittstelle Richung unten." + +# ?> +# +# +# wpml-name: 93c5a34a2ba371d5c013088045e5c4d0 +msgid "" +"Specify distance of vertical sharing interface from top (Leave empty for " +"default behaviour)" +msgstr "" +"Gib den Abstand von der vertikalen Sharing-Schnittstelle von oben ein " +"(Lasse ihn für das Standard-Verhalten leer)" + +#
    +# +#
    +# wpml-name: 2c34cd388cc367df47f856195a67ba6c +msgid "Select the position of the Social Sharing widget" +msgstr "Wähle die Position des Social Sharing Widgets" + +#
    +# +#
    +# wpml-name: 46f2f9ed693bf5688de3f6996727b8aa +msgid "Choose a sharing theme" +msgstr "Wähle ein Theme" + +#
    +# +#
    +# wpml-name: 1a24b9ec2a26d21b1d69590510bff5ec +msgid "Do you want to enable Vertical Social Sharing at your website?" +msgstr "Soll Vertical Social Sharing auf der Webseite angewendet werden?" + +# />
    +# /> +#
    +# wpml-name: c6377da6d7f7a9073f35f9d07422da59 +msgid "Show on post excerpts " +msgstr "In Ausschnitten der Beiträge anzeigen" + +#
    +# />
    +# /> +# wpml-name: 66c44d32f6486d018f483d6a6f309c82 +msgid "Show on pages" +msgstr "In Seiten azeigen" + +# />
    +# /> +#
    +# wpml-name: 8a9e53ec970f408a406686a275684265 +msgid "Show on posts" +msgstr "In den Beiträgen anzeigen" + +#
    +# />
    +# /> +# wpml-name: 1b8e1f211c6790b27a8e41c3eb649f49 +msgid "Show on homepage" +msgstr "Auf der Homepage anzeigen" + +# +# />
    +# /> +# wpml-name: 85283e063bf0c10bdca11bd1cb9f7394 +msgid "What area(s) do you want to show the social sharing widget?" +msgstr "Wo soll der Social Sharing Widget angezeigt werden?" + +# />
    +# />
    +# +# wpml-name: 5b8f8501c8150bd45ea3c995c8d5f33c +msgid "Show at the bottom of content" +msgstr "Inhalt im unteren Bereich anzeigen" + +# +# />
    +# />
    +# wpml-name: c7fca6183c520a8297e434a4463d1ce7 +msgid "Show at the top of content" +msgstr "Inhalt im oberen Bereich anzeigen" + +#
    +# +#
    +# wpml-name: 30396b541edabdb7d94874a34713194c +msgid "Select the position of the Social sharing interface" +msgstr "Wähle die Position des Social Sharing Interfaces." + +#
    +# +#
    +# wpml-name: 9be51c544ec4a9e30b96404acdeaec02 +msgid "In what order do you want your sharing networks listed?" +msgstr "In welcher Reichenfolge sollen deine Sharing Networks gelistet werden?" + +# +# +#
    +# wpml-name: ddfaacf7fd2e305cc37873fb98379378 +msgid "You can select only nine providers" +msgstr "Du kannst nur 9 Anbieter auswählen" + +# +# +#
    +# wpml-name: ba1988723d8abf292859f4ba57dc5095 +msgid "" +"What Sharing Networks do you want to show in the sharing widget? (All other " +"sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "" +"Welche Sharing Networks willst du im Sharing Widget anzeigen? (Alle anderen " +"Sharing Networks werden als Teil des LoginRadius Sharing-Symbols angezeigt)" + +# +# +# +# wpml-name: 53560309e0888e9dfce912daae1595fc +msgid "Share it now!" +msgstr "Teile es jetzt!" + +#
    +# +#
    +# wpml-name: 40b9bf0f4912d00d8a0b166a9fd34347 +msgid "" +"Enter the text that you wish to be displayed above the Social Sharing " +"Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "" +"Gib den Text ein der über dem Social Sharing Interface angezeigt werden " +"soll. Das Feld leer lassen, wenn kein Text angezeigt werden soll." + +#
    +# +#
    +# wpml-name: e0a7f1602d8f4ff65dc2f5f64029771e +msgid "Choose a Sharing theme" +msgstr "Wähle ein Theme" + +#
    +# +#
    +# wpml-name: 9974f3cfe499f69959a1ab5bc67e6c88 +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "Soll Horizontal Social Sharing auf deiner Webseite aktiviert werden?" + +#
    +# +#
    +# wpml-name: 0cec3e1ef782ac1dee4613f221d16d90 +msgid "" +"What Social Sharing widget theme would you like to use across your website? " +"(Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "" +"Welches Social Sharing Widget Theme soll über deine gesamte Webseite benutzt " +"werden? (Horizontal und Vertikal Themes können gleichzeitig aktiviert " +"werden)." + +#
    +#

    +#
    +# wpml-name: 2b18a3d3965ba22dff316ecad492156a +msgid "Social Sharing Theme Selection" +msgstr "Auswahl des Social Sharing Theme " + +#

    +# /> +# +# wpml-name: ea23c7d208eb199428d078900275c967 +msgid "Individual page associated with that Social sharing interface" +msgstr "Eigene Seite, verknüpft mit diesem Social Sharing Interface." + +#
    +# /> +#

    +# wpml-name: 7b84173263a6668b5e1ef0eaed4f6927 +msgid "Page where all the social sharing interfaces are shown" +msgstr "Seite, wo die Social Sharing Interfaces angezeigt werden sollen." + +#
    +# +#
    +# wpml-name: c3b9fbf81b32a2468fb42812632b2806 +msgid "" +"Which page do you want to get shared when multiple social sharing interfaces " +"are shown on a page/home page?" +msgstr "" +"Welche Seite soll geteilt werden, wenn mehrere Social Sharing Interfaces auf " +"der Webseite/Homepage angezeigt werden?" + +#
    +# ? +#
    +# wpml-name: d86c6928e40b22fb260f7ae637b5520a +msgid "Do you want to enable Social Sharing for your website" +msgstr "Möchtest du Social Sharing für deine Webseite aktivieren?" + +#
    +#

    +#
    +# wpml-name: a26e64749b10304b42d5f4d82a4f3a2f +msgid "Basic Social Sharing Settings" +msgstr "Basiseinstellungen für Social Sharing" + +# />
    +# /> +# +# wpml-name: 20434a755d9f030f51909313fdcc8a6b +msgid "NO, I want to approve the comments per my discretion" +msgstr "Nein, ich wil die Kommentare für meine Diskretion genehmigen." + +#
    +# +#
    +# wpml-name: 6ea416e515b3eb445f66dc6d0c9158ac +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "" +"Sollen Kommentare die per Social Login erfolgen,automatisch genehmigt werden?" + +# +# +# +# wpml-name: 3a894797a1b4f2c892a6684dea766a0f +msgid "Before the comment box" +msgstr "Vor der Kommentarbox" + +# +# +# +# wpml-name: a66e7f1202e148eabec476659b37a963 +msgid "Before the comment form input fields" +msgstr "Vor den Kommentar-Formular-Eingabefeldern" + +# +# +# +# wpml-name: 830189f6121fc53a4ac5b4c48e4120ff +msgid "After the 'Leave a Reply' caption" +msgstr "Nach dem Titel \"Hinterlassen Sie eine Antwort ' " + +# />
    +# />
    +# wpml-name: 7469a286259799e5b37e5db9296f00b3 +msgid "YES" +msgstr "JA" + +#
    +# />
    +# />
    +# wpml-name: 981ff392e74ce7d94211c756f428ad98 +msgid "" +"If you disable this option, user profile data will be saved only once when " +"user logs in first time at your website, user profile details will not be " +"updated in your Wordpress database, even if user changes his/her social " +"account details." +msgstr "" +"Wenn du diese Option deaktivierst werden Benutzerprofildaten nur einmal, " +"beim ersten Anmelden an der Webseite gespeichert. Benutzerprofil Details " +"werden in der Wordpress Datenbank nicht aktualisiert, auch wenn Benutzer " +"ihre Social Account Details ändern." + +#
    +# +# (?) +# wpml-name: 4617ef527326f1077abea54ca422daf4 +msgid "" +"Do you want to update User Profile Data in your Wordpress database, every " +"time user logs into your website?" +msgstr "" +"Möchtest du die Benutzer Profil Daten jedes Mal in der Wordpress Datenbank " +"aktualisieren, sobald sich der Benutzer an der Webseite anmeldet?" + +#
    +#

    +#
    +# wpml-name: 28d2282110a6aaa01eecf16386724037 +msgid "User Profile Data Options" +msgstr "Benutzerprofil Datenoptionen" + +# />
    +# /> +#
    +# wpml-name: 3cab03c00dbd11bc3569afa0748013f0 +msgid "Inactive" +msgstr "Inaktiv" + +#
    +# />
    +# /> +# wpml-name: 4d3d769b812b6faa6b76e1a8abaece2d +msgid "Active" +msgstr "Aktiv" + +#
    +# +#
    +# wpml-name: 735ca8d13331c793117a215eb11a3dde +msgid "" +"What would you like to set as the default status of the user when he/she " +"registers to your website?" +msgstr "Was soll der Standardstatus sein, wenn sich der Benutzer registriert?" + +#
    +# +#
    +# wpml-name: c2f3f489a00553e7a01d369c103c7251 +msgid "NO" +msgstr "NEIN" + +#
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'table-row'; }" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'none'; }" />
    +# wpml-name: 31fc5c1ba4a0c871af8d9dc52c647823 +msgid "User list" +msgstr "Benutzerliste" + +#
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'table-row'; }" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'none'; }" />
    +# wpml-name: 51ed524d6f8d26d4fa3c14b7a704f30f +msgid "YES, display activate/deactivate option in the " +msgstr "Ja, aktivieren/deaktivieren Option anzeigen " + +# +# (?) +#
    +# wpml-name: 33fc579b13cf340b96db2813cac4a6f9 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "" +"Du kannst Benutzer aktivieren/deaktivieren von der Status Spalte auf der " +"Benutzerseite im admin auswählen." + +#
    +# +# (?) +# wpml-name: 0a2caae6fef376a22876b3822afba80a +msgid "Do you want to control user activation/deactivation?" +msgstr "Wollen Sie Benutzer Aktivierung / Deaktivierung kontrollieren?" + +#
    +#

    +#
    +# wpml-name: 61dc0ef11c2818cce758386b9b7fe146 +msgid "User Membership Control" +msgstr "Kontrolle der Benutzermitgliedschaft" + +# value="dot"/> ( . )
    +# value='space'/>() +# +# wpml-name: d511f8439ecde36647437fbba67a4394 +msgid "Space" +msgstr "Abstand" + +# value="dash" /> ( - )
    +# value="dot"/> ( . )
    +# value='space'/>() +# wpml-name: af6c6cf7a454b4ef4a850ac4d960a2cc +msgid "Dot" +msgstr "Punkt" + +#
    +# value="dash" /> ( - )
    +# value="dot"/> ( . )
    +# wpml-name: 3663598d5c5858b5a6040b1bbed4f187 +msgid "Dash" +msgstr "Linie" + +#
    +# value="dash" /> ( - )
    +# value="dot"/> ( . )
    +# wpml-name: 0f03c29649dff3f6074025f24c9d6589 +msgid "" +"During account creation, it automatically adds a separator between first " +"name and last name of the user" +msgstr "" +"Während der Erstellung des Kontos werden zwischen Vorname und Nachname " +"automatisch ein Trennzeichen beim Benutzernamen eingefügt" + +#
    +# +# (?) +# wpml-name: a8efcac174011da0ebffa91c518a9141 +msgid "Do you need to change the separator for the username?" +msgstr "Soll das Trennzeichen für den Benutzernamen geändert werden?" + +# value="largeavatar"/>
    +# value="defaultavatar" /> +#
    +# wpml-name: d81ba6458fbd1ba99de8ce83cf744bd1 +msgid "NO, use default avatars" +msgstr "Nein, Standardavatare benutzen" + +# value="largeavatar"/>
    +# value="defaultavatar" /> +#
    +# wpml-name: 9fc077582d8d91d1c0b5d02f878faf53 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "Ja, Benutzer dürfen ihre Social Profile Bilder als Avatar benutzen." + +#
    +#
    +# value="socialavatar"/>
    +# wpml-name: 16f52b9e24e8455ca9c058abbcb26adc +msgid "" +"Do you want to let users use their social profile picture as an avatar on " +"your website?" +msgstr "Dürfen Benutzer ihre Social-Profil-Bilder als Avatare anzeigen lassen?" + +# />
    +# /> +#
    +# wpml-name: 235a125199f469864a99c081b2373e01 +msgid "" +"NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "" +"Nein, Änderungen nicht auf andere Blogs anwenden, wenn das Plugin " +"aktualisiert wird." + +#
    +# />
    +# /> +# wpml-name: 5c702827d681929f0dee9fb62ffc7282 +msgid "" +"YES, apply the same changes to plugin settings of each blog in the multisite " +"network when I update plugin settings." +msgstr "Ja, die gleichen Änderungen an den Plugineinstellungen anwenden wie" + +#
    +#
    +# />
    +# wpml-name: f1da551c9ad9221fe7024a3e830d410a +msgid "" +"Do you want to apply the same changes when you update plugin settings in the " +"main blog of multisite network?" +msgstr "" +"Sollen die Änderungen in den Plugineinstellungen auch auf den Hauptblog im " +"Mulitsite-Netzwerk angewendet werden?" + +#
    +# /> +#
    +# wpml-name: ac10088ff03ad9dd256806f4bffe21eb +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "" +"Nein, die vorhandenen Benutzer sollen sich weiterhin mit dem nativen WP " +"Login anmelden." + +#
    +# /> +#
    +# wpml-name: 7b4ac16ae94d057a5a8a73484ddc48dc +msgid "YES, automatically link social accounts to WP accounts" +msgstr "Ja, automatisch die Link Social Konten mit den WP Konten verknüpfen." + +#
    +# /> +#
    +# wpml-name: 2f8b9b228d54d9885302e1b6359ad983 +msgid "" +"Do you want to automatically link your existing users' accounts to their " +"social accounts if their WP account email address matches the email address " +"associated with their social account?" +msgstr "" +"Sollen bestehende Benutzerkonten den korrespondierenden Social Accounts " +"zugeordnet werden, wenn deren WP-Konto E-Mail-Adresse mit deren Social " +"Account E-Mail-Adresse übereinstimmen?" + +# />
    +# /> +#
    +# wpml-name: a3948dbf8eddcbc7a4d21d554324cd8f +msgid "" +"NO, do not display the social network that the user connected with, in the " +"user list" +msgstr "" +"Nein, die Social Networks mit denen die Benutzer angemeldet sind in den " +"Benutzerlisten nicht anzeigen." + +# +# />
    +# /> +# wpml-name: 8b23efba9cdce81fe8f2acb9cd040399 +msgid "" +"YES, display the social network that the user connected with, in the user " +"list" +msgstr "" +"Ja, das Social Network mit dem der Benutzer angemeldet ist in der " +"Benutzerliste anzeigen." + +#
    +# ? +#
    +# wpml-name: 5728ed0f27b3dff6bac62dcb54430e0e +msgid "" +"Do you want to display the social network that the user connected with, in " +"the user list" +msgstr "" +"Soll das Social Network, mit dem der Benutzer angemeldet ist, in der " +"Bentuzerliste angezeigt werden?" + +# />
    +# +#
    +# wpml-name: 7d925a328c681857be62270599b4eeb9 +msgid "New users will not be able to login through Social Login" +msgstr "" +"Neue Benutzer werden nicht in der Lage sein sich mittels Social Login " +"anzumelden." + +# />
    +# />
    +# +# wpml-name: 402d4ca6a30bff29b89e24b185bab6aa +msgid "NO, do not allow new users to register through Social Login" +msgstr "" +"Nein, neuen Benutzern nicht erlauben sich mittels Social Login zu " +"registrieren." + +# +# />
    +# />
    +# wpml-name: 3afb140a056d736cbb501c4f7617adf6 +msgid "YES, allow new users to register through Social Login" +msgstr "Ja, Benutzern erlauben sich mittels Social Login zu registrieren" + +#
    +# +#
    +# wpml-name: 685ec9b7553204dbf849c398ff1333fc +msgid "Do you want to allow new users to register through Social Login?" +msgstr "Sollen sich neue Benutzer mittels Social Login registrieren können?" + +#
    +#

    +#
    +# wpml-name: 2c84f0b1e42ad48f2fc644b1fffd2b85 +msgid "User Settings" +msgstr "Benutzereinstellungen" + +# ?> +# onclick="if ( this.checked ) { document.getElementById ( 'loginRadiusCustomLogoutUrl' ) .style.display = 'none' }" /> () +#
    +# wpml-name: 2377ab90622ad06c08b4894c0b76dbbc +msgid "Redirect to the homepage" +msgstr "Umleitung zur Homepage" + +#
    +# +#
    +# wpml-name: 15470682d2a0570435e442140a3eec67 +msgid "" +"Note: Logout function works only when clicking 'logout' in the social login " +"widget area. In all other cases, WordPress's default logout function will be " +"applied." +msgstr "" +"Anmerkung: Die Abmeldefunktion funktioniert nur, wenn 'abmelden' in der " +"Social Login Widget Area angeklickt wird. In allen anderen Fällen wird die " +"Standard-Abmeldefunktion von Wordpress angewendet." + +#
    +# +#
    +# wpml-name: ce13cd8a088438c9d24a0edcd0ba74f6 +msgid "" +"Where do you want to redirect your users after successfully logging out?" +msgstr "Wohin sollen Benutzer nach erfolgreicher Abmeldung umgeleitet werden?" + +# ?> +# onclick="if ( this.checked ) { document.getElementById ( 'loginRadiusCustomLoginUrl' ) .style.display = 'block' }" /> +#
    +# wpml-name: 26ffd22ac848aa98a54ee6ec0730d0eb +msgid "Redirect to Custom URL:" +msgstr "Umleitung zu einer beliebigen URL:" + +# ?> +# /> +#
    +# wpml-name: c3a89e46179a34464d5ac729eb68feec +msgid "Redirect to Buddypress profile page" +msgstr "Zur BuddyPress Profil-Seite umleiten" + +# ?> +# /> +#
    +# wpml-name: 06b0e6d68a82aa61b6e24add711973a0 +msgid "Redirect to account dashboard" +msgstr "Zum Account-Dashboard weiterleiten" + +# /> ()
    +# /> +#
    +# wpml-name: a90ddcee413ec787edbfea31d03d6151 +msgid "Redirect to homepage of your WP site" +msgstr "Umleitung zur Homepage deiner Wordpressseite" + +# ?> +# /> ()
    +# /> +# wpml-name: 7a1920d61156abc05a60135aefe8bc67 +msgid "Default" +msgstr "Standard" + +# ?> +# /> ()
    +# /> +# wpml-name: 877a8228dd7dafbaad57c4132ee291ab +msgid "Redirect to the same page where the user logged in" +msgstr "Umleiten zur Seite wo der Benutzer sich angemeldet hat." + +#
    +# +#
    +# wpml-name: b4817dd9eeab2feeee448fb588575ad0 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "Wo wollen Sie Ihre Benutzer nach erfolgreicher Anmeldung umleiten?" + +#
    +#

    +#
    +# wpml-name: 44c7f5a5bfcc3302240723ac377a868d +msgid "Redirection Settings" +msgstr "Umleitung-Einstellungen" + +#
    +# +# +# wpml-name: 939c9b785ab33ad4a326171f1d84b38c +msgid "" +"The email you have entered is either already registered or invalid. Please " +"enter a valid email address." +msgstr "" +"Die eingegebene E-Mail-Adresse ist entweder ungültig oder schon registriert. " +"Bitte eine gültige E-Mail-Adresse eingeben." + +#
    +# +#
    +# wpml-name: d83beb04d22ce889cd49ce37f5fadacb +msgid "" +"Please enter the message to be shown to the user in case of an invalid or " +"already registered email" +msgstr "" +"Hier die Nachricht eingeben welche bei Angabe einer ungültigen oder bereits " +"registrierten E-Mail-Adresse dem Benutzer angezeigt wird." + +#
    +# +#
    +# wpml-name: 2514f6fab859be1502c13f570b39bc87 +msgid "" +"Unfortunately, the ID Provider did not provided your email address. Please " +"enter your email to proceed" +msgstr "" +"Der ID Provider stellte deine E-Mail-Adresse leider nicht bereit. Bitte gib " +"deine E-Mail-Adresse ein um fortzufahren." + +# +#
    +# wpml-name: 4b1c1de85f4e16a8844842e2b42015b8 +msgid "" +"Please enter the message to be displayed to the user in the pop-up asking " +"for their email address" +msgstr "" +"Hier die Nachricht eingeben, welche den Benutzern im Pop-Up-Fenster bei der " +"Abfrage der E-Mail-Adresse angezeigt wird." + +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'table-row'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'table-row';}" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'none'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'none';}" /> +#
    +# wpml-name: 6dffdd2d9726752f11ea0c7de13562d0 +msgid "NO, just auto-generate random email IDs for users" +msgstr "Nein, nur auto-generierte, zufällige ID`s für Benutzer" + +# ?> +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'table-row'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'table-row';}" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'none'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'none';}" /> +# wpml-name: 228749556f8e02b75d3c13798e313669 +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "" +"Ja, Benutzer fragen ihre E-Mail-Adresse in einem Pop-up-Fenster einzugeben." + +# ?> +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'table-row'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'table-row';}" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'none'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'none';}" /> +# wpml-name: 4a7c657373ec2b64d40eed176aee7da4 +msgid "" +"A few ID Providers do not supply users' e-mail IDs as part of the user " +"profile data they provide. Do you want to prompt users to provide their " +"email IDs before completing registration process if it is not provided by " +"the ID Provider?" +msgstr "" +"Einige ID Provider stellen die Benutzer E-mail ID als Teil der " +"Benutzerprofildaten nicht zur Verfügung. Sollen die Benutzer vor Abschluss " +"des Registrierungsprozesses die Möglichkeit haben, ihre E-Mail als ID`s " +"einzugeben, wenn dies der Provider nicht anbietet?" + +# />
    +# /> +#
    +# wpml-name: ddcdaaa7726c7b9269a7a642623157b8 +msgid "NO, do not send email to users after registration" +msgstr "Nein, Benutzern nach der Registrierung keine E-Mail senden." + +# ?> +# />
    +# /> +# wpml-name: 538b1620f4ebad5d72d7f16ab03f4e7c +msgid "YES, send an email to users after registration" +msgstr "Ja, Benutzern nach der Registrierung eine E-Mail senden." + +#
    +# +#
    +# wpml-name: c062d063c205400f6f977a0269119575 +msgid "" +"Do you want to send emails to users with their username and password post-" +"registration?" +msgstr "" +"Sollen E-Mails an Benutzer mit deren Benutzernamen und Passwort nach der " +"erfolgreichen Registrierung gesendet werden?" + +#
    +#

    +#
    +# wpml-name: 64e3ea42c2ad24f48a9bdde7f678ef65 +msgid "User Email Settings" +msgstr "Einstellungen - E-Mail - Benutzer" + +# (?)
    +# http://www.colorpicker.com/ +#
    +# wpml-name: 5363414f2a6aabd7bef0b41bcf08edbb +msgid "You can get hexadecimal code of the color from " +msgstr "Den Hexadezimal Code für die Farbe findest du hier:" + +# (?)
    +# http://www.colorpicker.com/ +#
    +# wpml-name: b4efdb66f6c40333d433c77f034ed7a1 +msgid "" +"Leave empty for transparent. You can enter hexa-decimal code of the color as " +"well as name of the color." +msgstr "" +"Lassen Sie leer transparent. Sie können hexadezimale Code der Farbe sowie " +"Namen der Farbe." + +# +#
    +# (?)
    +# wpml-name: 2ae84608a2b1979c21461a091744035f +msgid "" +"What background color would you like to use for the Social Login interface?" +msgstr "Was für eine Hintergrundfarbe soll dein Social Login Interface haben?" + +# +#
    +# +# wpml-name: 2ba4fa3471202e339c47159b62985d51 +msgid "How many social icons would you like to be displayed per row?" +msgstr "Wie viele Social-Icons sollen per Zeile angezeigt werden?" + +#
    +# /> +#
    +# wpml-name: 2660064e68655415da2628c2ae2f7592 +msgid "Small" +msgstr "klein" + +#
    +# /> +#
    +# wpml-name: 87f8a6ab85c9ced3702b4ea641ad4bb5 +msgid "Medium" +msgstr "mittel" + +# +#
    +#
    +# wpml-name: 1b003bebb5d80b4619dfbba3ff5c4a48 +msgid "Select the icon size to use in the Social Login interface" +msgstr "Wähle die Icongrösse des Social Login Interfaces" + +#
    +#

    +#
    +# wpml-name: 9bfdc6e7d16b3deb9638c247a173c3ec +msgid "Social Login Interface Customization" +msgstr "Anpassung - Social Login Interface " + +# />
    +# /> +#
    +# wpml-name: 167dce5b261de8ce435fe1e1c6945b16 +msgid "Show it beside the registration form" +msgstr "Neben dem Registrierungsformular anzeigen" + +#
    +# />
    +# /> +# wpml-name: 30241c4df807be2b823501593f23e07b +msgid "Show it below the registration form" +msgstr "Unter dem Registrierungsformular anzeigen" + +#
    +# +#
    +# wpml-name: 9c2fe81923166b24dee2246bd904e41b +msgid "" +"If Yes, how do you want the Social Login interface to be shown on your " +"wordpress registration page?" +msgstr "" +"Wenn ja, wie soll das Social Login Interface an der Wordpress " +"Registrierungsseite angezeigt werden?" + +#
    +# +#
    +# wpml-name: c92c5331053819b6379cd06cdb3f0436 +msgid "" +"Do you want to show Social Login interface on your WordPress registration " +"page?" +msgstr "" +"Soll das Social Login Interface an der Wordpress Registrierungsseite " +"angezeigt werden?" + +#
    +# /> +#
    +# wpml-name: bafd7322c6e97d25b6299b5d6fe8920b +msgid "No" +msgstr "nicht" + +#
    +# /> +#
    +# wpml-name: 93cba07454f06a4a960172bbd6e2a435 +msgid "Yes" +msgstr "JA" + +# +#
    +#
    +# wpml-name: eb460877b613fc45a3f810ecc16f0b55 +msgid "" +"Do you want to show the Social Login interface on your WordPress login page?" +msgstr "" +"Soll das Social Login Interface an der Wordpress Anmeldeseite angezeigt " +"werden?" + +#
    +# +#
    +# wpml-name: e18f8ea2160640cbcf0c3c4a20ee3a62 +msgid "Login with Social ID" +msgstr "Einloggen mit Social ID" + +# +#
    +# +# wpml-name: f46cce18d6069c14024b23be12cc0744 +msgid "" +"What text should be displayed above the Social Login interface? Leave blank " +"if you do not want any text to be displayed" +msgstr "" +"Welcher Text soll über dem Social Login Interface angezeigt werden? Leer " +"lassen, um nichts anzuzeigen." + +#
    +#

    +#
    +# wpml-name: b8d7f37418d201ecced7e0f284ff6ce6 +msgid "Social Login Interface Settings" +msgstr "Social Login Interface Einstellungen" + +#
    +# +#
    +# wpml-name: c0121aaba275aea89392acb2f125f2f2 +msgid "Verify API Settings" +msgstr "API Einstellungen überprüfen" + +# +# +# +# wpml-name: 1ddec0f92f297e937bdf409977df0c02 +msgid "API Secret" +msgstr "API Secret" + +# +# +# +# wpml-name: d876ff8da67c3731ae25d8335a4168b4 +msgid "API Key" +msgstr "API Key" + +#

    +# wpml-name: 93f13975a0dfc80a59cadd19d6404967 +msgid "(How to get it?)" +msgstr "(Wie mache ich das?)" + +#
    +#

    +# />
    +# />
    +# wpml-name: c7fca6183c520a8297e434a4463d1ce7 +msgid "Show at the top of content" +msgstr "Mostrare il contenuto in alto" + +#
    +# +#
    +# wpml-name: 30396b541edabdb7d94874a34713194c +msgid "Select the position of the Social sharing interface" +msgstr "Scegli la posizione dei Social Sharing Interface." + +#
    +# +#
    +# wpml-name: 9be51c544ec4a9e30b96404acdeaec02 +msgid "In what order do you want your sharing networks listed?" +msgstr "In quale ordine devono essere elencati i tuoi Sharing Network?" + +#
    +# +#
    +# wpml-name: ddfaacf7fd2e305cc37873fb98379378 +msgid "You can select only nine providers" +msgstr "È possibile selezionare solo nove fornitori" + +#
    +# +#
    +# wpml-name: ba1988723d8abf292859f4ba57dc5095 +msgid "" +"What Sharing Networks do you want to show in the sharing widget? (All other " +"sharing networks will be shown as part of LoginRadius sharing icon)" +msgstr "" +"Quali Sharing Network vuoi posizionare nel widget di condivisione? (Tutte " +"gli altri Sharing Network verranno visualizati come parte dell`icona " +"'LoginRadius condivisione')" + +#
    +# +# +# wpml-name: 53560309e0888e9dfce912daae1595fc +msgid "Share it now!" +msgstr "Condividi ora!" + +#
    +# +#
    +# wpml-name: 40b9bf0f4912d00d8a0b166a9fd34347 +msgid "" +"Enter the text that you wish to be displayed above the Social Sharing " +"Interface. Leave the field blank if you don't want any text to be displayed." +msgstr "" +"Inserisci il testo da mostrare sopra il Social Sharing Interface. Lasciare " +"il campo vuoto, se non deve esserci testo." + +#
    +# +#
    +# wpml-name: e0a7f1602d8f4ff65dc2f5f64029771e +msgid "Choose a Sharing theme" +msgstr "Scegli un tema " + +#
    +# +#
    +# wpml-name: 9974f3cfe499f69959a1ab5bc67e6c88 +msgid "Do you want to enable Horizontal Social Sharing at your website?" +msgstr "Vuoi attivare Horizontal Social Sharing sul tuo sito web?" + +#
    +# +#
    +# wpml-name: 0cec3e1ef782ac1dee4613f221d16d90 +msgid "" +"What Social Sharing widget theme would you like to use across your website? " +"(Horizontal and Vertical themes can be enabled simultaneously)" +msgstr "" +"Quale Social Sharing Widget Theme deve utilizzato su tutto il tuo sito web? " +"(Horizontal e Vertical Themes possono essere attivati contemporaneamente)." + +#
    +#

    +#
    +# wpml-name: 2b18a3d3965ba22dff316ecad492156a +msgid "Social Sharing Theme Selection" +msgstr "Selezione Social Sharing Theme" + +#

    +# /> +# +# wpml-name: ea23c7d208eb199428d078900275c967 +msgid "Individual page associated with that Social sharing interface" +msgstr "Pagina dedicata, associato con questo Social Sharing Interface." + +#
    +# /> +#

    +# wpml-name: 7b84173263a6668b5e1ef0eaed4f6927 +msgid "Page where all the social sharing interfaces are shown" +msgstr "Pagina, dove i Social Sharing Interface vengano mostrati." + +#
    +# +#
    +# wpml-name: c3b9fbf81b32a2468fb42812632b2806 +msgid "" +"Which page do you want to get shared when multiple social sharing interfaces " +"are shown on a page/home page?" +msgstr "" +"Quale pagina vuoi condividere in caso di visualizazzione multipla di Social " +"Sharing Interface su tuo sito web/homepage? " + +#
    +# ? +#
    +# wpml-name: d86c6928e40b22fb260f7ae637b5520a +msgid "Do you want to enable Social Sharing for your website" +msgstr "Vuoi attivare Social Sharing per il tuo sito?" + +#
    +#

    +#
    +# wpml-name: a26e64749b10304b42d5f4d82a4f3a2f +msgid "Basic Social Sharing Settings" +msgstr "Impostazione di base di Social Sharing " + +# />
    +# /> +# +# wpml-name: 20434a755d9f030f51909313fdcc8a6b +msgid "NO, I want to approve the comments per my discretion" +msgstr "No, voglio approvare i commenti per la mia discrezione" + +#
    +# +#
    +# wpml-name: 6ea416e515b3eb445f66dc6d0c9158ac +msgid "Do you want to automatically approve comments posted via Social Login?" +msgstr "Commenti pubblicati tramite Social Login approvare in automatico?" + +# +# +# +# wpml-name: 3a894797a1b4f2c892a6684dea766a0f +msgid "Before the comment box" +msgstr "Prima del campo di commento" + +# +# +# +# wpml-name: a66e7f1202e148eabec476659b37a963 +msgid "Before the comment form input fields" +msgstr "Prima dei campi commento-modulo-input" + +# +# +# +# wpml-name: 830189f6121fc53a4ac5b4c48e4120ff +msgid "After the 'Leave a Reply' caption" +msgstr "Dopo il bottone 'Lascia un commento' " + +# />
    +# />
    +# wpml-name: 7469a286259799e5b37e5db9296f00b3 +msgid "YES" +msgstr "SI" + +#
    +# />
    +# />
    +# wpml-name: 981ff392e74ce7d94211c756f428ad98 +msgid "" +"If you disable this option, user profile data will be saved only once when " +"user logs in first time at your website, user profile details will not be " +"updated in your Wordpress database, even if user changes his/her social " +"account details." +msgstr "" +"Se disattivi questa opzione, dati sui profili degli utenti verrano " +"memorizzato solo una volta, cioè al primo login al sito. Dettagli sul " +"profilo dell`utente non saranno attualizzati nel database di Wordpress, " +"anche se gli utenti cambiano i dettagli dei loro Social Account." + +#
    +# +# (?) +# wpml-name: 4617ef527326f1077abea54ca422daf4 +msgid "" +"Do you want to update User Profile Data in your Wordpress database, every " +"time user logs into your website?" +msgstr "" +"Vuoi aggiornare ogni volta i dati sul profilo dell`utente nel database di " +"Wordpress al login dell`utente." + +#
    +#

    +#
    +# wpml-name: 28d2282110a6aaa01eecf16386724037 +msgid "User Profile Data Options" +msgstr "Opzioni profilo utente" + +# />
    +# /> +#
    +# wpml-name: 3cab03c00dbd11bc3569afa0748013f0 +msgid "Inactive" +msgstr "Inattivo" + +#
    +# />
    +# /> +# wpml-name: 4d3d769b812b6faa6b76e1a8abaece2d +msgid "Active" +msgstr "Attivo" + +#
    +# +#
    +# wpml-name: 735ca8d13331c793117a215eb11a3dde +msgid "" +"What would you like to set as the default status of the user when he/she " +"registers to your website?" +msgstr "Definisci lo stato di default per una registrazione nuova." + +#
    +# +#
    +# wpml-name: c2f3f489a00553e7a01d369c103c7251 +msgid "NO" +msgstr "NO" + +#
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'table-row'; }" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'none'; }" />
    +# wpml-name: 31fc5c1ba4a0c871af8d9dc52c647823 +msgid "User list" +msgstr "Lista degli utenti" + +#
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'table-row'; }" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusDefaultStatus' ) .style.display = 'none'; }" />
    +# wpml-name: 51ed524d6f8d26d4fa3c14b7a704f30f +msgid "YES, display activate/deactivate option in the " +msgstr "Si, mostrare le opzioni attivare/disattivare " + +# +# (?) +#
    +# wpml-name: 33fc579b13cf340b96db2813cac4a6f9 +msgid "You can enable/disable user from Status column on Users page in admin" +msgstr "" +"È possibile attivare / disattivare dalla colonna Stato sulla pagina Utenti " +"in admin." + +#
    +# +# (?) +# wpml-name: 0a2caae6fef376a22876b3822afba80a +msgid "Do you want to control user activation/deactivation?" +msgstr "Vuoi controllare l'attivazione / disattivazione dell`utente?" + +#
    +#

    +#
    +# wpml-name: 61dc0ef11c2818cce758386b9b7fe146 +msgid "User Membership Control" +msgstr "Controllo della appartenenza degli utenti" + +# value="dot"/> ( . )
    +# value='space'/>() +# +# wpml-name: d511f8439ecde36647437fbba67a4394 +msgid "Space" +msgstr "Spazio" + +# value="dash" /> ( - )
    +# value="dot"/> ( . )
    +# value='space'/>() +# wpml-name: af6c6cf7a454b4ef4a850ac4d960a2cc +msgid "Dot" +msgstr "Punto" + +#
    +# value="dash" /> ( - )
    +# value="dot"/> ( . )
    +# wpml-name: 3663598d5c5858b5a6040b1bbed4f187 +msgid "Dash" +msgstr "Linea" + +#
    +# value="dash" /> ( - )
    +# value="dot"/> ( . )
    +# wpml-name: 0f03c29649dff3f6074025f24c9d6589 +msgid "" +"During account creation, it automatically adds a separator between first " +"name and last name of the user" +msgstr "" +"Durante la creazione del account si aggiunge automaticamente un seperatore " +"tra cognome e nome dell`utente." + +#
    +# +# (?) +# wpml-name: a8efcac174011da0ebffa91c518a9141 +msgid "Do you need to change the separator for the username?" +msgstr "Vuoi cambiare il separatore per il nome utente?" + +# value="largeavatar"/>
    +# value="defaultavatar" /> +#
    +# wpml-name: d81ba6458fbd1ba99de8ce83cf744bd1 +msgid "NO, use default avatars" +msgstr "No, usi Avatar di default" + +# value="largeavatar"/>
    +# value="defaultavatar" /> +#
    +# wpml-name: 9fc077582d8d91d1c0b5d02f878faf53 +msgid "YES, let users use their social profile picture as an avatar" +msgstr "" +"Si, utenti possono usare i loro immagini dei Social Profiles come Avatar." + +#
    +#
    +# value="socialavatar"/>
    +# wpml-name: 16f52b9e24e8455ca9c058abbcb26adc +msgid "" +"Do you want to let users use their social profile picture as an avatar on " +"your website?" +msgstr "" +"Possono usare gli utenti i loro immagini dei Socialnet come avatar del sito?" + +# />
    +# /> +#
    +# wpml-name: 235a125199f469864a99c081b2373e01 +msgid "" +"NO, do not apply the changes to other blogs when I update plugin settings." +msgstr "" +"No, non applicare le modificazioni su altri siti, al aggiornamento del " +"plugin." + +#
    +# />
    +# /> +# wpml-name: 5c702827d681929f0dee9fb62ffc7282 +msgid "" +"YES, apply the same changes to plugin settings of each blog in the multisite " +"network when I update plugin settings." +msgstr "Sì, applicare le stesse modifiche alle impostazioni del plugin come" + +#
    +#
    +# />
    +# wpml-name: f1da551c9ad9221fe7024a3e830d410a +msgid "" +"Do you want to apply the same changes when you update plugin settings in the " +"main blog of multisite network?" +msgstr "" +"Vuoi applicare le stesse modifiche all`aggiornamento delle impostazioni del " +"plugin e nel blog principale della rete multisite?" + +#
    +# /> +#
    +# wpml-name: ac10088ff03ad9dd256806f4bffe21eb +msgid "NO, I want my existing users to continue using the native WP login" +msgstr "" +"NO, voglio che i miei utenti esistenti continuino a utilizzare l'account di " +"accesso nativo WP." + +#
    +# /> +#
    +# wpml-name: 7b4ac16ae94d057a5a8a73484ddc48dc +msgid "YES, automatically link social accounts to WP accounts" +msgstr "SI, associare automaticamente i Social Account agli account WP." + +#
    +# /> +#
    +# wpml-name: 2f8b9b228d54d9885302e1b6359ad983 +msgid "" +"Do you want to automatically link your existing users' accounts to their " +"social accounts if their WP account email address matches the email address " +"associated with their social account?" +msgstr "" +"Vuoi associare gli account degli utenti esistenti agli account Social Media " +"correspondenti, se l`indirizzo e-mail di Wordpress corrisponde con " +"l`indirizzo e-mail dei Social Account?" + +# />
    +# /> +#
    +# wpml-name: a3948dbf8eddcbc7a4d21d554324cd8f +msgid "" +"NO, do not display the social network that the user connected with, in the " +"user list" +msgstr "" +"NO, non visualizzare il social network che l'utente connesso, nell'elenco " +"degli utenti" + +#
    +# />
    +# /> +# wpml-name: 8b23efba9cdce81fe8f2acb9cd040399 +msgid "" +"YES, display the social network that the user connected with, in the user " +"list" +msgstr "" +"Sì, visualizzare il social network di connessione del utente nell'elenco " +"degli utenti." + +#
    +# ? +#
    +# wpml-name: 5728ed0f27b3dff6bac62dcb54430e0e +msgid "" +"Do you want to display the social network that the user connected with, in " +"the user list" +msgstr "" +"Visualizzare il social network di connessione dell`utente nell'elenco degli " +"utenti?" + +# />
    +# +#
    +# wpml-name: 7d925a328c681857be62270599b4eeb9 +msgid "New users will not be able to login through Social Login" +msgstr "I nuovi utenti non saranno in grado di accedere tramite login sociale" + +# />
    +# />
    +# +# wpml-name: 402d4ca6a30bff29b89e24b185bab6aa +msgid "NO, do not allow new users to register through Social Login" +msgstr "" +"No, non consentire per utenti nuovi la registrazione tramite Social Login." + +#
    +# />
    +# />
    +# wpml-name: 3afb140a056d736cbb501c4f7617adf6 +msgid "YES, allow new users to register through Social Login" +msgstr "Sì, permettere agli utenti di registrarsi tramite Social Login. " + +#
    +# +#
    +# wpml-name: 685ec9b7553204dbf849c398ff1333fc +msgid "Do you want to allow new users to register through Social Login?" +msgstr "Vuoi consentire agli utenti nuovi di registrarsi tramite Social Login?" + +#
    +#

    +#
    +# wpml-name: 2c84f0b1e42ad48f2fc644b1fffd2b85 +msgid "User Settings" +msgstr "Impostazioni utenti" + +# ?> +# onclick="if ( this.checked ) { document.getElementById ( 'loginRadiusCustomLogoutUrl' ) .style.display = 'none' }" /> () +#
    +# wpml-name: 2377ab90622ad06c08b4894c0b76dbbc +msgid "Redirect to the homepage" +msgstr "Redirect alla Hompage" + +#
    +# +#
    +# wpml-name: 15470682d2a0570435e442140a3eec67 +msgid "" +"Note: Logout function works only when clicking 'logout' in the social login " +"widget area. In all other cases, WordPress's default logout function will be " +"applied." +msgstr "" +"Nota: La funzionalità di Logout funziona solo cliccando 'logout' nella area " +"del Widget di Social Media.In tutti gli altri casi viene applicata la " +"funzione standard di logout di Wordpress." + +#
    +# +#
    +# wpml-name: ce13cd8a088438c9d24a0edcd0ba74f6 +msgid "" +"Where do you want to redirect your users after successfully logging out?" +msgstr "Dove vuoi reindirizzare gli utenti dopo il logout di successo?" + +# ?> +# onclick="if ( this.checked ) { document.getElementById ( 'loginRadiusCustomLoginUrl' ) .style.display = 'block' }" /> +#
    +# wpml-name: 26ffd22ac848aa98a54ee6ec0730d0eb +msgid "Redirect to Custom URL:" +msgstr "Redirect ad un URL specifico:" + +# ?> +# /> +#
    +# wpml-name: c3a89e46179a34464d5ac729eb68feec +msgid "Redirect to Buddypress profile page" +msgstr "Redirect alla pagina di profilo di BuddyPress" + +# ?> +# /> +#
    +# wpml-name: 06b0e6d68a82aa61b6e24add711973a0 +msgid "Redirect to account dashboard" +msgstr "Reindirizzare cruscotto conto" + +# /> ()
    +# /> +#
    +# wpml-name: a90ddcee413ec787edbfea31d03d6151 +msgid "Redirect to homepage of your WP site" +msgstr "Redirect alla homepage del tuo sito Wordpress" + +# ?> +# /> ()
    +# /> +# wpml-name: 7a1920d61156abc05a60135aefe8bc67 +msgid "Default" +msgstr "difetto" + +# ?> +# /> ()
    +# /> +# wpml-name: 877a8228dd7dafbaad57c4132ee291ab +msgid "Redirect to the same page where the user logged in" +msgstr "Redirect alla pagina del Login dell`utente" + +#
    +# +#
    +# wpml-name: b4817dd9eeab2feeee448fb588575ad0 +msgid "Where do you want to redirect your users after successfully logging in?" +msgstr "Dove vuoi reindirizzare gli utenti dopo il successo di accesso?" + +#
    +#

    +#
    +# wpml-name: 44c7f5a5bfcc3302240723ac377a868d +msgid "Redirection Settings" +msgstr "Redirection-Impostazioni" + +#
    +# +# +# wpml-name: 939c9b785ab33ad4a326171f1d84b38c +msgid "" +"The email you have entered is either already registered or invalid. Please " +"enter a valid email address." +msgstr "" +"L`indirizzo e-mail inserito non è valido o già registrato. Per favore " +"inserisci un indirizzo e-mail valido." + +#
    +# +#
    +# wpml-name: d83beb04d22ce889cd49ce37f5fadacb +msgid "" +"Please enter the message to be shown to the user in case of an invalid or " +"already registered email" +msgstr "" +"Inserisci qui il messaggio che appare agli utenti in caso di un inserimento " +"indirizzo-email non valido o già registrato." + +#
    +# +#
    +# wpml-name: 2514f6fab859be1502c13f570b39bc87 +msgid "" +"Unfortunately, the ID Provider did not provided your email address. Please " +"enter your email to proceed" +msgstr "" +"Il provider IP non forniva la tua e-mail. Per favore inserisci la tua e-mail " +"per proseguire." + +# +#
    +# wpml-name: 4b1c1de85f4e16a8844842e2b42015b8 +msgid "" +"Please enter the message to be displayed to the user in the pop-up asking " +"for their email address" +msgstr "" +"Inserisci il messaggio che appare nel Pop-up alla richiesta dell´inserimento " +"dell`indirizzo e-mail dell`utente." + +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'table-row'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'table-row';}" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'none'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'none';}" /> +#
    +# wpml-name: 6dffdd2d9726752f11ea0c7de13562d0 +msgid "NO, just auto-generate random email IDs for users" +msgstr "No, solo auto-generati, ID causali per utenti." + +# ?> +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'table-row'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'table-row';}" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'none'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'none';}" /> +# wpml-name: 228749556f8e02b75d3c13798e313669 +msgid "YES, ask users to enter their email address in a pop-up" +msgstr "Si, chiedere gli utenti di inserire l´indirizzo e-mail in un Pop-up." + +# ?> +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'table-row'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'table-row';}" />
    +# onchange = "if ( this.checked ) { document.getElementById ( 'loginRadiusPopupMessage' ) .style.display = 'none'; document.getElementById ( 'loginRadiusPopupErrorMessage' ) .style.display = 'none';}" /> +# wpml-name: 4a7c657373ec2b64d40eed176aee7da4 +msgid "" +"A few ID Providers do not supply users' e-mail IDs as part of the user " +"profile data they provide. Do you want to prompt users to provide their " +"email IDs before completing registration process if it is not provided by " +"the ID Provider?" +msgstr "" +"Alcuni Provider ID non mettono a disposizione la ID e-mail dell`utente come " +"parte dei dati del profilo dell`utente. Se non provveduto dal provider, vuoi " +"dare la possibilità agli utenti alle fine del processo della registrazione " +"di inserire la loro ID e-mail?" + +# />
    +# /> +#
    +# wpml-name: ddcdaaa7726c7b9269a7a642623157b8 +msgid "NO, do not send email to users after registration" +msgstr "No, non inviare una email agli utenti dopo la registrazione." + +# ?> +# />
    +# /> +# wpml-name: 538b1620f4ebad5d72d7f16ab03f4e7c +msgid "YES, send an email to users after registration" +msgstr "Si, inviare una e-mail agli utenti dopo la registrazione." + +#
    +# +#
    +# wpml-name: c062d063c205400f6f977a0269119575 +msgid "" +"Do you want to send emails to users with their username and password post-" +"registration?" +msgstr "" +"Vuoi inviare e-mails con nome utente e password degli utenti dopo la " +"registrazione di successo?" + +#
    +#

    +#
    +# wpml-name: 64e3ea42c2ad24f48a9bdde7f678ef65 +msgid "User Email Settings" +msgstr "Impostazioni - E-mail - Utenti" + +# (?)
    +# http://www.colorpicker.com/ +#
    +# wpml-name: 5363414f2a6aabd7bef0b41bcf08edbb +msgid "You can get hexadecimal code of the color from " +msgstr "Il code esadecimale per il colore trovi qui" + +# (?)
    +# http://www.colorpicker.com/ +#
    +# wpml-name: b4efdb66f6c40333d433c77f034ed7a1 +msgid "" +"Leave empty for transparent. You can enter hexa-decimal code of the color as " +"well as name of the color." +msgstr "" +"Lasciare vuoto per trasparente. È possibile inserire il codice esadecimale " +"del colore e nome del colore." + +# +#
    +# (?)
    +# wpml-name: 2ae84608a2b1979c21461a091744035f +msgid "" +"What background color would you like to use for the Social Login interface?" +msgstr "Quale colore di sfondo preferisci per il tuo Social Login Interface?" + +# +#
    +# +# wpml-name: 2ba4fa3471202e339c47159b62985d51 +msgid "How many social icons would you like to be displayed per row?" +msgstr "Quanti Social-Icons vuoi visualizzare per riga?" + +#
    +# /> +#
    +# wpml-name: 2660064e68655415da2628c2ae2f7592 +msgid "Small" +msgstr "piccolo" + +#
    +# /> +#
    +# wpml-name: 87f8a6ab85c9ced3702b4ea641ad4bb5 +msgid "Medium" +msgstr "medio" + +# +#
    +#
    +# wpml-name: 1b003bebb5d80b4619dfbba3ff5c4a48 +msgid "Select the icon size to use in the Social Login interface" +msgstr "Scegli la grandezza degli icon del Social Login Interface" + +#
    +#

    +#
    +# wpml-name: 9bfdc6e7d16b3deb9638c247a173c3ec +msgid "Social Login Interface Customization" +msgstr "Peronalizzazione - Social Login Interface" + +# />
    +# /> +#
    +# wpml-name: 167dce5b261de8ce435fe1e1c6945b16 +msgid "Show it beside the registration form" +msgstr "Visualizzare a fianco del formulario di registrazione" + +#
    +# />
    +# /> +# wpml-name: 30241c4df807be2b823501593f23e07b +msgid "Show it below the registration form" +msgstr "Visualizzare sotto il formulario di registrazione" + +#
    +# +#
    +# wpml-name: 9c2fe81923166b24dee2246bd904e41b +msgid "" +"If Yes, how do you want the Social Login interface to be shown on your " +"wordpress registration page?" +msgstr "" +"Se si, come vuoi visualizzare il Social Login Interface sul sito di " +"registrazione di Wordpress?" + +#
    +# +#
    +# wpml-name: c92c5331053819b6379cd06cdb3f0436 +msgid "" +"Do you want to show Social Login interface on your WordPress registration " +"page?" +msgstr "" +"Vuoi visualizzare il Social Login Interface sul sito di registrazione di " +"Wordpress?" + +#
    +# /> +#
    +# wpml-name: bafd7322c6e97d25b6299b5d6fe8920b +msgid "No" +msgstr "no" + +#
    +# /> +#
    +# wpml-name: 93cba07454f06a4a960172bbd6e2a435 +msgid "Yes" +msgstr "SI" + +# +#
    +#
    +# wpml-name: eb460877b613fc45a3f810ecc16f0b55 +msgid "" +"Do you want to show the Social Login interface on your WordPress login page?" +msgstr "" +"Vuoi visualizzare il Social Login Interface sul sito Login di Wordpress?" + +#
    +# +#
    +# wpml-name: e18f8ea2160640cbcf0c3c4a20ee3a62 +msgid "Login with Social ID" +msgstr "Login con ID sociale" + +# +#
    +# +# wpml-name: f46cce18d6069c14024b23be12cc0744 +msgid "" +"What text should be displayed above the Social Login interface? Leave blank " +"if you do not want any text to be displayed" +msgstr "" +"Quale testo deve essere visualizzato sopra il Social Login Interface? " +"Lasciare vuoto per mostrare niente." + +#
    +#

    +#
    +# wpml-name: b8d7f37418d201ecced7e0f284ff6ce6 +msgid "Social Login Interface Settings" +msgstr "Social Login Interface Impostazioni" + +#
    +# +#
    +# wpml-name: c0121aaba275aea89392acb2f125f2f2 +msgid "Verify API Settings" +msgstr "Verificare impostazioni API" + +# +# +# +# wpml-name: 1ddec0f92f297e937bdf409977df0c02 +msgid "API Secret" +msgstr "API Secret" + +# +# +# +# wpml-name: d876ff8da67c3731ae25d8335a4168b4 +msgid "API Key" +msgstr "API Key" + +#

    +# wpml-name: 93f13975a0dfc80a59cadd19d6404967 +msgid "(How to get it?)" +msgstr "(Come farlo?)" + +#
    +#

    +

    '.__('We were unable to authenticate your claimed OpenID, however you ' + . 'can continue to post your comment without OpenID:', 'openid').'

    + +
    +

    Name:

    +

    Email:

    +

    URL:

    + + '; + foreach ($post as $name => $value) { + if (!in_array($name, array('author', 'email', 'url', 'comment', 'submit'))) { + $html .= ' + '; + } + } + + $html .= '
    '; + openid_page($html, __('OpenID Authentication Error', 'openid')); +} + + +/** + * Action method for completing the 'comment' action. This action is used when leaving a comment. + * + * @param string $identity_url verified OpenID URL + */ +function openid_finish_comment($identity_url, $action) { + if ($action != 'comment') return; + + if (empty($identity_url)) { + openid_repost_comment_anonymously($_SESSION['openid_comment_post']); + } + + openid_set_current_user($identity_url); + + if (is_user_logged_in()) { + // simulate an authenticated comment submission + $_SESSION['openid_comment_post']['author'] = null; + $_SESSION['openid_comment_post']['email'] = null; + $_SESSION['openid_comment_post']['url'] = null; + } else { + // try to get user data from the verified OpenID + $user_data =& openid_get_user_data($identity_url); + + if (!empty($user_data['display_name'])) { + $_SESSION['openid_comment_post']['author'] = $user_data['display_name']; + } + if (!empty($user_data['user_email'])) { + $_SESSION['openid_comment_post']['email'] = $user_data['user_email']; + } + $_SESSION['openid_comment_post']['url'] = $identity_url; + } + + // record that we're about to post an OpenID authenticated comment. + // We can't actually record it in the database until after the repost below. + $_SESSION['openid_posted_comment'] = true; + + $comment_page = (defined('OPENID_COMMENTS_POST_PAGE') ? OPENID_COMMENTS_POST_PAGE : 'wp-comments-post.php'); + + openid_repost(site_url("/$comment_page"), array_filter($_SESSION['openid_comment_post'])); +} + + +/** + * Mark the specified comment as an OpenID comment. + * + * @param int $id id of comment to set as OpenID + */ +function set_comment_openid($id) { + $comment = get_comment($id); + $openid_comments = get_post_meta($comment->comment_post_ID, 'openid_comments', true); + if (!is_array($openid_comments)) { + $openid_comments = array(); + } + $openid_comments[] = $id; + update_post_meta($comment->comment_post_ID, 'openid_comments', array_unique($openid_comments)); +} + + +/** + * Unmark the specified comment as an OpenID comment + * + * @param int $id id of comment to set as OpenID + */ +function unset_comment_openid($id) { + $comment = get_comment($id); + $openid_comments = get_post_meta($comment->comment_post_ID, 'openid_comments', true); + + if (is_array($openid_comments) && in_array($id, $openid_comments)) { + $new = array(); + foreach($openid_comments as $c) { + if ($c == $id) continue; + $new[] = $c; + } + update_post_meta($comment->comment_post_ID, 'openid_comments', array_unique($new)); + } +} + + +/** + * Retrieve user data from comment form. + * + * @param string $identity_url OpenID to get user data about + * @param reference $data reference to user data array + * @see get_user_data + */ +function openid_get_user_data_form($data, $identity_url) { + if ( array_key_exists('openid_comment_post', $_SESSION) ) { + $comment = $_SESSION['openid_comment_post']; + } + + if ( !isset($comment) || !$comment) { + return $data; + } + + if ($comment['email']) { + $data['user_email'] = $comment['email']; + } + + if ($comment['author']) { + $data['nickname'] = $comment['author']; + $data['user_nicename'] = $comment['author']; + $data['display_name'] = $comment['author']; + } + + return $data; +} + + +/** + * Remove the CSS snippet added by the Recent Comments widget because it breaks entries that include the OpenID logo. + */ +function openid_recent_comments() { + global $wp_widget_factory; + + if ( $wp_widget_factory && array_key_exists('WP_Widget_Recent_Comments', $wp_widget_factory->widgets) ) { + // this is an ugly hack because remove_action doesn't actually work the way it should with objects + foreach ( array_keys($GLOBALS['wp_filter']['wp_head'][10]) as $key ) { + if ( strpos($key, 'WP_Widget_Recent_Commentsrecent_comments_style') === 0 ) { + remove_action('wp_head', $key); + return; + } + } + } +} + +?> diff --git a/wp-content/plugins/openid/common.php b/wp-content/plugins/openid/common.php new file mode 100644 index 0000000..b3a4b12 --- /dev/null +++ b/wp-content/plugins/openid/common.php @@ -0,0 +1,844 @@ +get_role('administrator'); + if ($role) $role->add_cap('use_openid_provider'); + } + + // for some reason, show_on_front is not always set, causing is_front_page() to fail + $show_on_front = get_option('show_on_front'); + if ( empty($show_on_front) ) { + update_option('show_on_front', 'posts'); + } + + // Add custom OpenID options + add_option( 'openid_enable_commentform', true ); + add_option( 'openid_plugin_enabled', true ); + add_option( 'openid_plugin_revision', 0 ); + add_option( 'openid_db_revision', 0 ); + add_option( 'openid_enable_approval', false ); + add_option( 'openid_xrds_returnto', true ); + add_option( 'openid_comment_displayname_length', 12 ); + + openid_create_tables(); + openid_migrate_old_data(); + + // setup schedule cleanup + wp_clear_scheduled_hook('cleanup_openid'); + wp_schedule_event(time(), 'hourly', 'cleanup_openid'); + + // flush rewrite rules + if ( !isset($wp_rewrite) ) { $wp_rewrite = new WP_Rewrite(); } + $wp_rewrite->flush_rules(); + + // set current revision + update_option( 'openid_plugin_revision', OPENID_PLUGIN_REVISION ); + + openid_remove_historical_options(); +} + + +/** + * Remove options that were used by previous versions of the plugin. + */ +function openid_remove_historical_options() { + delete_option('oid_db_revision'); + delete_option('oid_db_version'); + delete_option('oid_enable_approval'); + delete_option('oid_enable_commentform'); + delete_option('oid_enable_email_mapping'); + delete_option('oid_enable_foaf'); + delete_option('oid_enable_localaccounts'); + delete_option('oid_enable_loginform'); + delete_option('oid_enable_selfstyle'); + delete_option('oid_enable_unobtrusive'); + delete_option('oid_plugin_enabled'); + delete_option('oid_plugin_revision'); + delete_option('oid_plugin_version'); + delete_option('oid_trust_root'); + delete_option('force_openid_registration'); + delete_option('openid_skip_require_name'); + + delete_option('openid_enable_email_mapping'); + delete_option('openid_xrds_idib'); + delete_option('openid_xrds_eaut'); +} + + +/** + * Called on plugin deactivation. Cleanup all transient data. + * + * @see register_deactivation_hook + */ +function openid_deactivate_plugin() { + wp_clear_scheduled_hook('cleanup_openid'); + delete_option('openid_associations'); + delete_option('openid_nonces'); + delete_option('openid_server_associations'); + delete_option('openid_server_nonces'); +} + + +/** + * Delete options in database + */ +function openid_uninstall_plugin() { + openid_delete_tables(); + wp_clear_scheduled_hook('cleanup_openid'); + + // current options + delete_option('openid_enable_commentform'); + delete_option('openid_plugin_enabled'); + delete_option('openid_plugin_revision'); + delete_option('openid_db_revision'); + delete_option('openid_enable_approval'); + delete_option('openid_xrds_returnto'); + delete_option('openid_comment_displayname_length'); + delete_option('openid_associations'); + delete_option('openid_nonces'); + delete_option('openid_server_associations'); + delete_option('openid_server_nonces'); + delete_option('openid_blog_owner'); + delete_option('openid_no_require_name'); + delete_option('openid_required_for_registration'); + + // historical options + openid_remove_historical_options(); +} + + +/** + * Cleanup expired nonces and associations from the OpenID store. + */ +function openid_cleanup() { + $store =& openid_getStore(); + $store->cleanupNonces(); + $store->cleanupAssociations(); +} + + +/* + * Customer error handler for calls into the JanRain library + */ +function openid_customer_error_handler($errno, $errmsg, $filename, $linenum, $vars) { + if( (2048 & $errno) == 2048 ) return; + + if (!defined('WP_DEBUG') || !(WP_DEBUG)) { + // XML errors + if (strpos($errmsg, 'DOMDocument::loadXML') === 0) return; + if (strpos($errmsg, 'domxml') === 0) return; + + // php-openid errors + //if (strpos($errmsg, 'Successfully fetched') === 0) return; + //if (strpos($errmsg, 'Got no response code when fetching') === 0) return; + //if (strpos($errmsg, 'Fetching URL not allowed') === 0) return; + + // curl errors + //if (strpos($errmsg, 'CURL error (6)') === 0) return; // couldn't resolve host + //if (strpos($errmsg, 'CURL error (7)') === 0) return; // couldn't connect to host + } + + openid_error( "Library Error $errno: $errmsg in $filename :$linenum"); +} + + +/** + * Generate a unique WordPress username for the given OpenID URL. + * + * @param string $url OpenID URL to generate username for + * @param boolean $append should we try appending a number if the username is already taken + * @return mixed generated username or null if unable to generate + */ +function openid_generate_new_username($url, $append = true) { + $base = openid_normalize_username($url); + $i=''; + while(true) { + $username = openid_normalize_username( $base . $i ); + $user = get_user_by('login', $username); + if ( $user ) { + if (!$append) return null; + $i++; + continue; + } + // TODO: add hook + return $username; + } +} + + +/** + * Normalize the OpenID URL into a username. This includes rules like: + * - remove protocol prefixes like 'http://' and 'xri://' + * - remove the 'xri.net' domain for i-names + * - substitute certain characters which are not allowed by WordPress + * + * @param string $username username to be normalized + * @return string normalized username + * @uses apply_filters() Calls 'openid_normalize_username' just before returning normalized username + */ +function openid_normalize_username($username) { + $normalized = $username; + + $normalized = preg_replace('|^https?://(xri.net/([^@]!?)?)?|', '', $normalized); + $normalized = preg_replace('|^xri://([^@]!?)?|', '', $normalized); + $normalized = preg_replace('|/$|', '', $normalized); + $normalized = sanitize_user( $normalized ); + $normalized = preg_replace('|[^a-z0-9 _.\-@]+|i', '-', $normalized); + + $normalized = apply_filters('openid_normalize_username', $normalized, $username); + + return $normalized; +} + + +/** + * Get the OpenID trust root for the given return_to URL. + * + * @param string $return_to OpenID return_to URL + * @return string OpenID trust root + */ +function openid_trust_root($return_to = null) { + $trust_root = trailingslashit(get_option('home')); + + // If return_to is HTTPS, trust_root must be as well + if (!empty($return_to) && preg_match('/^https/', $return_to)) { + $trust_root = preg_replace('/^http\:/', 'https:', $trust_root); + } + + $trust_root = apply_filters('openid_trust_root', $trust_root, $return_to); + return $trust_root; +} + + +/** + * Login user with specified identity URL. This will find the WordPress user account connected to this + * OpenID and set it as the current user. Only call this function AFTER you've verified the identity URL. + * + * @param string $identity userID or OpenID to set as current user + * @param boolean $remember should we set the "remember me" cookie + * @return void + */ +function openid_set_current_user($identity, $remember = true) { + if (is_numeric($identity)) { + $user_id = $identity; + } else { + $user_id = get_user_by_openid($identity); + } + + if (!$user_id) return; + + $user = set_current_user($user_id); + wp_set_auth_cookie($user->ID, $remember); + + do_action('wp_login', $user->user_login); +} + + +/** + * Create a new WordPress user with the specified identity URL and user data. + * + * @param string $identity_url OpenID to associate with the newly + * created account + * @param array $user_data array of user data + */ +function openid_create_new_user($identity_url, &$user_data) { + global $wpdb; + + // Identity URL is new, so create a user + @include_once( ABSPATH . 'wp-admin/upgrade-functions.php'); // 2.1 + @include_once( ABSPATH . WPINC . '/registration-functions.php'); // 2.0.4 + + // otherwise, try to use preferred username + if ( empty($username) && array_key_exists('nickname', $user_data) ) { + $username = openid_generate_new_username($user_data['nickname'], false); + } + + // finally, build username from OpenID URL + if (empty($username)) { + $username = openid_generate_new_username($identity_url); + } + + $user_data['user_login'] = $username; + $user_data['user_pass'] = substr( md5( uniqid( microtime() ) ), 0, 7); + $user_id = wp_insert_user( $user_data ); + + if( $user_id ) { // created ok + + $user_data['ID'] = $user_id; + // XXX this all looks redundant, see openid_set_current_user + + $user = new WP_User( $user_id ); + + if( ! wp_login( $user->user_login, $user_data['user_pass'] ) ) { + openid_message(__('User was created fine, but wp_login() for the new user failed. This is probably a bug.', 'openid')); + openid_status('error'); + openid_error(openid_message()); + return; + } + + // notify of user creation + wp_new_user_notification( $user->user_login ); + + wp_clearcookie(); + wp_setcookie( $user->user_login, md5($user->user_pass), true, '', '', true ); + + // Bind the provided identity to the just-created user + openid_add_user_identity($user_id, $identity_url); + + openid_status('redirect'); + + if ( !$user->has_cap('edit_posts') ) $redirect_to = '/wp-admin/profile.php'; + + } else { + // failed to create user for some reason. + openid_message(__('OpenID authentication successful, but failed to create WordPress user. This is probably a bug.', 'openid')); + openid_status('error'); + openid_error(openid_message()); + } + +} + + +/** + * Get user data for the given identity URL. Data is returned as an associative array with the keys: + * ID, user_url, user_nicename, display_name + * + * Multiple soures of data may be available and are attempted in the following order: + * - OpenID Attribute Exchange !! not yet implemented + * - OpenID Simple Registration + * - hCard discovery !! not yet implemented + * - default to identity URL + * + * @param string $identity_url OpenID to get user data about + * @return array user data + * @uses apply_filters() Calls 'openid_user_data' to gather profile data associated with the identity URL + */ +function openid_get_user_data($identity_url) { + $data = array( + 'ID' => null, + 'user_url' => $identity_url, + 'user_nicename' => $identity_url, + 'display_name' => $identity_url + ); + + // create proper website URL if OpenID is an i-name + if (preg_match('/^[\=\@\+].+$/', $identity_url)) { + $data['user_url'] = 'http://xri.net/' . $identity_url; + } + + $data = apply_filters('openid_user_data', $data, $identity_url); + + // if display_name is still the same as the URL, clean that up a bit + if ($data['display_name'] == $identity_url) { + $parts = parse_url($identity_url); + if ($parts !== false) { + $host = preg_replace('/^www./', '', $parts['host']); + + $path = substr($parts['path'], 0, get_option('openid_comment_displayname_length')); + if (strlen($path) < strlen($parts['path'])) $path .= '…'; + + $data['display_name'] = $host . $path; + } + } + + return $data; +} + + +/** + * Retrieve user data from OpenID Attribute Exchange. + * + * @param string $identity_url OpenID to get user data about + * @param reference $data reference to user data array + * @see get_user_data + */ +function openid_get_user_data_ax($data, $identity_url) { + require_once('Auth/OpenID/AX.php'); + + $response = openid_response(); + $ax = Auth_OpenID_AX_FetchResponse::fromSuccessResponse($response); + + if (!$ax) return $data; + + $email = $ax->getSingle('http://axschema.org/contact/email'); + if ($email && !is_a($email, 'Auth_OpenID_AX_Error')) { + $data['user_email'] = $email; + } + + $nickname = $ax->getSingle('http://axschema.org/namePerson/friendly'); + if ($nickname && !is_a($nickname, 'Auth_OpenID_AX_Error')) { + $data['nickname'] = $ax->getSingle('http://axschema.org/namePerson/friendly'); + $data['user_nicename'] = $ax->getSingle('http://axschema.org/namePerson/friendly'); + $data['display_name'] = $ax->getSingle('http://axschema.org/namePerson/friendly'); + } + + $fullname = $ax->getSingle('http://axschema.org/namePerson'); + if ($fullname && !is_a($fullname, 'Auth_OpenID_AX_Error')) { + $namechunks = explode( ' ', $fullname, 2 ); + if( isset($namechunks[0]) ) $data['first_name'] = $namechunks[0]; + if( isset($namechunks[1]) ) $data['last_name'] = $namechunks[1]; + $data['display_name'] = $fullname; + } + + return $data; +} + + +/** + * Retrieve user data from OpenID Simple Registration. + * + * @param string $identity_url OpenID to get user data about + * @param reference $data reference to user data array + * @see get_user_data + */ +function openid_get_user_data_sreg($data, $identity_url) { + require_once('Auth/OpenID/SReg.php'); + $response = openid_response(); + $sreg_resp = Auth_OpenID_SRegResponse::fromSuccessResponse($response); + $sreg = $sreg_resp->contents(); + + if (!$sreg) return $data; + + if (array_key_exists('email', $sreg) && $sreg['email']) { + $data['user_email'] = $sreg['email']; + } + + if (array_key_exists('nickname', $sreg) && $sreg['nickname']) { + $data['nickname'] = $sreg['nickname']; + $data['user_nicename'] = $sreg['nickname']; + $data['display_name'] = $sreg['nickname']; + } + + if (array_key_exists('fullname', $sreg) && $sreg['fullname']) { + $namechunks = explode( ' ', $sreg['fullname'], 2 ); + if( isset($namechunks[0]) ) $data['first_name'] = $namechunks[0]; + if( isset($namechunks[1]) ) $data['last_name'] = $namechunks[1]; + $data['display_name'] = $sreg['fullname']; + } + + return $data; +} + + +/** + * Retrieve user data from hCard discovery. + * + * @param string $identity_url OpenID to get user data about + * @param reference $data reference to user data array + * @see get_user_data + */ +function openid_get_user_data_hcard($data, $identity_url) { + // TODO implement hcard discovery + return $data; +} + + +/** + * Parse the WordPress request. If the query var 'openid' is present, then + * handle the request accordingly. + * + * @param WP $wp WP instance for the current request + */ +function openid_parse_request($wp) { + if (array_key_exists('openid', $wp->query_vars)) { + + openid_clean_request(); + + switch ($wp->query_vars['openid']) { + case 'consumer': + @session_start(); + + $action = $_SESSION['openid_action']; + + // no action, which probably means OP-initiated login. Set + // action to 'login', and redirect to home page when finished + if (empty($action)) { + $action = 'login'; + if (empty($_SESSION['openid_finish_url'])) { + //$_SESSION['openid_finish_url'] = get_option('home'); + } + } + + finish_openid($action); + break; + + case 'server': + openid_server_request($_REQUEST['action']); + break; + + case 'ajax': + if ( check_admin_referer('openid_ajax') ) { + header('Content-Type: application/json'); + echo '{ "valid":' . ( is_url_openid( $_REQUEST['url'] ) ? 'true' : 'false' ) . ', "nonce":"' . wp_create_nonce('openid_ajax') . '" }'; + exit; + } + } + } +} + + +/** + * Check if the provided URL is a valid OpenID. + * + * @param string $url URL to check + * @return boolean true if the URL is a valid OpenID + */ +function is_url_openid( $url ) { + $auth_request = openid_begin_consumer( $url ); + return ( $auth_request != null ); +} + + +/** + * Clean HTTP request parameters for OpenID. + * + * Apache's rewrite module is often used to produce "pretty URLs" in WordPress. + * Other webservers, such as lighttpd, nginx, and Microsoft IIS each have ways + * (read: hacks) for simulating this kind of functionality. This function + * reverses the side-effects of these hacks so that the OpenID request + * variables are in the form that the OpenID library expects. + */ +function openid_clean_request() { + + if (array_key_exists('q', $_GET)) { + + // handle nginx web server, which adds an additional query string parameter named "q" + + unset($_GET['q']); + + $vars = explode('&', $_SERVER['QUERY_STRING']); + $clean = array(); + + foreach ($vars as $v) { + if (strpos($v, 'q=') !== 0) { + $clean[] = $v; + } + } + + $_SERVER['QUERY_STRING'] = implode('&', $clean); + + } else if ($_SERVER['argc'] >= 1 && $_SERVER['argv'][0] == 'error=404') { + + // handle lighttpd hack which uses a custom error-handler, passing 404 errors to WordPress. + // This results in the QUERY_STRING not having the correct information, but fortunately we + // can pull it out of REQUEST_URI + + list($path, $query) = explode('?', $_SERVER['REQUEST_URI'], 2); + $_SERVER['QUERY_STRING'] = $query; + } +} + + +/** + * Build an OpenID service URL. + * + * @param string $service service to build URL for + * @param string $scheme URL scheme to use for URL (see site_url()) + * @return string service URL + * @see site_url + */ +function openid_service_url($service, $scheme = null) { + global $wp_rewrite; + if (!$wp_rewrite) $wp_rewrite = new WP_Rewrite(); + + if (!defined('OPENID_SSL') || !OPENID_SSL) $scheme = null; + $url = site_url('/', $scheme); + + if ($wp_rewrite->using_permalinks()) { + $url .= 'index.php/openid/' . $service; + } else { + $url .= '?openid=' . $service; + } + + return $url; +} + + +/** + * Add rewrite rules to WP_Rewrite for the OpenID services. + */ +function openid_rewrite_rules($wp_rewrite) { + $openid_rules = array( + 'openid/(.+)' => 'index.php?openid=$matches[1]', + ); + + $wp_rewrite->rules = $openid_rules + $wp_rewrite->rules; +} + + +/** + * Add valid query vars to WordPress for OpenID. + */ +function openid_query_vars($vars) { + $vars[] = 'openid'; + return $vars; +} + +function openid_status($new = null) { + static $status; + return ($new == null) ? $status : $status = $new; +} + +function openid_message($new = null) { + static $message; + return ($new == null) ? $message : $message = $new; +} + +function openid_response($new = null) { + static $response; + return ($new == null) ? $response : $response = $new; +} + +function openid_enabled($new = null) { + static $enabled; + if ($enabled == null) $enabled = true; + return ($new == null) ? $enabled : $enabled = $new; +} + + +/** + * Send HTTP post through the user-agent. If javascript is not supported, the + * user will need to click on a "continue" button. + * + * @param string $action form action (URL to POST form to) + * @param array $parameters key-value pairs of parameters to include in the form + * @uses do_action() Calls 'openid_page_head' hook action + */ +function openid_repost($action, $parameters) { + $html = ' + +
    '; + + foreach ($parameters as $k => $v) { + if ($k == 'submit') continue; + $html .= "\n" . ''; + } + $html .= ' + +
    + + '; + + openid_page($html, __('OpenID Authentication Redirect', 'openid')); +} + + +function openid_page($message, $title = '') { + global $wp_locale; +?> + +> + + + <?php echo $title ?> +text_direction) ) { + wp_admin_css('login-rtl', true); + } + + do_action('admin_head'); + do_action('openid_page_head'); +?> + + + + + +prepare('INSERT INTO ' . openid_identity_table() . ' (user_id,url,hash) VALUES ( %s, %s, MD5(%s) )', $user_id, $url, $url); + return $wpdb->query( $sql ); +} + + +/** + * Remove identity url from user. + * + * @param int $user_id user id + * @param string $identity_url identity url to remove + */ +function openid_drop_identity($user_id, $identity_url) { + global $wpdb; + return $wpdb->query( $wpdb->prepare('DELETE FROM '.openid_identity_table().' WHERE user_id = %s AND url = %s', $user_id, $identity_url) ); +} + + +/** + * Remove all identity urls from user. + * + * @param int $user_id user id + */ +function openid_drop_all_identities($user_id) { + global $wpdb; + return $wpdb->query( $wpdb->prepare('DELETE FROM '.openid_identity_table().' WHERE user_id = %s', $user_id ) ); +} + + + +// -------------- // +// Other Function // +// -------------- // + +/** + * Format OpenID for display... namely, remove the fragment if present. + * @param string $url url to display + * @return url formatted for display + */ +function openid_display_identity($url) { + return preg_replace('/#.+$/', '', $url); +} + + +function openid_error($msg) { + error_log('[OpenID] ' . $msg); +} + + +function openid_debug($msg) { + if (defined('WP_DEBUG') && WP_DEBUG) { + openid_error($msg); + } +} + +?> diff --git a/wp-content/plugins/openid/consumer.php b/wp-content/plugins/openid/consumer.php new file mode 100644 index 0000000..d12aabd --- /dev/null +++ b/wp-content/plugins/openid/consumer.php @@ -0,0 +1,249 @@ +getMessage($trust_root, $return_to, false); + + if (Auth_OpenID::isFailure($message)) { + return openid_error('Could not redirect to server: '.$message->message); + } + + $_SESSION['openid_return_to'] = $message->getArg(Auth_OpenID_OPENID_NS, 'return_to'); + + // send 302 redirect or POST + if ($auth_request->shouldSendRedirect()) { + $redirect_url = $auth_request->redirectURL($trust_root, $return_to); + wp_redirect( $redirect_url ); + } else { + openid_repost($auth_request->endpoint->server_url, $message->toPostArgs()); + } +} + + +/** + * Finish OpenID Authentication. + * + * @return String authenticated identity URL, or null if authentication failed. + */ +function finish_openid_auth() { + @session_start(); + + $consumer = openid_getConsumer(); + if ( array_key_exists('openid_return_to', $_SESSION) ) { + $openid_return_to = $_SESSION['openid_return_to']; + } + if ( empty($openid_return_to) ) { + $openid_return_to = openid_service_url('consumer'); + } + + $response = $consumer->complete($openid_return_to); + + unset($_SESSION['openid_return_to']); + openid_response($response); + + switch( $response->status ) { + case Auth_OpenID_CANCEL: + openid_message(__('OpenID login was cancelled.', 'openid')); + openid_status('error'); + break; + + case Auth_OpenID_FAILURE: + openid_message(sprintf(__('OpenID login failed: %s', 'openid'), $response->message)); + openid_status('error'); + break; + + case Auth_OpenID_SUCCESS: + openid_message(__('OpenID login successful', 'openid')); + openid_status('success'); + + $identity_url = $response->identity_url; + $escaped_url = htmlspecialchars($identity_url, ENT_QUOTES); + return $escaped_url; + + default: + openid_message(__('Unknown Status. Bind not successful. This is probably a bug.', 'openid')); + openid_status('error'); + } + + return null; +} + + +/** + * Begin login by activating the OpenID consumer. + * + * @param string $url claimed ID + * @return Auth_OpenID_Request OpenID Request + */ +function openid_begin_consumer($url) { + static $request; + + @session_start(); + if ($request == NULL) { + set_error_handler( 'openid_customer_error_handler'); + + $consumer = openid_getConsumer(); + $request = $consumer->begin($url); + + restore_error_handler(); + } + + return $request; +} + + +/** + * Start the OpenID authentication process. + * + * @param string $claimed_url claimed OpenID URL + * @param string $action OpenID action being performed + * @param string $finish_url stored in user session for later redirect + * @uses apply_filters() Calls 'openid_auth_request_extensions' to gather extensions to be attached to auth request + */ +function openid_start_login( $claimed_url, $action, $finish_url = null) { + if ( empty($claimed_url) ) return; // do nothing. + + $auth_request = openid_begin_consumer( $claimed_url ); + + if ( null === $auth_request ) { + openid_status('error'); + openid_message(sprintf( + __('Could not discover an OpenID identity server endpoint at the url: %s', 'openid'), + htmlentities($claimed_url) + )); + + return; + } + + @session_start(); + $_SESSION['openid_action'] = $action; + $_SESSION['openid_finish_url'] = $finish_url; + + $extensions = apply_filters('openid_auth_request_extensions', array(), $auth_request); + foreach ($extensions as $e) { + if (is_a($e, 'Auth_OpenID_Extension')) { + $auth_request->addExtension($e); + } + } + + $return_to = openid_service_url('consumer', 'login_post'); + $return_to = apply_filters('openid_return_to', $return_to); + + $trust_root = openid_trust_root($return_to); + + openid_redirect($auth_request, $trust_root, $return_to); + exit(0); +} + + +/** + * Build an Attribute Exchange attribute query extension if we've never seen this OpenID before. + */ +function openid_add_ax_extension($extensions, $auth_request) { + if(!get_user_by_openid($auth_request->endpoint->claimed_id)) { + require_once('Auth/OpenID/AX.php'); + + if ($auth_request->endpoint->usesExtension(Auth_OpenID_AX_NS_URI)) { + $ax_request = new Auth_OpenID_AX_FetchRequest(); + $ax_request->add(Auth_OpenID_AX_AttrInfo::make('http://axschema.org/namePerson/friendly', 1, true)); + $ax_request->add(Auth_OpenID_AX_AttrInfo::make('http://axschema.org/contact/email', 1, true)); + $ax_request->add(Auth_OpenID_AX_AttrInfo::make('http://axschema.org/namePerson', 1, true)); + + $extensions[] = $ax_request; + } + } + + return $extensions; +} + + +/** + * Build an SReg attribute query extension if we've never seen this OpenID before. + */ +function openid_add_sreg_extension($extensions, $auth_request) { + if(!get_user_by_openid($auth_request->endpoint->claimed_id)) { + require_once('Auth/OpenID/SReg.php'); + + if ($auth_request->endpoint->usesExtension(Auth_OpenID_SREG_NS_URI_1_0) || $auth_request->endpoint->usesExtension(Auth_OpenID_SREG_NS_URI_1_1)) { + $extensions[] = Auth_OpenID_SRegRequest::build(array(),array('nickname','email','fullname')); + } + } + + return $extensions; +} + + +/** + * Finish OpenID authentication. + * + * @param string $action login action that is being performed + * @uses do_action() Calls 'openid_finish_auth' hook action after processing the authentication response. + */ +function finish_openid($action) { + $identity_url = finish_openid_auth(); + do_action('openid_finish_auth', $identity_url, $action); +} + + +/** + * + * @uses apply_filters() Calls 'openid_consumer_return_urls' to collect return_to URLs to be included in XRDS document. + */ +function openid_consumer_xrds_simple($xrds) { + + if (get_option('openid_xrds_returnto')) { + // OpenID Consumer Service + $return_urls = array_unique(apply_filters('openid_consumer_return_urls', array(openid_service_url('consumer', 'login_post')))); + if (!empty($return_urls)) { + $xrds = xrds_add_simple_service($xrds, 'OpenID Consumer Service', 'http://specs.openid.net/auth/2.0/return_to', $return_urls); + } + } + + return $xrds; +} + + + + diff --git a/wp-content/plugins/openid/f/ajax-loader.gif b/wp-content/plugins/openid/f/ajax-loader.gif new file mode 100644 index 0000000..5b33f7e Binary files /dev/null and b/wp-content/plugins/openid/f/ajax-loader.gif differ diff --git a/wp-content/plugins/openid/f/icon.png b/wp-content/plugins/openid/f/icon.png new file mode 100644 index 0000000..5f539a3 Binary files /dev/null and b/wp-content/plugins/openid/f/icon.png differ diff --git a/wp-content/plugins/openid/f/openid.css b/wp-content/plugins/openid/f/openid.css new file mode 100644 index 0000000..b1ce6b8 --- /dev/null +++ b/wp-content/plugins/openid/f/openid.css @@ -0,0 +1,37 @@ +/* yuicompress openid.css -o openid.min.css + * @see http://developer.yahoo.com/yui/compressor/ + */ + +#openid_enabled_link, .openid_link, #openid_identifier, #commentform #openid_identifier { + background-image: url('openid.gif'); + background-position: 3px 50%; + background-repeat: no-repeat; + padding-left: 21px !important; +} + +.openid_loading { + background: url('ajax-loader.gif') right center no-repeat; +} + +body.login #openid_identifier { + width: 92%; + font-size: 20px; + background-color: #FFF; + border: 1px solid #ccc; + padding: 3px 3px 3px 18px; + margin-right: 6px; +} + +#openid_comment { + margin: 0.8em 1em; +} +#openid_comment input { + width: auto; +} + +/* fix link color on wp-login.php */ +body.login form#loginform a.legacy, +body.login form#registerform a.legacy { + color: #FFF; +} + diff --git a/wp-content/plugins/openid/f/openid.gif b/wp-content/plugins/openid/f/openid.gif new file mode 100644 index 0000000..ea14f84 Binary files /dev/null and b/wp-content/plugins/openid/f/openid.gif differ diff --git a/wp-content/plugins/openid/f/openid.js b/wp-content/plugins/openid/f/openid.js new file mode 100644 index 0000000..5d6cc4a --- /dev/null +++ b/wp-content/plugins/openid/f/openid.js @@ -0,0 +1,64 @@ +/* yuicompress openid.js -o openid.min.js + * @see http://developer.yahoo.com/yui/compressor/ + */ + +jQuery(function() { + jQuery('#openid_system_status').hide(); + + jQuery('#openid_status_link').click( function() { + jQuery('#openid_system_status').toggle(); + return false; + }); +}); + +function stylize_profilelink() { + jQuery("#commentform a[href$='profile.php']").addClass('openid_link'); +} + +/** + * Properly integrate the 'Authenticate with OpenID' checkbox into the comment form. + * This will move the checkbox below the Website field, and add an AJAX hook to + * show/hide the checkbox depending on whether the given URL is a valid OpenID. + */ +function add_openid_to_comment_form(wp_url, nonce) { + var openid_nonce = nonce; + + var openid_comment = jQuery('#openid_comment'); + var openid_checkbox = jQuery('#login_with_openid'); + var url = jQuery('#url'); + + jQuery('label[for="url"],#url').filter(':last').after(openid_comment.hide()); + + if ( url.val() ) check_openid( url ); + url.blur( function() { check_openid(jQuery(this)); } ); + + + /** + * Make AJAX call to WordPress to check if the given URL is a valid OpenID. + * AJAX response should be a JSON structure with two values: + * 'valid' - (boolean) whether or not the given URL is a valid OpenID + * 'nonce' - (string) new nonce to use for next AJAX call + */ + function check_openid( url ) { + url.addClass('openid_loading'); + + if ( url.val() == '' ) { + openid_checkbox.attr('checked', ''); + openid_comment.slideUp(); + return; + } + + jQuery.getJSON(wp_url + '?openid=ajax', {url: url.val(), _wpnonce: openid_nonce}, function(data, textStatus) { + url.removeClass('openid_loading'); + if ( data.valid ) { + openid_checkbox.attr('checked', 'checked'); + openid_comment.slideDown(); + } else { + openid_checkbox.attr('checked', ''); + openid_comment.slideUp(); + } + openid_nonce = data.nonce; + }); + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID.php b/wp-content/plugins/openid/lib/Auth/OpenID.php new file mode 100644 index 0000000..c9d9779 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID.php @@ -0,0 +1,563 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * The library version string + */ +define('Auth_OpenID_VERSION', '2.2.2'); + +/** + * Require the fetcher code. + */ +require_once "Auth/Yadis/PlainHTTPFetcher.php"; +require_once "Auth/Yadis/ParanoidHTTPFetcher.php"; +require_once "Auth/OpenID/BigMath.php"; +require_once "Auth/OpenID/URINorm.php"; + +/** + * Status code returned by the server when the only option is to show + * an error page, since we do not have enough information to redirect + * back to the consumer. The associated value is an error message that + * should be displayed on an HTML error page. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_LOCAL_ERROR', 'local_error'); + +/** + * Status code returned when there is an error to return in key-value + * form to the consumer. The caller should return a 400 Bad Request + * response with content-type text/plain and the value as the body. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_REMOTE_ERROR', 'remote_error'); + +/** + * Status code returned when there is a key-value form OK response to + * the consumer. The value associated with this code is the + * response. The caller should return a 200 OK response with + * content-type text/plain and the value as the body. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_REMOTE_OK', 'remote_ok'); + +/** + * Status code returned when there is a redirect back to the + * consumer. The value is the URL to redirect back to. The caller + * should return a 302 Found redirect with a Location: header + * containing the URL. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_REDIRECT', 'redirect'); + +/** + * Status code returned when the caller needs to authenticate the + * user. The associated value is a {@link Auth_OpenID_ServerRequest} + * object that can be used to complete the authentication. If the user + * has taken some authentication action, use the retry() method of the + * {@link Auth_OpenID_ServerRequest} object to complete the request. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_DO_AUTH', 'do_auth'); + +/** + * Status code returned when there were no OpenID arguments + * passed. This code indicates that the caller should return a 200 OK + * response and display an HTML page that says that this is an OpenID + * server endpoint. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_DO_ABOUT', 'do_about'); + +/** + * Defines for regexes and format checking. + */ +define('Auth_OpenID_letters', + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); + +define('Auth_OpenID_digits', + "0123456789"); + +define('Auth_OpenID_punct', + "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"); + +Auth_OpenID_include_init(); + +/** + * The OpenID utility function class. + * + * @package OpenID + * @access private + */ +class Auth_OpenID { + + /** + * Return true if $thing is an Auth_OpenID_FailureResponse object; + * false if not. + * + * @access private + */ + static function isFailure($thing) + { + return is_a($thing, 'Auth_OpenID_FailureResponse'); + } + + /** + * Gets the query data from the server environment based on the + * request method used. If GET was used, this looks at + * $_SERVER['QUERY_STRING'] directly. If POST was used, this + * fetches data from the special php://input file stream. + * + * Returns an associative array of the query arguments. + * + * Skips invalid key/value pairs (i.e. keys with no '=value' + * portion). + * + * Returns an empty array if neither GET nor POST was used, or if + * POST was used but php://input cannot be opened. + * + * See background: + * http://lists.openidenabled.com/pipermail/dev/2007-March/000395.html + * + * @access private + */ + static function getQuery($query_str=null) + { + $data = array(); + + if ($query_str !== null) { + $data = Auth_OpenID::params_from_string($query_str); + } else if (!array_key_exists('REQUEST_METHOD', $_SERVER)) { + // Do nothing. + } else { + // XXX HACK FIXME HORRIBLE. + // + // POSTing to a URL with query parameters is acceptable, but + // we don't have a clean way to distinguish those parameters + // when we need to do things like return_to verification + // which only want to look at one kind of parameter. We're + // going to emulate the behavior of some other environments + // by defaulting to GET and overwriting with POST if POST + // data is available. + $data = Auth_OpenID::params_from_string($_SERVER['QUERY_STRING']); + + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $str = file_get_contents('php://input'); + + if ($str === false) { + $post = array(); + } else { + $post = Auth_OpenID::params_from_string($str); + } + + $data = array_merge($data, $post); + } + } + + return $data; + } + + static function params_from_string($str) + { + $chunks = explode("&", $str); + + $data = array(); + foreach ($chunks as $chunk) { + $parts = explode("=", $chunk, 2); + + if (count($parts) != 2) { + continue; + } + + list($k, $v) = $parts; + $data[urldecode($k)] = urldecode($v); + } + + return $data; + } + + /** + * Create dir_name as a directory if it does not exist. If it + * exists, make sure that it is, in fact, a directory. Returns + * true if the operation succeeded; false if not. + * + * @access private + */ + static function ensureDir($dir_name) + { + if (is_dir($dir_name) || @mkdir($dir_name)) { + return true; + } else { + $parent_dir = dirname($dir_name); + + // Terminal case; there is no parent directory to create. + if ($parent_dir == $dir_name) { + return true; + } + + return (Auth_OpenID::ensureDir($parent_dir) && @mkdir($dir_name)); + } + } + + /** + * Adds a string prefix to all values of an array. Returns a new + * array containing the prefixed values. + * + * @access private + */ + static function addPrefix($values, $prefix) + { + $new_values = array(); + foreach ($values as $s) { + $new_values[] = $prefix . $s; + } + return $new_values; + } + + /** + * Convenience function for getting array values. Given an array + * $arr and a key $key, get the corresponding value from the array + * or return $default if the key is absent. + * + * @access private + */ + static function arrayGet($arr, $key, $fallback = null) + { + if (is_array($arr)) { + if (array_key_exists($key, $arr)) { + return $arr[$key]; + } else { + return $fallback; + } + } else { + trigger_error("Auth_OpenID::arrayGet (key = ".$key.") expected " . + "array as first parameter, got " . + gettype($arr), E_USER_WARNING); + + return false; + } + } + + /** + * Replacement for PHP's broken parse_str. + */ + static function parse_str($query) + { + if ($query === null) { + return null; + } + + $parts = explode('&', $query); + + $new_parts = array(); + for ($i = 0; $i < count($parts); $i++) { + $pair = explode('=', $parts[$i]); + + if (count($pair) != 2) { + continue; + } + + list($key, $value) = $pair; + $new_parts[urldecode($key)] = urldecode($value); + } + + return $new_parts; + } + + /** + * Implements the PHP 5 'http_build_query' functionality. + * + * @access private + * @param array $data Either an array key/value pairs or an array + * of arrays, each of which holding two values: a key and a value, + * sequentially. + * @return string $result The result of url-encoding the key/value + * pairs from $data into a URL query string + * (e.g. "username=bob&id=56"). + */ + static function httpBuildQuery($data) + { + $pairs = array(); + foreach ($data as $key => $value) { + if (is_array($value)) { + $pairs[] = urlencode($value[0])."=".urlencode($value[1]); + } else { + $pairs[] = urlencode($key)."=".urlencode($value); + } + } + return implode("&", $pairs); + } + + /** + * "Appends" query arguments onto a URL. The URL may or may not + * already have arguments (following a question mark). + * + * @access private + * @param string $url A URL, which may or may not already have + * arguments. + * @param array $args Either an array key/value pairs or an array of + * arrays, each of which holding two values: a key and a value, + * sequentially. If $args is an ordinary key/value array, the + * parameters will be added to the URL in sorted alphabetical order; + * if $args is an array of arrays, their order will be preserved. + * @return string $url The original URL with the new parameters added. + * + */ + static function appendArgs($url, $args) + { + if (count($args) == 0) { + return $url; + } + + // Non-empty array; if it is an array of arrays, use + // multisort; otherwise use sort. + if (array_key_exists(0, $args) && + is_array($args[0])) { + // Do nothing here. + } else { + $keys = array_keys($args); + sort($keys); + $new_args = array(); + foreach ($keys as $key) { + $new_args[] = array($key, $args[$key]); + } + $args = $new_args; + } + + $sep = '?'; + if (strpos($url, '?') !== false) { + $sep = '&'; + } + + return $url . $sep . Auth_OpenID::httpBuildQuery($args); + } + + /** + * Implements python's urlunparse, which is not available in PHP. + * Given the specified components of a URL, this function rebuilds + * and returns the URL. + * + * @access private + * @param string $scheme The scheme (e.g. 'http'). Defaults to 'http'. + * @param string $host The host. Required. + * @param string $port The port. + * @param string $path The path. + * @param string $query The query. + * @param string $fragment The fragment. + * @return string $url The URL resulting from assembling the + * specified components. + */ + static function urlunparse($scheme, $host, $port = null, $path = '/', + $query = '', $fragment = '') + { + + if (!$scheme) { + $scheme = 'http'; + } + + if (!$host) { + return false; + } + + if (!$path) { + $path = ''; + } + + $result = $scheme . "://" . $host; + + if ($port) { + $result .= ":" . $port; + } + + $result .= $path; + + if ($query) { + $result .= "?" . $query; + } + + if ($fragment) { + $result .= "#" . $fragment; + } + + return $result; + } + + /** + * Given a URL, this "normalizes" it by adding a trailing slash + * and / or a leading http:// scheme where necessary. Returns + * null if the original URL is malformed and cannot be normalized. + * + * @access private + * @param string $url The URL to be normalized. + * @return mixed $new_url The URL after normalization, or null if + * $url was malformed. + */ + static function normalizeUrl($url) + { + @$parsed = parse_url($url); + + if (!$parsed) { + return null; + } + + if (isset($parsed['scheme']) && + isset($parsed['host'])) { + $scheme = strtolower($parsed['scheme']); + if (!in_array($scheme, array('http', 'https'))) { + return null; + } + } else { + $url = 'http://' . $url; + } + + $normalized = Auth_OpenID_urinorm($url); + if ($normalized === null) { + return null; + } + list($defragged, $frag) = Auth_OpenID::urldefrag($normalized); + return $defragged; + } + + /** + * Replacement (wrapper) for PHP's intval() because it's broken. + * + * @access private + */ + static function intval($value) + { + $re = "/^\\d+$/"; + + if (!preg_match($re, $value)) { + return false; + } + + return intval($value); + } + + /** + * Count the number of bytes in a string independently of + * multibyte support conditions. + * + * @param string $str The string of bytes to count. + * @return int The number of bytes in $str. + */ + static function bytes($str) + { + return strlen(bin2hex($str)) / 2; + } + + /** + * Get the bytes in a string independently of multibyte support + * conditions. + */ + static function toBytes($str) + { + $hex = bin2hex($str); + + if (!$hex) { + return array(); + } + + $b = array(); + for ($i = 0; $i < strlen($hex); $i += 2) { + $b[] = chr(base_convert(substr($hex, $i, 2), 16, 10)); + } + + return $b; + } + + static function urldefrag($url) + { + $parts = explode("#", $url, 2); + + if (count($parts) == 1) { + return array($parts[0], ""); + } else { + return $parts; + } + } + + static function filter($callback, &$sequence) + { + $result = array(); + + foreach ($sequence as $item) { + if (call_user_func_array($callback, array($item))) { + $result[] = $item; + } + } + + return $result; + } + + static function update(&$dest, &$src) + { + foreach ($src as $k => $v) { + $dest[$k] = $v; + } + } + + /** + * Wrap PHP's standard error_log functionality. Use this to + * perform all logging. It will interpolate any additional + * arguments into the format string before logging. + * + * @param string $format_string The sprintf format for the message + */ + static function log($format_string) + { + $args = func_get_args(); + $message = call_user_func_array('sprintf', $args); + error_log($message); + } + + static function autoSubmitHTML($form, $title="OpenId transaction in progress") + { + return("". + "". + $title . + "". + "". + $form . + "". + "". + ""); + } +} + +/* + * Function to run when this file is included. + * Abstracted to a function to make life easier + * for some PHP optimizers. + */ +function Auth_OpenID_include_init() { + if (Auth_OpenID_getMathLib() === null) { + Auth_OpenID_setNoMathSupport(); + } +} diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/AX.php b/wp-content/plugins/openid/lib/Auth/OpenID/AX.php new file mode 100644 index 0000000..7370715 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/AX.php @@ -0,0 +1,1022 @@ +message = $message; + } +} + +/** + * Abstract class containing common code for attribute exchange + * messages. + * + * @package OpenID + */ +class Auth_OpenID_AX_Message extends Auth_OpenID_Extension { + /** + * ns_alias: The preferred namespace alias for attribute exchange + * messages + */ + var $ns_alias = 'ax'; + + /** + * mode: The type of this attribute exchange message. This must be + * overridden in subclasses. + */ + var $mode = null; + + var $ns_uri = Auth_OpenID_AX_NS_URI; + + /** + * Return Auth_OpenID_AX_Error if the mode in the attribute + * exchange arguments does not match what is expected for this + * class; true otherwise. + * + * @access private + */ + function _checkMode($ax_args) + { + $mode = Auth_OpenID::arrayGet($ax_args, 'mode'); + if ($mode != $this->mode) { + return new Auth_OpenID_AX_Error( + sprintf( + "Expected mode '%s'; got '%s'", + $this->mode, $mode)); + } + + return true; + } + + /** + * Return a set of attribute exchange arguments containing the + * basic information that must be in every attribute exchange + * message. + * + * @access private + */ + function _newArgs() + { + return array('mode' => $this->mode); + } +} + +/** + * Represents a single attribute in an attribute exchange + * request. This should be added to an AXRequest object in order to + * request the attribute. + * + * @package OpenID + */ +class Auth_OpenID_AX_AttrInfo { + /** + * Construct an attribute information object. Do not call this + * directly; call make(...) instead. + * + * @param string $type_uri The type URI for this attribute. + * + * @param int $count The number of values of this type to request. + * + * @param bool $required Whether the attribute will be marked as + * required in the request. + * + * @param string $alias The name that should be given to this + * attribute in the request. + */ + function Auth_OpenID_AX_AttrInfo($type_uri, $count, $required, + $alias) + { + /** + * required: Whether the attribute will be marked as required + * when presented to the subject of the attribute exchange + * request. + */ + $this->required = $required; + + /** + * count: How many values of this type to request from the + * subject. Defaults to one. + */ + $this->count = $count; + + /** + * type_uri: The identifier that determines what the attribute + * represents and how it is serialized. For example, one type + * URI representing dates could represent a Unix timestamp in + * base 10 and another could represent a human-readable + * string. + */ + $this->type_uri = $type_uri; + + /** + * alias: The name that should be given to this attribute in + * the request. If it is not supplied, a generic name will be + * assigned. For example, if you want to call a Unix timestamp + * value 'tstamp', set its alias to that value. If two + * attributes in the same message request to use the same + * alias, the request will fail to be generated. + */ + $this->alias = $alias; + } + + /** + * Construct an attribute information object. For parameter + * details, see the constructor. + */ + static function make($type_uri, $count=1, $required=false, + $alias=null) + { + if ($alias !== null) { + $result = Auth_OpenID_AX_checkAlias($alias); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + } + + return new Auth_OpenID_AX_AttrInfo($type_uri, $count, $required, + $alias); + } + + /** + * When processing a request for this attribute, the OP should + * call this method to determine whether all available attribute + * values were requested. If self.count == UNLIMITED_VALUES, this + * returns True. Otherwise this returns False, in which case + * self.count is an integer. + */ + function wantsUnlimitedValues() + { + return $this->count === Auth_OpenID_AX_UNLIMITED_VALUES; + } +} + +/** + * Given a namespace mapping and a string containing a comma-separated + * list of namespace aliases, return a list of type URIs that + * correspond to those aliases. + * + * @param $namespace_map The mapping from namespace URI to alias + * @param $alias_list_s The string containing the comma-separated + * list of aliases. May also be None for convenience. + * + * @return $seq The list of namespace URIs that corresponds to the + * supplied list of aliases. If the string was zero-length or None, an + * empty list will be returned. + * + * return null If an alias is present in the list of aliases but + * is not present in the namespace map. + */ +function Auth_OpenID_AX_toTypeURIs($namespace_map, $alias_list_s) +{ + $uris = array(); + + if ($alias_list_s) { + foreach (explode(',', $alias_list_s) as $alias) { + $type_uri = $namespace_map->getNamespaceURI($alias); + if ($type_uri === null) { + // raise KeyError( + // 'No type is defined for attribute name %r' % (alias,)) + return new Auth_OpenID_AX_Error( + sprintf('No type is defined for attribute name %s', + $alias) + ); + } else { + $uris[] = $type_uri; + } + } + } + + return $uris; +} + +/** + * An attribute exchange 'fetch_request' message. This message is sent + * by a relying party when it wishes to obtain attributes about the + * subject of an OpenID authentication request. + * + * @package OpenID + */ +class Auth_OpenID_AX_FetchRequest extends Auth_OpenID_AX_Message { + + var $mode = 'fetch_request'; + + function Auth_OpenID_AX_FetchRequest($update_url=null) + { + /** + * requested_attributes: The attributes that have been + * requested thus far, indexed by the type URI. + */ + $this->requested_attributes = array(); + + /** + * update_url: A URL that will accept responses for this + * attribute exchange request, even in the absence of the user + * who made this request. + */ + $this->update_url = $update_url; + } + + /** + * Add an attribute to this attribute exchange request. + * + * @param attribute: The attribute that is being requested + * @return true on success, false when the requested attribute is + * already present in this fetch request. + */ + function add($attribute) + { + if ($this->contains($attribute->type_uri)) { + return new Auth_OpenID_AX_Error( + sprintf("The attribute %s has already been requested", + $attribute->type_uri)); + } + + $this->requested_attributes[$attribute->type_uri] = $attribute; + + return true; + } + + /** + * Get the serialized form of this attribute fetch request. + * + * @returns Auth_OpenID_AX_FetchRequest The fetch request message parameters + */ + function getExtensionArgs() + { + $aliases = new Auth_OpenID_NamespaceMap(); + + $required = array(); + $if_available = array(); + + $ax_args = $this->_newArgs(); + + foreach ($this->requested_attributes as $type_uri => $attribute) { + if ($attribute->alias === null) { + $alias = $aliases->add($type_uri); + } else { + $alias = $aliases->addAlias($type_uri, $attribute->alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $attribute->alias, $type_uri + )); + } + } + + if ($attribute->required) { + $required[] = $alias; + } else { + $if_available[] = $alias; + } + + if ($attribute->count != 1) { + $ax_args['count.' . $alias] = strval($attribute->count); + } + + $ax_args['type.' . $alias] = $type_uri; + } + + if ($required) { + $ax_args['required'] = implode(',', $required); + } + + if ($if_available) { + $ax_args['if_available'] = implode(',', $if_available); + } + + return $ax_args; + } + + /** + * Get the type URIs for all attributes that have been marked as + * required. + * + * @return A list of the type URIs for attributes that have been + * marked as required. + */ + function getRequiredAttrs() + { + $required = array(); + foreach ($this->requested_attributes as $type_uri => $attribute) { + if ($attribute->required) { + $required[] = $type_uri; + } + } + + return $required; + } + + /** + * Extract a FetchRequest from an OpenID message + * + * @param request: The OpenID request containing the attribute + * fetch request + * + * @returns mixed An Auth_OpenID_AX_Error or the + * Auth_OpenID_AX_FetchRequest extracted from the request message if + * successful + */ + static function fromOpenIDRequest($request) + { + $m = $request->message; + $obj = new Auth_OpenID_AX_FetchRequest(); + $ax_args = $m->getArgs($obj->ns_uri); + + $result = $obj->parseExtensionArgs($ax_args); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + if ($obj->update_url) { + // Update URL must match the openid.realm of the + // underlying OpenID 2 message. + $realm = $m->getArg(Auth_OpenID_OPENID_NS, 'realm', + $m->getArg( + Auth_OpenID_OPENID_NS, + 'return_to')); + + if (!$realm) { + $obj = new Auth_OpenID_AX_Error( + sprintf("Cannot validate update_url %s " . + "against absent realm", $obj->update_url)); + } else if (!Auth_OpenID_TrustRoot::match($realm, + $obj->update_url)) { + $obj = new Auth_OpenID_AX_Error( + sprintf("Update URL %s failed validation against realm %s", + $obj->update_url, $realm)); + } + } + + return $obj; + } + + /** + * Given attribute exchange arguments, populate this FetchRequest. + * + * @return $result Auth_OpenID_AX_Error if the data to be parsed + * does not follow the attribute exchange specification. At least + * when 'if_available' or 'required' is not specified for a + * particular attribute type. Returns true otherwise. + */ + function parseExtensionArgs($ax_args) + { + $result = $this->_checkMode($ax_args); + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $aliases = new Auth_OpenID_NamespaceMap(); + + foreach ($ax_args as $key => $value) { + if (strpos($key, 'type.') === 0) { + $alias = substr($key, 5); + $type_uri = $value; + + $alias = $aliases->addAlias($type_uri, $alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $alias, $type_uri) + ); + } + + $count_s = Auth_OpenID::arrayGet($ax_args, 'count.' . $alias); + if ($count_s) { + $count = Auth_OpenID::intval($count_s); + if (($count === false) && + ($count_s === Auth_OpenID_AX_UNLIMITED_VALUES)) { + $count = $count_s; + } + } else { + $count = 1; + } + + if ($count === false) { + return new Auth_OpenID_AX_Error( + sprintf("Integer value expected for %s, got %s", + 'count.' . $alias, $count_s)); + } + + $attrinfo = Auth_OpenID_AX_AttrInfo::make($type_uri, $count, + false, $alias); + + if (Auth_OpenID_AX::isError($attrinfo)) { + return $attrinfo; + } + + $this->add($attrinfo); + } + } + + $required = Auth_OpenID_AX_toTypeURIs($aliases, + Auth_OpenID::arrayGet($ax_args, 'required')); + + foreach ($required as $type_uri) { + $attrib = $this->requested_attributes[$type_uri]; + $attrib->required = true; + } + + $if_available = Auth_OpenID_AX_toTypeURIs($aliases, + Auth_OpenID::arrayGet($ax_args, 'if_available')); + + $all_type_uris = array_merge($required, $if_available); + + foreach ($aliases->iterNamespaceURIs() as $type_uri) { + if (!in_array($type_uri, $all_type_uris)) { + return new Auth_OpenID_AX_Error( + sprintf('Type URI %s was in the request but not ' . + 'present in "required" or "if_available"', + $type_uri)); + + } + } + + $this->update_url = Auth_OpenID::arrayGet($ax_args, 'update_url'); + + return true; + } + + /** + * Iterate over the AttrInfo objects that are contained in this + * fetch_request. + */ + function iterAttrs() + { + return array_values($this->requested_attributes); + } + + function iterTypes() + { + return array_keys($this->requested_attributes); + } + + /** + * Is the given type URI present in this fetch_request? + */ + function contains($type_uri) + { + return in_array($type_uri, $this->iterTypes()); + } +} + +/** + * An abstract class that implements a message that has attribute keys + * and values. It contains the common code between fetch_response and + * store_request. + * + * @package OpenID + */ +class Auth_OpenID_AX_KeyValueMessage extends Auth_OpenID_AX_Message { + + function Auth_OpenID_AX_KeyValueMessage() + { + $this->data = array(); + } + + /** + * Add a single value for the given attribute type to the + * message. If there are already values specified for this type, + * this value will be sent in addition to the values already + * specified. + * + * @param type_uri: The URI for the attribute + * @param value: The value to add to the response to the relying + * party for this attribute + * @return null + */ + function addValue($type_uri, $value) + { + if (!array_key_exists($type_uri, $this->data)) { + $this->data[$type_uri] = array(); + } + + $values =& $this->data[$type_uri]; + $values[] = $value; + } + + /** + * Set the values for the given attribute type. This replaces any + * values that have already been set for this attribute. + * + * @param type_uri: The URI for the attribute + * @param values: A list of values to send for this attribute. + */ + function setValues($type_uri, &$values) + { + $this->data[$type_uri] =& $values; + } + + /** + * Get the extension arguments for the key/value pairs contained + * in this message. + * + * @param aliases: An alias mapping. Set to None if you don't care + * about the aliases for this request. + * + * @access private + */ + function _getExtensionKVArgs($aliases) + { + if ($aliases === null) { + $aliases = new Auth_OpenID_NamespaceMap(); + } + + $ax_args = array(); + + foreach ($this->data as $type_uri => $values) { + $alias = $aliases->add($type_uri); + + $ax_args['type.' . $alias] = $type_uri; + $ax_args['count.' . $alias] = strval(count($values)); + + foreach ($values as $i => $value) { + $key = sprintf('value.%s.%d', $alias, $i + 1); + $ax_args[$key] = $value; + } + } + + return $ax_args; + } + + /** + * Parse attribute exchange key/value arguments into this object. + * + * @param ax_args: The attribute exchange fetch_response + * arguments, with namespacing removed. + * + * @return Auth_OpenID_AX_Error or true + */ + function parseExtensionArgs($ax_args) + { + $result = $this->_checkMode($ax_args); + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $aliases = new Auth_OpenID_NamespaceMap(); + + foreach ($ax_args as $key => $value) { + if (strpos($key, 'type.') === 0) { + $type_uri = $value; + $alias = substr($key, 5); + + $result = Auth_OpenID_AX_checkAlias($alias); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $alias = $aliases->addAlias($type_uri, $alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $alias, $type_uri) + ); + } + } + } + + foreach ($aliases->iteritems() as $pair) { + list($type_uri, $alias) = $pair; + + if (array_key_exists('count.' . $alias, $ax_args) && ($ax_args['count.' . $alias] !== Auth_OpenID_AX_UNLIMITED_VALUES)) { + + $count_key = 'count.' . $alias; + $count_s = $ax_args[$count_key]; + + $count = Auth_OpenID::intval($count_s); + + if ($count === false) { + return new Auth_OpenID_AX_Error( + sprintf("Integer value expected for %s, got %s", + 'count. %s' . $alias, $count_s, + Auth_OpenID_AX_UNLIMITED_VALUES) + ); + } + + $values = array(); + for ($i = 1; $i < $count + 1; $i++) { + $value_key = sprintf('value.%s.%d', $alias, $i); + + if (!array_key_exists($value_key, $ax_args)) { + return new Auth_OpenID_AX_Error( + sprintf( + "No value found for key %s", + $value_key)); + } + + $value = $ax_args[$value_key]; + $values[] = $value; + } + } else { + $key = 'value.' . $alias; + + if (!array_key_exists($key, $ax_args)) { + return new Auth_OpenID_AX_Error( + sprintf( + "No value found for key %s", + $key)); + } + + $value = $ax_args['value.' . $alias]; + + if ($value == '') { + $values = array(); + } else { + $values = array($value); + } + } + + $this->data[$type_uri] = $values; + } + + return true; + } + + /** + * Get a single value for an attribute. If no value was sent for + * this attribute, use the supplied default. If there is more than + * one value for this attribute, this method will fail. + * + * @param type_uri: The URI for the attribute + * @param default: The value to return if the attribute was not + * sent in the fetch_response. + * + * @return $value Auth_OpenID_AX_Error on failure or the value of + * the attribute in the fetch_response message, or the default + * supplied + */ + function getSingle($type_uri, $default=null) + { + $values = Auth_OpenID::arrayGet($this->data, $type_uri); + if (!$values) { + return $default; + } else if (count($values) == 1) { + return $values[0]; + } else { + return new Auth_OpenID_AX_Error( + sprintf('More than one value present for %s', + $type_uri) + ); + } + } + + /** + * Get the list of values for this attribute in the + * fetch_response. + * + * XXX: what to do if the values are not present? default + * parameter? this is funny because it's always supposed to return + * a list, so the default may break that, though it's provided by + * the user's code, so it might be okay. If no default is + * supplied, should the return be None or []? + * + * @param type_uri: The URI of the attribute + * + * @return $values The list of values for this attribute in the + * response. May be an empty list. If the attribute was not sent + * in the response, returns Auth_OpenID_AX_Error. + */ + function get($type_uri) + { + if (array_key_exists($type_uri, $this->data)) { + return $this->data[$type_uri]; + } else { + return new Auth_OpenID_AX_Error( + sprintf("Type URI %s not found in response", + $type_uri) + ); + } + } + + /** + * Get the number of responses for a particular attribute in this + * fetch_response message. + * + * @param type_uri: The URI of the attribute + * + * @returns int The number of values sent for this attribute. If + * the attribute was not sent in the response, returns + * Auth_OpenID_AX_Error. + */ + function count($type_uri) + { + if (array_key_exists($type_uri, $this->data)) { + return count($this->get($type_uri)); + } else { + return new Auth_OpenID_AX_Error( + sprintf("Type URI %s not found in response", + $type_uri) + ); + } + } +} + +/** + * A fetch_response attribute exchange message. + * + * @package OpenID + */ +class Auth_OpenID_AX_FetchResponse extends Auth_OpenID_AX_KeyValueMessage { + var $mode = 'fetch_response'; + + function Auth_OpenID_AX_FetchResponse($update_url=null) + { + $this->Auth_OpenID_AX_KeyValueMessage(); + $this->update_url = $update_url; + } + + /** + * Serialize this object into arguments in the attribute exchange + * namespace + * + * @return $args The dictionary of unqualified attribute exchange + * arguments that represent this fetch_response, or + * Auth_OpenID_AX_Error on error. + */ + function getExtensionArgs($request=null) + { + $aliases = new Auth_OpenID_NamespaceMap(); + + $zero_value_types = array(); + + if ($request !== null) { + // Validate the data in the context of the request (the + // same attributes should be present in each, and the + // counts in the response must be no more than the counts + // in the request) + + foreach ($this->data as $type_uri => $unused) { + if (!$request->contains($type_uri)) { + return new Auth_OpenID_AX_Error( + sprintf("Response attribute not present in request: %s", + $type_uri) + ); + } + } + + foreach ($request->iterAttrs() as $attr_info) { + // Copy the aliases from the request so that reading + // the response in light of the request is easier + if ($attr_info->alias === null) { + $aliases->add($attr_info->type_uri); + } else { + $alias = $aliases->addAlias($attr_info->type_uri, + $attr_info->alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $attr_info->alias, $attr_info->type_uri) + ); + } + } + + if (array_key_exists($attr_info->type_uri, $this->data)) { + $values = $this->data[$attr_info->type_uri]; + } else { + $values = array(); + $zero_value_types[] = $attr_info; + } + + if (($attr_info->count != Auth_OpenID_AX_UNLIMITED_VALUES) && + ($attr_info->count < count($values))) { + return new Auth_OpenID_AX_Error( + sprintf("More than the number of requested values " . + "were specified for %s", + $attr_info->type_uri) + ); + } + } + } + + $kv_args = $this->_getExtensionKVArgs($aliases); + + // Add the KV args into the response with the args that are + // unique to the fetch_response + $ax_args = $this->_newArgs(); + + // For each requested attribute, put its type/alias and count + // into the response even if no data were returned. + foreach ($zero_value_types as $attr_info) { + $alias = $aliases->getAlias($attr_info->type_uri); + $kv_args['type.' . $alias] = $attr_info->type_uri; + $kv_args['count.' . $alias] = '0'; + } + + $update_url = null; + if ($request) { + $update_url = $request->update_url; + } else { + $update_url = $this->update_url; + } + + if ($update_url) { + $ax_args['update_url'] = $update_url; + } + + Auth_OpenID::update($ax_args, $kv_args); + + return $ax_args; + } + + /** + * @return $result Auth_OpenID_AX_Error on failure or true on + * success. + */ + function parseExtensionArgs($ax_args) + { + $result = parent::parseExtensionArgs($ax_args); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $this->update_url = Auth_OpenID::arrayGet($ax_args, 'update_url'); + + return true; + } + + /** + * Construct a FetchResponse object from an OpenID library + * SuccessResponse object. + * + * @param success_response: A successful id_res response object + * + * @param signed: Whether non-signed args should be processsed. If + * True (the default), only signed arguments will be processsed. + * + * @return $response A FetchResponse containing the data from the + * OpenID message + */ + static function fromSuccessResponse($success_response, $signed=true) + { + $obj = new Auth_OpenID_AX_FetchResponse(); + if ($signed) { + $ax_args = $success_response->getSignedNS($obj->ns_uri); + } else { + $ax_args = $success_response->message->getArgs($obj->ns_uri); + } + if ($ax_args === null || Auth_OpenID::isFailure($ax_args) || + sizeof($ax_args) == 0) { + return null; + } + + $result = $obj->parseExtensionArgs($ax_args); + if (Auth_OpenID_AX::isError($result)) { + #XXX log me + return null; + } + return $obj; + } +} + +/** + * A store request attribute exchange message representation. + * + * @package OpenID + */ +class Auth_OpenID_AX_StoreRequest extends Auth_OpenID_AX_KeyValueMessage { + var $mode = 'store_request'; + + /** + * @param array $aliases The namespace aliases to use when making + * this store response. Leave as None to use defaults. + */ + function getExtensionArgs($aliases=null) + { + $ax_args = $this->_newArgs(); + $kv_args = $this->_getExtensionKVArgs($aliases); + Auth_OpenID::update($ax_args, $kv_args); + return $ax_args; + } +} + +/** + * An indication that the store request was processed along with this + * OpenID transaction. Use make(), NOT the constructor, to create + * response objects. + * + * @package OpenID + */ +class Auth_OpenID_AX_StoreResponse extends Auth_OpenID_AX_Message { + var $SUCCESS_MODE = 'store_response_success'; + var $FAILURE_MODE = 'store_response_failure'; + + /** + * Returns Auth_OpenID_AX_Error on error or an + * Auth_OpenID_AX_StoreResponse object on success. + */ + function make($succeeded=true, $error_message=null) + { + if (($succeeded) && ($error_message !== null)) { + return new Auth_OpenID_AX_Error('An error message may only be '. + 'included in a failing fetch response'); + } + + return new Auth_OpenID_AX_StoreResponse($succeeded, $error_message); + } + + function Auth_OpenID_AX_StoreResponse($succeeded=true, $error_message=null) + { + if ($succeeded) { + $this->mode = $this->SUCCESS_MODE; + } else { + $this->mode = $this->FAILURE_MODE; + } + + $this->error_message = $error_message; + } + + /** + * Was this response a success response? + */ + function succeeded() + { + return $this->mode == $this->SUCCESS_MODE; + } + + function getExtensionArgs() + { + $ax_args = $this->_newArgs(); + if ((!$this->succeeded()) && $this->error_message) { + $ax_args['error'] = $this->error_message; + } + + return $ax_args; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Association.php b/wp-content/plugins/openid/lib/Auth/OpenID/Association.php new file mode 100644 index 0000000..2729138 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Association.php @@ -0,0 +1,610 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * @access private + */ +require_once 'Auth/OpenID/CryptUtil.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/KVForm.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/HMAC.php'; + +/** + * This class represents an association between a server and a + * consumer. In general, users of this library will never see + * instances of this object. The only exception is if you implement a + * custom {@link Auth_OpenID_OpenIDStore}. + * + * If you do implement such a store, it will need to store the values + * of the handle, secret, issued, lifetime, and assoc_type instance + * variables. + * + * @package OpenID + */ +class Auth_OpenID_Association { + + /** + * This is a HMAC-SHA1 specific value. + * + * @access private + */ + var $SIG_LENGTH = 20; + + /** + * The ordering and name of keys as stored by serialize. + * + * @access private + */ + var $assoc_keys = array( + 'version', + 'handle', + 'secret', + 'issued', + 'lifetime', + 'assoc_type' + ); + + var $_macs = array( + 'HMAC-SHA1' => 'Auth_OpenID_HMACSHA1', + 'HMAC-SHA256' => 'Auth_OpenID_HMACSHA256' + ); + + /** + * This is an alternate constructor (factory method) used by the + * OpenID consumer library to create associations. OpenID store + * implementations shouldn't use this constructor. + * + * @access private + * + * @param integer $expires_in This is the amount of time this + * association is good for, measured in seconds since the + * association was issued. + * + * @param string $handle This is the handle the server gave this + * association. + * + * @param string secret This is the shared secret the server + * generated for this association. + * + * @param assoc_type This is the type of association this + * instance represents. The only valid values of this field at + * this time is 'HMAC-SHA1' and 'HMAC-SHA256', but new types may + * be defined in the future. + * + * @return association An {@link Auth_OpenID_Association} + * instance. + */ + static function fromExpiresIn($expires_in, $handle, $secret, $assoc_type) + { + $issued = time(); + $lifetime = $expires_in; + return new Auth_OpenID_Association($handle, $secret, + $issued, $lifetime, $assoc_type); + } + + /** + * This is the standard constructor for creating an association. + * The library should create all of the necessary associations, so + * this constructor is not part of the external API. + * + * @access private + * + * @param string $handle This is the handle the server gave this + * association. + * + * @param string $secret This is the shared secret the server + * generated for this association. + * + * @param integer $issued This is the time this association was + * issued, in seconds since 00:00 GMT, January 1, 1970. (ie, a + * unix timestamp) + * + * @param integer $lifetime This is the amount of time this + * association is good for, measured in seconds since the + * association was issued. + * + * @param string $assoc_type This is the type of association this + * instance represents. The only valid values of this field at + * this time is 'HMAC-SHA1' and 'HMAC-SHA256', but new types may + * be defined in the future. + */ + function Auth_OpenID_Association( + $handle, $secret, $issued, $lifetime, $assoc_type) + { + if (!in_array($assoc_type, + Auth_OpenID_getSupportedAssociationTypes(), true)) { + $fmt = 'Unsupported association type (%s)'; + trigger_error(sprintf($fmt, $assoc_type), E_USER_ERROR); + } + + $this->handle = $handle; + $this->secret = $secret; + $this->issued = $issued; + $this->lifetime = $lifetime; + $this->assoc_type = $assoc_type; + } + + /** + * This returns the number of seconds this association is still + * valid for, or 0 if the association is no longer valid. + * + * @return integer $seconds The number of seconds this association + * is still valid for, or 0 if the association is no longer valid. + */ + function getExpiresIn($now = null) + { + if ($now == null) { + $now = time(); + } + + return max(0, $this->issued + $this->lifetime - $now); + } + + /** + * This checks to see if two {@link Auth_OpenID_Association} + * instances represent the same association. + * + * @return bool $result true if the two instances represent the + * same association, false otherwise. + */ + function equal($other) + { + return ((gettype($this) == gettype($other)) + && ($this->handle == $other->handle) + && ($this->secret == $other->secret) + && ($this->issued == $other->issued) + && ($this->lifetime == $other->lifetime) + && ($this->assoc_type == $other->assoc_type)); + } + + /** + * Convert an association to KV form. + * + * @return string $result String in KV form suitable for + * deserialization by deserialize. + */ + function serialize() + { + $data = array( + 'version' => '2', + 'handle' => $this->handle, + 'secret' => base64_encode($this->secret), + 'issued' => strval(intval($this->issued)), + 'lifetime' => strval(intval($this->lifetime)), + 'assoc_type' => $this->assoc_type + ); + + assert(array_keys($data) == $this->assoc_keys); + + return Auth_OpenID_KVForm::fromArray($data, $strict = true); + } + + /** + * Parse an association as stored by serialize(). This is the + * inverse of serialize. + * + * @param string $assoc_s Association as serialized by serialize() + * @return Auth_OpenID_Association $result instance of this class + */ + static function deserialize($class_name, $assoc_s) + { + $pairs = Auth_OpenID_KVForm::toArray($assoc_s, $strict = true); + $keys = array(); + $values = array(); + foreach ($pairs as $key => $value) { + if (is_array($value)) { + list($key, $value) = $value; + } + $keys[] = $key; + $values[] = $value; + } + + $class_vars = get_class_vars($class_name); + $class_assoc_keys = $class_vars['assoc_keys']; + + sort($keys); + sort($class_assoc_keys); + + if ($keys != $class_assoc_keys) { + trigger_error('Unexpected key values: ' . var_export($keys, true), + E_USER_WARNING); + return null; + } + + $version = $pairs['version']; + $handle = $pairs['handle']; + $secret = $pairs['secret']; + $issued = $pairs['issued']; + $lifetime = $pairs['lifetime']; + $assoc_type = $pairs['assoc_type']; + + if ($version != '2') { + trigger_error('Unknown version: ' . $version, E_USER_WARNING); + return null; + } + + $issued = intval($issued); + $lifetime = intval($lifetime); + $secret = base64_decode($secret); + + return new $class_name( + $handle, $secret, $issued, $lifetime, $assoc_type); + } + + /** + * Generate a signature for a sequence of (key, value) pairs + * + * @access private + * @param array $pairs The pairs to sign, in order. This is an + * array of two-tuples. + * @return string $signature The binary signature of this sequence + * of pairs + */ + function sign($pairs) + { + $kv = Auth_OpenID_KVForm::fromArray($pairs); + + /* Invalid association types should be caught at constructor */ + $callback = $this->_macs[$this->assoc_type]; + + return call_user_func_array($callback, array($this->secret, $kv)); + } + + /** + * Generate a signature for some fields in a dictionary + * + * @access private + * @param array $fields The fields to sign, in order; this is an + * array of strings. + * @param array $data Dictionary of values to sign (an array of + * string => string pairs). + * @return string $signature The signature, base64 encoded + */ + function signMessage($message) + { + if ($message->hasKey(Auth_OpenID_OPENID_NS, 'sig') || + $message->hasKey(Auth_OpenID_OPENID_NS, 'signed')) { + // Already has a sig + return null; + } + + $extant_handle = $message->getArg(Auth_OpenID_OPENID_NS, + 'assoc_handle'); + + if ($extant_handle && ($extant_handle != $this->handle)) { + // raise ValueError("Message has a different association handle") + return null; + } + + $signed_message = $message; + $signed_message->setArg(Auth_OpenID_OPENID_NS, 'assoc_handle', + $this->handle); + + $message_keys = array_keys($signed_message->toPostArgs()); + $signed_list = array(); + $signed_prefix = 'openid.'; + + foreach ($message_keys as $k) { + if (strpos($k, $signed_prefix) === 0) { + $signed_list[] = substr($k, strlen($signed_prefix)); + } + } + + $signed_list[] = 'signed'; + sort($signed_list); + + $signed_message->setArg(Auth_OpenID_OPENID_NS, 'signed', + implode(',', $signed_list)); + $sig = $this->getMessageSignature($signed_message); + $signed_message->setArg(Auth_OpenID_OPENID_NS, 'sig', $sig); + return $signed_message; + } + + /** + * Given a {@link Auth_OpenID_Message}, return the key/value pairs + * to be signed according to the signed list in the message. If + * the message lacks a signed list, return null. + * + * @access private + */ + function _makePairs($message) + { + $signed = $message->getArg(Auth_OpenID_OPENID_NS, 'signed'); + if (!$signed || Auth_OpenID::isFailure($signed)) { + // raise ValueError('Message has no signed list: %s' % (message,)) + return null; + } + + $signed_list = explode(',', $signed); + $pairs = array(); + $data = $message->toPostArgs(); + foreach ($signed_list as $field) { + $pairs[] = array($field, Auth_OpenID::arrayGet($data, + 'openid.' . + $field, '')); + } + return $pairs; + } + + /** + * Given an {@link Auth_OpenID_Message}, return the signature for + * the signed list in the message. + * + * @access private + */ + function getMessageSignature($message) + { + $pairs = $this->_makePairs($message); + return base64_encode($this->sign($pairs)); + } + + /** + * Confirm that the signature of these fields matches the + * signature contained in the data. + * + * @access private + */ + function checkMessageSignature($message) + { + $sig = $message->getArg(Auth_OpenID_OPENID_NS, + 'sig'); + + if (!$sig || Auth_OpenID::isFailure($sig)) { + return false; + } + + $calculated_sig = $this->getMessageSignature($message); + return Auth_OpenID_CryptUtil::constEq($calculated_sig, $sig); + } +} + +function Auth_OpenID_getSecretSize($assoc_type) +{ + if ($assoc_type == 'HMAC-SHA1') { + return 20; + } else if ($assoc_type == 'HMAC-SHA256') { + return 32; + } else { + return null; + } +} + +function Auth_OpenID_getAllAssociationTypes() +{ + return array('HMAC-SHA1', 'HMAC-SHA256'); +} + +function Auth_OpenID_getSupportedAssociationTypes() +{ + $a = array('HMAC-SHA1'); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $a[] = 'HMAC-SHA256'; + } + + return $a; +} + +function Auth_OpenID_getSessionTypes($assoc_type) +{ + $assoc_to_session = array( + 'HMAC-SHA1' => array('DH-SHA1', 'no-encryption')); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $assoc_to_session['HMAC-SHA256'] = + array('DH-SHA256', 'no-encryption'); + } + + return Auth_OpenID::arrayGet($assoc_to_session, $assoc_type, array()); +} + +function Auth_OpenID_checkSessionType($assoc_type, $session_type) +{ + if (!in_array($session_type, + Auth_OpenID_getSessionTypes($assoc_type))) { + return false; + } + + return true; +} + +function Auth_OpenID_getDefaultAssociationOrder() +{ + $order = array(); + + if (!Auth_OpenID_noMathSupport()) { + $order[] = array('HMAC-SHA1', 'DH-SHA1'); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $order[] = array('HMAC-SHA256', 'DH-SHA256'); + } + } + + $order[] = array('HMAC-SHA1', 'no-encryption'); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $order[] = array('HMAC-SHA256', 'no-encryption'); + } + + return $order; +} + +function Auth_OpenID_getOnlyEncryptedOrder() +{ + $result = array(); + + foreach (Auth_OpenID_getDefaultAssociationOrder() as $pair) { + list($assoc, $session) = $pair; + + if ($session != 'no-encryption') { + if (Auth_OpenID_HMACSHA256_SUPPORTED && + ($assoc == 'HMAC-SHA256')) { + $result[] = $pair; + } else if ($assoc != 'HMAC-SHA256') { + $result[] = $pair; + } + } + } + + return $result; +} + +function Auth_OpenID_getDefaultNegotiator() +{ + return new Auth_OpenID_SessionNegotiator( + Auth_OpenID_getDefaultAssociationOrder()); +} + +function Auth_OpenID_getEncryptedNegotiator() +{ + return new Auth_OpenID_SessionNegotiator( + Auth_OpenID_getOnlyEncryptedOrder()); +} + +/** + * A session negotiator controls the allowed and preferred association + * types and association session types. Both the {@link + * Auth_OpenID_Consumer} and {@link Auth_OpenID_Server} use + * negotiators when creating associations. + * + * You can create and use negotiators if you: + + * - Do not want to do Diffie-Hellman key exchange because you use + * transport-layer encryption (e.g. SSL) + * + * - Want to use only SHA-256 associations + * + * - Do not want to support plain-text associations over a non-secure + * channel + * + * It is up to you to set a policy for what kinds of associations to + * accept. By default, the library will make any kind of association + * that is allowed in the OpenID 2.0 specification. + * + * Use of negotiators in the library + * ================================= + * + * When a consumer makes an association request, it calls {@link + * getAllowedType} to get the preferred association type and + * association session type. + * + * The server gets a request for a particular association/session type + * and calls {@link isAllowed} to determine if it should create an + * association. If it is supported, negotiation is complete. If it is + * not, the server calls {@link getAllowedType} to get an allowed + * association type to return to the consumer. + * + * If the consumer gets an error response indicating that the + * requested association/session type is not supported by the server + * that contains an assocation/session type to try, it calls {@link + * isAllowed} to determine if it should try again with the given + * combination of association/session type. + * + * @package OpenID + */ +class Auth_OpenID_SessionNegotiator { + function Auth_OpenID_SessionNegotiator($allowed_types) + { + $this->allowed_types = array(); + $this->setAllowedTypes($allowed_types); + } + + /** + * Set the allowed association types, checking to make sure each + * combination is valid. + * + * @access private + */ + function setAllowedTypes($allowed_types) + { + foreach ($allowed_types as $pair) { + list($assoc_type, $session_type) = $pair; + if (!Auth_OpenID_checkSessionType($assoc_type, $session_type)) { + return false; + } + } + + $this->allowed_types = $allowed_types; + return true; + } + + /** + * Add an association type and session type to the allowed types + * list. The assocation/session pairs are tried in the order that + * they are added. + * + * @access private + */ + function addAllowedType($assoc_type, $session_type = null) + { + if ($this->allowed_types === null) { + $this->allowed_types = array(); + } + + if ($session_type === null) { + $available = Auth_OpenID_getSessionTypes($assoc_type); + + if (!$available) { + return false; + } + + foreach ($available as $session_type) { + $this->addAllowedType($assoc_type, $session_type); + } + } else { + if (Auth_OpenID_checkSessionType($assoc_type, $session_type)) { + $this->allowed_types[] = array($assoc_type, $session_type); + } else { + return false; + } + } + + return true; + } + + // Is this combination of association type and session type allowed? + function isAllowed($assoc_type, $session_type) + { + $assoc_good = in_array(array($assoc_type, $session_type), + $this->allowed_types); + + $matches = in_array($session_type, + Auth_OpenID_getSessionTypes($assoc_type)); + + return ($assoc_good && $matches); + } + + /** + * Get a pair of assocation type and session type that are + * supported. + */ + function getAllowedType() + { + if (!$this->allowed_types) { + return array(null, null); + } + + return $this->allowed_types[0]; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/BigMath.php b/wp-content/plugins/openid/lib/Auth/OpenID/BigMath.php new file mode 100644 index 0000000..58b46bf --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/BigMath.php @@ -0,0 +1,451 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Needed for random number generation + */ +require_once 'Auth/OpenID/CryptUtil.php'; + +/** + * Need Auth_OpenID::bytes(). + */ +require_once 'Auth/OpenID.php'; + +/** + * The superclass of all big-integer math implementations + * @access private + * @package OpenID + */ +class Auth_OpenID_MathLibrary { + /** + * Given a long integer, returns the number converted to a binary + * string. This function accepts long integer values of arbitrary + * magnitude and uses the local large-number math library when + * available. + * + * @param integer $long The long number (can be a normal PHP + * integer or a number created by one of the available long number + * libraries) + * @return string $binary The binary version of $long + */ + function longToBinary($long) + { + $cmp = $this->cmp($long, 0); + if ($cmp < 0) { + $msg = __FUNCTION__ . " takes only positive integers."; + trigger_error($msg, E_USER_ERROR); + return null; + } + + if ($cmp == 0) { + return "\x00"; + } + + $bytes = array(); + + while ($this->cmp($long, 0) > 0) { + array_unshift($bytes, $this->mod($long, 256)); + $long = $this->div($long, pow(2, 8)); + } + + if ($bytes && ($bytes[0] > 127)) { + array_unshift($bytes, 0); + } + + $string = ''; + foreach ($bytes as $byte) { + $string .= pack('C', $byte); + } + + return $string; + } + + /** + * Given a binary string, returns the binary string converted to a + * long number. + * + * @param string $binary The binary version of a long number, + * probably as a result of calling longToBinary + * @return integer $long The long number equivalent of the binary + * string $str + */ + function binaryToLong($str) + { + if ($str === null) { + return null; + } + + // Use array_merge to return a zero-indexed array instead of a + // one-indexed array. + $bytes = array_merge(unpack('C*', $str)); + + $n = $this->init(0); + + if ($bytes && ($bytes[0] > 127)) { + trigger_error("bytesToNum works only for positive integers.", + E_USER_WARNING); + return null; + } + + foreach ($bytes as $byte) { + $n = $this->mul($n, pow(2, 8)); + $n = $this->add($n, $byte); + } + + return $n; + } + + function base64ToLong($str) + { + $b64 = base64_decode($str); + + if ($b64 === false) { + return false; + } + + return $this->binaryToLong($b64); + } + + function longToBase64($str) + { + return base64_encode($this->longToBinary($str)); + } + + /** + * Returns a random number in the specified range. This function + * accepts $start, $stop, and $step values of arbitrary magnitude + * and will utilize the local large-number math library when + * available. + * + * @param integer $start The start of the range, or the minimum + * random number to return + * @param integer $stop The end of the range, or the maximum + * random number to return + * @param integer $step The step size, such that $result - ($step + * * N) = $start for some N + * @return integer $result The resulting randomly-generated number + */ + function rand($stop) + { + static $duplicate_cache = array(); + + // Used as the key for the duplicate cache + $rbytes = $this->longToBinary($stop); + + if (array_key_exists($rbytes, $duplicate_cache)) { + list($duplicate, $nbytes) = $duplicate_cache[$rbytes]; + } else { + if ($rbytes[0] == "\x00") { + $nbytes = Auth_OpenID::bytes($rbytes) - 1; + } else { + $nbytes = Auth_OpenID::bytes($rbytes); + } + + $mxrand = $this->pow(256, $nbytes); + + // If we get a number less than this, then it is in the + // duplicated range. + $duplicate = $this->mod($mxrand, $stop); + + if (count($duplicate_cache) > 10) { + $duplicate_cache = array(); + } + + $duplicate_cache[$rbytes] = array($duplicate, $nbytes); + } + + do { + $bytes = "\x00" . Auth_OpenID_CryptUtil::getBytes($nbytes); + $n = $this->binaryToLong($bytes); + // Keep looping if this value is in the low duplicated range + } while ($this->cmp($n, $duplicate) < 0); + + return $this->mod($n, $stop); + } +} + +/** + * Exposes BCmath math library functionality. + * + * {@link Auth_OpenID_BcMathWrapper} wraps the functionality provided + * by the BCMath extension. + * + * @access private + * @package OpenID + */ +class Auth_OpenID_BcMathWrapper extends Auth_OpenID_MathLibrary{ + var $type = 'bcmath'; + + function add($x, $y) + { + return bcadd($x, $y); + } + + function sub($x, $y) + { + return bcsub($x, $y); + } + + function pow($base, $exponent) + { + return bcpow($base, $exponent); + } + + function cmp($x, $y) + { + return bccomp($x, $y); + } + + function init($number, $base = 10) + { + return $number; + } + + function mod($base, $modulus) + { + return bcmod($base, $modulus); + } + + function mul($x, $y) + { + return bcmul($x, $y); + } + + function div($x, $y) + { + return bcdiv($x, $y); + } + + /** + * Same as bcpowmod when bcpowmod is missing + * + * @access private + */ + function _powmod($base, $exponent, $modulus) + { + $square = $this->mod($base, $modulus); + $result = 1; + while($this->cmp($exponent, 0) > 0) { + if ($this->mod($exponent, 2)) { + $result = $this->mod($this->mul($result, $square), $modulus); + } + $square = $this->mod($this->mul($square, $square), $modulus); + $exponent = $this->div($exponent, 2); + } + return $result; + } + + function powmod($base, $exponent, $modulus) + { + if (function_exists('bcpowmod')) { + return bcpowmod($base, $exponent, $modulus); + } else { + return $this->_powmod($base, $exponent, $modulus); + } + } + + function toString($num) + { + return $num; + } +} + +/** + * Exposes GMP math library functionality. + * + * {@link Auth_OpenID_GmpMathWrapper} wraps the functionality provided + * by the GMP extension. + * + * @access private + * @package OpenID + */ +class Auth_OpenID_GmpMathWrapper extends Auth_OpenID_MathLibrary{ + var $type = 'gmp'; + + function add($x, $y) + { + return gmp_add($x, $y); + } + + function sub($x, $y) + { + return gmp_sub($x, $y); + } + + function pow($base, $exponent) + { + return gmp_pow($base, $exponent); + } + + function cmp($x, $y) + { + return gmp_cmp($x, $y); + } + + function init($number, $base = 10) + { + return gmp_init($number, $base); + } + + function mod($base, $modulus) + { + return gmp_mod($base, $modulus); + } + + function mul($x, $y) + { + return gmp_mul($x, $y); + } + + function div($x, $y) + { + return gmp_div_q($x, $y); + } + + function powmod($base, $exponent, $modulus) + { + return gmp_powm($base, $exponent, $modulus); + } + + function toString($num) + { + return gmp_strval($num); + } +} + +/** + * Define the supported extensions. An extension array has keys + * 'modules', 'extension', and 'class'. 'modules' is an array of PHP + * module names which the loading code will attempt to load. These + * values will be suffixed with a library file extension (e.g. ".so"). + * 'extension' is the name of a PHP extension which will be tested + * before 'modules' are loaded. 'class' is the string name of a + * {@link Auth_OpenID_MathWrapper} subclass which should be + * instantiated if a given extension is present. + * + * You can define new math library implementations and add them to + * this array. + */ +function Auth_OpenID_math_extensions() +{ + $result = array(); + + if (!defined('Auth_OpenID_BUGGY_GMP')) { + $result[] = + array('modules' => array('gmp', 'php_gmp'), + 'extension' => 'gmp', + 'class' => 'Auth_OpenID_GmpMathWrapper'); + } + + $result[] = array('modules' => array('bcmath', 'php_bcmath'), + 'extension' => 'bcmath', + 'class' => 'Auth_OpenID_BcMathWrapper'); + + return $result; +} + +/** + * Detect which (if any) math library is available + */ +function Auth_OpenID_detectMathLibrary($exts) +{ + $loaded = false; + + foreach ($exts as $extension) { + if (extension_loaded($extension['extension'])) { + return $extension; + } + } + + return false; +} + +/** + * {@link Auth_OpenID_getMathLib} checks for the presence of long + * number extension modules and returns an instance of + * {@link Auth_OpenID_MathWrapper} which exposes the module's + * functionality. + * + * Checks for the existence of an extension module described by the + * result of {@link Auth_OpenID_math_extensions()} and returns an + * instance of a wrapper for that extension module. If no extension + * module is found, an instance of {@link Auth_OpenID_MathWrapper} is + * returned, which wraps the native PHP integer implementation. The + * proper calling convention for this method is $lib = + * Auth_OpenID_getMathLib(). + * + * This function checks for the existence of specific long number + * implementations in the following order: GMP followed by BCmath. + * + * @return Auth_OpenID_MathWrapper $instance An instance of + * {@link Auth_OpenID_MathWrapper} or one of its subclasses + * + * @package OpenID + */ +function Auth_OpenID_getMathLib() +{ + // The instance of Auth_OpenID_MathWrapper that we choose to + // supply will be stored here, so that subseqent calls to this + // method will return a reference to the same object. + static $lib = null; + + if (isset($lib)) { + return $lib; + } + + if (Auth_OpenID_noMathSupport()) { + $null = null; + return $null; + } + + // If this method has not been called before, look at + // Auth_OpenID_math_extensions and try to find an extension that + // works. + $ext = Auth_OpenID_detectMathLibrary(Auth_OpenID_math_extensions()); + if ($ext === false) { + $tried = array(); + foreach (Auth_OpenID_math_extensions() as $extinfo) { + $tried[] = $extinfo['extension']; + } + $triedstr = implode(", ", $tried); + + Auth_OpenID_setNoMathSupport(); + + $result = null; + return $result; + } + + // Instantiate a new wrapper + $class = $ext['class']; + $lib = new $class(); + + return $lib; +} + +function Auth_OpenID_setNoMathSupport() +{ + if (!defined('Auth_OpenID_NO_MATH_SUPPORT')) { + define('Auth_OpenID_NO_MATH_SUPPORT', true); + } +} + +function Auth_OpenID_noMathSupport() +{ + return defined('Auth_OpenID_NO_MATH_SUPPORT'); +} + + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Consumer.php b/wp-content/plugins/openid/lib/Auth/OpenID/Consumer.php new file mode 100644 index 0000000..d562e33 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Consumer.php @@ -0,0 +1,2236 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Require utility classes and functions for the consumer. + */ +require_once "Auth/OpenID.php"; +require_once "Auth/OpenID/Message.php"; +require_once "Auth/OpenID/HMAC.php"; +require_once "Auth/OpenID/Association.php"; +require_once "Auth/OpenID/CryptUtil.php"; +require_once "Auth/OpenID/DiffieHellman.php"; +require_once "Auth/OpenID/KVForm.php"; +require_once "Auth/OpenID/Nonce.php"; +require_once "Auth/OpenID/Discover.php"; +require_once "Auth/OpenID/URINorm.php"; +require_once "Auth/Yadis/Manager.php"; +require_once "Auth/Yadis/XRI.php"; + +/** + * This is the status code returned when the complete method returns + * successfully. + */ +define('Auth_OpenID_SUCCESS', 'success'); + +/** + * Status to indicate cancellation of OpenID authentication. + */ +define('Auth_OpenID_CANCEL', 'cancel'); + +/** + * This is the status code completeAuth returns when the value it + * received indicated an invalid login. + */ +define('Auth_OpenID_FAILURE', 'failure'); + +/** + * This is the status code completeAuth returns when the + * {@link Auth_OpenID_Consumer} instance is in immediate mode, and the + * identity server sends back a URL to send the user to to complete his + * or her login. + */ +define('Auth_OpenID_SETUP_NEEDED', 'setup needed'); + +/** + * This is the status code beginAuth returns when the page fetched + * from the entered OpenID URL doesn't contain the necessary link tags + * to function as an identity page. + */ +define('Auth_OpenID_PARSE_ERROR', 'parse error'); + +/** + * An OpenID consumer implementation that performs discovery and does + * session management. See the Consumer.php file documentation for + * more information. + * + * @package OpenID + */ +class Auth_OpenID_Consumer { + + /** + * @access private + */ + var $discoverMethod = 'Auth_OpenID_discover'; + + /** + * @access private + */ + var $session_key_prefix = "_openid_consumer_"; + + /** + * @access private + */ + var $_token_suffix = "last_token"; + + /** + * Initialize a Consumer instance. + * + * You should create a new instance of the Consumer object with + * every HTTP request that handles OpenID transactions. + * + * @param Auth_OpenID_OpenIDStore $store This must be an object + * that implements the interface in {@link + * Auth_OpenID_OpenIDStore}. Several concrete implementations are + * provided, to cover most common use cases. For stores backed by + * MySQL, PostgreSQL, or SQLite, see the {@link + * Auth_OpenID_SQLStore} class and its sublcasses. For a + * filesystem-backed store, see the {@link Auth_OpenID_FileStore} + * module. As a last resort, if it isn't possible for the server + * to store state at all, an instance of {@link + * Auth_OpenID_DumbStore} can be used. + * + * @param mixed $session An object which implements the interface + * of the {@link Auth_Yadis_PHPSession} class. Particularly, this + * object is expected to have these methods: get($key), set($key), + * $value), and del($key). This defaults to a session object + * which wraps PHP's native session machinery. You should only + * need to pass something here if you have your own sessioning + * implementation. + * + * @param str $consumer_cls The name of the class to instantiate + * when creating the internal consumer object. This is used for + * testing. + */ + function Auth_OpenID_Consumer($store, $session = null, + $consumer_cls = null) + { + if ($session === null) { + $session = new Auth_Yadis_PHPSession(); + } + + $this->session = $session; + + if ($consumer_cls !== null) { + $this->consumer = new $consumer_cls($store); + } else { + $this->consumer = new Auth_OpenID_GenericConsumer($store); + } + + $this->_token_key = $this->session_key_prefix . $this->_token_suffix; + } + + /** + * Used in testing to define the discovery mechanism. + * + * @access private + */ + function getDiscoveryObject($session, $openid_url, + $session_key_prefix) + { + return new Auth_Yadis_Discovery($session, $openid_url, + $session_key_prefix); + } + + /** + * Start the OpenID authentication process. See steps 1-2 in the + * overview at the top of this file. + * + * @param string $user_url Identity URL given by the user. This + * method performs a textual transformation of the URL to try and + * make sure it is normalized. For example, a user_url of + * example.com will be normalized to http://example.com/ + * normalizing and resolving any redirects the server might issue. + * + * @param bool $anonymous True if the OpenID request is to be sent + * to the server without any identifier information. Use this + * when you want to transport data but don't want to do OpenID + * authentication with identifiers. + * + * @return Auth_OpenID_AuthRequest $auth_request An object + * containing the discovered information will be returned, with a + * method for building a redirect URL to the server, as described + * in step 3 of the overview. This object may also be used to add + * extension arguments to the request, using its 'addExtensionArg' + * method. + */ + function begin($user_url, $anonymous=false) + { + $openid_url = $user_url; + + $disco = $this->getDiscoveryObject($this->session, + $openid_url, + $this->session_key_prefix); + + // Set the 'stale' attribute of the manager. If discovery + // fails in a fatal way, the stale flag will cause the manager + // to be cleaned up next time discovery is attempted. + + $m = $disco->getManager(); + $loader = new Auth_Yadis_ManagerLoader(); + + if ($m) { + if ($m->stale) { + $disco->destroyManager(); + } else { + $m->stale = true; + $disco->session->set($disco->session_key, + serialize($loader->toSession($m))); + } + } + + $endpoint = $disco->getNextService($this->discoverMethod, + $this->consumer->fetcher); + + // Reset the 'stale' attribute of the manager. + $m = $disco->getManager(); + if ($m) { + $m->stale = false; + $disco->session->set($disco->session_key, + serialize($loader->toSession($m))); + } + + if ($endpoint === null) { + return null; + } else { + return $this->beginWithoutDiscovery($endpoint, + $anonymous); + } + } + + /** + * Start OpenID verification without doing OpenID server + * discovery. This method is used internally by Consumer.begin + * after discovery is performed, and exists to provide an + * interface for library users needing to perform their own + * discovery. + * + * @param Auth_OpenID_ServiceEndpoint $endpoint an OpenID service + * endpoint descriptor. + * + * @param bool anonymous Set to true if you want to perform OpenID + * without identifiers. + * + * @return Auth_OpenID_AuthRequest $auth_request An OpenID + * authentication request object. + */ + function beginWithoutDiscovery($endpoint, $anonymous=false) + { + $loader = new Auth_OpenID_ServiceEndpointLoader(); + $auth_req = $this->consumer->begin($endpoint); + $this->session->set($this->_token_key, + $loader->toSession($auth_req->endpoint)); + if (!$auth_req->setAnonymous($anonymous)) { + return new Auth_OpenID_FailureResponse(null, + "OpenID 1 requests MUST include the identifier " . + "in the request."); + } + return $auth_req; + } + + /** + * Called to interpret the server's response to an OpenID + * request. It is called in step 4 of the flow described in the + * consumer overview. + * + * @param string $current_url The URL used to invoke the application. + * Extract the URL from your application's web + * request framework and specify it here to have it checked + * against the openid.current_url value in the response. If + * the current_url URL check fails, the status of the + * completion will be FAILURE. + * + * @param array $query An array of the query parameters (key => + * value pairs) for this HTTP request. Defaults to null. If + * null, the GET or POST data are automatically gotten from the + * PHP environment. It is only useful to override $query for + * testing. + * + * @return Auth_OpenID_ConsumerResponse $response A instance of an + * Auth_OpenID_ConsumerResponse subclass. The type of response is + * indicated by the status attribute, which will be one of + * SUCCESS, CANCEL, FAILURE, or SETUP_NEEDED. + */ + function complete($current_url, $query=null) + { + if ($current_url && !is_string($current_url)) { + // This is ugly, but we need to complain loudly when + // someone uses the API incorrectly. + trigger_error("current_url must be a string; see NEWS file " . + "for upgrading notes.", + E_USER_ERROR); + } + + if ($query === null) { + $query = Auth_OpenID::getQuery(); + } + + $loader = new Auth_OpenID_ServiceEndpointLoader(); + $endpoint_data = $this->session->get($this->_token_key); + $endpoint = + $loader->fromSession($endpoint_data); + + $message = Auth_OpenID_Message::fromPostArgs($query); + $response = $this->consumer->complete($message, $endpoint, + $current_url); + $this->session->del($this->_token_key); + + if (in_array($response->status, array(Auth_OpenID_SUCCESS, + Auth_OpenID_CANCEL))) { + if ($response->identity_url !== null) { + $disco = $this->getDiscoveryObject($this->session, + $response->identity_url, + $this->session_key_prefix); + $disco->cleanup(true); + } + } + + return $response; + } +} + +/** + * A class implementing HMAC/DH-SHA1 consumer sessions. + * + * @package OpenID + */ +class Auth_OpenID_DiffieHellmanSHA1ConsumerSession { + var $session_type = 'DH-SHA1'; + var $hash_func = 'Auth_OpenID_SHA1'; + var $secret_size = 20; + var $allowed_assoc_types = array('HMAC-SHA1'); + + function Auth_OpenID_DiffieHellmanSHA1ConsumerSession($dh = null) + { + if ($dh === null) { + $dh = new Auth_OpenID_DiffieHellman(); + } + + $this->dh = $dh; + } + + function getRequest() + { + $math = Auth_OpenID_getMathLib(); + + $cpub = $math->longToBase64($this->dh->public); + + $args = array('dh_consumer_public' => $cpub); + + if (!$this->dh->usingDefaultValues()) { + $args = array_merge($args, array( + 'dh_modulus' => + $math->longToBase64($this->dh->mod), + 'dh_gen' => + $math->longToBase64($this->dh->gen))); + } + + return $args; + } + + function extractSecret($response) + { + if (!$response->hasKey(Auth_OpenID_OPENID_NS, + 'dh_server_public')) { + return null; + } + + if (!$response->hasKey(Auth_OpenID_OPENID_NS, + 'enc_mac_key')) { + return null; + } + + $math = Auth_OpenID_getMathLib(); + + $spub = $math->base64ToLong($response->getArg(Auth_OpenID_OPENID_NS, + 'dh_server_public')); + $enc_mac_key = base64_decode($response->getArg(Auth_OpenID_OPENID_NS, + 'enc_mac_key')); + + return $this->dh->xorSecret($spub, $enc_mac_key, $this->hash_func); + } +} + +/** + * A class implementing HMAC/DH-SHA256 consumer sessions. + * + * @package OpenID + */ +class Auth_OpenID_DiffieHellmanSHA256ConsumerSession extends + Auth_OpenID_DiffieHellmanSHA1ConsumerSession { + var $session_type = 'DH-SHA256'; + var $hash_func = 'Auth_OpenID_SHA256'; + var $secret_size = 32; + var $allowed_assoc_types = array('HMAC-SHA256'); +} + +/** + * A class implementing plaintext consumer sessions. + * + * @package OpenID + */ +class Auth_OpenID_PlainTextConsumerSession { + var $session_type = 'no-encryption'; + var $allowed_assoc_types = array('HMAC-SHA1', 'HMAC-SHA256'); + + function getRequest() + { + return array(); + } + + function extractSecret($response) + { + if (!$response->hasKey(Auth_OpenID_OPENID_NS, 'mac_key')) { + return null; + } + + return base64_decode($response->getArg(Auth_OpenID_OPENID_NS, + 'mac_key')); + } +} + +/** + * Returns available session types. + */ +function Auth_OpenID_getAvailableSessionTypes() +{ + $types = array( + 'no-encryption' => 'Auth_OpenID_PlainTextConsumerSession', + 'DH-SHA1' => 'Auth_OpenID_DiffieHellmanSHA1ConsumerSession', + 'DH-SHA256' => 'Auth_OpenID_DiffieHellmanSHA256ConsumerSession'); + + return $types; +} + +/** + * This class is the interface to the OpenID consumer logic. + * Instances of it maintain no per-request state, so they can be + * reused (or even used by multiple threads concurrently) as needed. + * + * @package OpenID + */ +class Auth_OpenID_GenericConsumer { + /** + * @access private + */ + var $discoverMethod = 'Auth_OpenID_discover'; + + /** + * This consumer's store object. + */ + var $store; + + /** + * @access private + */ + var $_use_assocs; + + /** + * @access private + */ + var $openid1_nonce_query_arg_name = 'janrain_nonce'; + + /** + * Another query parameter that gets added to the return_to for + * OpenID 1; if the user's session state is lost, use this claimed + * identifier to do discovery when verifying the response. + */ + var $openid1_return_to_identifier_name = 'openid1_claimed_id'; + + /** + * This method initializes a new {@link Auth_OpenID_Consumer} + * instance to access the library. + * + * @param Auth_OpenID_OpenIDStore $store This must be an object + * that implements the interface in {@link Auth_OpenID_OpenIDStore}. + * Several concrete implementations are provided, to cover most common use + * cases. For stores backed by MySQL, PostgreSQL, or SQLite, see + * the {@link Auth_OpenID_SQLStore} class and its sublcasses. For a + * filesystem-backed store, see the {@link Auth_OpenID_FileStore} module. + * As a last resort, if it isn't possible for the server to store + * state at all, an instance of {@link Auth_OpenID_DumbStore} can be used. + * + * @param bool $immediate This is an optional boolean value. It + * controls whether the library uses immediate mode, as explained + * in the module description. The default value is False, which + * disables immediate mode. + */ + function Auth_OpenID_GenericConsumer($store) + { + $this->store = $store; + $this->negotiator = Auth_OpenID_getDefaultNegotiator(); + $this->_use_assocs = (is_null($this->store) ? false : true); + + $this->fetcher = Auth_Yadis_Yadis::getHTTPFetcher(); + + $this->session_types = Auth_OpenID_getAvailableSessionTypes(); + } + + /** + * Called to begin OpenID authentication using the specified + * {@link Auth_OpenID_ServiceEndpoint}. + * + * @access private + */ + function begin($service_endpoint) + { + $assoc = $this->_getAssociation($service_endpoint); + $r = new Auth_OpenID_AuthRequest($service_endpoint, $assoc); + $r->return_to_args[$this->openid1_nonce_query_arg_name] = + Auth_OpenID_mkNonce(); + + if ($r->message->isOpenID1()) { + $r->return_to_args[$this->openid1_return_to_identifier_name] = + $r->endpoint->claimed_id; + } + + return $r; + } + + /** + * Given an {@link Auth_OpenID_Message}, {@link + * Auth_OpenID_ServiceEndpoint} and optional return_to URL, + * complete OpenID authentication. + * + * @access private + */ + function complete($message, $endpoint, $return_to) + { + $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode', + ''); + + $mode_methods = array( + 'cancel' => '_complete_cancel', + 'error' => '_complete_error', + 'setup_needed' => '_complete_setup_needed', + 'id_res' => '_complete_id_res', + ); + + $method = Auth_OpenID::arrayGet($mode_methods, $mode, + '_completeInvalid'); + + return call_user_func_array(array($this, $method), + array($message, &$endpoint, $return_to)); + } + + /** + * @access private + */ + function _completeInvalid($message, $endpoint, $unused) + { + $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode', + ''); + + return new Auth_OpenID_FailureResponse($endpoint, + sprintf("Invalid openid.mode '%s'", $mode)); + } + + /** + * @access private + */ + function _complete_cancel($message, $endpoint, $unused) + { + return new Auth_OpenID_CancelResponse($endpoint); + } + + /** + * @access private + */ + function _complete_error($message, $endpoint, $unused) + { + $error = $message->getArg(Auth_OpenID_OPENID_NS, 'error'); + $contact = $message->getArg(Auth_OpenID_OPENID_NS, 'contact'); + $reference = $message->getArg(Auth_OpenID_OPENID_NS, 'reference'); + + return new Auth_OpenID_FailureResponse($endpoint, $error, + $contact, $reference); + } + + /** + * @access private + */ + function _complete_setup_needed($message, $endpoint, $unused) + { + if (!$message->isOpenID2()) { + return $this->_completeInvalid($message, $endpoint); + } + + $user_setup_url = $message->getArg(Auth_OpenID_OPENID2_NS, + 'user_setup_url'); + return new Auth_OpenID_SetupNeededResponse($endpoint, $user_setup_url); + } + + /** + * @access private + */ + function _complete_id_res($message, $endpoint, $return_to) + { + $user_setup_url = $message->getArg(Auth_OpenID_OPENID1_NS, + 'user_setup_url'); + + if ($this->_checkSetupNeeded($message)) { + return new Auth_OpenID_SetupNeededResponse( + $endpoint, $user_setup_url); + } else { + return $this->_doIdRes($message, $endpoint, $return_to); + } + } + + /** + * @access private + */ + function _checkSetupNeeded($message) + { + // In OpenID 1, we check to see if this is a cancel from + // immediate mode by the presence of the user_setup_url + // parameter. + if ($message->isOpenID1()) { + $user_setup_url = $message->getArg(Auth_OpenID_OPENID1_NS, + 'user_setup_url'); + if ($user_setup_url !== null) { + return true; + } + } + + return false; + } + + /** + * @access private + */ + function _doIdRes($message, $endpoint, $return_to) + { + // Checks for presence of appropriate fields (and checks + // signed list fields) + $result = $this->_idResCheckForFields($message); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + if (!$this->_checkReturnTo($message, $return_to)) { + return new Auth_OpenID_FailureResponse(null, + sprintf("return_to does not match return URL. Expected %s, got %s", + $return_to, + $message->getArg(Auth_OpenID_OPENID_NS, 'return_to'))); + } + + // Verify discovery information: + $result = $this->_verifyDiscoveryResults($message, $endpoint); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + $endpoint = $result; + + $result = $this->_idResCheckSignature($message, + $endpoint->server_url); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + $result = $this->_idResCheckNonce($message, $endpoint); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + $signed_list_str = $message->getArg(Auth_OpenID_OPENID_NS, 'signed', + Auth_OpenID_NO_DEFAULT); + if (Auth_OpenID::isFailure($signed_list_str)) { + return $signed_list_str; + } + $signed_list = explode(',', $signed_list_str); + + $signed_fields = Auth_OpenID::addPrefix($signed_list, "openid."); + + return new Auth_OpenID_SuccessResponse($endpoint, $message, + $signed_fields); + + } + + /** + * @access private + */ + function _checkReturnTo($message, $return_to) + { + // Check an OpenID message and its openid.return_to value + // against a return_to URL from an application. Return True + // on success, False on failure. + + // Check the openid.return_to args against args in the + // original message. + $result = Auth_OpenID_GenericConsumer::_verifyReturnToArgs( + $message->toPostArgs()); + if (Auth_OpenID::isFailure($result)) { + return false; + } + + // Check the return_to base URL against the one in the + // message. + $msg_return_to = $message->getArg(Auth_OpenID_OPENID_NS, + 'return_to'); + if (Auth_OpenID::isFailure($return_to)) { + // XXX log me + return false; + } + + $return_to_parts = parse_url(Auth_OpenID_urinorm($return_to)); + $msg_return_to_parts = parse_url(Auth_OpenID_urinorm($msg_return_to)); + + // If port is absent from both, add it so it's equal in the + // check below. + if ((!array_key_exists('port', $return_to_parts)) && + (!array_key_exists('port', $msg_return_to_parts))) { + $return_to_parts['port'] = null; + $msg_return_to_parts['port'] = null; + } + + // If path is absent from both, add it so it's equal in the + // check below. + if ((!array_key_exists('path', $return_to_parts)) && + (!array_key_exists('path', $msg_return_to_parts))) { + $return_to_parts['path'] = null; + $msg_return_to_parts['path'] = null; + } + + // The URL scheme, authority, and path MUST be the same + // between the two URLs. + foreach (array('scheme', 'host', 'port', 'path') as $component) { + // If the url component is absent in either URL, fail. + // There should always be a scheme, host, port, and path. + if (!array_key_exists($component, $return_to_parts)) { + return false; + } + + if (!array_key_exists($component, $msg_return_to_parts)) { + return false; + } + + if (Auth_OpenID::arrayGet($return_to_parts, $component) !== + Auth_OpenID::arrayGet($msg_return_to_parts, $component)) { + return false; + } + } + + return true; + } + + /** + * @access private + */ + function _verifyReturnToArgs($query) + { + // Verify that the arguments in the return_to URL are present in this + // response. + + $message = Auth_OpenID_Message::fromPostArgs($query); + $return_to = $message->getArg(Auth_OpenID_OPENID_NS, 'return_to'); + + if (Auth_OpenID::isFailure($return_to)) { + return $return_to; + } + // XXX: this should be checked by _idResCheckForFields + if (!$return_to) { + return new Auth_OpenID_FailureResponse(null, + "Response has no return_to"); + } + + $parsed_url = parse_url($return_to); + + $q = array(); + if (array_key_exists('query', $parsed_url)) { + $rt_query = $parsed_url['query']; + $q = Auth_OpenID::parse_str($rt_query); + } + + foreach ($q as $rt_key => $rt_value) { + if (!array_key_exists($rt_key, $query)) { + return new Auth_OpenID_FailureResponse(null, + sprintf("return_to parameter %s absent from query", $rt_key)); + } else { + $value = $query[$rt_key]; + if ($rt_value != $value) { + return new Auth_OpenID_FailureResponse(null, + sprintf("parameter %s value %s does not match " . + "return_to value %s", $rt_key, + $value, $rt_value)); + } + } + } + + // Make sure all non-OpenID arguments in the response are also + // in the signed return_to. + $bare_args = $message->getArgs(Auth_OpenID_BARE_NS); + foreach ($bare_args as $key => $value) { + if (Auth_OpenID::arrayGet($q, $key) != $value) { + return new Auth_OpenID_FailureResponse(null, + sprintf("Parameter %s = %s not in return_to URL", + $key, $value)); + } + } + + return true; + } + + /** + * @access private + */ + function _idResCheckSignature($message, $server_url) + { + $assoc_handle = $message->getArg(Auth_OpenID_OPENID_NS, + 'assoc_handle'); + if (Auth_OpenID::isFailure($assoc_handle)) { + return $assoc_handle; + } + + $assoc = $this->store->getAssociation($server_url, $assoc_handle); + + if ($assoc) { + if ($assoc->getExpiresIn() <= 0) { + // XXX: It might be a good idea sometimes to re-start + // the authentication with a new association. Doing it + // automatically opens the possibility for + // denial-of-service by a server that just returns + // expired associations (or really short-lived + // associations) + return new Auth_OpenID_FailureResponse(null, + 'Association with ' . $server_url . ' expired'); + } + + if (!$assoc->checkMessageSignature($message)) { + // If we get a "bad signature" here, it means that the association + // is unrecoverabley corrupted in some way. Any futher attempts + // to login with this association is likely to fail. Drop it. + $this->store->removeAssociation($server_url, $assoc_handle); + return new Auth_OpenID_FailureResponse(null, + "Bad signature"); + } + } else { + // It's not an association we know about. Stateless mode + // is our only possible path for recovery. XXX - async + // framework will not want to block on this call to + // _checkAuth. + if (!$this->_checkAuth($message, $server_url)) { + return new Auth_OpenID_FailureResponse(null, + "Server denied check_authentication"); + } + } + + return null; + } + + /** + * @access private + */ + function _verifyDiscoveryResults($message, $endpoint=null) + { + if ($message->getOpenIDNamespace() == Auth_OpenID_OPENID2_NS) { + return $this->_verifyDiscoveryResultsOpenID2($message, + $endpoint); + } else { + return $this->_verifyDiscoveryResultsOpenID1($message, + $endpoint); + } + } + + /** + * @access private + */ + function _verifyDiscoveryResultsOpenID1($message, $endpoint) + { + $claimed_id = $message->getArg(Auth_OpenID_BARE_NS, + $this->openid1_return_to_identifier_name); + + if (($endpoint === null) && ($claimed_id === null)) { + return new Auth_OpenID_FailureResponse($endpoint, + 'When using OpenID 1, the claimed ID must be supplied, ' . + 'either by passing it through as a return_to parameter ' . + 'or by using a session, and supplied to the GenericConsumer ' . + 'as the argument to complete()'); + } else if (($endpoint !== null) && ($claimed_id === null)) { + $claimed_id = $endpoint->claimed_id; + } + + $to_match = new Auth_OpenID_ServiceEndpoint(); + $to_match->type_uris = array(Auth_OpenID_TYPE_1_1); + $to_match->local_id = $message->getArg(Auth_OpenID_OPENID1_NS, + 'identity'); + + // Restore delegate information from the initiation phase + $to_match->claimed_id = $claimed_id; + + if ($to_match->local_id === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "Missing required field openid.identity"); + } + + $to_match_1_0 = $to_match->copy(); + $to_match_1_0->type_uris = array(Auth_OpenID_TYPE_1_0); + + if ($endpoint !== null) { + $result = $this->_verifyDiscoverySingle($endpoint, $to_match); + + if (is_a($result, 'Auth_OpenID_TypeURIMismatch')) { + $result = $this->_verifyDiscoverySingle($endpoint, + $to_match_1_0); + } + + if (Auth_OpenID::isFailure($result)) { + // oidutil.log("Error attempting to use stored + // discovery information: " + str(e)) + // oidutil.log("Attempting discovery to + // verify endpoint") + } else { + return $endpoint; + } + } + + // Endpoint is either bad (failed verification) or None + return $this->_discoverAndVerify($to_match->claimed_id, + array($to_match, $to_match_1_0)); + } + + /** + * @access private + */ + function _verifyDiscoverySingle($endpoint, $to_match) + { + // Every type URI that's in the to_match endpoint has to be + // present in the discovered endpoint. + foreach ($to_match->type_uris as $type_uri) { + if (!$endpoint->usesExtension($type_uri)) { + return new Auth_OpenID_TypeURIMismatch($endpoint, + "Required type ".$type_uri." not present"); + } + } + + // Fragments do not influence discovery, so we can't compare a + // claimed identifier with a fragment to discovered + // information. + list($defragged_claimed_id, $_) = + Auth_OpenID::urldefrag($to_match->claimed_id); + + if ($defragged_claimed_id != $endpoint->claimed_id) { + return new Auth_OpenID_FailureResponse($endpoint, + sprintf('Claimed ID does not match (different subjects!), ' . + 'Expected %s, got %s', $defragged_claimed_id, + $endpoint->claimed_id)); + } + + if ($to_match->getLocalID() != $endpoint->getLocalID()) { + return new Auth_OpenID_FailureResponse($endpoint, + sprintf('local_id mismatch. Expected %s, got %s', + $to_match->getLocalID(), $endpoint->getLocalID())); + } + + // If the server URL is None, this must be an OpenID 1 + // response, because op_endpoint is a required parameter in + // OpenID 2. In that case, we don't actually care what the + // discovered server_url is, because signature checking or + // check_auth should take care of that check for us. + if ($to_match->server_url === null) { + if ($to_match->preferredNamespace() != Auth_OpenID_OPENID1_NS) { + return new Auth_OpenID_FailureResponse($endpoint, + "Preferred namespace mismatch (bug)"); + } + } else if ($to_match->server_url != $endpoint->server_url) { + return new Auth_OpenID_FailureResponse($endpoint, + sprintf('OP Endpoint mismatch. Expected %s, got %s', + $to_match->server_url, $endpoint->server_url)); + } + + return null; + } + + /** + * @access private + */ + function _verifyDiscoveryResultsOpenID2($message, $endpoint) + { + $to_match = new Auth_OpenID_ServiceEndpoint(); + $to_match->type_uris = array(Auth_OpenID_TYPE_2_0); + $to_match->claimed_id = $message->getArg(Auth_OpenID_OPENID2_NS, + 'claimed_id'); + + $to_match->local_id = $message->getArg(Auth_OpenID_OPENID2_NS, + 'identity'); + + $to_match->server_url = $message->getArg(Auth_OpenID_OPENID2_NS, + 'op_endpoint'); + + if ($to_match->server_url === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "OP Endpoint URL missing"); + } + + // claimed_id and identifier must both be present or both be + // absent + if (($to_match->claimed_id === null) && + ($to_match->local_id !== null)) { + return new Auth_OpenID_FailureResponse($endpoint, + 'openid.identity is present without openid.claimed_id'); + } + + if (($to_match->claimed_id !== null) && + ($to_match->local_id === null)) { + return new Auth_OpenID_FailureResponse($endpoint, + 'openid.claimed_id is present without openid.identity'); + } + + if ($to_match->claimed_id === null) { + // This is a response without identifiers, so there's + // really no checking that we can do, so return an + // endpoint that's for the specified `openid.op_endpoint' + return Auth_OpenID_ServiceEndpoint::fromOPEndpointURL( + $to_match->server_url); + } + + if (!$endpoint) { + // The claimed ID doesn't match, so we have to do + // discovery again. This covers not using sessions, OP + // identifier endpoints and responses that didn't match + // the original request. + // oidutil.log('No pre-discovered information supplied.') + return $this->_discoverAndVerify($to_match->claimed_id, + array($to_match)); + } else { + + // The claimed ID matches, so we use the endpoint that we + // discovered in initiation. This should be the most + // common case. + $result = $this->_verifyDiscoverySingle($endpoint, $to_match); + + if (Auth_OpenID::isFailure($result)) { + $endpoint = $this->_discoverAndVerify($to_match->claimed_id, + array($to_match)); + if (Auth_OpenID::isFailure($endpoint)) { + return $endpoint; + } + } + } + + // The endpoint we return should have the claimed ID from the + // message we just verified, fragment and all. + if ($endpoint->claimed_id != $to_match->claimed_id) { + $endpoint->claimed_id = $to_match->claimed_id; + } + + return $endpoint; + } + + /** + * @access private + */ + function _discoverAndVerify($claimed_id, $to_match_endpoints) + { + // oidutil.log('Performing discovery on %s' % (claimed_id,)) + list($unused, $services) = call_user_func_array($this->discoverMethod, + array( + $claimed_id, + &$this->fetcher, + )); + + if (!$services) { + return new Auth_OpenID_FailureResponse(null, + sprintf("No OpenID information found at %s", + $claimed_id)); + } + + return $this->_verifyDiscoveryServices($claimed_id, $services, + $to_match_endpoints); + } + + /** + * @access private + */ + function _verifyDiscoveryServices($claimed_id, + $services, $to_match_endpoints) + { + // Search the services resulting from discovery to find one + // that matches the information from the assertion + + foreach ($services as $endpoint) { + foreach ($to_match_endpoints as $to_match_endpoint) { + $result = $this->_verifyDiscoverySingle($endpoint, + $to_match_endpoint); + + if (!Auth_OpenID::isFailure($result)) { + // It matches, so discover verification has + // succeeded. Return this endpoint. + return $endpoint; + } + } + } + + return new Auth_OpenID_FailureResponse(null, + sprintf('No matching endpoint found after discovering %s: %s', + $claimed_id, $result->message)); + } + + /** + * Extract the nonce from an OpenID 1 response. Return the nonce + * from the BARE_NS since we independently check the return_to + * arguments are the same as those in the response message. + * + * See the openid1_nonce_query_arg_name class variable + * + * @returns $nonce The nonce as a string or null + * + * @access private + */ + function _idResGetNonceOpenID1($message, $endpoint) + { + return $message->getArg(Auth_OpenID_BARE_NS, + $this->openid1_nonce_query_arg_name); + } + + /** + * @access private + */ + function _idResCheckNonce($message, $endpoint) + { + if ($message->isOpenID1()) { + // This indicates that the nonce was generated by the consumer + $nonce = $this->_idResGetNonceOpenID1($message, $endpoint); + $server_url = ''; + } else { + $nonce = $message->getArg(Auth_OpenID_OPENID2_NS, + 'response_nonce'); + + $server_url = $endpoint->server_url; + } + + if ($nonce === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "Nonce missing from response"); + } + + $parts = Auth_OpenID_splitNonce($nonce); + + if ($parts === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "Malformed nonce in response"); + } + + list($timestamp, $salt) = $parts; + + if (!$this->store->useNonce($server_url, $timestamp, $salt)) { + return new Auth_OpenID_FailureResponse($endpoint, + "Nonce already used or out of range"); + } + + return null; + } + + /** + * @access private + */ + function _idResCheckForFields($message) + { + $basic_fields = array('return_to', 'assoc_handle', 'sig', 'signed'); + $basic_sig_fields = array('return_to', 'identity'); + + $require_fields = array( + Auth_OpenID_OPENID2_NS => array_merge($basic_fields, + array('op_endpoint')), + + Auth_OpenID_OPENID1_NS => array_merge($basic_fields, + array('identity')) + ); + + $require_sigs = array( + Auth_OpenID_OPENID2_NS => array_merge($basic_sig_fields, + array('response_nonce', + 'claimed_id', + 'assoc_handle', + 'op_endpoint')), + Auth_OpenID_OPENID1_NS => array_merge($basic_sig_fields, + array('nonce')) + ); + + foreach ($require_fields[$message->getOpenIDNamespace()] as $field) { + if (!$message->hasKey(Auth_OpenID_OPENID_NS, $field)) { + return new Auth_OpenID_FailureResponse(null, + "Missing required field '".$field."'"); + } + } + + $signed_list_str = $message->getArg(Auth_OpenID_OPENID_NS, + 'signed', + Auth_OpenID_NO_DEFAULT); + if (Auth_OpenID::isFailure($signed_list_str)) { + return $signed_list_str; + } + $signed_list = explode(',', $signed_list_str); + + foreach ($require_sigs[$message->getOpenIDNamespace()] as $field) { + // Field is present and not in signed list + if ($message->hasKey(Auth_OpenID_OPENID_NS, $field) && + (!in_array($field, $signed_list))) { + return new Auth_OpenID_FailureResponse(null, + "'".$field."' not signed"); + } + } + + return null; + } + + /** + * @access private + */ + function _checkAuth($message, $server_url) + { + $request = $this->_createCheckAuthRequest($message); + if ($request === null) { + return false; + } + + $resp_message = $this->_makeKVPost($request, $server_url); + if (($resp_message === null) || + (is_a($resp_message, 'Auth_OpenID_ServerErrorContainer'))) { + return false; + } + + return $this->_processCheckAuthResponse($resp_message, $server_url); + } + + /** + * @access private + */ + function _createCheckAuthRequest($message) + { + $signed = $message->getArg(Auth_OpenID_OPENID_NS, 'signed'); + if ($signed) { + foreach (explode(',', $signed) as $k) { + $value = $message->getAliasedArg($k); + if ($value === null) { + return null; + } + } + } + $ca_message = $message->copy(); + $ca_message->setArg(Auth_OpenID_OPENID_NS, 'mode', + 'check_authentication'); + return $ca_message; + } + + /** + * @access private + */ + function _processCheckAuthResponse($response, $server_url) + { + $is_valid = $response->getArg(Auth_OpenID_OPENID_NS, 'is_valid', + 'false'); + + $invalidate_handle = $response->getArg(Auth_OpenID_OPENID_NS, + 'invalidate_handle'); + + if ($invalidate_handle !== null) { + $this->store->removeAssociation($server_url, + $invalidate_handle); + } + + if ($is_valid == 'true') { + return true; + } + + return false; + } + + /** + * Adapt a POST response to a Message. + * + * @param $response Result of a POST to an OpenID endpoint. + * + * @access private + */ + static function _httpResponseToMessage($response, $server_url) + { + // Should this function be named Message.fromHTTPResponse instead? + $response_message = Auth_OpenID_Message::fromKVForm($response->body); + + if ($response->status == 400) { + return Auth_OpenID_ServerErrorContainer::fromMessage( + $response_message); + } else if ($response->status != 200 and $response->status != 206) { + return null; + } + + return $response_message; + } + + /** + * @access private + */ + function _makeKVPost($message, $server_url) + { + $body = $message->toURLEncoded(); + $resp = $this->fetcher->post($server_url, $body); + + if ($resp === null) { + return null; + } + + return $this->_httpResponseToMessage($resp, $server_url); + } + + /** + * @access private + */ + function _getAssociation($endpoint) + { + if (!$this->_use_assocs) { + return null; + } + + $assoc = $this->store->getAssociation($endpoint->server_url); + + if (($assoc === null) || + ($assoc->getExpiresIn() <= 0)) { + + $assoc = $this->_negotiateAssociation($endpoint); + + if ($assoc !== null) { + $this->store->storeAssociation($endpoint->server_url, + $assoc); + } + } + + return $assoc; + } + + /** + * Handle ServerErrors resulting from association requests. + * + * @return $result If server replied with an C{unsupported-type} + * error, return a tuple of supported C{association_type}, + * C{session_type}. Otherwise logs the error and returns null. + * + * @access private + */ + function _extractSupportedAssociationType($server_error, $endpoint, + $assoc_type) + { + // Any error message whose code is not 'unsupported-type' + // should be considered a total failure. + if (($server_error->error_code != 'unsupported-type') || + ($server_error->message->isOpenID1())) { + return null; + } + + // The server didn't like the association/session type that we + // sent, and it sent us back a message that might tell us how + // to handle it. + + // Extract the session_type and assoc_type from the error + // message + $assoc_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS, + 'assoc_type'); + + $session_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS, + 'session_type'); + + if (($assoc_type === null) || ($session_type === null)) { + return null; + } else if (!$this->negotiator->isAllowed($assoc_type, + $session_type)) { + return null; + } else { + return array($assoc_type, $session_type); + } + } + + /** + * @access private + */ + function _negotiateAssociation($endpoint) + { + // Get our preferred session/association type from the negotiatior. + list($assoc_type, $session_type) = $this->negotiator->getAllowedType(); + + $assoc = $this->_requestAssociation( + $endpoint, $assoc_type, $session_type); + + if (Auth_OpenID::isFailure($assoc)) { + return null; + } + + if (is_a($assoc, 'Auth_OpenID_ServerErrorContainer')) { + $why = $assoc; + + $supportedTypes = $this->_extractSupportedAssociationType( + $why, $endpoint, $assoc_type); + + if ($supportedTypes !== null) { + list($assoc_type, $session_type) = $supportedTypes; + + // Attempt to create an association from the assoc_type + // and session_type that the server told us it + // supported. + $assoc = $this->_requestAssociation( + $endpoint, $assoc_type, $session_type); + + if (is_a($assoc, 'Auth_OpenID_ServerErrorContainer')) { + // Do not keep trying, since it rejected the + // association type that it told us to use. + // oidutil.log('Server %s refused its suggested association + // 'type: session_type=%s, assoc_type=%s' + // % (endpoint.server_url, session_type, + // assoc_type)) + return null; + } else { + return $assoc; + } + } else { + return null; + } + } else { + return $assoc; + } + } + + /** + * @access private + */ + function _requestAssociation($endpoint, $assoc_type, $session_type) + { + list($assoc_session, $args) = $this->_createAssociateRequest( + $endpoint, $assoc_type, $session_type); + + $response_message = $this->_makeKVPost($args, $endpoint->server_url); + + if ($response_message === null) { + // oidutil.log('openid.associate request failed: %s' % (why[0],)) + return null; + } else if (is_a($response_message, + 'Auth_OpenID_ServerErrorContainer')) { + return $response_message; + } + + return $this->_extractAssociation($response_message, $assoc_session); + } + + /** + * @access private + */ + function _extractAssociation($assoc_response, $assoc_session) + { + // Extract the common fields from the response, raising an + // exception if they are not found + $assoc_type = $assoc_response->getArg( + Auth_OpenID_OPENID_NS, 'assoc_type', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($assoc_type)) { + return $assoc_type; + } + + $assoc_handle = $assoc_response->getArg( + Auth_OpenID_OPENID_NS, 'assoc_handle', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($assoc_handle)) { + return $assoc_handle; + } + + // expires_in is a base-10 string. The Python parsing will + // accept literals that have whitespace around them and will + // accept negative values. Neither of these are really in-spec, + // but we think it's OK to accept them. + $expires_in_str = $assoc_response->getArg( + Auth_OpenID_OPENID_NS, 'expires_in', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($expires_in_str)) { + return $expires_in_str; + } + + $expires_in = Auth_OpenID::intval($expires_in_str); + if ($expires_in === false) { + + $err = sprintf("Could not parse expires_in from association ". + "response %s", print_r($assoc_response, true)); + return new Auth_OpenID_FailureResponse(null, $err); + } + + // OpenID 1 has funny association session behaviour. + if ($assoc_response->isOpenID1()) { + $session_type = $this->_getOpenID1SessionType($assoc_response); + } else { + $session_type = $assoc_response->getArg( + Auth_OpenID_OPENID2_NS, 'session_type', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($session_type)) { + return $session_type; + } + } + + // Session type mismatch + if ($assoc_session->session_type != $session_type) { + if ($assoc_response->isOpenID1() && + ($session_type == 'no-encryption')) { + // In OpenID 1, any association request can result in + // a 'no-encryption' association response. Setting + // assoc_session to a new no-encryption session should + // make the rest of this function work properly for + // that case. + $assoc_session = new Auth_OpenID_PlainTextConsumerSession(); + } else { + // Any other mismatch, regardless of protocol version + // results in the failure of the association session + // altogether. + return null; + } + } + + // Make sure assoc_type is valid for session_type + if (!in_array($assoc_type, $assoc_session->allowed_assoc_types)) { + return null; + } + + // Delegate to the association session to extract the secret + // from the response, however is appropriate for that session + // type. + $secret = $assoc_session->extractSecret($assoc_response); + + if ($secret === null) { + return null; + } + + return Auth_OpenID_Association::fromExpiresIn( + $expires_in, $assoc_handle, $secret, $assoc_type); + } + + /** + * @access private + */ + function _createAssociateRequest($endpoint, $assoc_type, $session_type) + { + if (array_key_exists($session_type, $this->session_types)) { + $session_type_class = $this->session_types[$session_type]; + + if (is_callable($session_type_class)) { + $assoc_session = $session_type_class(); + } else { + $assoc_session = new $session_type_class(); + } + } else { + return null; + } + + $args = array( + 'mode' => 'associate', + 'assoc_type' => $assoc_type); + + if (!$endpoint->compatibilityMode()) { + $args['ns'] = Auth_OpenID_OPENID2_NS; + } + + // Leave out the session type if we're in compatibility mode + // *and* it's no-encryption. + if ((!$endpoint->compatibilityMode()) || + ($assoc_session->session_type != 'no-encryption')) { + $args['session_type'] = $assoc_session->session_type; + } + + $args = array_merge($args, $assoc_session->getRequest()); + $message = Auth_OpenID_Message::fromOpenIDArgs($args); + return array($assoc_session, $message); + } + + /** + * Given an association response message, extract the OpenID 1.X + * session type. + * + * This function mostly takes care of the 'no-encryption' default + * behavior in OpenID 1. + * + * If the association type is plain-text, this function will + * return 'no-encryption' + * + * @access private + * @return $typ The association type for this message + */ + function _getOpenID1SessionType($assoc_response) + { + // If it's an OpenID 1 message, allow session_type to default + // to None (which signifies "no-encryption") + $session_type = $assoc_response->getArg(Auth_OpenID_OPENID1_NS, + 'session_type'); + + // Handle the differences between no-encryption association + // respones in OpenID 1 and 2: + + // no-encryption is not really a valid session type for OpenID + // 1, but we'll accept it anyway, while issuing a warning. + if ($session_type == 'no-encryption') { + // oidutil.log('WARNING: OpenID server sent "no-encryption"' + // 'for OpenID 1.X') + } else if (($session_type == '') || ($session_type === null)) { + // Missing or empty session type is the way to flag a + // 'no-encryption' response. Change the session type to + // 'no-encryption' so that it can be handled in the same + // way as OpenID 2 'no-encryption' respones. + $session_type = 'no-encryption'; + } + + return $session_type; + } +} + +/** + * This class represents an authentication request from a consumer to + * an OpenID server. + * + * @package OpenID + */ +class Auth_OpenID_AuthRequest { + + /** + * Initialize an authentication request with the specified token, + * association, and endpoint. + * + * Users of this library should not create instances of this + * class. Instances of this class are created by the library when + * needed. + */ + function Auth_OpenID_AuthRequest($endpoint, $assoc) + { + $this->assoc = $assoc; + $this->endpoint = $endpoint; + $this->return_to_args = array(); + $this->message = new Auth_OpenID_Message( + $endpoint->preferredNamespace()); + $this->_anonymous = false; + } + + /** + * Add an extension to this checkid request. + * + * $extension_request: An object that implements the extension + * request interface for adding arguments to an OpenID message. + */ + function addExtension($extension_request) + { + $extension_request->toMessage($this->message); + } + + /** + * Add an extension argument to this OpenID authentication + * request. + * + * Use caution when adding arguments, because they will be + * URL-escaped and appended to the redirect URL, which can easily + * get quite long. + * + * @param string $namespace The namespace for the extension. For + * example, the simple registration extension uses the namespace + * 'sreg'. + * + * @param string $key The key within the extension namespace. For + * example, the nickname field in the simple registration + * extension's key is 'nickname'. + * + * @param string $value The value to provide to the server for + * this argument. + */ + function addExtensionArg($namespace, $key, $value) + { + return $this->message->setArg($namespace, $key, $value); + } + + /** + * Set whether this request should be made anonymously. If a + * request is anonymous, the identifier will not be sent in the + * request. This is only useful if you are making another kind of + * request with an extension in this request. + * + * Anonymous requests are not allowed when the request is made + * with OpenID 1. + */ + function setAnonymous($is_anonymous) + { + if ($is_anonymous && $this->message->isOpenID1()) { + return false; + } else { + $this->_anonymous = $is_anonymous; + return true; + } + } + + /** + * Produce a {@link Auth_OpenID_Message} representing this + * request. + * + * @param string $realm The URL (or URL pattern) that identifies + * your web site to the user when she is authorizing it. + * + * @param string $return_to The URL that the OpenID provider will + * send the user back to after attempting to verify her identity. + * + * Not specifying a return_to URL means that the user will not be + * returned to the site issuing the request upon its completion. + * + * @param bool $immediate If true, the OpenID provider is to send + * back a response immediately, useful for behind-the-scenes + * authentication attempts. Otherwise the OpenID provider may + * engage the user before providing a response. This is the + * default case, as the user may need to provide credentials or + * approve the request before a positive response can be sent. + */ + function getMessage($realm, $return_to=null, $immediate=false) + { + if ($return_to) { + $return_to = Auth_OpenID::appendArgs($return_to, + $this->return_to_args); + } else if ($immediate) { + // raise ValueError( + // '"return_to" is mandatory when + //using "checkid_immediate"') + return new Auth_OpenID_FailureResponse(null, + "'return_to' is mandatory when using checkid_immediate"); + } else if ($this->message->isOpenID1()) { + // raise ValueError('"return_to" is + // mandatory for OpenID 1 requests') + return new Auth_OpenID_FailureResponse(null, + "'return_to' is mandatory for OpenID 1 requests"); + } else if ($this->return_to_args) { + // raise ValueError('extra "return_to" arguments + // were specified, but no return_to was specified') + return new Auth_OpenID_FailureResponse(null, + "extra 'return_to' arguments where specified, " . + "but no return_to was specified"); + } + + if ($immediate) { + $mode = 'checkid_immediate'; + } else { + $mode = 'checkid_setup'; + } + + $message = $this->message->copy(); + if ($message->isOpenID1()) { + $realm_key = 'trust_root'; + } else { + $realm_key = 'realm'; + } + + $message->updateArgs(Auth_OpenID_OPENID_NS, + array( + $realm_key => $realm, + 'mode' => $mode, + 'return_to' => $return_to)); + + if (!$this->_anonymous) { + if ($this->endpoint->isOPIdentifier()) { + // This will never happen when we're in compatibility + // mode, as long as isOPIdentifier() returns False + // whenever preferredNamespace() returns OPENID1_NS. + $claimed_id = $request_identity = + Auth_OpenID_IDENTIFIER_SELECT; + } else { + $request_identity = $this->endpoint->getLocalID(); + $claimed_id = $this->endpoint->claimed_id; + } + + // This is true for both OpenID 1 and 2 + $message->setArg(Auth_OpenID_OPENID_NS, 'identity', + $request_identity); + + if ($message->isOpenID2()) { + $message->setArg(Auth_OpenID_OPENID2_NS, 'claimed_id', + $claimed_id); + } + } + + if ($this->assoc) { + $message->setArg(Auth_OpenID_OPENID_NS, 'assoc_handle', + $this->assoc->handle); + } + + return $message; + } + + function redirectURL($realm, $return_to = null, + $immediate = false) + { + $message = $this->getMessage($realm, $return_to, $immediate); + + if (Auth_OpenID::isFailure($message)) { + return $message; + } + + return $message->toURL($this->endpoint->server_url); + } + + /** + * Get html for a form to submit this request to the IDP. + * + * form_tag_attrs: An array of attributes to be added to the form + * tag. 'accept-charset' and 'enctype' have defaults that can be + * overridden. If a value is supplied for 'action' or 'method', it + * will be replaced. + */ + function formMarkup($realm, $return_to=null, $immediate=false, + $form_tag_attrs=null) + { + $message = $this->getMessage($realm, $return_to, $immediate); + + if (Auth_OpenID::isFailure($message)) { + return $message; + } + + return $message->toFormMarkup($this->endpoint->server_url, + $form_tag_attrs); + } + + /** + * Get a complete html document that will autosubmit the request + * to the IDP. + * + * Wraps formMarkup. See the documentation for that function. + */ + function htmlMarkup($realm, $return_to=null, $immediate=false, + $form_tag_attrs=null) + { + $form = $this->formMarkup($realm, $return_to, $immediate, + $form_tag_attrs); + + if (Auth_OpenID::isFailure($form)) { + return $form; + } + return Auth_OpenID::autoSubmitHTML($form); + } + + function shouldSendRedirect() + { + return $this->endpoint->compatibilityMode(); + } +} + +/** + * The base class for responses from the Auth_OpenID_Consumer. + * + * @package OpenID + */ +class Auth_OpenID_ConsumerResponse { + var $status = null; + + function setEndpoint($endpoint) + { + $this->endpoint = $endpoint; + if ($endpoint === null) { + $this->identity_url = null; + } else { + $this->identity_url = $endpoint->claimed_id; + } + } + + /** + * Return the display identifier for this response. + * + * The display identifier is related to the Claimed Identifier, but the + * two are not always identical. The display identifier is something the + * user should recognize as what they entered, whereas the response's + * claimed identifier (in the identity_url attribute) may have extra + * information for better persistence. + * + * URLs will be stripped of their fragments for display. XRIs will + * display the human-readable identifier (i-name) instead of the + * persistent identifier (i-number). + * + * Use the display identifier in your user interface. Use + * identity_url for querying your database or authorization server. + * + */ + function getDisplayIdentifier() + { + if ($this->endpoint !== null) { + return $this->endpoint->getDisplayIdentifier(); + } + return null; + } +} + +/** + * A response with a status of Auth_OpenID_SUCCESS. Indicates that + * this request is a successful acknowledgement from the OpenID server + * that the supplied URL is, indeed controlled by the requesting + * agent. This has three relevant attributes: + * + * claimed_id - The identity URL that has been authenticated + * + * signed_args - The arguments in the server's response that were + * signed and verified. + * + * status - Auth_OpenID_SUCCESS. + * + * @package OpenID + */ +class Auth_OpenID_SuccessResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_SUCCESS; + + /** + * @access private + */ + function Auth_OpenID_SuccessResponse($endpoint, $message, $signed_args=null) + { + $this->endpoint = $endpoint; + $this->identity_url = $endpoint->claimed_id; + $this->signed_args = $signed_args; + $this->message = $message; + + if ($this->signed_args === null) { + $this->signed_args = array(); + } + } + + /** + * Extract signed extension data from the server's response. + * + * @param string $prefix The extension namespace from which to + * extract the extension data. + */ + function extensionResponse($namespace_uri, $require_signed) + { + if ($require_signed) { + return $this->getSignedNS($namespace_uri); + } else { + return $this->message->getArgs($namespace_uri); + } + } + + function isOpenID1() + { + return $this->message->isOpenID1(); + } + + function isSigned($ns_uri, $ns_key) + { + // Return whether a particular key is signed, regardless of + // its namespace alias + return in_array($this->message->getKey($ns_uri, $ns_key), + $this->signed_args); + } + + function getSigned($ns_uri, $ns_key, $default = null) + { + // Return the specified signed field if available, otherwise + // return default + if ($this->isSigned($ns_uri, $ns_key)) { + return $this->message->getArg($ns_uri, $ns_key, $default); + } else { + return $default; + } + } + + function getSignedNS($ns_uri) + { + $args = array(); + + $msg_args = $this->message->getArgs($ns_uri); + if (Auth_OpenID::isFailure($msg_args)) { + return null; + } + + foreach ($msg_args as $key => $value) { + if (!$this->isSigned($ns_uri, $key)) { + unset($msg_args[$key]); + } + } + + return $msg_args; + } + + /** + * Get the openid.return_to argument from this response. + * + * This is useful for verifying that this request was initiated by + * this consumer. + * + * @return string $return_to The return_to URL supplied to the + * server on the initial request, or null if the response did not + * contain an 'openid.return_to' argument. + */ + function getReturnTo() + { + return $this->getSigned(Auth_OpenID_OPENID_NS, 'return_to'); + } +} + +/** + * A response with a status of Auth_OpenID_FAILURE. Indicates that the + * OpenID protocol has failed. This could be locally or remotely + * triggered. This has three relevant attributes: + * + * claimed_id - The identity URL for which authentication was + * attempted, if it can be determined. Otherwise, null. + * + * message - A message indicating why the request failed, if one is + * supplied. Otherwise, null. + * + * status - Auth_OpenID_FAILURE. + * + * @package OpenID + */ +class Auth_OpenID_FailureResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_FAILURE; + + function Auth_OpenID_FailureResponse($endpoint, $message = null, + $contact = null, $reference = null) + { + $this->setEndpoint($endpoint); + $this->message = $message; + $this->contact = $contact; + $this->reference = $reference; + } +} + +/** + * A specific, internal failure used to detect type URI mismatch. + * + * @package OpenID + */ +class Auth_OpenID_TypeURIMismatch extends Auth_OpenID_FailureResponse { +} + +/** + * Exception that is raised when the server returns a 400 response + * code to a direct request. + * + * @package OpenID + */ +class Auth_OpenID_ServerErrorContainer { + function Auth_OpenID_ServerErrorContainer($error_text, + $error_code, + $message) + { + $this->error_text = $error_text; + $this->error_code = $error_code; + $this->message = $message; + } + + /** + * @access private + */ + static function fromMessage($message) + { + $error_text = $message->getArg( + Auth_OpenID_OPENID_NS, 'error', ''); + $error_code = $message->getArg(Auth_OpenID_OPENID_NS, 'error_code'); + return new Auth_OpenID_ServerErrorContainer($error_text, + $error_code, + $message); + } +} + +/** + * A response with a status of Auth_OpenID_CANCEL. Indicates that the + * user cancelled the OpenID authentication request. This has two + * relevant attributes: + * + * claimed_id - The identity URL for which authentication was + * attempted, if it can be determined. Otherwise, null. + * + * status - Auth_OpenID_SUCCESS. + * + * @package OpenID + */ +class Auth_OpenID_CancelResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_CANCEL; + + function Auth_OpenID_CancelResponse($endpoint) + { + $this->setEndpoint($endpoint); + } +} + +/** + * A response with a status of Auth_OpenID_SETUP_NEEDED. Indicates + * that the request was in immediate mode, and the server is unable to + * authenticate the user without further interaction. + * + * claimed_id - The identity URL for which authentication was + * attempted. + * + * setup_url - A URL that can be used to send the user to the server + * to set up for authentication. The user should be redirected in to + * the setup_url, either in the current window or in a new browser + * window. Null in OpenID 2. + * + * status - Auth_OpenID_SETUP_NEEDED. + * + * @package OpenID + */ +class Auth_OpenID_SetupNeededResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_SETUP_NEEDED; + + function Auth_OpenID_SetupNeededResponse($endpoint, + $setup_url = null) + { + $this->setEndpoint($endpoint); + $this->setup_url = $setup_url; + } +} + + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/CryptUtil.php b/wp-content/plugins/openid/lib/Auth/OpenID/CryptUtil.php new file mode 100644 index 0000000..3c60cea --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/CryptUtil.php @@ -0,0 +1,122 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +if (!defined('Auth_OpenID_RAND_SOURCE')) { + /** + * The filename for a source of random bytes. Define this yourself + * if you have a different source of randomness. + */ + define('Auth_OpenID_RAND_SOURCE', '/dev/urandom'); +} + +class Auth_OpenID_CryptUtil { + /** + * Get the specified number of random bytes. + * + * Attempts to use a cryptographically secure (not predictable) + * source of randomness if available. If there is no high-entropy + * randomness source available, it will fail. As a last resort, + * for non-critical systems, define + * Auth_OpenID_RAND_SOURCE as null, and + * the code will fall back on a pseudo-random number generator. + * + * @param int $num_bytes The length of the return value + * @return string $bytes random bytes + */ + static function getBytes($num_bytes) + { + static $f = null; + $bytes = ''; + if ($f === null) { + if (Auth_OpenID_RAND_SOURCE === null) { + $f = false; + } else { + $f = @fopen(Auth_OpenID_RAND_SOURCE, "r"); + if ($f === false) { + $msg = 'Define Auth_OpenID_RAND_SOURCE as null to ' . + ' continue with an insecure random number generator.'; + trigger_error($msg, E_USER_ERROR); + } + } + } + if ($f === false) { + // pseudorandom used + $bytes = ''; + for ($i = 0; $i < $num_bytes; $i += 4) { + $bytes .= pack('L', mt_rand()); + } + $bytes = substr($bytes, 0, $num_bytes); + } else { + $bytes = fread($f, $num_bytes); + } + return $bytes; + } + + /** + * Produce a string of length random bytes, chosen from chrs. If + * $chrs is null, the resulting string may contain any characters. + * + * @param integer $length The length of the resulting + * randomly-generated string + * @param string $chrs A string of characters from which to choose + * to build the new string + * @return string $result A string of randomly-chosen characters + * from $chrs + */ + static function randomString($length, $population = null) + { + if ($population === null) { + return Auth_OpenID_CryptUtil::getBytes($length); + } + + $popsize = strlen($population); + + if ($popsize > 256) { + $msg = 'More than 256 characters supplied to ' . __FUNCTION__; + trigger_error($msg, E_USER_ERROR); + } + + $duplicate = 256 % $popsize; + + $str = ""; + for ($i = 0; $i < $length; $i++) { + do { + $n = ord(Auth_OpenID_CryptUtil::getBytes(1)); + } while ($n < $duplicate); + + $n %= $popsize; + $str .= $population[$n]; + } + + return $str; + } + + static function constEq($s1, $s2) + { + if (strlen($s1) != strlen($s2)) { + return false; + } + + $result = true; + $length = strlen($s1); + for ($i = 0; $i < $length; $i++) { + $result &= ($s1[$i] == $s2[$i]); + } + return $result; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/DatabaseConnection.php b/wp-content/plugins/openid/lib/Auth/OpenID/DatabaseConnection.php new file mode 100644 index 0000000..0c7d08f --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/DatabaseConnection.php @@ -0,0 +1,130 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * An empty base class intended to emulate PEAR connection + * functionality in applications that supply their own database + * abstraction mechanisms. See {@link Auth_OpenID_SQLStore} for more + * information. You should subclass this class if you need to create + * an SQL store that needs to access its database using an + * application's database abstraction layer instead of a PEAR database + * connection. Any subclass of Auth_OpenID_DatabaseConnection MUST + * adhere to the interface specified here. + * + * @package OpenID + */ +class Auth_OpenID_DatabaseConnection { + /** + * Sets auto-commit mode on this database connection. + * + * @param bool $mode True if auto-commit is to be used; false if + * not. + */ + function autoCommit($mode) + { + } + + /** + * Run an SQL query with the specified parameters, if any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return mixed $result The result of calling this connection's + * internal query function. The type of result depends on the + * underlying database engine. This method is usually used when + * the result of a query is not important, like a DDL query. + */ + function query($sql, $params = array()) + { + } + + /** + * Starts a transaction on this connection, if supported. + */ + function begin() + { + } + + /** + * Commits a transaction on this connection, if supported. + */ + function commit() + { + } + + /** + * Performs a rollback on this connection, if supported. + */ + function rollback() + { + } + + /** + * Run an SQL query and return the first column of the first row + * of the result set, if any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return mixed $result The value of the first column of the + * first row of the result set. False if no such result was + * found. + */ + function getOne($sql, $params = array()) + { + } + + /** + * Run an SQL query and return the first row of the result set, if + * any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return array $result The first row of the result set, if any, + * keyed on column name. False if no such result was found. + */ + function getRow($sql, $params = array()) + { + } + + /** + * Run an SQL query with the specified parameters, if any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return array $result An array of arrays representing the + * result of the query; each array is keyed on column name. + */ + function getAll($sql, $params = array()) + { + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/DiffieHellman.php b/wp-content/plugins/openid/lib/Auth/OpenID/DiffieHellman.php new file mode 100644 index 0000000..3e25b7d --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/DiffieHellman.php @@ -0,0 +1,113 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +require_once 'Auth/OpenID.php'; +require_once 'Auth/OpenID/BigMath.php'; + +function Auth_OpenID_getDefaultMod() +{ + return '155172898181473697471232257763715539915724801'. + '966915404479707795314057629378541917580651227423'. + '698188993727816152646631438561595825688188889951'. + '272158842675419950341258706556549803580104870537'. + '681476726513255747040765857479291291572334510643'. + '245094715007229621094194349783925984760375594985'. + '848253359305585439638443'; +} + +function Auth_OpenID_getDefaultGen() +{ + return '2'; +} + +/** + * The Diffie-Hellman key exchange class. This class relies on + * {@link Auth_OpenID_MathLibrary} to perform large number operations. + * + * @access private + * @package OpenID + */ +class Auth_OpenID_DiffieHellman { + + var $mod; + var $gen; + var $private; + var $lib = null; + + function Auth_OpenID_DiffieHellman($mod = null, $gen = null, + $private = null, $lib = null) + { + if ($lib === null) { + $this->lib = Auth_OpenID_getMathLib(); + } else { + $this->lib = $lib; + } + + if ($mod === null) { + $this->mod = $this->lib->init(Auth_OpenID_getDefaultMod()); + } else { + $this->mod = $mod; + } + + if ($gen === null) { + $this->gen = $this->lib->init(Auth_OpenID_getDefaultGen()); + } else { + $this->gen = $gen; + } + + if ($private === null) { + $r = $this->lib->rand($this->mod); + $this->private = $this->lib->add($r, 1); + } else { + $this->private = $private; + } + + $this->public = $this->lib->powmod($this->gen, $this->private, + $this->mod); + } + + function getSharedSecret($composite) + { + return $this->lib->powmod($composite, $this->private, $this->mod); + } + + function getPublicKey() + { + return $this->public; + } + + function usingDefaultValues() + { + return ($this->mod == Auth_OpenID_getDefaultMod() && + $this->gen == Auth_OpenID_getDefaultGen()); + } + + function xorSecret($composite, $secret, $hash_func) + { + $dh_shared = $this->getSharedSecret($composite); + $dh_shared_str = $this->lib->longToBinary($dh_shared); + $hash_dh_shared = $hash_func($dh_shared_str); + + $xsecret = ""; + for ($i = 0; $i < Auth_OpenID::bytes($secret); $i++) { + $xsecret .= chr(ord($secret[$i]) ^ ord($hash_dh_shared[$i])); + } + + return $xsecret; + } +} + + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Discover.php b/wp-content/plugins/openid/lib/Auth/OpenID/Discover.php new file mode 100644 index 0000000..7b0c640 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Discover.php @@ -0,0 +1,606 @@ +claimed_id = null; + $this->server_url = null; + $this->type_uris = array(); + $this->local_id = null; + $this->canonicalID = null; + $this->used_yadis = false; // whether this came from an XRDS + $this->display_identifier = null; + } + + function getDisplayIdentifier() + { + if ($this->display_identifier) { + return $this->display_identifier; + } + if (! $this->claimed_id) { + return $this->claimed_id; + } + $parsed = parse_url($this->claimed_id); + $scheme = $parsed['scheme']; + $host = $parsed['host']; + $path = $parsed['path']; + if (array_key_exists('query', $parsed)) { + $query = $parsed['query']; + $no_frag = "$scheme://$host$path?$query"; + } else { + $no_frag = "$scheme://$host$path"; + } + return $no_frag; + } + + function usesExtension($extension_uri) + { + return in_array($extension_uri, $this->type_uris); + } + + function preferredNamespace() + { + if (in_array(Auth_OpenID_TYPE_2_0_IDP, $this->type_uris) || + in_array(Auth_OpenID_TYPE_2_0, $this->type_uris)) { + return Auth_OpenID_OPENID2_NS; + } else { + return Auth_OpenID_OPENID1_NS; + } + } + + /* + * Query this endpoint to see if it has any of the given type + * URIs. This is useful for implementing other endpoint classes + * that e.g. need to check for the presence of multiple versions + * of a single protocol. + * + * @param $type_uris The URIs that you wish to check + * + * @return all types that are in both in type_uris and + * $this->type_uris + */ + function matchTypes($type_uris) + { + $result = array(); + foreach ($type_uris as $test_uri) { + if ($this->supportsType($test_uri)) { + $result[] = $test_uri; + } + } + + return $result; + } + + function supportsType($type_uri) + { + // Does this endpoint support this type? + return ((in_array($type_uri, $this->type_uris)) || + (($type_uri == Auth_OpenID_TYPE_2_0) && + $this->isOPIdentifier())); + } + + function compatibilityMode() + { + return $this->preferredNamespace() != Auth_OpenID_OPENID2_NS; + } + + function isOPIdentifier() + { + return in_array(Auth_OpenID_TYPE_2_0_IDP, $this->type_uris); + } + + static function fromOPEndpointURL($op_endpoint_url) + { + // Construct an OP-Identifier OpenIDServiceEndpoint object for + // a given OP Endpoint URL + $obj = new Auth_OpenID_ServiceEndpoint(); + $obj->server_url = $op_endpoint_url; + $obj->type_uris = array(Auth_OpenID_TYPE_2_0_IDP); + return $obj; + } + + function parseService($yadis_url, $uri, $type_uris, $service_element) + { + // Set the state of this object based on the contents of the + // service element. Return true if successful, false if not + // (if findOPLocalIdentifier returns false). + $this->type_uris = $type_uris; + $this->server_url = $uri; + $this->used_yadis = true; + + if (!$this->isOPIdentifier()) { + $this->claimed_id = $yadis_url; + $this->local_id = Auth_OpenID_findOPLocalIdentifier( + $service_element, + $this->type_uris); + if ($this->local_id === false) { + return false; + } + } + + return true; + } + + function getLocalID() + { + // Return the identifier that should be sent as the + // openid.identity_url parameter to the server. + if ($this->local_id === null && $this->canonicalID === null) { + return $this->claimed_id; + } else { + if ($this->local_id) { + return $this->local_id; + } else { + return $this->canonicalID; + } + } + } + + /* + * Parse the given document as XRDS looking for OpenID consumer services. + * + * @return array of Auth_OpenID_ServiceEndpoint or null if the + * document cannot be parsed. + */ + function consumerFromXRDS($uri, $xrds_text) + { + $xrds =& Auth_Yadis_XRDS::parseXRDS($xrds_text); + + if ($xrds) { + $yadis_services = + $xrds->services(array('filter_MatchesAnyOpenIDConsumerType')); + return Auth_OpenID_makeOpenIDEndpoints($uri, $yadis_services); + } + + return null; + } + + /* + * Parse the given document as XRDS looking for OpenID services. + * + * @return array of Auth_OpenID_ServiceEndpoint or null if the + * document cannot be parsed. + */ + static function fromXRDS($uri, $xrds_text) + { + $xrds = Auth_Yadis_XRDS::parseXRDS($xrds_text); + + if ($xrds) { + $yadis_services = + $xrds->services(array('filter_MatchesAnyOpenIDType')); + return Auth_OpenID_makeOpenIDEndpoints($uri, $yadis_services); + } + + return null; + } + + /* + * Create endpoints from a DiscoveryResult. + * + * @param discoveryResult Auth_Yadis_DiscoveryResult + * @return array of Auth_OpenID_ServiceEndpoint or null if + * endpoints cannot be created. + */ + static function fromDiscoveryResult($discoveryResult) + { + if ($discoveryResult->isXRDS()) { + return Auth_OpenID_ServiceEndpoint::fromXRDS( + $discoveryResult->normalized_uri, + $discoveryResult->response_text); + } else { + return Auth_OpenID_ServiceEndpoint::fromHTML( + $discoveryResult->normalized_uri, + $discoveryResult->response_text); + } + } + + static function fromHTML($uri, $html) + { + $discovery_types = array( + array(Auth_OpenID_TYPE_2_0, + 'openid2.provider', 'openid2.local_id'), + array(Auth_OpenID_TYPE_1_1, + 'openid.server', 'openid.delegate') + ); + + $services = array(); + + foreach ($discovery_types as $triple) { + list($type_uri, $server_rel, $delegate_rel) = $triple; + + $urls = Auth_OpenID_legacy_discover($html, $server_rel, + $delegate_rel); + + if ($urls === false) { + continue; + } + + list($delegate_url, $server_url) = $urls; + + $service = new Auth_OpenID_ServiceEndpoint(); + $service->claimed_id = $uri; + $service->local_id = $delegate_url; + $service->server_url = $server_url; + $service->type_uris = array($type_uri); + + $services[] = $service; + } + + return $services; + } + + function copy() + { + $x = new Auth_OpenID_ServiceEndpoint(); + + $x->claimed_id = $this->claimed_id; + $x->server_url = $this->server_url; + $x->type_uris = $this->type_uris; + $x->local_id = $this->local_id; + $x->canonicalID = $this->canonicalID; + $x->used_yadis = $this->used_yadis; + + return $x; + } +} + +function Auth_OpenID_findOPLocalIdentifier($service, $type_uris) +{ + // Extract a openid:Delegate value from a Yadis Service element. + // If no delegate is found, returns null. Returns false on + // discovery failure (when multiple delegate/localID tags have + // different values). + + $service->parser->registerNamespace('openid', + Auth_OpenID_XMLNS_1_0); + + $service->parser->registerNamespace('xrd', + Auth_Yadis_XMLNS_XRD_2_0); + + $parser = $service->parser; + + $permitted_tags = array(); + + if (in_array(Auth_OpenID_TYPE_1_1, $type_uris) || + in_array(Auth_OpenID_TYPE_1_0, $type_uris)) { + $permitted_tags[] = 'openid:Delegate'; + } + + if (in_array(Auth_OpenID_TYPE_2_0, $type_uris)) { + $permitted_tags[] = 'xrd:LocalID'; + } + + $local_id = null; + + foreach ($permitted_tags as $tag_name) { + $tags = $service->getElements($tag_name); + + foreach ($tags as $tag) { + $content = $parser->content($tag); + + if ($local_id === null) { + $local_id = $content; + } else if ($local_id != $content) { + return false; + } + } + } + + return $local_id; +} + +function filter_MatchesAnyOpenIDType($service) +{ + $uris = $service->getTypes(); + + foreach ($uris as $uri) { + if (in_array($uri, Auth_OpenID_getOpenIDTypeURIs())) { + return true; + } + } + + return false; +} + +function filter_MatchesAnyOpenIDConsumerType(&$service) +{ + $uris = $service->getTypes(); + + foreach ($uris as $uri) { + if (in_array($uri, Auth_OpenID_getOpenIDConsumerTypeURIs())) { + return true; + } + } + + return false; +} + +function Auth_OpenID_bestMatchingService($service, $preferred_types) +{ + // Return the index of the first matching type, or something + // higher if no type matches. + // + // This provides an ordering in which service elements that + // contain a type that comes earlier in the preferred types list + // come before service elements that come later. If a service + // element has more than one type, the most preferred one wins. + + foreach ($preferred_types as $index => $typ) { + if (in_array($typ, $service->type_uris)) { + return $index; + } + } + + return count($preferred_types); +} + +function Auth_OpenID_arrangeByType($service_list, $preferred_types) +{ + // Rearrange service_list in a new list so services are ordered by + // types listed in preferred_types. Return the new list. + + // Build a list with the service elements in tuples whose + // comparison will prefer the one with the best matching service + $prio_services = array(); + foreach ($service_list as $index => $service) { + $prio_services[] = array(Auth_OpenID_bestMatchingService($service, + $preferred_types), + $index, $service); + } + + sort($prio_services); + + // Now that the services are sorted by priority, remove the sort + // keys from the list. + foreach ($prio_services as $index => $s) { + $prio_services[$index] = $prio_services[$index][2]; + } + + return $prio_services; +} + +// Extract OP Identifier services. If none found, return the rest, +// sorted with most preferred first according to +// OpenIDServiceEndpoint.openid_type_uris. +// +// openid_services is a list of OpenIDServiceEndpoint objects. +// +// Returns a list of OpenIDServiceEndpoint objects.""" +function Auth_OpenID_getOPOrUserServices($openid_services) +{ + $op_services = Auth_OpenID_arrangeByType($openid_services, + array(Auth_OpenID_TYPE_2_0_IDP)); + + $openid_services = Auth_OpenID_arrangeByType($openid_services, + Auth_OpenID_getOpenIDTypeURIs()); + + if ($op_services) { + return $op_services; + } else { + return $openid_services; + } +} + +function Auth_OpenID_makeOpenIDEndpoints($uri, $yadis_services) +{ + $s = array(); + + if (!$yadis_services) { + return $s; + } + + foreach ($yadis_services as $service) { + $type_uris = $service->getTypes(); + $uris = $service->getURIs(); + + // If any Type URIs match and there is an endpoint URI + // specified, then this is an OpenID endpoint + if ($type_uris && + $uris) { + foreach ($uris as $service_uri) { + $openid_endpoint = new Auth_OpenID_ServiceEndpoint(); + if ($openid_endpoint->parseService($uri, + $service_uri, + $type_uris, + $service)) { + $s[] = $openid_endpoint; + } + } + } + } + + return $s; +} + +function Auth_OpenID_discoverWithYadis($uri, $fetcher, + $endpoint_filter='Auth_OpenID_getOPOrUserServices', + $discover_function=null) +{ + // Discover OpenID services for a URI. Tries Yadis and falls back + // on old-style discovery if Yadis fails. + + // Might raise a yadis.discover.DiscoveryFailure if no document + // came back for that URI at all. I don't think falling back to + // OpenID 1.0 discovery on the same URL will help, so don't bother + // to catch it. + if ($discover_function === null) { + $discover_function = array('Auth_Yadis_Yadis', 'discover'); + } + + $openid_services = array(); + + $response = call_user_func_array($discover_function, + array($uri, $fetcher)); + + $yadis_url = $response->normalized_uri; + $yadis_services = array(); + + if ($response->isFailure() && !$response->isXRDS()) { + return array($uri, array()); + } + + $openid_services = Auth_OpenID_ServiceEndpoint::fromXRDS( + $yadis_url, + $response->response_text); + + if (!$openid_services) { + if ($response->isXRDS()) { + return Auth_OpenID_discoverWithoutYadis($uri, + $fetcher); + } + + // Try to parse the response as HTML to get OpenID 1.0/1.1 + // + $openid_services = Auth_OpenID_ServiceEndpoint::fromHTML( + $yadis_url, + $response->response_text); + } + + $openid_services = call_user_func_array($endpoint_filter, + array($openid_services)); + + return array($yadis_url, $openid_services); +} + +function Auth_OpenID_discoverURI($uri, $fetcher) +{ + $uri = Auth_OpenID::normalizeUrl($uri); + return Auth_OpenID_discoverWithYadis($uri, $fetcher); +} + +function Auth_OpenID_discoverWithoutYadis($uri, $fetcher) +{ + $http_resp = @$fetcher->get($uri); + + if ($http_resp->status != 200 and $http_resp->status != 206) { + return array($uri, array()); + } + + $identity_url = $http_resp->final_url; + + // Try to parse the response as HTML to get OpenID 1.0/1.1 + $openid_services = Auth_OpenID_ServiceEndpoint::fromHTML( + $identity_url, + $http_resp->body); + + return array($identity_url, $openid_services); +} + +function Auth_OpenID_discoverXRI($iname, $fetcher) +{ + $resolver = new Auth_Yadis_ProxyResolver($fetcher); + list($canonicalID, $yadis_services) = + $resolver->query($iname, + Auth_OpenID_getOpenIDTypeURIs(), + array('filter_MatchesAnyOpenIDType')); + + $openid_services = Auth_OpenID_makeOpenIDEndpoints($iname, + $yadis_services); + + $openid_services = Auth_OpenID_getOPOrUserServices($openid_services); + + for ($i = 0; $i < count($openid_services); $i++) { + $openid_services[$i]->canonicalID = $canonicalID; + $openid_services[$i]->claimed_id = $canonicalID; + $openid_services[$i]->display_identifier = $iname; + } + + // FIXME: returned xri should probably be in some normal form + return array($iname, $openid_services); +} + +function Auth_OpenID_discover($uri, $fetcher) +{ + // If the fetcher (i.e., PHP) doesn't support SSL, we can't do + // discovery on an HTTPS URL. + if ($fetcher->isHTTPS($uri) && !$fetcher->supportsSSL()) { + return array($uri, array()); + } + + if (Auth_Yadis_identifierScheme($uri) == 'XRI') { + $result = Auth_OpenID_discoverXRI($uri, $fetcher); + } else { + $result = Auth_OpenID_discoverURI($uri, $fetcher); + } + + // If the fetcher doesn't support SSL, we can't interact with + // HTTPS server URLs; remove those endpoints from the list. + if (!$fetcher->supportsSSL()) { + $http_endpoints = array(); + list($new_uri, $endpoints) = $result; + + foreach ($endpoints as $e) { + if (!$fetcher->isHTTPS($e->server_url)) { + $http_endpoints[] = $e; + } + } + + $result = array($new_uri, $http_endpoints); + } + + return $result; +} + + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/DumbStore.php b/wp-content/plugins/openid/lib/Auth/OpenID/DumbStore.php new file mode 100644 index 0000000..e8f29ac --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/DumbStore.php @@ -0,0 +1,99 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Import the interface for creating a new store class. + */ +require_once 'Auth/OpenID/Interface.php'; +require_once 'Auth/OpenID/HMAC.php'; + +/** + * This is a store for use in the worst case, when you have no way of + * saving state on the consumer site. Using this store makes the + * consumer vulnerable to replay attacks, as it's unable to use + * nonces. Avoid using this store if it is at all possible. + * + * Most of the methods of this class are implementation details. + * Users of this class need to worry only about the constructor. + * + * @package OpenID + */ +class Auth_OpenID_DumbStore extends Auth_OpenID_OpenIDStore { + + /** + * Creates a new {@link Auth_OpenID_DumbStore} instance. For the security + * of the tokens generated by the library, this class attempts to + * at least have a secure implementation of getAuthKey. + * + * When you create an instance of this class, pass in a secret + * phrase. The phrase is hashed with sha1 to make it the correct + * length and form for an auth key. That allows you to use a long + * string as the secret phrase, which means you can make it very + * difficult to guess. + * + * Each {@link Auth_OpenID_DumbStore} instance that is created for use by + * your consumer site needs to use the same $secret_phrase. + * + * @param string secret_phrase The phrase used to create the auth + * key returned by getAuthKey + */ + function Auth_OpenID_DumbStore($secret_phrase) + { + $this->auth_key = Auth_OpenID_SHA1($secret_phrase); + } + + /** + * This implementation does nothing. + */ + function storeAssociation($server_url, $association) + { + } + + /** + * This implementation always returns null. + */ + function getAssociation($server_url, $handle = null) + { + return null; + } + + /** + * This implementation always returns false. + */ + function removeAssociation($server_url, $handle) + { + return false; + } + + /** + * In a system truly limited to dumb mode, nonces must all be + * accepted. This therefore always returns true, which makes + * replay attacks feasible. + */ + function useNonce($server_url, $timestamp, $salt) + { + return true; + } + + /** + * This method returns the auth key generated by the constructor. + */ + function getAuthKey() + { + return $this->auth_key; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Extension.php b/wp-content/plugins/openid/lib/Auth/OpenID/Extension.php new file mode 100644 index 0000000..c4e38c0 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Extension.php @@ -0,0 +1,61 @@ +isOpenID1(); + $added = $message->namespaces->addAlias($this->ns_uri, + $this->ns_alias, + $implicit); + + if ($added === null) { + if ($message->namespaces->getAlias($this->ns_uri) != + $this->ns_alias) { + return null; + } + } + + $message->updateArgs($this->ns_uri, + $this->getExtensionArgs()); + return $message; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/FileStore.php b/wp-content/plugins/openid/lib/Auth/OpenID/FileStore.php new file mode 100644 index 0000000..074421a --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/FileStore.php @@ -0,0 +1,618 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Require base class for creating a new interface. + */ +require_once 'Auth/OpenID.php'; +require_once 'Auth/OpenID/Interface.php'; +require_once 'Auth/OpenID/HMAC.php'; +require_once 'Auth/OpenID/Nonce.php'; + +/** + * This is a filesystem-based store for OpenID associations and + * nonces. This store should be safe for use in concurrent systems on + * both windows and unix (excluding NFS filesystems). There are a + * couple race conditions in the system, but those failure cases have + * been set up in such a way that the worst-case behavior is someone + * having to try to log in a second time. + * + * Most of the methods of this class are implementation details. + * People wishing to just use this store need only pay attention to + * the constructor. + * + * @package OpenID + */ +class Auth_OpenID_FileStore extends Auth_OpenID_OpenIDStore { + + /** + * Initializes a new {@link Auth_OpenID_FileStore}. This + * initializes the nonce and association directories, which are + * subdirectories of the directory passed in. + * + * @param string $directory This is the directory to put the store + * directories in. + */ + function Auth_OpenID_FileStore($directory) + { + if (!Auth_OpenID::ensureDir($directory)) { + trigger_error('Not a directory and failed to create: ' + . $directory, E_USER_ERROR); + } + $directory = realpath($directory); + + $this->directory = $directory; + $this->active = true; + + $this->nonce_dir = $directory . DIRECTORY_SEPARATOR . 'nonces'; + + $this->association_dir = $directory . DIRECTORY_SEPARATOR . + 'associations'; + + // Temp dir must be on the same filesystem as the assciations + // $directory. + $this->temp_dir = $directory . DIRECTORY_SEPARATOR . 'temp'; + + $this->max_nonce_age = 6 * 60 * 60; // Six hours, in seconds + + if (!$this->_setup()) { + trigger_error('Failed to initialize OpenID file store in ' . + $directory, E_USER_ERROR); + } + } + + function destroy() + { + Auth_OpenID_FileStore::_rmtree($this->directory); + $this->active = false; + } + + /** + * Make sure that the directories in which we store our data + * exist. + * + * @access private + */ + function _setup() + { + return (Auth_OpenID::ensureDir($this->nonce_dir) && + Auth_OpenID::ensureDir($this->association_dir) && + Auth_OpenID::ensureDir($this->temp_dir)); + } + + /** + * Create a temporary file on the same filesystem as + * $this->association_dir. + * + * The temporary directory should not be cleaned if there are any + * processes using the store. If there is no active process using + * the store, it is safe to remove all of the files in the + * temporary directory. + * + * @return array ($fd, $filename) + * @access private + */ + function _mktemp() + { + $name = Auth_OpenID_FileStore::_mkstemp($dir = $this->temp_dir); + $file_obj = @fopen($name, 'wb'); + if ($file_obj !== false) { + return array($file_obj, $name); + } else { + Auth_OpenID_FileStore::_removeIfPresent($name); + } + } + + function cleanupNonces() + { + global $Auth_OpenID_SKEW; + + $nonces = Auth_OpenID_FileStore::_listdir($this->nonce_dir); + $now = time(); + + $removed = 0; + // Check all nonces for expiry + foreach ($nonces as $nonce_fname) { + $base = basename($nonce_fname); + $parts = explode('-', $base, 2); + $timestamp = $parts[0]; + $timestamp = intval($timestamp, 16); + if (abs($timestamp - $now) > $Auth_OpenID_SKEW) { + Auth_OpenID_FileStore::_removeIfPresent($nonce_fname); + $removed += 1; + } + } + return $removed; + } + + /** + * Create a unique filename for a given server url and + * handle. This implementation does not assume anything about the + * format of the handle. The filename that is returned will + * contain the domain name from the server URL for ease of human + * inspection of the data directory. + * + * @return string $filename + */ + function getAssociationFilename($server_url, $handle) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + if (strpos($server_url, '://') === false) { + trigger_error(sprintf("Bad server URL: %s", $server_url), + E_USER_WARNING); + return null; + } + + list($proto, $rest) = explode('://', $server_url, 2); + $parts = explode('/', $rest); + $domain = Auth_OpenID_FileStore::_filenameEscape($parts[0]); + $url_hash = Auth_OpenID_FileStore::_safe64($server_url); + if ($handle) { + $handle_hash = Auth_OpenID_FileStore::_safe64($handle); + } else { + $handle_hash = ''; + } + + $filename = sprintf('%s-%s-%s-%s', $proto, $domain, $url_hash, + $handle_hash); + + return $this->association_dir. DIRECTORY_SEPARATOR . $filename; + } + + /** + * Store an association in the association directory. + */ + function storeAssociation($server_url, $association) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return false; + } + + $association_s = $association->serialize(); + $filename = $this->getAssociationFilename($server_url, + $association->handle); + list($tmp_file, $tmp) = $this->_mktemp(); + + if (!$tmp_file) { + trigger_error("_mktemp didn't return a valid file descriptor", + E_USER_WARNING); + return false; + } + + fwrite($tmp_file, $association_s); + + fflush($tmp_file); + + fclose($tmp_file); + + if (@rename($tmp, $filename)) { + return true; + } else { + // In case we are running on Windows, try unlinking the + // file in case it exists. + @unlink($filename); + + // Now the target should not exist. Try renaming again, + // giving up if it fails. + if (@rename($tmp, $filename)) { + return true; + } + } + + // If there was an error, don't leave the temporary file + // around. + Auth_OpenID_FileStore::_removeIfPresent($tmp); + return false; + } + + /** + * Retrieve an association. If no handle is specified, return the + * association with the most recent issue time. + * + * @return mixed $association + */ + function getAssociation($server_url, $handle = null) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + if ($handle === null) { + $handle = ''; + } + + // The filename with the empty handle is a prefix of all other + // associations for the given server URL. + $filename = $this->getAssociationFilename($server_url, $handle); + + if ($handle) { + return $this->_getAssociation($filename); + } else { + $association_files = + Auth_OpenID_FileStore::_listdir($this->association_dir); + $matching_files = array(); + + // strip off the path to do the comparison + $name = basename($filename); + foreach ($association_files as $association_file) { + $base = basename($association_file); + if (strpos($base, $name) === 0) { + $matching_files[] = $association_file; + } + } + + $matching_associations = array(); + // read the matching files and sort by time issued + foreach ($matching_files as $full_name) { + $association = $this->_getAssociation($full_name); + if ($association !== null) { + $matching_associations[] = array($association->issued, + $association); + } + } + + $issued = array(); + $assocs = array(); + foreach ($matching_associations as $key => $assoc) { + $issued[$key] = $assoc[0]; + $assocs[$key] = $assoc[1]; + } + + array_multisort($issued, SORT_DESC, $assocs, SORT_DESC, + $matching_associations); + + // return the most recently issued one. + if ($matching_associations) { + list($issued, $assoc) = $matching_associations[0]; + return $assoc; + } else { + return null; + } + } + } + + /** + * @access private + */ + function _getAssociation($filename) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + $assoc_file = @fopen($filename, 'rb'); + + if ($assoc_file === false) { + return null; + } + + $assoc_s = fread($assoc_file, filesize($filename)); + fclose($assoc_file); + + if (!$assoc_s) { + return null; + } + + $association = + Auth_OpenID_Association::deserialize('Auth_OpenID_Association', + $assoc_s); + + if (!$association) { + Auth_OpenID_FileStore::_removeIfPresent($filename); + return null; + } + + if ($association->getExpiresIn() == 0) { + Auth_OpenID_FileStore::_removeIfPresent($filename); + return null; + } else { + return $association; + } + } + + /** + * Remove an association if it exists. Do nothing if it does not. + * + * @return bool $success + */ + function removeAssociation($server_url, $handle) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + $assoc = $this->getAssociation($server_url, $handle); + if ($assoc === null) { + return false; + } else { + $filename = $this->getAssociationFilename($server_url, $handle); + return Auth_OpenID_FileStore::_removeIfPresent($filename); + } + } + + /** + * Return whether this nonce is present. As a side effect, mark it + * as no longer present. + * + * @return bool $present + */ + function useNonce($server_url, $timestamp, $salt) + { + global $Auth_OpenID_SKEW; + + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + if ( abs($timestamp - time()) > $Auth_OpenID_SKEW ) { + return false; + } + + if ($server_url) { + list($proto, $rest) = explode('://', $server_url, 2); + } else { + $proto = ''; + $rest = ''; + } + + $parts = explode('/', $rest, 2); + $domain = $this->_filenameEscape($parts[0]); + $url_hash = $this->_safe64($server_url); + $salt_hash = $this->_safe64($salt); + + $filename = sprintf('%08x-%s-%s-%s-%s', $timestamp, $proto, + $domain, $url_hash, $salt_hash); + $filename = $this->nonce_dir . DIRECTORY_SEPARATOR . $filename; + + $result = @fopen($filename, 'x'); + + if ($result === false) { + return false; + } else { + fclose($result); + return true; + } + } + + /** + * Remove expired entries from the database. This is potentially + * expensive, so only run when it is acceptable to take time. + * + * @access private + */ + function _allAssocs() + { + $all_associations = array(); + + $association_filenames = + Auth_OpenID_FileStore::_listdir($this->association_dir); + + foreach ($association_filenames as $association_filename) { + $association_file = fopen($association_filename, 'rb'); + + if ($association_file !== false) { + $assoc_s = fread($association_file, + filesize($association_filename)); + fclose($association_file); + + // Remove expired or corrupted associations + $association = + Auth_OpenID_Association::deserialize( + 'Auth_OpenID_Association', $assoc_s); + + if ($association === null) { + Auth_OpenID_FileStore::_removeIfPresent( + $association_filename); + } else { + if ($association->getExpiresIn() == 0) { + $all_associations[] = array($association_filename, + $association); + } + } + } + } + + return $all_associations; + } + + function clean() + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + $nonces = Auth_OpenID_FileStore::_listdir($this->nonce_dir); + $now = time(); + + // Check all nonces for expiry + foreach ($nonces as $nonce) { + if (!Auth_OpenID_checkTimestamp($nonce, $now)) { + $filename = $this->nonce_dir . DIRECTORY_SEPARATOR . $nonce; + Auth_OpenID_FileStore::_removeIfPresent($filename); + } + } + + foreach ($this->_allAssocs() as $pair) { + list($assoc_filename, $assoc) = $pair; + if ($assoc->getExpiresIn() == 0) { + Auth_OpenID_FileStore::_removeIfPresent($assoc_filename); + } + } + } + + /** + * @access private + */ + function _rmtree($dir) + { + if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR) { + $dir .= DIRECTORY_SEPARATOR; + } + + if ($handle = opendir($dir)) { + while ($item = readdir($handle)) { + if (!in_array($item, array('.', '..'))) { + if (is_dir($dir . $item)) { + + if (!Auth_OpenID_FileStore::_rmtree($dir . $item)) { + return false; + } + } else if (is_file($dir . $item)) { + if (!unlink($dir . $item)) { + return false; + } + } + } + } + + closedir($handle); + + if (!@rmdir($dir)) { + return false; + } + + return true; + } else { + // Couldn't open directory. + return false; + } + } + + /** + * @access private + */ + function _mkstemp($dir) + { + foreach (range(0, 4) as $i) { + $name = tempnam($dir, "php_openid_filestore_"); + + if ($name !== false) { + return $name; + } + } + return false; + } + + /** + * @access private + */ + static function _mkdtemp($dir) + { + foreach (range(0, 4) as $i) { + $name = $dir . strval(DIRECTORY_SEPARATOR) . strval(getmypid()) . + "-" . strval(rand(1, time())); + if (!mkdir($name, 0700)) { + return false; + } else { + return $name; + } + } + return false; + } + + /** + * @access private + */ + function _listdir($dir) + { + $handle = opendir($dir); + $files = array(); + while (false !== ($filename = readdir($handle))) { + if (!in_array($filename, array('.', '..'))) { + $files[] = $dir . DIRECTORY_SEPARATOR . $filename; + } + } + return $files; + } + + /** + * @access private + */ + function _isFilenameSafe($char) + { + $_Auth_OpenID_filename_allowed = Auth_OpenID_letters . + Auth_OpenID_digits . "."; + return (strpos($_Auth_OpenID_filename_allowed, $char) !== false); + } + + /** + * @access private + */ + function _safe64($str) + { + $h64 = base64_encode(Auth_OpenID_SHA1($str)); + $h64 = str_replace('+', '_', $h64); + $h64 = str_replace('/', '.', $h64); + $h64 = str_replace('=', '', $h64); + return $h64; + } + + /** + * @access private + */ + function _filenameEscape($str) + { + $filename = ""; + $b = Auth_OpenID::toBytes($str); + + for ($i = 0; $i < count($b); $i++) { + $c = $b[$i]; + if (Auth_OpenID_FileStore::_isFilenameSafe($c)) { + $filename .= $c; + } else { + $filename .= sprintf("_%02X", ord($c)); + } + } + return $filename; + } + + /** + * Attempt to remove a file, returning whether the file existed at + * the time of the call. + * + * @access private + * @return bool $result True if the file was present, false if not. + */ + function _removeIfPresent($filename) + { + return @unlink($filename); + } + + function cleanupAssociations() + { + $removed = 0; + foreach ($this->_allAssocs() as $pair) { + list($assoc_filename, $assoc) = $pair; + if ($assoc->getExpiresIn() == 0) { + $this->_removeIfPresent($assoc_filename); + $removed += 1; + } + } + return $removed; + } +} + + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/HMAC.php b/wp-content/plugins/openid/lib/Auth/OpenID/HMAC.php new file mode 100644 index 0000000..e6c4bdf --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/HMAC.php @@ -0,0 +1,105 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +require_once 'Auth/OpenID.php'; + +/** + * SHA1_BLOCKSIZE is this module's SHA1 blocksize used by the fallback + * implementation. + */ +define('Auth_OpenID_SHA1_BLOCKSIZE', 64); + +function Auth_OpenID_SHA1($text) +{ + if (function_exists('hash') && + function_exists('hash_algos') && + (in_array('sha1', hash_algos()))) { + // PHP 5 case (sometimes): 'hash' available and 'sha1' algo + // supported. + return hash('sha1', $text, true); + } else if (function_exists('sha1')) { + // PHP 4 case: 'sha1' available. + $hex = sha1($text); + $raw = ''; + for ($i = 0; $i < 40; $i += 2) { + $hexcode = substr($hex, $i, 2); + $charcode = (int)base_convert($hexcode, 16, 10); + $raw .= chr($charcode); + } + return $raw; + } else { + // Explode. + trigger_error('No SHA1 function found', E_USER_ERROR); + } +} + +/** + * Compute an HMAC/SHA1 hash. + * + * @access private + * @param string $key The HMAC key + * @param string $text The message text to hash + * @return string $mac The MAC + */ +function Auth_OpenID_HMACSHA1($key, $text) +{ + if (Auth_OpenID::bytes($key) > Auth_OpenID_SHA1_BLOCKSIZE) { + $key = Auth_OpenID_SHA1($key, true); + } + + if (function_exists('hash_hmac') && + function_exists('hash_algos') && + (in_array('sha1', hash_algos()))) { + return hash_hmac('sha1', $text, $key, true); + } + // Home-made solution + + $key = str_pad($key, Auth_OpenID_SHA1_BLOCKSIZE, chr(0x00)); + $ipad = str_repeat(chr(0x36), Auth_OpenID_SHA1_BLOCKSIZE); + $opad = str_repeat(chr(0x5c), Auth_OpenID_SHA1_BLOCKSIZE); + $hash1 = Auth_OpenID_SHA1(($key ^ $ipad) . $text, true); + $hmac = Auth_OpenID_SHA1(($key ^ $opad) . $hash1, true); + return $hmac; +} + +if (function_exists('hash') && + function_exists('hash_algos') && + (in_array('sha256', hash_algos()))) { + function Auth_OpenID_SHA256($text) + { + // PHP 5 case: 'hash' available and 'sha256' algo supported. + return hash('sha256', $text, true); + } + define('Auth_OpenID_SHA256_SUPPORTED', true); +} else { + define('Auth_OpenID_SHA256_SUPPORTED', false); +} + +if (function_exists('hash_hmac') && + function_exists('hash_algos') && + (in_array('sha256', hash_algos()))) { + + function Auth_OpenID_HMACSHA256($key, $text) + { + // Return raw MAC (not hex string). + return hash_hmac('sha256', $text, $key, true); + } + + define('Auth_OpenID_HMACSHA256_SUPPORTED', true); +} else { + define('Auth_OpenID_HMACSHA256_SUPPORTED', false); +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Interface.php b/wp-content/plugins/openid/lib/Auth/OpenID/Interface.php new file mode 100644 index 0000000..eca6b9c --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Interface.php @@ -0,0 +1,196 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * This is the interface for the store objects the OpenID library + * uses. It is a single class that provides all of the persistence + * mechanisms that the OpenID library needs, for both servers and + * consumers. If you want to create an SQL-driven store, please see + * then {@link Auth_OpenID_SQLStore} class. + * + * Change: Version 2.0 removed the storeNonce, getAuthKey, and isDumb + * methods, and changed the behavior of the useNonce method to support + * one-way nonces. + * + * @package OpenID + * @author JanRain, Inc. + */ +class Auth_OpenID_OpenIDStore { + /** + * This method puts an Association object into storage, + * retrievable by server URL and handle. + * + * @param string $server_url The URL of the identity server that + * this association is with. Because of the way the server portion + * of the library uses this interface, don't assume there are any + * limitations on the character set of the input string. In + * particular, expect to see unescaped non-url-safe characters in + * the server_url field. + * + * @param Association $association The Association to store. + */ + function storeAssociation($server_url, $association) + { + trigger_error("Auth_OpenID_OpenIDStore::storeAssociation ". + "not implemented", E_USER_ERROR); + } + + /* + * Remove expired nonces from the store. + * + * Discards any nonce from storage that is old enough that its + * timestamp would not pass useNonce(). + * + * This method is not called in the normal operation of the + * library. It provides a way for store admins to keep their + * storage from filling up with expired data. + * + * @return the number of nonces expired + */ + function cleanupNonces() + { + trigger_error("Auth_OpenID_OpenIDStore::cleanupNonces ". + "not implemented", E_USER_ERROR); + } + + /* + * Remove expired associations from the store. + * + * This method is not called in the normal operation of the + * library. It provides a way for store admins to keep their + * storage from filling up with expired data. + * + * @return the number of associations expired. + */ + function cleanupAssociations() + { + trigger_error("Auth_OpenID_OpenIDStore::cleanupAssociations ". + "not implemented", E_USER_ERROR); + } + + /* + * Shortcut for cleanupNonces(), cleanupAssociations(). + * + * This method is not called in the normal operation of the + * library. It provides a way for store admins to keep their + * storage from filling up with expired data. + */ + function cleanup() + { + return array($this->cleanupNonces(), + $this->cleanupAssociations()); + } + + /** + * Report whether this storage supports cleanup + */ + function supportsCleanup() + { + return true; + } + + /** + * This method returns an Association object from storage that + * matches the server URL and, if specified, handle. It returns + * null if no such association is found or if the matching + * association is expired. + * + * If no handle is specified, the store may return any association + * which matches the server URL. If multiple associations are + * valid, the recommended return value for this method is the one + * most recently issued. + * + * This method is allowed (and encouraged) to garbage collect + * expired associations when found. This method must not return + * expired associations. + * + * @param string $server_url The URL of the identity server to get + * the association for. Because of the way the server portion of + * the library uses this interface, don't assume there are any + * limitations on the character set of the input string. In + * particular, expect to see unescaped non-url-safe characters in + * the server_url field. + * + * @param mixed $handle This optional parameter is the handle of + * the specific association to get. If no specific handle is + * provided, any valid association matching the server URL is + * returned. + * + * @return Association The Association for the given identity + * server. + */ + function getAssociation($server_url, $handle = null) + { + trigger_error("Auth_OpenID_OpenIDStore::getAssociation ". + "not implemented", E_USER_ERROR); + } + + /** + * This method removes the matching association if it's found, and + * returns whether the association was removed or not. + * + * @param string $server_url The URL of the identity server the + * association to remove belongs to. Because of the way the server + * portion of the library uses this interface, don't assume there + * are any limitations on the character set of the input + * string. In particular, expect to see unescaped non-url-safe + * characters in the server_url field. + * + * @param string $handle This is the handle of the association to + * remove. If there isn't an association found that matches both + * the given URL and handle, then there was no matching handle + * found. + * + * @return mixed Returns whether or not the given association existed. + */ + function removeAssociation($server_url, $handle) + { + trigger_error("Auth_OpenID_OpenIDStore::removeAssociation ". + "not implemented", E_USER_ERROR); + } + + /** + * Called when using a nonce. + * + * This method should return C{True} if the nonce has not been + * used before, and store it for a while to make sure nobody + * tries to use the same value again. If the nonce has already + * been used, return C{False}. + * + * Change: In earlier versions, round-trip nonces were used and a + * nonce was only valid if it had been previously stored with + * storeNonce. Version 2.0 uses one-way nonces, requiring a + * different implementation here that does not depend on a + * storeNonce call. (storeNonce is no longer part of the + * interface. + * + * @param string $nonce The nonce to use. + * + * @return bool Whether or not the nonce was valid. + */ + function useNonce($server_url, $timestamp, $salt) + { + trigger_error("Auth_OpenID_OpenIDStore::useNonce ". + "not implemented", E_USER_ERROR); + } + + /** + * Removes all entries from the store; implementation is optional. + */ + function reset() + { + } + +} diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/KVForm.php b/wp-content/plugins/openid/lib/Auth/OpenID/KVForm.php new file mode 100644 index 0000000..dd02661 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/KVForm.php @@ -0,0 +1,111 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Container for key-value/comma-newline OpenID format and parsing + */ +class Auth_OpenID_KVForm { + /** + * Convert an OpenID colon/newline separated string into an + * associative array + * + * @static + * @access private + */ + static function toArray($kvs, $strict=false) + { + $lines = explode("\n", $kvs); + + $last = array_pop($lines); + if ($last !== '') { + array_push($lines, $last); + if ($strict) { + return false; + } + } + + $values = array(); + + for ($lineno = 0; $lineno < count($lines); $lineno++) { + $line = $lines[$lineno]; + $kv = explode(':', $line, 2); + if (count($kv) != 2) { + if ($strict) { + return false; + } + continue; + } + + $key = $kv[0]; + $tkey = trim($key); + if ($tkey != $key) { + if ($strict) { + return false; + } + } + + $value = $kv[1]; + $tval = trim($value); + if ($tval != $value) { + if ($strict) { + return false; + } + } + + $values[$tkey] = $tval; + } + + return $values; + } + + /** + * Convert an array into an OpenID colon/newline separated string + * + * @static + * @access private + */ + static function fromArray($values) + { + if ($values === null) { + return null; + } + + ksort($values); + + $serialized = ''; + foreach ($values as $key => $value) { + if (is_array($value)) { + list($key, $value) = array($value[0], $value[1]); + } + + if (strpos($key, ':') !== false) { + return null; + } + + if (strpos($key, "\n") !== false) { + return null; + } + + if (strpos($value, "\n") !== false) { + return null; + } + $serialized .= "$key:$value\n"; + } + return $serialized; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/MDB2Store.php b/wp-content/plugins/openid/lib/Auth/OpenID/MDB2Store.php new file mode 100644 index 0000000..80024ba --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/MDB2Store.php @@ -0,0 +1,413 @@ + + * @copyright 2005 Janrain, Inc. + * @license http://www.gnu.org/copyleft/lesser.html LGPL + */ + +require_once 'MDB2.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/Interface.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/Nonce.php'; + +/** + * This store uses a PEAR::MDB2 connection to store persistence + * information. + * + * The table names used are determined by the class variables + * associations_table_name and nonces_table_name. To change the name + * of the tables used, pass new table names into the constructor. + * + * To create the tables with the proper schema, see the createTables + * method. + * + * @package OpenID + */ +class Auth_OpenID_MDB2Store extends Auth_OpenID_OpenIDStore { + /** + * This creates a new MDB2Store instance. It requires an + * established database connection be given to it, and it allows + * overriding the default table names. + * + * @param connection $connection This must be an established + * connection to a database of the correct type for the SQLStore + * subclass you're using. This must be a PEAR::MDB2 connection + * handle. + * + * @param associations_table: This is an optional parameter to + * specify the name of the table used for storing associations. + * The default value is 'oid_associations'. + * + * @param nonces_table: This is an optional parameter to specify + * the name of the table used for storing nonces. The default + * value is 'oid_nonces'. + */ + function Auth_OpenID_MDB2Store($connection, + $associations_table = null, + $nonces_table = null) + { + $this->associations_table_name = "oid_associations"; + $this->nonces_table_name = "oid_nonces"; + + // Check the connection object type to be sure it's a PEAR + // database connection. + if (!is_object($connection) || + !is_subclass_of($connection, 'mdb2_driver_common')) { + trigger_error("Auth_OpenID_MDB2Store expected PEAR connection " . + "object (got ".get_class($connection).")", + E_USER_ERROR); + return; + } + + $this->connection = $connection; + + // Be sure to set the fetch mode so the results are keyed on + // column name instead of column index. + $this->connection->setFetchMode(MDB2_FETCHMODE_ASSOC); + + if (PEAR::isError($this->connection->loadModule('Extended'))) { + trigger_error("Unable to load MDB2_Extended module", E_USER_ERROR); + return; + } + + if ($associations_table) { + $this->associations_table_name = $associations_table; + } + + if ($nonces_table) { + $this->nonces_table_name = $nonces_table; + } + + $this->max_nonce_age = 6 * 60 * 60; + } + + function tableExists($table_name) + { + return !PEAR::isError($this->connection->query( + sprintf("SELECT * FROM %s LIMIT 0", + $table_name))); + } + + function createTables() + { + $n = $this->create_nonce_table(); + $a = $this->create_assoc_table(); + + if (!$n || !$a) { + return false; + } + return true; + } + + function create_nonce_table() + { + if (!$this->tableExists($this->nonces_table_name)) { + switch ($this->connection->phptype) { + case "mysql": + case "mysqli": + // Custom SQL for MySQL to use InnoDB and variable- + // length keys + $r = $this->connection->exec( + sprintf("CREATE TABLE %s (\n". + " server_url VARCHAR(2047) NOT NULL DEFAULT '',\n". + " timestamp INTEGER NOT NULL,\n". + " salt CHAR(40) NOT NULL,\n". + " UNIQUE (server_url(255), timestamp, salt)\n". + ") TYPE=InnoDB", + $this->nonces_table_name)); + if (PEAR::isError($r)) { + return false; + } + break; + default: + if (PEAR::isError( + $this->connection->loadModule('Manager'))) { + return false; + } + $fields = array( + "server_url" => array( + "type" => "text", + "length" => 2047, + "notnull" => true + ), + "timestamp" => array( + "type" => "integer", + "notnull" => true + ), + "salt" => array( + "type" => "text", + "length" => 40, + "fixed" => true, + "notnull" => true + ) + ); + $constraint = array( + "unique" => 1, + "fields" => array( + "server_url" => true, + "timestamp" => true, + "salt" => true + ) + ); + + $r = $this->connection->createTable($this->nonces_table_name, + $fields); + if (PEAR::isError($r)) { + return false; + } + + $r = $this->connection->createConstraint( + $this->nonces_table_name, + $this->nonces_table_name . "_constraint", + $constraint); + if (PEAR::isError($r)) { + return false; + } + break; + } + } + return true; + } + + function create_assoc_table() + { + if (!$this->tableExists($this->associations_table_name)) { + switch ($this->connection->phptype) { + case "mysql": + case "mysqli": + // Custom SQL for MySQL to use InnoDB and variable- + // length keys + $r = $this->connection->exec( + sprintf("CREATE TABLE %s(\n". + " server_url VARCHAR(2047) NOT NULL DEFAULT '',\n". + " handle VARCHAR(255) NOT NULL,\n". + " secret BLOB NOT NULL,\n". + " issued INTEGER NOT NULL,\n". + " lifetime INTEGER NOT NULL,\n". + " assoc_type VARCHAR(64) NOT NULL,\n". + " PRIMARY KEY (server_url(255), handle)\n". + ") TYPE=InnoDB", + $this->associations_table_name)); + if (PEAR::isError($r)) { + return false; + } + break; + default: + if (PEAR::isError( + $this->connection->loadModule('Manager'))) { + return false; + } + $fields = array( + "server_url" => array( + "type" => "text", + "length" => 2047, + "notnull" => true + ), + "handle" => array( + "type" => "text", + "length" => 255, + "notnull" => true + ), + "secret" => array( + "type" => "blob", + "length" => "255", + "notnull" => true + ), + "issued" => array( + "type" => "integer", + "notnull" => true + ), + "lifetime" => array( + "type" => "integer", + "notnull" => true + ), + "assoc_type" => array( + "type" => "text", + "length" => 64, + "notnull" => true + ) + ); + $options = array( + "primary" => array( + "server_url" => true, + "handle" => true + ) + ); + + $r = $this->connection->createTable( + $this->associations_table_name, + $fields, + $options); + if (PEAR::isError($r)) { + return false; + } + break; + } + } + return true; + } + + function storeAssociation($server_url, $association) + { + $fields = array( + "server_url" => array( + "value" => $server_url, + "key" => true + ), + "handle" => array( + "value" => $association->handle, + "key" => true + ), + "secret" => array( + "value" => $association->secret, + "type" => "blob" + ), + "issued" => array( + "value" => $association->issued + ), + "lifetime" => array( + "value" => $association->lifetime + ), + "assoc_type" => array( + "value" => $association->assoc_type + ) + ); + + return !PEAR::isError($this->connection->replace( + $this->associations_table_name, + $fields)); + } + + function cleanupNonces() + { + global $Auth_OpenID_SKEW; + $v = time() - $Auth_OpenID_SKEW; + + return $this->connection->exec( + sprintf("DELETE FROM %s WHERE timestamp < %d", + $this->nonces_table_name, $v)); + } + + function cleanupAssociations() + { + return $this->connection->exec( + sprintf("DELETE FROM %s WHERE issued + lifetime < %d", + $this->associations_table_name, time())); + } + + function getAssociation($server_url, $handle = null) + { + $sql = ""; + $params = null; + $types = array( + "text", + "blob", + "integer", + "integer", + "text" + ); + if ($handle !== null) { + $sql = sprintf("SELECT handle, secret, issued, lifetime, assoc_type " . + "FROM %s WHERE server_url = ? AND handle = ?", + $this->associations_table_name); + $params = array($server_url, $handle); + } else { + $sql = sprintf("SELECT handle, secret, issued, lifetime, assoc_type " . + "FROM %s WHERE server_url = ? ORDER BY issued DESC", + $this->associations_table_name); + $params = array($server_url); + } + + $assoc = $this->connection->getRow($sql, $types, $params); + + if (!$assoc || PEAR::isError($assoc)) { + return null; + } else { + $association = new Auth_OpenID_Association($assoc['handle'], + stream_get_contents( + $assoc['secret']), + $assoc['issued'], + $assoc['lifetime'], + $assoc['assoc_type']); + fclose($assoc['secret']); + return $association; + } + } + + function removeAssociation($server_url, $handle) + { + $r = $this->connection->execParam( + sprintf("DELETE FROM %s WHERE server_url = ? AND handle = ?", + $this->associations_table_name), + array($server_url, $handle)); + + if (PEAR::isError($r) || $r == 0) { + return false; + } + return true; + } + + function useNonce($server_url, $timestamp, $salt) + { + global $Auth_OpenID_SKEW; + + if (abs($timestamp - time()) > $Auth_OpenID_SKEW ) { + return false; + } + + $fields = array( + "timestamp" => $timestamp, + "salt" => $salt + ); + + if (!empty($server_url)) { + $fields["server_url"] = $server_url; + } + + $r = $this->connection->autoExecute( + $this->nonces_table_name, + $fields, + MDB2_AUTOQUERY_INSERT); + + if (PEAR::isError($r)) { + return false; + } + return true; + } + + /** + * Resets the store by removing all records from the store's + * tables. + */ + function reset() + { + $this->connection->query(sprintf("DELETE FROM %s", + $this->associations_table_name)); + + $this->connection->query(sprintf("DELETE FROM %s", + $this->nonces_table_name)); + } + +} + +?> diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/MemcachedStore.php b/wp-content/plugins/openid/lib/Auth/OpenID/MemcachedStore.php new file mode 100644 index 0000000..fc10800 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/MemcachedStore.php @@ -0,0 +1,207 @@ + + * @copyright 2008 JanRain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + * Contributed by Open Web Technologies + */ + +/** + * Import the interface for creating a new store class. + */ +require_once 'Auth/OpenID/Interface.php'; + +/** + * This is a memcached-based store for OpenID associations and + * nonces. + * + * As memcache has limit of 250 chars for key length, + * server_url, handle and salt are hashed with sha1(). + * + * Most of the methods of this class are implementation details. + * People wishing to just use this store need only pay attention to + * the constructor. + * + * @package OpenID + */ +class Auth_OpenID_MemcachedStore extends Auth_OpenID_OpenIDStore { + + /** + * Initializes a new {@link Auth_OpenID_MemcachedStore} instance. + * Just saves memcached object as property. + * + * @param resource connection Memcache connection resourse + */ + function Auth_OpenID_MemcachedStore($connection, $compress = false) + { + $this->connection = $connection; + $this->compress = $compress ? MEMCACHE_COMPRESSED : 0; + } + + /** + * Store association until its expiration time in memcached. + * Overwrites any existing association with same server_url and + * handle. Handles list of associations for every server. + */ + function storeAssociation($server_url, $association) + { + // create memcached keys for association itself + // and list of associations for this server + $associationKey = $this->associationKey($server_url, + $association->handle); + $serverKey = $this->associationServerKey($server_url); + + // get list of associations + $serverAssociations = $this->connection->get($serverKey); + + // if no such list, initialize it with empty array + if (!$serverAssociations) { + $serverAssociations = array(); + } + // and store given association key in it + $serverAssociations[$association->issued] = $associationKey; + + // save associations' keys list + $this->connection->set( + $serverKey, + $serverAssociations, + $this->compress + ); + // save association itself + $this->connection->set( + $associationKey, + $association, + $this->compress, + $association->issued + $association->lifetime); + } + + /** + * Read association from memcached. If no handle given + * and multiple associations found, returns latest issued + */ + function getAssociation($server_url, $handle = null) + { + // simple case: handle given + if ($handle !== null) { + // get association, return null if failed + $association = $this->connection->get( + $this->associationKey($server_url, $handle)); + return $association ? $association : null; + } + + // no handle given, working with list + // create key for list of associations + $serverKey = $this->associationServerKey($server_url); + + // get list of associations + $serverAssociations = $this->connection->get($serverKey); + // return null if failed or got empty list + if (!$serverAssociations) { + return null; + } + + // get key of most recently issued association + $keys = array_keys($serverAssociations); + sort($keys); + $lastKey = $serverAssociations[array_pop($keys)]; + + // get association, return null if failed + $association = $this->connection->get($lastKey); + return $association ? $association : null; + } + + /** + * Immediately delete association from memcache. + */ + function removeAssociation($server_url, $handle) + { + // create memcached keys for association itself + // and list of associations for this server + $serverKey = $this->associationServerKey($server_url); + $associationKey = $this->associationKey($server_url, + $handle); + + // get list of associations + $serverAssociations = $this->connection->get($serverKey); + // return null if failed or got empty list + if (!$serverAssociations) { + return false; + } + + // ensure that given association key exists in list + $serverAssociations = array_flip($serverAssociations); + if (!array_key_exists($associationKey, $serverAssociations)) { + return false; + } + + // remove given association key from list + unset($serverAssociations[$associationKey]); + $serverAssociations = array_flip($serverAssociations); + + // save updated list + $this->connection->set( + $serverKey, + $serverAssociations, + $this->compress + ); + + // delete association + return $this->connection->delete($associationKey); + } + + /** + * Create nonce for server and salt, expiring after + * $Auth_OpenID_SKEW seconds. + */ + function useNonce($server_url, $timestamp, $salt) + { + global $Auth_OpenID_SKEW; + + // save one request to memcache when nonce obviously expired + if (abs($timestamp - time()) > $Auth_OpenID_SKEW) { + return false; + } + + // returns false when nonce already exists + // otherwise adds nonce + return $this->connection->add( + 'openid_nonce_' . sha1($server_url) . '_' . sha1($salt), + 1, // any value here + $this->compress, + $Auth_OpenID_SKEW); + } + + /** + * Memcache key is prefixed with 'openid_association_' string. + */ + function associationKey($server_url, $handle = null) + { + return 'openid_association_' . sha1($server_url) . '_' . sha1($handle); + } + + /** + * Memcache key is prefixed with 'openid_association_' string. + */ + function associationServerKey($server_url) + { + return 'openid_association_server_' . sha1($server_url); + } + + /** + * Report that this storage doesn't support cleanup + */ + function supportsCleanup() + { + return false; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Message.php b/wp-content/plugins/openid/lib/Auth/OpenID/Message.php new file mode 100644 index 0000000..9a5b20d --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Message.php @@ -0,0 +1,920 @@ +keys = array(); + $this->values = array(); + + if (is_array($classic_array)) { + foreach ($classic_array as $key => $value) { + $this->set($key, $value); + } + } + } + + /** + * Returns true if $thing is an Auth_OpenID_Mapping object; false + * if not. + */ + static function isA($thing) + { + return (is_object($thing) && + strtolower(get_class($thing)) == 'auth_openid_mapping'); + } + + /** + * Returns an array of the keys in the mapping. + */ + function keys() + { + return $this->keys; + } + + /** + * Returns an array of values in the mapping. + */ + function values() + { + return $this->values; + } + + /** + * Returns an array of (key, value) pairs in the mapping. + */ + function items() + { + $temp = array(); + + for ($i = 0; $i < count($this->keys); $i++) { + $temp[] = array($this->keys[$i], + $this->values[$i]); + } + return $temp; + } + + /** + * Returns the "length" of the mapping, or the number of keys. + */ + function len() + { + return count($this->keys); + } + + /** + * Sets a key-value pair in the mapping. If the key already + * exists, its value is replaced with the new value. + */ + function set($key, $value) + { + $index = array_search($key, $this->keys); + + if ($index !== false) { + $this->values[$index] = $value; + } else { + $this->keys[] = $key; + $this->values[] = $value; + } + } + + /** + * Gets a specified value from the mapping, associated with the + * specified key. If the key does not exist in the mapping, + * $default is returned instead. + */ + function get($key, $default = null) + { + $index = array_search($key, $this->keys); + + if ($index !== false) { + return $this->values[$index]; + } else { + return $default; + } + } + + /** + * @access private + */ + function _reflow() + { + // PHP is broken yet again. Sort the arrays to remove the + // hole in the numeric indexes that make up the array. + $old_keys = $this->keys; + $old_values = $this->values; + + $this->keys = array(); + $this->values = array(); + + foreach ($old_keys as $k) { + $this->keys[] = $k; + } + + foreach ($old_values as $v) { + $this->values[] = $v; + } + } + + /** + * Deletes a key-value pair from the mapping with the specified + * key. + */ + function del($key) + { + $index = array_search($key, $this->keys); + + if ($index !== false) { + unset($this->keys[$index]); + unset($this->values[$index]); + $this->_reflow(); + return true; + } + return false; + } + + /** + * Returns true if the specified value has a key in the mapping; + * false if not. + */ + function contains($value) + { + return (array_search($value, $this->keys) !== false); + } +} + +/** + * Maintains a bijective map between namespace uris and aliases. + * + * @package OpenID + */ +class Auth_OpenID_NamespaceMap { + function Auth_OpenID_NamespaceMap() + { + $this->alias_to_namespace = new Auth_OpenID_Mapping(); + $this->namespace_to_alias = new Auth_OpenID_Mapping(); + $this->implicit_namespaces = array(); + } + + function getAlias($namespace_uri) + { + return $this->namespace_to_alias->get($namespace_uri); + } + + function getNamespaceURI($alias) + { + return $this->alias_to_namespace->get($alias); + } + + function iterNamespaceURIs() + { + // Return an iterator over the namespace URIs + return $this->namespace_to_alias->keys(); + } + + function iterAliases() + { + // Return an iterator over the aliases""" + return $this->alias_to_namespace->keys(); + } + + function iteritems() + { + return $this->namespace_to_alias->items(); + } + + function isImplicit($namespace_uri) + { + return in_array($namespace_uri, $this->implicit_namespaces); + } + + function addAlias($namespace_uri, $desired_alias, $implicit=false) + { + // Add an alias from this namespace URI to the desired alias + global $Auth_OpenID_OPENID_PROTOCOL_FIELDS; + + // Check that desired_alias is not an openid protocol field as + // per the spec. + if (in_array($desired_alias, $Auth_OpenID_OPENID_PROTOCOL_FIELDS)) { + Auth_OpenID::log("\"%s\" is not an allowed namespace alias", + $desired_alias); + return null; + } + + // Check that desired_alias does not contain a period as per + // the spec. + if (strpos($desired_alias, '.') !== false) { + Auth_OpenID::log('"%s" must not contain a dot', $desired_alias); + return null; + } + + // Check that there is not a namespace already defined for the + // desired alias + $current_namespace_uri = + $this->alias_to_namespace->get($desired_alias); + + if (($current_namespace_uri !== null) && + ($current_namespace_uri != $namespace_uri)) { + Auth_OpenID::log('Cannot map "%s" because previous mapping exists', + $namespace_uri); + return null; + } + + // Check that there is not already a (different) alias for + // this namespace URI + $alias = $this->namespace_to_alias->get($namespace_uri); + + if (($alias !== null) && ($alias != $desired_alias)) { + Auth_OpenID::log('Cannot map %s to alias %s. ' . + 'It is already mapped to alias %s', + $namespace_uri, $desired_alias, $alias); + return null; + } + + assert((Auth_OpenID_NULL_NAMESPACE === $desired_alias) || + is_string($desired_alias)); + + $this->alias_to_namespace->set($desired_alias, $namespace_uri); + $this->namespace_to_alias->set($namespace_uri, $desired_alias); + if ($implicit) { + array_push($this->implicit_namespaces, $namespace_uri); + } + + return $desired_alias; + } + + function add($namespace_uri) + { + // Add this namespace URI to the mapping, without caring what + // alias it ends up with + + // See if this namespace is already mapped to an alias + $alias = $this->namespace_to_alias->get($namespace_uri); + + if ($alias !== null) { + return $alias; + } + + // Fall back to generating a numerical alias + $i = 0; + while (1) { + $alias = 'ext' . strval($i); + if ($this->addAlias($namespace_uri, $alias) === null) { + $i += 1; + } else { + return $alias; + } + } + + // Should NEVER be reached! + return null; + } + + function contains($namespace_uri) + { + return $this->isDefined($namespace_uri); + } + + function isDefined($namespace_uri) + { + return $this->namespace_to_alias->contains($namespace_uri); + } +} + +/** + * In the implementation of this object, null represents the global + * namespace as well as a namespace with no key. + * + * @package OpenID + */ +class Auth_OpenID_Message { + + function Auth_OpenID_Message($openid_namespace = null) + { + // Create an empty Message + $this->allowed_openid_namespaces = array( + Auth_OpenID_OPENID1_NS, + Auth_OpenID_THE_OTHER_OPENID1_NS, + Auth_OpenID_OPENID2_NS); + + $this->args = new Auth_OpenID_Mapping(); + $this->namespaces = new Auth_OpenID_NamespaceMap(); + if ($openid_namespace === null) { + $this->_openid_ns_uri = null; + } else { + $implicit = Auth_OpenID_isOpenID1($openid_namespace); + $this->setOpenIDNamespace($openid_namespace, $implicit); + } + } + + function isOpenID1() + { + return Auth_OpenID_isOpenID1($this->getOpenIDNamespace()); + } + + function isOpenID2() + { + return $this->getOpenIDNamespace() == Auth_OpenID_OPENID2_NS; + } + + static function fromPostArgs($args) + { + // Construct a Message containing a set of POST arguments + $obj = new Auth_OpenID_Message(); + + // Partition into "openid." args and bare args + $openid_args = array(); + foreach ($args as $key => $value) { + + if (is_array($value)) { + return null; + } + + $parts = explode('.', $key, 2); + + if (count($parts) == 2) { + list($prefix, $rest) = $parts; + } else { + $prefix = null; + } + + if ($prefix != 'openid') { + $obj->args->set(array(Auth_OpenID_BARE_NS, $key), $value); + } else { + $openid_args[$rest] = $value; + } + } + + if ($obj->_fromOpenIDArgs($openid_args)) { + return $obj; + } else { + return null; + } + } + + static function fromOpenIDArgs($openid_args) + { + // Takes an array. + + // Construct a Message from a parsed KVForm message + $obj = new Auth_OpenID_Message(); + if ($obj->_fromOpenIDArgs($openid_args)) { + return $obj; + } else { + return null; + } + } + + /** + * @access private + */ + function _fromOpenIDArgs($openid_args) + { + global $Auth_OpenID_registered_aliases; + + // Takes an Auth_OpenID_Mapping instance OR an array. + + if (!Auth_OpenID_Mapping::isA($openid_args)) { + $openid_args = new Auth_OpenID_Mapping($openid_args); + } + + $ns_args = array(); + + // Resolve namespaces + foreach ($openid_args->items() as $pair) { + list($rest, $value) = $pair; + + $parts = explode('.', $rest, 2); + + if (count($parts) == 2) { + list($ns_alias, $ns_key) = $parts; + } else { + $ns_alias = Auth_OpenID_NULL_NAMESPACE; + $ns_key = $rest; + } + + if ($ns_alias == 'ns') { + if ($this->namespaces->addAlias($value, $ns_key) === null) { + return false; + } + } else if (($ns_alias == Auth_OpenID_NULL_NAMESPACE) && + ($ns_key == 'ns')) { + // null namespace + if ($this->setOpenIDNamespace($value, false) === false) { + return false; + } + } else { + $ns_args[] = array($ns_alias, $ns_key, $value); + } + } + + if (!$this->getOpenIDNamespace()) { + if ($this->setOpenIDNamespace(Auth_OpenID_OPENID1_NS, true) === + false) { + return false; + } + } + + // Actually put the pairs into the appropriate namespaces + foreach ($ns_args as $triple) { + list($ns_alias, $ns_key, $value) = $triple; + $ns_uri = $this->namespaces->getNamespaceURI($ns_alias); + if ($ns_uri === null) { + $ns_uri = $this->_getDefaultNamespace($ns_alias); + if ($ns_uri === null) { + + $ns_uri = Auth_OpenID_OPENID_NS; + $ns_key = sprintf('%s.%s', $ns_alias, $ns_key); + } else { + $this->namespaces->addAlias($ns_uri, $ns_alias, true); + } + } + + $this->setArg($ns_uri, $ns_key, $value); + } + + return true; + } + + function _getDefaultNamespace($mystery_alias) + { + global $Auth_OpenID_registered_aliases; + if ($this->isOpenID1()) { + return @$Auth_OpenID_registered_aliases[$mystery_alias]; + } + return null; + } + + function setOpenIDNamespace($openid_ns_uri, $implicit) + { + if (!in_array($openid_ns_uri, $this->allowed_openid_namespaces)) { + Auth_OpenID::log('Invalid null namespace: "%s"', $openid_ns_uri); + return false; + } + + $succeeded = $this->namespaces->addAlias($openid_ns_uri, + Auth_OpenID_NULL_NAMESPACE, + $implicit); + if ($succeeded === false) { + return false; + } + + $this->_openid_ns_uri = $openid_ns_uri; + + return true; + } + + function getOpenIDNamespace() + { + return $this->_openid_ns_uri; + } + + static function fromKVForm($kvform_string) + { + // Create a Message from a KVForm string + return Auth_OpenID_Message::fromOpenIDArgs( + Auth_OpenID_KVForm::toArray($kvform_string)); + } + + function copy() + { + return $this; + } + + function toPostArgs() + { + // Return all arguments with openid. in front of namespaced + // arguments. + + $args = array(); + + // Add namespace definitions to the output + foreach ($this->namespaces->iteritems() as $pair) { + list($ns_uri, $alias) = $pair; + if ($this->namespaces->isImplicit($ns_uri)) { + continue; + } + if ($alias == Auth_OpenID_NULL_NAMESPACE) { + $ns_key = 'openid.ns'; + } else { + $ns_key = 'openid.ns.' . $alias; + } + $args[$ns_key] = $ns_uri; + } + + foreach ($this->args->items() as $pair) { + list($ns_parts, $value) = $pair; + list($ns_uri, $ns_key) = $ns_parts; + $key = $this->getKey($ns_uri, $ns_key); + $args[$key] = $value; + } + + return $args; + } + + function toArgs() + { + // Return all namespaced arguments, failing if any + // non-namespaced arguments exist. + $post_args = $this->toPostArgs(); + $kvargs = array(); + foreach ($post_args as $k => $v) { + if (strpos($k, 'openid.') !== 0) { + // raise ValueError( + // 'This message can only be encoded as a POST, because it ' + // 'contains arguments that are not prefixed with "openid."') + return null; + } else { + $kvargs[substr($k, 7)] = $v; + } + } + + return $kvargs; + } + + function toFormMarkup($action_url, $form_tag_attrs = null, + $submit_text = "Continue") + { + $form = "
    $attr) { + $form .= sprintf(" %s=\"%s\"", $name, $attr); + } + } + + $form .= ">\n"; + + foreach ($this->toPostArgs() as $name => $value) { + $form .= sprintf( + "\n", + $name, urldecode($value)); + } + + $form .= sprintf("\n", + $submit_text); + + $form .= "
    \n"; + + return $form; + } + + function toURL($base_url) + { + // Generate a GET URL with the parameters in this message + // attached as query parameters. + return Auth_OpenID::appendArgs($base_url, $this->toPostArgs()); + } + + function toKVForm() + { + // Generate a KVForm string that contains the parameters in + // this message. This will fail if the message contains + // arguments outside of the 'openid.' prefix. + return Auth_OpenID_KVForm::fromArray($this->toArgs()); + } + + function toURLEncoded() + { + // Generate an x-www-urlencoded string + $args = array(); + + foreach ($this->toPostArgs() as $k => $v) { + $args[] = array($k, $v); + } + + sort($args); + return Auth_OpenID::httpBuildQuery($args); + } + + /** + * @access private + */ + function _fixNS($namespace) + { + // Convert an input value into the internally used values of + // this object + + if ($namespace == Auth_OpenID_OPENID_NS) { + if ($this->_openid_ns_uri === null) { + return new Auth_OpenID_FailureResponse(null, + 'OpenID namespace not set'); + } else { + $namespace = $this->_openid_ns_uri; + } + } + + if (($namespace != Auth_OpenID_BARE_NS) && + (!is_string($namespace))) { + //TypeError + $err_msg = sprintf("Namespace must be Auth_OpenID_BARE_NS, ". + "Auth_OpenID_OPENID_NS or a string. got %s", + print_r($namespace, true)); + return new Auth_OpenID_FailureResponse(null, $err_msg); + } + + if (($namespace != Auth_OpenID_BARE_NS) && + (strpos($namespace, ':') === false)) { + // fmt = 'OpenID 2.0 namespace identifiers SHOULD be URIs. Got %r' + // warnings.warn(fmt % (namespace,), DeprecationWarning) + + if ($namespace == 'sreg') { + // fmt = 'Using %r instead of "sreg" as namespace' + // warnings.warn(fmt % (SREG_URI,), DeprecationWarning,) + return Auth_OpenID_SREG_URI; + } + } + + return $namespace; + } + + function hasKey($namespace, $ns_key) + { + $namespace = $this->_fixNS($namespace); + if (Auth_OpenID::isFailure($namespace)) { + // XXX log me + return false; + } else { + return $this->args->contains(array($namespace, $ns_key)); + } + } + + function getKey($namespace, $ns_key) + { + // Get the key for a particular namespaced argument + $namespace = $this->_fixNS($namespace); + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } + if ($namespace == Auth_OpenID_BARE_NS) { + return $ns_key; + } + + $ns_alias = $this->namespaces->getAlias($namespace); + + // No alias is defined, so no key can exist + if ($ns_alias === null) { + return null; + } + + if ($ns_alias == Auth_OpenID_NULL_NAMESPACE) { + $tail = $ns_key; + } else { + $tail = sprintf('%s.%s', $ns_alias, $ns_key); + } + + return 'openid.' . $tail; + } + + function getArg($namespace, $key, $default = null) + { + // Get a value for a namespaced key. + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + if ((!$this->args->contains(array($namespace, $key))) && + ($default == Auth_OpenID_NO_DEFAULT)) { + $err_msg = sprintf("Namespace %s missing required field %s", + $namespace, $key); + return new Auth_OpenID_FailureResponse(null, $err_msg); + } else { + return $this->args->get(array($namespace, $key), $default); + } + } + } + + function getArgs($namespace) + { + // Get the arguments that are defined for this namespace URI + + $namespace = $this->_fixNS($namespace); + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + $stuff = array(); + foreach ($this->args->items() as $pair) { + list($key, $value) = $pair; + list($pair_ns, $ns_key) = $key; + if ($pair_ns == $namespace) { + $stuff[$ns_key] = $value; + } + } + + return $stuff; + } + } + + function updateArgs($namespace, $updates) + { + // Set multiple key/value pairs in one call + + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + foreach ($updates as $k => $v) { + $this->setArg($namespace, $k, $v); + } + return true; + } + } + + function setArg($namespace, $key, $value) + { + // Set a single argument in this namespace + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + $this->args->set(array($namespace, $key), $value); + if ($namespace !== Auth_OpenID_BARE_NS) { + $this->namespaces->add($namespace); + } + return true; + } + } + + function delArg($namespace, $key) + { + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + return $this->args->del(array($namespace, $key)); + } + } + + function getAliasedArg($aliased_key, $default = null) + { + if ($aliased_key == 'ns') { + // Return the namespace URI for the OpenID namespace + return $this->getOpenIDNamespace(); + } + + $parts = explode('.', $aliased_key, 2); + + if (count($parts) != 2) { + $ns = null; + } else { + list($alias, $key) = $parts; + + if ($alias == 'ns') { + // Return the namespace URI for a namespace alias + // parameter. + return $this->namespaces->getNamespaceURI($key); + } else { + $ns = $this->namespaces->getNamespaceURI($alias); + } + } + + if ($ns === null) { + $key = $aliased_key; + $ns = $this->getOpenIDNamespace(); + } + + return $this->getArg($ns, $key, $default); + } +} + + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/MySQLStore.php b/wp-content/plugins/openid/lib/Auth/OpenID/MySQLStore.php new file mode 100644 index 0000000..a5299b3 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/MySQLStore.php @@ -0,0 +1,77 @@ +sql['nonce_table'] = + "CREATE TABLE %s (\n". + " server_url VARCHAR(2047) NOT NULL,\n". + " timestamp INTEGER NOT NULL,\n". + " salt CHAR(40) NOT NULL,\n". + " UNIQUE (server_url(255), timestamp, salt)\n". + ") ENGINE=InnoDB"; + + $this->sql['assoc_table'] = + "CREATE TABLE %s (\n". + " server_url VARCHAR(2047) NOT NULL,\n". + " handle VARCHAR(255) NOT NULL,\n". + " secret BLOB NOT NULL,\n". + " issued INTEGER NOT NULL,\n". + " lifetime INTEGER NOT NULL,\n". + " assoc_type VARCHAR(64) NOT NULL,\n". + " PRIMARY KEY (server_url(255), handle)\n". + ") ENGINE=InnoDB"; + + $this->sql['set_assoc'] = + "REPLACE INTO %s (server_url, handle, secret, issued,\n". + " lifetime, assoc_type) VALUES (?, ?, !, ?, ?, ?)"; + + $this->sql['get_assocs'] = + "SELECT handle, secret, issued, lifetime, assoc_type FROM %s ". + "WHERE server_url = ?"; + + $this->sql['get_assoc'] = + "SELECT handle, secret, issued, lifetime, assoc_type FROM %s ". + "WHERE server_url = ? AND handle = ?"; + + $this->sql['remove_assoc'] = + "DELETE FROM %s WHERE server_url = ? AND handle = ?"; + + $this->sql['add_nonce'] = + "INSERT INTO %s (server_url, timestamp, salt) VALUES (?, ?, ?)"; + + $this->sql['clean_nonce'] = + "DELETE FROM %s WHERE timestamp < ?"; + + $this->sql['clean_assoc'] = + "DELETE FROM %s WHERE issued + lifetime < ?"; + } + + /** + * @access private + */ + function blobEncode($blob) + { + return "0x" . bin2hex($blob); + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Nonce.php b/wp-content/plugins/openid/lib/Auth/OpenID/Nonce.php new file mode 100644 index 0000000..b83c591 --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Nonce.php @@ -0,0 +1,108 @@ +preferred_auth_policies = $preferred_auth_policies; + $this->max_auth_age = $max_auth_age; + } + + /** + * Add an acceptable authentication policy URI to this request + * + * This method is intended to be used by the relying party to add + * acceptable authentication types to the request. + * + * policy_uri: The identifier for the preferred type of + * authentication. + */ + function addPolicyURI($policy_uri) + { + if (!in_array($policy_uri, $this->preferred_auth_policies)) { + $this->preferred_auth_policies[] = $policy_uri; + } + } + + function getExtensionArgs() + { + $ns_args = array( + 'preferred_auth_policies' => + implode(' ', $this->preferred_auth_policies) + ); + + if ($this->max_auth_age !== null) { + $ns_args['max_auth_age'] = strval($this->max_auth_age); + } + + return $ns_args; + } + + /** + * Instantiate a Request object from the arguments in a checkid_* + * OpenID message + */ + static function fromOpenIDRequest($request) + { + $obj = new Auth_OpenID_PAPE_Request(); + $args = $request->message->getArgs(Auth_OpenID_PAPE_NS_URI); + + if ($args === null || $args === array()) { + return null; + } + + $obj->parseExtensionArgs($args); + return $obj; + } + + /** + * Set the state of this request to be that expressed in these + * PAPE arguments + * + * @param args: The PAPE arguments without a namespace + */ + function parseExtensionArgs($args) + { + // preferred_auth_policies is a space-separated list of policy + // URIs + $this->preferred_auth_policies = array(); + + $policies_str = Auth_OpenID::arrayGet($args, 'preferred_auth_policies'); + if ($policies_str) { + foreach (explode(' ', $policies_str) as $uri) { + if (!in_array($uri, $this->preferred_auth_policies)) { + $this->preferred_auth_policies[] = $uri; + } + } + } + + // max_auth_age is base-10 integer number of seconds + $max_auth_age_str = Auth_OpenID::arrayGet($args, 'max_auth_age'); + if ($max_auth_age_str) { + $this->max_auth_age = Auth_OpenID::intval($max_auth_age_str); + } else { + $this->max_auth_age = null; + } + } + + /** + * Given a list of authentication policy URIs that a provider + * supports, this method returns the subsequence of those types + * that are preferred by the relying party. + * + * @param supported_types: A sequence of authentication policy + * type URIs that are supported by a provider + * + * @return array The sub-sequence of the supported types that are + * preferred by the relying party. This list will be ordered in + * the order that the types appear in the supported_types + * sequence, and may be empty if the provider does not prefer any + * of the supported authentication types. + */ + function preferredTypes($supported_types) + { + $result = array(); + + foreach ($supported_types as $st) { + if (in_array($st, $this->preferred_auth_policies)) { + $result[] = $st; + } + } + return $result; + } +} + +/** + * A Provider Authentication Policy response, sent from a provider to + * a relying party + */ +class Auth_OpenID_PAPE_Response extends Auth_OpenID_Extension { + + var $ns_alias = 'pape'; + var $ns_uri = Auth_OpenID_PAPE_NS_URI; + + function Auth_OpenID_PAPE_Response($auth_policies=null, $auth_time=null, + $nist_auth_level=null) + { + if ($auth_policies) { + $this->auth_policies = $auth_policies; + } else { + $this->auth_policies = array(); + } + + $this->auth_time = $auth_time; + $this->nist_auth_level = $nist_auth_level; + } + + /** + * Add a authentication policy to this response + * + * This method is intended to be used by the provider to add a + * policy that the provider conformed to when authenticating the + * user. + * + * @param policy_uri: The identifier for the preferred type of + * authentication. + */ + function addPolicyURI($policy_uri) + { + if (!in_array($policy_uri, $this->auth_policies)) { + $this->auth_policies[] = $policy_uri; + } + } + + /** + * Create an Auth_OpenID_PAPE_Response object from a successful + * OpenID library response. + * + * @param success_response $success_response A SuccessResponse + * from Auth_OpenID_Consumer::complete() + * + * @returns: A provider authentication policy response from the + * data that was supplied with the id_res response. + */ + static function fromSuccessResponse($success_response) + { + $obj = new Auth_OpenID_PAPE_Response(); + + // PAPE requires that the args be signed. + $args = $success_response->getSignedNS(Auth_OpenID_PAPE_NS_URI); + + if ($args === null || $args === array()) { + return null; + } + + $result = $obj->parseExtensionArgs($args); + + if ($result === false) { + return null; + } else { + return $obj; + } + } + + /** + * Parse the provider authentication policy arguments into the + * internal state of this object + * + * @param args: unqualified provider authentication policy + * arguments + * + * @param strict: Whether to return false when bad data is + * encountered + * + * @return null The data is parsed into the internal fields of + * this object. + */ + function parseExtensionArgs($args, $strict=false) + { + $policies_str = Auth_OpenID::arrayGet($args, 'auth_policies'); + if ($policies_str && $policies_str != "none") { + $this->auth_policies = explode(" ", $policies_str); + } + + $nist_level_str = Auth_OpenID::arrayGet($args, 'nist_auth_level'); + if ($nist_level_str !== null) { + $nist_level = Auth_OpenID::intval($nist_level_str); + + if ($nist_level === false) { + if ($strict) { + return false; + } else { + $nist_level = null; + } + } + + if (0 <= $nist_level && $nist_level < 5) { + $this->nist_auth_level = $nist_level; + } else if ($strict) { + return false; + } + } + + $auth_time = Auth_OpenID::arrayGet($args, 'auth_time'); + if ($auth_time !== null) { + if (preg_match(PAPE_TIME_VALIDATOR, $auth_time)) { + $this->auth_time = $auth_time; + } else if ($strict) { + return false; + } + } + } + + function getExtensionArgs() + { + $ns_args = array(); + if (count($this->auth_policies) > 0) { + $ns_args['auth_policies'] = implode(' ', $this->auth_policies); + } else { + $ns_args['auth_policies'] = 'none'; + } + + if ($this->nist_auth_level !== null) { + if (!in_array($this->nist_auth_level, range(0, 4), true)) { + return false; + } + $ns_args['nist_auth_level'] = strval($this->nist_auth_level); + } + + if ($this->auth_time !== null) { + if (!preg_match(PAPE_TIME_VALIDATOR, $this->auth_time)) { + return false; + } + + $ns_args['auth_time'] = $this->auth_time; + } + + return $ns_args; + } +} + diff --git a/wp-content/plugins/openid/lib/Auth/OpenID/Parse.php b/wp-content/plugins/openid/lib/Auth/OpenID/Parse.php new file mode 100644 index 0000000..0461bdc --- /dev/null +++ b/wp-content/plugins/openid/lib/Auth/OpenID/Parse.php @@ -0,0 +1,381 @@ + tags + * in the head of HTML or XHTML documents and parses out their + * attributes according to the OpenID spec. It is a liberal parser, + * but it requires these things from the data in order to work: + * + * - There must be an open tag + * + * - There must be an open tag inside of the tag + * + * - Only s that are found inside of the tag are parsed + * (this is by design) + * + * - The parser follows the OpenID specification in resolving the + * attributes of the link tags. This means that the attributes DO + * NOT get resolved as they would by an XML or HTML parser. In + * particular, only certain entities get replaced, and href + * attributes do not get resolved relative to a base URL. + * + * From http://openid.net/specs.bml: + * + * - The openid.server URL MUST be an absolute URL. OpenID consumers + * MUST NOT attempt to resolve relative URLs. + * + * - The openid.server URL MUST NOT include entities other than &, + * <, >, and ". + * + * The parser ignores SGML comments and . Both kinds + * of quoting are allowed for attributes. + * + * The parser deals with invalid markup in these ways: + * + * - Tag names are not case-sensitive + * + * - The tag is accepted even when it is not at the top level + * + * - The tag is accepted even when it is not a direct child of + * the tag, but a tag must be an ancestor of the + * tag + * + * - tags are accepted even when they are not direct children + * of the tag, but a tag must be an ancestor of the + * tag + * + * - If there is no closing tag for an open or tag, the + * remainder of the document is viewed as being inside of the + * tag. If there is no closing tag for a tag, the link tag is + * treated as a short tag. Exceptions to this rule are that + * closes and or closes + * + * - Attributes of the tag are not required to be quoted. + * + * - In the case of duplicated attribute names, the attribute coming + * last in the tag will be the value returned. + * + * - Any text that does not parse as an attribute within a link tag + * will be ignored. (e.g. will + * ignore pumpkin) + * + * - If there are more than one or tag, the parser only + * looks inside of the first one. + * + * - The contents of '; + } else { + $label = __('Or register using an OpenID:', 'openid'); + + echo '
    '; + + echo ' + '; + } + + echo ' +

    + +

    + +

    + '.__('Learn about OpenID', 'openid').' +

    + +
    '; + +} + + +/** + * Clean out registration errors that don't apply. + */ +function openid_clean_registration_errors($errors) { + if (get_option('openid_required_for_registration') || !empty($_POST['openid_identifier'])) { + $new = new WP_Error(); + foreach ($errors->get_error_codes() as $code) { + if (in_array($code, array('empty_username', 'empty_email'))) continue; + + $message = $errors->get_error_message($code); + $data = $errors->get_error_data($code); + $new->add($code, $message, $data); + } + + $errors = $new; + } + + if (get_option('openid_required_for_registration') && empty($_POST['openid_identifier'])) { + $errors->add('openid_only', __('ERROR: ', 'openid') . __('New users must register using OpenID.', 'openid')); + } + + return $errors; +} + +/** + * Handle WordPress registration errors. + */ +function openid_registration_errors($errors) { + if (!empty($_POST['openid_identifier'])) { + $errors->add('invalid_openid', __('ERROR: ', 'openid') . openid_message()); + } + + return $errors; +} + + +/** + * Handle WordPress registrations. + */ +function openid_register_post($username, $password, $errors) { + if ( !empty($_POST['openid_identifier']) ) { + wp_signon(); + } +} +?> diff --git a/wp-content/plugins/openid/openid.php b/wp-content/plugins/openid/openid.php new file mode 100644 index 0000000..fe7feb4 --- /dev/null +++ b/wp-content/plugins/openid/openid.php @@ -0,0 +1,186 @@ + + * + * @param int $id comment ID to check for. If not provided, the current comment will be used. + * @return bool true if the comment was submitted using an OpenID + * @access public + * @since 1.0 + */ +function is_comment_openid($id = null) { + if ( is_numeric($id) ) { + $comment = get_comment($id); + } else { + global $comment; + } + + $openid_comments = get_post_meta($comment->comment_post_ID, 'openid_comments', true); + + if ( is_array($openid_comments) ) { + if ( in_array($comment->comment_ID, $openid_comments) ) { + return true; + } + } + + return false; +} + + +/** + * Get the OpenID identities for the specified user. + * + * @param mixed $id_or_name the username or ID. If not provided, the current user will be used. + * @return array array of user's OpenID identities + * @access public + * @since 3.0 + */ +function get_user_openids($id_or_name = null) { + $user = get_userdata_by_various($id_or_name); + + if ( $user ) { + global $wpdb; + return $wpdb->get_col( $wpdb->prepare('SELECT url FROM '.openid_identity_table().' WHERE user_id = %s', $user->ID) ); + } else { + return array(); + } +} + + +/** + * Get the user associated with the specified OpenID. + * + * @param string $openid identifier to match + * @return int|null ID of associated user, or null if no associated user + * @access public + * @since 3.0 + */ +function get_user_by_openid($url) { + global $wpdb; + return $wpdb->get_var( $wpdb->prepare('SELECT user_id FROM '.openid_identity_table().' WHERE url = %s', $url) ); +} + + +/** + * Get a simple OpenID input field. + * + * @access public + * @since 2.0 + */ +function openid_input() { + return ''; +} + + +/** + * Convenience method to get user data by ID, username, or from current user. + * + * @param mixed $id_or_name the username or ID. If not provided, the current user will be used. + * @return bool|object False on failure, User DB row object + * @access public + * @since 3.0 + */ +if (!function_exists('get_userdata_by_various')) : +function get_userdata_by_various($id_or_name = null) { + if ( $id_or_name === null ) { + $user = wp_get_current_user(); + if ($user == null) return false; + return $user->data; + } else if ( is_numeric($id_or_name) ) { + return get_user_by('id', $id_or_name); + } else { + return get_user_by('login', $id_or_name); + } +} +endif; + +// -- end of public functions + + +/** + * Get the file for the plugin, including the path. This method will handle the case where the + * actual plugin files do not reside within the WordPress directory on the filesystem (such as + * a symlink). The standard value should be 'openid/openid.php' unless files or folders have + * been renamed. + * + * @return string plugin file + */ +function openid_plugin_file() { + static $file; + + if ( empty($file) ) { + $path = 'openid'; + + $base = plugin_basename(__FILE__); + if ( $base != __FILE__ ) { + $path = basename(dirname($base)); + } + + $file = $path . '/' . basename(__FILE__); + } + + return $file; +} + diff --git a/wp-content/plugins/openid/readme.txt b/wp-content/plugins/openid/readme.txt new file mode 100644 index 0000000..abada5c --- /dev/null +++ b/wp-content/plugins/openid/readme.txt @@ -0,0 +1,287 @@ +=== OpenID === +Contributors: willnorris, factoryjoe +Tags: openid, authentication, login, comments +Requires at least: 2.8 +Tested up to: 2.8.5 +Stable tag: 3.3.4 + +Allows WordPress to provide and consumer OpenIDs for authentication of users and comments. + +== Description == + +OpenID is an [open standard][] that allows users to authenticate to websites +without having to create a new password. This plugin allows users to login to +their local WordPress account using an OpenID, as well as enabling commenters +to leave authenticated comments with OpenID. The plugin also includes an OpenID +provider, enabling users to login to OpenID-enabled sites using their +own personal WordPress account. [XRDS-Simple][] is required for the OpenID +Provider and some features of the OpenID Consumer. + +Developer documention, which includes all of the public methods and hooks for +integrating with and extending the plugin, can be found [here][dev-doc]. + +[open standard]: http://openid.net/ +[XRDS-Simple]: http://wordpress.org/extend/plugins/xrds-simple/ +[dev-doc]: http://wiki.diso-project.org/wordpress-openid-api + +== Installation == + +This plugin follows the [standard WordPress installation method][]: + +1. Upload the `openid` folder to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress +1. Configure the plugin through the 'OpenID' section of the 'Options' menu + +[standard WordPress installation method]: http://codex.wordpress.org/Managing_Plugins#Installing_Plugins + + +== Frequently Asked Questions == + += Why do I get blank screens when I activate the plugin? = + +In some cases the plugin may have problems if not enough memory has been +allocated to PHP. Try ensuring that the PHP memory\_limit is at least 8MB +(limits of 64MB are not uncommon). + += Why don't `https` OpenIDs work? = + +SSL certificate problems creep up when working with some OpenID providers +(namely MyOpenID). This is typically due to an outdated CA cert bundle being +used by libcurl. An explanation of the problem and a couple of solutions +can be found [here][libcurl]. + +[libcurl]: http://lists.openidenabled.com/pipermail/dev/2007-August/000784.html + += Why do I get the error "Invalid openid.mode ''"? = + +There are actually a couple of reasons that can cause this, but it seems one of +the more common causes is a conflict with certain mod_security rules. See +[this blog post][ioni2] for instructions on how to resolve this issue. + +[ioni2]: http://ioni2.com/2009/wordpress-openid-login-failed-invalid-openid-mode-no-mode-set-solved-for-both-wordpress-and-drupal/ + + += How do I use SSL for OpenID transactions? = + +First, be aware that this only works in WordPress 2.6 and up. Make sure you've +turned on SSL in WordPress by [defining either of the following][wp-ssl] +globals as "true" in your `wp-config.php` file: + + - FORCE\_SSL\_LOGIN + - FORCE\_SSL\_ADMIN + +Then, also define the following global as "true" in your `wp-config.php` file: + + - OPENID\_SSL + +Be aware that you will almost certainly have trouble with this if you are not +using a certificate purchased from a well-known certificate authority. + +[wp-ssl]: http://codex.wordpress.org/Administration_Over_SSL + += How do I get help if I have a problem? = + +Please direct support questions to the "Plugins and Hacks" section of the +[WordPress.org Support Forum][]. Just make sure and include the tag 'openid' +so that I'll see your post. Additionally, you can file a bug +report at . + +[WordPress.org Support Forum]: http://wordpress.org/support/ + + +== Screenshots == + +1. Commentors can use their OpenID when leaving a comment +2. Users can login with their OpenID in place of a traditional username and password +3. Users authorized to use the OpenID Provider can delegate to a different provider +4. Users can add additional OpenIDs which they can use to login to WordPress +5. Users authorized to use the OpenID Provider can monitor which sites they've logged in to + + +== Changelog == + +Project maintined on github at +[diso/wordpress-openid](https://github.com/diso/wordpress-openid). + += version 3.3.4 (Nov 16, 2012) = + - update to latest OpenID library (includes lots of bug fixes, particularly with PHP 5.3). Full changelog [on github](https://github.com/openid/php-openid). + - various bug fixes. Full changelog [on github](https://github.com/diso/wordpress-openid). + += version 3.3.3 (Aug 24, 2010) = + - add/update danish, japanese, and spanish translations + - update to latest version of php-openid library + - fix a few PHP and WordPress warnings and notices + += version 3.3.2 (Nov 06, 2009) = + - add localizations for czech, danish, french, spanish, and vietnamese. Some are more up to date than others. More are welcome, see http://code.google.com/p/diso/issues/detail?id=26 + - remove stylesheet for recent comments widget, since it breaks the style for OpenID comments + - various fixes with administration panels + += version 3.3.1 (Sep 28, 2009) = + - tiny bug in get_user_openids causing it to always return empty array + += version 3.3 (Sep 28, 2009) = + - minimum required version has been bumped to WordPress 2.8 + - fix support for WordPress MU + - new, less obtrusive UI for comment form. Should also work with all themes in some form (with or without js). + - many administrative options have been moved to their respective locations on core WordPress Settings pages + - drop support for experimental EAUT and IDIB protocols + - drop support for installing the plugin in mu-plugins folder + - always include 'index.php' on OpenID endpoint URLs. Without that, some deployments were having problems. + - fix bug relating to trackbacks and pingbacks + - fix bug (#121) relating to unregistered options (props: tom.tdw for the patch) + - lots of minor bug fixes + += version 3.2.3 (Jul 20, 2009) = + - fix XSS vulnerability. (props: Stuart Metcalfe) + += version 3.2.2 (Mar 19, 2009) = + - fix problems when using non-index.php permalinks with non-apache web servers + - ensure that show\_on\_front option is not empty + - function name typo (props: gunemalli) + - fix deprecated pass-by-reference call in php-openid library (props: jschuur) + - fix UI bug on registration form with IE browsers (props: oledole) + - UI tweaks to better match WP 2.7 + - update a few strings for localization and POT file + += version 3.2.1 (Feb 13, 2009) = + - patch php-openid library to fix XRDS handling (thanks Mike Jones for helping find this) + - add default values for some openid vars -- necessary for OP-initiated login + - fix bug with OpenID server where OpenID request was sometimes lost + - add filter for openid\_trust\_root + += version 3.2 (Jan 20, 2009) = + - add uninstall hook for WordPress 2.7 -- this will remove all traces of the plugin from the database + - UI fixes for WordPress 2.7 + - add settings link to plugins page + - silence XML parsing errors with PHP4 + - ensure wp\_scripts is set + - ensure openid comment processing occurs after akismet + - add ellipses to truncated OpenIDs (fixes #94) + - fix bug where Yahoo! OpenIDs weren't matching profile URL (fixes #98) + - don't return empty SREG values + - Add support for consuming Attribute Exchange + - use a single return\_to URL for all OpenID actions + - cleaner OpenID service URLs when permalinks configured to do so (all path, no query string) + - fixed issue where OpenID Server would sometimes break depending on a users permalink structure (fixed #101) + - fixed issue where OpenID consumer would sometimes break if mod\_encoding was enabled in Apache (used for WebDAV) (fixed #96) + - don't redirect when performing discovery on OpenID trust root + += version 3.1.4 (Nov 04, 2008) = + - allow OP extensions to include XRDS Types in login service + - run OpenID comment processor after Akismet, and skip if Akismet marks comment as spam + += version 3.1.3 (Oct 27, 2008) = + - fix error message if /dev/urandom is not readable + += version 3.1.2 (Oct 26, 2008) = + - ensure source of randomness is set properly + - prevent duplicate cleanup\_openid cron jobs + - prevent SQL errors on activation + - suppress verbose error logging with XML parsing + += version 3.1.1 (Oct 20, 2008) = + - fix bug with OpenID Provider XRDS code that prevents ability to login to some sites (like plaxo.com) + += version 3.1 (Oct 19, 2008) = + - added hidden constant to set custom comments post page (OPENID\_COMMENTS\_POST\_PAGE) + - additional option to skip name and email check for OpenID comments + - use preferred username (from SREG) if possible when creating new account + - truncate long URLs when used as display\_name for comments + - numerous bug fixes, including bug with registration form + += version 3.0 (Oct 02, 2008) = + - includes OpenID Provider + - supports OpenID delegation + - add experimental support for Email Address to URL Transformation + - many new hooks for extension and integration + - major code refactoring + += version 2.2.2 (Aug 06, 2008) = + - fix bug with "unauthorized return\_to URL" (only known problem with [openid.pl][]) + - fix bug with comments containing non-latin characters + - respect CUSTOM\_USER\_META\_TABLE constant if present (also added CUSTOM\_OPENID\_IDENTITY\_TABLE constant) + - add experimental support for Identity in the Browser + += version 2.2.1 (Jul 25, 2008) = + - fixed EAUT handling code + - fixed bug that broke comments containing double quotes (") + += version 2.2.0 (Jul 23, 2008) = + - use POST replay for comments (fixes compatibility with other comment plugins) + - only build openid object when needed (much better memory usage) + - support for Email Address to URL Transformation (see eaut.org) + - fixed bug when using suhosin (hardened php) + - use hooks for gathering user data (more extensible) + - fixed openid spoofing vulnerability (http://plugins.trac.wordpress.org/ticket/702) + - lots code refactoring and UI cleanup + += version 2.1.9 (May 20, 2008) = + - fix javascript loading issues + - fix various bugs when creating new account with OpenID + - fix error message, and add new warning prompt when removing last OpenID for account + += version 2.1.8 (Apr 02, 2008) = + - fix UI issue with wp-login.php page in WP2.5 + - fix bug printing supported curl protocols (http://wordpress.org/support/topic/159062) + - fix jquery bug while adding category in WP2.5 (http://wordpress.org/support/topic/164305) + += version 2.1.7 (Mar 21, 2008) = + - remove php5 dependency bug... AGAIN! + - also remove some other custom changes to php-openid I forgot were in there. This may actually re-introduce some edge-case + bugs, but I'd rather expose them so that we can get the appropriate patches pushed upstream if they really are necessary. + += version 2.1.6 (Mar 20, 2008) = + - update php-openid library to latest. Now properly supports Yahoo's OpenID provider. + += version 2.1.5 (Mar 20, 2008) = + - add support for wordpress v2.5 + += version 2.1.4 (Feb 13, 2008) = + - fix php5 dependency bug + - improve jQuery code to reduce problems with other js libraries + += version 2.1.3 (Feb 06, 2008) = + - address security bug mentioned [here](http://www.gnucitizen.org/blog/hijacking-openid-enabled-accounts). Props: Sam Alexander + += version 2.1.2 = + - minor typo in profile data code + += version 2.1.1 = + - minor bug where profile data is being overwritten + += version 2.1 = + - added FAQ items for plugin updater and adding an OpenID field to a comment form + - better tracking of which users have OpenIDs linked to their local WP account + - better automatic username generation + - fixed bug where non-OpenID websites had problems (bug [729]) + - upgrade to version 2.0 of JanRain OpenID library + - admin option to rebuild tables + += version 2.0 = + - simplified admin interface by using reasonable defaults. Default behaviors include: + - "unobtrusive mode" + - always add openid to wp-login.php + - always use WP option 'home' for the trust root + - new features + - hook for trust engine, with very simple implementation included + - supports OpenID 2.0 (draft 12) as well as OpenID 1.1 and SReg 1.0 + - normal collection of bug fixes + += version 1.0.1 = + - added wordpress.org style readme.txt + += version 1.0 (also known as r13) = + +Full SVN logs are available at . + +[729]: http://dev.wp-plugins.org/ticket/729 +[openid.pl]: http://openid.pl/ + +The original OpenID plugin for WordPress was a collaborative effort between Alan Castonguay and Hans Granqvist. + +Will Norris forked the plugin and has since become the maintainer. + +[Alan Castonguay]: http://verselogic.net/ +[Hans Granqvist]: http://commented.org/ +[Will Norris]: http://willnorris.com/ diff --git a/wp-content/plugins/openid/screenshot-1.png b/wp-content/plugins/openid/screenshot-1.png new file mode 100644 index 0000000..f8e6c87 Binary files /dev/null and b/wp-content/plugins/openid/screenshot-1.png differ diff --git a/wp-content/plugins/openid/screenshot-2.png b/wp-content/plugins/openid/screenshot-2.png new file mode 100644 index 0000000..3996d10 Binary files /dev/null and b/wp-content/plugins/openid/screenshot-2.png differ diff --git a/wp-content/plugins/openid/screenshot-3.png b/wp-content/plugins/openid/screenshot-3.png new file mode 100644 index 0000000..2c54cb2 Binary files /dev/null and b/wp-content/plugins/openid/screenshot-3.png differ diff --git a/wp-content/plugins/openid/screenshot-4.png b/wp-content/plugins/openid/screenshot-4.png new file mode 100644 index 0000000..fa79a07 Binary files /dev/null and b/wp-content/plugins/openid/screenshot-4.png differ diff --git a/wp-content/plugins/openid/screenshot-5.png b/wp-content/plugins/openid/screenshot-5.png new file mode 100644 index 0000000..8ef02f3 Binary files /dev/null and b/wp-content/plugins/openid/screenshot-5.png differ diff --git a/wp-content/plugins/openid/server.php b/wp-content/plugins/openid/server.php new file mode 100644 index 0000000..f2ccf5f --- /dev/null +++ b/wp-content/plugins/openid/server.php @@ -0,0 +1,587 @@ +role_names as $key => $name) { + $role = $wp_roles->get_role($key); + if ($role->has_cap('use_openid_provider')) { + $provider_enabled = true; + break; + } + } + + if (!$provider_enabled) return $xrds; + + + $user = openid_server_requested_user(); + + if (!$user && get_option('openid_blog_owner')) { + $url_parts = parse_url(get_option('home')); + $path = array_key_exists('path', $url_parts) ? $url_parts['path'] : ''; + $path = trailingslashit($path); + + $script = preg_replace('/index.php$/', '', $_SERVER['SCRIPT_NAME']); + $script = trailingslashit($script); + + if ($path != $script && !is_admin()) { + return $xrds; + } + + if (!defined('OPENID_DISALLOW_OWNER') || !OPENID_DISALLOW_OWNER) { + $user = get_user_by('login', get_option('openid_blog_owner')); + } + } + + if ($user) { + // if user doesn't have capability, bail + $user_object = new WP_User($user->ID); + if (!$user_object->has_cap('use_openid_provider')) return $xrds; + + if (get_user_meta($user->ID, 'openid_delegate', true)) { + $services = get_user_meta($user->ID, 'openid_delegate_services', true); + } else { + $services = array(); + + $tmp_types = apply_filters('openid_server_xrds_types', array('http://specs.openid.net/auth/2.0/signon')); + $types = array(); + foreach ($tmp_types as $t) { + $types[] = array('content' => $t); + } + $services[] = array( + 'Type' => $types, + 'URI' => openid_server_url(), + 'LocalID' => get_author_posts_url($user->ID), + ); + + $tmp_types = apply_filters('openid_server_xrds_types', array('http://openid.net/signon/1.1')); + $types = array(); + foreach ($tmp_types as $t) { + $types[] = array('content' => $t); + } + $services[] = array( + 'Type' => $types, + 'URI' => openid_server_url(), + 'openid:Delegate' => get_author_posts_url($user->ID), + ); + } + } else { + $services = array( + array( + 'Type' => array(array('content' => 'http://specs.openid.net/auth/2.0/server')), + 'URI' => openid_server_url(), + 'LocalID' => 'http://specs.openid.net/auth/2.0/identifier_select', + ) + ); + } + + + if (!empty($services)) { + foreach ($services as $index => $service) { + $name = 'OpenID Provider Service (' . $index . ')'; + $xrds = xrds_add_service($xrds, 'main', $name, $service, $index); + } + } + + return $xrds; +} + + +/** + * Parse the request URL to determine which author is associated with it. + * + * @return bool|object false on failure, User DB row object + */ +function openid_server_requested_user() { + global $wp_rewrite; + + if (array_key_exists('author', $_REQUEST) && $_REQUEST['author']) { + if (is_numeric($_REQUEST['author'])) { + return get_user_by('id', $_REQUEST['author']); + } else { + return get_user_by('login', $_REQUEST['author']); + } + } else { + $regex = preg_replace('/%author%/', '(.+)', $wp_rewrite->get_author_permastruct()); + preg_match('|'.$regex.'|', $_SERVER['REQUEST_URI'], $matches); + if ($matches) { + $username = sanitize_user($matches[1], true); + return get_user_by('login', $username); + } + } +} + + +/** + * Process an OpenID Server request. + * + * @uses apply_filters() Calls 'openid_server_auth_response' before sending the authentication response. + */ +function openid_server_request() { + $server = openid_server(); + + // get OpenID request, either from session or HTTP request + $request = $server->decodeRequest(); + if (!$request || Auth_OpenID_isError($request)) { + @session_start(); + if ($_SESSION['openid_server_request']) { + $request = $_SESSION['openid_server_request']; + unset($_SESSION['openid_server_request']); + } + } + + if (!$request || Auth_OpenID_isError($request)) { + $html = '

    This is an OpenID Server.

    '; + + if (Auth_OpenID_isError($request)) { + $html .= '

    Request Error: ' . $request->toString() . '

    '; + } else { + $html .= '

    Nothing to see here… move along.

    '; + } + + wp_die($html); + } + + // process request + if (in_array($request->mode, array('checkid_immediate', 'checkid_setup'))) { + $response = openid_server_auth_request($request); + $response = apply_filters('openid_server_auth_response', $response); + } else { + $response = $server->handleRequest($request); + } + + openid_server_process_response($response); +} + + +/** + * Process an OpenID Server authentication request. + * + * @uses do_action() Calls the 'openid_server_pre_auth' hook action before checking if the user is logged in. + * @uses do_action() Calls the 'openid_server_post_auth' hook action after ensuring that the user is logged in. + */ +function openid_server_auth_request($request) { + + do_action('openid_server_pre_auth', $request); + + // user must be logged in + if (!is_user_logged_in()) { + if ($request->mode == 'checkid_immediate') { + return $request->answer(false); + } else { + @session_start(); + $_SESSION['openid_server_request'] = $request; + auth_redirect(); + } + } + + do_action('openid_server_post_auth', $request); + + // get some user data + $user = wp_get_current_user(); + $author_url = get_author_posts_url($user->ID); + $id_select = ($request->identity == 'http://specs.openid.net/auth/2.0/identifier_select'); + + // bail if user does not have access to OpenID provider + if (!$user->has_cap('use_openid_provider')) return $request->answer(false); + + // bail if user doesn't own identity and not using id select + if (!$id_select && ($author_url != $request->identity)) { + return $request->answer(false); + } + + // if using id select but user is delegating, display error to user (unless checkid_immediate) + if ($id_select && get_user_meta($user->ID, 'openid_delegate', true)) { + if ($request->mode != 'checkid_immediate') { + if ($_REQUEST['action'] == 'cancel') { + check_admin_referer('openid-server_cancel'); + return $request->answer(false); + } else { + @session_start(); + $_SESSION['openid_server_request'] = $request; + ob_start(); + + echo '

    '.__('OpenID Login Error', 'openid').'

    '; + echo '

    '; + printf(__('Because you have delegated your OpenID, you cannot login with the URL %s. Instead, you must use your full OpenID when logging in.', 'openid'), trailingslashit(get_option('home'))); + echo'

    '; + echo '

    ' . sprintf(__('Your full OpenID is: %s', 'openid'), ''.$author_url.'') . '

    '; + + echo ' +
    +

    + + + +

    ' + . wp_nonce_field('openid-server_cancel', '_wpnonce', true, false) + .'
    '; + + $html = ob_get_contents(); + ob_end_clean(); + wp_die($html, 'OpenID Login Error'); + } + } + } + + // if user trusts site, we're done + $trusted_sites = get_user_meta($user->ID, 'openid_trusted_sites', true); + $site_hash = md5($request->trust_root); + if (is_array($trusted_sites) && array_key_exists($site_hash, $trusted_sites)) { + $trusted_sites[$site_hash]['last_login'] = time(); + update_user_meta($user->ID, 'openid_trusted_sites', $trusted_sites); + + if ($id_select) { + return $request->answer(true, null, $author_url); + } else { + return $request->answer(true); + } + } + + // that's all we can do without interacting with the user... bail if using immediate + if ($request->mode == 'checkid_immediate') { + return $request->answer(false); + } + + // finally, prompt the user to trust this site + if (openid_server_user_trust($request)) { + if ($id_select) { + return $request->answer(true, null, $author_url); + } else { + return $request->answer(true); + } + } else { + return $request->answer(false); + } +} + + + +/** + * Check that the current user's author URL matches the claimed URL. + * + * @param string $claimed claimed url + * @return bool whether the current user matches the claimed URL + */ +function openid_server_check_user_login($claimed) { + $user = wp_get_current_user(); + if (!$user) return false; + + $identifier = get_author_posts_url($user->ID); + return ($claimed == $identifier); +} + + +/** + * Process OpenID server response + * + * @param object $response response object + */ +function openid_server_process_response($response) { + $server = openid_server(); + + $web_response = $server->encodeResponse($response); + + if ($web_response->code != AUTH_OPENID_HTTP_OK) { + header(sprintf('HTTP/1.1 %d', $web_response->code), true, $web_response->code); + } + foreach ($web_response->headers as $k => $v) { + header("$k: $v"); + } + + print $web_response->body; + exit; +} + + +/** + * Get Auth_OpenID_Server singleton. + * + * @return object Auth_OpenID_Server singleton instance + */ +function openid_server() { + static $server; + + if (!$server || !is_a($server, 'Auth_OpenID_Server')) { + $server = new Auth_OpenID_Server(openid_getStore(), openid_server_url()); + } + + return $server; +} + + +/** + * Add OpenID HTML link tags when appropriate. + */ +function openid_provider_link_tags() { + + if (is_front_page()) { + if (!defined('OPENID_DISALLOW_OWNER') || !OPENID_DISALLOW_OWNER) { + $user = get_user_by('login', get_option('openid_blog_owner')); + } + } else if (is_author()) { + global $wp_query; + $user = $wp_query->get_queried_object(); + } + + if ( isset($user) && $user) { + // if user doesn't have capability, bail + $user_object = new WP_User($user->ID); + if (!$user_object->has_cap('use_openid_provider')) return; + + if (get_user_meta($user->ID, 'openid_delegate', true)) { + $services = get_user_meta($user->ID, 'openid_delegate_services', true); + $openid_1 = false; + $openid_2 = false; + + foreach($services as $service) { + if (!$openid_1 && $service['openid:Delegate']) { + echo ' + + '; + $openid_1 = true; + } + + if (!$openid_2 && $service['LocalID']) { + echo ' + + '; + $openid_2 = true; + } + } + } else { + $server = openid_server_url(); + $identifier = get_author_posts_url($user->ID); + + echo ' + + + + '; + } + + } + +} + + +function openid_server_add_trust_site($user_id, $site_url, $site_name = null, $release_attributes) { +} + +function openid_server_remove_trust_site() { +} + +/** + * Determine if the current user trusts the the relying party of the OpenID authentication request. + * + * @uses do_action() Calls the 'openid_server_trust_form' hook action when displaying the trust form. + * @uses do_action() Calls the 'openid_server_trust_submit' hook action when processing the submitted trust form. + * @uses apply_filters() Calls 'openid_server_store_trusted_site' before storing trusted site data. + */ +function openid_server_user_trust($request) { + $user = wp_get_current_user(); + + if ($_REQUEST['openid_trust']) { + $trust = null; + + if ($_REQUEST['openid_trust'] == 'cancel') { + $trust = false; + } else { + check_admin_referer('openid-server_trust'); + $trust = true; + } + + do_action('openid_server_trust_submit', $trust, $request); + + if ($trust) { + // store trusted site (unless hidden constant is set) + if (!defined('OPENID_NO_AUTO_TRUST') || !OPENID_NO_AUTO_TRUST) { + $site = array( 'url' => $request->trust_root, 'last_login' => time()); + $site = apply_filters('openid_server_store_trusted_site', $site); + + $trusted_sites = get_user_meta($user->ID, 'openid_trusted_sites', true); + $site_hash = md5($request->trust_root); + $trusted_sites[$site_hash] = $site; + + update_user_meta($user->ID, 'openid_trusted_sites', $trusted_sites); + } + } + + return $trust; + + } else { + // prompt the user to make a trust decision + @session_start(); + $_SESSION['openid_server_request'] = $request; + + ob_start(); + echo ' + + + + +
    +

    '.__('Verify Your Identity', 'openid').'

    +

    ' + . sprintf(__('%s has asked to verify your identity.', 'openid'), ''.$request->trust_root.'') + . '

    + +

    ' + . __('Click Continue to verify your identity and login without creating a new password.', 'openid') + . '

    '; + + do_action('openid_server_trust_form'); + + echo ' +

    + '.__('Cancel and go back', 'openid').' + +

    + +

    ' + . sprintf(__('Manage or remove access on the Trusted Sites page.', 'openid'), + admin_url((current_user_can('edit_users') ? 'users.php' : 'profile.php') . '?page=openid_trusted_sites')) + . '

    +

    ' + . sprintf(__('Edit your profile to change the information that gets shared with Trusted Sites.', 'openid'), admin_url('profile.php')) + . '

    + '; + + wp_nonce_field('openid-server_trust', '_wpnonce', true); + + echo ' +
    '; + + $html = ob_get_contents(); + ob_end_clean(); + + openid_page($html, __('Verify Your Identity', 'openid')); + } +} + + +/** + * Discover and cache OpenID services for a user's delegate OpenID. + * + * @param int $userid user ID + * @url string URL to discover. If not provided, user's current delegate will be used + * @return bool true if successful + */ +function openid_server_get_delegation_info($userid, $url = null) { + if (empty($url)) $url = get_user_meta($userid, 'openid_delegate', true); + if (empty($url)) return false; + + $fetcher = Auth_Yadis_Yadis::getHTTPFetcher(); + $discoveryResult = Auth_Yadis_Yadis::discover($url, $fetcher); + $endpoints = Auth_OpenID_ServiceEndpoint::fromDiscoveryResult($discoveryResult); + $services = array(); + + if (!empty($endpoints)) { + foreach ($endpoints as $endpoint) { + $service = array( + 'Type' => array(), + 'URI' => $endpoint->server_url, + ); + + foreach ($endpoint->type_uris as $type) { + $service['Type'][] = array('content' => $type); + + if ($type == Auth_OpenID_TYPE_2_0_IDP) { + $service['LocalID'] = Auth_OpenID_IDENTIFIER_SELECT; + } else if ($type == Auth_OpenID_TYPE_2_0) { + $service['LocalID'] = $endpoint->local_id; + } else if (in_array($type, array(Auth_OpenID_TYPE_1_0, Auth_OpenID_TYPE_1_1, Auth_OpenID_TYPE_1_2))) { + $service['openid:Delegate'] = $endpoint->local_id; + } + } + + $services[] = $service; + } + } + + if (empty($services)) { + // resort to checking for HTML links + $response = $fetcher->get($url); + $html_content = $response->body; + $p = new Auth_OpenID_Parse(); + $link_attrs = $p->parseLinkAttrs($html_content); + + // check HTML for OpenID2 + $server_url = $p->findFirstHref($link_attrs, 'openid2.provider'); + if ($server_url !== null) { + $openid_url = $p->findFirstHref($link_attrs, 'openid2.local_id'); + if ($openid_url == null) $openid_url = $url; + $services[] = array( + 'Type' => array(array('content' => Auth_OpenID_Type_1_1)), + 'URI' => $server_url, + 'LocalID' => $openid_url, + ); + } + + // check HTML for OpenID1 + $server_url = $p->findFirstHref($link_attrs, 'openid.server'); + if ($server_url !== null) { + $openid_url = $p->findFirstHref($link_attrs, 'openid.delegate'); + if ($openid_url == null) $openid_url = $url; + $services[] = array( + 'Type' => array(array('content' => Auth_OpenID_Type_2_0)), + 'URI' => $server_url, + 'openid:Delegate' => $openid_url, + ); + } + } + + if (empty($services)) return false; + + return array( + 'url' => $url, + 'services' => $services + ); +} + +?> diff --git a/wp-content/plugins/openid/server_ext.php b/wp-content/plugins/openid/server_ext.php new file mode 100644 index 0000000..ef86ae7 --- /dev/null +++ b/wp-content/plugins/openid/server_ext.php @@ -0,0 +1,179 @@ +allRequestedFields(); + + if (!empty($sreg_fields)) { + foreach ($sreg_fields as $field) { + $value = openid_server_sreg_from_profile($field); + if (!empty($value)) { + $attributes[] = strtolower($GLOBALS['Auth_OpenID_sreg_data_fields'][$field]); + } + } + } + + return $attributes; +} + + +/** + * Add attribute input fields to the OpenID Trust Form + */ +function openid_server_attributes_trust_form() { + $attributes = apply_filters('openid_server_trust_form_attributes', array()); + + if (!empty($attributes)) { + $attr_string = openid_server_attributes_string($attributes); + + echo ' +

    + + +

    '; + } +} + + +/** + * Convert list of attribute names to human readable string. + */ +function openid_server_attributes_string($fields, $string = '') { + if (empty($fields)) return $string; + + if (empty($string)) { + if (sizeof($fields) == 2) + return join(' and ', $fields); + $string = array_shift($fields); + } else if (sizeof($fields) == 1) { + $string .= ', and ' . array_shift($fields); + } else if (sizeof($fields) > 1) { + $string .= ', ' . array_shift($fields); + } + + return openid_server_attributes_string($fields, $string); +} + + +/** + * Based on input from the OpenID trust form, prep data to be included in the authentication response + */ +function openid_server_sreg_trust_submit($trust, $request) { + if ($trust && $_REQUEST['include_sreg'] == 'on') { + $GLOBALS['openid_server_sreg_trust'] = true; + } else { + $GLOBALS['openid_server_sreg_trust'] = false; + } +} + + +/** + * Store user's decision on whether to release attributes to the site. + */ +function openid_server_sreg_store_trusted_site($site) { + $site['release_attributes'] = $GLOBALS['openid_server_sreg_trust']; + return $site; +} + + +/** + * Attach SReg response to authentication response. + */ +function openid_server_sreg_auth_response($response) { + $user = wp_get_current_user(); + + // should we include SREG in the response? + $include_sreg = false; + + if (isset($GLOBALS['openid_server_sreg_trust'])) { + $include_sreg = $GLOBALS['openid_server_sreg_trust']; + } else { + $trusted_sites = get_user_meta($user->ID, 'openid_trusted_sites', true); + $request = $response->request; + $site_hash = md5($request->trust_root); + if (is_array($trusted_sites) && array_key_exists($site_hash, $trusted_sites)) { + $include_sreg = $trusted_sites[$site_hash]['release_attributes']; + } + } + + if ($include_sreg) { + $sreg_data = array(); + foreach ($GLOBALS['Auth_OpenID_sreg_data_fields'] as $field => $name) { + $value = openid_server_sreg_from_profile($field); + if (!empty($value)) { + $sreg_data[$field] = $value; + } + } + + $sreg_response = Auth_OpenID_SRegResponse::extractResponse($GLOBALS['openid_server_sreg_request'], $sreg_data); + if (!empty($sreg_response)) $response->addExtension($sreg_response); + } + + return $response; +} + + +/** + * Try to pre-populate SReg data from user's profile. The following fields + * are not handled by the plugin: dob, gender, postcode, country, and language. + * Other plugins may provide this data by implementing the filter + * openid_server_sreg_${fieldname}. + * + * @uses apply_filters() Calls 'openid_server_sreg_*' before returning sreg values, + * where '*' is the name of the sreg attribute. + */ +function openid_server_sreg_from_profile($field) { + $user = wp_get_current_user(); + $value = ''; + + switch($field) { + case 'nickname': + $value = get_user_meta($user->ID, 'nickname', true); + break; + + case 'email': + $value = $user->user_email; + break; + + case 'fullname': + $value = get_user_meta($user->ID, 'display_name', true); + break; + } + + $value = apply_filters('openid_server_sreg_' . $field, $value, $user->ID); + return $value; +} + + +?> diff --git a/wp-content/plugins/openid/store.php b/wp-content/plugins/openid/store.php new file mode 100644 index 0000000..0ab2736 --- /dev/null +++ b/wp-content/plugins/openid/store.php @@ -0,0 +1,340 @@ +_getAssociationKey($server_url, $association->handle); + $association_s = $association->serialize(); + // prevent the likelihood of a race condition - don't rely on cache + wp_cache_delete('openid_associations', 'options'); + $associations = get_option('openid_associations'); + if ($associations == null) { + $associations = array(); + } + $associations[$key] = $association_s; + update_option('openid_associations', $associations); + } + + function getAssociation($server_url, $handle = null) { + //wp_cache_delete('openid_associations', 'options'); + if ($handle === null) { + $handle = ''; + } + $key = $this->_getAssociationKey($server_url, $handle); + $associations = get_option('openid_associations'); + if ($handle && array_key_exists($key, $associations)) { + return Auth_OpenID_Association::deserialize( + 'Auth_OpenID_Association', $associations[$key] + ); + } else { + // Return the most recently issued association + $matching_keys = array(); + foreach (array_keys($associations) as $assoc_key) { + if (strpos($assoc_key, $key) === 0) { + $matching_keys[] = $assoc_key; + } + } + $matching_associations = array(); + // sort by time issued + foreach ($matching_keys as $assoc_key) { + if (array_key_exists($assoc_key, $associations)) { + $association = Auth_OpenID_Association::deserialize( + 'Auth_OpenID_Association', $associations[$assoc_key] + ); + } + if ($association !== null) { + $matching_associations[] = array( + $association->issued, $association + ); + } + } + $issued = array(); + $assocs = array(); + foreach ($matching_associations as $assoc_key => $assoc) { + $issued[$assoc_key] = $assoc[0]; + $assocs[$assoc_key] = $assoc[1]; + } + array_multisort($issued, SORT_DESC, $assocs, SORT_DESC, + $matching_associations); + + // return the most recently issued one. + if ($matching_associations) { + list($issued, $assoc) = $matching_associations[0]; + return $assoc; + } else { + return null; + } + } + } + + function _getAssociationKey($server_url, $handle) { + if (strpos($server_url, '://') === false) { + trigger_error(sprintf("Bad server URL: %s", $server_url), + E_USER_WARNING); + return null; + } + list($proto, $rest) = explode('://', $server_url, 2); + $parts = explode('/', $rest); + $domain = $parts[0]; + $url_hash = base64_encode($server_url); + if ($handle) { + $handle_hash = base64_encode($handle); + } else { + $handle_hash = ''; + } + return sprintf('%s-%s-%s-%s', + $proto, $domain, $url_hash, $handle_hash); + } + + function removeAssociation($server_url, $handle) { + // Remove the matching association if it's found, and + // returns whether the association was removed or not. + $key = $this->_getAssociationKey($server_url, $handle); + $assoc = $this->getAssociation($server_url, $handle); + if ($assoc === null) { + return false; + } else { + $associations = get_option('openid_associations'); + if (isset($associations[$key])) { + unset($associations[$key]); + update_option('openid_associations', $associations); + return true; + } else { + return false; + } + } + } + + function useNonce($server_url, $timestamp, $salt) { + global $Auth_OpenID_SKEW; + + if ( abs($timestamp - time()) > $Auth_OpenID_SKEW ) { + return false; + } + + $key = $this->_getNonceKey($server_url, $timestamp, $salt); + + // prevent the likelihood of a race condition - don't rely on cache + wp_cache_delete('openid_nonces', 'options'); + $nonces = get_option('openid_nonces'); + if ($nonces == null) { + $nonces = array(); + } + + if (array_key_exists($key, $nonces)) { + return false; + } else { + $nonces[$key] = $timestamp; + update_option('openid_nonces', $nonces); + return true; + } + } + + function _getNonceKey($server_url, $timestamp, $salt) { + if ($server_url) { + list($proto, $rest) = explode('://', $server_url, 2); + } else { + $proto = ''; + $rest = ''; + } + + $parts = explode('/', $rest, 2); + $domain = $parts[0]; + $url_hash = base64_encode($server_url); + $salt_hash = base64_encode($salt); + + return sprintf('%08x-%s-%s-%s-%s', $timestamp, $proto, + $domain, $url_hash, $salt_hash); + } + + function cleanupNonces() { + global $Auth_OpenID_SKEW; + + $nonces = get_option('openid_nonces'); + + foreach ($nonces as $nonce => $time) { + if ( abs($time - time()) > $Auth_OpenID_SKEW ) { + unset($nonces[$nonce]); + } + } + + update_option('openid_nonces', $nonces); + } + + function cleanupAssociations() { + $associations = get_option('openid_associations'); + + foreach ($associations as $key => $assoc_s) { + $assoc = Auth_OpenID_Association::deserialize('Auth_OpenID_Association', $assoc_s); + + if ( $assoc->getExpiresIn() == 0) { + unset($associations[$key]); + } + } + + update_option('openid_associations', $associations); + } + + function reset() { + update_option('openid_nonces', array()); + update_option('openid_associations', array()); + } +} +endif; + + +/** + * Check to see whether the nonce, association, and identity tables exist. + * + * @param bool $retry if true, tables will try to be recreated if they are not okay + * @return bool if tables are okay + */ +function openid_check_tables($retry=true) { + global $wpdb; + + $ok = true; + $message = array(); + $tables = array( + openid_identity_table(), + ); + foreach( $tables as $t ) { + if( $wpdb->get_var("SHOW TABLES LIKE '$t'") != $t ) { + $ok = false; + $message[] = "Table $t doesn't exist."; + } else { + $message[] = "Table $t exists."; + } + } + + if( $retry and !$ok) { + openid_create_tables(); + $ok = openid_check_tables( false ); + } + return $ok; +} + +/** + * Create OpenID related tables in the WordPress database. + */ +function openid_create_tables() +{ + global $wpdb; + + $store = openid_getStore(); + + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); + + // Create the SQL and call the WP schema upgrade function + $statements = array( + "CREATE TABLE ".openid_identity_table()." ( + uurl_id bigint(20) NOT NULL auto_increment, + user_id bigint(20) NOT NULL default '0', + url text, + hash char(32), + PRIMARY KEY (uurl_id), + UNIQUE KEY uurl (hash), + KEY url (url(30)), + KEY user_id (user_id) + )", + ); + + $sql = implode(';', $statements); + dbDelta($sql); + + update_option('openid_db_revision', OPENID_DB_REVISION); +} + + +/** + * Undo any database changes made by the OpenID plugin. Do not attempt to preserve any data. + */ +function openid_delete_tables() { + global $wpdb; + $wpdb->query('DROP TABLE IF EXISTS ' . openid_identity_table()); + $wpdb->query( $wpdb->prepare('DELETE FROM ' . $wpdb->postmeta . ' WHERE meta_key=%s', 'openid_comments') ); + + // old database changes... just to make sure + $wpdb->query('DROP TABLE IF EXISTS ' . openid_table_prefix(true) . 'openid_nonces'); + $wpdb->query('DROP TABLE IF EXISTS ' . openid_table_prefix(true) . 'openid_associations'); + + // clear old way of storing OpenID comments + $openid_column = $wpdb->get_row('SHOW COLUMNS FROM ' . openid_table_prefix(true) . 'comments LIKE "openid"'); + if ($openid_column) { + $wpdb->query('ALTER table ' . $comments_table . ' DROP COLUMN openid'); + $wpdb->query( $wpdb->prepare('UPDATE ' . $comments_table . ' SET comment_type=%s WHERE comment_type=%s', '', 'openid') ); + } +} + + +/** + * Migrate old data to new locations. + */ +function openid_migrate_old_data() { + global $wpdb; + + // remove old nonce and associations tables + $wpdb->query('DROP TABLE IF EXISTS ' . openid_table_prefix(true) . 'openid_nonces'); + $wpdb->query('DROP TABLE IF EXISTS ' . openid_table_prefix(true) . 'openid_associations'); + + $openid_column = $wpdb->get_row('SHOW COLUMNS FROM ' . openid_table_prefix(true) . 'comments LIKE "openid"'); + if ($openid_column) { + // update old style of marking openid comments. For performance reason, we + // migrate them en masse rather than using set_comment_openid() + $comments_table = openid_table_prefix(true) . 'comments'; + $comment_data = $wpdb->get_results( $wpdb->prepare('SELECT comment_ID, comment_post_ID from ' . $comments_table . ' WHERE openid=%s OR comment_type=%s', 1, 'openid') ); + if (!empty($comment_data)) { + $openid_comments = array(); + foreach ($comment_data as $comment) { + if (!array_key_exists($comment->comment_post_ID, $openid_comments)) { + $openid_comments[$comment->comment_post_ID] = array(); + } + $openid_comments[$comment->comment_post_ID][] = $comment->comment_ID; + } + + foreach ($openid_comments as $post_id => $comments) { + $current = get_post_meta($post_id, 'openid_comments', true); + if (!empty($current)) $comments = array_merge($comments, $current); + update_post_meta($post_id, 'openid_comments', array_unique($comments)); + } + } + + $wpdb->query('ALTER table ' . $comments_table . ' DROP COLUMN openid'); + $wpdb->query( $wpdb->prepare('UPDATE ' . $comments_table . ' SET comment_type=%s WHERE comment_type=%s', '', 'openid') ); + } + + + // remove old style of marking openid users + $usermeta_table = defined('CUSTOM_USER_META_TABLE') ? CUSTOM_USER_META_TABLE : openid_table_prefix() . 'usermeta'; + $wpdb->query( $wpdb->prepare('DELETE FROM ' . $usermeta_table . ' WHERE meta_key=%s OR meta_key=%s', 'has_openid', 'registered_with_openid') ); +} + +function openid_table_prefix($blog_specific = false) { + global $wpdb; + if (isset($wpdb->base_prefix)) { + return $wpdb->base_prefix . ($blog_specific ? $wpdb->blogid . '_' : ''); + } else { + return $wpdb->prefix; + } +} + +function openid_identity_table() { + return (defined('CUSTOM_OPENID_IDENTITY_TABLE') ? CUSTOM_OPENID_IDENTITY_TABLE : openid_table_prefix() . 'openid_identities'); +} + + +?> diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ar.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ar.mo new file mode 100644 index 0000000..fa7bd6f Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ar.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ar.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ar.po new file mode 100644 index 0000000..f8b1b8f --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ar.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Arabic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=6; plural=n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % " +"100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "ليس لديك الصلاحيات الكاÙية لدخول هذه الصÙحة." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "الأدوات الإدارية" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "التحقق من الموقع جوجل" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "أدخل رقم حسابك ÙÙŠ جوجل ( أرقام Ùقط )" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "التحقق من الموقع بنج" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "أدخل رقم حسابك ÙÙŠ بينج ( أرقام Ùقط )" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "التحقق من الموقع ياهو" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "أدخل رقم حسابك ÙÙŠ ياهو ( أرقام Ùقط )" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "تتبع إحصائيات الموقع" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "دعه Ùارغاً؛ إن كنت تعتمد ÙÙŠ الإدارة على إحدى الإضاÙات." + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics أو StatCounter أو غيرهما أو كلاهما." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "إعدادات" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-bg_BG.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-bg_BG.mo new file mode 100644 index 0000000..b689c87 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-bg_BG.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-bg_BG.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-bg_BG.po new file mode 100644 index 0000000..2c75b23 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-bg_BG.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Bulgarian, Bulgaria\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "ÐÑмате право на доÑтъп до тази Ñтраница." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ИнÑтрументи за уебмаÑтери" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Сайт на Google проверка" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Въведете Ñамо номера (Google ID)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Проверка на Ñайта на Бинг" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Въведете Ñамо номера (Bing ID)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Ñайт проверка" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Въведете Ñамо номера (Yahoo ID)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Скрипт за ÑтатиÑтиÑтика" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ОÑтавете полето празно ако използвате плъгин за вашите инÑтрументи" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter или вÑеки друг подобен." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "ÐаÑтройки" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ca.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ca.mo new file mode 100644 index 0000000..69e31a7 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ca.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ca.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ca.po new file mode 100644 index 0000000..65e9c03 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ca.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Catalan\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "No teniu els permisos necessaris per a accedir a aquesta pàgina." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Eines per a desenvolupadors web" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verificació in situ de Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Només l'identificador de Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verificació in situ de Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Només l'identificador de Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verificació in situ de Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Només l'identificador de Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Rastrejador d'estadístiques del lloc" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Deixa-ho en blanc si hi ha una extensió que s'encarrega de les eines de " +"desenvolupador" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, qualsevol altre o tots ells." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Opcions" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cs_CZ.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cs_CZ.mo new file mode 100644 index 0000000..4d29af6 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cs_CZ.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cs_CZ.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cs_CZ.po new file mode 100644 index 0000000..54435b4 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cs_CZ.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Czech, Czech Republic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nemáte dostateÄné oprávnÄ›ní pro přístup na tuto stránku." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Nastroje pro webmastery" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Ověření stránky Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Vložte jen Google ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Ověření stránek Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Vložte jen Bing ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Ověření serveru Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Vložte jen Yahoo ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "NávÅ¡tÄ›vnost stránky" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Nechte prázdné pokud používáte jiné pluginy" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Nastavení" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cy.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cy.mo new file mode 100644 index 0000000..ddee6d6 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cy.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cy.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cy.po new file mode 100644 index 0000000..ada2c03 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-cy.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Welsh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != " +"11) ? 2 : 3;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Does gen ti ddim digon o hawliau i weld y dudalen hon." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Offer y Gwefeistr" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Dilysu Safle Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Mewnbynnwch eich rhif adnabod Google yn unig" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Dilysu Safle Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Mewnbynnwch eich rhif adnabod Bing yn unig" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Dilysu Safle Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Mewnbynnwch eich rhif adnabod Yahoo yn unig" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Traciwr Ystadegau'r Safle" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Gadewch yn wag os yw ategyn yn delio ag offer gwefeistroli" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, unrhywbeth arall neu bob un ohonynt." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Gosodiadau" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-da_DK.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-da_DK.mo new file mode 100644 index 0000000..8c61f90 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-da_DK.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-da_DK.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-da_DK.po new file mode 100644 index 0000000..4d7aaf2 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-da_DK.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Danish, Denmark\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Du har ikke tilstrækkelige rettigheder til at se denne side." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmaster-værktøjer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google webstedsbekræftelse" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Indtast dit Google ID nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing webstedsbekræftelse" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Indtast dit Bing ID nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo webstedsbekræftelse" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Indtast dit Yahoo ID nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Opsamling af sidestatistik" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Feltet skal være blank, hvis 'webmaster tools' plugin er installeret" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, een af dem eller alle." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Indstillinger" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE.mo new file mode 100644 index 0000000..34764a3 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE.po new file mode 100644 index 0000000..0bd83d1 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: German, Germany\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmaster-Tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Site Verification" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Nur Google ID-Nummer eingeben" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Site Verification" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Nur Bing ID-Nummer eingeben" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verification" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Nur Yahoo ID-Nummer eingeben" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Website-Statistik Tracker" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Leer lassen, wenn ein Plugin Ihre Webmaster-Tools verwaltet" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, etc." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Einstellungen" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE_sie.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE_sie.mo new file mode 100644 index 0000000..e29f436 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE_sie.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE_sie.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE_sie.po new file mode 100644 index 0000000..1aa4f23 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-de_DE_sie.po @@ -0,0 +1,60 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: German, Germany - Formal\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +msgid "You do not have sufficient permissions to access this page." +msgstr "Sie haben nicht ausreichend Rechte, um auf diese Seite zuzugreifen." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmaster-Tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Website Verifikation" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Nur Google ID-Nummer eingeben" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Website Verifikation" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Nur Bing ID-Nummer eingeben" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Website Verifikation" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Nur Yahoo ID-Nummer eingeben" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Website-Statistik Tracker" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Leer lassen, wenn ein Plugin Ihre Webmaster-Tools verwaltet" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, etc." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Einstellungen" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el.mo new file mode 100644 index 0000000..147b117 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el.po new file mode 100644 index 0000000..09a78d1 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Greek\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Δεν έχετε δικαιώματα Ï€Ïόσβασης σε αυτή τη σελίδα." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ΕÏγαλεία ΔιαχειÏιστή" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Επαλήθευσης ιστοσελίδα Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing επαλήθευση χώÏο" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo επαλήθευση χώÏο" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Yahoo!" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Ανιχνευτής στατιστικών του site" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Άφησέ το κενό αν έχεις κάποιο Ï€Ïόσθετο (plugin) που διαχειÏίζεται τα " +"εÏγαλεία διαχειÏιστή" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, κάποιο άλλο ή όλα μαζί." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Ρυθμίσεις" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el_GR.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el_GR.mo new file mode 100644 index 0000000..5f3e60e Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el_GR.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el_GR.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el_GR.po new file mode 100644 index 0000000..acd5e5b --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-el_GR.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Greek, Greece\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Δεν έχετε δικαιώματα Ï€Ïόσβασης σε αυτή τη σελίδα." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ΕÏγαλεία ΔιαχειÏιστή" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Επαλήθευσης ιστοσελίδα Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing επαλήθευση χώÏο" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo επαλήθευση χώÏο" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Yahoo!" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Ανιχνευτής στατιστικών του site" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Άφησέ το κενό αν έχεις κάποιο Ï€Ïόσθετο (plugin) που διαχειÏίζεται τα " +"εÏγαλεία διαχειÏιστή" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, κάποιο άλλο ή όλα μαζί." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Ρυθμίσεις" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_ES.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_ES.mo new file mode 100644 index 0000000..d6f3133 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_ES.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_ES.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_ES.po new file mode 100644 index 0000000..773cf23 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_ES.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Spanish, Spain\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "No tienes autorización para acceder a esta página" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Herramientas para el webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verificación del sitio Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Introduce sólo tu número de ID de Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verificación del sitio Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Introduce sólo tu número de ID de Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verificación del sitio de Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Introduce sólo tu número de ID de Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Gestor de estadísticas del sitio" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deja en blanco si un plugin gestiona tus herramientas de webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, cualquier otro o todos ellos." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "opciones" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_MX.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_MX.mo new file mode 100644 index 0000000..54973c3 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_MX.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_MX.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_MX.po new file mode 100644 index 0000000..f5ba17e --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-es_MX.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Spanish, Mexico\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "No tienes autorización para acceder a esta página" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Herramientas para el webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verificación del sitio Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Introduce sólo tu número de ID de Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verificación del sitio Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Introduce sólo tu número de ID de Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verificación del sitio de Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Introduce sólo tu número de ID de Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Gestor de estadísticas del sitio" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deja en blanco si un plugin gestiona tus herramientas de webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, cualquier otro o todos ellos." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "opciones" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-et.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-et.mo new file mode 100644 index 0000000..8d0e576 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-et.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-et.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-et.po new file mode 100644 index 0000000..48455c6 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-et.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Estonian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Sul ei ole sellele lehele ligipääsuõigusi." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Veebimeistri tööriistad" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Site kontrollimine" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Sisesta oma Google ID number" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing saidil kontrollimine" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Sisesta oma Bing ID number" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo saidi kontrollimine" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Sisesta oma Yahoo ID number" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Lehe statistika jälgija" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Jäta tühjaks kui plugin kontrollib sinu veebimeistri tööriistu" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, üks või mõlemad nendest" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Seaded" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fa_IR.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fa_IR.mo new file mode 100644 index 0000000..87f1c15 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fa_IR.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fa_IR.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fa_IR.po new file mode 100644 index 0000000..198193d --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fa_IR.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Persian, Iran\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "شما مجوز کاÙÛŒ برای دسترسی به‌این برگه را ندارید." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ابزارهای مدیریت وب" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "سایت Ú¯ÙˆÚ¯Ù„ تایید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Ùقط شماره ID Ú¯ÙˆÚ¯Ù„ خود را وارد کنید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "بینگ سایت تایید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Ùقط شماره ID بینگ خود را وارد کنید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "یاهو سایت تایید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Ùقط شماره ID یاهو‌یتان را وارد کنید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "ردیاب آمار سایت" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"اگر اÙزونه‌ای ابزارهای مدیریت وب شما را اداره می‌کند، اینجا را خالی بگذارید" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "آنالیزگر Ú¯ÙˆÚ¯Ù„ØŒ StatCounterØŒ یا هر کدام دیگر Ùˆ یا همه آن‌ها" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "محیط" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fi.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fi.mo new file mode 100644 index 0000000..4526fc0 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fi.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fi.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fi.po new file mode 100644 index 0000000..598191c --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fi.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Finnish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Sinulla ei ole tämän sivun saantiin tarvittavaa oikeutta." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Ylläpitäjän työkalut" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google-sivuston vahvistaminen" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Syötä ainoastaan Google ID -numerosi" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing sivuston vahvistaminen" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Syötä ainoastaan Bing ID -numerosi" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo sivuston vahvistaminen" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Syötä ainoastaan Yahoo ID -numerosi" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Sivuston tilastojen seuranta" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Jätä tyhjäksi jos liitännäinen käsittelee ylläpitäjän työkalujasi" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, joku muu tai kaikki niistä." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Asetukset" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fr_FR.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fr_FR.mo new file mode 100644 index 0000000..b186b63 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fr_FR.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fr_FR.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fr_FR.po new file mode 100644 index 0000000..f97bb66 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fr_FR.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: French, France\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Vous n’avez pas les droits suffisants pour accéder à cette page." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Outils Webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Vérification de Site Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Saisissez votre identifiant Google (chiffres uniquement)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Vérification de Site Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Saisissez votre identifiant Bing (chiffres uniquement)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Vérification de Site Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Saisissez votre identifiant Yahoo (chiffres uniquement)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Code de tracking pour les statistiques du site" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Laisser vide si des plugins assurent déjà ces fonctions" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, Compteurs, Trackeurs, et autre ..." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Options" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fy.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fy.mo new file mode 100644 index 0000000..365eb4c Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fy.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fy.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fy.po new file mode 100644 index 0000000..7852405 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-fy.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Western Frisian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Ynstellingen" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-he_IL.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-he_IL.mo new file mode 100644 index 0000000..40dfcdc Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-he_IL.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-he_IL.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-he_IL.po new file mode 100644 index 0000000..02cbe7c --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-he_IL.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Hebrew, Israel\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "×ין לך הרש×ות מת×ימות בשביל לגשת לעמוד ×”×–×”." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "כלי מנהל ××ª×¨×™× (Webmaster Tools)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "×ימות ×תר גוגל" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "הזינו ×ת מספר ×”-Google ID ×©×œ×›× ×‘×œ×‘×“" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "×ימות ×תר בינג" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "הזינו ×ת מספר ×”-Bing ID ×©×œ×›× ×‘×œ×‘×“" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "×ימות ×תר ×™×הו" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "הזינו ×ת מספר ×”-Yahoo ID ×©×œ×›× ×‘×œ×‘×“" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "מעקב ×חר סטטיסטיקת ×”×תר" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"הש×ירו ריק ×× ×§×™×™× ×ª×•×¡×£ שמנהל ×ת כלי מנהל-×”×תר ×‘×©×‘×™×œ×›× (webmaster tools)" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, כל שרות ×חר ×ו כול×." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "הגדרות" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hi_IN.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hi_IN.mo new file mode 100644 index 0000000..4fb67fd Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hi_IN.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hi_IN.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hi_IN.po new file mode 100644 index 0000000..0fabf23 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hi_IN.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Hindi, India\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "आपके पास इस बà¥à¤²à¥‰à¤— के अभिगम के लिठके लिठपरà¥à¤¯à¤¾à¤ªà¥à¤¤ आजà¥à¤žà¤¾ नहीं है." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "वेबमासà¥à¤Ÿà¤° टूलà¥à¤¸" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google साइट सतà¥à¤¯à¤¾à¤ªà¤¨" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "अपना Google ID लिखे" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "बिंग साइट सतà¥à¤¯à¤¾à¤ªà¤¨" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "अपना Bing ID लिखे" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "याहू साइट सतà¥à¤¯à¤¾à¤ªà¤¨" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "अपना Yahoo ID लिखे" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "साइट आà¤à¤•à¤¡à¤¼à¥‡ की गणना" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "इसको छोड़ सकते है अगर आप किसी पà¥à¤²à¤—इन से वेबमासà¥à¤Ÿà¤° टूलà¥à¤¸ का काम करते है" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, कà¥à¤› और या सभी|" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "विनà¥à¤¯à¤¾à¤¸" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hr.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hr.mo new file mode 100644 index 0000000..a6d6d87 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hr.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hr.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hr.po new file mode 100644 index 0000000..7d32ccc --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hr.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Croatian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nemate ovlasti potrebne za pristup ovoj stranici." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Alati za webmastere" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google verifikacija sajta" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Unesi samo Google ID broj" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing verifikacija sajta" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Unesi samo Bing ID broj" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo verifikacija sajta" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Unesi samo Yahoo ID broj" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Statistike sajta" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Ostavi prazno ako ti plugin ureÄ‘uje webmaster tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, neke druge ili sve." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Postavke" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hu_HU.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hu_HU.mo new file mode 100644 index 0000000..c2d5876 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hu_HU.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hu_HU.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hu_HU.po new file mode 100644 index 0000000..039b1c0 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-hu_HU.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Hungarian, Hungary\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nincs megfelelÅ‘ jogosultság az oldal megtekintéséhez." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmester eszközök" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "A Google Webmestereszközök webhelyellenÅ‘rzése" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Add meg a Google ID számod" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing helyszíni ellenÅ‘rzés" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Add meg a Bing ID számod" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site ellenÅ‘rzés" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Add meg a Yahoo ID számod" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Oldal-statisztika követés" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Hagyd üresen, ha plugin kezeli a webmester eszközöket" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" +"Google Analytics, StatCounter, egyik vagy az összes a felsoroltak közül." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Beállítások" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-id_ID.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-id_ID.mo new file mode 100644 index 0000000..9eeba5a Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-id_ID.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-id_ID.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-id_ID.po new file mode 100644 index 0000000..615d238 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-id_ID.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Indonesian, Indonesia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Anda tidak memiliki cukup izin untuk mengakses halaman ini." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verifikasi situs Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Masukkan nomor ID Google saja" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verifikasi situs Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Masukkan nomor ID Bing saja" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verifikasi situs Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Masukkan nomor ID yahoo saja" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Pencatat Statistik Situs" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Biarkan kosong jika webmaster tools sudah diatur oleh plugin lain" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, atau yang lain." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Tetapan" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-is_IS.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-is_IS.mo new file mode 100644 index 0000000..f18d4c8 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-is_IS.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-is_IS.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-is_IS.po new file mode 100644 index 0000000..c9b30b3 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-is_IS.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Icelandic, Iceland\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Þú hefur ekki nægileg réttindi til að opna þessa síðu." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Vefstjóraverkfæri" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Site Staðfesting" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Eingöngu Google ID númer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Site Staðfesting" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Eingöngu Bing ID númer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Staðfesting" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Eingöngu Yahoo ID númer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Kóði til að fylgjast með heimsóknum" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Skildu eftir autt ef viðbót sér um heimsóknartölur" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, einhver eða allir" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Stillingar" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-it_IT.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-it_IT.mo new file mode 100644 index 0000000..7173a43 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-it_IT.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-it_IT.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-it_IT.po new file mode 100644 index 0000000..80ba732 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-it_IT.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Italian, Italy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Non si dispone di permessi sufficienti per accedere a questa pagina." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Strumenti Webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verifica sito Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Inserisci il tuo Google ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verifica sito Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Inserisci il tuo Bing ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verifica sito yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Inserisci il tuo Yahoo ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Tracker Statistiche Sito" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Lascia in bianco se utilizzi già dei plugin per gestire gli Strumenti del " +"Webmaster" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, o altri." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Opzioni" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ja.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ja.mo new file mode 100644 index 0000000..7c67c81 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ja.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ja.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ja.po new file mode 100644 index 0000000..3130c6d --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ja.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Japanese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "ã“ã®ãƒšãƒ¼ã‚¸ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®å分ãªã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒã‚ã‚Šã¾ã›ã‚“。" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ウェブマスターツール" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google サイトã®ç¢ºèª" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Google ID ã®æ•°å­—ã®ã¿ã‚’入力" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing ã®ã‚µã‚¤ãƒˆã®æ¤œè¨¼" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Bing ID ã®æ•°å­—ã®ã¿ã‚’入力" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo ã®ã‚µã‚¤ãƒˆã®æ¤œè¨¼" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Yahoo ID ã®æ•°å­—ã®ã¿ã‚’入力" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "サイト統計トラッカー" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"ウェブマスターツールã«å¯¾å¿œã—ãŸãƒ—ラグインを使ã£ã¦ã„ã‚‹å ´åˆã¯ç©ºã«ã—ã¦ãŠã„ã¦ãã " +"ã•ã„" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analyticsã€StatCounterã€ãã®ä»–ã®ã‚³ãƒ¼ãƒ‰" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "設定" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ko_KR.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ko_KR.mo new file mode 100644 index 0000000..b79027b Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ko_KR.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ko_KR.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ko_KR.po new file mode 100644 index 0000000..d3d5f82 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ko_KR.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Korean, South Korea\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "ì´ ë¬¸ì„œì— ì ‘ê·¼í•  ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "웹 마스터 ë„구" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "구글 사ì´íŠ¸ 확ì¸" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "구글 ID 숫ìžë§Œ 입력하세요." + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "ë¹™ 사ì´íŠ¸ 확ì¸" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Bing ID 숫ìžë§Œ 입력하세요." + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "야 후 사ì´íŠ¸ 확ì¸" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Yahoo ID 숫ìžë§Œ 입력하세요." + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "사ì´íŠ¸ 통계 추ì (Tracker)" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "플러그ì¸ì´ 웹 마스터 ë„구를 대신한다면 공백으로 놔ë‘세요." + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, 그외 다른 사ì´íŠ¸ 통계 추ì ê¸°" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "설정" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lt_LT.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lt_LT.mo new file mode 100644 index 0000000..90b135e Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lt_LT.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lt_LT.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lt_LT.po new file mode 100644 index 0000000..1a86f0a --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lt_LT.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Lithuanian, Lithuania\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "JÅ«s neturite pakankamai teisių patekti į šį puslapį." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Tinklapio administratoriaus įrankiai" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "\"Google\" svetainÄ—s patikra" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Ä®veskite tik JÅ«sų Google ID numerį" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing svetainÄ—s patikra" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Ä®veskite tik JÅ«sų Bing ID numerį" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo svetainÄ—s patikra" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Ä®veskite tik JÅ«sų Yahoo ID numerį" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Tinklapio statistikos registratorius" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Palikite tuÅ¡ÄiÄ… jei įskiepis tvarko JÅ«sų tinklapio administratoriaus įrankius" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, bet kuris kitas ar jie visi." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Nuostatos" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lv.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lv.mo new file mode 100644 index 0000000..55007e9 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lv.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lv.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lv.po new file mode 100644 index 0000000..8774f9e --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-lv.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Latvian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Jums nav tiesÄ«bu lai piekļūtu Å¡ai lapai. " + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "TÄ«mekļa pÄrziņa rÄ«ki" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google vietņu pÄrbaudi" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Ievadiet tikai savu Google ID numuru" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing vietas pÄrbaude" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Ievadiet tikai savu Bing ID numuru" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo vietnÄ“ pÄrbaudes" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Ievadiet tikai savu Yahoo ID numuru" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Vietnes statistikas sekotÄjs" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "AtstÄjiet tukÅ¡u, ja spraudnis apstrÄdÄ JÅ«su tÄ«mekļa pÄrziņa rÄ«kus" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" +"Google Analytics, StatCounter, jebkurÅ¡ cits pakalpojums vai visi pakalpojumi." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "IestatÄ«jumi" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ms_MY.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ms_MY.mo new file mode 100644 index 0000000..e2c2e68 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ms_MY.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ms_MY.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ms_MY.po new file mode 100644 index 0000000..1c731e5 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ms_MY.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Malay, Malaysia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Anda tidak mempunyai keizinan yang cukup untuk mencapai laman ini." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Alat-alat pengurus laman web" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Pengesahan tapak Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Masukkan nombor ID Google sahaja" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing pengesahan" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Masukkan nombor ID Bing sahaja" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo pengesahan" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Masukkan nombor ID yahoo sahaja" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Penjejak statistik laman web" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Biarkan kosong jika alat-alat pengurus laman web anda dikawal oleh \"plugin\"" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, dan lain-lain." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Tetapan" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nb_NO.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nb_NO.mo new file mode 100644 index 0000000..0eb23b0 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nb_NO.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nb_NO.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nb_NO.po new file mode 100644 index 0000000..ec2d7ca --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nb_NO.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Norwegian BokmÃ¥l, Norway\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Du har ikke tilstrekkelige tillatelser til Ã¥ fÃ¥ tilgang til siden." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Google Webmaster Tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google omrÃ¥debekreftelse" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Angi ditt Google ID-nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing omrÃ¥debekreftelse" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Angi ditt Bing ID-nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo omrÃ¥debekreftelse" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Angi ditt Yahoo ID-nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Sporing for statistikk over nettstedet" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Sett blank om du har en plugin som hÃ¥ndterer webmaster tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, en av dem eller alle." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Oppsett" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nl_NL.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nl_NL.mo new file mode 100644 index 0000000..d7d129f Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nl_NL.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nl_NL.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nl_NL.po new file mode 100644 index 0000000..8e89d32 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-nl_NL.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Dutch, Netherlands\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Je hebt onvoldoende toegangsrechten voor deze pagina." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmaster Gereedschap" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Site controle" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Vul alleen je Google ID nummer in" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Site verificatie" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Vul alleen je Bing ID nummer in" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site verificatie" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Vul alleen je Yahoo ID nummer in" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Site Statistieken Tracker" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Laat leeg als een plugin je webmaster gereedschap afhandelt" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, een andere of ze allemaal" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Instellingen" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pl_PL.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pl_PL.mo new file mode 100644 index 0000000..a26f8d1 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pl_PL.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pl_PL.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pl_PL.po new file mode 100644 index 0000000..9047493 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pl_PL.po @@ -0,0 +1,63 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Polish, Poland\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nie posiadasz wystarczajÄ…cych uprawnieÅ„, by wejść na tÄ™ stronÄ™." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "NarzÄ™dzia webmastera" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Weryfikacji witryny Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Wpisz tylko swój numer Google ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Weryfikacji witryny Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Wpisz tylko swój numer Bing ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo witryny weryfikacji" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Wpisz wyÅ‚Ä…cznie swój numer identyfikacyjny Yahoo ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Kod Å›ledzenia statystyk" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Pozostaw puste, w przypadku gdy plugin obsÅ‚uguje Twoje NarzÄ™dzia Webmastera." + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, cokolwiek innego, albo wszystko" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Ustawienia" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_BR.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_BR.mo new file mode 100644 index 0000000..b58ba68 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_BR.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_BR.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_BR.po new file mode 100644 index 0000000..10a972b --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_BR.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Portuguese, Brazil\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Sem permissões suficientes para acessar esta página." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Ferramentas do administrador web" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verificação do Site do Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Informe apenas seu número de ID do Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verificação do Site Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Informe apenas seu número de ID do Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verificação do Site Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Informe apenas seu número de ID do Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Rastreador de estatísticas do site" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Deixe em branco se um plugin trata de suas ferramentas do administrador web" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, qualquer outro ou de todos eles." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Opções" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_PT.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_PT.mo new file mode 100644 index 0000000..e1f0352 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_PT.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_PT.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_PT.po new file mode 100644 index 0000000..c3c27de --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-pt_PT.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Portuguese, Portugal\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Sem permissões suficientes para acessar esta página." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Ferramentas do administrador web" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verificação do Site do Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Informe apenas seu número de ID do Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Verificação do Site Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Informe apenas seu número de ID do Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verificação do Site Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Informe apenas seu número de ID do Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Rastreador de estatísticas do site" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Deixe em branco se um plugin trata de suas ferramentas do administrador web" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, qualquer outro ou de todos eles." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Opções" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ro_RO.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ro_RO.mo new file mode 100644 index 0000000..df3ed96 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ro_RO.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ro_RO.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ro_RO.po new file mode 100644 index 0000000..e35b0f3 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ro_RO.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Romanian, Romania\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " +"== 0) && (n != 0))) ? 2: 1));\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nu ai destule drepturi pentru a putea accesa această pagină." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Uneltele Webmaster-ului" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Verificarea site-ul Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Introdu numărul de ID Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing site-ul de verificare" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Introdu numărul de ID Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Verificarea site-ul Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Introdu numărul de ID Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Statisticile site-ului" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Lasă necompletat dacă modulul controlează instrumentele webmaster-ului" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, orice alte sau toate dintre ele." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Setări" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ru_RU.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ru_RU.mo new file mode 100644 index 0000000..56875f4 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ru_RU.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ru_RU.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ru_RU.po new file mode 100644 index 0000000..2eb34ab --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-ru_RU.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Russian, Russia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "У Ð²Ð°Ñ Ð½ÐµÐ´Ð¾Ñтаточно полномочий Ð´Ð»Ñ Ð´Ð¾Ñтупа к Ñтой Ñтранице." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ИнÑтрументы веб-маÑтера" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Проверка Ñайта Google" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Введите только номер Google ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Проверка Ñайта Бинг" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Введите только номер Bing ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Проверка Ñайта Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Введите только номер Yahoo ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "СтатиÑтика отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñайта" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ОÑтавьте пуÑтым, еÑли инÑтрументы вебмаÑтера обрабатывает плагин" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, любой другой или вÑе они." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "ÐаÑтройки" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sk_SK.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sk_SK.mo new file mode 100644 index 0000000..dd05ca2 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sk_SK.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sk_SK.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sk_SK.po new file mode 100644 index 0000000..4d919a0 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sk_SK.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Slovak, Slovakia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nemáte dostatoÄné oprávnenia pre prístup k tejto stránke." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Nástroje webmastera" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google stránky overenie" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Zadajte Google ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Site overovanie" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Zadajte Bing ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site overovanie" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Zadajte Yahoo ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Sledovanie Å¡tatistík stránky" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Nechajte prázdne, ak používate modul na správu Nástrojov webmastera" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, iný alebo vÅ¡etky" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Nastavenia" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sl_SI.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sl_SI.mo new file mode 100644 index 0000000..f54cc5f Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sl_SI.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sl_SI.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sl_SI.po new file mode 100644 index 0000000..248bfbe --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sl_SI.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Slovenian, Slovenia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Nimate zadostnih dovoljenj za dostop do te strani." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Orodja za upravljanje" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google stran preverjanje" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Vnesi Google ID Å¡tevilko" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Preverjanja strani Bing" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "vnesi samo Bing ID Å¡tevilko" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Preverjanja strani Yahoo" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Vnesi samo Yahoo ID Å¡tevilko" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Statistika spletne strani" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Pusti prazno v kolikor vtiÄnik upravlja z orodji za upravljanje" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, drugo ali vse." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Nastavitve" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sr_RS.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sr_RS.mo new file mode 100644 index 0000000..e2a9b52 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sr_RS.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sr_RS.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sr_RS.po new file mode 100644 index 0000000..56540f9 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sr_RS.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Serbian, Serbia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Ðемате довољна права да приÑтупите овој Ñтрани." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "ВебмаÑтер алати" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Гугл верификација Ñајта" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "УнеÑите једино Ñвој Гугл ID број" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Бинг верификација Ñајта" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "УнеÑите Ñамо Ñвој Бинг ID број" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Јаху Верификација Ñајта" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "УнеÑите Ñамо Ñвој Јаху ID број" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "СтатиÑтика вебÑајта" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ОÑтавите празно ако додатак рукује вашим алаткама за вебмаÑтере" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, неки други или Ñви наведени." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Подешавања" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sv_SE.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sv_SE.mo new file mode 100644 index 0000000..c7ee3fe Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sv_SE.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sv_SE.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sv_SE.po new file mode 100644 index 0000000..e923f8d --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-sv_SE.po @@ -0,0 +1,62 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Swedish, Sweden\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "" +"Du har inte tillräckliga behörighet för att fÃ¥ tillgÃ¥ng till denna sida." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webbadministratörsverktyg" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Webbplatsverifiering" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Ange endast ditt Google ID-nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Webbplatsverifiering" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Ange endast ditt Bing ID-nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Webbplatsverifiering" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Ange endast ditt Yahoo ID-nummer" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Site Statistik Tracker" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Lämna blankt om plugin hanterar dina webbadministratörsverktyg" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, nÃ¥gon annan eller alla av dem." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Inställningar" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tk.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tk.mo new file mode 100644 index 0000000..896e7e0 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tk.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tk.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tk.po new file mode 100644 index 0000000..5787a31 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tk.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Turkmen\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tr.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tr.mo new file mode 100644 index 0000000..060def2 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tr.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tr.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tr.po new file mode 100644 index 0000000..644127f --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-tr.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Turkish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "Bu sayfaya eriÅŸmek için yeterli izniniz yok." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "GeliÅŸtirici Araçları" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Site doÄŸrulama" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Sadece Google Id'nizi giriniz" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Site doÄŸrulama" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Sadece Bing ID'nizi giriniz" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site doÄŸrulama" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Yalnızca Yahoo ID'nizi giriniz" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Site Ä°statistiklerini Ä°zleme" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Eklenti geliÅŸtirici ayarlarıyla ilgili ise boÅŸ bırakınız" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, baÅŸka bir seçenekı veya tümü." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Ayarlar" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_CN.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_CN.mo new file mode 100644 index 0000000..839bcdf Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_CN.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_CN.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_CN.po new file mode 100644 index 0000000..2a7bf1d --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_CN.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Chinese, China\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "您没有足够的æƒé™è®¿é—®è¿™ä¸ªé¡µé¢ã€‚" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "站长工具" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "谷歌网站验è¯" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "输入你的谷歌ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing 网站验è¯" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "输入你的必应ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "雅虎网站验è¯" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "输入雅虎ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "网站统计工具" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "如果有æ’件接管该功能请留空。" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analyticsã€StatCounter以åŠç±»ä¼¼çš„东西。" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "设置" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_TW.mo b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_TW.mo new file mode 100644 index 0000000..ae17946 Binary files /dev/null and b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_TW.mo differ diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_TW.po b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_TW.po new file mode 100644 index 0000000..0902b38 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons-zh_TW.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:06-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: Chinese, Taiwan\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "你沒有足夠的許å¯æ¬Šè¨ªå•æ­¤é é¢ã€‚" + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "站長工具" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "谷歌網站驗證" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "輸入您的 Google ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing 網站驗證" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "輸入您的 Bing ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "雅虎網站驗證" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "輸入您的 Yahoo ID" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "網站統計工具" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "如果有外掛程å¼æŽ¥ç®¡è©²åŠŸèƒ½è«‹ç•™ç©º" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analyticsã€StatCounter 以åŠé¡žä¼¼çš„æ±è¥¿ã€‚" + +#: ../responsive-addons.php +msgid "Settings" +msgstr "設置" diff --git a/wp-content/plugins/responsive-add-ons/languages/responsive-addons.pot b/wp-content/plugins/responsive-add-ons/languages/responsive-addons.pot new file mode 100644 index 0000000..64fbc96 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/languages/responsive-addons.pot @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Addons\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-08-01 15:16:04 UTC\n" +"PO-Revision-Date: 2013-10-10 14:07-0000\n" +"Last-Translator: CyberChimps \n" +"Language-Team: English, United States\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.7\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../responsive-addons.php +msgid "You do not have sufficient permissions to access this page." +msgstr "You do not have sufficient permissions to access this page." + +#: ../responsive-addons.php +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Site Verification" +msgstr "Google Site Verification" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Google ID number only" +msgstr "Enter your Google ID number only" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Bing Site Verification" +msgstr "Bing Site Verification" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Bing ID number only" +msgstr "Enter your Bing ID number only" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verification" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Enter your Yahoo ID number only" +msgstr "Enter your Yahoo ID number only" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Site Statistics Tracker" +msgstr "Site Statistics Tracker" + +#: ../responsive-addons.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Leave blank if plugin handles your webmaster tools" + +#: ../responsive-addons.php ../templates/settings.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, any other or all of them." + +#: ../responsive-addons.php +msgid "Settings" +msgstr "Settings" diff --git a/wp-content/plugins/responsive-add-ons/readme.txt b/wp-content/plugins/responsive-add-ons/readme.txt new file mode 100644 index 0000000..db680b2 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/readme.txt @@ -0,0 +1,86 @@ +=== Plugin Name === +Contributors: cyberchimps +Donate Link: http://cyberchimps.com +Tags: google, yahoo, bing, analytics, verification +Requires at least: 3.4 +Tested up to: 3.8 +Stable tag: 1.0.5 +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +Adds Google, Yahoo and Bing verification codes and adds Site Statistics scripts to your site + +== Description == + +This plugin has been designed specifically for Responsive but will also work on any theme. Wordpress is working with theme +developers like CyberChimps.com to make sure that the theme's functionality is limited to design, +layout and structure and that anything that falls outside of this is developed as a plugin. Hence the reason why this plugin has been developed. + +== Installation == + +1. Upload `responsive-add-ons.php` to the `/wp-content/plugins/` directory +1. Activate the plugin through the 'Plugins' menu in WordPress + +== Frequently Asked Questions == + += Why have the Webmaster options moved to a plugin? = + +Wordpress is very keen (as we are) to separate functionality from design. Among other things it keeps themes from being bloated, it's cleaner code wise and allows users to choose what features they + want. + += Will it work for any theme? = + +The short answer is yes. The long answer is that whilst we have created this primarily for our Responsive theme we decided +that it was important to make it inclusive rather than exclusive. + +== Screenshots == + +1. Responsive Add Ons plugin is recommended when you have the Responsive Theme installed and active +2. After clicking on the install plugin you are taken to the suggested plugin installer, just click on "Install" below the plugin name +3. The plugin gets downloaded and installed automatically +4. Responsive Add Ons places it's options inside Responsive's theme options +5. Even if you don't have the Responsive theme it will still add it's functionality to any other theme. You will be able to find the options in the settings tab + +== Changelog == + += 1.0.5 = +* Bug fixes + += 1.0.4 = +* Language Updates +* Links to forum and guides + += 1.0.3 = +* Bug Fixes +* Added styling to textarea + += 1.0.2 = +* Bug Fixes + += 1.0.1 = +* Bug Fixes + += 1.0.0 = +* Initial set up and release + +== Upgrade Notice == + += 1.0.5 = +* Bug fixes + += 1.0.4 = +* Language Updates +* Links to forum and guides + += 1.0.3 = +* Bug Fixes +* Added styling to textarea + += 1.0.2 = +* Bug fixes + += 1.0.1 = +* Bug fixes + += 1.0.0 = +* Initial set up and release \ No newline at end of file diff --git a/wp-content/plugins/responsive-add-ons/responsive-add-ons.php b/wp-content/plugins/responsive-add-ons/responsive-add-ons.php new file mode 100644 index 0000000..46c5028 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/responsive-add-ons.php @@ -0,0 +1,277 @@ +options = get_option( 'responsive_theme_options' ); + $this->plugin_options = get_option( 'responsive_addons_options' ); + } + + /** + * Stuff to do when you activate + */ + public static function activate() { + } + + /** + * Clean up after Deactivation + */ + public static function deactivate() { + } + + /** + * Hook into WP admin_init + */ + public function admin_init() { + + // Check if the theme being used is Responsive. If True then add settings to Responsive settings, else set up a settings page + if( $this->is_responsive() ) { + add_filter( 'responsive_option_sections_filter', array( &$this, 'responsive_option_sections' ), 10, 1 ); + add_filter( 'responsive_options_filter', array( &$this, 'responsive_options' ), 10, 1 ); + + } + else { + $this->init_settings(); + } + } + + /** + * Create plugin translations + */ + public function responsive_addons_translations() { + // Load the text domain for translations + load_plugin_textdomain( 'responsive-addons', false, basename( dirname( __FILE__ ) ) . '/languages' ); + } + + /** + * Settings + */ + public function init_settings() { + register_setting( 'responsive_addons', 'responsive_addons_options', array( &$this, 'responsive_addons_sanitize' ) ); + + } + + /** + * Add the menu + */ + public function add_menu() { + // Hides Menu options if the current theme is responsive + if( !$this->is_responsive() ) { + add_options_page( 'Responsive Addons', 'Responsive Add Ons', 'manage_options', 'responsive_addons', array( &$this, + 'plugin_settings_page' + ) ); + } + } + + /** + * The settings page + */ + public function plugin_settings_page() { + if( !current_user_can( 'manage_options' ) ) { + wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); + } + // Render the settings template + include( sprintf( "%s/templates/settings.php", dirname( __FILE__ ) ) ); + } + + /** + * Test to see if the current theme is Responsive + * + * @return bool + */ + public static function is_responsive() { + $theme = wp_get_theme(); + + if( $theme->Name == 'Responsive' || $theme->Template == 'responsive' || $theme->Name == 'Responsive Pro' || $theme->Template == 'responsivepro' ) { + return true; + } else { + return false; + } + } + + public function responsive_option_sections( $sections ) { + + $new_sections = array( + array( + 'title' => __( 'Webmaster Tools', 'responsive-addons' ), + 'id' => 'webmaster' + ) + ); + + $new = array_merge( $sections, $new_sections ); + + return $new; + } + + public function responsive_options( $options ) { + + $new_options = array( + 'webmaster' => array( + array( + 'title' => __( 'Google Site Verification', 'responsive-addons' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'google_site_verification', + 'description' => __( 'Enter your Google ID number only', 'responsive-addons' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Bing Site Verification', 'responsive-addons' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'bing_site_verification', + 'description' => __( 'Enter your Bing ID number only', 'responsive-addons' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Yahoo Site Verification', 'responsive-addons' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'yahoo_site_verification', + 'description' => __( 'Enter your Yahoo ID number only', 'responsive-addons' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Site Statistics Tracker', 'responsive-addons' ), + 'subtitle' => '' . __( 'Leave blank if plugin handles your webmaster tools', 'responsive-addons' ) . '' . 'Forum' . 'Guide', + 'heading' => '', + 'type' => 'textarea', + 'id' => 'site_statistics_tracker', + 'class' => array( 'site-tracker' ), + 'description' => __( 'Google Analytics, StatCounter, any other or all of them.', 'responsive-addons' ), + 'placeholder' => '' + ), + + ) + ); + + $new = array_merge( $options, $new_options ); + + return $new; + } + + /** + * Add to wp head + */ + public function responsive_head() { + + // Test if using Responsive theme. If yes load from responsive options else load from plugin options + $responsive_options = ( $this->is_responsive() ) ? $this->options : $this->plugin_options; + + if( !empty( $responsive_options['google_site_verification'] ) ) { + echo '' . "\n"; + } + + if( !empty( $responsive_options['bing_site_verification'] ) ) { + echo '' . "\n"; + } + + if( !empty( $responsive_options['yahoo_site_verification'] ) ) { + echo '' . "\n"; + } + + if( !empty( $responsive_options['site_statistics_tracker'] ) ) { + echo $responsive_options['site_statistics_tracker']; + } + } + + public function responsive_addons_sanitize( $input ) { + + $output = array(); + + foreach( $input as $key => $test ) { + switch( $key ) { + case 'google_site_verification': + $output[$key] = wp_filter_post_kses( $test ); + break; + case 'yahoo_site_verification': + $output[$key] = wp_filter_post_kses( $test ); + break; + case 'bing_site_verification': + $output[$key] = wp_filter_post_kses( $test ); + break; + case 'site_statistics_tracker': + $output[$key] = wp_kses_stripslashes( $test ); + break; + + } + + } + + return $output; + } + + /** + * Add settings link to plugin activate page + * + * @param $links + * + * @return mixed + */ + public function plugin_settings_link( $links ) { + if ( $this->is_responsive() ) { + $settings_link = '' . __( 'Settings', 'responsive-addons' ) . ''; + } else { + $settings_link = '' . __( 'Settings', 'responsive-addons' ) . ''; + } + array_unshift( $links, $settings_link ); + + return $links; + } + + } +} + +/** + * Initialize Plugin + */ +if( class_exists( 'Responsive_Addons' ) ) { + + // Installation and uninstallation hooks + register_activation_hook( __FILE__, array( 'Responsive_Addons', 'activate' ) ); + register_deactivation_hook( __FILE__, array( 'Responsive_Addons', 'deactivate' ) ); + + // Initialise Class + $responsive = new Responsive_Addons(); +} diff --git a/wp-content/plugins/responsive-add-ons/templates/settings.php b/wp-content/plugins/responsive-add-ons/templates/settings.php new file mode 100644 index 0000000..eec7f25 --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/templates/settings.php @@ -0,0 +1,78 @@ + +
    +

    Responsive Settings

    + +
    + +

    Webmaster Settings

    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    Forum + Guide +
    +
    + +
    +
    \ No newline at end of file diff --git a/wp-content/plugins/responsive-add-ons/uninstall.php b/wp-content/plugins/responsive-add-ons/uninstall.php new file mode 100644 index 0000000..72ce75b --- /dev/null +++ b/wp-content/plugins/responsive-add-ons/uninstall.php @@ -0,0 +1,26 @@ +, YEAR. +# +#, fuzzy +msgid "" +msgstr "[]" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/rotating-posts\n" +"POT-Creation-Date: 2009-02-20 12:04+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: rotating-posts.php:99 +#, php-format +msgid "Posted in %s" +msgstr "¶ò§téð íñ %s[!]" + +#: rotating-posts.php:100 +msgid "Comments" +msgstr "Çømméñt§[]" + +#: rotating-posts.php:219 +msgid "Rotating Posts Settings" +msgstr "R¤tÃ¥tìñg ¶ó§t§ $éttîñg§[!!!]" + +#: rotating-posts.php:219 rp-admin.php:223 +msgid "Rotating Posts" +msgstr "R¤tãtíñg ¶ò§t§[!]" + +#: rotating-posts.php:257 +msgid "by" +msgstr "þÿ[]" + +#: rotating-posts.php:275 +msgid "Read more" +msgstr "Réåð mô®ë[]" + +#: rp-admin.php:9 +msgid "Number of posts" +msgstr "ѵmþè® óf pô§t§[!]" + +#: rp-admin.php:10 +msgid "Duration between rotations" +msgstr "Ãû®ãtìóñ þètwêéñ ®òtátîöñ§[!!!]" + +#: rp-admin.php:11 +msgid "Display thumbnails" +msgstr "Ãî§plªÿ thúmþñãìl§[!!]" + +#: rp-admin.php:12 +msgid "Display graphic arrows" +msgstr "Ãï§plªý g®âphí© æ®®ów§[!!!]" + +#: rp-admin.php:13 +msgid "Display date and time" +msgstr "Ãî§plªÿ ðàtë äñð tîmè[!!]" + +#: rp-admin.php:14 +msgid "date and time format string" +msgstr "ðàtê ãñð tímê fø®mãt §t®îñg[!!!!]" + +#: rp-admin.php:15 +msgid "Display title" +msgstr "Ãí§pläÿ tîtlë[!]" + +#: rp-admin.php:16 +msgid "Display author" +msgstr "Ãî§plãý âúth¤®[!]" + +#: rp-admin.php:17 +msgid "prefix before author" +msgstr "p®èfìx þèfõ®è àüthò®[!!]" + +#: rp-admin.php:18 +msgid "Display categories" +msgstr "Ãî§plâÿ ©ætëgõ®îë§[!!]" + +#: rp-admin.php:19 +msgid "Display comments" +msgstr "Ãí§plåÿ ©ômmëñt§[!]" + +#: rp-admin.php:20 +msgid "Display random posts" +msgstr "Ãí§plæÿ ®æñðôm pô§t§[!!]" + +#: rp-admin.php:21 +msgid "Display custom field instead of post content" +msgstr "Ãí§plåý ¢ü§t¤m fìêlð ìñ§téäð ¤f p¤§t ©¤ñtéñt[!!!!!!!]" + +#: rp-admin.php:22 +msgid "Left button" +msgstr "£èft þµttöñ[]" + +#: rp-admin.php:23 +msgid "Right button" +msgstr "Rìght þüttøñ[!]" + +#: rp-admin.php:24 +msgid "Pause button" +msgstr "¶áú§ê þùttóñ[!]" + +#: rp-admin.php:25 +msgid "Pause button pressed" +msgstr "¶âû§é þüttóñ p®ê§§ëð[!!]" + +#: rp-admin.php:26 +msgid "Override css" +msgstr "Øvé®®îðë 秧[!]" + +#: rp-admin.php:27 +msgid "'Read more' link text" +msgstr "'Rêåð mó®é' líñk têxt[!!]" + +#: rp-admin.php:29 +#, php-format +msgid "Error in %s using default of %s" +msgstr "Ê®®ò® íñ %s û§íñg ðëfãùlt õf %s[!!!!]" + +#: rp-admin.php:33 +msgid "Settings saved" +msgstr "$èttïñg§ §âvèð[!]" + +#: rp-admin.php:235 +msgid "seconds" +msgstr "§èçôñð§[]" + +#: rp-admin.php:245 +msgid "Display options" +msgstr "Ãì§plàý ¤ptì¤ñ§[!]" + +#: rp-admin.php:248 rp-admin.php:251 +msgid "with" +msgstr "wìth[]" + +#: rp-admin.php:250 +#, php-format +msgid "See WordPress document on %s" +msgstr "§èé Wô®ð¶®é§§ ðóçûmèñt óñ %s[!!!!]" + +#: rp-admin.php:250 +msgid "Formatting Date and Time" +msgstr "F¤®máttîñg êtè æñð Tïmè[!!!]" + +#: rp-admin.php:257 +#, php-format +msgid "" +"If checked, add a custom field to each post with name %s and the thumbnail " +"URL as the value." +msgstr "" +"Ãf çhèçkéð, àðð à ¢ù§tøm fíélð tö èä©h pò§t wíth ñæmë %s ãñð thê thúmþñàîl " +"ÛR£ ª§ thè vâlùê.[!!!!!!!!!!!!!!!!!!]" + +#: rp-admin.php:258 rp-admin.php:263 +#, php-format +msgid "This can be done in the %s section when adding or editing a post." +msgstr "Thì§ ¢ªñ þê ð¤ñê ïñ thê %s §è©tïòñ whèñ áððîñg ó® ëðïtíñg ã pó§t.[!!!!!!!!!!!]" + +#: rp-admin.php:258 rp-admin.php:263 +msgid "Custom Fields" +msgstr "Çü§tôm Fíêlð§[!]" + +#: rp-admin.php:260 +#, php-format +msgid "" +"If checked, you can customize the CSS for Rotating Posts in your theme's CSS " +"file. Use the %s to get started." +msgstr "" +"Ãf ¢hë©kèð, ýòú ©äñ ©µ§t¤mízê thë Ç$$ fô® R¤tâtïñg ¶ô§t§ îñ ÿöú® thémê'§ ǧ$ " +"fílë. ܧé thè %s tó gêt §tä®têð.[!!!!!!!!!!!!!!!!!!!!!]" + +#: rp-admin.php:260 +msgid "provided CSS" +msgstr "p®òvíðéð Ç$§[!]" + +#: rp-admin.php:262 +#, php-format +msgid "" +"If checked, add a custom field to each post with name %s and the customized " +"content as the value. For example, this could be used to insert an image " +"instead of the content of your post." +msgstr "" +"ÃŒf ¢hë©kéð, ªðð â ¢ù§tôm fìélð tó éå©h pø§t wìth ñàmê %s ªñð thè çü§tómízèð " +"çøñtëñt ª§ thé vàlûè. Fõ® éxÃ¥mplé, thí§ ¢õùlð þè ù§èð t¤ ìñ§è®t ãñ ìmàgë " +"ìñ§tëæð óf thè çóñtêñt õf ÿ¤ü® pø§t.[!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!]" + +#: rp-admin.php:268 +msgid "Show posts from category" +msgstr "$hòw pó§t§ f®òm çätègò®ÿ[!!!]" + +#: rp-admin.php:271 +msgid "Show all categories" +msgstr "$h¤w ªll ©ãtëgò®ïè§[!!]" + +#: rp-admin.php:277 +msgid "Change navigation buttons" +msgstr "Çhãñgé ñávìgªtíøñ þùttöñ§[!!!]" + +#: rp-admin.php:287 +msgid "Save Changes" +msgstr "§åvè Çhâñgë§[!]" + +#. Plugin Name of an extension +msgid "Rotating Posts" +msgstr "Rötátìñg ¶ò§t§[!]" + +#. Plugin URI of an extension +msgid "http://wordpress.org/extend/plugins/rotating-posts/" +msgstr "http://wò®ðp®ë§§.¤®g/èxtèñð/plügîñ§/®õtätïñg-pö§t§/[!!!!!!!!]" + +#. Description of an extension +msgid "" +"Easily create customizable rotating posts like those seen on popular news " +"sites." +msgstr "" +"Ëã§ílý ç®éàtë ©ù§t¤mìzâþlè ®ötãtíñg pò§t§ lîké th¤§ë §êêñ øñ p¤pùlä® ñêw§ " +"§íté§.[!!!!!!!!!!!!!!!]" + +#. Author of an extension +msgid "Mark Inderhees" +msgstr "Må®k Ãñðé®hèë§[!]" + +#. Author URI of an extension +msgid "http://mark.inderhees.net" +msgstr "http://mä®k.îñðé®héè§.ñét[!!!]" diff --git a/wp-content/plugins/rotating-posts/lang/rotating-posts.pot b/wp-content/plugins/rotating-posts/lang/rotating-posts.pot new file mode 100644 index 0000000..bcccb83 --- /dev/null +++ b/wp-content/plugins/rotating-posts/lang/rotating-posts.pot @@ -0,0 +1,221 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Mark Inderhees +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/rotating-posts\n" +"POT-Creation-Date: 2009-02-20 12:04+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: rotating-posts.php:99 +#, php-format +msgid "Posted in %s" +msgstr "" + +#: rotating-posts.php:100 +msgid "Comments" +msgstr "" + +#: rotating-posts.php:219 +msgid "Rotating Posts Settings" +msgstr "" + +#: rotating-posts.php:219 rp-admin.php:223 +msgid "Rotating Posts" +msgstr "" + +#: rotating-posts.php:257 +msgid "by" +msgstr "" + +#: rotating-posts.php:275 +msgid "Read more" +msgstr "" + +#: rp-admin.php:9 +msgid "Number of posts" +msgstr "" + +#: rp-admin.php:10 +msgid "Duration between rotations" +msgstr "" + +#: rp-admin.php:11 +msgid "Display thumbnails" +msgstr "" + +#: rp-admin.php:12 +msgid "Display graphic arrows" +msgstr "" + +#: rp-admin.php:13 +msgid "Display date and time" +msgstr "" + +#: rp-admin.php:14 +msgid "date and time format string" +msgstr "" + +#: rp-admin.php:15 +msgid "Display title" +msgstr "" + +#: rp-admin.php:16 +msgid "Display author" +msgstr "" + +#: rp-admin.php:17 +msgid "prefix before author" +msgstr "" + +#: rp-admin.php:18 +msgid "Display categories" +msgstr "" + +#: rp-admin.php:19 +msgid "Display comments" +msgstr "" + +#: rp-admin.php:20 +msgid "Display random posts" +msgstr "" + +#: rp-admin.php:21 +msgid "Display custom field instead of post content" +msgstr "" + +#: rp-admin.php:22 +msgid "Left button" +msgstr "" + +#: rp-admin.php:23 +msgid "Right button" +msgstr "" + +#: rp-admin.php:24 +msgid "Pause button" +msgstr "" + +#: rp-admin.php:25 +msgid "Pause button pressed" +msgstr "" + +#: rp-admin.php:26 +msgid "Override css" +msgstr "" + +#: rp-admin.php:27 +msgid "'Read more' link text" +msgstr "" + +#: rp-admin.php:29 +#, php-format +msgid "Error in %s using default of %s" +msgstr "" + +#: rp-admin.php:33 +msgid "Settings saved" +msgstr "" + +#: rp-admin.php:235 +msgid "seconds" +msgstr "" + +#: rp-admin.php:245 +msgid "Display options" +msgstr "" + +#: rp-admin.php:248 rp-admin.php:251 +msgid "with" +msgstr "" + +#: rp-admin.php:250 +#, php-format +msgid "See WordPress document on %s" +msgstr "" + +#: rp-admin.php:250 +msgid "Formatting Date and Time" +msgstr "" + +#: rp-admin.php:257 +#, php-format +msgid "" +"If checked, add a custom field to each post with name %s and the thumbnail " +"URL as the value." +msgstr "" + +#: rp-admin.php:258 rp-admin.php:263 +#, php-format +msgid "This can be done in the %s section when adding or editing a post." +msgstr "" + +#: rp-admin.php:258 rp-admin.php:263 +msgid "Custom Fields" +msgstr "" + +#: rp-admin.php:260 +#, php-format +msgid "" +"If checked, you can customize the CSS for Rotating Posts in your theme's CSS " +"file. Use the %s to get started." +msgstr "" + +#: rp-admin.php:260 +msgid "provided CSS" +msgstr "" + +#: rp-admin.php:262 +#, php-format +msgid "" +"If checked, add a custom field to each post with name %s and the customized " +"content as the value. For example, this could be used to insert an image " +"instead of the content of your post." +msgstr "" + +#: rp-admin.php:268 +msgid "Show posts from category" +msgstr "" + +#: rp-admin.php:271 +msgid "Show all categories" +msgstr "" + +#: rp-admin.php:277 +msgid "Change navigation buttons" +msgstr "" + +#: rp-admin.php:287 +msgid "Save Changes" +msgstr "" + +#. Plugin Name of an extension +msgid "Rotating Posts" +msgstr "" + +#. Plugin URI of an extension +msgid "http://wordpress.org/extend/plugins/rotating-posts/" +msgstr "" + +#. Description of an extension +msgid "" +"Easily create customizable rotating posts like those seen on popular news " +"sites." +msgstr "" + +#. Author of an extension +msgid "Mark Inderhees" +msgstr "" + +#. Author URI of an extension +msgid "http://mark.inderhees.net" +msgstr "" diff --git a/wp-content/plugins/rotating-posts/readme.txt b/wp-content/plugins/rotating-posts/readme.txt new file mode 100644 index 0000000..b61b5ba --- /dev/null +++ b/wp-content/plugins/rotating-posts/readme.txt @@ -0,0 +1,107 @@ +=== Rotating Posts === +Contributors: YukataNinja +Donate link: http://mark.inderhees.net/donate/ +Tags: rotating posts, rotating, posts, news, news feed, news site +Requires at least: 2.7 +Tested up to: 3.3.1 +Stable tag: 1.11 + +Rotating Posts allows you to easily create customizable rotating posts like those seen on popular news sites. + +== Description == + +Create rotating posts like those seen on popular news sites. The plugin is highly customizable to fit your theme and desires. + +[See an example](http://demo.inderhees.net/) + +[See a customized CSS example](http://www.weareecs.com) + +If you use this plugin and want to share your site or theme, please post about it in the [forum](http://wordpress.org/tags/rotating-posts?forum_id=10). + +If you translate this plugin or are interested in translating, please let me know on the [forum](http://wordpress.org/tags/rotating-posts?forum_id=10). + +== Installation == + +1. Unzip in your plugins directory. +1. Activate the plugin through the 'Plugins' menu in WordPress. +1. Customize settings under the main Settings menu -> Rotating Posts +1. Insert into your theme or page + * Add `[rotating-posts]` to any page. Or + * Add `` to your theme. Most usually in index.php. +1. If desired, create your own CSS. + +== Frequently Asked Questions == + += Where exactly do I put the php tag? = + +If you use the default theme and want your site to look like the [demo site](http://demo.inderhees.net) then your index.php should look like this: +` + + +
    + + + +
    + + + +` + += Can I have multiple Rotating Posts with different categories? = + +Yes! As of 1.10 you can use a new attribute in the shortcode: + +`[rotating-posts category_name="Soccer"]` + +If your category name has a space in it then you need to use the URL friendly slug you set. Say the category name is "Seattle Sounders FC" and the slug is "ssfc" then your short code would be: + +`[rotating-posts category_name="ssfc"]` + +== Screenshots == + +1. With graphics +2. No graphics +3. Rotating Posts Admin + +== Changelog == + += 1.11 = +* Bug: http used when site is https + += 1.10 = +* Released June 25, 2010 +* Feature: Shortcode now has option of category_name="" + += 1.01 = +* Bug: Changed links in readme +* Bug: Should only show debug info when ?debug in url +* Bug: Performance increases +* Bug: Remove settings on uninstall + += 1.0 = +* Feature: Randomize Posts +* Feature: Show Custom Field instead of post content +* Feature: Instert into page instead of theme +* CSS: "line-height: normal" for p in rp_post_content +* Code format: tabs instead of spaces + += 0.9.1.3 = +* Optionally display title +* Set text before author, default is by +* Supports translations +* Added language pseudoloc ps_PS + += 0.9 = +* Original Version + +== Upgrade Notice == + += 1.10 = +Add new feature, the option to have category_name in the shortcode. \ No newline at end of file diff --git a/wp-content/plugins/rotating-posts/rotating-posts.css b/wp-content/plugins/rotating-posts/rotating-posts.css new file mode 100644 index 0000000..08c8ecf --- /dev/null +++ b/wp-content/plugins/rotating-posts/rotating-posts.css @@ -0,0 +1,173 @@ +/* +CSS Name: Rotating Posts Default Theme +Description: For Rotating Posts plugin with WordPress Default Theme +Author: Mark Inderhees +Version: 1.1 + +This can be used as a template for your own personal Rotating Posts Theme +*/ + + + +div.rp_post +{ +} + +div.rp_post h2 +{ + margin: 0; +} + +div.rp_post_title +{ +} + +div.rp_post_time_author +{ + font-family: Arial, Helvetica, Sans-Serif; + font-size: 0.9em; + color: #777; + margin: 0 0 5px 0; +} + +div.rp_post_content +{ + height: 125px; + margin: 0; + padding: 0; + overflow: hidden; +} + +div.rp_post_content p +{ + padding: 0 0 10px 0; + margin: 0; + line-height: normal; +} + +div.rp_post p.rp_post_metadata +{ + color: #777; + margin: 0; + padding: 0; +} + +div#rp_nav +{ + margin: 10px 0 0 0; + padding: 0 0 3px 0; +} + +div#rp_nav a +{ + cursor: pointer; + text-decoration: none; +} + +div#rp_nav #rp_nav_arrows +{ + padding: 0 15px 0 0; +} + +div#rp_nav #rp_nav_arrows a.rp_nav_button:hover +{ + /*color: #b85b5a;*/ +} + +div#rp_nav #rp_nav_arrows a#rp_nav_left +{ +} + +div#rp_nav #rp_nav_arrows a#rp_nav_pause +{ +} + +div#rp_nav #rp_nav_arrows img +{ +} + +div#rp_nav #rp_nav_arrows span.rp_nav_arrow_text +{ + padding: 2px 5px 2px 5px; + border: solid 1px #000; +} + +div#rp_nav #rp_nav_arrows span.rp_nav_arrow_text:hover +{ + background-color: #b85b5a; +} + +div#rp_nav #rp_nav_arrows a#rp_nav_pause img#rp_nav_pause_normal +{ +} + +div#rp_nav #rp_nav_arrows a#rp_nav_pause img#rp_nav_pause_pressed +{ +} + +div#rp_nav #rp_nav_arrows a#rp_nav_pause span#rp_nav_pause_normal +{ +} + +div#rp_nav #rp_nav_arrows a#rp_nav_pause span#rp_nav_pause_pressed +{ + /*color: #b85b5a;*/ + background-color: #ddd; +} + +div#rp_nav #rp_nav_arrows a#rp_nav_right +{ +} + +div#rp_nav #rp_nav_thumbnails +{ +} + +div#rp_nav #rp_nav_thumbnails a.rp_nav_thumbnail +{ +} + +div#rp_nav #rp_nav_thumbnails img +{ + margin: 0 5px 0 0; + border: solid 1px #000; +} + +div#rp_nav #rp_nav_thumbnails img.rp_nav_thumbnail_on +{ +} + +div#rp_nav #rp_nav_thumbnails img.rp_nav_thumbnail_off +{ + opacity: 0.2; + filter: alpha(opacity=20); +} + +div#rp_nav #rp_nav_thumbnails img.rp_nav_thumbnail_off:hover +{ + opacity: 0.5; + filter: alpha(opacity=50); +} + +div#rp_nav #rp_nav_thumbnails span.rp_nav_thumbnail_on +{ + padding: 2px 5px 2px 5px; + border: solid 1px #000; + background-color: #ddd; +} + +div#rp_nav #rp_nav_thumbnails span.rp_nav_thumbnail_on:hover +{ + background-color: #b85b5a; +} + +div#rp_nav #rp_nav_thumbnails span.rp_nav_thumbnail_off +{ + padding: 2px 5px 2px 5px; + border: solid 1px #000; +} + +div#rp_nav #rp_nav_thumbnails span.rp_nav_thumbnail_off:hover +{ + background-color: #b85b5a; +} diff --git a/wp-content/plugins/rotating-posts/rotating-posts.js b/wp-content/plugins/rotating-posts/rotating-posts.js new file mode 100644 index 0000000..b542efb --- /dev/null +++ b/wp-content/plugins/rotating-posts/rotating-posts.js @@ -0,0 +1,59 @@ + /* + * Version 1.0 + */ + +var $rp_timer = 0; + +function rp_timer_click() +{ + rp_change_text(window.rp_current_post + 1); + rp_start_timer(); +} + +function rp_start_timer() +{ + $rp_timer = setTimeout("rp_timer_click()", window.rp_timer_sec * 1000); + document.getElementById("rp_nav_pause").onclick = rp_stop_timer; + document.getElementById("rp_nav_pause_normal").style.display = "inline"; + document.getElementById("rp_nav_pause_pressed").style.display = "none"; +} + +function rp_stop_timer() +{ + clearTimeout($rp_timer); + document.getElementById("rp_nav_pause").onclick = rp_restart_timer; + document.getElementById("rp_nav_pause_normal").style.display = "none"; + document.getElementById("rp_nav_pause_pressed").style.display = "inline"; +} + +function rp_restart_timer() +{ + rp_timer_click(); +} + +function rp_change_text($rp_current) +{ + rp_stop_timer(); + + if ($rp_current < 0) + { + $rp_current = window.rp_number_posts - 1; + } + $rp_current = $rp_current % window.rp_number_posts; + + window.rp_current_post = $rp_current; + + for (i = 0; i < window.rp_number_posts; i++) + { + if (i == $rp_current) + { + document.getElementById('rp_post' + i).style.display = "block"; + document.getElementById('rp_nav_thumbnail' + i).className = "rp_nav_thumbnail_on"; + } + else + { + document.getElementById('rp_post' + i).style.display = "none"; + document.getElementById('rp_nav_thumbnail' + i).className = "rp_nav_thumbnail_off"; + } + } +} diff --git a/wp-content/plugins/rotating-posts/rotating-posts.php b/wp-content/plugins/rotating-posts/rotating-posts.php new file mode 100644 index 0000000..c986e18 --- /dev/null +++ b/wp-content/plugins/rotating-posts/rotating-posts.php @@ -0,0 +1,432 @@ + +--------------------------------------------------------------------- +*/ +define("RP_VERSION", "1.11"); + +define("ROTATING_POSTS_DIR", dirname(__FILE__)); +define("ROTATING_POSTS_URL", plugins_url() . "/" . dirname(plugin_basename(__FILE__))); +define("ROTATING_POSTS_URL_CSS", ROTATING_POSTS_URL . "/rotating-posts.css"); + +define("RP_OPTION_VERSION", "rp_version"); +define("RP_OPTION_NUMBER_POSTS", "rp_number_posts"); +define("RP_OPTION_NUMBER_POSTS_DEFAULT", "5"); +define("RP_OPTION_TIMER_SEC", "rp_timer_sec"); +define("RP_OPTION_TIMER_SEC_DEFAULT", "5"); +define("RP_OPTION_THUMBNAILS", "rp_thumbnails"); +define("RP_OPTION_THUMBNAILS_DEFAULT", "false"); +define("RP_OPTION_ARROWS", "rp_arrows"); +define("RP_OPTION_ARROWS_DEFAULT", "false"); +define("RP_OPTION_TITLE", "rp_title"); +define("RP_OPTION_TITLE_DEFAULT", "true"); +define("RP_OPTION_DATE_TIME", "rp_date_time"); +define("RP_OPTION_DATE_TIME_DEFAULT", "true"); +define("RP_OPTION_DATE_TIME_STR", "rp_date_time_str"); +define("RP_OPTION_DATE_TIME_STR_DEFAULT", "F jS, Y"); +define("RP_OPTION_AUTHOR", "rp_author"); +define("RP_OPTION_AUTHOR_DEFAULT", "true"); +define("RP_OPTION_AUTHOR_PREFIX", "rp_author_prefix"); +define("RP_OPTION_AUTHOR_PREFIX_DEFAULT", __("by", 'rotating-posts')); +define("RP_OPTION_CATEGORIES", "rp_categories"); +define("RP_OPTION_CATEGORIES_DEFAULT", "true"); +define("RP_OPTION_COMMENTS", "rp_comments"); +define("RP_OPTION_COMMENTS_DEFAULT", "true"); +define("RP_OPTION_USE_THIS_CATEGORY", "rp_use_this_category"); +define("RP_OPTION_USE_THIS_CATEGORY_DEFAULT", "0"); +define("RP_OPTION_LEFT", "rp_left"); +define("RP_OPTION_LEFT_DEFAULT", ROTATING_POSTS_URL . "/images/left.jpg"); +define("RP_OPTION_RIGHT", "rp_right"); +define("RP_OPTION_RIGHT_DEFAULT", ROTATING_POSTS_URL . "/images/right.jpg"); +define("RP_OPTION_PAUSE_NORMAL", "rp_pause_normal"); +define("RP_OPTION_PAUSE_NORMAL_DEFAULT", ROTATING_POSTS_URL . "/images/pause.jpg"); +define("RP_OPTION_PAUSE_PRESSED", "rp_pause_pressed"); +define("RP_OPTION_PAUSE_PRESSED_DEFAULT", ROTATING_POSTS_URL . "/images/pause_on.jpg"); +define("RP_OPTION_OVERRIDE_CSS", "rp_override_css"); +define("RP_OPTION_OVERRIDE_CSS_DEFAULT", "false"); +define("RP_OPTION_READ_MORE", "rp_read_more"); +define("RP_OPTION_READ_MORE_DEFAULT", "
    " . __("Read more", 'rotating-posts')); +define("RP_OPTION_RANDOM_POSTS", "rp_random_posts"); +define("RP_OPTION_RANDOM_POSTS_DEFAULT", "false"); +define("RP_OPTION_CUSTOM_CONTENT", "rp_custom_content"); +define("RP_OPTION_CUSTOM_CONTENT_DEFAULT", "false"); + +include_once(ROTATING_POSTS_DIR . "/rp-admin.php"); + +function rotating_posts($category_name = '') +{ + if (isset($_GET["debug"])) + { + define("RP_DEBUG", true); + } + + load_plugin_textdomain("rotating-posts", str_replace(ABSPATH, "", dirname(__FILE__) . "/lang") , dirname(plugin_basename(__FILE__)) . "/lang"); + + $rp_number_posts = get_option(RP_OPTION_NUMBER_POSTS); + $rp_use_this_category = get_option(RP_OPTION_USE_THIS_CATEGORY); + $rp_timer_sec = get_option(RP_OPTION_TIMER_SEC); + $rp_display_thumbnails = ("true" == get_option(RP_OPTION_THUMBNAILS)); + $rp_display_title = ("true" == get_option(RP_OPTION_TITLE)); + $rp_display_arrows = ("true" == get_option(RP_OPTION_ARROWS)); + $rp_display_date_time = ("true" == get_option(RP_OPTION_DATE_TIME)); + $rp_display_author = ("true" == get_option(RP_OPTION_AUTHOR)); + $rp_display_categories = ("true" == get_option(RP_OPTION_CATEGORIES)); + $rp_display_comments = ("true" == get_option(RP_OPTION_COMMENTS)); + $rp_custom_content = ("true" == get_option(RP_OPTION_CUSTOM_CONTENT)); + $rp_left = get_option(RP_OPTION_LEFT); + $rp_right = get_option(RP_OPTION_RIGHT); + $rp_pause_normal = get_option(RP_OPTION_PAUSE_NORMAL); + $rp_pause_pressed = get_option(RP_OPTION_PAUSE_PRESSED); + + echo "
    \n"; + + $rp_query = ""; + $rp_query .= "showposts={$rp_number_posts}&"; + if ('' == $category_name) + { + $rp_query .= "cat={$rp_use_this_category}"; + } + else + { + $rp_query .= "category_name={$category_name}"; + } + + if ("true" == get_option(RP_OPTION_RANDOM_POSTS)) + { + $rp_query .= "&orderby=rand"; + } + + $rp_WPQuery = new WP_Query($rp_query); + + if ($rp_WPQuery->post_count < $rp_number_posts) + { + // override value with actual count + $rp_number_posts = $rp_WPQuery->post_count; + } + + if (defined("RP_DEBUG")) + { + echo $rp_query . "\n"; + echo $rp_number_posts . "\n"; + } + + if ($rp_WPQuery->have_posts()) + { + for ($count = 0; $count < $rp_number_posts; $count++) + { + $rp_WPQuery->the_post(); + + global $more; + $more = false; + + if (0 == $count) + { + $postStyle = ""; + } + else + { + $postStyle = "display:none;"; + } + $postPermalink = get_permalink(); + $postTitle = get_the_title(); + $postTime = get_the_time(get_option(RP_OPTION_DATE_TIME_STR)); + $postAuthor = get_the_author(); + $postCategory = get_the_category_list(", "); + $postComments = get_comments_link(); + $rp_by_author_text = get_option(RP_OPTION_AUTHOR_PREFIX) . " " . $postAuthor; + $rp_posted_in_category_text = sprintf(__("Posted in %s", 'rotating-posts'), $postCategory); + $rp_comments_text = __("Comments", 'rotating-posts'); + + if (!$rp_custom_content) + { + $postContent = get_the_content(get_option(RP_OPTION_READ_MORE)); + $postContent = apply_filters('the_content', $postContent); + $postContent = str_replace(']]>', ']]>', $postContent); + } + else + { + $postContentArray = get_post_custom_values("rp_content"); + $postContent = $postContentArray[0]; + } + + echo "
    \n"; + + if ($rp_display_title) + { + echo "

    {$postTitle}

    \n"; + } + + if ($rp_display_date_time && $rp_display_author) + { + echo "
    {$postTime}
    \n"; + } + else if ($rp_display_date_time) + { + echo "
    {$postTime}
    \n"; + } + else if ($rp_display_author) + { + echo "
    \n"; + } + + echo "
    {$postContent}
    \n"; + + if ($rp_display_categories && $rp_display_comments) + { + echo " \n"; + } + else if ($rp_display_categories) + { + echo " \n"; + } + else if ($rp_display_comments) + { + echo + " \n"; + } + + echo "
    \n"; + + $thumbnailURL[$count] = get_post_custom_values("rp_thumbnail"); + } + + echo "
    \n"; + echo " \n"; + if ($rp_display_arrows) + { + echo " \n"; + echo " \n"; + echo " \n"; + } + else + { + echo " <\n"; + echo " ||||\n"; + echo " >\n"; + } + echo " \n"; + + echo " \n"; + for ($i = 0; $i < $rp_number_posts; $i++) + { + if (0 == $i) + { + $thumbnailClass = "rp_nav_thumbnail_on"; + } + else + { + $thumbnailClass = "rp_nav_thumbnail_off"; + } + + if ($rp_display_thumbnails) + { + echo " \n"; + } + else + { + $i_plus = $i + 1; + echo " {$i_plus}\n"; + } + } + echo " \n"; + echo " \n"; + echo "
    \n"; + } + + echo "
    \n"; +} + +function rp_shortcode($atts) +{ + ob_start(); + extract(shortcode_atts(array('category_name' => ''), $atts)); + rotating_posts($category_name); + $output = ob_get_contents(); + ob_end_clean(); + + return $output; +} + +function rp_option_menu_init() +{ + add_options_page(__("Rotating Posts Settings", 'rotating-posts'), __("Rotating Posts", 'rotating-posts'), 8, "rp-admin.php", "rp_option_menu"); +} + +function load_scripts() +{ + wp_enqueue_script("rotatingposts", ROTATING_POSTS_URL . "/rotating-posts.js", false, "1.0"); +} + +function load_styles() +{ + if ("false" == get_option(RP_OPTION_OVERRIDE_CSS)) + { + wp_enqueue_style("rotatingposts", ROTATING_POSTS_URL_CSS, false, "1.1"); + } +} + +function rp_activate() +{ + //update option values if rp has not been updated yet + if (version_compare(RP_VERSION, get_option(RP_OPTION_VERSION, ">"))) + { + update_option(RP_OPTION_VERSION, RP_VERSION); + + if (NULL == get_option(RP_OPTION_NUMBER_POSTS)) + { + update_option(RP_OPTION_NUMBER_POSTS, RP_OPTION_NUMBER_POSTS_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_TIMER_SEC)) + { + update_option(RP_OPTION_TIMER_SEC, RP_OPTION_TIMER_SEC_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_THUMBNAILS)) + { + update_option(RP_OPTION_THUMBNAILS, RP_OPTION_THUMBNAILS_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_ARROWS)) + { + update_option(RP_OPTION_ARROWS, RP_OPTION_ARROWS_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_TITLE)) + { + update_option(RP_OPTION_TITLE, RP_OPTION_TITLE_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_DATE_TIME)) + { + update_option(RP_OPTION_DATE_TIME, RP_OPTION_DATE_TIME_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_DATE_TIME_STR)) + { + update_option(RP_OPTION_DATE_TIME_STR, RP_OPTION_DATE_TIME_STR_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_AUTHOR)) + { + update_option(RP_OPTION_AUTHOR, RP_OPTION_AUTHOR_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_AUTHOR_PREFIX)) + { + update_option(RP_OPTION_AUTHOR_PREFIX, RP_OPTION_AUTHOR_PREFIX_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_CATEGORIES)) + { + update_option(RP_OPTION_CATEGORIES, RP_OPTION_CATEGORIES_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_COMMENTS)) + { + update_option(RP_OPTION_COMMENTS, RP_OPTION_COMMENTS_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_USE_THIS_CATEGORY)) + { + update_option(RP_OPTION_USE_THIS_CATEGORY, RP_OPTION_USE_THIS_CATEGORY_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_LEFT)) + { + update_option(RP_OPTION_LEFT, RP_OPTION_LEFT_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_RIGHT)) + { + update_option(RP_OPTION_RIGHT, RP_OPTION_RIGHT_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_PAUSE_NORMAL)) + { + update_option(RP_OPTION_PAUSE_NORMAL, RP_OPTION_PAUSE_NORMAL_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_PAUSE_PRESSED)) + { + update_option(RP_OPTION_PAUSE_PRESSED, RP_OPTION_PAUSE_PRESSED_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_OVERRIDE_CSS)) + { + update_option(RP_OPTION_OVERRIDE_CSS, RP_OPTION_OVERRIDE_CSS_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_READ_MORE)) + { + update_option(RP_OPTION_READ_MORE, RP_OPTION_READ_MORE_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_RANDOM_POSTS)) + { + update_option(RP_OPTION_RANDOM_POSTS, RP_OPTION_RANDOM_POSTS_DEFAULT); + } + + if (NULL == get_option(RP_OPTION_CUSTOM_CONTENT)) + { + update_option(RP_OPTION_CUSTOM_CONTENT, RP_OPTION_CUSTOM_CONTENT_DEFAULT); + } + } +} + +function rp_uninstall() +{ + delete_option(RP_OPTION_VERSION); + delete_option(RP_OPTION_NUMBER_POSTS); + delete_option(RP_OPTION_TIMER_SEC); + delete_option(RP_OPTION_THUMBNAILS); + delete_option(RP_OPTION_ARROWS); + delete_option(RP_OPTION_TITLE); + delete_option(RP_OPTION_DATE_TIME); + delete_option(RP_OPTION_DATE_TIME_STR); + delete_option(RP_OPTION_AUTHOR); + delete_option(RP_OPTION_AUTHOR_PREFIX); + delete_option(RP_OPTION_CATEGORIES); + delete_option(RP_OPTION_COMMENTS); + delete_option(RP_OPTION_USE_THIS_CATEGORY); + delete_option(RP_OPTION_LEFT); + delete_option(RP_OPTION_RIGHT); + delete_option(RP_OPTION_PAUSE_NORMAL); + delete_option(RP_OPTION_PAUSE_PRESSED); + delete_option(RP_OPTION_OVERRIDE_CSS); + delete_option(RP_OPTION_READ_MORE); + delete_option(RP_OPTION_RANDOM_POSTS); + delete_option(RP_OPTION_CUSTOM_CONTENT); +} + +add_action("admin_menu", "rp_option_menu_init"); +add_action("wp_print_scripts", "load_scripts"); +add_action("wp_print_styles", "load_styles"); +register_activation_hook(__FILE__, "rp_activate"); +register_uninstall_hook(__FILE__, "rp_uninstall"); +add_shortcode('rotating-posts', 'rp_shortcode'); +?> diff --git a/wp-content/plugins/rotating-posts/rp-admin.php b/wp-content/plugins/rotating-posts/rp-admin.php new file mode 100644 index 0000000..2a8063b --- /dev/null +++ b/wp-content/plugins/rotating-posts/rp-admin.php @@ -0,0 +1,296 @@ +

    " . sprintf(__("Error in %s using default of %s", 'rotating-posts'), "%s", "%s") . "

    \n"; + + if (isset($_POST[$hidden_field_name])) + { + echo "

    " . __("Settings saved", 'rotating-posts') . "

    \n"; + + if ("" != $_POST[RP_OPTION_NUMBER_POSTS] && $_POST[RP_OPTION_NUMBER_POSTS] > 0) + { + update_option(RP_OPTION_NUMBER_POSTS, $_POST[RP_OPTION_NUMBER_POSTS]); + } + else + { + printf($str_error_text, $str_number_posts, RP_OPTION_NUMBER_POSTS_DEFAULT); + update_option(RP_OPTION_NUMBER_POSTS, RP_OPTION_NUMBER_POSTS_DEFAULT); + } + + if ("" != $_POST[RP_OPTION_TIMER_SEC] && $_POST[RP_OPTION_TIMER_SEC] > 0) + { + update_option(RP_OPTION_TIMER_SEC, $_POST[RP_OPTION_TIMER_SEC]); + } + else + { + printf($str_error_text, $str_timer_sec, RP_OPTION_TIMER_SEC_DEFAULT); + update_option(RP_OPTION_TIMER_SEC, RP_OPTION_TIMER_SEC_DEFAULT); + } + + if ("true" == $_POST[RP_OPTION_THUMBNAILS]) + { + update_option(RP_OPTION_THUMBNAILS, "true"); + } + else + { + update_option(RP_OPTION_THUMBNAILS, "false"); + } + + if ("true" == $_POST[RP_OPTION_ARROWS]) + { + update_option(RP_OPTION_ARROWS, "true"); + } + else + { + update_option(RP_OPTION_ARROWS, "false"); + } + + if ("true" == $_POST[RP_OPTION_DATE_TIME]) + { + update_option(RP_OPTION_DATE_TIME, "true"); + } + else + { + update_option(RP_OPTION_DATE_TIME, "false"); + } + + if ("" != $_POST[RP_OPTION_DATE_TIME_STR]) + { + update_option(RP_OPTION_DATE_TIME_STR, $_POST[RP_OPTION_DATE_TIME_STR]); + } + else + { + printf($str_error_text, $str_date_time_str, RP_OPTION_DATE_TIME_STR_DEFAULT); + update_option(RP_OPTION_DATE_TIME_STR, RP_OPTION_DATE_TIME_STR_DEFAULT); + } + + if ("true" == $_POST[RP_OPTION_TITLE]) + { + update_option(RP_OPTION_TITLE, "true"); + } + else + { + update_option(RP_OPTION_TITLE, "false"); + } + + if ("true" == $_POST[RP_OPTION_AUTHOR]) + { + update_option(RP_OPTION_AUTHOR, "true"); + } + else + { + update_option(RP_OPTION_AUTHOR, "false"); + } + + if ("" != $_POST[RP_OPTION_AUTHOR_PREFIX]) + { + update_option(RP_OPTION_AUTHOR_PREFIX, $_POST[RP_OPTION_AUTHOR_PREFIX]); + } + else + { + printf($str_error_text, $str_author_prefix, RP_OPTION_AUTHOR_PREFIX_DEFAULT); + update_option(RP_OPTION_AUTHOR_PREFIX, RP_OPTION_AUTHOR_PREFIX_DEFAULT); + } + + if ("true" == $_POST[RP_OPTION_CATEGORIES]) + { + update_option(RP_OPTION_CATEGORIES, "true"); + } + else + { + update_option(RP_OPTION_CATEGORIES, "false"); + } + + if ("true" == $_POST[RP_OPTION_COMMENTS]) + { + update_option(RP_OPTION_COMMENTS, "true"); + } + else + { + update_option(RP_OPTION_COMMENTS, "false"); + } + + if ("true" == $_POST[RP_OPTION_RANDOM_POSTS]) + { + update_option(RP_OPTION_RANDOM_POSTS, "true"); + } + else + { + update_option(RP_OPTION_RANDOM_POSTS, "false"); + } + + if ("true" == $_POST[RP_OPTION_CUSTOM_CONTENT]) + { + update_option(RP_OPTION_CUSTOM_CONTENT, "true"); + } + else + { + update_option(RP_OPTION_CUSTOM_CONTENT, "false"); + } + + if ("" != $_POST[RP_OPTION_USE_THIS_CATEGORY]) + { + update_option(RP_OPTION_USE_THIS_CATEGORY, $_POST[RP_OPTION_USE_THIS_CATEGORY]); + } + + if ("" != $_POST[RP_OPTION_LEFT]) + { + update_option(RP_OPTION_LEFT, $_POST[RP_OPTION_LEFT]); + } + else + { + printf($str_error_text, $str_left, RP_OPTION_LEFT_DEFAULT); + update_option(RP_OPTION_LEFT, RP_OPTION_LEFT_DEFAULT); + } + + if ("" != $_POST[RP_OPTION_RIGHT]) + { + update_option(RP_OPTION_RIGHT, $_POST[RP_OPTION_RIGHT]); + } + else + { + printf($str_error_text, $str_right, RP_OPTION_RIGHT_DEFAULT); + update_option(RP_OPTION_RIGHT, RP_OPTION_RIGHT_DEFAULT); + } + + if ("" != $_POST[RP_OPTION_PAUSE_NORMAL]) + { + update_option(RP_OPTION_PAUSE_NORMAL, $_POST[RP_OPTION_PAUSE_NORMAL]); + } + else + { + printf($str_error_text, $str_pause_normal, RP_OPTION_PAUSE_NORMAL_DEFAULT); + update_option(RP_OPTION_PAUSE_NORMAL, RP_OPTION_PAUSE_NORMAL_DEFAULT); + } + + if ("" != $_POST[RP_OPTION_PAUSE_PRESSED]) + { + update_option(RP_OPTION_PAUSE_PRESSED, $_POST[RP_OPTION_PAUSE_PRESSED]); + } + else + { + printf($str_error_text, $str_pause_pressed, RP_OPTION_PAUSE_PRESSED_DEFAULT); + update_option(RP_OPTION_PAUSE_PRESSED, RP_OPTION_PAUSE_PRESSED_DEFAULT); + } + + if ("true" == $_POST[RP_OPTION_OVERRIDE_CSS]) + { + update_option(RP_OPTION_OVERRIDE_CSS, "true"); + } + else + { + update_option(RP_OPTION_OVERRIDE_CSS, "false"); + } + + if ("" != $_POST[RP_OPTION_READ_MORE]) + { + update_option(RP_OPTION_READ_MORE, $_POST[RP_OPTION_READ_MORE]); + } + else + { + printf($str_error_text, $str_read_more, RP_OPTION_READ_MORE_DEFAULT); + update_option(RP_OPTION_READ_MORE, RP_OPTION_READ_MORE_DEFAULT); + } + } + + ?> +
    +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + +
    + +
    + />
    + /> + + " . __("Formatting Date and Time", 'rotating-posts') . "."); ?>
    + /> +
    + />
    + />
    + />
    + /> . + rp_thumbnail"); ?> + " . __("Custom Fields", 'rotating-posts') . ""); ?>
    + /> . + " . __("provided CSS", 'rotating-posts') . ""); ?>
    + /> . + rp_content"); ?> + " . __("Custom Fields", 'rotating-posts') . ""); ?>
    + /> +
    + +
    +
    +
    +
    +
    +
    +

    + +

    +
    +
    + + \ No newline at end of file diff --git a/wp-content/plugins/rotating-posts/screenshot-1.jpg b/wp-content/plugins/rotating-posts/screenshot-1.jpg new file mode 100644 index 0000000..f03dd24 Binary files /dev/null and b/wp-content/plugins/rotating-posts/screenshot-1.jpg differ diff --git a/wp-content/plugins/rotating-posts/screenshot-2.jpg b/wp-content/plugins/rotating-posts/screenshot-2.jpg new file mode 100644 index 0000000..be5b021 Binary files /dev/null and b/wp-content/plugins/rotating-posts/screenshot-2.jpg differ diff --git a/wp-content/plugins/rotating-posts/screenshot-3.jpg b/wp-content/plugins/rotating-posts/screenshot-3.jpg new file mode 100644 index 0000000..d1c2567 Binary files /dev/null and b/wp-content/plugins/rotating-posts/screenshot-3.jpg differ diff --git a/wp-content/plugins/wordpress-mu-domain-mapping/Changelog.txt b/wp-content/plugins/wordpress-mu-domain-mapping/Changelog.txt new file mode 100644 index 0000000..ea1562a --- /dev/null +++ b/wp-content/plugins/wordpress-mu-domain-mapping/Changelog.txt @@ -0,0 +1,624 @@ +2013-03-22 10:54 donncha + + * readme.txt: Bump stable tag and version tested + +2013-03-22 10:00 donncha + + * domain_mapping.php: * Replace HTTPS checks with is_ssl() checks + * Fix typo in Javascript login loader + +2013-02-25 22:42 wpmuguru + + * domain_mapping.php, readme.txt: remove support for pre 3.1, + update for 3.5 WP install in own folder + +2013-01-30 23:16 wpmuguru + + * domain_mapping.php: fix warnings & mixed protocols warning + +2012-09-06 17:07 wpmuguru + + * domain_mapping.php: fix warning, props simonhayre + +2012-05-11 23:10 wpmuguru + + * domain_mapping.php: disable domain redirect for theme customizer + in 3.4 + +2012-01-21 16:44 wpmuguru + + * readme.txt: update tested to version + +2012-01-21 16:43 wpmuguru + + * readme.txt, sunrise.php: tag & release 0.5.4.2 + +2012-01-07 17:43 wpmuguru + + * domain_mapping.php: don\'t redirect on post preview + +2011-12-18 23:56 wpmuguru + + * domain_mapping.php: another add_site_option + +2011-12-15 03:01 wpmuguru + + * domain_mapping.php: s/add_site_option/update_site_option/ + +2011-10-08 14:18 wpmuguru + + * domain_mapping.php: strtolower domain, bug fixes + +2011-08-17 02:17 wpmuguru + + * domain_mapping.php: attempt no redirect on admin-ajax.php + +2011-07-21 02:13 wpmuguru + + * domain_mapping.php: s/==/=/ + +2011-07-19 21:48 wpmuguru + + * readme.txt: bump repo + +2011-07-03 19:25 wpmuguru + + * Changelog.txt, readme.txt: bump 0.5.4.1, tested 3.2 compatibility + +2011-05-27 16:40 wpmuguru + + * domain_mapping.php: fix notice, props Chip B + +2011-03-13 15:00 wpmuguru + + * domain_mapping.php: custom content dir, always check for dm table + +2011-03-01 11:00 donncha + + * Changelog.txt: Updated changelog + +2011-03-01 10:59 donncha + + * domain_mapping.php: Define dmtable to avoid sql problems when + siteurl is used outside of admin, props johnjamesjacoby + +2011-02-23 17:33 donncha + + * Changelog.txt: Updated changelog + +2011-02-23 17:32 donncha + + * domain_mapping.php, readme.txt: Bump to version 0.5.4 + +2011-01-17 17:51 wpmuguru + + * domain_mapping.php: add sites column hook for 3.1 + +2011-01-17 15:41 wpmuguru + + * domain_mapping.php: menu cleanup for 3.1 + +2011-01-17 15:00 donncha + + * domain_mapping.php, readme.txt: localization fixes, props Peter + Holme, http://holme.se + +2011-01-17 12:28 donncha + + * domain_mapping.php: Minor typo, props wpmuguru + +2011-01-15 23:52 wpmuguru + + * domain_mapping.php: fix invalid markup + +2011-01-15 21:06 wpmuguru + + * domain_mapping.php: allow comma separated IP list, minor function + & path cleanup + +2010-12-21 18:13 donncha + + * domain_mapping.php: Fixes for menus in 3.0 and 3.1, see + http://wordpress.org/support/topic/plugin-wordpress-mu-domain-mapping-broken-link?replies=1#post-1838482 + +2010-11-29 17:26 donncha + + * domain_mapping.php: Fixed delete domain redirect, see + http://wordpress.org/support/topic/plugin-wordpress-mu-domain-mapping-cosmetic-issue-bounces-to-main-tools-page?replies=1 + +2010-11-29 17:01 donncha + + * domain_mapping.php: Added IDN warning, See + http://wordpress.org/support/topic/plugin-wordpress-mu-domain-mapping-mapping-domains-with-international-characters-idn?replies=3#post-1808113, + props Esteban Bianchi + +2010-11-29 16:30 donncha + + * domain_mapping.php: Add menu items in WordPress 3.1's network + admin menu + +2010-11-04 17:14 donncha + + * domain_mapping.php: Better markup for the settings page, props + Matt Wiebe, http://somadesign.ca/ + +2010-11-03 12:06 donncha + + * domain_mapping.php: Get rid of DEBUG mode warnings + +2010-11-03 11:57 donncha + + * domain_mapping.php: Added "dm_site_admin()" to support + is_site_admin() and is_super_admin() + +2010-11-02 13:39 donncha + + * readme.txt: Plugin can be installed in plugins, updated docs. + +2010-11-02 12:58 donncha + + * domain_mapping.php: Make sure the admin_url is SSL if switched to + that. Props Adam Backstrom + (http://twitter.com/#!/abackstrom/statuses/29451159737) + +2010-10-29 12:01 donncha + + * Changelog.txt: Updated changelog + +2010-10-29 11:57 donncha + + * wordpress-mu-domain-mapping.pot: Updated translation file + +2010-10-29 11:54 donncha + + * readme.txt: Link to Otto's installation docs + +2010-10-29 09:31 donncha + + * domain_mapping.php, readme.txt: Minor edits to make installation + and upgrading easier + +2010-10-28 13:36 donncha + + * domain_mapping.php: Bump version to 0.5.3 + +2010-10-28 13:35 donncha + + * readme.txt: Bumped version to 0.5.3 + +2010-10-28 13:33 donncha + + * Changelog.txt, readme.txt: Updated changelog + +2010-10-28 13:07 donncha + + * readme.txt: Updated docs, changeog + +2010-10-28 13:03 donncha + + * domain_mapping.php: Minor change to text on site admin options + page + +2010-10-27 22:41 donncha + + * domain_mapping.php: Allow "primary domain" option to be disabled + +2010-10-20 09:13 donncha + + * domain_mapping.php: Use WP_CONTENT_DIR when looking for + sunrise.php, props Ryan Bilesky + +2010-08-25 10:48 donncha + + * domain_mapping.php: Check if remote login is enabled before + sending remote login js or doing remote login duties + +2010-08-03 01:28 wpmuguru + + * domain_mapping.php: more security improvements + +2010-08-02 00:08 wpmuguru + + * domain_mapping.php: security improvements, more to come + +2010-07-01 15:22 donncha + + * readme.txt: Removed donate link and added automattic as a + contributor + +2010-07-01 10:03 donncha + + * domain_mapping.php, sunrise.php: Added "SUNRISE_LOADED" constant + to detect if SUNRISE constant declared correctly + +2010-07-01 09:53 donncha + + * domain_mapping.php: Only redirect the logout url if admin pages + are redirected. Props Thomas M Steenholdt + +2010-06-22 22:54 wpmuguru + + * readme.txt: update readme & changelog + +2010-06-22 20:49 donncha + + * Changelog.txt: Added changelog + +2010-06-22 20:48 donncha + + * domain_mapping.php, readme.txt: Bump version to 0.5.2 + +2010-06-22 20:45 donncha + + * domain_mapping.php, wordpress-mu-domain-mapping.pot: Added + translation file and loader code + +2010-06-21 17:15 donncha + + * domain_mapping.php: Major gettext update to make translation + possible + +2010-06-18 17:49 wpmuguru + + * domain_mapping.php, readme.txt, sunrise.php: update readme, props + andrea_r, add www support + +2010-06-18 16:04 donncha + + * domain_mapping.php: * Add a warning for WP3.0 users that they + need to create a network first. + * Check for VHOST or SUBDOMAIN_INSTALL + +2010-04-30 13:18 donncha + + * domain_mapping.php: The admin_url filter now takes a blog_id. + This fixes a problem in ms-blogs.php where the Backend link went + to the main blog. + +2010-04-22 16:47 donncha + + * domain_mapping.php: Fix the logout key too + +2010-04-22 16:33 donncha + + * domain_mapping.php: Rearrange default options and fixed creating + the login entries. Thanks Frumph for the help. + +2010-04-22 14:08 donncha + + * domain_mapping.php, readme.txt: Rearrange "original domain" a + little + +2010-04-22 13:45 donncha + + * readme.txt: Updated docs to reflect new functionality + +2010-04-15 14:15 donncha + + * domain_mapping.php: * Add options to disable user settings page + and disable remote login. + * Restore optional "redirect to original blog domain" code but + disable remote login if it's disabled. + +2010-04-15 12:58 donncha + + * domain_mapping.php: Disable domain mapping if site is installed + anwhere but / + +2010-04-15 10:49 donncha + + * domain_mapping.php: Added domains listing admin page. + +2010-04-14 15:01 donncha + + * domain_mapping.php: Always redirect admin backend to original + url. + +2010-04-14 14:59 donncha + + * domain_mapping.php: * Show site admin page for folder based + installs too but site must be installed in / + * Abstract out sunrise settings check + +2010-03-24 18:09 donncha + + * domain_mapping.php: Better support for SSL + +2010-02-15 12:50 donncha + + * domain_mapping.php: Escape the &, props Nikhil Dabas + (http://www.nikhildabas.com/) + +2010-02-10 11:08 donncha + + * domain_mapping.php, readme.txt: Bumped the version to 0.5.1 and + the version tested to 2.9.1 + +2010-02-09 14:44 donncha + + * domain_mapping.php: Fix some warnings about variables + +2010-01-29 16:49 donncha + + * readme.txt: Updated changelog + +2010-01-29 16:43 donncha + + * readme.txt: Added Cpanel instructions, props Marty Martin + (http://mearis.com) + +2010-01-22 11:42 donncha + + * domain_mapping.php: Filter more urls, props Ryan Waggoner + (http://ryanwaggoner.com) + +2010-01-19 15:18 donncha + + * domain_mapping.php, readme.txt: Better docs related to CNAMEs + +2010-01-19 13:57 donncha + + * domain_mapping.php, readme.txt: Added CNAME support, props Martin + +2010-01-19 11:36 donncha + + * sunrise.php: Added check for COOKIE_DOMAIN, props Scott, + http://ocaoimh.ie/wordpress-mu-domain-mapping-05/comment-page-1/#comment-671821 + +2009-11-26 12:06 donncha + + * domain_mapping.php, readme.txt: Bump version to 0.5 and misc docs + updates + +2009-11-25 17:41 donncha + + * domain_mapping.php: Disable plugin if MU is installed anywhere + but "/" + +2009-11-24 18:29 wpmuguru + + * domain_mapping.php: prevent mapping domains on main blog in non + VHOST install + +2009-11-23 04:55 wpmuguru + + * domain_mapping.php: replace reference to /wp-content with + relative reference + +2009-11-22 21:06 wpmuguru + + * domain_mapping.php: fix ajaxurl only on redirect to original + domain + +2009-11-22 20:40 wpmuguru + + * domain_mapping.php, readme.txt: fix ajaxurl + add multi domain + map display + +2009-11-20 14:33 donncha + + * domain_mapping.php: Separate out code to handle admin page + updates so we can redirect to warning messages (and redirect to + new domains on delete or primary actions) + Tweak admin page. + +2009-11-20 13:36 donncha + + * domain_mapping.php: Redirect dashboard to same page, and redirect + to primary domain unless "Redirect to original url" checked + +2009-11-20 11:06 donncha + + * domain_mapping.php: Remove extra tick (this seems familiar!) + +2009-11-19 16:53 donncha + + * domain_mapping.php: Exit afte redirect only. Props kgraeme + http://mu.wordpress.org/forums/topic/15451/page/3?replies=67#post-88874 + Added failure messages. + +2009-11-18 09:56 donncha + + * domain_mapping.php: Remove extra quote, props kgraeme, + http://mu.wordpress.org/forums/topic/15451/page/2?replies=20#post-88795 + +2009-11-17 22:40 donncha + + * domain_mapping.php: Always exit after redirection + +2009-11-17 18:10 donncha + + * domain_mapping.php: When redirecting from dashboard on original + url go to ?dm_gotoadmin=1. If logged in on that url then go to + wp-admin/ + +2009-11-17 14:58 donncha + + * domain_mapping.php: Always redirect admin - to original url or + domain mapped one + +2009-11-17 10:41 donncha + + * readme.txt: Added changelog + +2009-11-17 10:38 donncha + + * domain_mapping.php: Use a random key for the remote login key + rather than an auto increment integer + +2009-11-17 09:34 donncha + + * domain_mapping.php: remote logins only valid for 2 minutes + +2009-11-17 09:31 donncha + + * readme.txt: Updated documentation + +2009-11-16 18:25 donncha + + * domain_mapping.php: Allow site admin to choose whether admin + redirects to main domain or not. + Revamped admin page for users. + +2009-11-13 12:13 donncha + + * domain_mapping.php: Redirect login to original domain. + Logout by redirect to original domain too and then back again to + domain mapped blog + +2009-11-13 11:40 donncha + + * domain_mapping.php: Logout of the main site when logging out of + domain mapped blog + +2009-11-13 11:38 donncha + + * sunrise.php: Set the blog_id of the current site's main blog + +2009-11-12 12:21 donncha + + * domain_mapping.php: Added remote logins + +2009-11-12 09:34 donncha + + * domain_mapping.php, sunrise.php: Allow domains to redirect on non + VHOST installs + +2009-11-05 10:40 donncha + + * domain_mapping.php: Updated contributions text + +2009-11-04 18:13 donncha + + * domain_mapping.php: Added site_admin page. + Added permanent redirection. + Added primary domain. + +2009-09-15 13:17 donncha + + * domain_mapping.php: Oops, only want to rewrite these if domain + mapping is enabled + +2009-09-15 13:15 donncha + + * domain_mapping.php: Fix plugin and theme URIs. Props Enej + Bajgoric + +2009-07-30 09:55 donncha + + * domain_mapping.php, readme.txt: Updated to 0.4.3, Updated + changelog, thanks Ron! + +2009-07-30 03:39 wpmuguru + + * domain_mapping.php, sunrise.php: Fixed bug in content filtering, + changed so sunrise does not take down a non vhost install + +2009-07-29 19:24 donncha + + * domain_mapping.php, readme.txt: Updated version to 0.4.2 + Added Changelog + Updated test version + +2009-06-17 13:51 donncha + + * domain_mapping.php: "pre_" actions are actually filters. + Added filter on the_content to replace MU url with domain mapped + url. + Don't redirect admin to domain mapped url + +2009-06-17 12:52 donncha + + * domain_mapping.php: Select current hostname from domain mapping + table in case more than one is defined for current blog, props + Jason Judge, + http://wordpress.org/support/topic/271030?replies=4#post-1105034 + +2009-06-02 12:25 donncha + + * domain_mapping.php: Don't allow an existing mu blog to be domain + mapped. + +2009-06-02 12:03 donncha + + * domain_mapping.php: Whitespace changes + +2009-06-02 11:59 donncha + + * domain_mapping.php: Patch from Ron (http://ronandandrea.com/): + 1. Only redirect siteurl and home if DOMAIN MAPPING set. + 2. Delete domain mapping record if blog deleted. + 3. Show mapping on blog's admin page. + +2009-04-16 07:37 donncha + + * domain_mapping.php, readme.txt: Bump version number to 0.4.1 + Added "Recent Changes" to readme.txt + +2009-04-16 07:19 donncha + + * domain_mapping.php: Don't redirect admin pages when not domain + mapped! + +2009-04-15 22:27 donncha + + * domain_mapping.php, readme.txt: Bump version number to 0.4 + +2009-04-15 22:25 donncha + + * domain_mapping.php: Redirect the admin backend to the domain + mapped hostname + +2009-03-31 11:24 donncha + + * readme.txt: Updated docs on IP addresses + +2009-03-30 17:14 donncha + + * readme.txt: Updated docs on IP addresses, A and CNAME records + +2009-03-30 07:49 donncha + + * domain_mapping.php: Updated instructions to handle servers with + more than one IP. + Redirect with REQUEST_URI, see + http://wordpress.org/support/topic/244964?replies=3 + +2009-03-30 07:48 donncha + + * readme.txt: Minor doc update - "Tools" menu + +2009-01-28 13:34 donncha + + * domain_mapping.php: Redirect to mapped domain + +2009-01-28 10:45 donncha + + * domain_mapping.php: Show mapped domains in backend too. + +2008-08-11 19:33 donncha + + * domain_mapping.php, readme.txt: Bump to 0.3 + +2008-08-11 19:24 donncha + + * sunrise.php: Use wp_blogs to create the $current_blog object + Use $current_blog->site_id to get the correct $current_site + +2008-08-11 17:27 donncha + + * domain_mapping.php, readme.txt: Bump the version number. Oops. + Hope this changes the download link + +2008-08-11 17:01 donncha + + * sunrise.php: Remember to set $blog_id, props Ron and Andrea_r + +2008-08-11 15:53 donncha + + * domain_mapping.php, readme.txt, sunrise.php: Initial import + +2008-08-11 14:09 plugin-master + + * .: adding wordpress-mu-domain-mapping by donncha + diff --git a/wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php b/wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php new file mode 100644 index 0000000..ad78b7e --- /dev/null +++ b/wp-content/plugins/wordpress-mu-domain-mapping/domain_mapping.php @@ -0,0 +1,840 @@ +

    ".__( 'Domain Mapping Disabled.', 'wordpress-mu-domain-mapping' )." ".sprintf(__('You must create a network for it to work.', 'wordpress-mu-domain-mapping' ), "http://codex.wordpress.org/Create_A_Network")."

    "; +} + +function dm_add_pages() { + global $current_site, $wpdb, $wp_db_version, $wp_version; + + if ( !isset( $current_site ) && $wp_db_version >= 15260 ) { // WP 3.0 network hasn't been configured + add_action('admin_notices', 'domain_mapping_warning'); + return false; + } + if ( $current_site->path != "/" ) { + wp_die( __( "The domain mapping plugin only works if the site is installed in /. This is a limitation of how virtual servers work and is very difficult to work around.", 'wordpress-mu-domain-mapping' ) ); + } + + if ( get_site_option( 'dm_user_settings' ) && $current_site->blog_id != $wpdb->blogid && !dm_sunrise_warning( false ) ) { + add_management_page(__( 'Domain Mapping', 'wordpress-mu-domain-mapping'), __( 'Domain Mapping', 'wordpress-mu-domain-mapping'), 'manage_options', 'domainmapping', 'dm_manage_page' ); + } + +} +add_action( 'admin_menu', 'dm_add_pages' ); + +function dm_network_pages() { + add_submenu_page('settings.php', 'Domain Mapping', 'Domain Mapping', 'manage_options', 'dm_admin_page', 'dm_admin_page'); + add_submenu_page('settings.php', 'Domains', 'Domains', 'manage_options', 'dm_domains_admin', 'dm_domains_admin'); +} +add_action( 'network_admin_menu', 'dm_network_pages' ); + +// Default Messages for the users Domain Mapping management page +// This can now be replaced by using: +// remove_action('dm_echo_updated_msg','dm_echo_default_updated_msg'); +// add_action('dm_echo_updated_msg','my_custom_updated_msg_function'); +function dm_echo_default_updated_msg() { + switch( $_GET[ 'updated' ] ) { + case "add": + $msg = __( 'New domain added.', 'wordpress-mu-domain-mapping' ); + break; + case "exists": + $msg = __( 'New domain already exists.', 'wordpress-mu-domain-mapping' ); + break; + case "primary": + $msg = __( 'New primary domain.', 'wordpress-mu-domain-mapping' ); + break; + case "del": + $msg = __( 'Domain deleted.', 'wordpress-mu-domain-mapping' ); + break; + } + echo "

    $msg

    "; +} +add_action('dm_echo_updated_msg','dm_echo_default_updated_msg'); + +function maybe_create_db() { + global $wpdb; + + get_dm_hash(); // initialise the remote login hash + + $wpdb->dmtable = $wpdb->base_prefix . 'domain_mapping'; + $wpdb->dmtablelogins = $wpdb->base_prefix . 'domain_mapping_logins'; + if ( dm_site_admin() ) { + $created = 0; + if ( $wpdb->get_var("SHOW TABLES LIKE '{$wpdb->dmtable}'") != $wpdb->dmtable ) { + $wpdb->query( "CREATE TABLE IF NOT EXISTS `{$wpdb->dmtable}` ( + `id` bigint(20) NOT NULL auto_increment, + `blog_id` bigint(20) NOT NULL, + `domain` varchar(255) NOT NULL, + `active` tinyint(4) default '1', + PRIMARY KEY (`id`), + KEY `blog_id` (`blog_id`,`domain`,`active`) + );" ); + $created = 1; + } + if ( $wpdb->get_var("SHOW TABLES LIKE '{$wpdb->dmtablelogins}'") != $wpdb->dmtablelogins ) { + $wpdb->query( "CREATE TABLE IF NOT EXISTS `{$wpdb->dmtablelogins}` ( + `id` varchar(32) NOT NULL, + `user_id` bigint(20) NOT NULL, + `blog_id` bigint(20) NOT NULL, + `t` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) + );" ); + $created = 1; + } + if ( $created ) { + ?>

    path != "/" ) { + wp_die( sprintf( __( "Warning! This plugin will only work if WordPress is installed in the root directory of your webserver. It is currently installed in ’%s’.", "wordpress-mu-domain-mapping" ), $current_site->path ) ); + } + + echo '

    ' . __( 'Domain Mapping: Domains', 'wordpress-mu-domain-mapping' ) . '

    '; + if ( !empty( $_POST[ 'action' ] ) ) { + check_admin_referer( 'domain_mapping' ); + $domain = strtolower( $_POST[ 'domain' ] ); + switch( $_POST[ 'action' ] ) { + case "edit": + $row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtable} WHERE domain = %s", $domain ) ); + if ( $row ) { + dm_edit_domain( $row ); + } else { + echo "

    " . __( 'Domain not found', 'wordpress-mu-domain-mapping' ) . "

    "; + } + break; + case "save": + if ( $_POST[ 'blog_id' ] != 0 AND + $_POST[ 'blog_id' ] != 1 AND + null == $wpdb->get_var( $wpdb->prepare( "SELECT domain FROM {$wpdb->dmtable} WHERE blog_id != %d AND domain = %s", $_POST[ 'blog_id' ], $domain ) ) + ) { + if ( $_POST[ 'orig_domain' ] == '' ) { + $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->dmtable} ( `blog_id`, `domain`, `active` ) VALUES ( %d, %s, %d )", $_POST[ 'blog_id' ], $domain, $_POST[ 'active' ] ) ); + echo "

    " . __( 'Domain Add', 'wordpress-mu-domain-mapping' ) . "

    "; + } else { + $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->dmtable} SET blog_id = %d, domain = %s, active = %d WHERE domain = %s", $_POST[ 'blog_id' ], $domain, $_POST[ 'active' ], $_POST[ 'orig_domain' ] ) ); + echo "

    " . __( 'Domain Updated', 'wordpress-mu-domain-mapping' ) . "

    "; + } + } + break; + case "del": + $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->dmtable} WHERE domain = %s", $domain ) ); + echo "

    " . __( 'Domain Deleted', 'wordpress-mu-domain-mapping' ) . "

    "; + break; + case "search": + $rows = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtable} WHERE domain LIKE %s", $domain ) ); + dm_domain_listing( $rows, sprintf( __( "Searching for %s", 'wordpress-mu-domain-mapping' ), esc_html( $domain ) ) ); + break; + } + if ( $_POST[ 'action' ] == 'update' ) { + if ( preg_match( '|^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$|', $_POST[ 'ipaddress' ] ) ) + update_site_option( 'dm_ipaddress', $_POST[ 'ipaddress' ] ); + + if ( ! preg_match( '/(--|\.\.)/', $_POST[ 'cname' ] ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $_POST[ 'cname' ] ) ) + update_site_option( 'dm_cname', stripslashes( $_POST[ 'cname' ] ) ); + else + update_site_option( 'dm_cname', '' ); + + update_site_option( 'dm_301_redirect', intval( $_POST[ 'permanent_redirect' ] ) ); + } + } + + echo "

    " . __( 'Search Domains', 'wordpress-mu-domain-mapping' ) . "

    "; + echo '
    '; + wp_nonce_field( 'domain_mapping' ); + echo ''; + echo '

    '; + echo _e( "Domain:", 'wordpress-mu-domain-mapping' ); + echo "

    "; + echo "

    "; + echo "

    "; + dm_edit_domain(); + $rows = $wpdb->get_results( "SELECT * FROM {$wpdb->dmtable} ORDER BY id DESC LIMIT 0,20" ); + dm_domain_listing( $rows ); + echo '

    ' . sprintf( __( 'Note: %s', 'wordpress-mu-domain-mapping' ), dm_idn_warning() ) . "

    "; +} + +function dm_edit_domain( $row = false ) { + if ( is_object( $row ) ) { + echo "

    " . __( 'Edit Domain', 'wordpress-mu-domain-mapping' ) . "

    "; + } else { + echo "

    " . __( 'New Domain', 'wordpress-mu-domain-mapping' ) . "

    "; + $row = new stdClass(); + $row->blog_id = ''; + $row->domain = ''; + $_POST[ 'domain' ] = ''; + $row->active = 1; + } + + echo "
    "; + wp_nonce_field( 'domain_mapping' ); + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + if ( get_site_option( 'dm_no_primary_domain' ) == 1 ) { + echo ""; + } + echo "
    " . __( 'Site ID', 'wordpress-mu-domain-mapping' ) . "
    " . __( 'Domain', 'wordpress-mu-domain-mapping' ) . "
    " . __( 'Primary', 'wordpress-mu-domain-mapping' ) . "active == 1 ? 'checked=1 ' : ' '; + echo "/>
    " . __( 'Warning! Primary domains are currently disabled.', 'wordpress-mu-domain-mapping' ) . "
    "; + echo "



    "; +} + +function dm_domain_listing( $rows, $heading = '' ) { + if ( $rows ) { + if ( file_exists( ABSPATH . 'wp-admin/network/site-info.php' ) ) { + $edit_url = network_admin_url( 'site-info.php' ); + } elseif ( file_exists( ABSPATH . 'wp-admin/ms-sites.php' ) ) { + $edit_url = admin_url( 'ms-sites.php' ); + } else { + $edit_url = admin_url( 'wpmu-blogs.php' ); + } + if ( $heading != '' ) + echo "

    $heading

    "; + echo ''; + foreach( $rows as $row ) { + echo ""; + } + echo '
    '.__( 'Site ID', 'wordpress-mu-domain-mapping' ).''.__( 'Domain', 'wordpress-mu-domain-mapping' ).''.__( 'Primary', 'wordpress-mu-domain-mapping' ).''.__( 'Edit', 'wordpress-mu-domain-mapping' ).''.__( 'Delete', 'wordpress-mu-domain-mapping' ).'
    'editblog', 'id' => $row->blog_id ), $edit_url ) . "'>{$row->blog_id}{$row->domain}"; + echo $row->active == 1 ? __( 'Yes', 'wordpress-mu-domain-mapping' ) : __( 'No', 'wordpress-mu-domain-mapping' ); + echo "
    "; + wp_nonce_field( 'domain_mapping' ); + echo "
    "; + wp_nonce_field( 'domain_mapping' ); + echo "
    "; + echo "
    '; + if ( get_site_option( 'dm_no_primary_domain' ) == 1 ) { + echo "

    " . __( 'Warning! Primary domains are currently disabled.', 'wordpress-mu-domain-mapping' ) . "

    "; + } + } +} + +function dm_admin_page() { + global $wpdb, $current_site; + if ( false == dm_site_admin() ) { // paranoid? moi? + return false; + } + + dm_sunrise_warning(); + maybe_create_db(); + + if ( $current_site->path != "/" ) { + wp_die( sprintf( __( "Warning! This plugin will only work if WordPress is installed in the root directory of your webserver. It is currently installed in ’%s’.", "wordpress-mu-domain-mapping" ), $current_site->path ) ); + } + + // set up some defaults + if ( get_site_option( 'dm_remote_login', 'NA' ) == 'NA' ) + add_site_option( 'dm_remote_login', 1 ); + if ( get_site_option( 'dm_redirect_admin', 'NA' ) == 'NA' ) + add_site_option( 'dm_redirect_admin', 1 ); + if ( get_site_option( 'dm_user_settings', 'NA' ) == 'NA' ) + add_site_option( 'dm_user_settings', 1 ); + + if ( !empty( $_POST[ 'action' ] ) ) { + check_admin_referer( 'domain_mapping' ); + if ( $_POST[ 'action' ] == 'update' ) { + $ipok = true; + $ipaddresses = explode( ',', $_POST[ 'ipaddress' ] ); + foreach( $ipaddresses as $address ) { + if ( ( $ip = trim( $address ) ) && !preg_match( '|^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$|', $ip ) ) { + $ipok = false; + break; + } + } + if( $ipok ) + update_site_option( 'dm_ipaddress', $_POST[ 'ipaddress' ] ); + if ( intval( $_POST[ 'always_redirect_admin' ] ) == 0 ) + $_POST[ 'dm_remote_login' ] = 0; // disable remote login if redirecting to mapped domain + update_site_option( 'dm_remote_login', intval( $_POST[ 'dm_remote_login' ] ) ); + if ( ! preg_match( '/(--|\.\.)/', $_POST[ 'cname' ] ) && preg_match( '|^([a-zA-Z0-9-\.])+$|', $_POST[ 'cname' ] ) ) + update_site_option( 'dm_cname', stripslashes( $_POST[ 'cname' ] ) ); + else + update_site_option( 'dm_cname', '' ); + update_site_option( 'dm_301_redirect', isset( $_POST[ 'permanent_redirect' ] ) ? intval( $_POST[ 'permanent_redirect' ] ) : 0 ); + update_site_option( 'dm_redirect_admin', isset( $_POST[ 'always_redirect_admin' ] ) ? intval( $_POST[ 'always_redirect_admin' ] ) : 0 ); + update_site_option( 'dm_user_settings', isset( $_POST[ 'dm_user_settings' ] ) ? intval( $_POST[ 'dm_user_settings' ] ) : 0 ); + update_site_option( 'dm_no_primary_domain', isset( $_POST[ 'dm_no_primary_domain' ] ) ? intval( $_POST[ 'dm_no_primary_domain' ] ) : 0 ); + } + } + + echo '

    ' . __( 'Domain Mapping Configuration', 'wordpress-mu-domain-mapping' ) . '

    '; + echo '
    '; + echo ''; + echo "

    " . __( "As a super admin on this network you can set the IP address users need to point their DNS A records at or the domain to point CNAME record at. If you don't know what the IP address is, ping this blog to get it.", 'wordpress-mu-domain-mapping' ) . "

    "; + echo "

    " . __( "If you use round robin DNS or another load balancing technique with more than one IP, enter each address, separating them by commas.", 'wordpress-mu-domain-mapping' ) . "

    "; + _e( "Server IP Address: ", 'wordpress-mu-domain-mapping' ); + echo "
    "; + + // Using a CNAME is a safer method than using IP adresses for some people (IMHO) + echo "

    " . __( "If you prefer the use of a CNAME record, you can set the domain here. This domain must be configured with an A record or ANAME pointing at an IP address. Visitors may experience problems if it is a CNAME of another domain.", 'wordpress-mu-domain-mapping' ) . "

    "; + echo "

    " . __( "NOTE, this voids the use of any IP address set above", 'wordpress-mu-domain-mapping' ) . "

    "; + _e( "Server CNAME domain: ", 'wordpress-mu-domain-mapping' ); + echo " (" . dm_idn_warning() . ")
    "; + echo '

    ' . __( 'The information you enter here will be shown to your users so they can configure their DNS correctly. It is for informational purposes only', 'wordpress-mu-domain-mapping' ) . '

    '; + + echo "

    " . __( 'Domain Options', 'wordpress-mu-domain-mapping' ) . "

    "; + echo "
    1. " . __( 'Remote Login', 'wordpress-mu-domain-mapping' ) . "
    2. "; + echo "
    3. " . __( "Permanent redirect (better for your blogger's pagerank)", 'wordpress-mu-domain-mapping' ) . "
    4. "; + echo "
    5. " . __( 'User domain mapping page', 'wordpress-mu-domain-mapping' ) . "
    6. "; + echo "
    7. " . __( "Redirect administration pages to site's original domain (remote login disabled if this redirect is disabled)", 'wordpress-mu-domain-mapping' ) . "
    8. "; + echo "
    9. " . __( "Disable primary domain check. Sites will not redirect to one domain name. May cause duplicate content issues.", 'wordpress-mu-domain-mapping' ) . "
    "; + wp_nonce_field( 'domain_mapping' ); + echo "

    "; + echo "

    "; +} + +function dm_handle_actions() { + global $wpdb, $parent_file; + $url = add_query_arg( array( 'page' => 'domainmapping' ), admin_url( $parent_file ) ); + if ( !empty( $_POST[ 'action' ] ) ) { + $domain = $wpdb->escape( $_POST[ 'domain' ] ); + if ( $domain == '' ) { + wp_die( "You must enter a domain" ); + } + check_admin_referer( 'domain_mapping' ); + do_action('dm_handle_actions_init', $domain); + switch( $_POST[ 'action' ] ) { + case "add": + do_action('dm_handle_actions_add', $domain); + if( null == $wpdb->get_row( "SELECT blog_id FROM {$wpdb->blogs} WHERE domain = '$domain'" ) && null == $wpdb->get_row( "SELECT blog_id FROM {$wpdb->dmtable} WHERE domain = '$domain'" ) ) { + if ( $_POST[ 'primary' ] ) { + $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->dmtable} SET active = 0 WHERE blog_id = %d", $wpdb->blogid ) ); + } + $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->dmtable} ( `id` , `blog_id` , `domain` , `active` ) VALUES ( NULL, %d, %s, %d )", $wpdb->blogid, $domain, $_POST[ 'primary' ] ) ); + wp_redirect( add_query_arg( array( 'updated' => 'add' ), $url ) ); + exit; + } else { + wp_redirect( add_query_arg( array( 'updated' => 'exists' ), $url ) ); + exit; + } + break; + case "primary": + do_action('dm_handle_actions_primary', $domain); + $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->dmtable} SET active = 0 WHERE blog_id = %d", $wpdb->blogid ) ); + $orig_url = parse_url( get_original_url( 'siteurl' ) ); + if( $domain != $orig_url[ 'host' ] ) { + $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->dmtable} SET active = 1 WHERE domain = %s", $domain ) ); + } + wp_redirect( add_query_arg( array( 'updated' => 'primary' ), $url ) ); + exit; + break; + } + } elseif( $_GET[ 'action' ] == 'delete' ) { + $domain = $wpdb->escape( $_GET[ 'domain' ] ); + if ( $domain == '' ) { + wp_die( __( "You must enter a domain", 'wordpress-mu-domain-mapping' ) ); + } + check_admin_referer( "delete" . $_GET['domain'] ); + do_action('dm_handle_actions_del', $domain); + $wpdb->query( "DELETE FROM {$wpdb->dmtable} WHERE domain = '$domain'" ); + wp_redirect( add_query_arg( array( 'updated' => 'del' ), $url ) ); + exit; + } + +} +if ( isset( $_GET[ 'page' ] ) && $_GET[ 'page' ] == 'domainmapping' ) + add_action( 'admin_init', 'dm_handle_actions' ); + +function dm_sunrise_warning( $die = true ) { + if ( !file_exists( WP_CONTENT_DIR . '/sunrise.php' ) ) { + if ( !$die ) + return true; + + if ( dm_site_admin() ) { + wp_die( sprintf( __( "Please copy sunrise.php to %s/sunrise.php and ensure the SUNRISE definition is in %swp-config.php", 'wordpress-mu-domain-mapping' ), WP_CONTENT_DIR, ABSPATH ) ); + } else { + wp_die( __( "This plugin has not been configured correctly yet.", 'wordpress-mu-domain-mapping' ) ); + } + } elseif ( !defined( 'SUNRISE' ) ) { + if ( !$die ) + return true; + + if ( dm_site_admin() ) { + wp_die( sprintf( __( "Please uncomment the line define( 'SUNRISE', 'on' ); or add it to your %swp-config.php", 'wordpress-mu-domain-mapping' ), ABSPATH ) ); + } else { + wp_die( __( "This plugin has not been configured correctly yet.", 'wordpress-mu-domain-mapping' ) ); + } + } elseif ( !defined( 'SUNRISE_LOADED' ) ) { + if ( !$die ) + return true; + + if ( dm_site_admin() ) { + wp_die( sprintf( __( "Please edit your %swp-config.php and move the line define( 'SUNRISE', 'on' ); above the last require_once() in that file or make sure you updated sunrise.php.", 'wordpress-mu-domain-mapping' ), ABSPATH ) ); + } else { + wp_die( __( "This plugin has not been configured correctly yet.", 'wordpress-mu-domain-mapping' ) ); + } + } + return false; +} + + +function dm_manage_page() { + global $wpdb, $parent_file; + + if ( isset( $_GET[ 'updated' ] ) ) { + do_action('dm_echo_updated_msg'); + } + + dm_sunrise_warning(); + + echo "

    " . __( 'Domain Mapping', 'wordpress-mu-domain-mapping' ) . "

    "; + + if ( false == get_site_option( 'dm_ipaddress' ) && false == get_site_option( 'dm_cname' ) ) { + if ( dm_site_admin() ) { + _e( "Please set the IP address or CNAME of your server in the site admin page.", 'wordpress-mu-domain-mapping' ); + } else { + _e( "This plugin has not been configured correctly yet.", 'wordpress-mu-domain-mapping' ); + } + echo "
    "; + return false; + } + + $protocol = is_ssl() ? 'https://' : 'http://'; + $domains = $wpdb->get_results( "SELECT * FROM {$wpdb->dmtable} WHERE blog_id = '{$wpdb->blogid}'", ARRAY_A ); + if ( is_array( $domains ) && !empty( $domains ) ) { + $orig_url = parse_url( get_original_url( 'siteurl' ) ); + $domains[] = array( 'domain' => $orig_url[ 'host' ], 'path' => $orig_url[ 'path' ], 'active' => 0 ); + echo "

    " . __( 'Active domains on this blog', 'wordpress-mu-domain-mapping' ) . "

    "; + echo '
    '; + echo "\n"; + $primary_found = 0; + $del_url = add_query_arg( array( 'page' => 'domainmapping', 'action' => 'delete' ), admin_url( $parent_file ) ); + foreach( $domains as $details ) { + if ( 0 == $primary_found && $details[ 'domain' ] == $orig_url[ 'host' ] ) { + $details[ 'active' ] = 1; + } + echo ""; + if ( 0 == $primary_found ) + $primary_found = $details[ 'active' ]; + } + ?>
    " . __( 'Primary', 'wordpress-mu-domain-mapping' ) . "" . __( 'Domain', 'wordpress-mu-domain-mapping' ) . "" . __( 'Delete', 'wordpress-mu-domain-mapping' ) . "
    "; + echo ""; + $url = "{$protocol}{$details[ 'domain' ]}{$details[ 'path' ]}"; + echo "$url"; + if ( $details[ 'domain' ] != $orig_url[ 'host' ] && $details[ 'active' ] != 1 ) { + echo " $details[ 'domain' ] ), $del_url ), "delete" . $details[ 'domain' ] ) . "'>Del"; + } + echo "
    '; + echo "

    "; + wp_nonce_field( 'domain_mapping' ); + echo "
    "; + echo "

    " . __( "* The primary domain cannot be deleted.", 'wordpress-mu-domain-mapping' ) . "

    "; + if ( get_site_option( 'dm_no_primary_domain' ) == 1 ) { + echo __( 'Warning! Primary domains are currently disabled.', 'wordpress-mu-domain-mapping' ); + } + } + echo "

    " . __( 'Add new domain', 'wordpress-mu-domain-mapping' ) . "

    "; + echo '
    '; + echo ''; + echo "

    http:///
    "; + wp_nonce_field( 'domain_mapping' ); + echo " " . __( 'Primary domain for this blog', 'wordpress-mu-domain-mapping' ) . "

    "; + echo "

    "; + echo "

    "; + + if ( get_site_option( 'dm_cname' ) ) { + $dm_cname = get_site_option( 'dm_cname'); + echo "

    " . sprintf( __( 'If you want to redirect a domain you will need to add a DNS "CNAME" record pointing to the following domain name for this server: %s', 'wordpress-mu-domain-mapping' ), $dm_cname ) . "

    "; + echo "

    " . __( 'Google have published instructions for creating CNAME records on various hosting platforms such as GoDaddy and others.', 'wordpress-mu-domain-mapping' ) . "

    "; + } else { + echo "

    " . __( 'If your domain name includes a hostname like "www", "blog" or some other prefix before the actual domain name you will need to add a CNAME for that hostname in your DNS pointing at this blog URL.', 'wordpress-mu-domain-mapping' ) . "

    "; + $dm_ipaddress = get_site_option( 'dm_ipaddress', 'IP not set by admin yet.' ); + if ( strpos( $dm_ipaddress, ',' ) ) { + echo "

    " . sprintf( __( 'If you want to redirect a domain you will need to add DNS "A" records pointing at the IP addresses of this server: %s', 'wordpress-mu-domain-mapping' ), $dm_ipaddress ) . "

    "; + } else { + echo "

    " . sprintf( __( 'If you want to redirect a domain you will need to add a DNS "A" record pointing at the IP address of this server: %s', 'wordpress-mu-domain-mapping' ), $dm_ipaddress ) . "

    "; + } + } + echo '

    ' . sprintf( __( 'Note: %s', 'wordpress-mu-domain-mapping' ), dm_idn_warning() ) . "

    "; + echo "
    "; +} + +function domain_mapping_siteurl( $setting ) { + global $wpdb, $current_blog; + + // To reduce the number of database queries, save the results the first time we encounter each blog ID. + static $return_url = array(); + + $wpdb->dmtable = $wpdb->base_prefix . 'domain_mapping'; + + if ( !isset( $return_url[ $wpdb->blogid ] ) ) { + $s = $wpdb->suppress_errors(); + + if ( get_site_option( 'dm_no_primary_domain' ) == 1 ) { + $domain = $wpdb->get_var( "SELECT domain FROM {$wpdb->dmtable} WHERE blog_id = '{$wpdb->blogid}' AND domain = '" . $wpdb->escape( $_SERVER[ 'HTTP_HOST' ] ) . "' LIMIT 1" ); + if ( null == $domain ) { + $return_url[ $wpdb->blogid ] = untrailingslashit( get_original_url( "siteurl" ) ); + return $return_url[ $wpdb->blogid ]; + } + } else { + // get primary domain, if we don't have one then return original url. + $domain = $wpdb->get_var( "SELECT domain FROM {$wpdb->dmtable} WHERE blog_id = '{$wpdb->blogid}' AND active = 1 LIMIT 1" ); + if ( null == $domain ) { + $return_url[ $wpdb->blogid ] = untrailingslashit( get_original_url( "siteurl" ) ); + return $return_url[ $wpdb->blogid ]; + } + } + + $wpdb->suppress_errors( $s ); + $protocol = is_ssl() ? 'https://' : 'http://'; + if ( $domain ) { + $return_url[ $wpdb->blogid ] = untrailingslashit( $protocol . $domain ); + $setting = $return_url[ $wpdb->blogid ]; + } else { + $return_url[ $wpdb->blogid ] = false; + } + } elseif ( $return_url[ $wpdb->blogid ] !== FALSE) { + $setting = $return_url[ $wpdb->blogid ]; + } + + return $setting; +} + +// url is siteurl or home +function get_original_url( $url, $blog_id = 0 ) { + global $wpdb; + + if ( $blog_id != 0 ) { + $id = $blog_id; + } else { + $id = $wpdb->blogid; + } + + static $orig_urls = array(); + if ( ! isset( $orig_urls[ $id ] ) ) { + if ( defined( 'DOMAIN_MAPPING' ) ) + remove_filter( 'pre_option_' . $url, 'domain_mapping_' . $url ); + if ( $blog_id == 0 ) { + $orig_url = get_option( $url ); + } else { + $orig_url = get_blog_option( $blog_id, $url ); + } + if ( is_ssl() ) { + $orig_url = str_replace( "http://", "https://", $orig_url ); + } else { + $orig_url = str_replace( "https://", "http://", $orig_url ); + } + if ( $blog_id == 0 ) { + $orig_urls[ $wpdb->blogid ] = $orig_url; + } else { + $orig_urls[ $blog_id ] = $orig_url; + } + if ( defined( 'DOMAIN_MAPPING' ) ) + add_filter( 'pre_option_' . $url, 'domain_mapping_' . $url ); + } + return $orig_urls[ $id ]; +} + +function domain_mapping_adminurl( $url, $path, $blog_id = 0 ) { + $index = strpos( $url, '/wp-admin' ); + if( $index !== false ) { + $url = get_original_url( 'siteurl', $blog_id ) . substr( $url, $index ); + + // make sure admin_url is ssl if current page is ssl, or admin ssl is forced + if( ( is_ssl() || force_ssl_admin() ) && 0 === strpos( $url, 'http://' ) ) { + $url = 'https://' . substr( $url, 7 ); + } + } + return $url; +} + +function domain_mapping_post_content( $post_content ) { + global $wpdb; + + $orig_url = get_original_url( 'siteurl' ); + + $url = domain_mapping_siteurl( 'NA' ); + if ( $url == 'NA' ) + return $post_content; + return str_replace( $orig_url, $url, $post_content ); +} + +function dm_redirect_admin() { + // don't redirect admin ajax calls + if ( strpos( $_SERVER['REQUEST_URI'], 'wp-admin/admin-ajax.php' ) !== false ) + return; + + if ( get_site_option( 'dm_redirect_admin' ) ) { + // redirect mapped domain admin page to original url + $url = get_original_url( 'siteurl' ); + if ( false === strpos( $url, $_SERVER[ 'HTTP_HOST' ] ) ) { + wp_redirect( untrailingslashit( $url ) . $_SERVER[ 'REQUEST_URI' ] ); + exit; + } + } else { + global $current_blog; + // redirect original url to primary domain wp-admin/ - remote login is disabled! + $url = domain_mapping_siteurl( false ); + $request_uri = str_replace( $current_blog->path, '/', $_SERVER[ 'REQUEST_URI' ] ); + if ( false === strpos( $url, $_SERVER[ 'HTTP_HOST' ] ) ) { + wp_redirect( str_replace( '//wp-admin', '/wp-admin', trailingslashit( $url ) . $request_uri ) ); + exit; + } + } +} + +function redirect_login_to_orig() { + if ( !get_site_option( 'dm_remote_login' ) || $_GET[ 'action' ] == 'logout' || isset( $_GET[ 'loggedout' ] ) ) { + return false; + } + $url = get_original_url( 'siteurl' ); + if ( $url != site_url() ) { + $url .= "/wp-login.php"; + echo ""; + } +} + +// fixes the plugins_url +function domain_mapping_plugins_uri( $full_url, $path=NULL, $plugin=NULL ) { + return get_option( 'siteurl' ) . substr( $full_url, stripos( $full_url, PLUGINDIR ) - 1 ); +} + +function domain_mapping_themes_uri( $full_url ) { + return str_replace( get_original_url ( 'siteurl' ), get_option( 'siteurl' ), $full_url ); +} + +if ( defined( 'DOMAIN_MAPPING' ) ) { + add_filter( 'plugins_url', 'domain_mapping_plugins_uri', 1 ); + add_filter( 'theme_root_uri', 'domain_mapping_themes_uri', 1 ); + add_filter( 'pre_option_siteurl', 'domain_mapping_siteurl' ); + add_filter( 'pre_option_home', 'domain_mapping_siteurl' ); + add_filter( 'the_content', 'domain_mapping_post_content' ); + add_action( 'wp_head', 'remote_login_js_loader' ); + add_action( 'login_head', 'redirect_login_to_orig' ); + add_action( 'wp_logout', 'remote_logout_loader', 9999 ); + + add_filter( 'stylesheet_uri', 'domain_mapping_post_content' ); + add_filter( 'stylesheet_directory', 'domain_mapping_post_content' ); + add_filter( 'stylesheet_directory_uri', 'domain_mapping_post_content' ); + add_filter( 'template_directory', 'domain_mapping_post_content' ); + add_filter( 'template_directory_uri', 'domain_mapping_post_content' ); + add_filter( 'plugins_url', 'domain_mapping_post_content' ); +} else { + add_filter( 'admin_url', 'domain_mapping_adminurl', 10, 3 ); +} +add_action( 'admin_init', 'dm_redirect_admin' ); +if ( isset( $_GET[ 'dm' ] ) ) + add_action( 'template_redirect', 'remote_login_js' ); + +function remote_logout_loader() { + global $current_site, $current_blog, $wpdb; + $wpdb->dmtablelogins = $wpdb->base_prefix . 'domain_mapping_logins'; + $protocol = is_ssl() ? 'https://' : 'http://'; + $hash = get_dm_hash(); + $key = md5( time() ); + $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->dmtablelogins} ( `id`, `user_id`, `blog_id`, `t` ) VALUES( %s, 0, %d, NOW() )", $key, $current_blog->blog_id ) ); + if ( get_site_option( 'dm_redirect_admin' ) ) { + wp_redirect( $protocol . $current_site->domain . $current_site->path . "?dm={$hash}&action=logout&blogid={$current_blog->blog_id}&k={$key}&t=" . mt_rand() ); + exit; + } +} + +function redirect_to_mapped_domain() { + global $current_blog, $wpdb; + + // don't redirect the main site + if ( is_main_site() ) + return; + // don't redirect post previews + if ( isset( $_GET['preview'] ) && $_GET['preview'] == 'true' ) + return; + + // don't redirect theme customizer (WP 3.4) + if ( isset( $_POST['customize'] ) && isset( $_POST['theme'] ) && $_POST['customize'] == 'on' ) + return; + + $protocol = is_ssl() ? 'https://' : 'http://'; + $url = domain_mapping_siteurl( false ); + if ( $url && $url != untrailingslashit( $protocol . $current_blog->domain . $current_blog->path ) ) { + $redirect = get_site_option( 'dm_301_redirect' ) ? '301' : '302'; + if ( ( defined( 'VHOST' ) && constant( "VHOST" ) != 'yes' ) || ( defined( 'SUBDOMAIN_INSTALL' ) && constant( 'SUBDOMAIN_INSTALL' ) == false ) ) { + $_SERVER[ 'REQUEST_URI' ] = str_replace( $current_blog->path, '/', $_SERVER[ 'REQUEST_URI' ] ); + } + header( "Location: {$url}{$_SERVER[ 'REQUEST_URI' ]}", true, $redirect ); + exit; + } +} +add_action( 'template_redirect', 'redirect_to_mapped_domain' ); + +function get_dm_hash() { + $remote_login_hash = get_site_option( 'dm_hash' ); + if ( null == $remote_login_hash ) { + $remote_login_hash = md5( time() ); + update_site_option( 'dm_hash', $remote_login_hash ); + } + return $remote_login_hash; +} + +function remote_login_js() { + global $current_blog, $current_user, $wpdb; + + if ( 0 == get_site_option( 'dm_remote_login' ) ) + return false; + + $wpdb->dmtablelogins = $wpdb->base_prefix . 'domain_mapping_logins'; + $hash = get_dm_hash(); + $protocol = is_ssl() ? 'https://' : 'http://'; + if ( $_GET[ 'dm' ] == $hash ) { + if ( $_GET[ 'action' ] == 'load' ) { + if ( !is_user_logged_in() ) + exit; + $key = md5( time() . mt_rand() ); + $wpdb->query( $wpdb->prepare( "INSERT INTO {$wpdb->dmtablelogins} ( `id`, `user_id`, `blog_id`, `t` ) VALUES( %s, %d, %d, NOW() )", $key, $current_user->ID, $_GET[ 'blogid' ] ) ); + $url = add_query_arg( array( 'action' => 'login', 'dm' => $hash, 'k' => $key, 't' => mt_rand() ), $_GET[ 'back' ] ); + echo "window.location = '$url'"; + exit; + } elseif ( $_GET[ 'action' ] == 'login' ) { + if ( $details = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtablelogins} WHERE id = %s AND blog_id = %d", $_GET[ 'k' ], $wpdb->blogid ) ) ) { + if ( $details->blog_id == $wpdb->blogid ) { + $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->dmtablelogins} WHERE id = %s", $_GET[ 'k' ] ) ); + $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->dmtablelogins} WHERE t < %d", ( time() - 120 ) ) ); // remote logins survive for only 2 minutes if not used. + wp_set_auth_cookie( $details->user_id ); + wp_redirect( remove_query_arg( array( 'dm', 'action', 'k', 't', $protocol . $current_blog->domain . $_SERVER[ 'REQUEST_URI' ] ) ) ); + exit; + } else { + wp_die( __( "Incorrect or out of date login key", 'wordpress-mu-domain-mapping' ) ); + } + } else { + wp_die( __( "Unknown login key", 'wordpress-mu-domain-mapping' ) ); + } + } elseif ( $_GET[ 'action' ] == 'logout' ) { + if ( $details = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM {$wpdb->dmtablelogins} WHERE id = %d AND blog_id = %d", $_GET[ 'k' ], $_GET[ 'blogid' ] ) ) ) { + $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->dmtablelogins} WHERE id = %s", $_GET[ 'k' ] ) ); + $blog = get_blog_details( $_GET[ 'blogid' ] ); + wp_clear_auth_cookie(); + wp_redirect( trailingslashit( $blog->siteurl ) . "wp-login.php?loggedout=true" ); + exit; + } else { + wp_die( __( "Unknown logout key", 'wordpress-mu-domain-mapping' ) ); + } + } + } +} + +function remote_login_js_loader() { + global $current_site, $current_blog; + + if ( 0 == get_site_option( 'dm_remote_login' ) || is_user_logged_in() ) + return false; + + $protocol = is_ssl() ? 'https://' : 'http://'; + $hash = get_dm_hash(); + echo ""; +} + +// delete mapping if blog is deleted +function delete_blog_domain_mapping( $blog_id, $drop ) { + global $wpdb; + $wpdb->dmtable = $wpdb->base_prefix . 'domain_mapping'; + if ( $blog_id && $drop ) { + // Get an array of domain names to pass onto any delete_blog_domain_mapping actions + $domains = $wpdb->get_col( $wpdb->prepare( "SELECT domain FROM {$wpdb->dmtable} WHERE blog_id = %d", $blog_id ) ); + do_action('dm_delete_blog_domain_mappings', $domains); + + $wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->dmtable} WHERE blog_id = %d", $blog_id ) ); + } +} +add_action( 'delete_blog', 'delete_blog_domain_mapping', 1, 2 ); + +// show mapping on site admin blogs screen +function ra_domain_mapping_columns( $columns ) { + $columns[ 'map' ] = __( 'Mapping' ); + return $columns; +} +add_filter( 'wpmu_blogs_columns', 'ra_domain_mapping_columns' ); + +function ra_domain_mapping_field( $column, $blog_id ) { + global $wpdb; + static $maps = false; + + if ( $column == 'map' ) { + if ( $maps === false ) { + $wpdb->dmtable = $wpdb->base_prefix . 'domain_mapping'; + $work = $wpdb->get_results( "SELECT blog_id, domain FROM {$wpdb->dmtable} ORDER BY blog_id" ); + $maps = array(); + if($work) { + foreach( $work as $blog ) { + $maps[ $blog->blog_id ][] = $blog->domain; + } + } + } + if( !empty( $maps[ $blog_id ] ) && is_array( $maps[ $blog_id ] ) ) { + foreach( $maps[ $blog_id ] as $blog ) { + echo $blog . '
    '; + } + } + } +} +add_action( 'manage_blogs_custom_column', 'ra_domain_mapping_field', 1, 3 ); +add_action( 'manage_sites_custom_column', 'ra_domain_mapping_field', 1, 3 ); + +function dm_site_admin() { + if ( function_exists( 'is_super_admin' ) ) { + return is_super_admin(); + } elseif ( function_exists( 'is_site_admin' ) ) { + return is_site_admin(); + } else { + return true; + } +} + +function dm_idn_warning() { + return sprintf( __( 'International Domain Names should be in punycode format.', 'wordpress-mu-domain-mapping' ), "http://api.webnic.cc/idnconversion.html" ); +} + +?> diff --git a/wp-content/plugins/wordpress-mu-domain-mapping/readme.txt b/wp-content/plugins/wordpress-mu-domain-mapping/readme.txt new file mode 100644 index 0000000..b8e1a54 --- /dev/null +++ b/wp-content/plugins/wordpress-mu-domain-mapping/readme.txt @@ -0,0 +1,244 @@ +=== WordPress MU Domain Mapping === +Contributors: donncha, wpmuguru, automattic +Tags: wordpressmu, domain-mapping, multisite +Tested up to: 3.5.1 +Stable tag: 0.5.4.3 +Requires at least: 3.1 + +Map any blog/site on a WordPressMU or WordPress 3.X network to an external domain. + +== Description == +This plugin allows users of a WordPress MU site or WordPress 3.0 network to map their blog/site to another domain. + +It requires manual installation as one file must be copied to wp-content/. When upgrading the plugin, remember to update domain_mapping.php and sunrise.php. Full instructions are on the Installation page and are quite easy to follow. You should also read [this page](http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/) too. + +Super administrators must configure the plugin in Super Admin->Domain Mapping. You must enter the IP or IP addresses (comma deliminated) of your server on this page. The addresses are purely for documentation purposes so the user knows what they are (so users can set up their DNS correctly). They do nothing special in the plugin, they're only printed for the user to see. + +You may also define a CNAME on this page. It will most likely be the domain name of your network. See below for some restrictions and warnings. + +Your users should go to Tools->Domain Mapping where they can add or delete domains. One domain must be set as the primary domain for the blog. When mapping a domain, (like 'example.com') your users must create an A record in their DNS pointing at that IP address. They should use multiple A records if your server uses more than one IP address. +If your user is mapping a hostname of a domain (sometimes called a "subdomain") like www.example.com or blog.example.com it's sufficient to create a CNAME record pointing at their blog url (NOT IP address). + +The login page will almost always redirect back to the blog's original domain for login to ensure the user is logged in on the original network as well as the domain mapped one. For security reasons remote login is disabled if you allow users to use their Dashboard on the mapped domain. + +Super admins can now choose to either allow users to setup DNS ANAME records by supplying an IP (or list of IP addresses) or set a CNAME but not both (entering a CNAME for the end user voids the use of IP's) + +There is a lot of debate on the handling of DNS using CNAME and ANAME so both methods are available depending on your preference and setup. + +Things to remember: + +* CNAME records that point to other CNAME records should be avoided (RFC 1034 section 5.2.2) so only tell your end users to use your chosen domain name as their CNAME DNS entry if your domain name is an ANAME to an IP address (or addresses) +* Only use the CNAME method if your main domain is an ANAME of an IP address. This is very important. How do you know? Check your dns or ask your hosting company. +* Giving your users the option to just use your chosen domain name and not an IP (or list of IP's) to set as their CNAME will make administration of your WordPressMU blog platform or WordPress 3.0 network easier, an example of this would be purchasing/deploying a new server or indeed adding more servers to use in a round robin scenario. Your end users have no need to worry about IP address changes. +* Finally, telling your end users to use an ANAME IP or CNAME domain name is up to you and how your systems are deployed. +* Further Reading: http://www.faqs.org/rfcs/rfc2219.html +* For localization: place translation files (ie. wordpress-mu-domain-mapping-xx_XX.mo) in the directory wp-content/plugins/wordpress-mu-domain-mapping/languages. You will probably have to create that directory yourself. + +== Upgrade Notice == + += 0.5.4.2 = +WordPress 3.3 compatibility, bugfixes +Set $current_site->site_name + += 0.5.4.1 = +WordPress 3.2 compatibility, bugfixes + += 0.5.4 = +WordPress 3.1 compatibility, localization, IDN warnings, settings page updates, support for SSL and lots of bugfixes + +== Changelog == + += 0.5.4 = +* WordPress 3.1 compatibility. +* Localization fixes. +* IDN warnings about using punycode format. +* Fixed delete domain redirect. +* Better looking setup page. +* Better support for sites using SSL backends. + + += 0.5.3 = +* Check input on admin page. +* Allow the primary domain to be ignored. +* Lots more bug fixes. + += 0.5.2 = +* Added www support +* Now supports WordPress 3.0 +* Updated readme/instructions + += 0.5.1 = +* Added Cpanel instructions, props Marty Martin (http://mearis.com) +* Filter more urls, props Ryan Waggoner (http://ryanwaggoner.com) +* Added CNAME support, props Martin Guppy +* Added check for COOKIE_DOMAIN, props Scott, http://ocaoimh.ie/wordpress-mu-domain-mapping-05/comment-page-1/#comment-671821 + += 0.5 = +* Works in VHOST or folder based installs now. +* Remote login added. +* Admin backend redirects to mapped domain by default but can redirect to original blog url. +* Domain redirect can be 301 or 302. +* List multiple mapped domains on site admin blogs page if mapped +* Bug fixes: set blog_id of the current site's main blog in $current_site +* Bug fixes: cache domain maps correctly, blogid, not blog_id in $wpdb. + += 0.4.3 = +* Fixed bug in content filtering, VHOST check done in admin page, not sunrise.php now. + += 0.4.2 = +* Some actions are actually filters +* Change blog url in posts to mapped domain +* Don't redirect the dashboard to the domain mapped url +* Handle multiple domain mappings correctly. +* Don't let someone map an existing blog +* Only redirect the siteurl and home options if DOMAIN MAPPING set +* Delete domain mapping record if blog deleted +* Show mapping on blog's admin page. + += 0.4.1 = +* The admin pagesnon domain mapped blogs were redirected to an invalid url + += 0.4 = +* Redirect admin pages to the domain mapped url. Avoids problems with writing posts and image urls showing at the wrong url. Updated documentation on IP addresses for site admins. + +== Installation == +1. Install the plugin in the usual way into the regular WordPress plugins folder. Network activate the plugin. +2. Move sunrise.php into wp-content/. If there is a sunrise.php there already, you'll just have to merge them as best you can. +3. Edit wp-config.php and uncomment or add the SUNRISE definition line. If it does not exist please ensure it's on the line above the last "require_once" command. + `define( 'SUNRISE', 'on' );` +4. As a "super admin", visit Super Admin->Domain Mapping to create the domain mapping database table and set the server IP address or a domain to point CNAME records at. +5. Make sure the default Apache virtual host points at your WordPress MU site or WordPress 3.0 network so it will handle unknown domains correctly. On some hosts you may be required to get a dedicated IP address. A quick check: in a web broswer, type in the IP address of your install. If you are using CPanel, use the Park a Domain menu to set the mapped domain to your main installtion. +6. Do not define COOKIE_DOMAIN in your wp-config.php as it conflicts with logins on your mapped domains. + +Illustrated installation instructions can be found [here](http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/) but you can ignore the instructions to place domain_mapping.php in mu-plugins. Thanks Otto. + += Configuration = + +On Super Admin->Domain Mapping you can configure the following settings: + +1. "Remote Login" can be disabled. Useful if you're hosting totally separate websites. +2. "Permanent redirect" uses a 301 redirect rather than 302 to send visitors to your domain mapped site. +3. "User domain mapping page" allows you to disable Settings->Domain Mapping that the user uses. +4. "Redirect administration pages to network's original domain (remote login disabled if this redirect is disabled)" - with this checked, if a user visits their dashboard on a mapped domain it will redirect to the dashboard on the non mapped domain. If you don't want this, remote login will be disabled for security reasons. +5. "Disable primary domain check. Sites will not redirect to one domain name. May cause duplicate content issues." - ignore the primary domain setting on your sites. The same content will be available on multiple domains and may cause problems with Google because of duplicate content issues. + +Super Admin->Domains allows you to edit the domains mapped to any sites on your network. + += For Cpanel users = + +If your domain uses the nameservers on your hosting account you should follow these instructions. If the nameservers are elsewhere change the A record or CNAME as documented above. +Add a wildcard subdomain/virtual host record to your site's DNS record in Web Host Manager (WHM). If you do not have access to WHM, you must email your web host and ask them to make this one change for you. Should be no problem: + +* Go to "Edit DNS Zone" and select the domain of your WPMU installation and click "Edit". +* Below "Add New Entries Below This Line", enter in the first box (Domain) an asterisk: "*". +* The second box, TTL, should be "14400". +* The third box should be "IN". +* Select A Record Type from the drop down "A". +* And in the last box, paste in the IP address of your website/network. + +From Cpanel, click on the "Parked Domains" under the "Domains" section: + +* Under "Create a New Parked Domain" enter the domain name you want to add to your network. +* Click the "Add Domain" button. +* It should add the domain to the list of parked domains and under "Redirect to" it will say "not redirected". That is OKAY. + +Now you're ready to do your domain mapping. + +== Action Hooks == +You can now hook into certain parts of the domain_mapping mu-plugin to enable you to extend the features that are built in without the need to modify this plugin. To do this, just create a script within the mu-plugins dir that is called AFTER this plugin (eg, call it domain_mapping_extended.php). + +* `dm_echo_updated_msg` + +This hook is for when you want to add extra messages for your end users when they update their settings, the current usage would be to remove the existing action and replace it with your own as shown within the example further down the page. + +* `dm_handle_actions_init` + +Before we add our own handlers for our users wanting to update their mappings, we can use this action to maybe connect to your datacenter API ready for communication. An example would be to load an API class and connect before we send and recieve XML queries. Once again, see the example down the page. Your function can make use of the $domain variable. + +* `dm_handle_actions_add` + +When an user adds a domain name to their mappings, this action can be used to perform other tasks on your server. An example would be to check the user has already set up the DNS records for the name to correctly point to your server. Your function can make use of the $domain variable. + +* `dm_handle_actions_primary` + +This may or may not be commonly used in most cases but is there just in case. Your function can make use of the $domain variable. + +* `dm_handle_actions_del` + +When an user deletes one of their domain mappings, this action can be used to reverse what dm_handle_actions_add has done. An example would be to remove the domain mapping from your server using your datacenter's API. Your function can make use of the $domain variable. + +* `dm_delete_blog_domain_mappings` + +If the blog is ever deleted and you make use of handle_actions, then this action will enable you to tidy up. An example would be when an user has set up multiple domain mappings and the blog is deleted, your function can remove any mess left behind. Your function can make use of the $domains array (numbered array of domains). NOTE, this will also be called if the user has no mappings, care should be taken in the case of an empty array. + += EXAMPLE USAGE = + +`

    $msg

    "; +} +// REMOVE THE ORIGINAL MESSAGES +remove_action('dm_echo_updated_msg','dm_echo_default_updated_msg'); +// REPLACE WITH OUR OWN +add_action('dm_echo_updated_msg','dm_echo_extended_updated_msg'); + + +// Prepare to use our Datacenter API + +function dm_extended_handle_actions_init($domain) { + global $datacenter_api; + // There is a good chance we will be accessing the datacentre API + require_once(dirname(__FILE__) ."/classes/xmlAbstract.class.php"); + require_once(dirname(__FILE__) ."/classes/xmlParserClass.php"); + require_once(dirname(__FILE__) ."/classes/datacenterAPIClass.php"); + $datacenter_api = new datacenter_api('MY_API_KEY', 'API_TYPE'); +} +$datacenter_api = null; +add_action('dm_handle_actions_init', 'dm_extended_handle_actions_init'); + + +// Check the users DNS is ready to go (we are using the CNAME option) +// then add the mapping to the datacenter API + +function dm_extended_handle_actions_add($domain) { + global $datacenter_api; + // Check the domain has the correct CNAME/ANAME record + $dmip = gethostbyname(get_site_option( 'dm_cname' )); + $urip = gethostbyname($domain); + if ($dmip != $urip) { + wp_redirect( '?page=domainmapping&updated=dnslookup' ); + exit; + } + $datacenter_api->add_mapping($domain); +} +add_action('dm_handle_actions_add', 'dm_extended_handle_actions_add'); +?>` diff --git a/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php b/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php new file mode 100644 index 0000000..07a7248 --- /dev/null +++ b/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php @@ -0,0 +1,37 @@ +dmtable = $wpdb->base_prefix . 'domain_mapping'; +$dm_domain = $wpdb->escape( $_SERVER[ 'HTTP_HOST' ] ); + +if( ( $nowww = preg_replace( '|^www\.|', '', $dm_domain ) ) != $dm_domain ) + $where = $wpdb->prepare( 'domain IN (%s,%s)', $dm_domain, $nowww ); +else + $where = $wpdb->prepare( 'domain = %s', $dm_domain ); + +$wpdb->suppress_errors(); +$domain_mapping_id = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->dmtable} WHERE {$where} ORDER BY CHAR_LENGTH(domain) DESC LIMIT 1" ); +$wpdb->suppress_errors( false ); +if( $domain_mapping_id ) { + $current_blog = $wpdb->get_row("SELECT * FROM {$wpdb->blogs} WHERE blog_id = '$domain_mapping_id' LIMIT 1"); + $current_blog->domain = $_SERVER[ 'HTTP_HOST' ]; + $current_blog->path = '/'; + $blog_id = $domain_mapping_id; + $site_id = $current_blog->site_id; + + define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] ); + + $current_site = $wpdb->get_row( "SELECT * from {$wpdb->site} WHERE id = '{$current_blog->site_id}' LIMIT 0,1" ); + $current_site->blog_id = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->blogs} WHERE domain='{$current_site->domain}' AND path='{$current_site->path}'" ); + if( function_exists( 'get_current_site_name' ) ) + $current_site = get_current_site_name( $current_site ); + + define( 'DOMAIN_MAPPING', 1 ); +} +?> diff --git a/wp-content/plugins/wordpress-mu-domain-mapping/wordpress-mu-domain-mapping.pot b/wp-content/plugins/wordpress-mu-domain-mapping/wordpress-mu-domain-mapping.pot new file mode 100644 index 0000000..d670fc2 --- /dev/null +++ b/wp-content/plugins/wordpress-mu-domain-mapping/wordpress-mu-domain-mapping.pot @@ -0,0 +1,329 @@ +# Translation of the WordPress plugin by . +# Copyright (C) 2010 +# This file is distributed under the same license as the package. +# FIRST AUTHOR , 2010. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/wordpress-mu-domain-mapping\n" +"POT-Creation-Date: 2010-10-29 11:55+0000\n" +"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: domain_mapping.php:34 +msgid "Domain Mapping Disabled." +msgstr "" + +#: domain_mapping.php:34 +#, php-format +msgid "You must create a network for it to work." +msgstr "" + +#: domain_mapping.php:45 +msgid "" +"The domain mapping plugin only works if the site is installed in /. This is " +"a limitation of how virtual servers work and is very difficult to work " +"around." +msgstr "" + +#: domain_mapping.php:67 +msgid "New domain added." +msgstr "" + +#: domain_mapping.php:70 +msgid "New domain already exists." +msgstr "" + +#: domain_mapping.php:73 +msgid "New primary domain." +msgstr "" + +#: domain_mapping.php:76 +msgid "Domain deleted." +msgstr "" + +#: domain_mapping.php:114 +msgid "Domain mapping database table created." +msgstr "" + +#: domain_mapping.php:129 domain_mapping.php:252 +#, php-format +msgid "" +"Warning! This plugin will only work if WordPress is " +"installed in the root directory of your webserver. It is currently installed " +"in ’%s’." +msgstr "" + +#: domain_mapping.php:135 +msgid "Domain Mapping: Domains" +msgstr "" + +#: domain_mapping.php:144 +msgid "Domain not found" +msgstr "" + +#: domain_mapping.php:154 +msgid "Domain Add" +msgstr "" + +#: domain_mapping.php:157 +msgid "Domain Updated" +msgstr "" + +#: domain_mapping.php:163 +msgid "Domain Deleted" +msgstr "" + +#: domain_mapping.php:167 +#, php-format +msgid "Searching for %s" +msgstr "" + +#: domain_mapping.php:181 +msgid "Search Domains" +msgstr "" + +#: domain_mapping.php:185 +msgid "Domain:" +msgstr "" + +#: domain_mapping.php:187 +msgid "Search" +msgstr "" + +#: domain_mapping.php:196 +msgid "Edit Domain" +msgstr "" + +#: domain_mapping.php:198 +msgid "New Domain" +msgstr "" + +#: domain_mapping.php:208 domain_mapping.php:225 +msgid "Site ID" +msgstr "" + +#: domain_mapping.php:209 domain_mapping.php:225 domain_mapping.php:430 +msgid "Domain" +msgstr "" + +#: domain_mapping.php:210 domain_mapping.php:225 domain_mapping.php:430 +msgid "Primary" +msgstr "" + +#: domain_mapping.php:214 domain_mapping.php:238 domain_mapping.php:459 +msgid "Warning! Primary domains are currently disabled." +msgstr "" + +#: domain_mapping.php:217 +msgid "Save" +msgstr "" + +#: domain_mapping.php:225 domain_mapping.php:231 +msgid "Edit" +msgstr "" + +#: domain_mapping.php:225 domain_mapping.php:430 +msgid "Delete" +msgstr "" + +#: domain_mapping.php:228 +msgid "Yes" +msgstr "" + +#: domain_mapping.php:228 +msgid "No" +msgstr "" + +#: domain_mapping.php:233 +msgid "Del" +msgstr "" + +#: domain_mapping.php:282 +msgid "Domain Mapping Configuration" +msgstr "" + +#: domain_mapping.php:285 +msgid "" +"As a super admin on this network you can set the IP address users need to " +"point their DNS A records at or the domain to point CNAME record " +"at. If you don't know what the IP address is, ping this blog to get it." +msgstr "" + +#: domain_mapping.php:286 +msgid "" +"If you use round robin DNS or another load balancing technique with more " +"than one IP, enter each address, separating them by commas." +msgstr "" + +#: domain_mapping.php:287 +msgid "Server IP Address: " +msgstr "" + +#: domain_mapping.php:291 +msgid "" +"If you prefer the use of a CNAME record, you can set the domain here. This " +"domain must be configured with an A record or ANAME pointing at an IP " +"address. Visitors may experience problems if it is a CNAME of another domain." +msgstr "" + +#: domain_mapping.php:292 +msgid "NOTE, this voids the use of any IP address set above" +msgstr "" + +#: domain_mapping.php:293 +msgid "Server CNAME domain: " +msgstr "" + +#: domain_mapping.php:295 +msgid "" +"The information you enter here will be shown to your users so they can " +"configure their DNS correctly. It is for informational purposes only" +msgstr "" + +#: domain_mapping.php:297 +msgid "Domain Options" +msgstr "" + +#: domain_mapping.php:300 +msgid "Remote Login" +msgstr "" + +#: domain_mapping.php:303 +msgid "Permanent redirect (better for your blogger's pagerank)" +msgstr "" + +#: domain_mapping.php:306 +msgid "User domain mapping page" +msgstr "" + +#: domain_mapping.php:309 +msgid "" +"Redirect administration pages to site's original domain (remote login " +"disabled if this redirect is disabled)" +msgstr "" + +#: domain_mapping.php:312 +msgid "" +"Disable primary domain check. Sites will not redirect to one domain name. " +"May cause duplicate content issues." +msgstr "" + +#: domain_mapping.php:357 +msgid "You must enter a domain" +msgstr "" + +#: domain_mapping.php:376 +#, php-format +msgid "" +"Please copy sunrise.php to %s/wp-content/sunrise.php and ensure the SUNRISE " +"definition is in %swp-config.php" +msgstr "" + +#: domain_mapping.php:378 domain_mapping.php:387 domain_mapping.php:396 +#: domain_mapping.php:418 +msgid "This plugin has not been configured correctly yet." +msgstr "" + +#: domain_mapping.php:385 +#, php-format +msgid "" +"Please uncomment the line define( 'SUNRISE', 'on' ); or add it to " +"your %swp-config.php" +msgstr "" + +#: domain_mapping.php:394 +#, php-format +msgid "" +"Please edit your %swp-config.php and move the line define( 'SUNRISE', " +"'on' ); above the last require_once() in that file or make sure you " +"updated sunrise.php." +msgstr "" + +#: domain_mapping.php:412 +msgid "Domain Mapping" +msgstr "" + +#: domain_mapping.php:416 +msgid "" +"Please set the IP address or CNAME of your server in the site admin page." +msgstr "" + +#: domain_mapping.php:429 +msgid "Active domains on this blog" +msgstr "" + +#: domain_mapping.php:454 +msgid "Set Primary Domain" +msgstr "" + +#: domain_mapping.php:457 +msgid "* The primary domain cannot be deleted." +msgstr "" + +#: domain_mapping.php:462 +msgid "Add new domain" +msgstr "" + +#: domain_mapping.php:467 +msgid "Primary domain for this blog" +msgstr "" + +#: domain_mapping.php:473 +#, php-format +msgid "" +"If you want to redirect a domain you will need to add a DNS \"CNAME\" record " +"pointing to the following domain name for this server: %s" +msgstr "" + +#: domain_mapping.php:474 +msgid "" +"Google have published instructions for " +"creating CNAME records on various hosting platforms such as GoDaddy and " +"others." +msgstr "" + +#: domain_mapping.php:476 +msgid "" +"If your domain name includes a hostname like \"www\", \"blog\" or some other " +"prefix before the actual domain name you will need to add a CNAME for that " +"hostname in your DNS pointing at this blog URL." +msgstr "" + +#: domain_mapping.php:479 +#, php-format +msgid "" +"If you want to redirect a domain you will need to add DNS \"A\" records " +"pointing at the IP addresses of this server: %s" +msgstr "" + +#: domain_mapping.php:481 +#, php-format +msgid "" +"If you want to redirect a domain you will need to add a DNS \"A\" record " +"pointing at the IP address of this server: %s" +msgstr "" + +#: domain_mapping.php:712 +msgid "Incorrect or out of date login key" +msgstr "" + +#: domain_mapping.php:715 +msgid "Unknown login key" +msgstr "" + +#: domain_mapping.php:725 +msgid "Unknown logout key" +msgstr "" + +#: domain_mapping.php:758 +msgid "Mapping" +msgstr "" diff --git a/wp-content/plugins/wordpress-openid-delegation/.gitignore b/wp-content/plugins/wordpress-openid-delegation/.gitignore new file mode 100644 index 0000000..3a4edf6 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/.gitignore @@ -0,0 +1 @@ +.project diff --git a/wp-content/plugins/wordpress-openid-delegation/README.md b/wp-content/plugins/wordpress-openid-delegation/README.md new file mode 100644 index 0000000..811aa81 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/README.md @@ -0,0 +1,6 @@ +wordpress-openid-delegation +=========================== + +A simple plugin that adds the required meta tags to allow you to use your blog URL as your OpenID with the provider you choose. + +For more information see http://wordpress.org/extend/plugins/wordpress-openid-delegation/ diff --git a/wp-content/plugins/wordpress-openid-delegation/languages/openid-delegation.pot b/wp-content/plugins/wordpress-openid-delegation/languages/openid-delegation.pot new file mode 100644 index 0000000..d7875cf --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/languages/openid-delegation.pot @@ -0,0 +1,36 @@ +msgid "" +msgstr "" +"Project-Id-Version: OpenID Delegation\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-10-10 15:36-0300\n" +"PO-Revision-Date: 2012-10-10 15:36-0300\n" +"Last-Translator: Rodrigo Primo \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: openid-delegation.php:37 +msgid "OpenID Delegation" +msgstr "" + +#: openid-delegation.php:44 +msgid "OpenID Provider URL" +msgstr "" + +#: openid-delegation.php:52 +msgid "OpenID Delegate URL" +msgstr "" + +#: openid-delegation.php:64 +msgid "Please enter your OpenID provider URL and your OpenID delegate URL." +msgstr "" + +#: openid-delegation.php:69 +msgid "" +"Examples: http://www.myopenid.com/server or https://www.google.com/accounts/o8/ud" +msgstr "" + +#: openid-delegation.php:74 +msgid "" +"Examples: http://YOURUSERNAME.myopenid.com or https://plus.google.com/YOURID" +msgstr "" diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID.php new file mode 100644 index 0000000..c9d9779 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID.php @@ -0,0 +1,563 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * The library version string + */ +define('Auth_OpenID_VERSION', '2.2.2'); + +/** + * Require the fetcher code. + */ +require_once "Auth/Yadis/PlainHTTPFetcher.php"; +require_once "Auth/Yadis/ParanoidHTTPFetcher.php"; +require_once "Auth/OpenID/BigMath.php"; +require_once "Auth/OpenID/URINorm.php"; + +/** + * Status code returned by the server when the only option is to show + * an error page, since we do not have enough information to redirect + * back to the consumer. The associated value is an error message that + * should be displayed on an HTML error page. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_LOCAL_ERROR', 'local_error'); + +/** + * Status code returned when there is an error to return in key-value + * form to the consumer. The caller should return a 400 Bad Request + * response with content-type text/plain and the value as the body. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_REMOTE_ERROR', 'remote_error'); + +/** + * Status code returned when there is a key-value form OK response to + * the consumer. The value associated with this code is the + * response. The caller should return a 200 OK response with + * content-type text/plain and the value as the body. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_REMOTE_OK', 'remote_ok'); + +/** + * Status code returned when there is a redirect back to the + * consumer. The value is the URL to redirect back to. The caller + * should return a 302 Found redirect with a Location: header + * containing the URL. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_REDIRECT', 'redirect'); + +/** + * Status code returned when the caller needs to authenticate the + * user. The associated value is a {@link Auth_OpenID_ServerRequest} + * object that can be used to complete the authentication. If the user + * has taken some authentication action, use the retry() method of the + * {@link Auth_OpenID_ServerRequest} object to complete the request. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_DO_AUTH', 'do_auth'); + +/** + * Status code returned when there were no OpenID arguments + * passed. This code indicates that the caller should return a 200 OK + * response and display an HTML page that says that this is an OpenID + * server endpoint. + * + * @see Auth_OpenID_Server + */ +define('Auth_OpenID_DO_ABOUT', 'do_about'); + +/** + * Defines for regexes and format checking. + */ +define('Auth_OpenID_letters', + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); + +define('Auth_OpenID_digits', + "0123456789"); + +define('Auth_OpenID_punct', + "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~"); + +Auth_OpenID_include_init(); + +/** + * The OpenID utility function class. + * + * @package OpenID + * @access private + */ +class Auth_OpenID { + + /** + * Return true if $thing is an Auth_OpenID_FailureResponse object; + * false if not. + * + * @access private + */ + static function isFailure($thing) + { + return is_a($thing, 'Auth_OpenID_FailureResponse'); + } + + /** + * Gets the query data from the server environment based on the + * request method used. If GET was used, this looks at + * $_SERVER['QUERY_STRING'] directly. If POST was used, this + * fetches data from the special php://input file stream. + * + * Returns an associative array of the query arguments. + * + * Skips invalid key/value pairs (i.e. keys with no '=value' + * portion). + * + * Returns an empty array if neither GET nor POST was used, or if + * POST was used but php://input cannot be opened. + * + * See background: + * http://lists.openidenabled.com/pipermail/dev/2007-March/000395.html + * + * @access private + */ + static function getQuery($query_str=null) + { + $data = array(); + + if ($query_str !== null) { + $data = Auth_OpenID::params_from_string($query_str); + } else if (!array_key_exists('REQUEST_METHOD', $_SERVER)) { + // Do nothing. + } else { + // XXX HACK FIXME HORRIBLE. + // + // POSTing to a URL with query parameters is acceptable, but + // we don't have a clean way to distinguish those parameters + // when we need to do things like return_to verification + // which only want to look at one kind of parameter. We're + // going to emulate the behavior of some other environments + // by defaulting to GET and overwriting with POST if POST + // data is available. + $data = Auth_OpenID::params_from_string($_SERVER['QUERY_STRING']); + + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $str = file_get_contents('php://input'); + + if ($str === false) { + $post = array(); + } else { + $post = Auth_OpenID::params_from_string($str); + } + + $data = array_merge($data, $post); + } + } + + return $data; + } + + static function params_from_string($str) + { + $chunks = explode("&", $str); + + $data = array(); + foreach ($chunks as $chunk) { + $parts = explode("=", $chunk, 2); + + if (count($parts) != 2) { + continue; + } + + list($k, $v) = $parts; + $data[urldecode($k)] = urldecode($v); + } + + return $data; + } + + /** + * Create dir_name as a directory if it does not exist. If it + * exists, make sure that it is, in fact, a directory. Returns + * true if the operation succeeded; false if not. + * + * @access private + */ + static function ensureDir($dir_name) + { + if (is_dir($dir_name) || @mkdir($dir_name)) { + return true; + } else { + $parent_dir = dirname($dir_name); + + // Terminal case; there is no parent directory to create. + if ($parent_dir == $dir_name) { + return true; + } + + return (Auth_OpenID::ensureDir($parent_dir) && @mkdir($dir_name)); + } + } + + /** + * Adds a string prefix to all values of an array. Returns a new + * array containing the prefixed values. + * + * @access private + */ + static function addPrefix($values, $prefix) + { + $new_values = array(); + foreach ($values as $s) { + $new_values[] = $prefix . $s; + } + return $new_values; + } + + /** + * Convenience function for getting array values. Given an array + * $arr and a key $key, get the corresponding value from the array + * or return $default if the key is absent. + * + * @access private + */ + static function arrayGet($arr, $key, $fallback = null) + { + if (is_array($arr)) { + if (array_key_exists($key, $arr)) { + return $arr[$key]; + } else { + return $fallback; + } + } else { + trigger_error("Auth_OpenID::arrayGet (key = ".$key.") expected " . + "array as first parameter, got " . + gettype($arr), E_USER_WARNING); + + return false; + } + } + + /** + * Replacement for PHP's broken parse_str. + */ + static function parse_str($query) + { + if ($query === null) { + return null; + } + + $parts = explode('&', $query); + + $new_parts = array(); + for ($i = 0; $i < count($parts); $i++) { + $pair = explode('=', $parts[$i]); + + if (count($pair) != 2) { + continue; + } + + list($key, $value) = $pair; + $new_parts[urldecode($key)] = urldecode($value); + } + + return $new_parts; + } + + /** + * Implements the PHP 5 'http_build_query' functionality. + * + * @access private + * @param array $data Either an array key/value pairs or an array + * of arrays, each of which holding two values: a key and a value, + * sequentially. + * @return string $result The result of url-encoding the key/value + * pairs from $data into a URL query string + * (e.g. "username=bob&id=56"). + */ + static function httpBuildQuery($data) + { + $pairs = array(); + foreach ($data as $key => $value) { + if (is_array($value)) { + $pairs[] = urlencode($value[0])."=".urlencode($value[1]); + } else { + $pairs[] = urlencode($key)."=".urlencode($value); + } + } + return implode("&", $pairs); + } + + /** + * "Appends" query arguments onto a URL. The URL may or may not + * already have arguments (following a question mark). + * + * @access private + * @param string $url A URL, which may or may not already have + * arguments. + * @param array $args Either an array key/value pairs or an array of + * arrays, each of which holding two values: a key and a value, + * sequentially. If $args is an ordinary key/value array, the + * parameters will be added to the URL in sorted alphabetical order; + * if $args is an array of arrays, their order will be preserved. + * @return string $url The original URL with the new parameters added. + * + */ + static function appendArgs($url, $args) + { + if (count($args) == 0) { + return $url; + } + + // Non-empty array; if it is an array of arrays, use + // multisort; otherwise use sort. + if (array_key_exists(0, $args) && + is_array($args[0])) { + // Do nothing here. + } else { + $keys = array_keys($args); + sort($keys); + $new_args = array(); + foreach ($keys as $key) { + $new_args[] = array($key, $args[$key]); + } + $args = $new_args; + } + + $sep = '?'; + if (strpos($url, '?') !== false) { + $sep = '&'; + } + + return $url . $sep . Auth_OpenID::httpBuildQuery($args); + } + + /** + * Implements python's urlunparse, which is not available in PHP. + * Given the specified components of a URL, this function rebuilds + * and returns the URL. + * + * @access private + * @param string $scheme The scheme (e.g. 'http'). Defaults to 'http'. + * @param string $host The host. Required. + * @param string $port The port. + * @param string $path The path. + * @param string $query The query. + * @param string $fragment The fragment. + * @return string $url The URL resulting from assembling the + * specified components. + */ + static function urlunparse($scheme, $host, $port = null, $path = '/', + $query = '', $fragment = '') + { + + if (!$scheme) { + $scheme = 'http'; + } + + if (!$host) { + return false; + } + + if (!$path) { + $path = ''; + } + + $result = $scheme . "://" . $host; + + if ($port) { + $result .= ":" . $port; + } + + $result .= $path; + + if ($query) { + $result .= "?" . $query; + } + + if ($fragment) { + $result .= "#" . $fragment; + } + + return $result; + } + + /** + * Given a URL, this "normalizes" it by adding a trailing slash + * and / or a leading http:// scheme where necessary. Returns + * null if the original URL is malformed and cannot be normalized. + * + * @access private + * @param string $url The URL to be normalized. + * @return mixed $new_url The URL after normalization, or null if + * $url was malformed. + */ + static function normalizeUrl($url) + { + @$parsed = parse_url($url); + + if (!$parsed) { + return null; + } + + if (isset($parsed['scheme']) && + isset($parsed['host'])) { + $scheme = strtolower($parsed['scheme']); + if (!in_array($scheme, array('http', 'https'))) { + return null; + } + } else { + $url = 'http://' . $url; + } + + $normalized = Auth_OpenID_urinorm($url); + if ($normalized === null) { + return null; + } + list($defragged, $frag) = Auth_OpenID::urldefrag($normalized); + return $defragged; + } + + /** + * Replacement (wrapper) for PHP's intval() because it's broken. + * + * @access private + */ + static function intval($value) + { + $re = "/^\\d+$/"; + + if (!preg_match($re, $value)) { + return false; + } + + return intval($value); + } + + /** + * Count the number of bytes in a string independently of + * multibyte support conditions. + * + * @param string $str The string of bytes to count. + * @return int The number of bytes in $str. + */ + static function bytes($str) + { + return strlen(bin2hex($str)) / 2; + } + + /** + * Get the bytes in a string independently of multibyte support + * conditions. + */ + static function toBytes($str) + { + $hex = bin2hex($str); + + if (!$hex) { + return array(); + } + + $b = array(); + for ($i = 0; $i < strlen($hex); $i += 2) { + $b[] = chr(base_convert(substr($hex, $i, 2), 16, 10)); + } + + return $b; + } + + static function urldefrag($url) + { + $parts = explode("#", $url, 2); + + if (count($parts) == 1) { + return array($parts[0], ""); + } else { + return $parts; + } + } + + static function filter($callback, &$sequence) + { + $result = array(); + + foreach ($sequence as $item) { + if (call_user_func_array($callback, array($item))) { + $result[] = $item; + } + } + + return $result; + } + + static function update(&$dest, &$src) + { + foreach ($src as $k => $v) { + $dest[$k] = $v; + } + } + + /** + * Wrap PHP's standard error_log functionality. Use this to + * perform all logging. It will interpolate any additional + * arguments into the format string before logging. + * + * @param string $format_string The sprintf format for the message + */ + static function log($format_string) + { + $args = func_get_args(); + $message = call_user_func_array('sprintf', $args); + error_log($message); + } + + static function autoSubmitHTML($form, $title="OpenId transaction in progress") + { + return("". + "". + $title . + "". + "". + $form . + "". + "". + ""); + } +} + +/* + * Function to run when this file is included. + * Abstracted to a function to make life easier + * for some PHP optimizers. + */ +function Auth_OpenID_include_init() { + if (Auth_OpenID_getMathLib() === null) { + Auth_OpenID_setNoMathSupport(); + } +} diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/AX.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/AX.php new file mode 100644 index 0000000..7370715 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/AX.php @@ -0,0 +1,1022 @@ +message = $message; + } +} + +/** + * Abstract class containing common code for attribute exchange + * messages. + * + * @package OpenID + */ +class Auth_OpenID_AX_Message extends Auth_OpenID_Extension { + /** + * ns_alias: The preferred namespace alias for attribute exchange + * messages + */ + var $ns_alias = 'ax'; + + /** + * mode: The type of this attribute exchange message. This must be + * overridden in subclasses. + */ + var $mode = null; + + var $ns_uri = Auth_OpenID_AX_NS_URI; + + /** + * Return Auth_OpenID_AX_Error if the mode in the attribute + * exchange arguments does not match what is expected for this + * class; true otherwise. + * + * @access private + */ + function _checkMode($ax_args) + { + $mode = Auth_OpenID::arrayGet($ax_args, 'mode'); + if ($mode != $this->mode) { + return new Auth_OpenID_AX_Error( + sprintf( + "Expected mode '%s'; got '%s'", + $this->mode, $mode)); + } + + return true; + } + + /** + * Return a set of attribute exchange arguments containing the + * basic information that must be in every attribute exchange + * message. + * + * @access private + */ + function _newArgs() + { + return array('mode' => $this->mode); + } +} + +/** + * Represents a single attribute in an attribute exchange + * request. This should be added to an AXRequest object in order to + * request the attribute. + * + * @package OpenID + */ +class Auth_OpenID_AX_AttrInfo { + /** + * Construct an attribute information object. Do not call this + * directly; call make(...) instead. + * + * @param string $type_uri The type URI for this attribute. + * + * @param int $count The number of values of this type to request. + * + * @param bool $required Whether the attribute will be marked as + * required in the request. + * + * @param string $alias The name that should be given to this + * attribute in the request. + */ + function Auth_OpenID_AX_AttrInfo($type_uri, $count, $required, + $alias) + { + /** + * required: Whether the attribute will be marked as required + * when presented to the subject of the attribute exchange + * request. + */ + $this->required = $required; + + /** + * count: How many values of this type to request from the + * subject. Defaults to one. + */ + $this->count = $count; + + /** + * type_uri: The identifier that determines what the attribute + * represents and how it is serialized. For example, one type + * URI representing dates could represent a Unix timestamp in + * base 10 and another could represent a human-readable + * string. + */ + $this->type_uri = $type_uri; + + /** + * alias: The name that should be given to this attribute in + * the request. If it is not supplied, a generic name will be + * assigned. For example, if you want to call a Unix timestamp + * value 'tstamp', set its alias to that value. If two + * attributes in the same message request to use the same + * alias, the request will fail to be generated. + */ + $this->alias = $alias; + } + + /** + * Construct an attribute information object. For parameter + * details, see the constructor. + */ + static function make($type_uri, $count=1, $required=false, + $alias=null) + { + if ($alias !== null) { + $result = Auth_OpenID_AX_checkAlias($alias); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + } + + return new Auth_OpenID_AX_AttrInfo($type_uri, $count, $required, + $alias); + } + + /** + * When processing a request for this attribute, the OP should + * call this method to determine whether all available attribute + * values were requested. If self.count == UNLIMITED_VALUES, this + * returns True. Otherwise this returns False, in which case + * self.count is an integer. + */ + function wantsUnlimitedValues() + { + return $this->count === Auth_OpenID_AX_UNLIMITED_VALUES; + } +} + +/** + * Given a namespace mapping and a string containing a comma-separated + * list of namespace aliases, return a list of type URIs that + * correspond to those aliases. + * + * @param $namespace_map The mapping from namespace URI to alias + * @param $alias_list_s The string containing the comma-separated + * list of aliases. May also be None for convenience. + * + * @return $seq The list of namespace URIs that corresponds to the + * supplied list of aliases. If the string was zero-length or None, an + * empty list will be returned. + * + * return null If an alias is present in the list of aliases but + * is not present in the namespace map. + */ +function Auth_OpenID_AX_toTypeURIs($namespace_map, $alias_list_s) +{ + $uris = array(); + + if ($alias_list_s) { + foreach (explode(',', $alias_list_s) as $alias) { + $type_uri = $namespace_map->getNamespaceURI($alias); + if ($type_uri === null) { + // raise KeyError( + // 'No type is defined for attribute name %r' % (alias,)) + return new Auth_OpenID_AX_Error( + sprintf('No type is defined for attribute name %s', + $alias) + ); + } else { + $uris[] = $type_uri; + } + } + } + + return $uris; +} + +/** + * An attribute exchange 'fetch_request' message. This message is sent + * by a relying party when it wishes to obtain attributes about the + * subject of an OpenID authentication request. + * + * @package OpenID + */ +class Auth_OpenID_AX_FetchRequest extends Auth_OpenID_AX_Message { + + var $mode = 'fetch_request'; + + function Auth_OpenID_AX_FetchRequest($update_url=null) + { + /** + * requested_attributes: The attributes that have been + * requested thus far, indexed by the type URI. + */ + $this->requested_attributes = array(); + + /** + * update_url: A URL that will accept responses for this + * attribute exchange request, even in the absence of the user + * who made this request. + */ + $this->update_url = $update_url; + } + + /** + * Add an attribute to this attribute exchange request. + * + * @param attribute: The attribute that is being requested + * @return true on success, false when the requested attribute is + * already present in this fetch request. + */ + function add($attribute) + { + if ($this->contains($attribute->type_uri)) { + return new Auth_OpenID_AX_Error( + sprintf("The attribute %s has already been requested", + $attribute->type_uri)); + } + + $this->requested_attributes[$attribute->type_uri] = $attribute; + + return true; + } + + /** + * Get the serialized form of this attribute fetch request. + * + * @returns Auth_OpenID_AX_FetchRequest The fetch request message parameters + */ + function getExtensionArgs() + { + $aliases = new Auth_OpenID_NamespaceMap(); + + $required = array(); + $if_available = array(); + + $ax_args = $this->_newArgs(); + + foreach ($this->requested_attributes as $type_uri => $attribute) { + if ($attribute->alias === null) { + $alias = $aliases->add($type_uri); + } else { + $alias = $aliases->addAlias($type_uri, $attribute->alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $attribute->alias, $type_uri + )); + } + } + + if ($attribute->required) { + $required[] = $alias; + } else { + $if_available[] = $alias; + } + + if ($attribute->count != 1) { + $ax_args['count.' . $alias] = strval($attribute->count); + } + + $ax_args['type.' . $alias] = $type_uri; + } + + if ($required) { + $ax_args['required'] = implode(',', $required); + } + + if ($if_available) { + $ax_args['if_available'] = implode(',', $if_available); + } + + return $ax_args; + } + + /** + * Get the type URIs for all attributes that have been marked as + * required. + * + * @return A list of the type URIs for attributes that have been + * marked as required. + */ + function getRequiredAttrs() + { + $required = array(); + foreach ($this->requested_attributes as $type_uri => $attribute) { + if ($attribute->required) { + $required[] = $type_uri; + } + } + + return $required; + } + + /** + * Extract a FetchRequest from an OpenID message + * + * @param request: The OpenID request containing the attribute + * fetch request + * + * @returns mixed An Auth_OpenID_AX_Error or the + * Auth_OpenID_AX_FetchRequest extracted from the request message if + * successful + */ + static function fromOpenIDRequest($request) + { + $m = $request->message; + $obj = new Auth_OpenID_AX_FetchRequest(); + $ax_args = $m->getArgs($obj->ns_uri); + + $result = $obj->parseExtensionArgs($ax_args); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + if ($obj->update_url) { + // Update URL must match the openid.realm of the + // underlying OpenID 2 message. + $realm = $m->getArg(Auth_OpenID_OPENID_NS, 'realm', + $m->getArg( + Auth_OpenID_OPENID_NS, + 'return_to')); + + if (!$realm) { + $obj = new Auth_OpenID_AX_Error( + sprintf("Cannot validate update_url %s " . + "against absent realm", $obj->update_url)); + } else if (!Auth_OpenID_TrustRoot::match($realm, + $obj->update_url)) { + $obj = new Auth_OpenID_AX_Error( + sprintf("Update URL %s failed validation against realm %s", + $obj->update_url, $realm)); + } + } + + return $obj; + } + + /** + * Given attribute exchange arguments, populate this FetchRequest. + * + * @return $result Auth_OpenID_AX_Error if the data to be parsed + * does not follow the attribute exchange specification. At least + * when 'if_available' or 'required' is not specified for a + * particular attribute type. Returns true otherwise. + */ + function parseExtensionArgs($ax_args) + { + $result = $this->_checkMode($ax_args); + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $aliases = new Auth_OpenID_NamespaceMap(); + + foreach ($ax_args as $key => $value) { + if (strpos($key, 'type.') === 0) { + $alias = substr($key, 5); + $type_uri = $value; + + $alias = $aliases->addAlias($type_uri, $alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $alias, $type_uri) + ); + } + + $count_s = Auth_OpenID::arrayGet($ax_args, 'count.' . $alias); + if ($count_s) { + $count = Auth_OpenID::intval($count_s); + if (($count === false) && + ($count_s === Auth_OpenID_AX_UNLIMITED_VALUES)) { + $count = $count_s; + } + } else { + $count = 1; + } + + if ($count === false) { + return new Auth_OpenID_AX_Error( + sprintf("Integer value expected for %s, got %s", + 'count.' . $alias, $count_s)); + } + + $attrinfo = Auth_OpenID_AX_AttrInfo::make($type_uri, $count, + false, $alias); + + if (Auth_OpenID_AX::isError($attrinfo)) { + return $attrinfo; + } + + $this->add($attrinfo); + } + } + + $required = Auth_OpenID_AX_toTypeURIs($aliases, + Auth_OpenID::arrayGet($ax_args, 'required')); + + foreach ($required as $type_uri) { + $attrib = $this->requested_attributes[$type_uri]; + $attrib->required = true; + } + + $if_available = Auth_OpenID_AX_toTypeURIs($aliases, + Auth_OpenID::arrayGet($ax_args, 'if_available')); + + $all_type_uris = array_merge($required, $if_available); + + foreach ($aliases->iterNamespaceURIs() as $type_uri) { + if (!in_array($type_uri, $all_type_uris)) { + return new Auth_OpenID_AX_Error( + sprintf('Type URI %s was in the request but not ' . + 'present in "required" or "if_available"', + $type_uri)); + + } + } + + $this->update_url = Auth_OpenID::arrayGet($ax_args, 'update_url'); + + return true; + } + + /** + * Iterate over the AttrInfo objects that are contained in this + * fetch_request. + */ + function iterAttrs() + { + return array_values($this->requested_attributes); + } + + function iterTypes() + { + return array_keys($this->requested_attributes); + } + + /** + * Is the given type URI present in this fetch_request? + */ + function contains($type_uri) + { + return in_array($type_uri, $this->iterTypes()); + } +} + +/** + * An abstract class that implements a message that has attribute keys + * and values. It contains the common code between fetch_response and + * store_request. + * + * @package OpenID + */ +class Auth_OpenID_AX_KeyValueMessage extends Auth_OpenID_AX_Message { + + function Auth_OpenID_AX_KeyValueMessage() + { + $this->data = array(); + } + + /** + * Add a single value for the given attribute type to the + * message. If there are already values specified for this type, + * this value will be sent in addition to the values already + * specified. + * + * @param type_uri: The URI for the attribute + * @param value: The value to add to the response to the relying + * party for this attribute + * @return null + */ + function addValue($type_uri, $value) + { + if (!array_key_exists($type_uri, $this->data)) { + $this->data[$type_uri] = array(); + } + + $values =& $this->data[$type_uri]; + $values[] = $value; + } + + /** + * Set the values for the given attribute type. This replaces any + * values that have already been set for this attribute. + * + * @param type_uri: The URI for the attribute + * @param values: A list of values to send for this attribute. + */ + function setValues($type_uri, &$values) + { + $this->data[$type_uri] =& $values; + } + + /** + * Get the extension arguments for the key/value pairs contained + * in this message. + * + * @param aliases: An alias mapping. Set to None if you don't care + * about the aliases for this request. + * + * @access private + */ + function _getExtensionKVArgs($aliases) + { + if ($aliases === null) { + $aliases = new Auth_OpenID_NamespaceMap(); + } + + $ax_args = array(); + + foreach ($this->data as $type_uri => $values) { + $alias = $aliases->add($type_uri); + + $ax_args['type.' . $alias] = $type_uri; + $ax_args['count.' . $alias] = strval(count($values)); + + foreach ($values as $i => $value) { + $key = sprintf('value.%s.%d', $alias, $i + 1); + $ax_args[$key] = $value; + } + } + + return $ax_args; + } + + /** + * Parse attribute exchange key/value arguments into this object. + * + * @param ax_args: The attribute exchange fetch_response + * arguments, with namespacing removed. + * + * @return Auth_OpenID_AX_Error or true + */ + function parseExtensionArgs($ax_args) + { + $result = $this->_checkMode($ax_args); + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $aliases = new Auth_OpenID_NamespaceMap(); + + foreach ($ax_args as $key => $value) { + if (strpos($key, 'type.') === 0) { + $type_uri = $value; + $alias = substr($key, 5); + + $result = Auth_OpenID_AX_checkAlias($alias); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $alias = $aliases->addAlias($type_uri, $alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $alias, $type_uri) + ); + } + } + } + + foreach ($aliases->iteritems() as $pair) { + list($type_uri, $alias) = $pair; + + if (array_key_exists('count.' . $alias, $ax_args) && ($ax_args['count.' . $alias] !== Auth_OpenID_AX_UNLIMITED_VALUES)) { + + $count_key = 'count.' . $alias; + $count_s = $ax_args[$count_key]; + + $count = Auth_OpenID::intval($count_s); + + if ($count === false) { + return new Auth_OpenID_AX_Error( + sprintf("Integer value expected for %s, got %s", + 'count. %s' . $alias, $count_s, + Auth_OpenID_AX_UNLIMITED_VALUES) + ); + } + + $values = array(); + for ($i = 1; $i < $count + 1; $i++) { + $value_key = sprintf('value.%s.%d', $alias, $i); + + if (!array_key_exists($value_key, $ax_args)) { + return new Auth_OpenID_AX_Error( + sprintf( + "No value found for key %s", + $value_key)); + } + + $value = $ax_args[$value_key]; + $values[] = $value; + } + } else { + $key = 'value.' . $alias; + + if (!array_key_exists($key, $ax_args)) { + return new Auth_OpenID_AX_Error( + sprintf( + "No value found for key %s", + $key)); + } + + $value = $ax_args['value.' . $alias]; + + if ($value == '') { + $values = array(); + } else { + $values = array($value); + } + } + + $this->data[$type_uri] = $values; + } + + return true; + } + + /** + * Get a single value for an attribute. If no value was sent for + * this attribute, use the supplied default. If there is more than + * one value for this attribute, this method will fail. + * + * @param type_uri: The URI for the attribute + * @param default: The value to return if the attribute was not + * sent in the fetch_response. + * + * @return $value Auth_OpenID_AX_Error on failure or the value of + * the attribute in the fetch_response message, or the default + * supplied + */ + function getSingle($type_uri, $default=null) + { + $values = Auth_OpenID::arrayGet($this->data, $type_uri); + if (!$values) { + return $default; + } else if (count($values) == 1) { + return $values[0]; + } else { + return new Auth_OpenID_AX_Error( + sprintf('More than one value present for %s', + $type_uri) + ); + } + } + + /** + * Get the list of values for this attribute in the + * fetch_response. + * + * XXX: what to do if the values are not present? default + * parameter? this is funny because it's always supposed to return + * a list, so the default may break that, though it's provided by + * the user's code, so it might be okay. If no default is + * supplied, should the return be None or []? + * + * @param type_uri: The URI of the attribute + * + * @return $values The list of values for this attribute in the + * response. May be an empty list. If the attribute was not sent + * in the response, returns Auth_OpenID_AX_Error. + */ + function get($type_uri) + { + if (array_key_exists($type_uri, $this->data)) { + return $this->data[$type_uri]; + } else { + return new Auth_OpenID_AX_Error( + sprintf("Type URI %s not found in response", + $type_uri) + ); + } + } + + /** + * Get the number of responses for a particular attribute in this + * fetch_response message. + * + * @param type_uri: The URI of the attribute + * + * @returns int The number of values sent for this attribute. If + * the attribute was not sent in the response, returns + * Auth_OpenID_AX_Error. + */ + function count($type_uri) + { + if (array_key_exists($type_uri, $this->data)) { + return count($this->get($type_uri)); + } else { + return new Auth_OpenID_AX_Error( + sprintf("Type URI %s not found in response", + $type_uri) + ); + } + } +} + +/** + * A fetch_response attribute exchange message. + * + * @package OpenID + */ +class Auth_OpenID_AX_FetchResponse extends Auth_OpenID_AX_KeyValueMessage { + var $mode = 'fetch_response'; + + function Auth_OpenID_AX_FetchResponse($update_url=null) + { + $this->Auth_OpenID_AX_KeyValueMessage(); + $this->update_url = $update_url; + } + + /** + * Serialize this object into arguments in the attribute exchange + * namespace + * + * @return $args The dictionary of unqualified attribute exchange + * arguments that represent this fetch_response, or + * Auth_OpenID_AX_Error on error. + */ + function getExtensionArgs($request=null) + { + $aliases = new Auth_OpenID_NamespaceMap(); + + $zero_value_types = array(); + + if ($request !== null) { + // Validate the data in the context of the request (the + // same attributes should be present in each, and the + // counts in the response must be no more than the counts + // in the request) + + foreach ($this->data as $type_uri => $unused) { + if (!$request->contains($type_uri)) { + return new Auth_OpenID_AX_Error( + sprintf("Response attribute not present in request: %s", + $type_uri) + ); + } + } + + foreach ($request->iterAttrs() as $attr_info) { + // Copy the aliases from the request so that reading + // the response in light of the request is easier + if ($attr_info->alias === null) { + $aliases->add($attr_info->type_uri); + } else { + $alias = $aliases->addAlias($attr_info->type_uri, + $attr_info->alias); + + if ($alias === null) { + return new Auth_OpenID_AX_Error( + sprintf("Could not add alias %s for URI %s", + $attr_info->alias, $attr_info->type_uri) + ); + } + } + + if (array_key_exists($attr_info->type_uri, $this->data)) { + $values = $this->data[$attr_info->type_uri]; + } else { + $values = array(); + $zero_value_types[] = $attr_info; + } + + if (($attr_info->count != Auth_OpenID_AX_UNLIMITED_VALUES) && + ($attr_info->count < count($values))) { + return new Auth_OpenID_AX_Error( + sprintf("More than the number of requested values " . + "were specified for %s", + $attr_info->type_uri) + ); + } + } + } + + $kv_args = $this->_getExtensionKVArgs($aliases); + + // Add the KV args into the response with the args that are + // unique to the fetch_response + $ax_args = $this->_newArgs(); + + // For each requested attribute, put its type/alias and count + // into the response even if no data were returned. + foreach ($zero_value_types as $attr_info) { + $alias = $aliases->getAlias($attr_info->type_uri); + $kv_args['type.' . $alias] = $attr_info->type_uri; + $kv_args['count.' . $alias] = '0'; + } + + $update_url = null; + if ($request) { + $update_url = $request->update_url; + } else { + $update_url = $this->update_url; + } + + if ($update_url) { + $ax_args['update_url'] = $update_url; + } + + Auth_OpenID::update($ax_args, $kv_args); + + return $ax_args; + } + + /** + * @return $result Auth_OpenID_AX_Error on failure or true on + * success. + */ + function parseExtensionArgs($ax_args) + { + $result = parent::parseExtensionArgs($ax_args); + + if (Auth_OpenID_AX::isError($result)) { + return $result; + } + + $this->update_url = Auth_OpenID::arrayGet($ax_args, 'update_url'); + + return true; + } + + /** + * Construct a FetchResponse object from an OpenID library + * SuccessResponse object. + * + * @param success_response: A successful id_res response object + * + * @param signed: Whether non-signed args should be processsed. If + * True (the default), only signed arguments will be processsed. + * + * @return $response A FetchResponse containing the data from the + * OpenID message + */ + static function fromSuccessResponse($success_response, $signed=true) + { + $obj = new Auth_OpenID_AX_FetchResponse(); + if ($signed) { + $ax_args = $success_response->getSignedNS($obj->ns_uri); + } else { + $ax_args = $success_response->message->getArgs($obj->ns_uri); + } + if ($ax_args === null || Auth_OpenID::isFailure($ax_args) || + sizeof($ax_args) == 0) { + return null; + } + + $result = $obj->parseExtensionArgs($ax_args); + if (Auth_OpenID_AX::isError($result)) { + #XXX log me + return null; + } + return $obj; + } +} + +/** + * A store request attribute exchange message representation. + * + * @package OpenID + */ +class Auth_OpenID_AX_StoreRequest extends Auth_OpenID_AX_KeyValueMessage { + var $mode = 'store_request'; + + /** + * @param array $aliases The namespace aliases to use when making + * this store response. Leave as None to use defaults. + */ + function getExtensionArgs($aliases=null) + { + $ax_args = $this->_newArgs(); + $kv_args = $this->_getExtensionKVArgs($aliases); + Auth_OpenID::update($ax_args, $kv_args); + return $ax_args; + } +} + +/** + * An indication that the store request was processed along with this + * OpenID transaction. Use make(), NOT the constructor, to create + * response objects. + * + * @package OpenID + */ +class Auth_OpenID_AX_StoreResponse extends Auth_OpenID_AX_Message { + var $SUCCESS_MODE = 'store_response_success'; + var $FAILURE_MODE = 'store_response_failure'; + + /** + * Returns Auth_OpenID_AX_Error on error or an + * Auth_OpenID_AX_StoreResponse object on success. + */ + function make($succeeded=true, $error_message=null) + { + if (($succeeded) && ($error_message !== null)) { + return new Auth_OpenID_AX_Error('An error message may only be '. + 'included in a failing fetch response'); + } + + return new Auth_OpenID_AX_StoreResponse($succeeded, $error_message); + } + + function Auth_OpenID_AX_StoreResponse($succeeded=true, $error_message=null) + { + if ($succeeded) { + $this->mode = $this->SUCCESS_MODE; + } else { + $this->mode = $this->FAILURE_MODE; + } + + $this->error_message = $error_message; + } + + /** + * Was this response a success response? + */ + function succeeded() + { + return $this->mode == $this->SUCCESS_MODE; + } + + function getExtensionArgs() + { + $ax_args = $this->_newArgs(); + if ((!$this->succeeded()) && $this->error_message) { + $ax_args['error'] = $this->error_message; + } + + return $ax_args; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Association.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Association.php new file mode 100644 index 0000000..2729138 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Association.php @@ -0,0 +1,610 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * @access private + */ +require_once 'Auth/OpenID/CryptUtil.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/KVForm.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/HMAC.php'; + +/** + * This class represents an association between a server and a + * consumer. In general, users of this library will never see + * instances of this object. The only exception is if you implement a + * custom {@link Auth_OpenID_OpenIDStore}. + * + * If you do implement such a store, it will need to store the values + * of the handle, secret, issued, lifetime, and assoc_type instance + * variables. + * + * @package OpenID + */ +class Auth_OpenID_Association { + + /** + * This is a HMAC-SHA1 specific value. + * + * @access private + */ + var $SIG_LENGTH = 20; + + /** + * The ordering and name of keys as stored by serialize. + * + * @access private + */ + var $assoc_keys = array( + 'version', + 'handle', + 'secret', + 'issued', + 'lifetime', + 'assoc_type' + ); + + var $_macs = array( + 'HMAC-SHA1' => 'Auth_OpenID_HMACSHA1', + 'HMAC-SHA256' => 'Auth_OpenID_HMACSHA256' + ); + + /** + * This is an alternate constructor (factory method) used by the + * OpenID consumer library to create associations. OpenID store + * implementations shouldn't use this constructor. + * + * @access private + * + * @param integer $expires_in This is the amount of time this + * association is good for, measured in seconds since the + * association was issued. + * + * @param string $handle This is the handle the server gave this + * association. + * + * @param string secret This is the shared secret the server + * generated for this association. + * + * @param assoc_type This is the type of association this + * instance represents. The only valid values of this field at + * this time is 'HMAC-SHA1' and 'HMAC-SHA256', but new types may + * be defined in the future. + * + * @return association An {@link Auth_OpenID_Association} + * instance. + */ + static function fromExpiresIn($expires_in, $handle, $secret, $assoc_type) + { + $issued = time(); + $lifetime = $expires_in; + return new Auth_OpenID_Association($handle, $secret, + $issued, $lifetime, $assoc_type); + } + + /** + * This is the standard constructor for creating an association. + * The library should create all of the necessary associations, so + * this constructor is not part of the external API. + * + * @access private + * + * @param string $handle This is the handle the server gave this + * association. + * + * @param string $secret This is the shared secret the server + * generated for this association. + * + * @param integer $issued This is the time this association was + * issued, in seconds since 00:00 GMT, January 1, 1970. (ie, a + * unix timestamp) + * + * @param integer $lifetime This is the amount of time this + * association is good for, measured in seconds since the + * association was issued. + * + * @param string $assoc_type This is the type of association this + * instance represents. The only valid values of this field at + * this time is 'HMAC-SHA1' and 'HMAC-SHA256', but new types may + * be defined in the future. + */ + function Auth_OpenID_Association( + $handle, $secret, $issued, $lifetime, $assoc_type) + { + if (!in_array($assoc_type, + Auth_OpenID_getSupportedAssociationTypes(), true)) { + $fmt = 'Unsupported association type (%s)'; + trigger_error(sprintf($fmt, $assoc_type), E_USER_ERROR); + } + + $this->handle = $handle; + $this->secret = $secret; + $this->issued = $issued; + $this->lifetime = $lifetime; + $this->assoc_type = $assoc_type; + } + + /** + * This returns the number of seconds this association is still + * valid for, or 0 if the association is no longer valid. + * + * @return integer $seconds The number of seconds this association + * is still valid for, or 0 if the association is no longer valid. + */ + function getExpiresIn($now = null) + { + if ($now == null) { + $now = time(); + } + + return max(0, $this->issued + $this->lifetime - $now); + } + + /** + * This checks to see if two {@link Auth_OpenID_Association} + * instances represent the same association. + * + * @return bool $result true if the two instances represent the + * same association, false otherwise. + */ + function equal($other) + { + return ((gettype($this) == gettype($other)) + && ($this->handle == $other->handle) + && ($this->secret == $other->secret) + && ($this->issued == $other->issued) + && ($this->lifetime == $other->lifetime) + && ($this->assoc_type == $other->assoc_type)); + } + + /** + * Convert an association to KV form. + * + * @return string $result String in KV form suitable for + * deserialization by deserialize. + */ + function serialize() + { + $data = array( + 'version' => '2', + 'handle' => $this->handle, + 'secret' => base64_encode($this->secret), + 'issued' => strval(intval($this->issued)), + 'lifetime' => strval(intval($this->lifetime)), + 'assoc_type' => $this->assoc_type + ); + + assert(array_keys($data) == $this->assoc_keys); + + return Auth_OpenID_KVForm::fromArray($data, $strict = true); + } + + /** + * Parse an association as stored by serialize(). This is the + * inverse of serialize. + * + * @param string $assoc_s Association as serialized by serialize() + * @return Auth_OpenID_Association $result instance of this class + */ + static function deserialize($class_name, $assoc_s) + { + $pairs = Auth_OpenID_KVForm::toArray($assoc_s, $strict = true); + $keys = array(); + $values = array(); + foreach ($pairs as $key => $value) { + if (is_array($value)) { + list($key, $value) = $value; + } + $keys[] = $key; + $values[] = $value; + } + + $class_vars = get_class_vars($class_name); + $class_assoc_keys = $class_vars['assoc_keys']; + + sort($keys); + sort($class_assoc_keys); + + if ($keys != $class_assoc_keys) { + trigger_error('Unexpected key values: ' . var_export($keys, true), + E_USER_WARNING); + return null; + } + + $version = $pairs['version']; + $handle = $pairs['handle']; + $secret = $pairs['secret']; + $issued = $pairs['issued']; + $lifetime = $pairs['lifetime']; + $assoc_type = $pairs['assoc_type']; + + if ($version != '2') { + trigger_error('Unknown version: ' . $version, E_USER_WARNING); + return null; + } + + $issued = intval($issued); + $lifetime = intval($lifetime); + $secret = base64_decode($secret); + + return new $class_name( + $handle, $secret, $issued, $lifetime, $assoc_type); + } + + /** + * Generate a signature for a sequence of (key, value) pairs + * + * @access private + * @param array $pairs The pairs to sign, in order. This is an + * array of two-tuples. + * @return string $signature The binary signature of this sequence + * of pairs + */ + function sign($pairs) + { + $kv = Auth_OpenID_KVForm::fromArray($pairs); + + /* Invalid association types should be caught at constructor */ + $callback = $this->_macs[$this->assoc_type]; + + return call_user_func_array($callback, array($this->secret, $kv)); + } + + /** + * Generate a signature for some fields in a dictionary + * + * @access private + * @param array $fields The fields to sign, in order; this is an + * array of strings. + * @param array $data Dictionary of values to sign (an array of + * string => string pairs). + * @return string $signature The signature, base64 encoded + */ + function signMessage($message) + { + if ($message->hasKey(Auth_OpenID_OPENID_NS, 'sig') || + $message->hasKey(Auth_OpenID_OPENID_NS, 'signed')) { + // Already has a sig + return null; + } + + $extant_handle = $message->getArg(Auth_OpenID_OPENID_NS, + 'assoc_handle'); + + if ($extant_handle && ($extant_handle != $this->handle)) { + // raise ValueError("Message has a different association handle") + return null; + } + + $signed_message = $message; + $signed_message->setArg(Auth_OpenID_OPENID_NS, 'assoc_handle', + $this->handle); + + $message_keys = array_keys($signed_message->toPostArgs()); + $signed_list = array(); + $signed_prefix = 'openid.'; + + foreach ($message_keys as $k) { + if (strpos($k, $signed_prefix) === 0) { + $signed_list[] = substr($k, strlen($signed_prefix)); + } + } + + $signed_list[] = 'signed'; + sort($signed_list); + + $signed_message->setArg(Auth_OpenID_OPENID_NS, 'signed', + implode(',', $signed_list)); + $sig = $this->getMessageSignature($signed_message); + $signed_message->setArg(Auth_OpenID_OPENID_NS, 'sig', $sig); + return $signed_message; + } + + /** + * Given a {@link Auth_OpenID_Message}, return the key/value pairs + * to be signed according to the signed list in the message. If + * the message lacks a signed list, return null. + * + * @access private + */ + function _makePairs($message) + { + $signed = $message->getArg(Auth_OpenID_OPENID_NS, 'signed'); + if (!$signed || Auth_OpenID::isFailure($signed)) { + // raise ValueError('Message has no signed list: %s' % (message,)) + return null; + } + + $signed_list = explode(',', $signed); + $pairs = array(); + $data = $message->toPostArgs(); + foreach ($signed_list as $field) { + $pairs[] = array($field, Auth_OpenID::arrayGet($data, + 'openid.' . + $field, '')); + } + return $pairs; + } + + /** + * Given an {@link Auth_OpenID_Message}, return the signature for + * the signed list in the message. + * + * @access private + */ + function getMessageSignature($message) + { + $pairs = $this->_makePairs($message); + return base64_encode($this->sign($pairs)); + } + + /** + * Confirm that the signature of these fields matches the + * signature contained in the data. + * + * @access private + */ + function checkMessageSignature($message) + { + $sig = $message->getArg(Auth_OpenID_OPENID_NS, + 'sig'); + + if (!$sig || Auth_OpenID::isFailure($sig)) { + return false; + } + + $calculated_sig = $this->getMessageSignature($message); + return Auth_OpenID_CryptUtil::constEq($calculated_sig, $sig); + } +} + +function Auth_OpenID_getSecretSize($assoc_type) +{ + if ($assoc_type == 'HMAC-SHA1') { + return 20; + } else if ($assoc_type == 'HMAC-SHA256') { + return 32; + } else { + return null; + } +} + +function Auth_OpenID_getAllAssociationTypes() +{ + return array('HMAC-SHA1', 'HMAC-SHA256'); +} + +function Auth_OpenID_getSupportedAssociationTypes() +{ + $a = array('HMAC-SHA1'); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $a[] = 'HMAC-SHA256'; + } + + return $a; +} + +function Auth_OpenID_getSessionTypes($assoc_type) +{ + $assoc_to_session = array( + 'HMAC-SHA1' => array('DH-SHA1', 'no-encryption')); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $assoc_to_session['HMAC-SHA256'] = + array('DH-SHA256', 'no-encryption'); + } + + return Auth_OpenID::arrayGet($assoc_to_session, $assoc_type, array()); +} + +function Auth_OpenID_checkSessionType($assoc_type, $session_type) +{ + if (!in_array($session_type, + Auth_OpenID_getSessionTypes($assoc_type))) { + return false; + } + + return true; +} + +function Auth_OpenID_getDefaultAssociationOrder() +{ + $order = array(); + + if (!Auth_OpenID_noMathSupport()) { + $order[] = array('HMAC-SHA1', 'DH-SHA1'); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $order[] = array('HMAC-SHA256', 'DH-SHA256'); + } + } + + $order[] = array('HMAC-SHA1', 'no-encryption'); + + if (Auth_OpenID_HMACSHA256_SUPPORTED) { + $order[] = array('HMAC-SHA256', 'no-encryption'); + } + + return $order; +} + +function Auth_OpenID_getOnlyEncryptedOrder() +{ + $result = array(); + + foreach (Auth_OpenID_getDefaultAssociationOrder() as $pair) { + list($assoc, $session) = $pair; + + if ($session != 'no-encryption') { + if (Auth_OpenID_HMACSHA256_SUPPORTED && + ($assoc == 'HMAC-SHA256')) { + $result[] = $pair; + } else if ($assoc != 'HMAC-SHA256') { + $result[] = $pair; + } + } + } + + return $result; +} + +function Auth_OpenID_getDefaultNegotiator() +{ + return new Auth_OpenID_SessionNegotiator( + Auth_OpenID_getDefaultAssociationOrder()); +} + +function Auth_OpenID_getEncryptedNegotiator() +{ + return new Auth_OpenID_SessionNegotiator( + Auth_OpenID_getOnlyEncryptedOrder()); +} + +/** + * A session negotiator controls the allowed and preferred association + * types and association session types. Both the {@link + * Auth_OpenID_Consumer} and {@link Auth_OpenID_Server} use + * negotiators when creating associations. + * + * You can create and use negotiators if you: + + * - Do not want to do Diffie-Hellman key exchange because you use + * transport-layer encryption (e.g. SSL) + * + * - Want to use only SHA-256 associations + * + * - Do not want to support plain-text associations over a non-secure + * channel + * + * It is up to you to set a policy for what kinds of associations to + * accept. By default, the library will make any kind of association + * that is allowed in the OpenID 2.0 specification. + * + * Use of negotiators in the library + * ================================= + * + * When a consumer makes an association request, it calls {@link + * getAllowedType} to get the preferred association type and + * association session type. + * + * The server gets a request for a particular association/session type + * and calls {@link isAllowed} to determine if it should create an + * association. If it is supported, negotiation is complete. If it is + * not, the server calls {@link getAllowedType} to get an allowed + * association type to return to the consumer. + * + * If the consumer gets an error response indicating that the + * requested association/session type is not supported by the server + * that contains an assocation/session type to try, it calls {@link + * isAllowed} to determine if it should try again with the given + * combination of association/session type. + * + * @package OpenID + */ +class Auth_OpenID_SessionNegotiator { + function Auth_OpenID_SessionNegotiator($allowed_types) + { + $this->allowed_types = array(); + $this->setAllowedTypes($allowed_types); + } + + /** + * Set the allowed association types, checking to make sure each + * combination is valid. + * + * @access private + */ + function setAllowedTypes($allowed_types) + { + foreach ($allowed_types as $pair) { + list($assoc_type, $session_type) = $pair; + if (!Auth_OpenID_checkSessionType($assoc_type, $session_type)) { + return false; + } + } + + $this->allowed_types = $allowed_types; + return true; + } + + /** + * Add an association type and session type to the allowed types + * list. The assocation/session pairs are tried in the order that + * they are added. + * + * @access private + */ + function addAllowedType($assoc_type, $session_type = null) + { + if ($this->allowed_types === null) { + $this->allowed_types = array(); + } + + if ($session_type === null) { + $available = Auth_OpenID_getSessionTypes($assoc_type); + + if (!$available) { + return false; + } + + foreach ($available as $session_type) { + $this->addAllowedType($assoc_type, $session_type); + } + } else { + if (Auth_OpenID_checkSessionType($assoc_type, $session_type)) { + $this->allowed_types[] = array($assoc_type, $session_type); + } else { + return false; + } + } + + return true; + } + + // Is this combination of association type and session type allowed? + function isAllowed($assoc_type, $session_type) + { + $assoc_good = in_array(array($assoc_type, $session_type), + $this->allowed_types); + + $matches = in_array($session_type, + Auth_OpenID_getSessionTypes($assoc_type)); + + return ($assoc_good && $matches); + } + + /** + * Get a pair of assocation type and session type that are + * supported. + */ + function getAllowedType() + { + if (!$this->allowed_types) { + return array(null, null); + } + + return $this->allowed_types[0]; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/BigMath.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/BigMath.php new file mode 100644 index 0000000..58b46bf --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/BigMath.php @@ -0,0 +1,451 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Needed for random number generation + */ +require_once 'Auth/OpenID/CryptUtil.php'; + +/** + * Need Auth_OpenID::bytes(). + */ +require_once 'Auth/OpenID.php'; + +/** + * The superclass of all big-integer math implementations + * @access private + * @package OpenID + */ +class Auth_OpenID_MathLibrary { + /** + * Given a long integer, returns the number converted to a binary + * string. This function accepts long integer values of arbitrary + * magnitude and uses the local large-number math library when + * available. + * + * @param integer $long The long number (can be a normal PHP + * integer or a number created by one of the available long number + * libraries) + * @return string $binary The binary version of $long + */ + function longToBinary($long) + { + $cmp = $this->cmp($long, 0); + if ($cmp < 0) { + $msg = __FUNCTION__ . " takes only positive integers."; + trigger_error($msg, E_USER_ERROR); + return null; + } + + if ($cmp == 0) { + return "\x00"; + } + + $bytes = array(); + + while ($this->cmp($long, 0) > 0) { + array_unshift($bytes, $this->mod($long, 256)); + $long = $this->div($long, pow(2, 8)); + } + + if ($bytes && ($bytes[0] > 127)) { + array_unshift($bytes, 0); + } + + $string = ''; + foreach ($bytes as $byte) { + $string .= pack('C', $byte); + } + + return $string; + } + + /** + * Given a binary string, returns the binary string converted to a + * long number. + * + * @param string $binary The binary version of a long number, + * probably as a result of calling longToBinary + * @return integer $long The long number equivalent of the binary + * string $str + */ + function binaryToLong($str) + { + if ($str === null) { + return null; + } + + // Use array_merge to return a zero-indexed array instead of a + // one-indexed array. + $bytes = array_merge(unpack('C*', $str)); + + $n = $this->init(0); + + if ($bytes && ($bytes[0] > 127)) { + trigger_error("bytesToNum works only for positive integers.", + E_USER_WARNING); + return null; + } + + foreach ($bytes as $byte) { + $n = $this->mul($n, pow(2, 8)); + $n = $this->add($n, $byte); + } + + return $n; + } + + function base64ToLong($str) + { + $b64 = base64_decode($str); + + if ($b64 === false) { + return false; + } + + return $this->binaryToLong($b64); + } + + function longToBase64($str) + { + return base64_encode($this->longToBinary($str)); + } + + /** + * Returns a random number in the specified range. This function + * accepts $start, $stop, and $step values of arbitrary magnitude + * and will utilize the local large-number math library when + * available. + * + * @param integer $start The start of the range, or the minimum + * random number to return + * @param integer $stop The end of the range, or the maximum + * random number to return + * @param integer $step The step size, such that $result - ($step + * * N) = $start for some N + * @return integer $result The resulting randomly-generated number + */ + function rand($stop) + { + static $duplicate_cache = array(); + + // Used as the key for the duplicate cache + $rbytes = $this->longToBinary($stop); + + if (array_key_exists($rbytes, $duplicate_cache)) { + list($duplicate, $nbytes) = $duplicate_cache[$rbytes]; + } else { + if ($rbytes[0] == "\x00") { + $nbytes = Auth_OpenID::bytes($rbytes) - 1; + } else { + $nbytes = Auth_OpenID::bytes($rbytes); + } + + $mxrand = $this->pow(256, $nbytes); + + // If we get a number less than this, then it is in the + // duplicated range. + $duplicate = $this->mod($mxrand, $stop); + + if (count($duplicate_cache) > 10) { + $duplicate_cache = array(); + } + + $duplicate_cache[$rbytes] = array($duplicate, $nbytes); + } + + do { + $bytes = "\x00" . Auth_OpenID_CryptUtil::getBytes($nbytes); + $n = $this->binaryToLong($bytes); + // Keep looping if this value is in the low duplicated range + } while ($this->cmp($n, $duplicate) < 0); + + return $this->mod($n, $stop); + } +} + +/** + * Exposes BCmath math library functionality. + * + * {@link Auth_OpenID_BcMathWrapper} wraps the functionality provided + * by the BCMath extension. + * + * @access private + * @package OpenID + */ +class Auth_OpenID_BcMathWrapper extends Auth_OpenID_MathLibrary{ + var $type = 'bcmath'; + + function add($x, $y) + { + return bcadd($x, $y); + } + + function sub($x, $y) + { + return bcsub($x, $y); + } + + function pow($base, $exponent) + { + return bcpow($base, $exponent); + } + + function cmp($x, $y) + { + return bccomp($x, $y); + } + + function init($number, $base = 10) + { + return $number; + } + + function mod($base, $modulus) + { + return bcmod($base, $modulus); + } + + function mul($x, $y) + { + return bcmul($x, $y); + } + + function div($x, $y) + { + return bcdiv($x, $y); + } + + /** + * Same as bcpowmod when bcpowmod is missing + * + * @access private + */ + function _powmod($base, $exponent, $modulus) + { + $square = $this->mod($base, $modulus); + $result = 1; + while($this->cmp($exponent, 0) > 0) { + if ($this->mod($exponent, 2)) { + $result = $this->mod($this->mul($result, $square), $modulus); + } + $square = $this->mod($this->mul($square, $square), $modulus); + $exponent = $this->div($exponent, 2); + } + return $result; + } + + function powmod($base, $exponent, $modulus) + { + if (function_exists('bcpowmod')) { + return bcpowmod($base, $exponent, $modulus); + } else { + return $this->_powmod($base, $exponent, $modulus); + } + } + + function toString($num) + { + return $num; + } +} + +/** + * Exposes GMP math library functionality. + * + * {@link Auth_OpenID_GmpMathWrapper} wraps the functionality provided + * by the GMP extension. + * + * @access private + * @package OpenID + */ +class Auth_OpenID_GmpMathWrapper extends Auth_OpenID_MathLibrary{ + var $type = 'gmp'; + + function add($x, $y) + { + return gmp_add($x, $y); + } + + function sub($x, $y) + { + return gmp_sub($x, $y); + } + + function pow($base, $exponent) + { + return gmp_pow($base, $exponent); + } + + function cmp($x, $y) + { + return gmp_cmp($x, $y); + } + + function init($number, $base = 10) + { + return gmp_init($number, $base); + } + + function mod($base, $modulus) + { + return gmp_mod($base, $modulus); + } + + function mul($x, $y) + { + return gmp_mul($x, $y); + } + + function div($x, $y) + { + return gmp_div_q($x, $y); + } + + function powmod($base, $exponent, $modulus) + { + return gmp_powm($base, $exponent, $modulus); + } + + function toString($num) + { + return gmp_strval($num); + } +} + +/** + * Define the supported extensions. An extension array has keys + * 'modules', 'extension', and 'class'. 'modules' is an array of PHP + * module names which the loading code will attempt to load. These + * values will be suffixed with a library file extension (e.g. ".so"). + * 'extension' is the name of a PHP extension which will be tested + * before 'modules' are loaded. 'class' is the string name of a + * {@link Auth_OpenID_MathWrapper} subclass which should be + * instantiated if a given extension is present. + * + * You can define new math library implementations and add them to + * this array. + */ +function Auth_OpenID_math_extensions() +{ + $result = array(); + + if (!defined('Auth_OpenID_BUGGY_GMP')) { + $result[] = + array('modules' => array('gmp', 'php_gmp'), + 'extension' => 'gmp', + 'class' => 'Auth_OpenID_GmpMathWrapper'); + } + + $result[] = array('modules' => array('bcmath', 'php_bcmath'), + 'extension' => 'bcmath', + 'class' => 'Auth_OpenID_BcMathWrapper'); + + return $result; +} + +/** + * Detect which (if any) math library is available + */ +function Auth_OpenID_detectMathLibrary($exts) +{ + $loaded = false; + + foreach ($exts as $extension) { + if (extension_loaded($extension['extension'])) { + return $extension; + } + } + + return false; +} + +/** + * {@link Auth_OpenID_getMathLib} checks for the presence of long + * number extension modules and returns an instance of + * {@link Auth_OpenID_MathWrapper} which exposes the module's + * functionality. + * + * Checks for the existence of an extension module described by the + * result of {@link Auth_OpenID_math_extensions()} and returns an + * instance of a wrapper for that extension module. If no extension + * module is found, an instance of {@link Auth_OpenID_MathWrapper} is + * returned, which wraps the native PHP integer implementation. The + * proper calling convention for this method is $lib = + * Auth_OpenID_getMathLib(). + * + * This function checks for the existence of specific long number + * implementations in the following order: GMP followed by BCmath. + * + * @return Auth_OpenID_MathWrapper $instance An instance of + * {@link Auth_OpenID_MathWrapper} or one of its subclasses + * + * @package OpenID + */ +function Auth_OpenID_getMathLib() +{ + // The instance of Auth_OpenID_MathWrapper that we choose to + // supply will be stored here, so that subseqent calls to this + // method will return a reference to the same object. + static $lib = null; + + if (isset($lib)) { + return $lib; + } + + if (Auth_OpenID_noMathSupport()) { + $null = null; + return $null; + } + + // If this method has not been called before, look at + // Auth_OpenID_math_extensions and try to find an extension that + // works. + $ext = Auth_OpenID_detectMathLibrary(Auth_OpenID_math_extensions()); + if ($ext === false) { + $tried = array(); + foreach (Auth_OpenID_math_extensions() as $extinfo) { + $tried[] = $extinfo['extension']; + } + $triedstr = implode(", ", $tried); + + Auth_OpenID_setNoMathSupport(); + + $result = null; + return $result; + } + + // Instantiate a new wrapper + $class = $ext['class']; + $lib = new $class(); + + return $lib; +} + +function Auth_OpenID_setNoMathSupport() +{ + if (!defined('Auth_OpenID_NO_MATH_SUPPORT')) { + define('Auth_OpenID_NO_MATH_SUPPORT', true); + } +} + +function Auth_OpenID_noMathSupport() +{ + return defined('Auth_OpenID_NO_MATH_SUPPORT'); +} + + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Consumer.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Consumer.php new file mode 100644 index 0000000..d562e33 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Consumer.php @@ -0,0 +1,2236 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Require utility classes and functions for the consumer. + */ +require_once "Auth/OpenID.php"; +require_once "Auth/OpenID/Message.php"; +require_once "Auth/OpenID/HMAC.php"; +require_once "Auth/OpenID/Association.php"; +require_once "Auth/OpenID/CryptUtil.php"; +require_once "Auth/OpenID/DiffieHellman.php"; +require_once "Auth/OpenID/KVForm.php"; +require_once "Auth/OpenID/Nonce.php"; +require_once "Auth/OpenID/Discover.php"; +require_once "Auth/OpenID/URINorm.php"; +require_once "Auth/Yadis/Manager.php"; +require_once "Auth/Yadis/XRI.php"; + +/** + * This is the status code returned when the complete method returns + * successfully. + */ +define('Auth_OpenID_SUCCESS', 'success'); + +/** + * Status to indicate cancellation of OpenID authentication. + */ +define('Auth_OpenID_CANCEL', 'cancel'); + +/** + * This is the status code completeAuth returns when the value it + * received indicated an invalid login. + */ +define('Auth_OpenID_FAILURE', 'failure'); + +/** + * This is the status code completeAuth returns when the + * {@link Auth_OpenID_Consumer} instance is in immediate mode, and the + * identity server sends back a URL to send the user to to complete his + * or her login. + */ +define('Auth_OpenID_SETUP_NEEDED', 'setup needed'); + +/** + * This is the status code beginAuth returns when the page fetched + * from the entered OpenID URL doesn't contain the necessary link tags + * to function as an identity page. + */ +define('Auth_OpenID_PARSE_ERROR', 'parse error'); + +/** + * An OpenID consumer implementation that performs discovery and does + * session management. See the Consumer.php file documentation for + * more information. + * + * @package OpenID + */ +class Auth_OpenID_Consumer { + + /** + * @access private + */ + var $discoverMethod = 'Auth_OpenID_discover'; + + /** + * @access private + */ + var $session_key_prefix = "_openid_consumer_"; + + /** + * @access private + */ + var $_token_suffix = "last_token"; + + /** + * Initialize a Consumer instance. + * + * You should create a new instance of the Consumer object with + * every HTTP request that handles OpenID transactions. + * + * @param Auth_OpenID_OpenIDStore $store This must be an object + * that implements the interface in {@link + * Auth_OpenID_OpenIDStore}. Several concrete implementations are + * provided, to cover most common use cases. For stores backed by + * MySQL, PostgreSQL, or SQLite, see the {@link + * Auth_OpenID_SQLStore} class and its sublcasses. For a + * filesystem-backed store, see the {@link Auth_OpenID_FileStore} + * module. As a last resort, if it isn't possible for the server + * to store state at all, an instance of {@link + * Auth_OpenID_DumbStore} can be used. + * + * @param mixed $session An object which implements the interface + * of the {@link Auth_Yadis_PHPSession} class. Particularly, this + * object is expected to have these methods: get($key), set($key), + * $value), and del($key). This defaults to a session object + * which wraps PHP's native session machinery. You should only + * need to pass something here if you have your own sessioning + * implementation. + * + * @param str $consumer_cls The name of the class to instantiate + * when creating the internal consumer object. This is used for + * testing. + */ + function Auth_OpenID_Consumer($store, $session = null, + $consumer_cls = null) + { + if ($session === null) { + $session = new Auth_Yadis_PHPSession(); + } + + $this->session = $session; + + if ($consumer_cls !== null) { + $this->consumer = new $consumer_cls($store); + } else { + $this->consumer = new Auth_OpenID_GenericConsumer($store); + } + + $this->_token_key = $this->session_key_prefix . $this->_token_suffix; + } + + /** + * Used in testing to define the discovery mechanism. + * + * @access private + */ + function getDiscoveryObject($session, $openid_url, + $session_key_prefix) + { + return new Auth_Yadis_Discovery($session, $openid_url, + $session_key_prefix); + } + + /** + * Start the OpenID authentication process. See steps 1-2 in the + * overview at the top of this file. + * + * @param string $user_url Identity URL given by the user. This + * method performs a textual transformation of the URL to try and + * make sure it is normalized. For example, a user_url of + * example.com will be normalized to http://example.com/ + * normalizing and resolving any redirects the server might issue. + * + * @param bool $anonymous True if the OpenID request is to be sent + * to the server without any identifier information. Use this + * when you want to transport data but don't want to do OpenID + * authentication with identifiers. + * + * @return Auth_OpenID_AuthRequest $auth_request An object + * containing the discovered information will be returned, with a + * method for building a redirect URL to the server, as described + * in step 3 of the overview. This object may also be used to add + * extension arguments to the request, using its 'addExtensionArg' + * method. + */ + function begin($user_url, $anonymous=false) + { + $openid_url = $user_url; + + $disco = $this->getDiscoveryObject($this->session, + $openid_url, + $this->session_key_prefix); + + // Set the 'stale' attribute of the manager. If discovery + // fails in a fatal way, the stale flag will cause the manager + // to be cleaned up next time discovery is attempted. + + $m = $disco->getManager(); + $loader = new Auth_Yadis_ManagerLoader(); + + if ($m) { + if ($m->stale) { + $disco->destroyManager(); + } else { + $m->stale = true; + $disco->session->set($disco->session_key, + serialize($loader->toSession($m))); + } + } + + $endpoint = $disco->getNextService($this->discoverMethod, + $this->consumer->fetcher); + + // Reset the 'stale' attribute of the manager. + $m = $disco->getManager(); + if ($m) { + $m->stale = false; + $disco->session->set($disco->session_key, + serialize($loader->toSession($m))); + } + + if ($endpoint === null) { + return null; + } else { + return $this->beginWithoutDiscovery($endpoint, + $anonymous); + } + } + + /** + * Start OpenID verification without doing OpenID server + * discovery. This method is used internally by Consumer.begin + * after discovery is performed, and exists to provide an + * interface for library users needing to perform their own + * discovery. + * + * @param Auth_OpenID_ServiceEndpoint $endpoint an OpenID service + * endpoint descriptor. + * + * @param bool anonymous Set to true if you want to perform OpenID + * without identifiers. + * + * @return Auth_OpenID_AuthRequest $auth_request An OpenID + * authentication request object. + */ + function beginWithoutDiscovery($endpoint, $anonymous=false) + { + $loader = new Auth_OpenID_ServiceEndpointLoader(); + $auth_req = $this->consumer->begin($endpoint); + $this->session->set($this->_token_key, + $loader->toSession($auth_req->endpoint)); + if (!$auth_req->setAnonymous($anonymous)) { + return new Auth_OpenID_FailureResponse(null, + "OpenID 1 requests MUST include the identifier " . + "in the request."); + } + return $auth_req; + } + + /** + * Called to interpret the server's response to an OpenID + * request. It is called in step 4 of the flow described in the + * consumer overview. + * + * @param string $current_url The URL used to invoke the application. + * Extract the URL from your application's web + * request framework and specify it here to have it checked + * against the openid.current_url value in the response. If + * the current_url URL check fails, the status of the + * completion will be FAILURE. + * + * @param array $query An array of the query parameters (key => + * value pairs) for this HTTP request. Defaults to null. If + * null, the GET or POST data are automatically gotten from the + * PHP environment. It is only useful to override $query for + * testing. + * + * @return Auth_OpenID_ConsumerResponse $response A instance of an + * Auth_OpenID_ConsumerResponse subclass. The type of response is + * indicated by the status attribute, which will be one of + * SUCCESS, CANCEL, FAILURE, or SETUP_NEEDED. + */ + function complete($current_url, $query=null) + { + if ($current_url && !is_string($current_url)) { + // This is ugly, but we need to complain loudly when + // someone uses the API incorrectly. + trigger_error("current_url must be a string; see NEWS file " . + "for upgrading notes.", + E_USER_ERROR); + } + + if ($query === null) { + $query = Auth_OpenID::getQuery(); + } + + $loader = new Auth_OpenID_ServiceEndpointLoader(); + $endpoint_data = $this->session->get($this->_token_key); + $endpoint = + $loader->fromSession($endpoint_data); + + $message = Auth_OpenID_Message::fromPostArgs($query); + $response = $this->consumer->complete($message, $endpoint, + $current_url); + $this->session->del($this->_token_key); + + if (in_array($response->status, array(Auth_OpenID_SUCCESS, + Auth_OpenID_CANCEL))) { + if ($response->identity_url !== null) { + $disco = $this->getDiscoveryObject($this->session, + $response->identity_url, + $this->session_key_prefix); + $disco->cleanup(true); + } + } + + return $response; + } +} + +/** + * A class implementing HMAC/DH-SHA1 consumer sessions. + * + * @package OpenID + */ +class Auth_OpenID_DiffieHellmanSHA1ConsumerSession { + var $session_type = 'DH-SHA1'; + var $hash_func = 'Auth_OpenID_SHA1'; + var $secret_size = 20; + var $allowed_assoc_types = array('HMAC-SHA1'); + + function Auth_OpenID_DiffieHellmanSHA1ConsumerSession($dh = null) + { + if ($dh === null) { + $dh = new Auth_OpenID_DiffieHellman(); + } + + $this->dh = $dh; + } + + function getRequest() + { + $math = Auth_OpenID_getMathLib(); + + $cpub = $math->longToBase64($this->dh->public); + + $args = array('dh_consumer_public' => $cpub); + + if (!$this->dh->usingDefaultValues()) { + $args = array_merge($args, array( + 'dh_modulus' => + $math->longToBase64($this->dh->mod), + 'dh_gen' => + $math->longToBase64($this->dh->gen))); + } + + return $args; + } + + function extractSecret($response) + { + if (!$response->hasKey(Auth_OpenID_OPENID_NS, + 'dh_server_public')) { + return null; + } + + if (!$response->hasKey(Auth_OpenID_OPENID_NS, + 'enc_mac_key')) { + return null; + } + + $math = Auth_OpenID_getMathLib(); + + $spub = $math->base64ToLong($response->getArg(Auth_OpenID_OPENID_NS, + 'dh_server_public')); + $enc_mac_key = base64_decode($response->getArg(Auth_OpenID_OPENID_NS, + 'enc_mac_key')); + + return $this->dh->xorSecret($spub, $enc_mac_key, $this->hash_func); + } +} + +/** + * A class implementing HMAC/DH-SHA256 consumer sessions. + * + * @package OpenID + */ +class Auth_OpenID_DiffieHellmanSHA256ConsumerSession extends + Auth_OpenID_DiffieHellmanSHA1ConsumerSession { + var $session_type = 'DH-SHA256'; + var $hash_func = 'Auth_OpenID_SHA256'; + var $secret_size = 32; + var $allowed_assoc_types = array('HMAC-SHA256'); +} + +/** + * A class implementing plaintext consumer sessions. + * + * @package OpenID + */ +class Auth_OpenID_PlainTextConsumerSession { + var $session_type = 'no-encryption'; + var $allowed_assoc_types = array('HMAC-SHA1', 'HMAC-SHA256'); + + function getRequest() + { + return array(); + } + + function extractSecret($response) + { + if (!$response->hasKey(Auth_OpenID_OPENID_NS, 'mac_key')) { + return null; + } + + return base64_decode($response->getArg(Auth_OpenID_OPENID_NS, + 'mac_key')); + } +} + +/** + * Returns available session types. + */ +function Auth_OpenID_getAvailableSessionTypes() +{ + $types = array( + 'no-encryption' => 'Auth_OpenID_PlainTextConsumerSession', + 'DH-SHA1' => 'Auth_OpenID_DiffieHellmanSHA1ConsumerSession', + 'DH-SHA256' => 'Auth_OpenID_DiffieHellmanSHA256ConsumerSession'); + + return $types; +} + +/** + * This class is the interface to the OpenID consumer logic. + * Instances of it maintain no per-request state, so they can be + * reused (or even used by multiple threads concurrently) as needed. + * + * @package OpenID + */ +class Auth_OpenID_GenericConsumer { + /** + * @access private + */ + var $discoverMethod = 'Auth_OpenID_discover'; + + /** + * This consumer's store object. + */ + var $store; + + /** + * @access private + */ + var $_use_assocs; + + /** + * @access private + */ + var $openid1_nonce_query_arg_name = 'janrain_nonce'; + + /** + * Another query parameter that gets added to the return_to for + * OpenID 1; if the user's session state is lost, use this claimed + * identifier to do discovery when verifying the response. + */ + var $openid1_return_to_identifier_name = 'openid1_claimed_id'; + + /** + * This method initializes a new {@link Auth_OpenID_Consumer} + * instance to access the library. + * + * @param Auth_OpenID_OpenIDStore $store This must be an object + * that implements the interface in {@link Auth_OpenID_OpenIDStore}. + * Several concrete implementations are provided, to cover most common use + * cases. For stores backed by MySQL, PostgreSQL, or SQLite, see + * the {@link Auth_OpenID_SQLStore} class and its sublcasses. For a + * filesystem-backed store, see the {@link Auth_OpenID_FileStore} module. + * As a last resort, if it isn't possible for the server to store + * state at all, an instance of {@link Auth_OpenID_DumbStore} can be used. + * + * @param bool $immediate This is an optional boolean value. It + * controls whether the library uses immediate mode, as explained + * in the module description. The default value is False, which + * disables immediate mode. + */ + function Auth_OpenID_GenericConsumer($store) + { + $this->store = $store; + $this->negotiator = Auth_OpenID_getDefaultNegotiator(); + $this->_use_assocs = (is_null($this->store) ? false : true); + + $this->fetcher = Auth_Yadis_Yadis::getHTTPFetcher(); + + $this->session_types = Auth_OpenID_getAvailableSessionTypes(); + } + + /** + * Called to begin OpenID authentication using the specified + * {@link Auth_OpenID_ServiceEndpoint}. + * + * @access private + */ + function begin($service_endpoint) + { + $assoc = $this->_getAssociation($service_endpoint); + $r = new Auth_OpenID_AuthRequest($service_endpoint, $assoc); + $r->return_to_args[$this->openid1_nonce_query_arg_name] = + Auth_OpenID_mkNonce(); + + if ($r->message->isOpenID1()) { + $r->return_to_args[$this->openid1_return_to_identifier_name] = + $r->endpoint->claimed_id; + } + + return $r; + } + + /** + * Given an {@link Auth_OpenID_Message}, {@link + * Auth_OpenID_ServiceEndpoint} and optional return_to URL, + * complete OpenID authentication. + * + * @access private + */ + function complete($message, $endpoint, $return_to) + { + $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode', + ''); + + $mode_methods = array( + 'cancel' => '_complete_cancel', + 'error' => '_complete_error', + 'setup_needed' => '_complete_setup_needed', + 'id_res' => '_complete_id_res', + ); + + $method = Auth_OpenID::arrayGet($mode_methods, $mode, + '_completeInvalid'); + + return call_user_func_array(array($this, $method), + array($message, &$endpoint, $return_to)); + } + + /** + * @access private + */ + function _completeInvalid($message, $endpoint, $unused) + { + $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode', + ''); + + return new Auth_OpenID_FailureResponse($endpoint, + sprintf("Invalid openid.mode '%s'", $mode)); + } + + /** + * @access private + */ + function _complete_cancel($message, $endpoint, $unused) + { + return new Auth_OpenID_CancelResponse($endpoint); + } + + /** + * @access private + */ + function _complete_error($message, $endpoint, $unused) + { + $error = $message->getArg(Auth_OpenID_OPENID_NS, 'error'); + $contact = $message->getArg(Auth_OpenID_OPENID_NS, 'contact'); + $reference = $message->getArg(Auth_OpenID_OPENID_NS, 'reference'); + + return new Auth_OpenID_FailureResponse($endpoint, $error, + $contact, $reference); + } + + /** + * @access private + */ + function _complete_setup_needed($message, $endpoint, $unused) + { + if (!$message->isOpenID2()) { + return $this->_completeInvalid($message, $endpoint); + } + + $user_setup_url = $message->getArg(Auth_OpenID_OPENID2_NS, + 'user_setup_url'); + return new Auth_OpenID_SetupNeededResponse($endpoint, $user_setup_url); + } + + /** + * @access private + */ + function _complete_id_res($message, $endpoint, $return_to) + { + $user_setup_url = $message->getArg(Auth_OpenID_OPENID1_NS, + 'user_setup_url'); + + if ($this->_checkSetupNeeded($message)) { + return new Auth_OpenID_SetupNeededResponse( + $endpoint, $user_setup_url); + } else { + return $this->_doIdRes($message, $endpoint, $return_to); + } + } + + /** + * @access private + */ + function _checkSetupNeeded($message) + { + // In OpenID 1, we check to see if this is a cancel from + // immediate mode by the presence of the user_setup_url + // parameter. + if ($message->isOpenID1()) { + $user_setup_url = $message->getArg(Auth_OpenID_OPENID1_NS, + 'user_setup_url'); + if ($user_setup_url !== null) { + return true; + } + } + + return false; + } + + /** + * @access private + */ + function _doIdRes($message, $endpoint, $return_to) + { + // Checks for presence of appropriate fields (and checks + // signed list fields) + $result = $this->_idResCheckForFields($message); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + if (!$this->_checkReturnTo($message, $return_to)) { + return new Auth_OpenID_FailureResponse(null, + sprintf("return_to does not match return URL. Expected %s, got %s", + $return_to, + $message->getArg(Auth_OpenID_OPENID_NS, 'return_to'))); + } + + // Verify discovery information: + $result = $this->_verifyDiscoveryResults($message, $endpoint); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + $endpoint = $result; + + $result = $this->_idResCheckSignature($message, + $endpoint->server_url); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + $result = $this->_idResCheckNonce($message, $endpoint); + + if (Auth_OpenID::isFailure($result)) { + return $result; + } + + $signed_list_str = $message->getArg(Auth_OpenID_OPENID_NS, 'signed', + Auth_OpenID_NO_DEFAULT); + if (Auth_OpenID::isFailure($signed_list_str)) { + return $signed_list_str; + } + $signed_list = explode(',', $signed_list_str); + + $signed_fields = Auth_OpenID::addPrefix($signed_list, "openid."); + + return new Auth_OpenID_SuccessResponse($endpoint, $message, + $signed_fields); + + } + + /** + * @access private + */ + function _checkReturnTo($message, $return_to) + { + // Check an OpenID message and its openid.return_to value + // against a return_to URL from an application. Return True + // on success, False on failure. + + // Check the openid.return_to args against args in the + // original message. + $result = Auth_OpenID_GenericConsumer::_verifyReturnToArgs( + $message->toPostArgs()); + if (Auth_OpenID::isFailure($result)) { + return false; + } + + // Check the return_to base URL against the one in the + // message. + $msg_return_to = $message->getArg(Auth_OpenID_OPENID_NS, + 'return_to'); + if (Auth_OpenID::isFailure($return_to)) { + // XXX log me + return false; + } + + $return_to_parts = parse_url(Auth_OpenID_urinorm($return_to)); + $msg_return_to_parts = parse_url(Auth_OpenID_urinorm($msg_return_to)); + + // If port is absent from both, add it so it's equal in the + // check below. + if ((!array_key_exists('port', $return_to_parts)) && + (!array_key_exists('port', $msg_return_to_parts))) { + $return_to_parts['port'] = null; + $msg_return_to_parts['port'] = null; + } + + // If path is absent from both, add it so it's equal in the + // check below. + if ((!array_key_exists('path', $return_to_parts)) && + (!array_key_exists('path', $msg_return_to_parts))) { + $return_to_parts['path'] = null; + $msg_return_to_parts['path'] = null; + } + + // The URL scheme, authority, and path MUST be the same + // between the two URLs. + foreach (array('scheme', 'host', 'port', 'path') as $component) { + // If the url component is absent in either URL, fail. + // There should always be a scheme, host, port, and path. + if (!array_key_exists($component, $return_to_parts)) { + return false; + } + + if (!array_key_exists($component, $msg_return_to_parts)) { + return false; + } + + if (Auth_OpenID::arrayGet($return_to_parts, $component) !== + Auth_OpenID::arrayGet($msg_return_to_parts, $component)) { + return false; + } + } + + return true; + } + + /** + * @access private + */ + function _verifyReturnToArgs($query) + { + // Verify that the arguments in the return_to URL are present in this + // response. + + $message = Auth_OpenID_Message::fromPostArgs($query); + $return_to = $message->getArg(Auth_OpenID_OPENID_NS, 'return_to'); + + if (Auth_OpenID::isFailure($return_to)) { + return $return_to; + } + // XXX: this should be checked by _idResCheckForFields + if (!$return_to) { + return new Auth_OpenID_FailureResponse(null, + "Response has no return_to"); + } + + $parsed_url = parse_url($return_to); + + $q = array(); + if (array_key_exists('query', $parsed_url)) { + $rt_query = $parsed_url['query']; + $q = Auth_OpenID::parse_str($rt_query); + } + + foreach ($q as $rt_key => $rt_value) { + if (!array_key_exists($rt_key, $query)) { + return new Auth_OpenID_FailureResponse(null, + sprintf("return_to parameter %s absent from query", $rt_key)); + } else { + $value = $query[$rt_key]; + if ($rt_value != $value) { + return new Auth_OpenID_FailureResponse(null, + sprintf("parameter %s value %s does not match " . + "return_to value %s", $rt_key, + $value, $rt_value)); + } + } + } + + // Make sure all non-OpenID arguments in the response are also + // in the signed return_to. + $bare_args = $message->getArgs(Auth_OpenID_BARE_NS); + foreach ($bare_args as $key => $value) { + if (Auth_OpenID::arrayGet($q, $key) != $value) { + return new Auth_OpenID_FailureResponse(null, + sprintf("Parameter %s = %s not in return_to URL", + $key, $value)); + } + } + + return true; + } + + /** + * @access private + */ + function _idResCheckSignature($message, $server_url) + { + $assoc_handle = $message->getArg(Auth_OpenID_OPENID_NS, + 'assoc_handle'); + if (Auth_OpenID::isFailure($assoc_handle)) { + return $assoc_handle; + } + + $assoc = $this->store->getAssociation($server_url, $assoc_handle); + + if ($assoc) { + if ($assoc->getExpiresIn() <= 0) { + // XXX: It might be a good idea sometimes to re-start + // the authentication with a new association. Doing it + // automatically opens the possibility for + // denial-of-service by a server that just returns + // expired associations (or really short-lived + // associations) + return new Auth_OpenID_FailureResponse(null, + 'Association with ' . $server_url . ' expired'); + } + + if (!$assoc->checkMessageSignature($message)) { + // If we get a "bad signature" here, it means that the association + // is unrecoverabley corrupted in some way. Any futher attempts + // to login with this association is likely to fail. Drop it. + $this->store->removeAssociation($server_url, $assoc_handle); + return new Auth_OpenID_FailureResponse(null, + "Bad signature"); + } + } else { + // It's not an association we know about. Stateless mode + // is our only possible path for recovery. XXX - async + // framework will not want to block on this call to + // _checkAuth. + if (!$this->_checkAuth($message, $server_url)) { + return new Auth_OpenID_FailureResponse(null, + "Server denied check_authentication"); + } + } + + return null; + } + + /** + * @access private + */ + function _verifyDiscoveryResults($message, $endpoint=null) + { + if ($message->getOpenIDNamespace() == Auth_OpenID_OPENID2_NS) { + return $this->_verifyDiscoveryResultsOpenID2($message, + $endpoint); + } else { + return $this->_verifyDiscoveryResultsOpenID1($message, + $endpoint); + } + } + + /** + * @access private + */ + function _verifyDiscoveryResultsOpenID1($message, $endpoint) + { + $claimed_id = $message->getArg(Auth_OpenID_BARE_NS, + $this->openid1_return_to_identifier_name); + + if (($endpoint === null) && ($claimed_id === null)) { + return new Auth_OpenID_FailureResponse($endpoint, + 'When using OpenID 1, the claimed ID must be supplied, ' . + 'either by passing it through as a return_to parameter ' . + 'or by using a session, and supplied to the GenericConsumer ' . + 'as the argument to complete()'); + } else if (($endpoint !== null) && ($claimed_id === null)) { + $claimed_id = $endpoint->claimed_id; + } + + $to_match = new Auth_OpenID_ServiceEndpoint(); + $to_match->type_uris = array(Auth_OpenID_TYPE_1_1); + $to_match->local_id = $message->getArg(Auth_OpenID_OPENID1_NS, + 'identity'); + + // Restore delegate information from the initiation phase + $to_match->claimed_id = $claimed_id; + + if ($to_match->local_id === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "Missing required field openid.identity"); + } + + $to_match_1_0 = $to_match->copy(); + $to_match_1_0->type_uris = array(Auth_OpenID_TYPE_1_0); + + if ($endpoint !== null) { + $result = $this->_verifyDiscoverySingle($endpoint, $to_match); + + if (is_a($result, 'Auth_OpenID_TypeURIMismatch')) { + $result = $this->_verifyDiscoverySingle($endpoint, + $to_match_1_0); + } + + if (Auth_OpenID::isFailure($result)) { + // oidutil.log("Error attempting to use stored + // discovery information: " + str(e)) + // oidutil.log("Attempting discovery to + // verify endpoint") + } else { + return $endpoint; + } + } + + // Endpoint is either bad (failed verification) or None + return $this->_discoverAndVerify($to_match->claimed_id, + array($to_match, $to_match_1_0)); + } + + /** + * @access private + */ + function _verifyDiscoverySingle($endpoint, $to_match) + { + // Every type URI that's in the to_match endpoint has to be + // present in the discovered endpoint. + foreach ($to_match->type_uris as $type_uri) { + if (!$endpoint->usesExtension($type_uri)) { + return new Auth_OpenID_TypeURIMismatch($endpoint, + "Required type ".$type_uri." not present"); + } + } + + // Fragments do not influence discovery, so we can't compare a + // claimed identifier with a fragment to discovered + // information. + list($defragged_claimed_id, $_) = + Auth_OpenID::urldefrag($to_match->claimed_id); + + if ($defragged_claimed_id != $endpoint->claimed_id) { + return new Auth_OpenID_FailureResponse($endpoint, + sprintf('Claimed ID does not match (different subjects!), ' . + 'Expected %s, got %s', $defragged_claimed_id, + $endpoint->claimed_id)); + } + + if ($to_match->getLocalID() != $endpoint->getLocalID()) { + return new Auth_OpenID_FailureResponse($endpoint, + sprintf('local_id mismatch. Expected %s, got %s', + $to_match->getLocalID(), $endpoint->getLocalID())); + } + + // If the server URL is None, this must be an OpenID 1 + // response, because op_endpoint is a required parameter in + // OpenID 2. In that case, we don't actually care what the + // discovered server_url is, because signature checking or + // check_auth should take care of that check for us. + if ($to_match->server_url === null) { + if ($to_match->preferredNamespace() != Auth_OpenID_OPENID1_NS) { + return new Auth_OpenID_FailureResponse($endpoint, + "Preferred namespace mismatch (bug)"); + } + } else if ($to_match->server_url != $endpoint->server_url) { + return new Auth_OpenID_FailureResponse($endpoint, + sprintf('OP Endpoint mismatch. Expected %s, got %s', + $to_match->server_url, $endpoint->server_url)); + } + + return null; + } + + /** + * @access private + */ + function _verifyDiscoveryResultsOpenID2($message, $endpoint) + { + $to_match = new Auth_OpenID_ServiceEndpoint(); + $to_match->type_uris = array(Auth_OpenID_TYPE_2_0); + $to_match->claimed_id = $message->getArg(Auth_OpenID_OPENID2_NS, + 'claimed_id'); + + $to_match->local_id = $message->getArg(Auth_OpenID_OPENID2_NS, + 'identity'); + + $to_match->server_url = $message->getArg(Auth_OpenID_OPENID2_NS, + 'op_endpoint'); + + if ($to_match->server_url === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "OP Endpoint URL missing"); + } + + // claimed_id and identifier must both be present or both be + // absent + if (($to_match->claimed_id === null) && + ($to_match->local_id !== null)) { + return new Auth_OpenID_FailureResponse($endpoint, + 'openid.identity is present without openid.claimed_id'); + } + + if (($to_match->claimed_id !== null) && + ($to_match->local_id === null)) { + return new Auth_OpenID_FailureResponse($endpoint, + 'openid.claimed_id is present without openid.identity'); + } + + if ($to_match->claimed_id === null) { + // This is a response without identifiers, so there's + // really no checking that we can do, so return an + // endpoint that's for the specified `openid.op_endpoint' + return Auth_OpenID_ServiceEndpoint::fromOPEndpointURL( + $to_match->server_url); + } + + if (!$endpoint) { + // The claimed ID doesn't match, so we have to do + // discovery again. This covers not using sessions, OP + // identifier endpoints and responses that didn't match + // the original request. + // oidutil.log('No pre-discovered information supplied.') + return $this->_discoverAndVerify($to_match->claimed_id, + array($to_match)); + } else { + + // The claimed ID matches, so we use the endpoint that we + // discovered in initiation. This should be the most + // common case. + $result = $this->_verifyDiscoverySingle($endpoint, $to_match); + + if (Auth_OpenID::isFailure($result)) { + $endpoint = $this->_discoverAndVerify($to_match->claimed_id, + array($to_match)); + if (Auth_OpenID::isFailure($endpoint)) { + return $endpoint; + } + } + } + + // The endpoint we return should have the claimed ID from the + // message we just verified, fragment and all. + if ($endpoint->claimed_id != $to_match->claimed_id) { + $endpoint->claimed_id = $to_match->claimed_id; + } + + return $endpoint; + } + + /** + * @access private + */ + function _discoverAndVerify($claimed_id, $to_match_endpoints) + { + // oidutil.log('Performing discovery on %s' % (claimed_id,)) + list($unused, $services) = call_user_func_array($this->discoverMethod, + array( + $claimed_id, + &$this->fetcher, + )); + + if (!$services) { + return new Auth_OpenID_FailureResponse(null, + sprintf("No OpenID information found at %s", + $claimed_id)); + } + + return $this->_verifyDiscoveryServices($claimed_id, $services, + $to_match_endpoints); + } + + /** + * @access private + */ + function _verifyDiscoveryServices($claimed_id, + $services, $to_match_endpoints) + { + // Search the services resulting from discovery to find one + // that matches the information from the assertion + + foreach ($services as $endpoint) { + foreach ($to_match_endpoints as $to_match_endpoint) { + $result = $this->_verifyDiscoverySingle($endpoint, + $to_match_endpoint); + + if (!Auth_OpenID::isFailure($result)) { + // It matches, so discover verification has + // succeeded. Return this endpoint. + return $endpoint; + } + } + } + + return new Auth_OpenID_FailureResponse(null, + sprintf('No matching endpoint found after discovering %s: %s', + $claimed_id, $result->message)); + } + + /** + * Extract the nonce from an OpenID 1 response. Return the nonce + * from the BARE_NS since we independently check the return_to + * arguments are the same as those in the response message. + * + * See the openid1_nonce_query_arg_name class variable + * + * @returns $nonce The nonce as a string or null + * + * @access private + */ + function _idResGetNonceOpenID1($message, $endpoint) + { + return $message->getArg(Auth_OpenID_BARE_NS, + $this->openid1_nonce_query_arg_name); + } + + /** + * @access private + */ + function _idResCheckNonce($message, $endpoint) + { + if ($message->isOpenID1()) { + // This indicates that the nonce was generated by the consumer + $nonce = $this->_idResGetNonceOpenID1($message, $endpoint); + $server_url = ''; + } else { + $nonce = $message->getArg(Auth_OpenID_OPENID2_NS, + 'response_nonce'); + + $server_url = $endpoint->server_url; + } + + if ($nonce === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "Nonce missing from response"); + } + + $parts = Auth_OpenID_splitNonce($nonce); + + if ($parts === null) { + return new Auth_OpenID_FailureResponse($endpoint, + "Malformed nonce in response"); + } + + list($timestamp, $salt) = $parts; + + if (!$this->store->useNonce($server_url, $timestamp, $salt)) { + return new Auth_OpenID_FailureResponse($endpoint, + "Nonce already used or out of range"); + } + + return null; + } + + /** + * @access private + */ + function _idResCheckForFields($message) + { + $basic_fields = array('return_to', 'assoc_handle', 'sig', 'signed'); + $basic_sig_fields = array('return_to', 'identity'); + + $require_fields = array( + Auth_OpenID_OPENID2_NS => array_merge($basic_fields, + array('op_endpoint')), + + Auth_OpenID_OPENID1_NS => array_merge($basic_fields, + array('identity')) + ); + + $require_sigs = array( + Auth_OpenID_OPENID2_NS => array_merge($basic_sig_fields, + array('response_nonce', + 'claimed_id', + 'assoc_handle', + 'op_endpoint')), + Auth_OpenID_OPENID1_NS => array_merge($basic_sig_fields, + array('nonce')) + ); + + foreach ($require_fields[$message->getOpenIDNamespace()] as $field) { + if (!$message->hasKey(Auth_OpenID_OPENID_NS, $field)) { + return new Auth_OpenID_FailureResponse(null, + "Missing required field '".$field."'"); + } + } + + $signed_list_str = $message->getArg(Auth_OpenID_OPENID_NS, + 'signed', + Auth_OpenID_NO_DEFAULT); + if (Auth_OpenID::isFailure($signed_list_str)) { + return $signed_list_str; + } + $signed_list = explode(',', $signed_list_str); + + foreach ($require_sigs[$message->getOpenIDNamespace()] as $field) { + // Field is present and not in signed list + if ($message->hasKey(Auth_OpenID_OPENID_NS, $field) && + (!in_array($field, $signed_list))) { + return new Auth_OpenID_FailureResponse(null, + "'".$field."' not signed"); + } + } + + return null; + } + + /** + * @access private + */ + function _checkAuth($message, $server_url) + { + $request = $this->_createCheckAuthRequest($message); + if ($request === null) { + return false; + } + + $resp_message = $this->_makeKVPost($request, $server_url); + if (($resp_message === null) || + (is_a($resp_message, 'Auth_OpenID_ServerErrorContainer'))) { + return false; + } + + return $this->_processCheckAuthResponse($resp_message, $server_url); + } + + /** + * @access private + */ + function _createCheckAuthRequest($message) + { + $signed = $message->getArg(Auth_OpenID_OPENID_NS, 'signed'); + if ($signed) { + foreach (explode(',', $signed) as $k) { + $value = $message->getAliasedArg($k); + if ($value === null) { + return null; + } + } + } + $ca_message = $message->copy(); + $ca_message->setArg(Auth_OpenID_OPENID_NS, 'mode', + 'check_authentication'); + return $ca_message; + } + + /** + * @access private + */ + function _processCheckAuthResponse($response, $server_url) + { + $is_valid = $response->getArg(Auth_OpenID_OPENID_NS, 'is_valid', + 'false'); + + $invalidate_handle = $response->getArg(Auth_OpenID_OPENID_NS, + 'invalidate_handle'); + + if ($invalidate_handle !== null) { + $this->store->removeAssociation($server_url, + $invalidate_handle); + } + + if ($is_valid == 'true') { + return true; + } + + return false; + } + + /** + * Adapt a POST response to a Message. + * + * @param $response Result of a POST to an OpenID endpoint. + * + * @access private + */ + static function _httpResponseToMessage($response, $server_url) + { + // Should this function be named Message.fromHTTPResponse instead? + $response_message = Auth_OpenID_Message::fromKVForm($response->body); + + if ($response->status == 400) { + return Auth_OpenID_ServerErrorContainer::fromMessage( + $response_message); + } else if ($response->status != 200 and $response->status != 206) { + return null; + } + + return $response_message; + } + + /** + * @access private + */ + function _makeKVPost($message, $server_url) + { + $body = $message->toURLEncoded(); + $resp = $this->fetcher->post($server_url, $body); + + if ($resp === null) { + return null; + } + + return $this->_httpResponseToMessage($resp, $server_url); + } + + /** + * @access private + */ + function _getAssociation($endpoint) + { + if (!$this->_use_assocs) { + return null; + } + + $assoc = $this->store->getAssociation($endpoint->server_url); + + if (($assoc === null) || + ($assoc->getExpiresIn() <= 0)) { + + $assoc = $this->_negotiateAssociation($endpoint); + + if ($assoc !== null) { + $this->store->storeAssociation($endpoint->server_url, + $assoc); + } + } + + return $assoc; + } + + /** + * Handle ServerErrors resulting from association requests. + * + * @return $result If server replied with an C{unsupported-type} + * error, return a tuple of supported C{association_type}, + * C{session_type}. Otherwise logs the error and returns null. + * + * @access private + */ + function _extractSupportedAssociationType($server_error, $endpoint, + $assoc_type) + { + // Any error message whose code is not 'unsupported-type' + // should be considered a total failure. + if (($server_error->error_code != 'unsupported-type') || + ($server_error->message->isOpenID1())) { + return null; + } + + // The server didn't like the association/session type that we + // sent, and it sent us back a message that might tell us how + // to handle it. + + // Extract the session_type and assoc_type from the error + // message + $assoc_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS, + 'assoc_type'); + + $session_type = $server_error->message->getArg(Auth_OpenID_OPENID_NS, + 'session_type'); + + if (($assoc_type === null) || ($session_type === null)) { + return null; + } else if (!$this->negotiator->isAllowed($assoc_type, + $session_type)) { + return null; + } else { + return array($assoc_type, $session_type); + } + } + + /** + * @access private + */ + function _negotiateAssociation($endpoint) + { + // Get our preferred session/association type from the negotiatior. + list($assoc_type, $session_type) = $this->negotiator->getAllowedType(); + + $assoc = $this->_requestAssociation( + $endpoint, $assoc_type, $session_type); + + if (Auth_OpenID::isFailure($assoc)) { + return null; + } + + if (is_a($assoc, 'Auth_OpenID_ServerErrorContainer')) { + $why = $assoc; + + $supportedTypes = $this->_extractSupportedAssociationType( + $why, $endpoint, $assoc_type); + + if ($supportedTypes !== null) { + list($assoc_type, $session_type) = $supportedTypes; + + // Attempt to create an association from the assoc_type + // and session_type that the server told us it + // supported. + $assoc = $this->_requestAssociation( + $endpoint, $assoc_type, $session_type); + + if (is_a($assoc, 'Auth_OpenID_ServerErrorContainer')) { + // Do not keep trying, since it rejected the + // association type that it told us to use. + // oidutil.log('Server %s refused its suggested association + // 'type: session_type=%s, assoc_type=%s' + // % (endpoint.server_url, session_type, + // assoc_type)) + return null; + } else { + return $assoc; + } + } else { + return null; + } + } else { + return $assoc; + } + } + + /** + * @access private + */ + function _requestAssociation($endpoint, $assoc_type, $session_type) + { + list($assoc_session, $args) = $this->_createAssociateRequest( + $endpoint, $assoc_type, $session_type); + + $response_message = $this->_makeKVPost($args, $endpoint->server_url); + + if ($response_message === null) { + // oidutil.log('openid.associate request failed: %s' % (why[0],)) + return null; + } else if (is_a($response_message, + 'Auth_OpenID_ServerErrorContainer')) { + return $response_message; + } + + return $this->_extractAssociation($response_message, $assoc_session); + } + + /** + * @access private + */ + function _extractAssociation($assoc_response, $assoc_session) + { + // Extract the common fields from the response, raising an + // exception if they are not found + $assoc_type = $assoc_response->getArg( + Auth_OpenID_OPENID_NS, 'assoc_type', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($assoc_type)) { + return $assoc_type; + } + + $assoc_handle = $assoc_response->getArg( + Auth_OpenID_OPENID_NS, 'assoc_handle', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($assoc_handle)) { + return $assoc_handle; + } + + // expires_in is a base-10 string. The Python parsing will + // accept literals that have whitespace around them and will + // accept negative values. Neither of these are really in-spec, + // but we think it's OK to accept them. + $expires_in_str = $assoc_response->getArg( + Auth_OpenID_OPENID_NS, 'expires_in', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($expires_in_str)) { + return $expires_in_str; + } + + $expires_in = Auth_OpenID::intval($expires_in_str); + if ($expires_in === false) { + + $err = sprintf("Could not parse expires_in from association ". + "response %s", print_r($assoc_response, true)); + return new Auth_OpenID_FailureResponse(null, $err); + } + + // OpenID 1 has funny association session behaviour. + if ($assoc_response->isOpenID1()) { + $session_type = $this->_getOpenID1SessionType($assoc_response); + } else { + $session_type = $assoc_response->getArg( + Auth_OpenID_OPENID2_NS, 'session_type', + Auth_OpenID_NO_DEFAULT); + + if (Auth_OpenID::isFailure($session_type)) { + return $session_type; + } + } + + // Session type mismatch + if ($assoc_session->session_type != $session_type) { + if ($assoc_response->isOpenID1() && + ($session_type == 'no-encryption')) { + // In OpenID 1, any association request can result in + // a 'no-encryption' association response. Setting + // assoc_session to a new no-encryption session should + // make the rest of this function work properly for + // that case. + $assoc_session = new Auth_OpenID_PlainTextConsumerSession(); + } else { + // Any other mismatch, regardless of protocol version + // results in the failure of the association session + // altogether. + return null; + } + } + + // Make sure assoc_type is valid for session_type + if (!in_array($assoc_type, $assoc_session->allowed_assoc_types)) { + return null; + } + + // Delegate to the association session to extract the secret + // from the response, however is appropriate for that session + // type. + $secret = $assoc_session->extractSecret($assoc_response); + + if ($secret === null) { + return null; + } + + return Auth_OpenID_Association::fromExpiresIn( + $expires_in, $assoc_handle, $secret, $assoc_type); + } + + /** + * @access private + */ + function _createAssociateRequest($endpoint, $assoc_type, $session_type) + { + if (array_key_exists($session_type, $this->session_types)) { + $session_type_class = $this->session_types[$session_type]; + + if (is_callable($session_type_class)) { + $assoc_session = $session_type_class(); + } else { + $assoc_session = new $session_type_class(); + } + } else { + return null; + } + + $args = array( + 'mode' => 'associate', + 'assoc_type' => $assoc_type); + + if (!$endpoint->compatibilityMode()) { + $args['ns'] = Auth_OpenID_OPENID2_NS; + } + + // Leave out the session type if we're in compatibility mode + // *and* it's no-encryption. + if ((!$endpoint->compatibilityMode()) || + ($assoc_session->session_type != 'no-encryption')) { + $args['session_type'] = $assoc_session->session_type; + } + + $args = array_merge($args, $assoc_session->getRequest()); + $message = Auth_OpenID_Message::fromOpenIDArgs($args); + return array($assoc_session, $message); + } + + /** + * Given an association response message, extract the OpenID 1.X + * session type. + * + * This function mostly takes care of the 'no-encryption' default + * behavior in OpenID 1. + * + * If the association type is plain-text, this function will + * return 'no-encryption' + * + * @access private + * @return $typ The association type for this message + */ + function _getOpenID1SessionType($assoc_response) + { + // If it's an OpenID 1 message, allow session_type to default + // to None (which signifies "no-encryption") + $session_type = $assoc_response->getArg(Auth_OpenID_OPENID1_NS, + 'session_type'); + + // Handle the differences between no-encryption association + // respones in OpenID 1 and 2: + + // no-encryption is not really a valid session type for OpenID + // 1, but we'll accept it anyway, while issuing a warning. + if ($session_type == 'no-encryption') { + // oidutil.log('WARNING: OpenID server sent "no-encryption"' + // 'for OpenID 1.X') + } else if (($session_type == '') || ($session_type === null)) { + // Missing or empty session type is the way to flag a + // 'no-encryption' response. Change the session type to + // 'no-encryption' so that it can be handled in the same + // way as OpenID 2 'no-encryption' respones. + $session_type = 'no-encryption'; + } + + return $session_type; + } +} + +/** + * This class represents an authentication request from a consumer to + * an OpenID server. + * + * @package OpenID + */ +class Auth_OpenID_AuthRequest { + + /** + * Initialize an authentication request with the specified token, + * association, and endpoint. + * + * Users of this library should not create instances of this + * class. Instances of this class are created by the library when + * needed. + */ + function Auth_OpenID_AuthRequest($endpoint, $assoc) + { + $this->assoc = $assoc; + $this->endpoint = $endpoint; + $this->return_to_args = array(); + $this->message = new Auth_OpenID_Message( + $endpoint->preferredNamespace()); + $this->_anonymous = false; + } + + /** + * Add an extension to this checkid request. + * + * $extension_request: An object that implements the extension + * request interface for adding arguments to an OpenID message. + */ + function addExtension($extension_request) + { + $extension_request->toMessage($this->message); + } + + /** + * Add an extension argument to this OpenID authentication + * request. + * + * Use caution when adding arguments, because they will be + * URL-escaped and appended to the redirect URL, which can easily + * get quite long. + * + * @param string $namespace The namespace for the extension. For + * example, the simple registration extension uses the namespace + * 'sreg'. + * + * @param string $key The key within the extension namespace. For + * example, the nickname field in the simple registration + * extension's key is 'nickname'. + * + * @param string $value The value to provide to the server for + * this argument. + */ + function addExtensionArg($namespace, $key, $value) + { + return $this->message->setArg($namespace, $key, $value); + } + + /** + * Set whether this request should be made anonymously. If a + * request is anonymous, the identifier will not be sent in the + * request. This is only useful if you are making another kind of + * request with an extension in this request. + * + * Anonymous requests are not allowed when the request is made + * with OpenID 1. + */ + function setAnonymous($is_anonymous) + { + if ($is_anonymous && $this->message->isOpenID1()) { + return false; + } else { + $this->_anonymous = $is_anonymous; + return true; + } + } + + /** + * Produce a {@link Auth_OpenID_Message} representing this + * request. + * + * @param string $realm The URL (or URL pattern) that identifies + * your web site to the user when she is authorizing it. + * + * @param string $return_to The URL that the OpenID provider will + * send the user back to after attempting to verify her identity. + * + * Not specifying a return_to URL means that the user will not be + * returned to the site issuing the request upon its completion. + * + * @param bool $immediate If true, the OpenID provider is to send + * back a response immediately, useful for behind-the-scenes + * authentication attempts. Otherwise the OpenID provider may + * engage the user before providing a response. This is the + * default case, as the user may need to provide credentials or + * approve the request before a positive response can be sent. + */ + function getMessage($realm, $return_to=null, $immediate=false) + { + if ($return_to) { + $return_to = Auth_OpenID::appendArgs($return_to, + $this->return_to_args); + } else if ($immediate) { + // raise ValueError( + // '"return_to" is mandatory when + //using "checkid_immediate"') + return new Auth_OpenID_FailureResponse(null, + "'return_to' is mandatory when using checkid_immediate"); + } else if ($this->message->isOpenID1()) { + // raise ValueError('"return_to" is + // mandatory for OpenID 1 requests') + return new Auth_OpenID_FailureResponse(null, + "'return_to' is mandatory for OpenID 1 requests"); + } else if ($this->return_to_args) { + // raise ValueError('extra "return_to" arguments + // were specified, but no return_to was specified') + return new Auth_OpenID_FailureResponse(null, + "extra 'return_to' arguments where specified, " . + "but no return_to was specified"); + } + + if ($immediate) { + $mode = 'checkid_immediate'; + } else { + $mode = 'checkid_setup'; + } + + $message = $this->message->copy(); + if ($message->isOpenID1()) { + $realm_key = 'trust_root'; + } else { + $realm_key = 'realm'; + } + + $message->updateArgs(Auth_OpenID_OPENID_NS, + array( + $realm_key => $realm, + 'mode' => $mode, + 'return_to' => $return_to)); + + if (!$this->_anonymous) { + if ($this->endpoint->isOPIdentifier()) { + // This will never happen when we're in compatibility + // mode, as long as isOPIdentifier() returns False + // whenever preferredNamespace() returns OPENID1_NS. + $claimed_id = $request_identity = + Auth_OpenID_IDENTIFIER_SELECT; + } else { + $request_identity = $this->endpoint->getLocalID(); + $claimed_id = $this->endpoint->claimed_id; + } + + // This is true for both OpenID 1 and 2 + $message->setArg(Auth_OpenID_OPENID_NS, 'identity', + $request_identity); + + if ($message->isOpenID2()) { + $message->setArg(Auth_OpenID_OPENID2_NS, 'claimed_id', + $claimed_id); + } + } + + if ($this->assoc) { + $message->setArg(Auth_OpenID_OPENID_NS, 'assoc_handle', + $this->assoc->handle); + } + + return $message; + } + + function redirectURL($realm, $return_to = null, + $immediate = false) + { + $message = $this->getMessage($realm, $return_to, $immediate); + + if (Auth_OpenID::isFailure($message)) { + return $message; + } + + return $message->toURL($this->endpoint->server_url); + } + + /** + * Get html for a form to submit this request to the IDP. + * + * form_tag_attrs: An array of attributes to be added to the form + * tag. 'accept-charset' and 'enctype' have defaults that can be + * overridden. If a value is supplied for 'action' or 'method', it + * will be replaced. + */ + function formMarkup($realm, $return_to=null, $immediate=false, + $form_tag_attrs=null) + { + $message = $this->getMessage($realm, $return_to, $immediate); + + if (Auth_OpenID::isFailure($message)) { + return $message; + } + + return $message->toFormMarkup($this->endpoint->server_url, + $form_tag_attrs); + } + + /** + * Get a complete html document that will autosubmit the request + * to the IDP. + * + * Wraps formMarkup. See the documentation for that function. + */ + function htmlMarkup($realm, $return_to=null, $immediate=false, + $form_tag_attrs=null) + { + $form = $this->formMarkup($realm, $return_to, $immediate, + $form_tag_attrs); + + if (Auth_OpenID::isFailure($form)) { + return $form; + } + return Auth_OpenID::autoSubmitHTML($form); + } + + function shouldSendRedirect() + { + return $this->endpoint->compatibilityMode(); + } +} + +/** + * The base class for responses from the Auth_OpenID_Consumer. + * + * @package OpenID + */ +class Auth_OpenID_ConsumerResponse { + var $status = null; + + function setEndpoint($endpoint) + { + $this->endpoint = $endpoint; + if ($endpoint === null) { + $this->identity_url = null; + } else { + $this->identity_url = $endpoint->claimed_id; + } + } + + /** + * Return the display identifier for this response. + * + * The display identifier is related to the Claimed Identifier, but the + * two are not always identical. The display identifier is something the + * user should recognize as what they entered, whereas the response's + * claimed identifier (in the identity_url attribute) may have extra + * information for better persistence. + * + * URLs will be stripped of their fragments for display. XRIs will + * display the human-readable identifier (i-name) instead of the + * persistent identifier (i-number). + * + * Use the display identifier in your user interface. Use + * identity_url for querying your database or authorization server. + * + */ + function getDisplayIdentifier() + { + if ($this->endpoint !== null) { + return $this->endpoint->getDisplayIdentifier(); + } + return null; + } +} + +/** + * A response with a status of Auth_OpenID_SUCCESS. Indicates that + * this request is a successful acknowledgement from the OpenID server + * that the supplied URL is, indeed controlled by the requesting + * agent. This has three relevant attributes: + * + * claimed_id - The identity URL that has been authenticated + * + * signed_args - The arguments in the server's response that were + * signed and verified. + * + * status - Auth_OpenID_SUCCESS. + * + * @package OpenID + */ +class Auth_OpenID_SuccessResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_SUCCESS; + + /** + * @access private + */ + function Auth_OpenID_SuccessResponse($endpoint, $message, $signed_args=null) + { + $this->endpoint = $endpoint; + $this->identity_url = $endpoint->claimed_id; + $this->signed_args = $signed_args; + $this->message = $message; + + if ($this->signed_args === null) { + $this->signed_args = array(); + } + } + + /** + * Extract signed extension data from the server's response. + * + * @param string $prefix The extension namespace from which to + * extract the extension data. + */ + function extensionResponse($namespace_uri, $require_signed) + { + if ($require_signed) { + return $this->getSignedNS($namespace_uri); + } else { + return $this->message->getArgs($namespace_uri); + } + } + + function isOpenID1() + { + return $this->message->isOpenID1(); + } + + function isSigned($ns_uri, $ns_key) + { + // Return whether a particular key is signed, regardless of + // its namespace alias + return in_array($this->message->getKey($ns_uri, $ns_key), + $this->signed_args); + } + + function getSigned($ns_uri, $ns_key, $default = null) + { + // Return the specified signed field if available, otherwise + // return default + if ($this->isSigned($ns_uri, $ns_key)) { + return $this->message->getArg($ns_uri, $ns_key, $default); + } else { + return $default; + } + } + + function getSignedNS($ns_uri) + { + $args = array(); + + $msg_args = $this->message->getArgs($ns_uri); + if (Auth_OpenID::isFailure($msg_args)) { + return null; + } + + foreach ($msg_args as $key => $value) { + if (!$this->isSigned($ns_uri, $key)) { + unset($msg_args[$key]); + } + } + + return $msg_args; + } + + /** + * Get the openid.return_to argument from this response. + * + * This is useful for verifying that this request was initiated by + * this consumer. + * + * @return string $return_to The return_to URL supplied to the + * server on the initial request, or null if the response did not + * contain an 'openid.return_to' argument. + */ + function getReturnTo() + { + return $this->getSigned(Auth_OpenID_OPENID_NS, 'return_to'); + } +} + +/** + * A response with a status of Auth_OpenID_FAILURE. Indicates that the + * OpenID protocol has failed. This could be locally or remotely + * triggered. This has three relevant attributes: + * + * claimed_id - The identity URL for which authentication was + * attempted, if it can be determined. Otherwise, null. + * + * message - A message indicating why the request failed, if one is + * supplied. Otherwise, null. + * + * status - Auth_OpenID_FAILURE. + * + * @package OpenID + */ +class Auth_OpenID_FailureResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_FAILURE; + + function Auth_OpenID_FailureResponse($endpoint, $message = null, + $contact = null, $reference = null) + { + $this->setEndpoint($endpoint); + $this->message = $message; + $this->contact = $contact; + $this->reference = $reference; + } +} + +/** + * A specific, internal failure used to detect type URI mismatch. + * + * @package OpenID + */ +class Auth_OpenID_TypeURIMismatch extends Auth_OpenID_FailureResponse { +} + +/** + * Exception that is raised when the server returns a 400 response + * code to a direct request. + * + * @package OpenID + */ +class Auth_OpenID_ServerErrorContainer { + function Auth_OpenID_ServerErrorContainer($error_text, + $error_code, + $message) + { + $this->error_text = $error_text; + $this->error_code = $error_code; + $this->message = $message; + } + + /** + * @access private + */ + static function fromMessage($message) + { + $error_text = $message->getArg( + Auth_OpenID_OPENID_NS, 'error', ''); + $error_code = $message->getArg(Auth_OpenID_OPENID_NS, 'error_code'); + return new Auth_OpenID_ServerErrorContainer($error_text, + $error_code, + $message); + } +} + +/** + * A response with a status of Auth_OpenID_CANCEL. Indicates that the + * user cancelled the OpenID authentication request. This has two + * relevant attributes: + * + * claimed_id - The identity URL for which authentication was + * attempted, if it can be determined. Otherwise, null. + * + * status - Auth_OpenID_SUCCESS. + * + * @package OpenID + */ +class Auth_OpenID_CancelResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_CANCEL; + + function Auth_OpenID_CancelResponse($endpoint) + { + $this->setEndpoint($endpoint); + } +} + +/** + * A response with a status of Auth_OpenID_SETUP_NEEDED. Indicates + * that the request was in immediate mode, and the server is unable to + * authenticate the user without further interaction. + * + * claimed_id - The identity URL for which authentication was + * attempted. + * + * setup_url - A URL that can be used to send the user to the server + * to set up for authentication. The user should be redirected in to + * the setup_url, either in the current window or in a new browser + * window. Null in OpenID 2. + * + * status - Auth_OpenID_SETUP_NEEDED. + * + * @package OpenID + */ +class Auth_OpenID_SetupNeededResponse extends Auth_OpenID_ConsumerResponse { + var $status = Auth_OpenID_SETUP_NEEDED; + + function Auth_OpenID_SetupNeededResponse($endpoint, + $setup_url = null) + { + $this->setEndpoint($endpoint); + $this->setup_url = $setup_url; + } +} + + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/CryptUtil.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/CryptUtil.php new file mode 100644 index 0000000..3c60cea --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/CryptUtil.php @@ -0,0 +1,122 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +if (!defined('Auth_OpenID_RAND_SOURCE')) { + /** + * The filename for a source of random bytes. Define this yourself + * if you have a different source of randomness. + */ + define('Auth_OpenID_RAND_SOURCE', '/dev/urandom'); +} + +class Auth_OpenID_CryptUtil { + /** + * Get the specified number of random bytes. + * + * Attempts to use a cryptographically secure (not predictable) + * source of randomness if available. If there is no high-entropy + * randomness source available, it will fail. As a last resort, + * for non-critical systems, define + * Auth_OpenID_RAND_SOURCE as null, and + * the code will fall back on a pseudo-random number generator. + * + * @param int $num_bytes The length of the return value + * @return string $bytes random bytes + */ + static function getBytes($num_bytes) + { + static $f = null; + $bytes = ''; + if ($f === null) { + if (Auth_OpenID_RAND_SOURCE === null) { + $f = false; + } else { + $f = @fopen(Auth_OpenID_RAND_SOURCE, "r"); + if ($f === false) { + $msg = 'Define Auth_OpenID_RAND_SOURCE as null to ' . + ' continue with an insecure random number generator.'; + trigger_error($msg, E_USER_ERROR); + } + } + } + if ($f === false) { + // pseudorandom used + $bytes = ''; + for ($i = 0; $i < $num_bytes; $i += 4) { + $bytes .= pack('L', mt_rand()); + } + $bytes = substr($bytes, 0, $num_bytes); + } else { + $bytes = fread($f, $num_bytes); + } + return $bytes; + } + + /** + * Produce a string of length random bytes, chosen from chrs. If + * $chrs is null, the resulting string may contain any characters. + * + * @param integer $length The length of the resulting + * randomly-generated string + * @param string $chrs A string of characters from which to choose + * to build the new string + * @return string $result A string of randomly-chosen characters + * from $chrs + */ + static function randomString($length, $population = null) + { + if ($population === null) { + return Auth_OpenID_CryptUtil::getBytes($length); + } + + $popsize = strlen($population); + + if ($popsize > 256) { + $msg = 'More than 256 characters supplied to ' . __FUNCTION__; + trigger_error($msg, E_USER_ERROR); + } + + $duplicate = 256 % $popsize; + + $str = ""; + for ($i = 0; $i < $length; $i++) { + do { + $n = ord(Auth_OpenID_CryptUtil::getBytes(1)); + } while ($n < $duplicate); + + $n %= $popsize; + $str .= $population[$n]; + } + + return $str; + } + + static function constEq($s1, $s2) + { + if (strlen($s1) != strlen($s2)) { + return false; + } + + $result = true; + $length = strlen($s1); + for ($i = 0; $i < $length; $i++) { + $result &= ($s1[$i] == $s2[$i]); + } + return $result; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DatabaseConnection.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DatabaseConnection.php new file mode 100644 index 0000000..0c7d08f --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DatabaseConnection.php @@ -0,0 +1,130 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * An empty base class intended to emulate PEAR connection + * functionality in applications that supply their own database + * abstraction mechanisms. See {@link Auth_OpenID_SQLStore} for more + * information. You should subclass this class if you need to create + * an SQL store that needs to access its database using an + * application's database abstraction layer instead of a PEAR database + * connection. Any subclass of Auth_OpenID_DatabaseConnection MUST + * adhere to the interface specified here. + * + * @package OpenID + */ +class Auth_OpenID_DatabaseConnection { + /** + * Sets auto-commit mode on this database connection. + * + * @param bool $mode True if auto-commit is to be used; false if + * not. + */ + function autoCommit($mode) + { + } + + /** + * Run an SQL query with the specified parameters, if any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return mixed $result The result of calling this connection's + * internal query function. The type of result depends on the + * underlying database engine. This method is usually used when + * the result of a query is not important, like a DDL query. + */ + function query($sql, $params = array()) + { + } + + /** + * Starts a transaction on this connection, if supported. + */ + function begin() + { + } + + /** + * Commits a transaction on this connection, if supported. + */ + function commit() + { + } + + /** + * Performs a rollback on this connection, if supported. + */ + function rollback() + { + } + + /** + * Run an SQL query and return the first column of the first row + * of the result set, if any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return mixed $result The value of the first column of the + * first row of the result set. False if no such result was + * found. + */ + function getOne($sql, $params = array()) + { + } + + /** + * Run an SQL query and return the first row of the result set, if + * any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return array $result The first row of the result set, if any, + * keyed on column name. False if no such result was found. + */ + function getRow($sql, $params = array()) + { + } + + /** + * Run an SQL query with the specified parameters, if any. + * + * @param string $sql An SQL string with placeholders. The + * placeholders are assumed to be specific to the database engine + * for this connection. + * + * @param array $params An array of parameters to insert into the + * SQL string using this connection's escaping mechanism. + * + * @return array $result An array of arrays representing the + * result of the query; each array is keyed on column name. + */ + function getAll($sql, $params = array()) + { + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DiffieHellman.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DiffieHellman.php new file mode 100644 index 0000000..3e25b7d --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DiffieHellman.php @@ -0,0 +1,113 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +require_once 'Auth/OpenID.php'; +require_once 'Auth/OpenID/BigMath.php'; + +function Auth_OpenID_getDefaultMod() +{ + return '155172898181473697471232257763715539915724801'. + '966915404479707795314057629378541917580651227423'. + '698188993727816152646631438561595825688188889951'. + '272158842675419950341258706556549803580104870537'. + '681476726513255747040765857479291291572334510643'. + '245094715007229621094194349783925984760375594985'. + '848253359305585439638443'; +} + +function Auth_OpenID_getDefaultGen() +{ + return '2'; +} + +/** + * The Diffie-Hellman key exchange class. This class relies on + * {@link Auth_OpenID_MathLibrary} to perform large number operations. + * + * @access private + * @package OpenID + */ +class Auth_OpenID_DiffieHellman { + + var $mod; + var $gen; + var $private; + var $lib = null; + + function Auth_OpenID_DiffieHellman($mod = null, $gen = null, + $private = null, $lib = null) + { + if ($lib === null) { + $this->lib = Auth_OpenID_getMathLib(); + } else { + $this->lib = $lib; + } + + if ($mod === null) { + $this->mod = $this->lib->init(Auth_OpenID_getDefaultMod()); + } else { + $this->mod = $mod; + } + + if ($gen === null) { + $this->gen = $this->lib->init(Auth_OpenID_getDefaultGen()); + } else { + $this->gen = $gen; + } + + if ($private === null) { + $r = $this->lib->rand($this->mod); + $this->private = $this->lib->add($r, 1); + } else { + $this->private = $private; + } + + $this->public = $this->lib->powmod($this->gen, $this->private, + $this->mod); + } + + function getSharedSecret($composite) + { + return $this->lib->powmod($composite, $this->private, $this->mod); + } + + function getPublicKey() + { + return $this->public; + } + + function usingDefaultValues() + { + return ($this->mod == Auth_OpenID_getDefaultMod() && + $this->gen == Auth_OpenID_getDefaultGen()); + } + + function xorSecret($composite, $secret, $hash_func) + { + $dh_shared = $this->getSharedSecret($composite); + $dh_shared_str = $this->lib->longToBinary($dh_shared); + $hash_dh_shared = $hash_func($dh_shared_str); + + $xsecret = ""; + for ($i = 0; $i < Auth_OpenID::bytes($secret); $i++) { + $xsecret .= chr(ord($secret[$i]) ^ ord($hash_dh_shared[$i])); + } + + return $xsecret; + } +} + + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Discover.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Discover.php new file mode 100644 index 0000000..7b0c640 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Discover.php @@ -0,0 +1,606 @@ +claimed_id = null; + $this->server_url = null; + $this->type_uris = array(); + $this->local_id = null; + $this->canonicalID = null; + $this->used_yadis = false; // whether this came from an XRDS + $this->display_identifier = null; + } + + function getDisplayIdentifier() + { + if ($this->display_identifier) { + return $this->display_identifier; + } + if (! $this->claimed_id) { + return $this->claimed_id; + } + $parsed = parse_url($this->claimed_id); + $scheme = $parsed['scheme']; + $host = $parsed['host']; + $path = $parsed['path']; + if (array_key_exists('query', $parsed)) { + $query = $parsed['query']; + $no_frag = "$scheme://$host$path?$query"; + } else { + $no_frag = "$scheme://$host$path"; + } + return $no_frag; + } + + function usesExtension($extension_uri) + { + return in_array($extension_uri, $this->type_uris); + } + + function preferredNamespace() + { + if (in_array(Auth_OpenID_TYPE_2_0_IDP, $this->type_uris) || + in_array(Auth_OpenID_TYPE_2_0, $this->type_uris)) { + return Auth_OpenID_OPENID2_NS; + } else { + return Auth_OpenID_OPENID1_NS; + } + } + + /* + * Query this endpoint to see if it has any of the given type + * URIs. This is useful for implementing other endpoint classes + * that e.g. need to check for the presence of multiple versions + * of a single protocol. + * + * @param $type_uris The URIs that you wish to check + * + * @return all types that are in both in type_uris and + * $this->type_uris + */ + function matchTypes($type_uris) + { + $result = array(); + foreach ($type_uris as $test_uri) { + if ($this->supportsType($test_uri)) { + $result[] = $test_uri; + } + } + + return $result; + } + + function supportsType($type_uri) + { + // Does this endpoint support this type? + return ((in_array($type_uri, $this->type_uris)) || + (($type_uri == Auth_OpenID_TYPE_2_0) && + $this->isOPIdentifier())); + } + + function compatibilityMode() + { + return $this->preferredNamespace() != Auth_OpenID_OPENID2_NS; + } + + function isOPIdentifier() + { + return in_array(Auth_OpenID_TYPE_2_0_IDP, $this->type_uris); + } + + static function fromOPEndpointURL($op_endpoint_url) + { + // Construct an OP-Identifier OpenIDServiceEndpoint object for + // a given OP Endpoint URL + $obj = new Auth_OpenID_ServiceEndpoint(); + $obj->server_url = $op_endpoint_url; + $obj->type_uris = array(Auth_OpenID_TYPE_2_0_IDP); + return $obj; + } + + function parseService($yadis_url, $uri, $type_uris, $service_element) + { + // Set the state of this object based on the contents of the + // service element. Return true if successful, false if not + // (if findOPLocalIdentifier returns false). + $this->type_uris = $type_uris; + $this->server_url = $uri; + $this->used_yadis = true; + + if (!$this->isOPIdentifier()) { + $this->claimed_id = $yadis_url; + $this->local_id = Auth_OpenID_findOPLocalIdentifier( + $service_element, + $this->type_uris); + if ($this->local_id === false) { + return false; + } + } + + return true; + } + + function getLocalID() + { + // Return the identifier that should be sent as the + // openid.identity_url parameter to the server. + if ($this->local_id === null && $this->canonicalID === null) { + return $this->claimed_id; + } else { + if ($this->local_id) { + return $this->local_id; + } else { + return $this->canonicalID; + } + } + } + + /* + * Parse the given document as XRDS looking for OpenID consumer services. + * + * @return array of Auth_OpenID_ServiceEndpoint or null if the + * document cannot be parsed. + */ + function consumerFromXRDS($uri, $xrds_text) + { + $xrds =& Auth_Yadis_XRDS::parseXRDS($xrds_text); + + if ($xrds) { + $yadis_services = + $xrds->services(array('filter_MatchesAnyOpenIDConsumerType')); + return Auth_OpenID_makeOpenIDEndpoints($uri, $yadis_services); + } + + return null; + } + + /* + * Parse the given document as XRDS looking for OpenID services. + * + * @return array of Auth_OpenID_ServiceEndpoint or null if the + * document cannot be parsed. + */ + static function fromXRDS($uri, $xrds_text) + { + $xrds = Auth_Yadis_XRDS::parseXRDS($xrds_text); + + if ($xrds) { + $yadis_services = + $xrds->services(array('filter_MatchesAnyOpenIDType')); + return Auth_OpenID_makeOpenIDEndpoints($uri, $yadis_services); + } + + return null; + } + + /* + * Create endpoints from a DiscoveryResult. + * + * @param discoveryResult Auth_Yadis_DiscoveryResult + * @return array of Auth_OpenID_ServiceEndpoint or null if + * endpoints cannot be created. + */ + static function fromDiscoveryResult($discoveryResult) + { + if ($discoveryResult->isXRDS()) { + return Auth_OpenID_ServiceEndpoint::fromXRDS( + $discoveryResult->normalized_uri, + $discoveryResult->response_text); + } else { + return Auth_OpenID_ServiceEndpoint::fromHTML( + $discoveryResult->normalized_uri, + $discoveryResult->response_text); + } + } + + static function fromHTML($uri, $html) + { + $discovery_types = array( + array(Auth_OpenID_TYPE_2_0, + 'openid2.provider', 'openid2.local_id'), + array(Auth_OpenID_TYPE_1_1, + 'openid.server', 'openid.delegate') + ); + + $services = array(); + + foreach ($discovery_types as $triple) { + list($type_uri, $server_rel, $delegate_rel) = $triple; + + $urls = Auth_OpenID_legacy_discover($html, $server_rel, + $delegate_rel); + + if ($urls === false) { + continue; + } + + list($delegate_url, $server_url) = $urls; + + $service = new Auth_OpenID_ServiceEndpoint(); + $service->claimed_id = $uri; + $service->local_id = $delegate_url; + $service->server_url = $server_url; + $service->type_uris = array($type_uri); + + $services[] = $service; + } + + return $services; + } + + function copy() + { + $x = new Auth_OpenID_ServiceEndpoint(); + + $x->claimed_id = $this->claimed_id; + $x->server_url = $this->server_url; + $x->type_uris = $this->type_uris; + $x->local_id = $this->local_id; + $x->canonicalID = $this->canonicalID; + $x->used_yadis = $this->used_yadis; + + return $x; + } +} + +function Auth_OpenID_findOPLocalIdentifier($service, $type_uris) +{ + // Extract a openid:Delegate value from a Yadis Service element. + // If no delegate is found, returns null. Returns false on + // discovery failure (when multiple delegate/localID tags have + // different values). + + $service->parser->registerNamespace('openid', + Auth_OpenID_XMLNS_1_0); + + $service->parser->registerNamespace('xrd', + Auth_Yadis_XMLNS_XRD_2_0); + + $parser = $service->parser; + + $permitted_tags = array(); + + if (in_array(Auth_OpenID_TYPE_1_1, $type_uris) || + in_array(Auth_OpenID_TYPE_1_0, $type_uris)) { + $permitted_tags[] = 'openid:Delegate'; + } + + if (in_array(Auth_OpenID_TYPE_2_0, $type_uris)) { + $permitted_tags[] = 'xrd:LocalID'; + } + + $local_id = null; + + foreach ($permitted_tags as $tag_name) { + $tags = $service->getElements($tag_name); + + foreach ($tags as $tag) { + $content = $parser->content($tag); + + if ($local_id === null) { + $local_id = $content; + } else if ($local_id != $content) { + return false; + } + } + } + + return $local_id; +} + +function filter_MatchesAnyOpenIDType($service) +{ + $uris = $service->getTypes(); + + foreach ($uris as $uri) { + if (in_array($uri, Auth_OpenID_getOpenIDTypeURIs())) { + return true; + } + } + + return false; +} + +function filter_MatchesAnyOpenIDConsumerType(&$service) +{ + $uris = $service->getTypes(); + + foreach ($uris as $uri) { + if (in_array($uri, Auth_OpenID_getOpenIDConsumerTypeURIs())) { + return true; + } + } + + return false; +} + +function Auth_OpenID_bestMatchingService($service, $preferred_types) +{ + // Return the index of the first matching type, or something + // higher if no type matches. + // + // This provides an ordering in which service elements that + // contain a type that comes earlier in the preferred types list + // come before service elements that come later. If a service + // element has more than one type, the most preferred one wins. + + foreach ($preferred_types as $index => $typ) { + if (in_array($typ, $service->type_uris)) { + return $index; + } + } + + return count($preferred_types); +} + +function Auth_OpenID_arrangeByType($service_list, $preferred_types) +{ + // Rearrange service_list in a new list so services are ordered by + // types listed in preferred_types. Return the new list. + + // Build a list with the service elements in tuples whose + // comparison will prefer the one with the best matching service + $prio_services = array(); + foreach ($service_list as $index => $service) { + $prio_services[] = array(Auth_OpenID_bestMatchingService($service, + $preferred_types), + $index, $service); + } + + sort($prio_services); + + // Now that the services are sorted by priority, remove the sort + // keys from the list. + foreach ($prio_services as $index => $s) { + $prio_services[$index] = $prio_services[$index][2]; + } + + return $prio_services; +} + +// Extract OP Identifier services. If none found, return the rest, +// sorted with most preferred first according to +// OpenIDServiceEndpoint.openid_type_uris. +// +// openid_services is a list of OpenIDServiceEndpoint objects. +// +// Returns a list of OpenIDServiceEndpoint objects.""" +function Auth_OpenID_getOPOrUserServices($openid_services) +{ + $op_services = Auth_OpenID_arrangeByType($openid_services, + array(Auth_OpenID_TYPE_2_0_IDP)); + + $openid_services = Auth_OpenID_arrangeByType($openid_services, + Auth_OpenID_getOpenIDTypeURIs()); + + if ($op_services) { + return $op_services; + } else { + return $openid_services; + } +} + +function Auth_OpenID_makeOpenIDEndpoints($uri, $yadis_services) +{ + $s = array(); + + if (!$yadis_services) { + return $s; + } + + foreach ($yadis_services as $service) { + $type_uris = $service->getTypes(); + $uris = $service->getURIs(); + + // If any Type URIs match and there is an endpoint URI + // specified, then this is an OpenID endpoint + if ($type_uris && + $uris) { + foreach ($uris as $service_uri) { + $openid_endpoint = new Auth_OpenID_ServiceEndpoint(); + if ($openid_endpoint->parseService($uri, + $service_uri, + $type_uris, + $service)) { + $s[] = $openid_endpoint; + } + } + } + } + + return $s; +} + +function Auth_OpenID_discoverWithYadis($uri, $fetcher, + $endpoint_filter='Auth_OpenID_getOPOrUserServices', + $discover_function=null) +{ + // Discover OpenID services for a URI. Tries Yadis and falls back + // on old-style discovery if Yadis fails. + + // Might raise a yadis.discover.DiscoveryFailure if no document + // came back for that URI at all. I don't think falling back to + // OpenID 1.0 discovery on the same URL will help, so don't bother + // to catch it. + if ($discover_function === null) { + $discover_function = array('Auth_Yadis_Yadis', 'discover'); + } + + $openid_services = array(); + + $response = call_user_func_array($discover_function, + array($uri, $fetcher)); + + $yadis_url = $response->normalized_uri; + $yadis_services = array(); + + if ($response->isFailure() && !$response->isXRDS()) { + return array($uri, array()); + } + + $openid_services = Auth_OpenID_ServiceEndpoint::fromXRDS( + $yadis_url, + $response->response_text); + + if (!$openid_services) { + if ($response->isXRDS()) { + return Auth_OpenID_discoverWithoutYadis($uri, + $fetcher); + } + + // Try to parse the response as HTML to get OpenID 1.0/1.1 + // + $openid_services = Auth_OpenID_ServiceEndpoint::fromHTML( + $yadis_url, + $response->response_text); + } + + $openid_services = call_user_func_array($endpoint_filter, + array($openid_services)); + + return array($yadis_url, $openid_services); +} + +function Auth_OpenID_discoverURI($uri, $fetcher) +{ + $uri = Auth_OpenID::normalizeUrl($uri); + return Auth_OpenID_discoverWithYadis($uri, $fetcher); +} + +function Auth_OpenID_discoverWithoutYadis($uri, $fetcher) +{ + $http_resp = @$fetcher->get($uri); + + if ($http_resp->status != 200 and $http_resp->status != 206) { + return array($uri, array()); + } + + $identity_url = $http_resp->final_url; + + // Try to parse the response as HTML to get OpenID 1.0/1.1 + $openid_services = Auth_OpenID_ServiceEndpoint::fromHTML( + $identity_url, + $http_resp->body); + + return array($identity_url, $openid_services); +} + +function Auth_OpenID_discoverXRI($iname, $fetcher) +{ + $resolver = new Auth_Yadis_ProxyResolver($fetcher); + list($canonicalID, $yadis_services) = + $resolver->query($iname, + Auth_OpenID_getOpenIDTypeURIs(), + array('filter_MatchesAnyOpenIDType')); + + $openid_services = Auth_OpenID_makeOpenIDEndpoints($iname, + $yadis_services); + + $openid_services = Auth_OpenID_getOPOrUserServices($openid_services); + + for ($i = 0; $i < count($openid_services); $i++) { + $openid_services[$i]->canonicalID = $canonicalID; + $openid_services[$i]->claimed_id = $canonicalID; + $openid_services[$i]->display_identifier = $iname; + } + + // FIXME: returned xri should probably be in some normal form + return array($iname, $openid_services); +} + +function Auth_OpenID_discover($uri, $fetcher) +{ + // If the fetcher (i.e., PHP) doesn't support SSL, we can't do + // discovery on an HTTPS URL. + if ($fetcher->isHTTPS($uri) && !$fetcher->supportsSSL()) { + return array($uri, array()); + } + + if (Auth_Yadis_identifierScheme($uri) == 'XRI') { + $result = Auth_OpenID_discoverXRI($uri, $fetcher); + } else { + $result = Auth_OpenID_discoverURI($uri, $fetcher); + } + + // If the fetcher doesn't support SSL, we can't interact with + // HTTPS server URLs; remove those endpoints from the list. + if (!$fetcher->supportsSSL()) { + $http_endpoints = array(); + list($new_uri, $endpoints) = $result; + + foreach ($endpoints as $e) { + if (!$fetcher->isHTTPS($e->server_url)) { + $http_endpoints[] = $e; + } + } + + $result = array($new_uri, $http_endpoints); + } + + return $result; +} + + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DumbStore.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DumbStore.php new file mode 100644 index 0000000..e8f29ac --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/DumbStore.php @@ -0,0 +1,99 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Import the interface for creating a new store class. + */ +require_once 'Auth/OpenID/Interface.php'; +require_once 'Auth/OpenID/HMAC.php'; + +/** + * This is a store for use in the worst case, when you have no way of + * saving state on the consumer site. Using this store makes the + * consumer vulnerable to replay attacks, as it's unable to use + * nonces. Avoid using this store if it is at all possible. + * + * Most of the methods of this class are implementation details. + * Users of this class need to worry only about the constructor. + * + * @package OpenID + */ +class Auth_OpenID_DumbStore extends Auth_OpenID_OpenIDStore { + + /** + * Creates a new {@link Auth_OpenID_DumbStore} instance. For the security + * of the tokens generated by the library, this class attempts to + * at least have a secure implementation of getAuthKey. + * + * When you create an instance of this class, pass in a secret + * phrase. The phrase is hashed with sha1 to make it the correct + * length and form for an auth key. That allows you to use a long + * string as the secret phrase, which means you can make it very + * difficult to guess. + * + * Each {@link Auth_OpenID_DumbStore} instance that is created for use by + * your consumer site needs to use the same $secret_phrase. + * + * @param string secret_phrase The phrase used to create the auth + * key returned by getAuthKey + */ + function Auth_OpenID_DumbStore($secret_phrase) + { + $this->auth_key = Auth_OpenID_SHA1($secret_phrase); + } + + /** + * This implementation does nothing. + */ + function storeAssociation($server_url, $association) + { + } + + /** + * This implementation always returns null. + */ + function getAssociation($server_url, $handle = null) + { + return null; + } + + /** + * This implementation always returns false. + */ + function removeAssociation($server_url, $handle) + { + return false; + } + + /** + * In a system truly limited to dumb mode, nonces must all be + * accepted. This therefore always returns true, which makes + * replay attacks feasible. + */ + function useNonce($server_url, $timestamp, $salt) + { + return true; + } + + /** + * This method returns the auth key generated by the constructor. + */ + function getAuthKey() + { + return $this->auth_key; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Extension.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Extension.php new file mode 100644 index 0000000..c4e38c0 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Extension.php @@ -0,0 +1,61 @@ +isOpenID1(); + $added = $message->namespaces->addAlias($this->ns_uri, + $this->ns_alias, + $implicit); + + if ($added === null) { + if ($message->namespaces->getAlias($this->ns_uri) != + $this->ns_alias) { + return null; + } + } + + $message->updateArgs($this->ns_uri, + $this->getExtensionArgs()); + return $message; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/FileStore.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/FileStore.php new file mode 100644 index 0000000..074421a --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/FileStore.php @@ -0,0 +1,618 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Require base class for creating a new interface. + */ +require_once 'Auth/OpenID.php'; +require_once 'Auth/OpenID/Interface.php'; +require_once 'Auth/OpenID/HMAC.php'; +require_once 'Auth/OpenID/Nonce.php'; + +/** + * This is a filesystem-based store for OpenID associations and + * nonces. This store should be safe for use in concurrent systems on + * both windows and unix (excluding NFS filesystems). There are a + * couple race conditions in the system, but those failure cases have + * been set up in such a way that the worst-case behavior is someone + * having to try to log in a second time. + * + * Most of the methods of this class are implementation details. + * People wishing to just use this store need only pay attention to + * the constructor. + * + * @package OpenID + */ +class Auth_OpenID_FileStore extends Auth_OpenID_OpenIDStore { + + /** + * Initializes a new {@link Auth_OpenID_FileStore}. This + * initializes the nonce and association directories, which are + * subdirectories of the directory passed in. + * + * @param string $directory This is the directory to put the store + * directories in. + */ + function Auth_OpenID_FileStore($directory) + { + if (!Auth_OpenID::ensureDir($directory)) { + trigger_error('Not a directory and failed to create: ' + . $directory, E_USER_ERROR); + } + $directory = realpath($directory); + + $this->directory = $directory; + $this->active = true; + + $this->nonce_dir = $directory . DIRECTORY_SEPARATOR . 'nonces'; + + $this->association_dir = $directory . DIRECTORY_SEPARATOR . + 'associations'; + + // Temp dir must be on the same filesystem as the assciations + // $directory. + $this->temp_dir = $directory . DIRECTORY_SEPARATOR . 'temp'; + + $this->max_nonce_age = 6 * 60 * 60; // Six hours, in seconds + + if (!$this->_setup()) { + trigger_error('Failed to initialize OpenID file store in ' . + $directory, E_USER_ERROR); + } + } + + function destroy() + { + Auth_OpenID_FileStore::_rmtree($this->directory); + $this->active = false; + } + + /** + * Make sure that the directories in which we store our data + * exist. + * + * @access private + */ + function _setup() + { + return (Auth_OpenID::ensureDir($this->nonce_dir) && + Auth_OpenID::ensureDir($this->association_dir) && + Auth_OpenID::ensureDir($this->temp_dir)); + } + + /** + * Create a temporary file on the same filesystem as + * $this->association_dir. + * + * The temporary directory should not be cleaned if there are any + * processes using the store. If there is no active process using + * the store, it is safe to remove all of the files in the + * temporary directory. + * + * @return array ($fd, $filename) + * @access private + */ + function _mktemp() + { + $name = Auth_OpenID_FileStore::_mkstemp($dir = $this->temp_dir); + $file_obj = @fopen($name, 'wb'); + if ($file_obj !== false) { + return array($file_obj, $name); + } else { + Auth_OpenID_FileStore::_removeIfPresent($name); + } + } + + function cleanupNonces() + { + global $Auth_OpenID_SKEW; + + $nonces = Auth_OpenID_FileStore::_listdir($this->nonce_dir); + $now = time(); + + $removed = 0; + // Check all nonces for expiry + foreach ($nonces as $nonce_fname) { + $base = basename($nonce_fname); + $parts = explode('-', $base, 2); + $timestamp = $parts[0]; + $timestamp = intval($timestamp, 16); + if (abs($timestamp - $now) > $Auth_OpenID_SKEW) { + Auth_OpenID_FileStore::_removeIfPresent($nonce_fname); + $removed += 1; + } + } + return $removed; + } + + /** + * Create a unique filename for a given server url and + * handle. This implementation does not assume anything about the + * format of the handle. The filename that is returned will + * contain the domain name from the server URL for ease of human + * inspection of the data directory. + * + * @return string $filename + */ + function getAssociationFilename($server_url, $handle) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + if (strpos($server_url, '://') === false) { + trigger_error(sprintf("Bad server URL: %s", $server_url), + E_USER_WARNING); + return null; + } + + list($proto, $rest) = explode('://', $server_url, 2); + $parts = explode('/', $rest); + $domain = Auth_OpenID_FileStore::_filenameEscape($parts[0]); + $url_hash = Auth_OpenID_FileStore::_safe64($server_url); + if ($handle) { + $handle_hash = Auth_OpenID_FileStore::_safe64($handle); + } else { + $handle_hash = ''; + } + + $filename = sprintf('%s-%s-%s-%s', $proto, $domain, $url_hash, + $handle_hash); + + return $this->association_dir. DIRECTORY_SEPARATOR . $filename; + } + + /** + * Store an association in the association directory. + */ + function storeAssociation($server_url, $association) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return false; + } + + $association_s = $association->serialize(); + $filename = $this->getAssociationFilename($server_url, + $association->handle); + list($tmp_file, $tmp) = $this->_mktemp(); + + if (!$tmp_file) { + trigger_error("_mktemp didn't return a valid file descriptor", + E_USER_WARNING); + return false; + } + + fwrite($tmp_file, $association_s); + + fflush($tmp_file); + + fclose($tmp_file); + + if (@rename($tmp, $filename)) { + return true; + } else { + // In case we are running on Windows, try unlinking the + // file in case it exists. + @unlink($filename); + + // Now the target should not exist. Try renaming again, + // giving up if it fails. + if (@rename($tmp, $filename)) { + return true; + } + } + + // If there was an error, don't leave the temporary file + // around. + Auth_OpenID_FileStore::_removeIfPresent($tmp); + return false; + } + + /** + * Retrieve an association. If no handle is specified, return the + * association with the most recent issue time. + * + * @return mixed $association + */ + function getAssociation($server_url, $handle = null) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + if ($handle === null) { + $handle = ''; + } + + // The filename with the empty handle is a prefix of all other + // associations for the given server URL. + $filename = $this->getAssociationFilename($server_url, $handle); + + if ($handle) { + return $this->_getAssociation($filename); + } else { + $association_files = + Auth_OpenID_FileStore::_listdir($this->association_dir); + $matching_files = array(); + + // strip off the path to do the comparison + $name = basename($filename); + foreach ($association_files as $association_file) { + $base = basename($association_file); + if (strpos($base, $name) === 0) { + $matching_files[] = $association_file; + } + } + + $matching_associations = array(); + // read the matching files and sort by time issued + foreach ($matching_files as $full_name) { + $association = $this->_getAssociation($full_name); + if ($association !== null) { + $matching_associations[] = array($association->issued, + $association); + } + } + + $issued = array(); + $assocs = array(); + foreach ($matching_associations as $key => $assoc) { + $issued[$key] = $assoc[0]; + $assocs[$key] = $assoc[1]; + } + + array_multisort($issued, SORT_DESC, $assocs, SORT_DESC, + $matching_associations); + + // return the most recently issued one. + if ($matching_associations) { + list($issued, $assoc) = $matching_associations[0]; + return $assoc; + } else { + return null; + } + } + } + + /** + * @access private + */ + function _getAssociation($filename) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + $assoc_file = @fopen($filename, 'rb'); + + if ($assoc_file === false) { + return null; + } + + $assoc_s = fread($assoc_file, filesize($filename)); + fclose($assoc_file); + + if (!$assoc_s) { + return null; + } + + $association = + Auth_OpenID_Association::deserialize('Auth_OpenID_Association', + $assoc_s); + + if (!$association) { + Auth_OpenID_FileStore::_removeIfPresent($filename); + return null; + } + + if ($association->getExpiresIn() == 0) { + Auth_OpenID_FileStore::_removeIfPresent($filename); + return null; + } else { + return $association; + } + } + + /** + * Remove an association if it exists. Do nothing if it does not. + * + * @return bool $success + */ + function removeAssociation($server_url, $handle) + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + $assoc = $this->getAssociation($server_url, $handle); + if ($assoc === null) { + return false; + } else { + $filename = $this->getAssociationFilename($server_url, $handle); + return Auth_OpenID_FileStore::_removeIfPresent($filename); + } + } + + /** + * Return whether this nonce is present. As a side effect, mark it + * as no longer present. + * + * @return bool $present + */ + function useNonce($server_url, $timestamp, $salt) + { + global $Auth_OpenID_SKEW; + + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + if ( abs($timestamp - time()) > $Auth_OpenID_SKEW ) { + return false; + } + + if ($server_url) { + list($proto, $rest) = explode('://', $server_url, 2); + } else { + $proto = ''; + $rest = ''; + } + + $parts = explode('/', $rest, 2); + $domain = $this->_filenameEscape($parts[0]); + $url_hash = $this->_safe64($server_url); + $salt_hash = $this->_safe64($salt); + + $filename = sprintf('%08x-%s-%s-%s-%s', $timestamp, $proto, + $domain, $url_hash, $salt_hash); + $filename = $this->nonce_dir . DIRECTORY_SEPARATOR . $filename; + + $result = @fopen($filename, 'x'); + + if ($result === false) { + return false; + } else { + fclose($result); + return true; + } + } + + /** + * Remove expired entries from the database. This is potentially + * expensive, so only run when it is acceptable to take time. + * + * @access private + */ + function _allAssocs() + { + $all_associations = array(); + + $association_filenames = + Auth_OpenID_FileStore::_listdir($this->association_dir); + + foreach ($association_filenames as $association_filename) { + $association_file = fopen($association_filename, 'rb'); + + if ($association_file !== false) { + $assoc_s = fread($association_file, + filesize($association_filename)); + fclose($association_file); + + // Remove expired or corrupted associations + $association = + Auth_OpenID_Association::deserialize( + 'Auth_OpenID_Association', $assoc_s); + + if ($association === null) { + Auth_OpenID_FileStore::_removeIfPresent( + $association_filename); + } else { + if ($association->getExpiresIn() == 0) { + $all_associations[] = array($association_filename, + $association); + } + } + } + } + + return $all_associations; + } + + function clean() + { + if (!$this->active) { + trigger_error("FileStore no longer active", E_USER_ERROR); + return null; + } + + $nonces = Auth_OpenID_FileStore::_listdir($this->nonce_dir); + $now = time(); + + // Check all nonces for expiry + foreach ($nonces as $nonce) { + if (!Auth_OpenID_checkTimestamp($nonce, $now)) { + $filename = $this->nonce_dir . DIRECTORY_SEPARATOR . $nonce; + Auth_OpenID_FileStore::_removeIfPresent($filename); + } + } + + foreach ($this->_allAssocs() as $pair) { + list($assoc_filename, $assoc) = $pair; + if ($assoc->getExpiresIn() == 0) { + Auth_OpenID_FileStore::_removeIfPresent($assoc_filename); + } + } + } + + /** + * @access private + */ + function _rmtree($dir) + { + if ($dir[strlen($dir) - 1] != DIRECTORY_SEPARATOR) { + $dir .= DIRECTORY_SEPARATOR; + } + + if ($handle = opendir($dir)) { + while ($item = readdir($handle)) { + if (!in_array($item, array('.', '..'))) { + if (is_dir($dir . $item)) { + + if (!Auth_OpenID_FileStore::_rmtree($dir . $item)) { + return false; + } + } else if (is_file($dir . $item)) { + if (!unlink($dir . $item)) { + return false; + } + } + } + } + + closedir($handle); + + if (!@rmdir($dir)) { + return false; + } + + return true; + } else { + // Couldn't open directory. + return false; + } + } + + /** + * @access private + */ + function _mkstemp($dir) + { + foreach (range(0, 4) as $i) { + $name = tempnam($dir, "php_openid_filestore_"); + + if ($name !== false) { + return $name; + } + } + return false; + } + + /** + * @access private + */ + static function _mkdtemp($dir) + { + foreach (range(0, 4) as $i) { + $name = $dir . strval(DIRECTORY_SEPARATOR) . strval(getmypid()) . + "-" . strval(rand(1, time())); + if (!mkdir($name, 0700)) { + return false; + } else { + return $name; + } + } + return false; + } + + /** + * @access private + */ + function _listdir($dir) + { + $handle = opendir($dir); + $files = array(); + while (false !== ($filename = readdir($handle))) { + if (!in_array($filename, array('.', '..'))) { + $files[] = $dir . DIRECTORY_SEPARATOR . $filename; + } + } + return $files; + } + + /** + * @access private + */ + function _isFilenameSafe($char) + { + $_Auth_OpenID_filename_allowed = Auth_OpenID_letters . + Auth_OpenID_digits . "."; + return (strpos($_Auth_OpenID_filename_allowed, $char) !== false); + } + + /** + * @access private + */ + function _safe64($str) + { + $h64 = base64_encode(Auth_OpenID_SHA1($str)); + $h64 = str_replace('+', '_', $h64); + $h64 = str_replace('/', '.', $h64); + $h64 = str_replace('=', '', $h64); + return $h64; + } + + /** + * @access private + */ + function _filenameEscape($str) + { + $filename = ""; + $b = Auth_OpenID::toBytes($str); + + for ($i = 0; $i < count($b); $i++) { + $c = $b[$i]; + if (Auth_OpenID_FileStore::_isFilenameSafe($c)) { + $filename .= $c; + } else { + $filename .= sprintf("_%02X", ord($c)); + } + } + return $filename; + } + + /** + * Attempt to remove a file, returning whether the file existed at + * the time of the call. + * + * @access private + * @return bool $result True if the file was present, false if not. + */ + function _removeIfPresent($filename) + { + return @unlink($filename); + } + + function cleanupAssociations() + { + $removed = 0; + foreach ($this->_allAssocs() as $pair) { + list($assoc_filename, $assoc) = $pair; + if ($assoc->getExpiresIn() == 0) { + $this->_removeIfPresent($assoc_filename); + $removed += 1; + } + } + return $removed; + } +} + + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/HMAC.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/HMAC.php new file mode 100644 index 0000000..e6c4bdf --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/HMAC.php @@ -0,0 +1,105 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +require_once 'Auth/OpenID.php'; + +/** + * SHA1_BLOCKSIZE is this module's SHA1 blocksize used by the fallback + * implementation. + */ +define('Auth_OpenID_SHA1_BLOCKSIZE', 64); + +function Auth_OpenID_SHA1($text) +{ + if (function_exists('hash') && + function_exists('hash_algos') && + (in_array('sha1', hash_algos()))) { + // PHP 5 case (sometimes): 'hash' available and 'sha1' algo + // supported. + return hash('sha1', $text, true); + } else if (function_exists('sha1')) { + // PHP 4 case: 'sha1' available. + $hex = sha1($text); + $raw = ''; + for ($i = 0; $i < 40; $i += 2) { + $hexcode = substr($hex, $i, 2); + $charcode = (int)base_convert($hexcode, 16, 10); + $raw .= chr($charcode); + } + return $raw; + } else { + // Explode. + trigger_error('No SHA1 function found', E_USER_ERROR); + } +} + +/** + * Compute an HMAC/SHA1 hash. + * + * @access private + * @param string $key The HMAC key + * @param string $text The message text to hash + * @return string $mac The MAC + */ +function Auth_OpenID_HMACSHA1($key, $text) +{ + if (Auth_OpenID::bytes($key) > Auth_OpenID_SHA1_BLOCKSIZE) { + $key = Auth_OpenID_SHA1($key, true); + } + + if (function_exists('hash_hmac') && + function_exists('hash_algos') && + (in_array('sha1', hash_algos()))) { + return hash_hmac('sha1', $text, $key, true); + } + // Home-made solution + + $key = str_pad($key, Auth_OpenID_SHA1_BLOCKSIZE, chr(0x00)); + $ipad = str_repeat(chr(0x36), Auth_OpenID_SHA1_BLOCKSIZE); + $opad = str_repeat(chr(0x5c), Auth_OpenID_SHA1_BLOCKSIZE); + $hash1 = Auth_OpenID_SHA1(($key ^ $ipad) . $text, true); + $hmac = Auth_OpenID_SHA1(($key ^ $opad) . $hash1, true); + return $hmac; +} + +if (function_exists('hash') && + function_exists('hash_algos') && + (in_array('sha256', hash_algos()))) { + function Auth_OpenID_SHA256($text) + { + // PHP 5 case: 'hash' available and 'sha256' algo supported. + return hash('sha256', $text, true); + } + define('Auth_OpenID_SHA256_SUPPORTED', true); +} else { + define('Auth_OpenID_SHA256_SUPPORTED', false); +} + +if (function_exists('hash_hmac') && + function_exists('hash_algos') && + (in_array('sha256', hash_algos()))) { + + function Auth_OpenID_HMACSHA256($key, $text) + { + // Return raw MAC (not hex string). + return hash_hmac('sha256', $text, $key, true); + } + + define('Auth_OpenID_HMACSHA256_SUPPORTED', true); +} else { + define('Auth_OpenID_HMACSHA256_SUPPORTED', false); +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Interface.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Interface.php new file mode 100644 index 0000000..eca6b9c --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Interface.php @@ -0,0 +1,196 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * This is the interface for the store objects the OpenID library + * uses. It is a single class that provides all of the persistence + * mechanisms that the OpenID library needs, for both servers and + * consumers. If you want to create an SQL-driven store, please see + * then {@link Auth_OpenID_SQLStore} class. + * + * Change: Version 2.0 removed the storeNonce, getAuthKey, and isDumb + * methods, and changed the behavior of the useNonce method to support + * one-way nonces. + * + * @package OpenID + * @author JanRain, Inc. + */ +class Auth_OpenID_OpenIDStore { + /** + * This method puts an Association object into storage, + * retrievable by server URL and handle. + * + * @param string $server_url The URL of the identity server that + * this association is with. Because of the way the server portion + * of the library uses this interface, don't assume there are any + * limitations on the character set of the input string. In + * particular, expect to see unescaped non-url-safe characters in + * the server_url field. + * + * @param Association $association The Association to store. + */ + function storeAssociation($server_url, $association) + { + trigger_error("Auth_OpenID_OpenIDStore::storeAssociation ". + "not implemented", E_USER_ERROR); + } + + /* + * Remove expired nonces from the store. + * + * Discards any nonce from storage that is old enough that its + * timestamp would not pass useNonce(). + * + * This method is not called in the normal operation of the + * library. It provides a way for store admins to keep their + * storage from filling up with expired data. + * + * @return the number of nonces expired + */ + function cleanupNonces() + { + trigger_error("Auth_OpenID_OpenIDStore::cleanupNonces ". + "not implemented", E_USER_ERROR); + } + + /* + * Remove expired associations from the store. + * + * This method is not called in the normal operation of the + * library. It provides a way for store admins to keep their + * storage from filling up with expired data. + * + * @return the number of associations expired. + */ + function cleanupAssociations() + { + trigger_error("Auth_OpenID_OpenIDStore::cleanupAssociations ". + "not implemented", E_USER_ERROR); + } + + /* + * Shortcut for cleanupNonces(), cleanupAssociations(). + * + * This method is not called in the normal operation of the + * library. It provides a way for store admins to keep their + * storage from filling up with expired data. + */ + function cleanup() + { + return array($this->cleanupNonces(), + $this->cleanupAssociations()); + } + + /** + * Report whether this storage supports cleanup + */ + function supportsCleanup() + { + return true; + } + + /** + * This method returns an Association object from storage that + * matches the server URL and, if specified, handle. It returns + * null if no such association is found or if the matching + * association is expired. + * + * If no handle is specified, the store may return any association + * which matches the server URL. If multiple associations are + * valid, the recommended return value for this method is the one + * most recently issued. + * + * This method is allowed (and encouraged) to garbage collect + * expired associations when found. This method must not return + * expired associations. + * + * @param string $server_url The URL of the identity server to get + * the association for. Because of the way the server portion of + * the library uses this interface, don't assume there are any + * limitations on the character set of the input string. In + * particular, expect to see unescaped non-url-safe characters in + * the server_url field. + * + * @param mixed $handle This optional parameter is the handle of + * the specific association to get. If no specific handle is + * provided, any valid association matching the server URL is + * returned. + * + * @return Association The Association for the given identity + * server. + */ + function getAssociation($server_url, $handle = null) + { + trigger_error("Auth_OpenID_OpenIDStore::getAssociation ". + "not implemented", E_USER_ERROR); + } + + /** + * This method removes the matching association if it's found, and + * returns whether the association was removed or not. + * + * @param string $server_url The URL of the identity server the + * association to remove belongs to. Because of the way the server + * portion of the library uses this interface, don't assume there + * are any limitations on the character set of the input + * string. In particular, expect to see unescaped non-url-safe + * characters in the server_url field. + * + * @param string $handle This is the handle of the association to + * remove. If there isn't an association found that matches both + * the given URL and handle, then there was no matching handle + * found. + * + * @return mixed Returns whether or not the given association existed. + */ + function removeAssociation($server_url, $handle) + { + trigger_error("Auth_OpenID_OpenIDStore::removeAssociation ". + "not implemented", E_USER_ERROR); + } + + /** + * Called when using a nonce. + * + * This method should return C{True} if the nonce has not been + * used before, and store it for a while to make sure nobody + * tries to use the same value again. If the nonce has already + * been used, return C{False}. + * + * Change: In earlier versions, round-trip nonces were used and a + * nonce was only valid if it had been previously stored with + * storeNonce. Version 2.0 uses one-way nonces, requiring a + * different implementation here that does not depend on a + * storeNonce call. (storeNonce is no longer part of the + * interface. + * + * @param string $nonce The nonce to use. + * + * @return bool Whether or not the nonce was valid. + */ + function useNonce($server_url, $timestamp, $salt) + { + trigger_error("Auth_OpenID_OpenIDStore::useNonce ". + "not implemented", E_USER_ERROR); + } + + /** + * Removes all entries from the store; implementation is optional. + */ + function reset() + { + } + +} diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/KVForm.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/KVForm.php new file mode 100644 index 0000000..dd02661 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/KVForm.php @@ -0,0 +1,111 @@ + + * @copyright 2005-2008 Janrain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + */ + +/** + * Container for key-value/comma-newline OpenID format and parsing + */ +class Auth_OpenID_KVForm { + /** + * Convert an OpenID colon/newline separated string into an + * associative array + * + * @static + * @access private + */ + static function toArray($kvs, $strict=false) + { + $lines = explode("\n", $kvs); + + $last = array_pop($lines); + if ($last !== '') { + array_push($lines, $last); + if ($strict) { + return false; + } + } + + $values = array(); + + for ($lineno = 0; $lineno < count($lines); $lineno++) { + $line = $lines[$lineno]; + $kv = explode(':', $line, 2); + if (count($kv) != 2) { + if ($strict) { + return false; + } + continue; + } + + $key = $kv[0]; + $tkey = trim($key); + if ($tkey != $key) { + if ($strict) { + return false; + } + } + + $value = $kv[1]; + $tval = trim($value); + if ($tval != $value) { + if ($strict) { + return false; + } + } + + $values[$tkey] = $tval; + } + + return $values; + } + + /** + * Convert an array into an OpenID colon/newline separated string + * + * @static + * @access private + */ + static function fromArray($values) + { + if ($values === null) { + return null; + } + + ksort($values); + + $serialized = ''; + foreach ($values as $key => $value) { + if (is_array($value)) { + list($key, $value) = array($value[0], $value[1]); + } + + if (strpos($key, ':') !== false) { + return null; + } + + if (strpos($key, "\n") !== false) { + return null; + } + + if (strpos($value, "\n") !== false) { + return null; + } + $serialized .= "$key:$value\n"; + } + return $serialized; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MDB2Store.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MDB2Store.php new file mode 100644 index 0000000..80024ba --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MDB2Store.php @@ -0,0 +1,413 @@ + + * @copyright 2005 Janrain, Inc. + * @license http://www.gnu.org/copyleft/lesser.html LGPL + */ + +require_once 'MDB2.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/Interface.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID.php'; + +/** + * @access private + */ +require_once 'Auth/OpenID/Nonce.php'; + +/** + * This store uses a PEAR::MDB2 connection to store persistence + * information. + * + * The table names used are determined by the class variables + * associations_table_name and nonces_table_name. To change the name + * of the tables used, pass new table names into the constructor. + * + * To create the tables with the proper schema, see the createTables + * method. + * + * @package OpenID + */ +class Auth_OpenID_MDB2Store extends Auth_OpenID_OpenIDStore { + /** + * This creates a new MDB2Store instance. It requires an + * established database connection be given to it, and it allows + * overriding the default table names. + * + * @param connection $connection This must be an established + * connection to a database of the correct type for the SQLStore + * subclass you're using. This must be a PEAR::MDB2 connection + * handle. + * + * @param associations_table: This is an optional parameter to + * specify the name of the table used for storing associations. + * The default value is 'oid_associations'. + * + * @param nonces_table: This is an optional parameter to specify + * the name of the table used for storing nonces. The default + * value is 'oid_nonces'. + */ + function Auth_OpenID_MDB2Store($connection, + $associations_table = null, + $nonces_table = null) + { + $this->associations_table_name = "oid_associations"; + $this->nonces_table_name = "oid_nonces"; + + // Check the connection object type to be sure it's a PEAR + // database connection. + if (!is_object($connection) || + !is_subclass_of($connection, 'mdb2_driver_common')) { + trigger_error("Auth_OpenID_MDB2Store expected PEAR connection " . + "object (got ".get_class($connection).")", + E_USER_ERROR); + return; + } + + $this->connection = $connection; + + // Be sure to set the fetch mode so the results are keyed on + // column name instead of column index. + $this->connection->setFetchMode(MDB2_FETCHMODE_ASSOC); + + if (PEAR::isError($this->connection->loadModule('Extended'))) { + trigger_error("Unable to load MDB2_Extended module", E_USER_ERROR); + return; + } + + if ($associations_table) { + $this->associations_table_name = $associations_table; + } + + if ($nonces_table) { + $this->nonces_table_name = $nonces_table; + } + + $this->max_nonce_age = 6 * 60 * 60; + } + + function tableExists($table_name) + { + return !PEAR::isError($this->connection->query( + sprintf("SELECT * FROM %s LIMIT 0", + $table_name))); + } + + function createTables() + { + $n = $this->create_nonce_table(); + $a = $this->create_assoc_table(); + + if (!$n || !$a) { + return false; + } + return true; + } + + function create_nonce_table() + { + if (!$this->tableExists($this->nonces_table_name)) { + switch ($this->connection->phptype) { + case "mysql": + case "mysqli": + // Custom SQL for MySQL to use InnoDB and variable- + // length keys + $r = $this->connection->exec( + sprintf("CREATE TABLE %s (\n". + " server_url VARCHAR(2047) NOT NULL DEFAULT '',\n". + " timestamp INTEGER NOT NULL,\n". + " salt CHAR(40) NOT NULL,\n". + " UNIQUE (server_url(255), timestamp, salt)\n". + ") TYPE=InnoDB", + $this->nonces_table_name)); + if (PEAR::isError($r)) { + return false; + } + break; + default: + if (PEAR::isError( + $this->connection->loadModule('Manager'))) { + return false; + } + $fields = array( + "server_url" => array( + "type" => "text", + "length" => 2047, + "notnull" => true + ), + "timestamp" => array( + "type" => "integer", + "notnull" => true + ), + "salt" => array( + "type" => "text", + "length" => 40, + "fixed" => true, + "notnull" => true + ) + ); + $constraint = array( + "unique" => 1, + "fields" => array( + "server_url" => true, + "timestamp" => true, + "salt" => true + ) + ); + + $r = $this->connection->createTable($this->nonces_table_name, + $fields); + if (PEAR::isError($r)) { + return false; + } + + $r = $this->connection->createConstraint( + $this->nonces_table_name, + $this->nonces_table_name . "_constraint", + $constraint); + if (PEAR::isError($r)) { + return false; + } + break; + } + } + return true; + } + + function create_assoc_table() + { + if (!$this->tableExists($this->associations_table_name)) { + switch ($this->connection->phptype) { + case "mysql": + case "mysqli": + // Custom SQL for MySQL to use InnoDB and variable- + // length keys + $r = $this->connection->exec( + sprintf("CREATE TABLE %s(\n". + " server_url VARCHAR(2047) NOT NULL DEFAULT '',\n". + " handle VARCHAR(255) NOT NULL,\n". + " secret BLOB NOT NULL,\n". + " issued INTEGER NOT NULL,\n". + " lifetime INTEGER NOT NULL,\n". + " assoc_type VARCHAR(64) NOT NULL,\n". + " PRIMARY KEY (server_url(255), handle)\n". + ") TYPE=InnoDB", + $this->associations_table_name)); + if (PEAR::isError($r)) { + return false; + } + break; + default: + if (PEAR::isError( + $this->connection->loadModule('Manager'))) { + return false; + } + $fields = array( + "server_url" => array( + "type" => "text", + "length" => 2047, + "notnull" => true + ), + "handle" => array( + "type" => "text", + "length" => 255, + "notnull" => true + ), + "secret" => array( + "type" => "blob", + "length" => "255", + "notnull" => true + ), + "issued" => array( + "type" => "integer", + "notnull" => true + ), + "lifetime" => array( + "type" => "integer", + "notnull" => true + ), + "assoc_type" => array( + "type" => "text", + "length" => 64, + "notnull" => true + ) + ); + $options = array( + "primary" => array( + "server_url" => true, + "handle" => true + ) + ); + + $r = $this->connection->createTable( + $this->associations_table_name, + $fields, + $options); + if (PEAR::isError($r)) { + return false; + } + break; + } + } + return true; + } + + function storeAssociation($server_url, $association) + { + $fields = array( + "server_url" => array( + "value" => $server_url, + "key" => true + ), + "handle" => array( + "value" => $association->handle, + "key" => true + ), + "secret" => array( + "value" => $association->secret, + "type" => "blob" + ), + "issued" => array( + "value" => $association->issued + ), + "lifetime" => array( + "value" => $association->lifetime + ), + "assoc_type" => array( + "value" => $association->assoc_type + ) + ); + + return !PEAR::isError($this->connection->replace( + $this->associations_table_name, + $fields)); + } + + function cleanupNonces() + { + global $Auth_OpenID_SKEW; + $v = time() - $Auth_OpenID_SKEW; + + return $this->connection->exec( + sprintf("DELETE FROM %s WHERE timestamp < %d", + $this->nonces_table_name, $v)); + } + + function cleanupAssociations() + { + return $this->connection->exec( + sprintf("DELETE FROM %s WHERE issued + lifetime < %d", + $this->associations_table_name, time())); + } + + function getAssociation($server_url, $handle = null) + { + $sql = ""; + $params = null; + $types = array( + "text", + "blob", + "integer", + "integer", + "text" + ); + if ($handle !== null) { + $sql = sprintf("SELECT handle, secret, issued, lifetime, assoc_type " . + "FROM %s WHERE server_url = ? AND handle = ?", + $this->associations_table_name); + $params = array($server_url, $handle); + } else { + $sql = sprintf("SELECT handle, secret, issued, lifetime, assoc_type " . + "FROM %s WHERE server_url = ? ORDER BY issued DESC", + $this->associations_table_name); + $params = array($server_url); + } + + $assoc = $this->connection->getRow($sql, $types, $params); + + if (!$assoc || PEAR::isError($assoc)) { + return null; + } else { + $association = new Auth_OpenID_Association($assoc['handle'], + stream_get_contents( + $assoc['secret']), + $assoc['issued'], + $assoc['lifetime'], + $assoc['assoc_type']); + fclose($assoc['secret']); + return $association; + } + } + + function removeAssociation($server_url, $handle) + { + $r = $this->connection->execParam( + sprintf("DELETE FROM %s WHERE server_url = ? AND handle = ?", + $this->associations_table_name), + array($server_url, $handle)); + + if (PEAR::isError($r) || $r == 0) { + return false; + } + return true; + } + + function useNonce($server_url, $timestamp, $salt) + { + global $Auth_OpenID_SKEW; + + if (abs($timestamp - time()) > $Auth_OpenID_SKEW ) { + return false; + } + + $fields = array( + "timestamp" => $timestamp, + "salt" => $salt + ); + + if (!empty($server_url)) { + $fields["server_url"] = $server_url; + } + + $r = $this->connection->autoExecute( + $this->nonces_table_name, + $fields, + MDB2_AUTOQUERY_INSERT); + + if (PEAR::isError($r)) { + return false; + } + return true; + } + + /** + * Resets the store by removing all records from the store's + * tables. + */ + function reset() + { + $this->connection->query(sprintf("DELETE FROM %s", + $this->associations_table_name)); + + $this->connection->query(sprintf("DELETE FROM %s", + $this->nonces_table_name)); + } + +} + +?> diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MemcachedStore.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MemcachedStore.php new file mode 100644 index 0000000..fc10800 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MemcachedStore.php @@ -0,0 +1,207 @@ + + * @copyright 2008 JanRain, Inc. + * @license http://www.apache.org/licenses/LICENSE-2.0 Apache + * Contributed by Open Web Technologies + */ + +/** + * Import the interface for creating a new store class. + */ +require_once 'Auth/OpenID/Interface.php'; + +/** + * This is a memcached-based store for OpenID associations and + * nonces. + * + * As memcache has limit of 250 chars for key length, + * server_url, handle and salt are hashed with sha1(). + * + * Most of the methods of this class are implementation details. + * People wishing to just use this store need only pay attention to + * the constructor. + * + * @package OpenID + */ +class Auth_OpenID_MemcachedStore extends Auth_OpenID_OpenIDStore { + + /** + * Initializes a new {@link Auth_OpenID_MemcachedStore} instance. + * Just saves memcached object as property. + * + * @param resource connection Memcache connection resourse + */ + function Auth_OpenID_MemcachedStore($connection, $compress = false) + { + $this->connection = $connection; + $this->compress = $compress ? MEMCACHE_COMPRESSED : 0; + } + + /** + * Store association until its expiration time in memcached. + * Overwrites any existing association with same server_url and + * handle. Handles list of associations for every server. + */ + function storeAssociation($server_url, $association) + { + // create memcached keys for association itself + // and list of associations for this server + $associationKey = $this->associationKey($server_url, + $association->handle); + $serverKey = $this->associationServerKey($server_url); + + // get list of associations + $serverAssociations = $this->connection->get($serverKey); + + // if no such list, initialize it with empty array + if (!$serverAssociations) { + $serverAssociations = array(); + } + // and store given association key in it + $serverAssociations[$association->issued] = $associationKey; + + // save associations' keys list + $this->connection->set( + $serverKey, + $serverAssociations, + $this->compress + ); + // save association itself + $this->connection->set( + $associationKey, + $association, + $this->compress, + $association->issued + $association->lifetime); + } + + /** + * Read association from memcached. If no handle given + * and multiple associations found, returns latest issued + */ + function getAssociation($server_url, $handle = null) + { + // simple case: handle given + if ($handle !== null) { + // get association, return null if failed + $association = $this->connection->get( + $this->associationKey($server_url, $handle)); + return $association ? $association : null; + } + + // no handle given, working with list + // create key for list of associations + $serverKey = $this->associationServerKey($server_url); + + // get list of associations + $serverAssociations = $this->connection->get($serverKey); + // return null if failed or got empty list + if (!$serverAssociations) { + return null; + } + + // get key of most recently issued association + $keys = array_keys($serverAssociations); + sort($keys); + $lastKey = $serverAssociations[array_pop($keys)]; + + // get association, return null if failed + $association = $this->connection->get($lastKey); + return $association ? $association : null; + } + + /** + * Immediately delete association from memcache. + */ + function removeAssociation($server_url, $handle) + { + // create memcached keys for association itself + // and list of associations for this server + $serverKey = $this->associationServerKey($server_url); + $associationKey = $this->associationKey($server_url, + $handle); + + // get list of associations + $serverAssociations = $this->connection->get($serverKey); + // return null if failed or got empty list + if (!$serverAssociations) { + return false; + } + + // ensure that given association key exists in list + $serverAssociations = array_flip($serverAssociations); + if (!array_key_exists($associationKey, $serverAssociations)) { + return false; + } + + // remove given association key from list + unset($serverAssociations[$associationKey]); + $serverAssociations = array_flip($serverAssociations); + + // save updated list + $this->connection->set( + $serverKey, + $serverAssociations, + $this->compress + ); + + // delete association + return $this->connection->delete($associationKey); + } + + /** + * Create nonce for server and salt, expiring after + * $Auth_OpenID_SKEW seconds. + */ + function useNonce($server_url, $timestamp, $salt) + { + global $Auth_OpenID_SKEW; + + // save one request to memcache when nonce obviously expired + if (abs($timestamp - time()) > $Auth_OpenID_SKEW) { + return false; + } + + // returns false when nonce already exists + // otherwise adds nonce + return $this->connection->add( + 'openid_nonce_' . sha1($server_url) . '_' . sha1($salt), + 1, // any value here + $this->compress, + $Auth_OpenID_SKEW); + } + + /** + * Memcache key is prefixed with 'openid_association_' string. + */ + function associationKey($server_url, $handle = null) + { + return 'openid_association_' . sha1($server_url) . '_' . sha1($handle); + } + + /** + * Memcache key is prefixed with 'openid_association_' string. + */ + function associationServerKey($server_url) + { + return 'openid_association_server_' . sha1($server_url); + } + + /** + * Report that this storage doesn't support cleanup + */ + function supportsCleanup() + { + return false; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Message.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Message.php new file mode 100644 index 0000000..9a5b20d --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Message.php @@ -0,0 +1,920 @@ +keys = array(); + $this->values = array(); + + if (is_array($classic_array)) { + foreach ($classic_array as $key => $value) { + $this->set($key, $value); + } + } + } + + /** + * Returns true if $thing is an Auth_OpenID_Mapping object; false + * if not. + */ + static function isA($thing) + { + return (is_object($thing) && + strtolower(get_class($thing)) == 'auth_openid_mapping'); + } + + /** + * Returns an array of the keys in the mapping. + */ + function keys() + { + return $this->keys; + } + + /** + * Returns an array of values in the mapping. + */ + function values() + { + return $this->values; + } + + /** + * Returns an array of (key, value) pairs in the mapping. + */ + function items() + { + $temp = array(); + + for ($i = 0; $i < count($this->keys); $i++) { + $temp[] = array($this->keys[$i], + $this->values[$i]); + } + return $temp; + } + + /** + * Returns the "length" of the mapping, or the number of keys. + */ + function len() + { + return count($this->keys); + } + + /** + * Sets a key-value pair in the mapping. If the key already + * exists, its value is replaced with the new value. + */ + function set($key, $value) + { + $index = array_search($key, $this->keys); + + if ($index !== false) { + $this->values[$index] = $value; + } else { + $this->keys[] = $key; + $this->values[] = $value; + } + } + + /** + * Gets a specified value from the mapping, associated with the + * specified key. If the key does not exist in the mapping, + * $default is returned instead. + */ + function get($key, $default = null) + { + $index = array_search($key, $this->keys); + + if ($index !== false) { + return $this->values[$index]; + } else { + return $default; + } + } + + /** + * @access private + */ + function _reflow() + { + // PHP is broken yet again. Sort the arrays to remove the + // hole in the numeric indexes that make up the array. + $old_keys = $this->keys; + $old_values = $this->values; + + $this->keys = array(); + $this->values = array(); + + foreach ($old_keys as $k) { + $this->keys[] = $k; + } + + foreach ($old_values as $v) { + $this->values[] = $v; + } + } + + /** + * Deletes a key-value pair from the mapping with the specified + * key. + */ + function del($key) + { + $index = array_search($key, $this->keys); + + if ($index !== false) { + unset($this->keys[$index]); + unset($this->values[$index]); + $this->_reflow(); + return true; + } + return false; + } + + /** + * Returns true if the specified value has a key in the mapping; + * false if not. + */ + function contains($value) + { + return (array_search($value, $this->keys) !== false); + } +} + +/** + * Maintains a bijective map between namespace uris and aliases. + * + * @package OpenID + */ +class Auth_OpenID_NamespaceMap { + function Auth_OpenID_NamespaceMap() + { + $this->alias_to_namespace = new Auth_OpenID_Mapping(); + $this->namespace_to_alias = new Auth_OpenID_Mapping(); + $this->implicit_namespaces = array(); + } + + function getAlias($namespace_uri) + { + return $this->namespace_to_alias->get($namespace_uri); + } + + function getNamespaceURI($alias) + { + return $this->alias_to_namespace->get($alias); + } + + function iterNamespaceURIs() + { + // Return an iterator over the namespace URIs + return $this->namespace_to_alias->keys(); + } + + function iterAliases() + { + // Return an iterator over the aliases""" + return $this->alias_to_namespace->keys(); + } + + function iteritems() + { + return $this->namespace_to_alias->items(); + } + + function isImplicit($namespace_uri) + { + return in_array($namespace_uri, $this->implicit_namespaces); + } + + function addAlias($namespace_uri, $desired_alias, $implicit=false) + { + // Add an alias from this namespace URI to the desired alias + global $Auth_OpenID_OPENID_PROTOCOL_FIELDS; + + // Check that desired_alias is not an openid protocol field as + // per the spec. + if (in_array($desired_alias, $Auth_OpenID_OPENID_PROTOCOL_FIELDS)) { + Auth_OpenID::log("\"%s\" is not an allowed namespace alias", + $desired_alias); + return null; + } + + // Check that desired_alias does not contain a period as per + // the spec. + if (strpos($desired_alias, '.') !== false) { + Auth_OpenID::log('"%s" must not contain a dot', $desired_alias); + return null; + } + + // Check that there is not a namespace already defined for the + // desired alias + $current_namespace_uri = + $this->alias_to_namespace->get($desired_alias); + + if (($current_namespace_uri !== null) && + ($current_namespace_uri != $namespace_uri)) { + Auth_OpenID::log('Cannot map "%s" because previous mapping exists', + $namespace_uri); + return null; + } + + // Check that there is not already a (different) alias for + // this namespace URI + $alias = $this->namespace_to_alias->get($namespace_uri); + + if (($alias !== null) && ($alias != $desired_alias)) { + Auth_OpenID::log('Cannot map %s to alias %s. ' . + 'It is already mapped to alias %s', + $namespace_uri, $desired_alias, $alias); + return null; + } + + assert((Auth_OpenID_NULL_NAMESPACE === $desired_alias) || + is_string($desired_alias)); + + $this->alias_to_namespace->set($desired_alias, $namespace_uri); + $this->namespace_to_alias->set($namespace_uri, $desired_alias); + if ($implicit) { + array_push($this->implicit_namespaces, $namespace_uri); + } + + return $desired_alias; + } + + function add($namespace_uri) + { + // Add this namespace URI to the mapping, without caring what + // alias it ends up with + + // See if this namespace is already mapped to an alias + $alias = $this->namespace_to_alias->get($namespace_uri); + + if ($alias !== null) { + return $alias; + } + + // Fall back to generating a numerical alias + $i = 0; + while (1) { + $alias = 'ext' . strval($i); + if ($this->addAlias($namespace_uri, $alias) === null) { + $i += 1; + } else { + return $alias; + } + } + + // Should NEVER be reached! + return null; + } + + function contains($namespace_uri) + { + return $this->isDefined($namespace_uri); + } + + function isDefined($namespace_uri) + { + return $this->namespace_to_alias->contains($namespace_uri); + } +} + +/** + * In the implementation of this object, null represents the global + * namespace as well as a namespace with no key. + * + * @package OpenID + */ +class Auth_OpenID_Message { + + function Auth_OpenID_Message($openid_namespace = null) + { + // Create an empty Message + $this->allowed_openid_namespaces = array( + Auth_OpenID_OPENID1_NS, + Auth_OpenID_THE_OTHER_OPENID1_NS, + Auth_OpenID_OPENID2_NS); + + $this->args = new Auth_OpenID_Mapping(); + $this->namespaces = new Auth_OpenID_NamespaceMap(); + if ($openid_namespace === null) { + $this->_openid_ns_uri = null; + } else { + $implicit = Auth_OpenID_isOpenID1($openid_namespace); + $this->setOpenIDNamespace($openid_namespace, $implicit); + } + } + + function isOpenID1() + { + return Auth_OpenID_isOpenID1($this->getOpenIDNamespace()); + } + + function isOpenID2() + { + return $this->getOpenIDNamespace() == Auth_OpenID_OPENID2_NS; + } + + static function fromPostArgs($args) + { + // Construct a Message containing a set of POST arguments + $obj = new Auth_OpenID_Message(); + + // Partition into "openid." args and bare args + $openid_args = array(); + foreach ($args as $key => $value) { + + if (is_array($value)) { + return null; + } + + $parts = explode('.', $key, 2); + + if (count($parts) == 2) { + list($prefix, $rest) = $parts; + } else { + $prefix = null; + } + + if ($prefix != 'openid') { + $obj->args->set(array(Auth_OpenID_BARE_NS, $key), $value); + } else { + $openid_args[$rest] = $value; + } + } + + if ($obj->_fromOpenIDArgs($openid_args)) { + return $obj; + } else { + return null; + } + } + + static function fromOpenIDArgs($openid_args) + { + // Takes an array. + + // Construct a Message from a parsed KVForm message + $obj = new Auth_OpenID_Message(); + if ($obj->_fromOpenIDArgs($openid_args)) { + return $obj; + } else { + return null; + } + } + + /** + * @access private + */ + function _fromOpenIDArgs($openid_args) + { + global $Auth_OpenID_registered_aliases; + + // Takes an Auth_OpenID_Mapping instance OR an array. + + if (!Auth_OpenID_Mapping::isA($openid_args)) { + $openid_args = new Auth_OpenID_Mapping($openid_args); + } + + $ns_args = array(); + + // Resolve namespaces + foreach ($openid_args->items() as $pair) { + list($rest, $value) = $pair; + + $parts = explode('.', $rest, 2); + + if (count($parts) == 2) { + list($ns_alias, $ns_key) = $parts; + } else { + $ns_alias = Auth_OpenID_NULL_NAMESPACE; + $ns_key = $rest; + } + + if ($ns_alias == 'ns') { + if ($this->namespaces->addAlias($value, $ns_key) === null) { + return false; + } + } else if (($ns_alias == Auth_OpenID_NULL_NAMESPACE) && + ($ns_key == 'ns')) { + // null namespace + if ($this->setOpenIDNamespace($value, false) === false) { + return false; + } + } else { + $ns_args[] = array($ns_alias, $ns_key, $value); + } + } + + if (!$this->getOpenIDNamespace()) { + if ($this->setOpenIDNamespace(Auth_OpenID_OPENID1_NS, true) === + false) { + return false; + } + } + + // Actually put the pairs into the appropriate namespaces + foreach ($ns_args as $triple) { + list($ns_alias, $ns_key, $value) = $triple; + $ns_uri = $this->namespaces->getNamespaceURI($ns_alias); + if ($ns_uri === null) { + $ns_uri = $this->_getDefaultNamespace($ns_alias); + if ($ns_uri === null) { + + $ns_uri = Auth_OpenID_OPENID_NS; + $ns_key = sprintf('%s.%s', $ns_alias, $ns_key); + } else { + $this->namespaces->addAlias($ns_uri, $ns_alias, true); + } + } + + $this->setArg($ns_uri, $ns_key, $value); + } + + return true; + } + + function _getDefaultNamespace($mystery_alias) + { + global $Auth_OpenID_registered_aliases; + if ($this->isOpenID1()) { + return @$Auth_OpenID_registered_aliases[$mystery_alias]; + } + return null; + } + + function setOpenIDNamespace($openid_ns_uri, $implicit) + { + if (!in_array($openid_ns_uri, $this->allowed_openid_namespaces)) { + Auth_OpenID::log('Invalid null namespace: "%s"', $openid_ns_uri); + return false; + } + + $succeeded = $this->namespaces->addAlias($openid_ns_uri, + Auth_OpenID_NULL_NAMESPACE, + $implicit); + if ($succeeded === false) { + return false; + } + + $this->_openid_ns_uri = $openid_ns_uri; + + return true; + } + + function getOpenIDNamespace() + { + return $this->_openid_ns_uri; + } + + static function fromKVForm($kvform_string) + { + // Create a Message from a KVForm string + return Auth_OpenID_Message::fromOpenIDArgs( + Auth_OpenID_KVForm::toArray($kvform_string)); + } + + function copy() + { + return $this; + } + + function toPostArgs() + { + // Return all arguments with openid. in front of namespaced + // arguments. + + $args = array(); + + // Add namespace definitions to the output + foreach ($this->namespaces->iteritems() as $pair) { + list($ns_uri, $alias) = $pair; + if ($this->namespaces->isImplicit($ns_uri)) { + continue; + } + if ($alias == Auth_OpenID_NULL_NAMESPACE) { + $ns_key = 'openid.ns'; + } else { + $ns_key = 'openid.ns.' . $alias; + } + $args[$ns_key] = $ns_uri; + } + + foreach ($this->args->items() as $pair) { + list($ns_parts, $value) = $pair; + list($ns_uri, $ns_key) = $ns_parts; + $key = $this->getKey($ns_uri, $ns_key); + $args[$key] = $value; + } + + return $args; + } + + function toArgs() + { + // Return all namespaced arguments, failing if any + // non-namespaced arguments exist. + $post_args = $this->toPostArgs(); + $kvargs = array(); + foreach ($post_args as $k => $v) { + if (strpos($k, 'openid.') !== 0) { + // raise ValueError( + // 'This message can only be encoded as a POST, because it ' + // 'contains arguments that are not prefixed with "openid."') + return null; + } else { + $kvargs[substr($k, 7)] = $v; + } + } + + return $kvargs; + } + + function toFormMarkup($action_url, $form_tag_attrs = null, + $submit_text = "Continue") + { + $form = "
    $attr) { + $form .= sprintf(" %s=\"%s\"", $name, $attr); + } + } + + $form .= ">\n"; + + foreach ($this->toPostArgs() as $name => $value) { + $form .= sprintf( + "\n", + $name, urldecode($value)); + } + + $form .= sprintf("\n", + $submit_text); + + $form .= "
    \n"; + + return $form; + } + + function toURL($base_url) + { + // Generate a GET URL with the parameters in this message + // attached as query parameters. + return Auth_OpenID::appendArgs($base_url, $this->toPostArgs()); + } + + function toKVForm() + { + // Generate a KVForm string that contains the parameters in + // this message. This will fail if the message contains + // arguments outside of the 'openid.' prefix. + return Auth_OpenID_KVForm::fromArray($this->toArgs()); + } + + function toURLEncoded() + { + // Generate an x-www-urlencoded string + $args = array(); + + foreach ($this->toPostArgs() as $k => $v) { + $args[] = array($k, $v); + } + + sort($args); + return Auth_OpenID::httpBuildQuery($args); + } + + /** + * @access private + */ + function _fixNS($namespace) + { + // Convert an input value into the internally used values of + // this object + + if ($namespace == Auth_OpenID_OPENID_NS) { + if ($this->_openid_ns_uri === null) { + return new Auth_OpenID_FailureResponse(null, + 'OpenID namespace not set'); + } else { + $namespace = $this->_openid_ns_uri; + } + } + + if (($namespace != Auth_OpenID_BARE_NS) && + (!is_string($namespace))) { + //TypeError + $err_msg = sprintf("Namespace must be Auth_OpenID_BARE_NS, ". + "Auth_OpenID_OPENID_NS or a string. got %s", + print_r($namespace, true)); + return new Auth_OpenID_FailureResponse(null, $err_msg); + } + + if (($namespace != Auth_OpenID_BARE_NS) && + (strpos($namespace, ':') === false)) { + // fmt = 'OpenID 2.0 namespace identifiers SHOULD be URIs. Got %r' + // warnings.warn(fmt % (namespace,), DeprecationWarning) + + if ($namespace == 'sreg') { + // fmt = 'Using %r instead of "sreg" as namespace' + // warnings.warn(fmt % (SREG_URI,), DeprecationWarning,) + return Auth_OpenID_SREG_URI; + } + } + + return $namespace; + } + + function hasKey($namespace, $ns_key) + { + $namespace = $this->_fixNS($namespace); + if (Auth_OpenID::isFailure($namespace)) { + // XXX log me + return false; + } else { + return $this->args->contains(array($namespace, $ns_key)); + } + } + + function getKey($namespace, $ns_key) + { + // Get the key for a particular namespaced argument + $namespace = $this->_fixNS($namespace); + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } + if ($namespace == Auth_OpenID_BARE_NS) { + return $ns_key; + } + + $ns_alias = $this->namespaces->getAlias($namespace); + + // No alias is defined, so no key can exist + if ($ns_alias === null) { + return null; + } + + if ($ns_alias == Auth_OpenID_NULL_NAMESPACE) { + $tail = $ns_key; + } else { + $tail = sprintf('%s.%s', $ns_alias, $ns_key); + } + + return 'openid.' . $tail; + } + + function getArg($namespace, $key, $default = null) + { + // Get a value for a namespaced key. + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + if ((!$this->args->contains(array($namespace, $key))) && + ($default == Auth_OpenID_NO_DEFAULT)) { + $err_msg = sprintf("Namespace %s missing required field %s", + $namespace, $key); + return new Auth_OpenID_FailureResponse(null, $err_msg); + } else { + return $this->args->get(array($namespace, $key), $default); + } + } + } + + function getArgs($namespace) + { + // Get the arguments that are defined for this namespace URI + + $namespace = $this->_fixNS($namespace); + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + $stuff = array(); + foreach ($this->args->items() as $pair) { + list($key, $value) = $pair; + list($pair_ns, $ns_key) = $key; + if ($pair_ns == $namespace) { + $stuff[$ns_key] = $value; + } + } + + return $stuff; + } + } + + function updateArgs($namespace, $updates) + { + // Set multiple key/value pairs in one call + + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + foreach ($updates as $k => $v) { + $this->setArg($namespace, $k, $v); + } + return true; + } + } + + function setArg($namespace, $key, $value) + { + // Set a single argument in this namespace + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + $this->args->set(array($namespace, $key), $value); + if ($namespace !== Auth_OpenID_BARE_NS) { + $this->namespaces->add($namespace); + } + return true; + } + } + + function delArg($namespace, $key) + { + $namespace = $this->_fixNS($namespace); + + if (Auth_OpenID::isFailure($namespace)) { + return $namespace; + } else { + return $this->args->del(array($namespace, $key)); + } + } + + function getAliasedArg($aliased_key, $default = null) + { + if ($aliased_key == 'ns') { + // Return the namespace URI for the OpenID namespace + return $this->getOpenIDNamespace(); + } + + $parts = explode('.', $aliased_key, 2); + + if (count($parts) != 2) { + $ns = null; + } else { + list($alias, $key) = $parts; + + if ($alias == 'ns') { + // Return the namespace URI for a namespace alias + // parameter. + return $this->namespaces->getNamespaceURI($key); + } else { + $ns = $this->namespaces->getNamespaceURI($alias); + } + } + + if ($ns === null) { + $key = $aliased_key; + $ns = $this->getOpenIDNamespace(); + } + + return $this->getArg($ns, $key, $default); + } +} + + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MySQLStore.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MySQLStore.php new file mode 100644 index 0000000..a5299b3 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/MySQLStore.php @@ -0,0 +1,77 @@ +sql['nonce_table'] = + "CREATE TABLE %s (\n". + " server_url VARCHAR(2047) NOT NULL,\n". + " timestamp INTEGER NOT NULL,\n". + " salt CHAR(40) NOT NULL,\n". + " UNIQUE (server_url(255), timestamp, salt)\n". + ") ENGINE=InnoDB"; + + $this->sql['assoc_table'] = + "CREATE TABLE %s (\n". + " server_url VARCHAR(2047) NOT NULL,\n". + " handle VARCHAR(255) NOT NULL,\n". + " secret BLOB NOT NULL,\n". + " issued INTEGER NOT NULL,\n". + " lifetime INTEGER NOT NULL,\n". + " assoc_type VARCHAR(64) NOT NULL,\n". + " PRIMARY KEY (server_url(255), handle)\n". + ") ENGINE=InnoDB"; + + $this->sql['set_assoc'] = + "REPLACE INTO %s (server_url, handle, secret, issued,\n". + " lifetime, assoc_type) VALUES (?, ?, !, ?, ?, ?)"; + + $this->sql['get_assocs'] = + "SELECT handle, secret, issued, lifetime, assoc_type FROM %s ". + "WHERE server_url = ?"; + + $this->sql['get_assoc'] = + "SELECT handle, secret, issued, lifetime, assoc_type FROM %s ". + "WHERE server_url = ? AND handle = ?"; + + $this->sql['remove_assoc'] = + "DELETE FROM %s WHERE server_url = ? AND handle = ?"; + + $this->sql['add_nonce'] = + "INSERT INTO %s (server_url, timestamp, salt) VALUES (?, ?, ?)"; + + $this->sql['clean_nonce'] = + "DELETE FROM %s WHERE timestamp < ?"; + + $this->sql['clean_assoc'] = + "DELETE FROM %s WHERE issued + lifetime < ?"; + } + + /** + * @access private + */ + function blobEncode($blob) + { + return "0x" . bin2hex($blob); + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Nonce.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Nonce.php new file mode 100644 index 0000000..b83c591 --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Nonce.php @@ -0,0 +1,108 @@ +preferred_auth_policies = $preferred_auth_policies; + $this->max_auth_age = $max_auth_age; + } + + /** + * Add an acceptable authentication policy URI to this request + * + * This method is intended to be used by the relying party to add + * acceptable authentication types to the request. + * + * policy_uri: The identifier for the preferred type of + * authentication. + */ + function addPolicyURI($policy_uri) + { + if (!in_array($policy_uri, $this->preferred_auth_policies)) { + $this->preferred_auth_policies[] = $policy_uri; + } + } + + function getExtensionArgs() + { + $ns_args = array( + 'preferred_auth_policies' => + implode(' ', $this->preferred_auth_policies) + ); + + if ($this->max_auth_age !== null) { + $ns_args['max_auth_age'] = strval($this->max_auth_age); + } + + return $ns_args; + } + + /** + * Instantiate a Request object from the arguments in a checkid_* + * OpenID message + */ + static function fromOpenIDRequest($request) + { + $obj = new Auth_OpenID_PAPE_Request(); + $args = $request->message->getArgs(Auth_OpenID_PAPE_NS_URI); + + if ($args === null || $args === array()) { + return null; + } + + $obj->parseExtensionArgs($args); + return $obj; + } + + /** + * Set the state of this request to be that expressed in these + * PAPE arguments + * + * @param args: The PAPE arguments without a namespace + */ + function parseExtensionArgs($args) + { + // preferred_auth_policies is a space-separated list of policy + // URIs + $this->preferred_auth_policies = array(); + + $policies_str = Auth_OpenID::arrayGet($args, 'preferred_auth_policies'); + if ($policies_str) { + foreach (explode(' ', $policies_str) as $uri) { + if (!in_array($uri, $this->preferred_auth_policies)) { + $this->preferred_auth_policies[] = $uri; + } + } + } + + // max_auth_age is base-10 integer number of seconds + $max_auth_age_str = Auth_OpenID::arrayGet($args, 'max_auth_age'); + if ($max_auth_age_str) { + $this->max_auth_age = Auth_OpenID::intval($max_auth_age_str); + } else { + $this->max_auth_age = null; + } + } + + /** + * Given a list of authentication policy URIs that a provider + * supports, this method returns the subsequence of those types + * that are preferred by the relying party. + * + * @param supported_types: A sequence of authentication policy + * type URIs that are supported by a provider + * + * @return array The sub-sequence of the supported types that are + * preferred by the relying party. This list will be ordered in + * the order that the types appear in the supported_types + * sequence, and may be empty if the provider does not prefer any + * of the supported authentication types. + */ + function preferredTypes($supported_types) + { + $result = array(); + + foreach ($supported_types as $st) { + if (in_array($st, $this->preferred_auth_policies)) { + $result[] = $st; + } + } + return $result; + } +} + +/** + * A Provider Authentication Policy response, sent from a provider to + * a relying party + */ +class Auth_OpenID_PAPE_Response extends Auth_OpenID_Extension { + + var $ns_alias = 'pape'; + var $ns_uri = Auth_OpenID_PAPE_NS_URI; + + function Auth_OpenID_PAPE_Response($auth_policies=null, $auth_time=null, + $nist_auth_level=null) + { + if ($auth_policies) { + $this->auth_policies = $auth_policies; + } else { + $this->auth_policies = array(); + } + + $this->auth_time = $auth_time; + $this->nist_auth_level = $nist_auth_level; + } + + /** + * Add a authentication policy to this response + * + * This method is intended to be used by the provider to add a + * policy that the provider conformed to when authenticating the + * user. + * + * @param policy_uri: The identifier for the preferred type of + * authentication. + */ + function addPolicyURI($policy_uri) + { + if (!in_array($policy_uri, $this->auth_policies)) { + $this->auth_policies[] = $policy_uri; + } + } + + /** + * Create an Auth_OpenID_PAPE_Response object from a successful + * OpenID library response. + * + * @param success_response $success_response A SuccessResponse + * from Auth_OpenID_Consumer::complete() + * + * @returns: A provider authentication policy response from the + * data that was supplied with the id_res response. + */ + static function fromSuccessResponse($success_response) + { + $obj = new Auth_OpenID_PAPE_Response(); + + // PAPE requires that the args be signed. + $args = $success_response->getSignedNS(Auth_OpenID_PAPE_NS_URI); + + if ($args === null || $args === array()) { + return null; + } + + $result = $obj->parseExtensionArgs($args); + + if ($result === false) { + return null; + } else { + return $obj; + } + } + + /** + * Parse the provider authentication policy arguments into the + * internal state of this object + * + * @param args: unqualified provider authentication policy + * arguments + * + * @param strict: Whether to return false when bad data is + * encountered + * + * @return null The data is parsed into the internal fields of + * this object. + */ + function parseExtensionArgs($args, $strict=false) + { + $policies_str = Auth_OpenID::arrayGet($args, 'auth_policies'); + if ($policies_str && $policies_str != "none") { + $this->auth_policies = explode(" ", $policies_str); + } + + $nist_level_str = Auth_OpenID::arrayGet($args, 'nist_auth_level'); + if ($nist_level_str !== null) { + $nist_level = Auth_OpenID::intval($nist_level_str); + + if ($nist_level === false) { + if ($strict) { + return false; + } else { + $nist_level = null; + } + } + + if (0 <= $nist_level && $nist_level < 5) { + $this->nist_auth_level = $nist_level; + } else if ($strict) { + return false; + } + } + + $auth_time = Auth_OpenID::arrayGet($args, 'auth_time'); + if ($auth_time !== null) { + if (preg_match(PAPE_TIME_VALIDATOR, $auth_time)) { + $this->auth_time = $auth_time; + } else if ($strict) { + return false; + } + } + } + + function getExtensionArgs() + { + $ns_args = array(); + if (count($this->auth_policies) > 0) { + $ns_args['auth_policies'] = implode(' ', $this->auth_policies); + } else { + $ns_args['auth_policies'] = 'none'; + } + + if ($this->nist_auth_level !== null) { + if (!in_array($this->nist_auth_level, range(0, 4), true)) { + return false; + } + $ns_args['nist_auth_level'] = strval($this->nist_auth_level); + } + + if ($this->auth_time !== null) { + if (!preg_match(PAPE_TIME_VALIDATOR, $this->auth_time)) { + return false; + } + + $ns_args['auth_time'] = $this->auth_time; + } + + return $ns_args; + } +} + diff --git a/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Parse.php b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Parse.php new file mode 100644 index 0000000..0461bdc --- /dev/null +++ b/wp-content/plugins/wordpress-openid-delegation/lib/Auth/OpenID/Parse.php @@ -0,0 +1,381 @@ + tags + * in the head of HTML or XHTML documents and parses out their + * attributes according to the OpenID spec. It is a liberal parser, + * but it requires these things from the data in order to work: + * + * - There must be an open tag + * + * - There must be an open tag inside of the tag + * + * - Only s that are found inside of the tag are parsed + * (this is by design) + * + * - The parser follows the OpenID specification in resolving the + * attributes of the link tags. This means that the attributes DO + * NOT get resolved as they would by an XML or HTML parser. In + * particular, only certain entities get replaced, and href + * attributes do not get resolved relative to a base URL. + * + * From http://openid.net/specs.bml: + * + * - The openid.server URL MUST be an absolute URL. OpenID consumers + * MUST NOT attempt to resolve relative URLs. + * + * - The openid.server URL MUST NOT include entities other than &, + * <, >, and ". + * + * The parser ignores SGML comments and . Both kinds + * of quoting are allowed for attributes. + * + * The parser deals with invalid markup in these ways: + * + * - Tag names are not case-sensitive + * + * - The tag is accepted even when it is not at the top level + * + * - The tag is accepted even when it is not a direct child of + * the tag, but a tag must be an ancestor of the + * tag + * + * - tags are accepted even when they are not direct children + * of the tag, but a tag must be an ancestor of the + * tag + * + * - If there is no closing tag for an open or tag, the + * remainder of the document is viewed as being inside of the + * tag. If there is no closing tag for a tag, the link tag is + * treated as a short tag. Exceptions to this rule are that + * closes and or closes + * + * - Attributes of the tag are not required to be quoted. + * + * - In the case of duplicated attribute names, the attribute coming + * last in the tag will be the value returned. + * + * - Any text that does not parse as an attribute within a link tag + * will be ignored. (e.g. will + * ignore pumpkin) + * + * - If there are more than one or tag, the parser only + * looks inside of the first one. + * + * - The contents of '; + echo ''; + echo ''; + echo 'Redirecting, please wait...'; + echo ''; + echo ''; + } + + die(); + } + + // -------------------------------------------------------------------- + + /** + * Utility function, return the current url. TRUE to get $_SERVER['REQUEST_URI'], FALSE for $_SERVER['PHP_SELF'] + */ + public static function getCurrentUrl( $request_uri = true ) + { + if( + isset( $_SERVER['HTTPS'] ) && ( $_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1 ) + || isset( $_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' + ){ + $protocol = 'https://'; + } + else { + $protocol = 'http://'; + } + + $url = $protocol . $_SERVER['HTTP_HOST']; + + // use port if non default + if( isset( $_SERVER['SERVER_PORT'] ) && strpos( $url, ':'.$_SERVER['SERVER_PORT'] ) === FALSE ) { + $url .= ($protocol === 'http://' && $_SERVER['SERVER_PORT'] != 80 && !isset( $_SERVER['HTTP_X_FORWARDED_PROTO'])) + || ($protocol === 'https://' && $_SERVER['SERVER_PORT'] != 443 && !isset( $_SERVER['HTTP_X_FORWARDED_PROTO'])) + ? ':' . $_SERVER['SERVER_PORT'] + : ''; + } + + if( $request_uri ){ + $url .= $_SERVER['REQUEST_URI']; + } + else{ + $url .= $_SERVER['PHP_SELF']; + } + + // return current url + return $url; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Endpoint.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Endpoint.php new file mode 100644 index 0000000..d27c06a --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Endpoint.php @@ -0,0 +1,217 @@ +here we need to recreate the $_REQUEST + if ( strrpos( $_SERVER["QUERY_STRING"], '?' ) ) { + $_SERVER["QUERY_STRING"] = str_replace( "?", "&", $_SERVER["QUERY_STRING"] ); + + parse_str( $_SERVER["QUERY_STRING"], $_REQUEST ); + } + + Hybrid_Endpoint::$request = $_REQUEST; + } + + // If openid_policy requested, we return our policy document + if ( isset( Hybrid_Endpoint::$request["get"] ) && Hybrid_Endpoint::$request["get"] == "openid_policy" ) { + Hybrid_Endpoint::processOpenidPolicy(); + } + + // If openid_xrds requested, we return our XRDS document + if ( isset( Hybrid_Endpoint::$request["get"] ) && Hybrid_Endpoint::$request["get"] == "openid_xrds" ) { + Hybrid_Endpoint::processOpenidXRDS(); + } + + // If we get a hauth.start + if ( isset( Hybrid_Endpoint::$request["hauth_start"] ) && Hybrid_Endpoint::$request["hauth_start"] ) { + Hybrid_Endpoint::processAuthStart(); + } + // Else if hauth.done + elseif ( isset( Hybrid_Endpoint::$request["hauth_done"] ) && Hybrid_Endpoint::$request["hauth_done"] ) { + Hybrid_Endpoint::processAuthDone(); + } + // Else we advertise our XRDS document, something supposed to be done from the Realm URL page + else { + Hybrid_Endpoint::processOpenidRealm(); + } + } + + /** + * Process OpenID policy request + */ + public static function processOpenidPolicy() + { + $output = file_get_contents( dirname(__FILE__) . "/resources/openid_policy.html" ); + print $output; + die(); + } + + /** + * Process OpenID XRDS request + */ + public static function processOpenidXRDS() + { + header("Content-Type: application/xrds+xml"); + + $output = str_replace + ( + "{RETURN_TO_URL}", + str_replace( + array("<", ">", "\"", "'", "&"), array("<", ">", """, "'", "&"), + Hybrid_Auth::getCurrentUrl( false ) + ), + file_get_contents( dirname(__FILE__) . "/resources/openid_xrds.xml" ) + ); + print $output; + die(); + } + + /** + * Process OpenID realm request + */ + public static function processOpenidRealm() + { + $output = str_replace + ( + "{X_XRDS_LOCATION}", + htmlentities( Hybrid_Auth::getCurrentUrl( false ), ENT_QUOTES, 'UTF-8' ) . "?get=openid_xrds&v=" . Hybrid_Auth::$version, + file_get_contents( dirname(__FILE__) . "/resources/openid_realm.html" ) + ); + print $output; + die(); + } + + /** + * define:endpoint step 3. + */ + public static function processAuthStart() + { + Hybrid_Endpoint::authInit(); + + $provider_id = trim( strip_tags( Hybrid_Endpoint::$request["hauth_start"] ) ); + + # check if page accessed directly + if( ! Hybrid_Auth::storage()->get( "hauth_session.$provider_id.hauth_endpoint" ) ) { + Hybrid_Logger::error( "Endpoint: hauth_endpoint parameter is not defined on hauth_start, halt login process!" ); + + header( "HTTP/1.0 404 Not Found" ); + die( "You cannot access this page directly." ); + } + + # define:hybrid.endpoint.php step 2. + $hauth = Hybrid_Auth::setup( $provider_id ); + + # if REQUESTed hauth_idprovider is wrong, session not created, etc. + if( ! $hauth ) { + Hybrid_Logger::error( "Endpoint: Invalid parameter on hauth_start!" ); + + header( "HTTP/1.0 404 Not Found" ); + die( "Invalid parameter! Please return to the login page and try again." ); + } + + try { + Hybrid_Logger::info( "Endpoint: call adapter [{$provider_id}] loginBegin()" ); + + $hauth->adapter->loginBegin(); + } + catch ( Exception $e ) { + Hybrid_Logger::error( "Exception:" . $e->getMessage(), $e ); + Hybrid_Error::setError( $e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e ); + + $hauth->returnToCallbackUrl(); + } + + die(); + } + + /** + * define:endpoint step 3.1 and 3.2 + */ + public static function processAuthDone() + { + Hybrid_Endpoint::authInit(); + + $provider_id = trim( strip_tags( Hybrid_Endpoint::$request["hauth_done"] ) ); + + $hauth = Hybrid_Auth::setup( $provider_id ); + + if( ! $hauth ) { + Hybrid_Logger::error( "Endpoint: Invalid parameter on hauth_done!" ); + + $hauth->adapter->setUserUnconnected(); + + header("HTTP/1.0 404 Not Found"); + die( "Invalid parameter! Please return to the login page and try again." ); + } + + try { + Hybrid_Logger::info( "Endpoint: call adapter [{$provider_id}] loginFinish() " ); + + $hauth->adapter->loginFinish(); + } + catch( Exception $e ){ + Hybrid_Logger::error( "Exception:" . $e->getMessage(), $e ); + Hybrid_Error::setError( $e->getMessage(), $e->getCode(), $e->getTraceAsString(), $e ); + + $hauth->adapter->setUserUnconnected(); + } + + Hybrid_Logger::info( "Endpoint: job done. retrun to callback url." ); + + $hauth->returnToCallbackUrl(); + die(); + } + + public static function authInit() + { + if ( ! Hybrid_Endpoint::$initDone) { + Hybrid_Endpoint::$initDone = TRUE; + + # Init Hybrid_Auth + try { + require_once realpath( dirname( __FILE__ ) ) . "/Storage.php"; + + $storage = new Hybrid_Storage(); + + // Check if Hybrid_Auth session already exist + if ( ! $storage->config( "CONFIG" ) ) { + header( "HTTP/1.0 404 Not Found" ); + die( "You cannot access this page directly." ); + } + + Hybrid_Auth::initialize( $storage->config( "CONFIG" ) ); + } + catch ( Exception $e ){ + Hybrid_Logger::error( "Endpoint: Error while trying to init Hybrid_Auth" ); + + header( "HTTP/1.0 404 Not Found" ); + die( "Oophs. Error!" ); + } + } + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Error.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Error.php new file mode 100644 index 0000000..571dfce --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Error.php @@ -0,0 +1,84 @@ +set( "hauth_session.error.status" , 1 ); + Hybrid_Auth::storage()->set( "hauth_session.error.message" , $message ); + Hybrid_Auth::storage()->set( "hauth_session.error.code" , $code ); + Hybrid_Auth::storage()->set( "hauth_session.error.trace" , $trace ); + Hybrid_Auth::storage()->set( "hauth_session.error.previous", $previous ); + } + + /** + * clear the last error + */ + public static function clearError() + { + Hybrid_Logger::info( "Enter Hybrid_Error::clearError()" ); + + Hybrid_Auth::storage()->delete( "hauth_session.error.status" ); + Hybrid_Auth::storage()->delete( "hauth_session.error.message" ); + Hybrid_Auth::storage()->delete( "hauth_session.error.code" ); + Hybrid_Auth::storage()->delete( "hauth_session.error.trace" ); + Hybrid_Auth::storage()->delete( "hauth_session.error.previous" ); + } + + /** + * Checks to see if there is a an error. + * + * @return boolean True if there is an error. + */ + public static function hasError() + { + return (bool) Hybrid_Auth::storage()->get( "hauth_session.error.status" ); + } + + /** + * return error message + */ + public static function getErrorMessage() + { + return Hybrid_Auth::storage()->get( "hauth_session.error.message" ); + } + + /** + * return error code + */ + public static function getErrorCode() + { + return Hybrid_Auth::storage()->get( "hauth_session.error.code" ); + } + + /** + * return string detailled error backtrace as string. + */ + public static function getErrorTrace() + { + return Hybrid_Auth::storage()->get( "hauth_session.error.trace" ); + } + + /** + * @return string detailled error backtrace as string. + */ + public static function getErrorPrevious() + { + return Hybrid_Auth::storage()->get( "hauth_session.error.previous" ); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Logger.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Logger.php new file mode 100644 index 0000000..bdc95ca --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Logger.php @@ -0,0 +1,68 @@ +format(DATE_ATOM); + + file_put_contents( + Hybrid_Auth::$config["debug_file"], + "DEBUG -- " . $_SERVER['REMOTE_ADDR'] . " -- " . $datetime . " -- " . $message . " -- " . print_r($object, true) . "\n", + FILE_APPEND + ); + } + } + + public static function info( $message ) + { + if( Hybrid_Auth::$config["debug_mode"] ){ + $datetime = new DateTime(); + $datetime = $datetime->format(DATE_ATOM); + + file_put_contents( + Hybrid_Auth::$config["debug_file"], + "INFO -- " . $_SERVER['REMOTE_ADDR'] . " -- " . $datetime . " -- " . $message . "\n", + FILE_APPEND + ); + } + } + + public static function error($message, $object = NULL) + { + if( Hybrid_Auth::$config["debug_mode"] ){ + $datetime = new DateTime(); + $datetime = $datetime->format(DATE_ATOM); + + file_put_contents( + Hybrid_Auth::$config["debug_file"], + "ERROR -- " . $_SERVER['REMOTE_ADDR'] . " -- " . $datetime . " -- " . $message . " -- " . print_r($object, true) . "\n", + FILE_APPEND + ); + } + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Adapter.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Adapter.php new file mode 100644 index 0000000..e39dce2 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Adapter.php @@ -0,0 +1,283 @@ +id = $id; + $this->params = $params; + $this->id = $this->getProviderCiId( $this->id ); + $this->config = $this->getConfigById( $this->id ); + + # check the IDp id + if( ! $this->id ){ + throw new Exception( "No provider ID specified.", 2 ); + } + + # check the IDp config + if( ! $this->config ){ + throw new Exception( "Unknown Provider ID, check your configuration file.", 3 ); + } + + # check the IDp adapter is enabled + if( ! $this->config["enabled"] ){ + throw new Exception( "The provider '{$this->id}' is not enabled.", 3 ); + } + + # include the adapter wrapper + if( isset( $this->config["wrapper"] ) && is_array( $this->config["wrapper"] ) ){ + require_once $this->config["wrapper"]["path"]; + + if( ! class_exists( $this->config["wrapper"]["class"] ) ){ + throw new Exception( "Unable to load the adapter class.", 3 ); + } + + $this->wrapper = $this->config["wrapper"]["class"]; + } + else{ + require_once Hybrid_Auth::$config["path_providers"] . $this->id . ".php" ; + + $this->wrapper = "Hybrid_Providers_" . $this->id; + } + + # create the adapter instance, and pass the current params and config + $this->adapter = new $this->wrapper( $this->id, $this->config, $this->params ); + + return $this; + } + + // -------------------------------------------------------------------- + + /** + * Hybrid_Provider_Adapter::login(), prepare the user session and the authentication request + * for index.php + */ + function login() + { + Hybrid_Logger::info( "Enter Hybrid_Provider_Adapter::login( {$this->id} ) " ); + + if( ! $this->adapter ){ + throw new Exception( "Hybrid_Provider_Adapter::login() should not directly used." ); + } + + // clear all unneeded params + foreach( Hybrid_Auth::$config["providers"] as $idpid => $params ){ + Hybrid_Auth::storage()->delete( "hauth_session.{$idpid}.hauth_return_to" ); + Hybrid_Auth::storage()->delete( "hauth_session.{$idpid}.hauth_endpoint" ); + Hybrid_Auth::storage()->delete( "hauth_session.{$idpid}.id_provider_params" ); + } + + // make a fresh start + $this->logout(); + + # get hybridauth base url + $HYBRID_AUTH_URL_BASE = Hybrid_Auth::$config["base_url"]; + + # we make use of session_id() as storage hash to identify the current user + # using session_regenerate_id() will be a problem, but .. + $this->params["hauth_token"] = session_id(); + + # set request timestamp + $this->params["hauth_time"] = time(); + + # for default HybridAuth endpoint url hauth_login_start_url + # auth.start required the IDp ID + # auth.time optional login request timestamp + $this->params["login_start"] = $HYBRID_AUTH_URL_BASE . ( strpos( $HYBRID_AUTH_URL_BASE, '?' ) ? '&' : '?' ) . "hauth.start={$this->id}&hauth.time={$this->params["hauth_time"]}"; + + # for default HybridAuth endpoint url hauth_login_done_url + # auth.done required the IDp ID + $this->params["login_done"] = $HYBRID_AUTH_URL_BASE . ( strpos( $HYBRID_AUTH_URL_BASE, '?' ) ? '&' : '?' ) . "hauth.done={$this->id}"; + + Hybrid_Auth::storage()->set( "hauth_session.{$this->id}.hauth_return_to" , $this->params["hauth_return_to"] ); + Hybrid_Auth::storage()->set( "hauth_session.{$this->id}.hauth_endpoint" , $this->params["login_done"] ); + Hybrid_Auth::storage()->set( "hauth_session.{$this->id}.id_provider_params" , $this->params ); + + // store config to be used by the end point + Hybrid_Auth::storage()->config( "CONFIG", Hybrid_Auth::$config ); + + // move on + Hybrid_Logger::debug( "Hybrid_Provider_Adapter::login( {$this->id} ), redirect the user to login_start URL." ); + + Hybrid_Auth::redirect( $this->params["login_start"] ); + } + + // -------------------------------------------------------------------- + + /** + * let hybridauth forget all about the user for the current provider + */ + function logout() + { + $this->adapter->logout(); + } + + // -------------------------------------------------------------------- + + /** + * return true if the user is connected to the current provider + */ + public function isUserConnected() + { + return $this->adapter->isUserConnected(); + } + + // -------------------------------------------------------------------- + + /** + * handle : + * getUserProfile() + * getUserContacts() + * getUserActivity() + * setUserStatus() + */ + public function __call( $name, $arguments ) + { + Hybrid_Logger::info( "Enter Hybrid_Provider_Adapter::$name(), Provider: {$this->id}" ); + + if ( ! $this->isUserConnected() ){ + throw new Exception( "User not connected to the provider {$this->id}.", 7 ); + } + + if ( ! method_exists( $this->adapter, $name ) ){ + throw new Exception( "Call to undefined function Hybrid_Providers_{$this->id}::$name()." ); + } + + if( count( $arguments ) ){ + return $this->adapter->$name( $arguments[0] ); + } + else{ + return $this->adapter->$name(); + } + } + + // -------------------------------------------------------------------- + + /** + * If the user is connected, then return the access_token and access_token_secret + * if the provider api use oauth + */ + public function getAccessToken() + { + if( ! $this->adapter->isUserConnected() ){ + Hybrid_Logger::error( "User not connected to the provider." ); + + throw new Exception( "User not connected to the provider.", 7 ); + } + + return + ARRAY( + "access_token" => $this->adapter->token( "access_token" ) , // OAuth access token + "access_token_secret" => $this->adapter->token( "access_token_secret" ), // OAuth access token secret + "refresh_token" => $this->adapter->token( "refresh_token" ) , // OAuth refresh token + "expires_in" => $this->adapter->token( "expires_in" ) , // OPTIONAL. The duration in seconds of the access token lifetime + "expires_at" => $this->adapter->token( "expires_at" ) , // OPTIONAL. Timestamp when the access_token expire. if not provided by the social api, then it should be calculated: expires_at = now + expires_in + ); + } + + // -------------------------------------------------------------------- + + /** + * Naive getter of the current connected IDp API client + */ + function api() + { + if( ! $this->adapter->isUserConnected() ){ + Hybrid_Logger::error( "User not connected to the provider." ); + + throw new Exception( "User not connected to the provider.", 7 ); + } + + return $this->adapter->api; + } + + // -------------------------------------------------------------------- + + /** + * redirect the user to hauth_return_to (the callback url) + */ + function returnToCallbackUrl() + { + // get the stored callback url + $callback_url = Hybrid_Auth::storage()->get( "hauth_session.{$this->id}.hauth_return_to" ); + + // remove some unneed'd stored data + Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.hauth_return_to" ); + Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.hauth_endpoint" ); + Hybrid_Auth::storage()->delete( "hauth_session.{$this->id}.id_provider_params" ); + + // back to home + Hybrid_Auth::redirect( $callback_url ); + } + + // -------------------------------------------------------------------- + + /** + * return the provider config by id + */ + function getConfigById( $id ) + { + if( isset( Hybrid_Auth::$config["providers"][$id] ) ){ + return Hybrid_Auth::$config["providers"][$id]; + } + + return NULL; + } + + // -------------------------------------------------------------------- + + /** + * return the provider config by id; insensitive + */ + function getProviderCiId( $id ) + { + foreach( Hybrid_Auth::$config["providers"] as $idpid => $params ){ + if( strtolower( $idpid ) == strtolower( $id ) ){ + return $idpid; + } + } + + return NULL; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model.php new file mode 100644 index 0000000..276b5cf --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model.php @@ -0,0 +1,231 @@ +params = Hybrid_Auth::storage()->get( "hauth_session.$providerId.id_provider_params" ); + } + else{ + $this->params = $params; + } + + // idp id + $this->providerId = $providerId; + + // set HybridAuth endpoint for this provider + $this->endpoint = Hybrid_Auth::storage()->get( "hauth_session.$providerId.hauth_endpoint" ); + + // idp config + $this->config = $config; + + // new user instance + $this->user = new Hybrid_User(); + $this->user->providerId = $providerId; + + // initialize the current provider adapter + $this->initialize(); + + Hybrid_Logger::debug( "Hybrid_Provider_Model::__construct( $providerId ) initialized. dump current adapter instance: ", serialize( $this ) ); + } + + // -------------------------------------------------------------------- + + /** + * IDp wrappers initializer + * + * The main job of wrappers initializer is to performs (depend on the IDp api client it self): + * - include some libs nedded by this provider, + * - check IDp key and secret, + * - set some needed parameters (stored in $this->params) by this IDp api client + * - create and setup an instance of the IDp api client on $this->api + */ + abstract protected function initialize(); + + // -------------------------------------------------------------------- + + /** + * begin login + */ + abstract protected function loginBegin(); + + // -------------------------------------------------------------------- + + /** + * finish login + */ + abstract protected function loginFinish(); + + // -------------------------------------------------------------------- + + /** + * generic logout, just erase current provider adapter stored data to let Hybrid_Auth all forget about it + */ + function logout() + { + Hybrid_Logger::info( "Enter [{$this->providerId}]::logout()" ); + + $this->clearTokens(); + + return TRUE; + } + + // -------------------------------------------------------------------- + + /** + * grab the user profile from the IDp api client + */ + function getUserProfile() + { + Hybrid_Logger::error( "HybridAuth do not provide users contats list for {$this->providerId} yet." ); + + throw new Exception( "Provider does not support this feature.", 8 ); + } + + // -------------------------------------------------------------------- + + /** + * load the current logged in user contacts list from the IDp api client + */ + function getUserContacts() + { + Hybrid_Logger::error( "HybridAuth do not provide users contats list for {$this->providerId} yet." ); + + throw new Exception( "Provider does not support this feature.", 8 ); + } + + // -------------------------------------------------------------------- + + /** + * return the user activity stream + */ + function getUserActivity( $stream ) + { + Hybrid_Logger::error( "HybridAuth do not provide user's activity stream for {$this->providerId} yet." ); + + throw new Exception( "Provider does not support this feature.", 8 ); + } + + // -------------------------------------------------------------------- + + /** + * return the user activity stream + */ + function setUserStatus( $status ) + { + Hybrid_Logger::error( "HybridAuth do not provide user's activity stream for {$this->providerId} yet." ); + + throw new Exception( "Provider does not support this feature.", 8 ); + } + + // -------------------------------------------------------------------- + + /** + * return true if the user is connected to the current provider + */ + public function isUserConnected() + { + return (bool) Hybrid_Auth::storage()->get( "hauth_session.{$this->providerId}.is_logged_in" ); + } + + // -------------------------------------------------------------------- + + /** + * set user to connected + */ + public function setUserConnected() + { + Hybrid_Logger::info( "Enter [{$this->providerId}]::setUserConnected()" ); + + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.is_logged_in", 1 ); + } + + // -------------------------------------------------------------------- + + /** + * set user to unconnected + */ + public function setUserUnconnected() + { + Hybrid_Logger::info( "Enter [{$this->providerId}]::setUserUnconnected()" ); + + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.is_logged_in", 0 ); + } + + // -------------------------------------------------------------------- + + /** + * get or set a token + */ + public function token( $token, $value = NULL ) + { + if( $value === NULL ){ + return Hybrid_Auth::storage()->get( "hauth_session.{$this->providerId}.token.$token" ); + } + else{ + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.token.$token", $value ); + } + } + + // -------------------------------------------------------------------- + + /** + * delete a stored token + */ + public function deleteToken( $token ) + { + Hybrid_Auth::storage()->delete( "hauth_session.{$this->providerId}.token.$token" ); + } + + // -------------------------------------------------------------------- + + /** + * clear all existen tokens for this provider + */ + public function clearTokens() + { + Hybrid_Auth::storage()->deleteMatch( "hauth_session.{$this->providerId}." ); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OAuth1.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OAuth1.php new file mode 100644 index 0000000..e77d2e4 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OAuth1.php @@ -0,0 +1,161 @@ + "OK: Success!", + 304 => "Not Modified: There was no new data to return.", + 400 => "Bad Request: The request was invalid.", + 401 => "Unauthorized.", + 403 => "Forbidden: The request is understood, but it has been refused.", + 404 => "Not Found: The URI requested is invalid or the resource requested does not exists.", + 406 => "Not Acceptable.", + 500 => "Internal Server Error: Something is broken.", + 502 => "Bad Gateway.", + 503 => "Service Unavailable." + ); + + if( ! $code && $this->api ) + $code = $this->api->http_code; + + if( isset( $http_status_codes[ $code ] ) ) + return $code . " " . $http_status_codes[ $code ]; + } + + // -------------------------------------------------------------------- + + /** + * adapter initializer + */ + function initialize() + { + // 1 - check application credentials + if ( ! $this->config["keys"]["key"] || ! $this->config["keys"]["secret"] ){ + throw new Exception( "Your application key and secret are required in order to connect to {$this->providerId}.", 4 ); + } + + // 2 - include OAuth lib and client + require_once Hybrid_Auth::$config["path_libraries"] . "OAuth/OAuth.php"; + require_once Hybrid_Auth::$config["path_libraries"] . "OAuth/OAuth1Client.php"; + + // 3.1 - setup access_token if any stored + if( $this->token( "access_token" ) ){ + $this->api = new OAuth1Client( + $this->config["keys"]["key"], $this->config["keys"]["secret"], + $this->token( "access_token" ), $this->token( "access_token_secret" ) + ); + } + + // 3.2 - setup request_token if any stored, in order to exchange with an access token + elseif( $this->token( "request_token" ) ){ + $this->api = new OAuth1Client( + $this->config["keys"]["key"], $this->config["keys"]["secret"], + $this->token( "request_token" ), $this->token( "request_token_secret" ) + ); + } + + // 3.3 - instanciate OAuth client with client credentials + else{ + $this->api = new OAuth1Client( $this->config["keys"]["key"], $this->config["keys"]["secret"] ); + } + + // Set curl proxy if exist + if( isset( Hybrid_Auth::$config["proxy"] ) ){ + $this->api->curl_proxy = Hybrid_Auth::$config["proxy"]; + } + } + + // -------------------------------------------------------------------- + + /** + * begin login step + */ + function loginBegin() + { + $tokens = $this->api->requestToken( $this->endpoint ); + + // request tokens as recived from provider + $this->request_tokens_raw = $tokens; + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 5 ); + } + + if ( ! isset( $tokens["oauth_token"] ) ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid oauth token.", 5 ); + } + + $this->token( "request_token" , $tokens["oauth_token"] ); + $this->token( "request_token_secret", $tokens["oauth_token_secret"] ); + + # redirect the user to the provider authentication url + Hybrid_Auth::redirect( $this->api->authorizeUrl( $tokens ) ); + } + + // -------------------------------------------------------------------- + + /** + * finish login step + */ + function loginFinish() + { + $oauth_token = (array_key_exists('oauth_token',$_REQUEST))?$_REQUEST['oauth_token']:""; + $oauth_verifier = (array_key_exists('oauth_verifier',$_REQUEST))?$_REQUEST['oauth_verifier']:""; + + if ( ! $oauth_token || ! $oauth_verifier ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid oauth verifier.", 5 ); + } + + // request an access token + $tokens = $this->api->accessToken( $oauth_verifier ); + + // access tokens as recived from provider + $this->access_tokens_raw = $tokens; + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 5 ); + } + + // we should have an access_token, or else, something has gone wrong + if ( ! isset( $tokens["oauth_token"] ) ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 ); + } + + // we no more need to store requet tokens + $this->deleteToken( "request_token" ); + $this->deleteToken( "request_token_secret" ); + + // sotre access_token for later user + $this->token( "access_token" , $tokens['oauth_token'] ); + $this->token( "access_token_secret" , $tokens['oauth_token_secret'] ); + + // set user as logged in to the current provider + $this->setUserConnected(); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OAuth2.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OAuth2.php new file mode 100644 index 0000000..eec4c20 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OAuth2.php @@ -0,0 +1,176 @@ + "OK: Success!", + 304 => "Not Modified: There was no new data to return.", + 400 => "Bad Request: The request was invalid.", + 401 => "Unauthorized.", + 403 => "Forbidden: The request is understood, but it has been refused.", + 404 => "Not Found: The URI requested is invalid or the resource requested does not exists.", + 406 => "Not Acceptable.", + 500 => "Internal Server Error: Something is broken.", + 502 => "Bad Gateway.", + 503 => "Service Unavailable." + ); + + if( ! $code && $this->api ) + $code = $this->api->http_code; + + if( isset( $http_status_codes[ $code ] ) ) + return $code . " " . $http_status_codes[ $code ]; + } + + // -------------------------------------------------------------------- + + /** + * adapter initializer + */ + function initialize() + { + if ( ! $this->config["keys"]["id"] || ! $this->config["keys"]["secret"] ){ + throw new Exception( "Your application id and secret are required in order to connect to {$this->providerId}.", 4 ); + } + + // override requested scope + if( isset( $this->config["scope"] ) && ! empty( $this->config["scope"] ) ){ + $this->scope = $this->config["scope"]; + } + + // include OAuth2 client + require_once Hybrid_Auth::$config["path_libraries"] . "OAuth/OAuth2Client.php"; + + // create a new OAuth2 client instance + $this->api = new OAuth2Client( $this->config["keys"]["id"], $this->config["keys"]["secret"], $this->endpoint ); + + // If we have an access token, set it + if( $this->token( "access_token" ) ){ + $this->api->access_token = $this->token( "access_token" ); + $this->api->refresh_token = $this->token( "refresh_token" ); + $this->api->access_token_expires_in = $this->token( "expires_in" ); + $this->api->access_token_expires_at = $this->token( "expires_at" ); + } + + // Set curl proxy if exist + if( isset( Hybrid_Auth::$config["proxy"] ) ){ + $this->api->curl_proxy = Hybrid_Auth::$config["proxy"]; + } + } + + // -------------------------------------------------------------------- + + /** + * begin login step + */ + function loginBegin() + { + // redirect the user to the provider authentication url + Hybrid_Auth::redirect( $this->api->authorizeUrl( array( "scope" => $this->scope ) ) ); + } + + // -------------------------------------------------------------------- + + /** + * finish login step + */ + function loginFinish() + { + $error = (array_key_exists('error',$_REQUEST))?$_REQUEST['error']:""; + + // check for errors + if ( $error ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an error: $error", 5 ); + } + + // try to authenicate user + $code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:""; + + try{ + $this->api->authenticate( $code ); + } + catch( Exception $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 ); + } + + // check if authenticated + if ( ! $this->api->access_token ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid access token.", 5 ); + } + + // store tokens + $this->token( "access_token" , $this->api->access_token ); + $this->token( "refresh_token", $this->api->refresh_token ); + $this->token( "expires_in" , $this->api->access_token_expires_in ); + $this->token( "expires_at" , $this->api->access_token_expires_at ); + + // set user connected locally + $this->setUserConnected(); + } + + function refreshToken() + { + // have an access token? + if( $this->api->access_token ){ + + // have to refresh? + if( $this->api->refresh_token && $this->api->access_token_expires_at ){ + + // expired? + if( $this->api->access_token_expires_at <= time() ){ + $response = $this->api->refreshToken( array( "refresh_token" => $this->api->refresh_token ) ); + + if( ! isset( $response->access_token ) || ! $response->access_token ){ + // set the user as disconnected at this point and throw an exception + $this->setUserUnconnected(); + + throw new Exception( "The Authorization Service has return an invalid response while requesting a new access token. " . (string) $response->error ); + } + + // set new access_token + $this->api->access_token = $response->access_token; + + if( isset( $response->refresh_token ) ) + $this->api->refresh_token = $response->refresh_token; + + if( isset( $response->expires_in ) ){ + $this->api->access_token_expires_in = $response->expires_in; + + // even given by some idp, we should calculate this + $this->api->access_token_expires_at = time() + $response->expires_in; + } + } + } + + // re store tokens + $this->token( "access_token" , $this->api->access_token ); + $this->token( "refresh_token", $this->api->refresh_token ); + $this->token( "expires_in" , $this->api->access_token_expires_in ); + $this->token( "expires_at" , $this->api->access_token_expires_at ); + } + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OpenID.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OpenID.php new file mode 100644 index 0000000..cb79fd8 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Provider_Model_OpenID.php @@ -0,0 +1,172 @@ +public $openidIdentifier = ""; + * + * Hybrid_Provider_Model_OpenID use LightOpenID lib which can be found on + * Hybrid/thirdparty/OpenID/LightOpenID.php + */ +class Hybrid_Provider_Model_OpenID extends Hybrid_Provider_Model +{ + /* Openid provider identifier */ + public $openidIdentifier = ""; + + // -------------------------------------------------------------------- + + /** + * adapter initializer + */ + function initialize() + { + if( isset( $this->params["openid_identifier"] ) ){ + $this->openidIdentifier = $this->params["openid_identifier"]; + } + + // include LightOpenID lib + require_once Hybrid_Auth::$config["path_libraries"] . "OpenID/LightOpenID.php"; + + // An error was occurring when proxy wasn't set. Not sure where proxy was meant to be set/initialized. + Hybrid_Auth::$config['proxy'] = isset(Hybrid_Auth::$config['proxy'])?Hybrid_Auth::$config['proxy']:''; + + $this->api = new LightOpenID( parse_url( Hybrid_Auth::$config["base_url"], PHP_URL_HOST), Hybrid_Auth::$config["proxy"] ); + } + + // -------------------------------------------------------------------- + + /** + * begin login step + */ + function loginBegin() + { + if( empty( $this->openidIdentifier ) ){ + throw new Exception( "OpenID adapter require the identity provider identifier 'openid_identifier' as an extra parameter.", 4 ); + } + + $this->api->identity = $this->openidIdentifier; + $this->api->returnUrl = $this->endpoint; + $this->api->required = ARRAY( + 'namePerson/first' , + 'namePerson/last' , + 'namePerson/friendly' , + 'namePerson' , + + 'contact/email' , + + 'birthDate' , + 'birthDate/birthDay' , + 'birthDate/birthMonth' , + 'birthDate/birthYear' , + + 'person/gender' , + 'pref/language' , + + 'contact/postalCode/home', + 'contact/city/home' , + 'contact/country/home' , + + 'media/image/default' , + ); + + # redirect the user to the provider authentication url + Hybrid_Auth::redirect( $this->api->authUrl() ); + } + + // -------------------------------------------------------------------- + + /** + * finish login step + */ + function loginFinish() + { + # if user don't garant acess of their data to your site, halt with an Exception + if( $this->api->mode == 'cancel'){ + throw new Exception( "Authentication failed! User has canceled authentication!", 5 ); + } + + # if something goes wrong + if( ! $this->api->validate() ){ + throw new Exception( "Authentication failed. Invalid request recived!", 5 ); + } + + # fetch recived user data + $response = $this->api->getAttributes(); + + # sotre the user profile + $this->user->profile->identifier = $this->api->identity; + + $this->user->profile->firstName = (array_key_exists("namePerson/first",$response))?$response["namePerson/first"]:""; + $this->user->profile->lastName = (array_key_exists("namePerson/last",$response))?$response["namePerson/last"]:""; + $this->user->profile->displayName = (array_key_exists("namePerson",$response))?$response["namePerson"]:""; + $this->user->profile->email = (array_key_exists("contact/email",$response))?$response["contact/email"]:""; + $this->user->profile->language = (array_key_exists("pref/language",$response))?$response["pref/language"]:""; + $this->user->profile->country = (array_key_exists("contact/country/home",$response))?$response["contact/country/home"]:""; + $this->user->profile->zip = (array_key_exists("contact/postalCode/home",$response))?$response["contact/postalCode/home"]:""; + $this->user->profile->gender = (array_key_exists("person/gender",$response))?$response["person/gender"]:""; + $this->user->profile->photoURL = (array_key_exists("media/image/default",$response))?$response["media/image/default"]:""; + + $this->user->profile->birthDay = (array_key_exists("birthDate/birthDay",$response))?$response["birthDate/birthDay"]:""; + $this->user->profile->birthMonth = (array_key_exists("birthDate/birthMonth",$response))?$response["birthDate/birthMonth"]:""; + $this->user->profile->birthYear = (array_key_exists("birthDate/birthDate",$response))?$response["birthDate/birthDate"]:""; + + if( ! $this->user->profile->displayName ) { + $this->user->profile->displayName = trim( $this->user->profile->lastName . " " . $this->user->profile->firstName ); + } + + if( isset( $response['namePerson/friendly'] ) && ! empty( $response['namePerson/friendly'] ) && ! $this->user->profile->displayName ) { + $this->user->profile->displayName = (array_key_exists("namePerson/friendly",$response))?$response["namePerson/friendly"]:"" ; + } + + if( isset( $response['birthDate'] ) && ! empty( $response['birthDate'] ) && ! $this->user->profile->birthDay ) { + list( $birthday_year, $birthday_month, $birthday_day ) = (array_key_exists('birthDate',$response))?$response['birthDate']:""; + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + if( ! $this->user->profile->displayName ){ + $this->user->profile->displayName = trim( $this->user->profile->firstName . " " . $this->user->profile->lastName ); + } + + if( $this->user->profile->gender == "f" ){ + $this->user->profile->gender = "female"; + } + + if( $this->user->profile->gender == "m" ){ + $this->user->profile->gender = "male"; + } + + // set user as logged in + $this->setUserConnected(); + + // with openid providers we get the user profile only once, so store it + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user ); + } + + // -------------------------------------------------------------------- + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + // try to get the user profile from stored data + $this->user = Hybrid_Auth::storage()->get( "hauth_session.{$this->providerId}.user" ) ; + + // if not found + if ( ! is_object( $this->user ) ){ + throw new Exception( "User profile request failed! User is not connected to {$this->providerId} or his session has expired.", 6 ); + } + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/AOL.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/AOL.php new file mode 100644 index 0000000..f8e7d70 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/AOL.php @@ -0,0 +1,16 @@ +config["keys"]["id"] || ! $this->config["keys"]["secret"] ){ + throw new Exception( "Your application id and secret are required in order to connect to {$this->providerId}.", 4 ); + } + + if ( ! class_exists('FacebookApiException', false) ) { + require_once Hybrid_Auth::$config["path_libraries"] . "Facebook/base_facebook.php"; + require_once Hybrid_Auth::$config["path_libraries"] . "Facebook/facebook.php"; + } + + BaseFacebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false; + + $this->api = new Facebook( ARRAY( 'appId' => $this->config["keys"]["id"], 'secret' => $this->config["keys"]["secret"] ) ); + + if ( $this->token("access_token") ) { + $this->api->setAccessToken( $this->token("access_token") ); + $this->api->setExtendedAccessToken(); + $access_token = $this->api->getAccessToken(); + + if( $access_token ){ + $this->token("access_token", $access_token ); + $this->api->setAccessToken( $access_token ); + } + + $this->api->setAccessToken( $this->token("access_token") ); + } + + $this->api->getUser(); + } + + /** + * begin login step + * + * simply call Facebook::require_login(). + */ + function loginBegin() + { + $parameters = array("scope" => $this->scope, "redirect_uri" => $this->endpoint, "display" => "page"); + $optionals = array("scope", "redirect_uri", "display"); + + foreach ($optionals as $parameter){ + if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){ + $parameters[$parameter] = $this->config[$parameter]; + } + } + + // get the login url + $url = $this->api->getLoginUrl( $parameters ); + + // redirect to facebook + Hybrid_Auth::redirect( $url ); + } + + /** + * finish login step + */ + function loginFinish() + { + // in case we get error_reason=user_denied&error=access_denied + if ( isset( $_REQUEST['error'] ) && $_REQUEST['error'] == "access_denied" ){ + throw new Exception( "Authentication failed! The user denied your request.", 5 ); + } + + // try to get the UID of the connected user from fb, should be > 0 + if ( ! $this->api->getUser() ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid user id.", 5 ); + } + + // set user as logged in + $this->setUserConnected(); + + // store facebook access token + $this->token( "access_token", $this->api->getAccessToken() ); + } + + /** + * logout + */ + function logout() + { + $this->api->destroySession(); + + parent::logout(); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + // request user profile from fb api + try{ + $data = $this->api->api('/me'); + } + catch( FacebookApiException $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 ); + } + + // if the provider identifier is not recived, we assume the auth has failed + if ( ! isset( $data["id"] ) ){ + throw new Exception( "User profile request failed! {$this->providerId} api returned an invalid response.", 6 ); + } + + # store the user profile. + $this->user->profile->identifier = (array_key_exists('id',$data))?$data['id']:""; + $this->user->profile->displayName = (array_key_exists('name',$data))?$data['name']:""; + $this->user->profile->firstName = (array_key_exists('first_name',$data))?$data['first_name']:""; + $this->user->profile->lastName = (array_key_exists('last_name',$data))?$data['last_name']:""; + $this->user->profile->photoURL = "https://graph.facebook.com/" . $this->user->profile->identifier . "/picture?width=150&height=150"; + $this->user->profile->profileURL = (array_key_exists('link',$data))?$data['link']:""; + $this->user->profile->webSiteURL = (array_key_exists('website',$data))?$data['website']:""; + $this->user->profile->gender = (array_key_exists('gender',$data))?$data['gender']:""; + $this->user->profile->description = (array_key_exists('bio',$data))?$data['bio']:""; + $this->user->profile->email = (array_key_exists('email',$data))?$data['email']:""; + $this->user->profile->emailVerified = (array_key_exists('email',$data))?$data['email']:""; + $this->user->profile->region = (array_key_exists("hometown",$data)&&array_key_exists("name",$data['hometown']))?$data['hometown']["name"]:""; + + if( array_key_exists('birthday',$data) ) { + list($birthday_month, $birthday_day, $birthday_year) = explode( "/", $data['birthday'] ); + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + return $this->user->profile; + } + + /** + * load the user contacts + */ + function getUserContacts() + { + try{ + $response = $this->api->api('/me/friends'); + } + catch( FacebookApiException $e ){ + throw new Exception( "User contacts request failed! {$this->providerId} returned an error: $e" ); + } + + if( ! $response || ! count( $response["data"] ) ){ + return ARRAY(); + } + + $contacts = ARRAY(); + + foreach( $response["data"] as $item ){ + $uc = new Hybrid_User_Contact(); + + $uc->identifier = (array_key_exists("id",$item))?$item["id"]:""; + $uc->displayName = (array_key_exists("name",$item))?$item["name"]:""; + $uc->profileURL = "https://www.facebook.com/profile.php?id=" . $uc->identifier; + $uc->photoURL = "https://graph.facebook.com/" . $uc->identifier . "/picture?width=150&height=150"; + + $contacts[] = $uc; + } + + return $contacts; + } + + /** + * update user status + */ + function setUserStatus( $status ) + { + $parameters = array(); + + if( is_array( $status ) ){ + $parameters = $status; + } + else{ + $parameters["message"] = $status; + } + + try{ + $response = $this->api->api( "/me/feed", "post", $parameters ); + } + catch( FacebookApiException $e ){ + throw new Exception( "Update user status failed! {$this->providerId} returned an error: $e" ); + } + } + + /** + * load the user latest activity + * - timeline : all the stream + * - me : the user activity only + */ + function getUserActivity( $stream ) + { + try{ + if( $stream == "me" ){ + $response = $this->api->api( '/me/feed' ); + } + else{ + $response = $this->api->api('/me/home'); + } + } + catch( FacebookApiException $e ){ + throw new Exception( "User activity stream request failed! {$this->providerId} returned an error: $e" ); + } + + if( ! $response || ! count( $response['data'] ) ){ + return ARRAY(); + } + + $activities = ARRAY(); + + foreach( $response['data'] as $item ){ + if( $stream == "me" && $item["from"]["id"] != $this->api->getUser() ){ + continue; + } + + $ua = new Hybrid_User_Activity(); + + $ua->id = (array_key_exists("id",$item))?$item["id"]:""; + $ua->date = (array_key_exists("created_time",$item))?strtotime($item["created_time"]):""; + + if( $item["type"] == "video" ){ + $ua->text = (array_key_exists("link",$item))?$item["link"]:""; + } + + if( $item["type"] == "link" ){ + $ua->text = (array_key_exists("link",$item))?$item["link"]:""; + } + + if( empty( $ua->text ) && isset( $item["story"] ) ){ + $ua->text = (array_key_exists("link",$item))?$item["link"]:""; + } + + if( empty( $ua->text ) && isset( $item["message"] ) ){ + $ua->text = (array_key_exists("message",$item))?$item["message"]:""; + } + + if( ! empty( $ua->text ) ){ + $ua->user->identifier = (array_key_exists("id",$item["from"]))?$item["from"]["id"]:""; + $ua->user->displayName = (array_key_exists("name",$item["from"]))?$item["from"]["name"]:""; + $ua->user->profileURL = "https://www.facebook.com/profile.php?id=" . $ua->user->identifier; + $ua->user->photoURL = "https://graph.facebook.com/" . $ua->user->identifier . "/picture?type=square"; + + $activities[] = $ua; + } + } + + return $activities; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Foursquare.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Foursquare.php new file mode 100644 index 0000000..fa4373a --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Foursquare.php @@ -0,0 +1,56 @@ +api->api_base_url = "https://api.foursquare.com/v2/"; + $this->api->authorize_url = "https://foursquare.com/oauth2/authenticate"; + $this->api->token_url = "https://foursquare.com/oauth2/access_token"; + + $this->api->sign_token_name = "oauth_token"; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $data = $this->api->api( "users/self" ); + + if ( ! isset( $data->response->user->id ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $data = $data->response->user; + + $this->user->profile->identifier = $data->id; + $this->user->profile->firstName = $data->firstName; + $this->user->profile->lastName = $data->lastName; + $this->user->profile->displayName = trim( $this->user->profile->firstName . " " . $this->user->profile->lastName ); + $this->user->profile->photoURL = $data->photo; + $this->user->profile->profileURL = "https://www.foursquare.com/user/" . $data->id; + $this->user->profile->gender = $data->gender; + $this->user->profile->city = $data->homeCity; + $this->user->profile->email = $data->contact->email; + $this->user->profile->emailVerified = $data->contact->email; + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/GitHub.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/GitHub.php new file mode 100644 index 0000000..1ce47bb --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/GitHub.php @@ -0,0 +1,56 @@ + public read-only access (includes public user profile info, public repo info, and gists). + public $scope = ""; + + /** + * IDp wrappers initializer + */ + function initialize() + { + parent::initialize(); + + // Provider api end-points + $this->api->api_base_url = "https://api.github.com/"; + $this->api->authorize_url = "https://github.com/login/oauth/authorize"; + $this->api->token_url = "https://github.com/login/oauth/access_token"; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $data = $this->api->api( "user" ); + + if ( ! isset( $data->id ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $this->user->profile->identifier = @ $data->id; + $this->user->profile->displayName = @ $data->name; + $this->user->profile->description = @ $data->bio; + $this->user->profile->photoURL = @ $data->avatar_url; + $this->user->profile->profileURL = @ $data->html_url; + $this->user->profile->email = @ $data->email; + $this->user->profile->webSiteURL = @ $data->blog; + $this->user->profile->region = @ $data->location; + + if( ! $this->user->profile->displayName ){ + $this->user->profile->displayName = @ $data->login; + } + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Goodreads.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Goodreads.php new file mode 100644 index 0000000..4001bbf --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Goodreads.php @@ -0,0 +1,115 @@ +api->api_base_url = "http://www.goodreads.com/"; + $this->api->authorize_url = "http://www.goodreads.com/oauth/authorize"; + $this->api->request_token_url = "http://www.goodreads.com/oauth/request_token"; + $this->api->access_token_url = "http://www.goodreads.com/oauth/access_token"; + + // turn off json parsing! + $this->api->decode_json = false; + } + + /** + * finish login step + */ + function loginFinish() + { + // in case we get authorize=0 + if ( ! isset($_REQUEST['oauth_token']) || ( isset( $_REQUEST['authorize'] ) && $_REQUEST['authorize'] == "0" ) ){ + throw new Exception( "Authentification failed! The user denied your request.", 5 ); + } + + $oauth_verifier = @ $_REQUEST['oauth_token']; + + if ( !$oauth_verifier ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an invalid oauth verifier.", 5 ); + } + + // request an access token + $tokens = $this->api->accessToken( $oauth_verifier ); + + // access tokens as recived from provider + $this->access_tokens_raw = $tokens; + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 5 ); + } + + // we should have an access_token, or else, something has gone wrong + if ( ! isset( $tokens["oauth_token"] ) ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an invalid access token.", 5 ); + } + + // we no more need to store requet tokens + $this->deleteToken( "request_token" ); + $this->deleteToken( "request_token_secret" ); + + // sotre access_token for later user + $this->token( "access_token" , $tokens['oauth_token'] ); + $this->token( "access_token_secret" , $tokens['oauth_token_secret'] ); + + // set user as logged in to the current provider + $this->setUserConnected(); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $response = $this->api->get( 'http://www.goodreads.com/api/auth_user' ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "User profile request failed! {$this->providerId} returned an error: " . $this->errorMessageByStatus( $this->api->http_code ), 6 ); + } + + // parse the response + $response = @ new SimpleXMLElement( $response ); + + $this->user->profile->identifier = (string) $response->user['id']; + $this->user->profile->displayName = (string) $response->user->name; + $this->user->profile->profileURL = (string) $response->user->link; + + // try to grab more information about the user if possible + $response = $this->api->get( 'http://www.goodreads.com/user/show/' . $this->user->profile->identifier . '.xml' ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + return $this->user->profile; + } + + // parse the response + $response = @ new SimpleXMLElement( $response ); + + $this->user->profile->photoURL = (string) $response->user->image_url; + $this->user->profile->webSiteURL = (string) $response->user->website; + $this->user->profile->description = (string) $response->user->about; + $this->user->profile->country = (string) $response->user->location; + $this->user->profile->gender = (string) $response->user->gender; + $this->user->profile->age = (string) $response->user->age; + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Google.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Google.php new file mode 100644 index 0000000..5ced003 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Google.php @@ -0,0 +1,119 @@ +api->authorize_url = "https://accounts.google.com/o/oauth2/auth"; + $this->api->token_url = "https://accounts.google.com/o/oauth2/token"; + $this->api->token_info_url = "https://www.googleapis.com/oauth2/v1/tokeninfo"; + } + + /** + * begin login step + */ + function loginBegin() + { + $parameters = array("scope" => $this->scope, "access_type" => "offline"); + $optionals = array("scope", "access_type", "redirect_uri", "approval_prompt", "hd"); + + foreach ($optionals as $parameter){ + if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){ + $parameters[$parameter] = $this->config[$parameter]; + } + } + + Hybrid_Auth::redirect( $this->api->authorizeUrl( $parameters ) ); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + // refresh tokens if needed + $this->refreshToken(); + + // ask google api for user infos + $response = $this->api->api( "https://www.googleapis.com/oauth2/v1/userinfo" ); + + if ( ! isset( $response->id ) || isset( $response->error ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $this->user->profile->identifier = (property_exists($response,'id'))?$response->id:""; + $this->user->profile->firstName = (property_exists($response,'given_name'))?$response->given_name:""; + $this->user->profile->lastName = (property_exists($response,'family_name'))?$response->family_name:""; + $this->user->profile->displayName = (property_exists($response,'name'))?$response->name:""; + $this->user->profile->photoURL = (property_exists($response,'picture'))?$response->picture:""; + $this->user->profile->profileURL = "https://profiles.google.com/" . $this->user->profile->identifier; + $this->user->profile->gender = (property_exists($response,'gender'))?$response->gender:""; + $this->user->profile->email = (property_exists($response,'email'))?$response->email:""; + $this->user->profile->emailVerified = (property_exists($response,'email'))?$response->email:""; + $this->user->profile->language = (property_exists($response,'locale'))?$response->locale:""; + + if( property_exists($response,'birthday') ){ + list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday ); + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + return $this->user->profile; + } + + /** + * load the user (Gmail) contacts + * ..toComplete + */ + function getUserContacts() + { + // refresh tokens if needed + $this->refreshToken(); + + if( ! isset( $this->config['contacts_param'] ) ){ + $this->config['contacts_param'] = array( "max-results" => 500 ); + } + + $response = $this->api->api( "https://www.google.com/m8/feeds/contacts/default/full?" + . http_build_query( array_merge( array('alt' => 'json'), $this->config['contacts_param'] ) ) ); + + if( ! $response ){ + return ARRAY(); + } + + $contacts = ARRAY(); + + foreach( $response->feed->entry as $idx => $entry ){ + $uc = new Hybrid_User_Contact(); + + $uc->email = isset($entry->{'gd$email'}[0]->address) ? (string) $entry->{'gd$email'}[0]->address : ''; + $uc->displayName = isset($entry->title->{'$t'}) ? (string) $entry->title->{'$t'} : ''; + $uc->identifier = $uc->email; + + $contacts[] = $uc; + } + + return $contacts; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Gowalla.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Gowalla.php new file mode 100644 index 0000000..d2128b3 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Gowalla.php @@ -0,0 +1,102 @@ +api->api_base_url = "https://api.gowalla.com/"; + $this->api->authorize_url = "https://gowalla.com/api/oauth/new"; + $this->api->token_url = "https://api.gowalla.com/api/oauth/token"; + + $this->api->curl_header = array( 'X-Gowalla-API-Key: ' . $this->config["keys"]["id"], 'Accept: application/json' ); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + // refresh tokens if needed + $this->refreshToken(); + + $data = $this->api->api( "users/me/" ); + + if ( ! is_object( $data ) || ! isset( $data->username ) ) + { + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $this->user->providerUID = @ (string) $data->username; + $this->user->profile->firstName = @ (string) $data->first_name; + $this->user->profile->lastName = @ (string) $data->last_name; + $this->user->profile->displayName = trim( $this->user->profile->firstName . " " . $this->user->profile->lastName ); + $this->user->profile->profileURL = @ "http://gowalla.com" . ( (string) $data->url ); + $this->user->profile->webSiteURL = @ (string) $data->website; + $this->user->profile->photoURL = @ (string) $data->image_url; + + // make sure to always have a display name + if( ! $this->user->profile->displayName ){ + $this->user->profile->displayName = @ (string) $data->username; + } + + return $this->user->profile; + } + + function refreshToken() + { + // have an access token? + if( $this->api->access_token ){ + + // have to refresh? + if( $this->api->refresh_token && $this->api->access_token_expires_at ){ + + // expired? + if( $this->api->access_token_expires_at <= time() ){ + $response = $this->api->refreshToken( array( "refresh_token" => $this->api->refresh_token, "access_token" => $this->api->access_token ) ); + + if( ! isset( $response->access_token ) || ! $response->access_token ){ + // set the user as disconnected at this point and throw an exception + $this->setUserUnconnected(); + + throw new Exception( "The Authorization Service has return an invalid response while requesting a new access token. " . (string) $response->error ); + } + + // set new access_token + $this->api->access_token = $response->access_token; + + if( isset( $response->refresh_token ) ) + $this->api->refresh_token = $response->refresh_token; + + if( isset( $response->expires_in ) ){ + $this->api->access_token_expires_in = $response->expires_in; + + // even given by some idp, we should calculate this + $this->api->access_token_expires_at = time() + $response->expires_in; + } + } + } + + // re store tokens + $this->token( "access_token" , $this->api->access_token ); + $this->token( "refresh_token", $this->api->refresh_token ); + $this->token( "expires_in" , $this->api->access_token_expires_in ); + $this->token( "expires_at" , $this->api->access_token_expires_at ); + } + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Identica.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Identica.php new file mode 100644 index 0000000..26f702c --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Identica.php @@ -0,0 +1,165 @@ +api->api_base_url = "https://identi.ca/api/"; + $this->api->authorize_url = "https://identi.ca/api/oauth/authorize"; + $this->api->request_token_url = "https://identi.ca/api/oauth/request_token"; + $this->api->access_token_url = "https://identi.ca/api/oauth/access_token"; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $response = $this->api->get( 'account/verify_credentials.json' ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "User profile request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 6 ); + } + + if ( ! is_object( $response ) ) + { + throw new Exception( "User profile request failed! {$this->providerId} api returned an invalid response.", 6 ); + } + + # store the user profile. + $this->user->profile->identifier = @ $response->id; + $this->user->profile->displayName = @ $response->screen_name; + $this->user->profile->description = @ $response->description; + $this->user->profile->firstName = @ $response->name; + $this->user->profile->photoURL = @ $response->profile_image_url; + $this->user->profile->profileURL = @ 'http://identi.ca/' . $response->screen_name; + $this->user->profile->webSiteURL = @ $response->url; + $this->user->profile->address = @ $response->location; + + return $this->user->profile; + } + + /** + * load the user contacts + */ + function getUserContacts( $arguments = ARRAY() ) + { + $parameters = array( 'cursor' => '-1' ); + $response = $this->api->get( 'friends/ids.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "User contacts request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( ! $response ){ + return ARRAY(); + } + + $contacts = ARRAY(); + + // donno if users/lookup is supported by identica.. to do + foreach( $response as $item ){ + $parameters = array( 'user_id' => $item ); + $responseud = $this->api->get( 'users/show.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "User contacts request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( $responseud ){ + $uc = new Hybrid_User_Contact(); + + $uc->identifier = @ $responseud->id; + $uc->displayName = @ $responseud->name; + $uc->profileURL = @ $responseud->statusnet_profile_url; + $uc->photoURL = @ $responseud->profile_image_url; + $uc->description = @ $responseud->description; + + $contacts[] = $uc; + } + } + + return $contacts; + } + + /** + * update user status + */ + function setUserStatus( $arguments = ARRAY() ) + { + $status = $arguments[0]; // status content + + $parameters = array( 'status' => $status ); + $response = $this->api->post( 'statuses/update.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "Update user status update failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + } + + /** + * load the user latest activity + * - timeline : all the stream + * - me : the user activity only + */ + function getUserActivity( $arguments = ARRAY() ) + { + if( isset( $arguments[0] ) && $arguments[0] == "me" ){ + $response = $this->api->get( 'statuses/user_timeline.json' ); + } + else{ + $response = $this->api->get( 'statuses/home_timeline.json' ); + } + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "User activity stream request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( ! $response ){ + return ARRAY(); + } + + $activities = ARRAY(); + + foreach( $response as $item ){ + $ua = new Hybrid_User_Activity(); + + $ua->id = @ $item->id; + $ua->date = @ $item->created_at; + $ua->text = @ $item->text; + + $ua->user->identifier = @ $item->user->id; + $ua->user->displayName = @ $item->user->name; + $ua->user->profileURL = @ $item->user->statusnet_profile_url; + $ua->user->photoURL = @ $item->user->profile_image_url; + + $activities[] = $ua; + } + + return $activities; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Instagram.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Instagram.php new file mode 100644 index 0000000..1842577 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Instagram.php @@ -0,0 +1,48 @@ +api->api_base_url = "https://api.instagram.com/v1/"; + $this->api->authorize_url = "https://api.instagram.com/oauth/authorize/"; + $this->api->token_url = "https://api.instagram.com/oauth/access_token"; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile(){ + $data = $this->api->api("users/self/" ); + + if ( $data->meta->code != 200 ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $this->user->profile->identifier = $data->data->id; + $this->user->profile->displayName = $data->data->full_name ? $data->data->full_name : $data->data->username; + $this->user->profile->description = $data->data->bio; + $this->user->profile->photoURL = $data->data->profile_picture; + + $this->user->profile->webSiteURL = $data->data->website; + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/LastFM.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/LastFM.php new file mode 100644 index 0000000..acd6284 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/LastFM.php @@ -0,0 +1,111 @@ +config["keys"]["key"] || ! $this->config["keys"]["secret"] ) + { + throw new Exception( "Your application key and secret are required in order to connect to {$this->providerId}.", 4 ); + } + + require_once Hybrid_Auth::$config["path_libraries"] . "LastFM/LastFM.php"; + + $this->api = new LastFM( array( 'api_key' => $this->config["keys"]["key"], 'api_secret' => $this->config["keys"]["secret"] ) ); + + if( $this->token( "access_token" ) ) + { + $this->api->setSessionKey( $this->token( "access_token" ) ); + } + } + + /** + * begin login step + */ + function loginBegin() + { + # redirect to Authorize url + Hybrid_Auth::redirect( $this->api->getLoginUrl( $this->endpoint ) ); + } + + /** + * finish login step + */ + function loginFinish() + { + $token = @ $_REQUEST['token']; + + if ( ! $token ) + { + throw new Exception( "Authentification failed! {$this->providerId} returned an invalid Token.", 5 ); + } + + try{ + $response = $this->api->fetchSession( $token ); + } + catch( LastFMException $e ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an error while requesting and access token. $e.", 6 ); + } + + if( isset( $response['sk'] ) && isset( $response['name'] ) ){ + $this->token( "access_token" , $response['sk'] ); + + // let set the user name as access_token_secret ... + $this->token( "user_name" , $response['name'] ); + + // set user as logged in + $this->setUserConnected(); + } + else{ + throw new Exception( "Authentification failed! {$this->providerId} returned an invalid access Token.", 5 ); + } + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + try{ + $response = $this->api->api( "user.getInfo", array( "token" => $this->token( "access_token" ), "user" => $this->token( "user_name" ) ) ); + } + catch( LastFMInvalidSessionException $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error while requesting the user profile. Invalid session key - Please re-authenticate. $e.", 6 ); + } + catch( LastFMException $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error while requesting the user profile. $e", 6 ); + } + + // fetch user profile + $this->user->profile->identifier = @ (string) $response["user"]["id"]; + $this->user->profile->firstName = @ (string) $response["user"]["name"]; + $this->user->profile->displayName = @ (string) $response["user"]["realname"]; + $this->user->profile->photoURL = @ (string) $response["user"]["image"][2]["#text"]; + $this->user->profile->profileURL = @ (string) $response["user"]["url"]; + + $this->user->profile->country = @ (string) $response["user"]["country"]; + $this->user->profile->gender = @ (string) $response["user"]["gender"]; + $this->user->profile->age = @ (int) $response["user"]["age"]; + + if( $this->user->profile->gender == "f" ){ + $this->user->profile->gender = "female"; + } + + if( $this->user->profile->gender == "m" ){ + $this->user->profile->gender = "male"; + } + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/LinkedIn.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/LinkedIn.php new file mode 100644 index 0000000..873f581 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/LinkedIn.php @@ -0,0 +1,252 @@ +config["keys"]["key"] || ! $this->config["keys"]["secret"] ){ + throw new Exception( "Your application key and secret are required in order to connect to {$this->providerId}.", 4 ); + } + + require_once Hybrid_Auth::$config["path_libraries"] . "OAuth/OAuth.php"; + require_once Hybrid_Auth::$config["path_libraries"] . "LinkedIn/LinkedIn.php"; + + $this->api = new LinkedIn( array( 'appKey' => $this->config["keys"]["key"], 'appSecret' => $this->config["keys"]["secret"], 'callbackUrl' => $this->endpoint ) ); + + if( $this->token( "access_token_linkedin" ) ){ + $this->api->setTokenAccess( $this->token( "access_token_linkedin" ) ); + } + } + + /** + * begin login step + */ + function loginBegin() + { + // send a request for a LinkedIn access token + $response = $this->api->retrieveTokenRequest(); + + if( isset( $response['success'] ) && $response['success'] === TRUE ){ + $this->token( "oauth_token", $response['linkedin']['oauth_token'] ); + $this->token( "oauth_token_secret", $response['linkedin']['oauth_token_secret'] ); + + # redirect user to LinkedIn authorisation web page + Hybrid_Auth::redirect( LINKEDIN::_URL_AUTH . $response['linkedin']['oauth_token'] ); + } + else{ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 ); + } + } + + /** + * finish login step + */ + function loginFinish() + { + $oauth_token = $_REQUEST['oauth_token']; + $oauth_verifier = $_REQUEST['oauth_verifier']; + + if ( ! $oauth_verifier ){ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 ); + } + + $response = $this->api->retrieveTokenAccess( $oauth_token, $this->token( "oauth_token_secret" ), $oauth_verifier ); + + if( isset( $response['success'] ) && $response['success'] === TRUE ){ + $this->deleteToken( "oauth_token" ); + $this->deleteToken( "oauth_token_secret" ); + + $this->token( "access_token_linkedin", $response['linkedin'] ); + $this->token( "access_token" , $response['linkedin']['oauth_token'] ); + $this->token( "access_token_secret" , $response['linkedin']['oauth_token_secret'] ); + + // set user as logged in + $this->setUserConnected(); + } + else{ + throw new Exception( "Authentication failed! {$this->providerId} returned an invalid Token.", 5 ); + } + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + try{ + // http://developer.linkedin.com/docs/DOC-1061 + $response = $this->api->profile('~:(id,first-name,last-name,public-profile-url,picture-url,email-address,date-of-birth,phone-numbers,summary)'); + } + catch( LinkedInException $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 ); + } + + if( isset( $response['success'] ) && $response['success'] === TRUE ){ + $data = @ new SimpleXMLElement( $response['linkedin'] ); + + if ( ! is_object( $data ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid xml data.", 6 ); + } + + $this->user->profile->identifier = (string) $data->{'id'}; + $this->user->profile->firstName = (string) $data->{'first-name'}; + $this->user->profile->lastName = (string) $data->{'last-name'}; + $this->user->profile->displayName = trim( $this->user->profile->firstName . " " . $this->user->profile->lastName ); + + $this->user->profile->email = (string) $data->{'email-address'}; + $this->user->profile->emailVerified = (string) $data->{'email-address'}; + + $this->user->profile->photoURL = (string) $data->{'picture-url'}; + $this->user->profile->profileURL = (string) $data->{'public-profile-url'}; + $this->user->profile->description = (string) $data->{'summary'}; + + if( $data->{'phone-numbers'} && $data->{'phone-numbers'}->{'phone-number'} ){ + $this->user->profile->phone = (string) $data->{'phone-numbers'}->{'phone-number'}->{'phone-number'}; + } + else{ + $this->user->profile->phone = null; + } + + if( $data->{'date-of-birth'} ){ + $this->user->profile->birthDay = (string) $data->{'date-of-birth'}->day; + $this->user->profile->birthMonth = (string) $data->{'date-of-birth'}->month; + $this->user->profile->birthYear = (string) $data->{'date-of-birth'}->year; + } + + return $this->user->profile; + } + else{ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + } + + /** + * load the user contacts + */ + function getUserContacts() + { + try{ + $response = $this->api->profile('~/connections:(id,first-name,last-name,picture-url,public-profile-url,summary)'); + } + catch( LinkedInException $e ){ + throw new Exception( "User contacts request failed! {$this->providerId} returned an error: $e" ); + } + + if( ! $response || ! $response['success'] ){ + return ARRAY(); + } + + $connections = new SimpleXMLElement( $response['linkedin'] ); + + $contacts = ARRAY(); + + foreach( $connections->person as $connection ) { + $uc = new Hybrid_User_Contact(); + + $uc->identifier = (string) $connection->id; + $uc->displayName = (string) $connection->{'last-name'} . " " . $connection->{'first-name'}; + $uc->profileURL = (string) $connection->{'public-profile-url'}; + $uc->photoURL = (string) $connection->{'picture-url'}; + $uc->description = (string) $connection->{'summary'}; + + $contacts[] = $uc; + } + + return $contacts; + } + + /** + * update user status + */ + function setUserStatus( $status ) + { + $parameters = array(); + $private = true; // share with your connections only + + if( is_array( $status ) ){ + if( isset( $status[0] ) && ! empty( $status[0] ) ) $parameters["title"] = $status[0]; // post title + if( isset( $status[1] ) && ! empty( $status[1] ) ) $parameters["comment"] = $status[1]; // post comment + if( isset( $status[2] ) && ! empty( $status[2] ) ) $parameters["submitted-url"] = $status[2]; // post url + if( isset( $status[3] ) && ! empty( $status[3] ) ) $parameters["submitted-image-url"] = $status[3]; // post picture url + if( isset( $status[4] ) && ! empty( $status[4] ) ) $private = $status[4]; // true or false + } + else{ + $parameters["comment"] = $status; + } + + try{ + $response = $this->api->share( 'new', $parameters, $private ); + } + catch( LinkedInException $e ){ + throw new Exception( "Update user status update failed! {$this->providerId} returned an error: $e" ); + } + + if ( ! $response || ! $response['success'] ) + { + throw new Exception( "Update user status update failed! {$this->providerId} returned an error." ); + } + } + + /** + * load the user latest activity + * - timeline : all the stream + * - me : the user activity only + */ + function getUserActivity( $stream ) + { + try{ + if( $stream == "me" ){ + $response = $this->api->updates( '?type=SHAR&scope=self&count=25' ); + } + else{ + $response = $this->api->updates( '?type=SHAR&count=25' ); + } + } + catch( LinkedInException $e ){ + throw new Exception( "User activity stream request failed! {$this->providerId} returned an error: $e" ); + } + + if( ! $response || ! $response['success'] ){ + return ARRAY(); + } + + $updates = new SimpleXMLElement( $response['linkedin'] ); + + $activities = ARRAY(); + + foreach( $updates->update as $update ) { + $person = $update->{'update-content'}->person; + $share = $update->{'update-content'}->person->{'current-share'}; + + $ua = new Hybrid_User_Activity(); + + $ua->id = (string) $update->id; + $ua->date = (string) $update->timestamp; + $ua->text = (string) $share->{'comment'}; + + $ua->user->identifier = (string) $person->id; + $ua->user->displayName = (string) $person->{'first-name'} . ' ' . $person->{'last-name'}; + $ua->user->profileURL = (string) $person->{'site-standard-profile-request'}->url; + $ua->user->photoURL = NULL; + + $activities[] = $ua; + } + + return $activities; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Live.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Live.php new file mode 100644 index 0000000..6f98126 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Live.php @@ -0,0 +1,106 @@ + + * @version 0.2 + * @license BSD License + */ + +/** + * Hybrid_Providers_Live - Windows Live provider adapter based on OAuth2 protocol + */ +class Hybrid_Providers_Live extends Hybrid_Provider_Model_OAuth2 +{ + // default permissions + public $scope = "wl.basic wl.emails wl.signin wl.share wl.birthday"; + + + /** + * IDp wrappers initializer + */ + function initialize() + { + parent::initialize(); + + // Provider api end-points + $this->api->api_base_url = 'https://apis.live.net/v5.0/'; + $this->api->authorize_url = 'https://login.live.com/oauth20_authorize.srf'; + $this->api->token_url = 'https://login.live.com/oauth20_token.srf'; + + $this->api->curl_authenticate_method = "GET"; + } + + /** + * grab the user profile from the api client + */ + function getUserProfile() + { + $data = $this->api->get( "me" ); + + if ( ! isset( $data->id ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $this->user->profile->identifier = (property_exists($data,'id'))?$data->id:""; + $this->user->profile->firstName = (property_exists($data,'first_name'))?$data->first_name:""; + $this->user->profile->lastName = (property_exists($data,'last_name'))?$data->last_name:""; + $this->user->profile->displayName = (property_exists($data,'name'))?trim( $data->name ):""; + $this->user->profile->gender = (property_exists($data,'gender'))?$data->gender:""; + + //wl.basic + $this->user->profile->profileURL = (property_exists($data,'link'))?$data->link:""; + + //wl.emails + $this->user->profile->email = (property_exists($data,'emails'))?$data->emails->account:""; + $this->user->profile->emailVerified = (property_exists($data,'emails'))?$data->emails->account:""; + + //wl.birthday + $this->user->profile->birthDay = (property_exists($data,'birth_day'))?$data->birth_day:""; + $this->user->profile->birthMonth = (property_exists($data,'birth_month'))?$data->birth_month:""; + $this->user->profile->birthYear = (property_exists($data,'birth_year'))?$data->birth_year:""; + + return $this->user->profile; + } + + + /** + * load the current logged in user contacts list from the IDp api client + */ + + /* Windows Live api does not support retrieval of email addresses (only hashes :/) */ + function getUserContacts() + { + $response = $this->api->get( 'me/contacts' ); + + if ( $this->api->http_code != 200 ) + { + throw new Exception( 'User contacts request failed! ' . $this->providerId . ' returned an error: ' . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if ( ! $response->data && ( $response->error != 0 ) ) + { + return array(); + } + + $contacts = array(); + + foreach( $response->data as $item ) { + $uc = new Hybrid_User_Contact(); + + $uc->identifier = (property_exists($item,'id'))?$item->id:""; + $uc->displayName = (property_exists($item,'name'))?$item->name:""; + + $contacts[] = $uc; + } + + return $contacts; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Mailru.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Mailru.php new file mode 100644 index 0000000..5af1d23 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Mailru.php @@ -0,0 +1,63 @@ +api->api_base_url = "http://www.appsmail.ru/platform/api"; + $this->api->authorize_url = "https://connect.mail.ru/oauth/authorize"; + $this->api->token_url = "https://connect.mail.ru/oauth/token"; + $this->api->sign_token_name = "session_key"; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $sig = md5( "client_id=" . $this->api->client_id . "format=jsonmethod=users.getInfosecure=1session_key=". $this->api->access_token . $this->api->client_secret ); + $response = $this->api->api( "?format=json&client_id=" . $this->api->client_id . "&method=users.getInfo&secure=1&sig=" .$sig); + if ( ! isset( $response[0]->uid ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $response = $response[0]; + + $this->user->profile->identifier = (property_exists($response,'uid'))?$response->uid:""; + $this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:""; + $this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:""; + $this->user->profile->displayName = (property_exists($response,'nick'))?$response->nick:""; + $this->user->profile->photoURL = (property_exists($response,'pic'))?$response->pic:""; + $this->user->profile->profileURL = (property_exists($response,'link'))?$response->link:""; + $this->user->profile->gender = (property_exists($response,'sex'))?$response->sex:""; + $this->user->profile->email = (property_exists($response,'email'))?$response->email:""; + $this->user->profile->emailVerified = (property_exists($response,'email'))?$response->email:""; + + if( property_exists($response,'birthday') ){ + list($birthday_day, $birthday_month, $birthday_year) = explode( '.', $response->birthday ); + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Mixi.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Mixi.php new file mode 100644 index 0000000..5648aa6 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Mixi.php @@ -0,0 +1,6 @@ +api->api_endpoint_url = "http://api.myspace.com/v1/"; + $this->api->authorize_url = "http://api.myspace.com/authorize"; + $this->api->request_token_url = "http://api.myspace.com/request_token"; + $this->api->access_token_url = "http://api.myspace.com/access_token"; + } + + /** + * get the connected uid from myspace api + */ + public function getCurrentUserId() + { + $response = $this->api->get( 'http://api.myspace.com/v1/user.json' ); + + if ( ! isset( $response->userId ) ){ + throw new Exception( "User id request failed! {$this->providerId} returned an invalid response." ); + } + + return $response->userId; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $userId = $this->getCurrentUserId(); + + $data = $this->api->get( 'http://api.myspace.com/v1/users/' . $userId . '/profile.json' ); + + if ( ! is_object( $data ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $this->user->profile->identifier = $userId; + $this->user->profile->displayName = $data->basicprofile->name; + $this->user->profile->description = $data->aboutme; + $this->user->profile->gender = $data->basicprofile->gender; + $this->user->profile->photoURL = $data->basicprofile->image; + $this->user->profile->profileURL = $data->basicprofile->webUri; + $this->user->profile->age = $data->age; + $this->user->profile->country = $data->country; + $this->user->profile->region = $data->region; + $this->user->profile->city = $data->city; + $this->user->profile->zip = $data->postalcode; + + return $this->user->profile; + } + + /** + * load the user contacts + */ + function getUserContacts() + { + $userId = $this->getCurrentUserId(); + + $response = $this->api->get( "http://api.myspace.com/v1/users/" . $userId . "/friends.json" ); + + if ( ! is_object( $response ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $contacts = ARRAY(); + + foreach( $response->Friends as $item ){ + $uc = new Hybrid_User_Contact(); + + $uc->identifier = $item->userId; + $uc->displayName = $item->name; + $uc->profileURL = $item->webUri; + $uc->photoURL = $item->image; + $uc->description = $item->status; + + $contacts[] = $uc; + } + + return $contacts; + } + + /** + * update user status + */ + function setUserStatus( $status ) + { + // crappy myspace... gonna see this asaic + $userId = $this->getCurrentUserId(); + + $parameters = array( 'status' => $status ); + + $response = $this->api->api( "http://api.myspace.com/v1/users/" . $userId . "/status", 'PUT', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + } + + /** + * load the user latest activity + * - timeline : all the stream + * - me : the user activity only + */ + function getUserActivity( $stream ) + { + $userId = $this->getCurrentUserId(); + + if( $stream == "me" ){ + $response = $this->api->get( "http://api.myspace.com/v1/users/" . $userId . "/status.json" ); + } + else{ + $response = $this->api->get( "http://api.myspace.com/v1/users/" . $userId . "/friends/status.json" ); + } + + if ( ! is_object( $response ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $activities = ARRAY(); + + if( $stream == "me" ){ + // todo + } + else{ + foreach( $response->FriendsStatus as $item ){ + $ua = new Hybrid_User_Activity(); + + $ua->id = $item->statusId; + $ua->date = NULL; // to find out!! + $ua->text = $item->status; + + $ua->user->identifier = $item->user->userId; + $ua->user->displayName = $item->user->name; + $ua->user->profileURL = $item->user->uri; + $ua->user->photoURL = $item->user->image; + + $activities[] = $ua; + } + } + + return $activities; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Odnoklassniki.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Odnoklassniki.php new file mode 100644 index 0000000..d5dcbf8 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Odnoklassniki.php @@ -0,0 +1,174 @@ +api->api_base_url = "http://api.odnoklassniki.ru/fb.do"; + $this->api->authorize_url = "http://www.odnoklassniki.ru/oauth/authorize"; + $this->api->token_url = "http://api.odnoklassniki.ru/oauth/token.do"; + $this->api->sign_token_name = "access_token"; + } + + private function request( $url, $params=false, $type="GET" ) + { + Hybrid_Logger::info( "Enter OAuth2Client::request( $url )" ); + Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", serialize( $params ) ); + + if( $type == "GET" ){ + $url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query( $params ); + } + + $this->http_info = array(); + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL , $url ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 ); + curl_setopt($ch, CURLOPT_TIMEOUT , $this->curl_time_out ); + curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent ); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->curl_connect_time_out ); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->curl_ssl_verifypeer ); + curl_setopt($ch, CURLOPT_HTTPHEADER , $this->curl_header ); + if($this->curl_proxy){ + curl_setopt( $ch, CURLOPT_PROXY , $this->curl_proxy); + } + if( $type == "POST" ){ + curl_setopt($ch, CURLOPT_POST, 1); + if($params) curl_setopt( $ch, CURLOPT_POSTFIELDS, $params ); + } + $response = curl_exec($ch); + Hybrid_Logger::debug( "OAuth2Client::request(). dump request info: ", serialize( curl_getinfo($ch) ) ); + Hybrid_Logger::debug( "OAuth2Client::request(). dump request result: ", serialize( $response ) ); + + $this->http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + $this->http_info = array_merge($this->http_info, curl_getinfo($ch)); + + curl_close ($ch); + + return $response; + } + + private function parseRequestResult( $result ) + { + if( json_decode( $result ) ) return json_decode( $result ); + + parse_str( $result, $ouput ); + + $result = new StdClass(); + + foreach( $ouput as $k => $v ) + $result->$k = $v; + + return $result; + } + + function authodnoklass( $code ) + { + $params = array( + "client_id" => $this->api->client_id, + "client_secret" => $this->api->client_secret, + "grant_type" => "authorization_code", + "redirect_uri" => $this->api->redirect_uri, + "code" => $code + ); + + $response = $this->request( $this->api->token_url, http_build_query($params, '', '&'), $this->api->curl_authenticate_method ); + + $response = $this->parseRequestResult( $response ); + + if( ! $response || ! isset( $response->access_token ) ){ + throw new Exception( "The Authorization Service has return: " . $response->error ); + } + + if( isset( $response->access_token ) ) $this->api->access_token = $response->access_token; + if( isset( $response->refresh_token ) ) $this->api->refresh_token = $response->refresh_token; + if( isset( $response->expires_in ) ) $this->api->access_token_expires_in = $response->expires_in; + + // calculate when the access token expire + $this->api->access_token_expires_at = time() + $response->expires_in; + + return $response; + } + + function loginFinish() + { + $error = (array_key_exists('error',$_REQUEST))?$_REQUEST['error']:""; + + // check for errors + if ( $error ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an error: $error", 5 ); + } + + // try to authenicate user + $code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:""; + + try{ + $this->authodnoklass( $code ); + } + catch( Exception $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 ); + } + + // check if authenticated + if ( ! $this->api->access_token ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an invalid access token.", 5 ); + } + + // store tokens + $this->token( "access_token" , $this->api->access_token ); + $this->token( "refresh_token", $this->api->refresh_token ); + $this->token( "expires_in" , $this->api->access_token_expires_in ); + $this->token( "expires_at" , $this->api->access_token_expires_at ); + + // set user connected locally + $this->setUserConnected(); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $sig = md5('application_key=' . $this->config['keys']['key'] . 'method=users.getCurrentUser' . md5($this->api->access_token . $this->api->client_secret)); + $response = $this->api->api( '?application_key=' . $this->config['keys']['key'] . '&method=users.getCurrentUser&sig=' .$sig); + if ( ! isset( $response->uid ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $this->user->profile->identifier = (property_exists($response,'uid'))?$response->uid:""; + $this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:""; + $this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:""; + $this->user->profile->displayName = (property_exists($response,'name'))?$response->name:""; + $this->user->profile->photoURL = (property_exists($response,'pic_1'))?$response->pic_1:""; + $this->user->profile->photoBIG = (property_exists($response,'pic_2'))?$response->pic_2:""; + $this->user->profile->profileURL = (property_exists($response,'link'))?$response->link:""; + $this->user->profile->gender = (property_exists($response,'gender'))?$response->gender:""; + $this->user->profile->email = (property_exists($response,'email'))?$response->email:""; + $this->user->profile->emailVerified = (property_exists($response,'email'))?$response->email:""; + + if( property_exists($response,'birthday') ){ + list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday ); + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + return $this->user->profile; + } +} \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/OpenID.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/OpenID.php new file mode 100644 index 0000000..af5ec1e --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/OpenID.php @@ -0,0 +1,15 @@ +api->api_base_url = "https://api.skyrock.com/v2/"; + $this->api->authorize_url = "https://api.skyrock.com/v2/oauth/authenticate"; + $this->api->request_token_url = "https://api.skyrock.com/v2/oauth/initiate"; + $this->api->access_token_url = "https://api.skyrock.com/v2/oauth/token"; + + $this->api->curl_auth_header = false; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $response = $this->api->get( 'user/get.json' ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ) + { + throw new Exception( "User profile request failed! {$this->providerId} returned an error: " . $this->errorMessageByStatus( $this->api->http_code ), 6 ); + } + + if ( ! is_object( $response ) || ! isset( $response->id_user ) ){ + throw new Exception( "User profile request failed! {$this->providerId} api returned an invalid response.", 6 ); + } + + # store the user profile. + $this->user->profile->identifier = (property_exists($response,'id_user'))?$response->id_user:""; + $this->user->profile->displayName = (property_exists($response,'username'))?$response->username:""; + $this->user->profile->profileURL = (property_exists($response,'user_url'))?$response->user_url:""; + $this->user->profile->photoURL = (property_exists($response,'avatar_url'))?$response->avatar_url:""; +//unknown $this->user->profile->description = (property_exists($response,'description'))?$response->description:""; + $this->user->profile->firstName = (property_exists($response,'firstname'))?$response->firstname:""; + $this->user->profile->lastName = (property_exists($response,'name'))?$response->name:""; + + if( property_exists($response,'gender') ) { + if( $response->gender == 1 ){ + $this->user->profile->gender = "male"; + } + elseif( $response->gender == 2 ){ + $this->user->profile->gender = "female"; + } + else{ + $this->user->profile->gender = ""; + } + } + + $this->user->profile->language = (property_exists($response,'lang'))?$response->lang:""; + + if( property_exists( $response,'birth_date' ) && $response->birth_date ) { + $birthday = date_parse($response->birth_date); + $this->user->profile->birthDay = $birthday["day"]; + $this->user->profile->birthMonth = $birthday["month"]; + $this->user->profile->birthYear = $birthday["year"]; + } + + $this->user->profile->email = (property_exists($response,'email'))?$response->email:""; + $this->user->profile->emailVerified = (property_exists($response,'email'))?$response->email:""; + +//unknown $this->user->profile->phone = (property_exists($response,'unknown'))?$response->unknown:""; + $this->user->profile->address = (property_exists($response,'address1'))?$response->address1:""; + $this->user->profile->address .= (property_exists($response,'address2'))?$response->address2:""; + $this->user->profile->country = (property_exists($response,'country'))?$response->country:""; +//unknown $this->user->profile->region = (property_exists($response,'unknown'))?$response->unknown:""; + $this->user->profile->city = (property_exists($response,'city'))?$response->city:""; + $this->user->profile->zip = (property_exists($response,'postalcode'))?$response->postalcode:""; + + return $this->user->profile; + } + + /** + * load the current user contacts + */ + function getUserContacts() + { + $parameters = array( 'page' => 1 ); + $response = $this->api->get( 'user/list_friends.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User contacts request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( ! $response || ! count( $response->friends ) ){ + return ARRAY(); + } + + $max_page = (property_exists($response,'max_page'))?$response->max_page:1; + for ($i = 0; $i<$max_page; $i++) { + if( $i > 0 ) { + $parameters = array( 'page' => $i ); + $response = $this->api->get( 'user/list_friends.json', $parameters ); + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User contacts request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + } + + if( $response && count( $response->friends ) ){ + foreach( $response->friends as $item ){ + $uc = new Hybrid_User_Contact(); + + $uc->identifier = (property_exists($item,'id_user'))?$item->id_user:""; + $uc->displayName = (property_exists($item,'username'))?$item->username:""; + $uc->profileURL = (property_exists($item,'user_url'))?$item->user_url:""; + $uc->photoURL = (property_exists($item,'avatar_url'))?$item->avatar_url:""; + //$uc->description = (property_exists($item,'description'))?$item->description:""; + + $contacts[] = $uc; + } + } + } + + return $contacts; + } + + /** + * return the user activity stream + */ + function getUserActivity( $stream ) + { + if( $stream == "me" ){ + $response = $this->api->get( 'newsfeed/list_events.json?events_category=own' ); + } + else{ + $response = $this->api->get( 'newsfeed/list_events.json?events_category=friends' ); + } + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User activity stream request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( ! $response ){ + return ARRAY(); + } + + $activities = ARRAY(); + + foreach( $response as $item ){ + $ua = new Hybrid_User_Activity(); + + $ua->id = (property_exists($item,'id_event'))?$item->id_event:""; + $ua->date = (property_exists($item,'timestamp'))?$item->timestamp:""; + $ua->text = (property_exists($item,'content'))?$item->content:""; + $ua->text = ($ua->text)?trim(strip_tags($ua->text)):""; + + $ua->user->identifier = (property_exists($item->from,'id_user'))?$item->from->id_user:""; + $ua->user->displayName = (property_exists($item->from,'username'))?$item->from->username:""; + $ua->user->profileURL = (property_exists($item->from,'user_url'))?$item->from->user_url:""; + $ua->user->photoURL = (property_exists($item->from,'avatar_url'))?$item->from->avatar_url:""; + + $activities[] = $ua; + } + + return $activities; + } + + + /** + * update user status + */ + function setUserStatus( $status ) + { + $parameters = array( 'message' => $status ); + $response = $this->api->post( 'mood/set_mood.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + } + +} + diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Stackoverflow.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Stackoverflow.php new file mode 100644 index 0000000..af33636 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Stackoverflow.php @@ -0,0 +1,5 @@ +user->profile->identifier ); + + if( $uid ){ + $data = curl_gets_url( "http://steamcommunity.com/profiles/$uid/?xml=1" ); + + $data = @ new SimpleXMLElement( $data ); + + if ( ! is_object( $data ) ){ + return false; + } + + $this->user->profile->displayName = (string) $data->{'steamID'}; + $this->user->profile->photoURL = (string) $data->{'avatarMedium'}; + $this->user->profile->description = (string) $data->{'summary'}; + + $realname = (string) $data->{'realname'}; + + if( $realname ){ + $this->user->profile->displayName = $realname; + } + + $customURL = (string) $data->{'customURL'}; + + if( $customURL ){ + $this->user->profile->profileURL = "http://steamcommunity.com/id/$customURL/"; + } + + // restore the user profile + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user ); + } + } +} + +function curl_gets_url( $curl_url ){ + $ch = curl_init(); + $curl_options = array( + CURLOPT_URL => $curl_url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_FOLLOWLOCATION => true, + CURLOPT_MAXREDIRS => 3, + CURLOPT_TIMEOUT => 10 + ); + curl_setopt_array($ch, $curl_options); + $data = curl_exec($ch); + + return $data; +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Tumblr.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Tumblr.php new file mode 100644 index 0000000..13bcd7d --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Tumblr.php @@ -0,0 +1,79 @@ +api->api_base_url = "http://api.tumblr.com/v2/"; + $this->api->authorize_url = "http://www.tumblr.com/oauth/authorize"; + $this->api->request_token_url = "http://www.tumblr.com/oauth/request_token"; + $this->api->access_token_url = "http://www.tumblr.com/oauth/access_token"; + + $this->api->curl_auth_header = false; + } + + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + try{ + $profile = $this->api->get( 'user/info' ); + + foreach ( $profile->response->user->blogs as $blog ){ + if( $blog->primary ){ + $bloghostname = explode( '://', $blog->url ); + $bloghostname = substr( $bloghostname[1], 0, -1); + + // store the user primary blog base hostname + $this->token( "primary_blog" , $bloghostname ); + + $this->user->profile->identifier = $blog->url; + $this->user->profile->displayName = $profile->response->user->name; + $this->user->profile->profileURL = $blog->url; + $this->user->profile->webSiteURL = $blog->url; + $this->user->profile->description = strip_tags( $blog->description ); + + $avatar = $this->api->get( 'blog/'. $this->token( "primary_blog" ) .'/avatar' ); + + $this->user->profile->photoURL = $avatar->response->avatar_url; + + break; + } + } + } + catch( Exception $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error while requesting the user profile.", 6 ); + } + + return $this->user->profile; + } + + /** + * post to tumblr + */ + function setUserStatus( $status ) + { + $parameters = array( 'type' => "text", 'body' => $status ); + $response = $this->api->post( "blog/" . $this->token( "primary_blog" ) . '/post', $parameters ); + + if ( $response->meta->status != 201 ){ + throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $response->meta->status ) ); + } + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/TwitchTV.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/TwitchTV.php new file mode 100644 index 0000000..e838db7 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/TwitchTV.php @@ -0,0 +1,73 @@ +api->api_base_url = "https://api.twitch.tv/kraken/"; + $this->api->authorize_url = "https://api.twitch.tv/kraken/oauth2/authorize"; + $this->api->token_url = "https://api.twitch.tv/kraken/oauth2/token"; + + $this->api->sign_token_name = "oauth_token"; + } + + /** + * begin login step + */ + function loginBegin() + { + $parameters = array( "scope" => $this->scope ); + $optionals = array( "scope" ); + + foreach ($optionals as $parameter){ + if( isset( $this->config[$parameter] ) && ! empty( $this->config[$parameter] ) ){ + $parameters[$parameter] = $this->config[$parameter]; + } + } + + Hybrid_Auth::redirect( $this->api->authorizeUrl( $parameters ) ); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $data = $this->api->api( "user" ); + + if ( ! isset( $data->name ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalid response.", 6 ); + } + + $this->user->profile->identifier = $data->_id; + $this->user->profile->displayName = $data->display_name; + $this->user->profile->photoURL = $data->logo; + $this->user->profile->profileURL = "http://www.twitch.tv/" . $data->name; + $this->user->profile->email = $data->email; + + if( ! $this->user->profile->displayName ){ + $this->user->profile->displayName = $data->name; + } + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Twitter.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Twitter.php new file mode 100644 index 0000000..8076c94 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Twitter.php @@ -0,0 +1,165 @@ +api->api_base_url = "https://api.twitter.com/1.1/"; + $this->api->authorize_url = "https://api.twitter.com/oauth/authenticate"; + $this->api->request_token_url = "https://api.twitter.com/oauth/request_token"; + $this->api->access_token_url = "https://api.twitter.com/oauth/access_token"; + + $this->api->curl_auth_header = false; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $response = $this->api->get( 'account/verify_credentials.json' ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ), 6 ); + } + + if ( ! is_object( $response ) || ! isset( $response->id ) ){ + throw new Exception( "User profile request failed! {$this->providerId} api returned an invalid response.", 6 ); + } + + # store the user profile. + $this->user->profile->identifier = (property_exists($response,'id'))?$response->id:""; + $this->user->profile->displayName = (property_exists($response,'screen_name'))?$response->screen_name:""; + $this->user->profile->description = (property_exists($response,'description'))?$response->description:""; + $this->user->profile->firstName = (property_exists($response,'name'))?$response->name:""; + $this->user->profile->photoURL = (property_exists($response,'profile_image_url'))?$response->profile_image_url:""; + $this->user->profile->profileURL = (property_exists($response,'screen_name'))?("http://twitter.com/".$response->screen_name):""; + $this->user->profile->webSiteURL = (property_exists($response,'url'))?$response->url:""; + $this->user->profile->region = (property_exists($response,'location'))?$response->location:""; + + return $this->user->profile; + } + + /** + * load the user contacts + */ + function getUserContacts() + { + $parameters = array( 'cursor' => '-1' ); + $response = $this->api->get( 'friends/ids.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User contacts request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( ! $response || ! count( $response->ids ) ){ + return ARRAY(); + } + + // 75 id per time should be okey + $contactsids = array_chunk ( $response->ids, 75 ); + + $contacts = ARRAY(); + + foreach( $contactsids as $chunk ){ + $parameters = array( 'user_id' => implode( ",", $chunk ) ); + $response = $this->api->get( 'users/lookup.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User contacts request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( $response && count( $response ) ){ + foreach( $response as $item ){ + $uc = new Hybrid_User_Contact(); + + $uc->identifier = (property_exists($item,'id'))?$item->id:""; + $uc->displayName = (property_exists($item,'name'))?$item->name:""; + $uc->profileURL = (property_exists($item,'screen_name'))?("http://twitter.com/".$item->screen_name):""; + $uc->photoURL = (property_exists($item,'profile_image_url'))?$item->profile_image_url:""; + $uc->description = (property_exists($item,'description'))?$item->description:""; + + $contacts[] = $uc; + } + } + } + + return $contacts; + } + + /** + * update user status + */ + function setUserStatus( $status ) + { + $parameters = array( 'status' => $status ); + $response = $this->api->post( 'statuses/update.json', $parameters ); + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "Update user status failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + } + + /** + * load the user latest activity + * - timeline : all the stream + * - me : the user activity only + * + * by default return the timeline + */ + function getUserActivity( $stream ) + { + if( $stream == "me" ){ + $response = $this->api->get( 'statuses/user_timeline.json' ); + } + else{ + $response = $this->api->get( 'statuses/home_timeline.json' ); + } + + // check the last HTTP status code returned + if ( $this->api->http_code != 200 ){ + throw new Exception( "User activity stream request failed! {$this->providerId} returned an error. " . $this->errorMessageByStatus( $this->api->http_code ) ); + } + + if( ! $response ){ + return ARRAY(); + } + + $activities = ARRAY(); + + foreach( $response as $item ){ + $ua = new Hybrid_User_Activity(); + + $ua->id = (property_exists($item,'id'))?$item->id:""; + $ua->date = (property_exists($item,'created_at'))?strtotime($item->created_at):""; + $ua->text = (property_exists($item,'text'))?$item->text:""; + + $ua->user->identifier = (property_exists($item->user,'id'))?$item->user->id:""; + $ua->user->displayName = (property_exists($item->user,'name'))?$item->user->name:""; + $ua->user->profileURL = (property_exists($item->user,'screen_name'))?("http://twitter.com/".$item->user->screen_name):""; + $ua->user->photoURL = (property_exists($item->user,'profile_image_url'))?$item->user->profile_image_url:""; + + $activities[] = $ua; + } + + return $activities; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Vkontakte.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Vkontakte.php new file mode 100644 index 0000000..db4cedd --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Vkontakte.php @@ -0,0 +1,115 @@ +api->authorize_url = "http://api.vk.com/oauth/authorize"; + $this->api->token_url = "https://api.vk.com/oauth/token"; + //$this->api->token_info_url + } + + function loginFinish() + { + $error = (array_key_exists('error',$_REQUEST))?$_REQUEST['error']:""; + + // check for errors + if ( $error ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an error: $error", 5 ); + } + + // try to authenicate user + $code = (array_key_exists('code',$_REQUEST))?$_REQUEST['code']:""; + + try{ + $response = $this->api->authenticate( $code ); + } + catch( Exception $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error: $e", 6 ); + } + + // check if authenticated + if ( !property_exists($response,'user_id') || ! $this->api->access_token ){ + throw new Exception( "Authentification failed! {$this->providerId} returned an invalid access token.", 5 ); + } + + // store tokens + $this->token( "access_token" , $this->api->access_token ); + $this->token( "refresh_token", $this->api->refresh_token ); + $this->token( "expires_in" , $this->api->access_token_expires_in ); + $this->token( "expires_at" , $this->api->access_token_expires_at ); + + // store user id. it is required for api access to Vkontakte + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user_id", $response->user_id ); + + // set user connected locally + $this->setUserConnected(); + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + // refresh tokens if needed + $this->refreshToken(); + + // Vkontakte requires user id, not just token for api access + $params['uid'] = Hybrid_Auth::storage()->get( "hauth_session.{$this->providerId}.user_id" ); + $params['fields'] = 'first_name,last_name,nickname,screen_name,sex,bdate,timezone,photo_rec,photo_big'; + // ask vkontakte api for user infos + $response = $this->api->api( "https://api.vk.com/method/getProfiles" , 'GET', $params); + + + if (!isset( $response->response[0] ) || !isset( $response->response[0]->uid ) || isset( $response->error ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $response = $response->response[0]; + $this->user->profile->identifier = (property_exists($response,'uid'))?$response->uid:""; + $this->user->profile->firstName = (property_exists($response,'first_name'))?$response->first_name:""; + $this->user->profile->lastName = (property_exists($response,'last_name'))?$response->last_name:""; + $this->user->profile->displayName = (property_exists($response,'nickname'))?$response->nickname:""; + $this->user->profile->photoURL = (property_exists($response,'photo_big'))?$response->photo_big:""; + $this->user->profile->profileURL = (property_exists($response,'screen_name'))?"http://vk.com/" . $response->screen_name:""; + + if(property_exists($response,'sex')){ + switch ($response->sex) + { + case 1: $this->user->profile->gender = 'female'; break; + case 2: $this->user->profile->gender = 'male'; break; + default: $this->user->profile->gender = ''; break; + } + } + + if( property_exists($response,'bdate') ){ + list($birthday_year, $birthday_month, $birthday_day) = explode( '.', $response->bdate ); + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + return $this->user->profile; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Yahoo.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Yahoo.php new file mode 100644 index 0000000..2b0df0f --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Yahoo.php @@ -0,0 +1,31 @@ +user->profile->emailVerified = $this->user->profile->email; + + // restore the user profile + Hybrid_Auth::storage()->set( "hauth_session.{$this->providerId}.user", $this->user ); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Yandex.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Yandex.php new file mode 100644 index 0000000..3ee528a --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/Yandex.php @@ -0,0 +1,61 @@ +api->api_base_url = "https://login.yandex.ru/info"; + $this->api->authorize_url = "https://oauth.yandex.ru/authorize"; + $this->api->token_url = "https://oauth.yandex.ru/token"; + + $this->api->sign_token_name = "oauth_token"; + } + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + $response = $this->api->api( "?format=json" ); + if ( ! isset( $response->id ) ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an invalide response.", 6 ); + } + + $this->user->profile->identifier = (property_exists($response,'id'))?$response->id:""; + $this->user->profile->firstName = (property_exists($response,'real_name'))?$response->real_name:""; + $this->user->profile->lastName = (property_exists($response,'family_name'))?$response->family_name:""; + $this->user->profile->displayName = (property_exists($response,'display_name'))?$response->display_name:""; + $this->user->profile->photoURL = 'http://upics.yandex.net/'. $this->user->profile->identifier .'/normal'; + $this->user->profile->profileURL = ""; + $this->user->profile->gender = (property_exists($response,'sex'))?$response->sex:""; + $this->user->profile->email = (property_exists($response,'default_email'))?$response->default_email:""; + $this->user->profile->emailVerified = (property_exists($response,'default_email'))?$response->default_email:""; + + if( property_exists($response,'birthday') ){ + list($birthday_year, $birthday_month, $birthday_day) = explode( '-', $response->birthday ); + + $this->user->profile->birthDay = (int) $birthday_day; + $this->user->profile->birthMonth = (int) $birthday_month; + $this->user->profile->birthYear = (int) $birthday_year; + } + + return $this->user->profile; + } +} \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/px500.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/px500.php new file mode 100644 index 0000000..47f449b --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Providers/px500.php @@ -0,0 +1,100 @@ +api->api_base_url = "https://api.500px.com/v1/"; + $this->api->authorize_url = "https://api.500px.com/v1/oauth/authorize"; + $this->api->request_token_url = "https://api.500px.com/v1/oauth/request_token"; + $this->api->access_token_url = "https://api.500px.com/v1/oauth/access_token"; + + $this->api->curl_auth_header = false; + } + + + /** + * load the user profile from the IDp api client + */ + function getUserProfile() + { + + + try{ + $response = $this->api->get( 'users' ); + + $this->user->profile->identifier = (property_exists($response->user,'id'))?$response->user->id:""; + $this->user->profile->displayName = (property_exists($response->user,'username'))?$response->user->username:""; + $this->user->profile->description = (property_exists($response->user,'about'))?$response->user->about:""; + $this->user->profile->firstName = (property_exists($response->user,'firstname'))?$response->user->firstname:""; + $this->user->profile->lastName = (property_exists($response->user,'lastname'))?$response->user->lastname:""; + $this->user->profile->photoURL = (property_exists($response->user,'userpic_url'))?$response->user->userpic_url:""; + $this->user->profile->profileURL = (property_exists($response->user,'domain'))?("http://".$response->user->domain):""; + $this->user->profile->webSiteURL = (property_exists($response->user->contacts,'website'))?$response->user->contacts->website:""; + $this->user->profile->city = (property_exists($response->user,'city'))?$response->user->city:""; + $this->user->profile->region = (property_exists($response->user,'state'))?$response->user->state:""; + $this->user->profile->country = (property_exists($response->user,'country'))?$response->user->country:""; + + if(property_exists($response->user,'sex')){ + if($response->user->sex>0){ + $this->user->profile->gender = ($response->user->sex==1)?"male":"female"; + } + } + + return $this->user->profile; + } + catch( Exception $e ){ + throw new Exception( "User profile request failed! {$this->providerId} returned an error while requesting the user profile.", 6 ); + } + + return $this->user->profile; + } + + /** + * post to 500px + */ + function setUserStatus( $status ) + { + // README : posting to a 500px.com blog requires the post's TITLE to be set somehow + // So it is strongly recommended that you submit status as an ARRAY, like : + + // setUserStatus( array( 'title'=>'YOUR TITLE HERE', 'body'=>'YOUR MESSAGE HERE' ) ) + + + if(is_array($status) && isset($status['title']) && isset($status['body'])){ + $t = $status['title']; + $b = $status['body']; + } else { + $t = '...'; + $b = $status; + } + + $parameters = array( 'title' => $t, 'body' => $b ); + $response = $this->api->post( 'blogs', $parameters ); + + if ( property_exists($response,'id') ){ + return $response->id; + } else { + throw new Exception( "Update user status failed! {$this->providerId} returned an error. " ); + } + + // this function is for 'plain' blog posting only : + // we will commit photo upload soon in an extra function, called setUpload - + // because 500px users can also get an additional Upload Key to upload pictures + // refer to http://developers.500px.com/docs/upload-post for now + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Storage.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Storage.php new file mode 100644 index 0000000..dfbdb89 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/Storage.php @@ -0,0 +1,97 @@ +config( "php_session_id", session_id() ); + $this->config( "version", Hybrid_Auth::$version ); + } + + public function config($key, $value=null) + { + $key = strtolower( $key ); + + if( $value ){ + $_SESSION["HA::CONFIG"][$key] = serialize( $value ); + } + elseif( isset( $_SESSION["HA::CONFIG"][$key] ) ){ + return unserialize( $_SESSION["HA::CONFIG"][$key] ); + } + + return NULL; + } + + public function get($key) + { + $key = strtolower( $key ); + + if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){ + return unserialize( $_SESSION["HA::STORE"][$key] ); + } + + return NULL; + } + + public function set( $key, $value ) + { + $key = strtolower( $key ); + + $_SESSION["HA::STORE"][$key] = serialize( $value ); + } + + function clear() + { + $_SESSION["HA::STORE"] = ARRAY(); + } + + function delete($key) + { + $key = strtolower( $key ); + + if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){ + unset( $_SESSION["HA::STORE"][$key] ); + } + } + + function deleteMatch($key) + { + $key = strtolower( $key ); + + if( isset( $_SESSION["HA::STORE"] ) && count( $_SESSION["HA::STORE"] ) ) { + foreach( $_SESSION["HA::STORE"] as $k => $v ){ + if( strstr( $k, $key ) ){ + unset( $_SESSION["HA::STORE"][ $k ] ); + } + } + } + } + + function getSessionData() + { + if( isset( $_SESSION["HA::STORE"] ) ){ + return serialize( $_SESSION["HA::STORE"] ); + } + + return NULL; + } + + function restoreSessionData( $sessiondata = NULL ) + { + $_SESSION["HA::STORE"] = unserialize( $sessiondata ); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User.php new file mode 100644 index 0000000..707999a --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User.php @@ -0,0 +1,31 @@ +timestamp = time(); + + $this->profile = new Hybrid_User_Profile(); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User_Activity.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User_Activity.php new file mode 100644 index 0000000..3ee08aa --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User_Activity.php @@ -0,0 +1,39 @@ +user = new stdClass(); + + // typically, we should have a few information about the user who created the event from social apis + $this->user->identifier = NULL; + $this->user->displayName = NULL; + $this->user->profileURL = NULL; + $this->user->photoURL = NULL; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User_Contact.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User_Contact.php new file mode 100644 index 0000000..7c6ad8d --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/User_Contact.php @@ -0,0 +1,37 @@ + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/index.html b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/index.html new file mode 100644 index 0000000..065d2da --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/index.html @@ -0,0 +1,10 @@ + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_policy.html b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_policy.html new file mode 100644 index 0000000..bf5c52c --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_policy.html @@ -0,0 +1,10 @@ + + + OpenID Policy + + + + + \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_realm.html b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_realm.html new file mode 100644 index 0000000..e26a5a1 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_realm.html @@ -0,0 +1,13 @@ + + + HybridAuth Endpoint + + + + +

    HybridAuth

    + Open Source Social Sign On PHP Library. +
    + hybridauth.sourceforge.net/ + + diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_xrds.xml b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_xrds.xml new file mode 100644 index 0000000..9d50170 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/resources/openid_xrds.xml @@ -0,0 +1,12 @@ + + + + + http://specs.openid.net/auth/2.0/return_to + {RETURN_TO_URL} + + + \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php new file mode 100644 index 0000000..8275819 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/base_facebook.php @@ -0,0 +1,1436 @@ + + */ +class FacebookApiException extends Exception +{ + /** + * The result from the API server that represents the exception information. + */ + protected $result; + + /** + * Make a new API Exception with the given result. + * + * @param array $result The result from the API server + */ + public function __construct($result) { + $this->result = $result; + + $code = isset($result['error_code']) ? $result['error_code'] : 0; + + if (isset($result['error_description'])) { + // OAuth 2.0 Draft 10 style + $msg = $result['error_description']; + } else if (isset($result['error']) && is_array($result['error'])) { + // OAuth 2.0 Draft 00 style + $msg = $result['error']['message']; + } else if (isset($result['error_msg'])) { + // Rest server style + $msg = $result['error_msg']; + } else { + $msg = 'Unknown Error. Check getResult()'; + } + + parent::__construct($msg, $code); + } + + /** + * Return the associated result object returned by the API server. + * + * @return array The result from the API server + */ + public function getResult() { + return $this->result; + } + + /** + * Returns the associated type for the error. This will default to + * 'Exception' when a type is not available. + * + * @return string + */ + public function getType() { + if (isset($this->result['error'])) { + $error = $this->result['error']; + if (is_string($error)) { + // OAuth 2.0 Draft 10 style + return $error; + } else if (is_array($error)) { + // OAuth 2.0 Draft 00 style + if (isset($error['type'])) { + return $error['type']; + } + } + } + + return 'Exception'; + } + + /** + * To make debugging easier. + * + * @return string The string representation of the error + */ + public function __toString() { + $str = $this->getType() . ': '; + if ($this->code != 0) { + $str .= $this->code . ': '; + } + return $str . $this->message; + } +} + +/** + * Provides access to the Facebook Platform. This class provides + * a majority of the functionality needed, but the class is abstract + * because it is designed to be sub-classed. The subclass must + * implement the four abstract methods listed at the bottom of + * the file. + * + * @author Naitik Shah + */ +abstract class BaseFacebook +{ + /** + * Version. + */ + const VERSION = '3.2.2'; + + /** + * Signed Request Algorithm. + */ + const SIGNED_REQUEST_ALGORITHM = 'HMAC-SHA256'; + + /** + * Default options for curl. + */ + public static $CURL_OPTS = array( + CURLOPT_CONNECTTIMEOUT => 10, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 60, + CURLOPT_USERAGENT => 'facebook-php-3.2', + ); + + /** + * List of query parameters that get automatically dropped when rebuilding + * the current URL. + */ + protected static $DROP_QUERY_PARAMS = array( + 'code', + 'state', + 'signed_request', + ); + + /** + * Maps aliases to Facebook domains. + */ + public static $DOMAIN_MAP = array( + 'api' => 'https://api.facebook.com/', + 'api_video' => 'https://api-video.facebook.com/', + 'api_read' => 'https://api-read.facebook.com/', + 'graph' => 'https://graph.facebook.com/', + 'graph_video' => 'https://graph-video.facebook.com/', + 'www' => 'https://www.facebook.com/', + ); + + /** + * The Application ID. + * + * @var string + */ + protected $appId; + + /** + * The Application App Secret. + * + * @var string + */ + protected $appSecret; + + /** + * The ID of the Facebook user, or 0 if the user is logged out. + * + * @var integer + */ + protected $user; + + /** + * The data from the signed_request token. + */ + protected $signedRequest; + + /** + * A CSRF state variable to assist in the defense against CSRF attacks. + */ + protected $state; + + /** + * The OAuth access token received in exchange for a valid authorization + * code. null means the access token has yet to be determined. + * + * @var string + */ + protected $accessToken = null; + + /** + * Indicates if the CURL based @ syntax for file uploads is enabled. + * + * @var boolean + */ + protected $fileUploadSupport = false; + + /** + * Indicates if we trust HTTP_X_FORWARDED_* headers. + * + * @var boolean + */ + protected $trustForwarded = false; + + /** + * Initialize a Facebook Application. + * + * The configuration: + * - appId: the application ID + * - secret: the application secret + * - fileUpload: (optional) boolean indicating if file uploads are enabled + * + * @param array $config The application configuration + */ + public function __construct($config) { + $this->setAppId($config['appId']); + $this->setAppSecret($config['secret']); + if (isset($config['fileUpload'])) { + $this->setFileUploadSupport($config['fileUpload']); + } + if (isset($config['trustForwarded']) && $config['trustForwarded']) { + $this->trustForwarded = true; + } + $state = $this->getPersistentData('state'); + if (!empty($state)) { + $this->state = $state; + } + } + + /** + * Set the Application ID. + * + * @param string $appId The Application ID + * @return BaseFacebook + */ + public function setAppId($appId) { + $this->appId = $appId; + return $this; + } + + /** + * Get the Application ID. + * + * @return string the Application ID + */ + public function getAppId() { + return $this->appId; + } + + /** + * Set the App Secret. + * + * @param string $apiSecret The App Secret + * @return BaseFacebook + * @deprecated + */ + public function setApiSecret($apiSecret) { + $this->setAppSecret($apiSecret); + return $this; + } + + /** + * Set the App Secret. + * + * @param string $appSecret The App Secret + * @return BaseFacebook + */ + public function setAppSecret($appSecret) { + $this->appSecret = $appSecret; + return $this; + } + + /** + * Get the App Secret. + * + * @return string the App Secret + * @deprecated + */ + public function getApiSecret() { + return $this->getAppSecret(); + } + + /** + * Get the App Secret. + * + * @return string the App Secret + */ + public function getAppSecret() { + return $this->appSecret; + } + + /** + * Set the file upload support status. + * + * @param boolean $fileUploadSupport The file upload support status. + * @return BaseFacebook + */ + public function setFileUploadSupport($fileUploadSupport) { + $this->fileUploadSupport = $fileUploadSupport; + return $this; + } + + /** + * Get the file upload support status. + * + * @return boolean true if and only if the server supports file upload. + */ + public function getFileUploadSupport() { + return $this->fileUploadSupport; + } + + /** + * DEPRECATED! Please use getFileUploadSupport instead. + * + * Get the file upload support status. + * + * @return boolean true if and only if the server supports file upload. + */ + public function useFileUploadSupport() { + return $this->getFileUploadSupport(); + } + + /** + * Sets the access token for api calls. Use this if you get + * your access token by other means and just want the SDK + * to use it. + * + * @param string $access_token an access token. + * @return BaseFacebook + */ + public function setAccessToken($access_token) { + $this->accessToken = $access_token; + return $this; + } + + /** + * Extend an access token, while removing the short-lived token that might + * have been generated via client-side flow. Thanks to http://bit.ly/b0Pt0H + * for the workaround. + */ + public function setExtendedAccessToken() { + try { + // need to circumvent json_decode by calling _oauthRequest + // directly, since response isn't JSON format. + $access_token_response = $this->_oauthRequest( + $this->getUrl('graph', '/oauth/access_token'), + $params = array( + 'client_id' => $this->getAppId(), + 'client_secret' => $this->getAppSecret(), + 'grant_type' => 'fb_exchange_token', + 'fb_exchange_token' => $this->getAccessToken(), + ) + ); + } + catch (FacebookApiException $e) { + // most likely that user very recently revoked authorization. + // In any event, we don't have an access token, so say so. + return false; + } + + if (empty($access_token_response)) { + return false; + } + + $response_params = array(); + parse_str($access_token_response, $response_params); + + if (!isset($response_params['access_token'])) { + return false; + } + + $this->destroySession(); + + $this->setPersistentData( + 'access_token', $response_params['access_token'] + ); + } + + /** + * Determines the access token that should be used for API calls. + * The first time this is called, $this->accessToken is set equal + * to either a valid user access token, or it's set to the application + * access token if a valid user access token wasn't available. Subsequent + * calls return whatever the first call returned. + * + * @return string The access token + */ + public function getAccessToken() { + if ($this->accessToken !== null) { + // we've done this already and cached it. Just return. + return $this->accessToken; + } + + // first establish access token to be the application + // access token, in case we navigate to the /oauth/access_token + // endpoint, where SOME access token is required. + $this->setAccessToken($this->getApplicationAccessToken()); + $user_access_token = $this->getUserAccessToken(); + if ($user_access_token) { + $this->setAccessToken($user_access_token); + } + + return $this->accessToken; + } + + /** + * Determines and returns the user access token, first using + * the signed request if present, and then falling back on + * the authorization code if present. The intent is to + * return a valid user access token, or false if one is determined + * to not be available. + * + * @return string A valid user access token, or false if one + * could not be determined. + */ + protected function getUserAccessToken() { + // first, consider a signed request if it's supplied. + // if there is a signed request, then it alone determines + // the access token. + $signed_request = $this->getSignedRequest(); + if ($signed_request) { + // apps.facebook.com hands the access_token in the signed_request + if (array_key_exists('oauth_token', $signed_request)) { + $access_token = $signed_request['oauth_token']; + $this->setPersistentData('access_token', $access_token); + return $access_token; + } + + // the JS SDK puts a code in with the redirect_uri of '' + if (array_key_exists('code', $signed_request)) { + $code = $signed_request['code']; + if ($code && $code == $this->getPersistentData('code')) { + // short-circuit if the code we have is the same as the one presented + return $this->getPersistentData('access_token'); + } + + $access_token = $this->getAccessTokenFromCode($code, ''); + if ($access_token) { + $this->setPersistentData('code', $code); + $this->setPersistentData('access_token', $access_token); + return $access_token; + } + } + + // signed request states there's no access token, so anything + // stored should be cleared. + $this->clearAllPersistentData(); + return false; // respect the signed request's data, even + // if there's an authorization code or something else + } + + $code = $this->getCode(); + if ($code && $code != $this->getPersistentData('code')) { + $access_token = $this->getAccessTokenFromCode($code); + if ($access_token) { + $this->setPersistentData('code', $code); + $this->setPersistentData('access_token', $access_token); + return $access_token; + } + + // code was bogus, so everything based on it should be invalidated. + $this->clearAllPersistentData(); + return false; + } + + // as a fallback, just return whatever is in the persistent + // store, knowing nothing explicit (signed request, authorization + // code, etc.) was present to shadow it (or we saw a code in $_REQUEST, + // but it's the same as what's in the persistent store) + return $this->getPersistentData('access_token'); + } + + /** + * Retrieve the signed request, either from a request parameter or, + * if not present, from a cookie. + * + * @return string the signed request, if available, or null otherwise. + */ + public function getSignedRequest() { + if (!$this->signedRequest) { + if (!empty($_REQUEST['signed_request'])) { + $this->signedRequest = $this->parseSignedRequest( + $_REQUEST['signed_request']); + } else if (!empty($_COOKIE[$this->getSignedRequestCookieName()])) { + $this->signedRequest = $this->parseSignedRequest( + $_COOKIE[$this->getSignedRequestCookieName()]); + } + } + return $this->signedRequest; + } + + /** + * Get the UID of the connected user, or 0 + * if the Facebook user is not connected. + * + * @return string the UID if available. + */ + public function getUser() { + if ($this->user !== null) { + // we've already determined this and cached the value. + return $this->user; + } + + return $this->user = $this->getUserFromAvailableData(); + } + + /** + * Determines the connected user by first examining any signed + * requests, then considering an authorization code, and then + * falling back to any persistent store storing the user. + * + * @return integer The id of the connected Facebook user, + * or 0 if no such user exists. + */ + protected function getUserFromAvailableData() { + // if a signed request is supplied, then it solely determines + // who the user is. + $signed_request = $this->getSignedRequest(); + if ($signed_request) { + if (array_key_exists('user_id', $signed_request)) { + $user = $signed_request['user_id']; + $this->setPersistentData('user_id', $signed_request['user_id']); + return $user; + } + + // if the signed request didn't present a user id, then invalidate + // all entries in any persistent store. + $this->clearAllPersistentData(); + return 0; + } + + $user = $this->getPersistentData('user_id', $default = 0); + $persisted_access_token = $this->getPersistentData('access_token'); + + // use access_token to fetch user id if we have a user access_token, or if + // the cached access token has changed. + $access_token = $this->getAccessToken(); + if ($access_token && + $access_token != $this->getApplicationAccessToken() && + !($user && $persisted_access_token == $access_token)) { + $user = $this->getUserFromAccessToken(); + if ($user) { + $this->setPersistentData('user_id', $user); + } else { + $this->clearAllPersistentData(); + } + } + + return $user; + } + + /** + * Get a Login URL for use with redirects. By default, full page redirect is + * assumed. If you are using the generated URL with a window.open() call in + * JavaScript, you can pass in display=popup as part of the $params. + * + * The parameters: + * - redirect_uri: the url to go to after a successful login + * - scope: comma separated list of requested extended perms + * + * @param array $params Provide custom parameters + * @return string The URL for the login flow + */ + public function getLoginUrl($params=array()) { + $this->establishCSRFTokenState(); + $currentUrl = $this->getCurrentUrl(); + + // if 'scope' is passed as an array, convert to comma separated list + $scopeParams = isset($params['scope']) ? $params['scope'] : null; + if ($scopeParams && is_array($scopeParams)) { + $params['scope'] = implode(',', $scopeParams); + } + + return $this->getUrl( + 'www', + 'dialog/oauth', + array_merge(array( + 'client_id' => $this->getAppId(), + 'redirect_uri' => $currentUrl, // possibly overwritten + 'state' => $this->state), + $params)); + } + + /** + * Get a Logout URL suitable for use with redirects. + * + * The parameters: + * - next: the url to go to after a successful logout + * + * @param array $params Provide custom parameters + * @return string The URL for the logout flow + */ + public function getLogoutUrl($params=array()) { + return $this->getUrl( + 'www', + 'logout.php', + array_merge(array( + 'next' => $this->getCurrentUrl(), + 'access_token' => $this->getUserAccessToken(), + ), $params) + ); + } + + /** + * Get a login status URL to fetch the status from Facebook. + * + * The parameters: + * - ok_session: the URL to go to if a session is found + * - no_session: the URL to go to if the user is not connected + * - no_user: the URL to go to if the user is not signed into facebook + * + * @param array $params Provide custom parameters + * @return string The URL for the logout flow + */ + public function getLoginStatusUrl($params=array()) { + return $this->getUrl( + 'www', + 'extern/login_status.php', + array_merge(array( + 'api_key' => $this->getAppId(), + 'no_session' => $this->getCurrentUrl(), + 'no_user' => $this->getCurrentUrl(), + 'ok_session' => $this->getCurrentUrl(), + 'session_version' => 3, + ), $params) + ); + } + + /** + * Make an API call. + * + * @return mixed The decoded response + */ + public function api(/* polymorphic */) { + $args = func_get_args(); + if (is_array($args[0])) { + return $this->_restserver($args[0]); + } else { + return call_user_func_array(array($this, '_graph'), $args); + } + } + + /** + * Constructs and returns the name of the cookie that + * potentially houses the signed request for the app user. + * The cookie is not set by the BaseFacebook class, but + * it may be set by the JavaScript SDK. + * + * @return string the name of the cookie that would house + * the signed request value. + */ + protected function getSignedRequestCookieName() { + return 'fbsr_'.$this->getAppId(); + } + + /** + * Constructs and returns the name of the coookie that potentially contain + * metadata. The cookie is not set by the BaseFacebook class, but it may be + * set by the JavaScript SDK. + * + * @return string the name of the cookie that would house metadata. + */ + protected function getMetadataCookieName() { + return 'fbm_'.$this->getAppId(); + } + + /** + * Get the authorization code from the query parameters, if it exists, + * and otherwise return false to signal no authorization code was + * discoverable. + * + * @return mixed The authorization code, or false if the authorization + * code could not be determined. + */ + protected function getCode() { + if (isset($_REQUEST['code'])) { + if ($this->state !== null && + isset($_REQUEST['state']) && + $this->state === $_REQUEST['state']) { + + // CSRF state has done its job, so clear it + $this->state = null; + $this->clearPersistentData('state'); + return $_REQUEST['code']; + } else { + self::errorLog('CSRF state token does not match one provided.'); + return false; + } + } + + return false; + } + + /** + * Retrieves the UID with the understanding that + * $this->accessToken has already been set and is + * seemingly legitimate. It relies on Facebook's Graph API + * to retrieve user information and then extract + * the user ID. + * + * @return integer Returns the UID of the Facebook user, or 0 + * if the Facebook user could not be determined. + */ + protected function getUserFromAccessToken() { + try { + $user_info = $this->api('/me'); + return $user_info['id']; + } catch (FacebookApiException $e) { + return 0; + } + } + + /** + * Returns the access token that should be used for logged out + * users when no authorization code is available. + * + * @return string The application access token, useful for gathering + * public information about users and applications. + */ + protected function getApplicationAccessToken() { + return $this->appId.'|'.$this->appSecret; + } + + /** + * Lays down a CSRF state token for this process. + * + * @return void + */ + protected function establishCSRFTokenState() { + if ($this->state === null) { + $this->state = md5(uniqid(mt_rand(), true)); + $this->setPersistentData('state', $this->state); + } + } + + /** + * Retrieves an access token for the given authorization code + * (previously generated from www.facebook.com on behalf of + * a specific user). The authorization code is sent to graph.facebook.com + * and a legitimate access token is generated provided the access token + * and the user for which it was generated all match, and the user is + * either logged in to Facebook or has granted an offline access permission. + * + * @param string $code An authorization code. + * @return mixed An access token exchanged for the authorization code, or + * false if an access token could not be generated. + */ + protected function getAccessTokenFromCode($code, $redirect_uri = null) { + if (empty($code)) { + return false; + } + + if ($redirect_uri === null) { + $redirect_uri = $this->getCurrentUrl(); + } + + try { + // need to circumvent json_decode by calling _oauthRequest + // directly, since response isn't JSON format. + $access_token_response = + $this->_oauthRequest( + $this->getUrl('graph', '/oauth/access_token'), + $params = array('client_id' => $this->getAppId(), + 'client_secret' => $this->getAppSecret(), + 'redirect_uri' => $redirect_uri, + 'code' => $code)); + } catch (FacebookApiException $e) { + // most likely that user very recently revoked authorization. + // In any event, we don't have an access token, so say so. + return false; + } + + if (empty($access_token_response)) { + return false; + } + + $response_params = array(); + parse_str($access_token_response, $response_params); + if (!isset($response_params['access_token'])) { + return false; + } + + return $response_params['access_token']; + } + + /** + * Invoke the old restserver.php endpoint. + * + * @param array $params Method call object + * + * @return mixed The decoded response object + * @throws FacebookApiException + */ + protected function _restserver($params) { + // generic application level parameters + $params['api_key'] = $this->getAppId(); + $params['format'] = 'json-strings'; + + $result = json_decode($this->_oauthRequest( + $this->getApiUrl($params['method']), + $params + ), true); + + // results are returned, errors are thrown + if (is_array($result) && isset($result['error_code'])) { + $this->throwAPIException($result); + // @codeCoverageIgnoreStart + } + // @codeCoverageIgnoreEnd + + $method = strtolower($params['method']); + if ($method === 'auth.expiresession' || + $method === 'auth.revokeauthorization') { + $this->destroySession(); + } + + return $result; + } + + /** + * Return true if this is video post. + * + * @param string $path The path + * @param string $method The http method (default 'GET') + * + * @return boolean true if this is video post + */ + protected function isVideoPost($path, $method = 'GET') { + if ($method == 'POST' && preg_match("/^(\/)(.+)(\/)(videos)$/", $path)) { + return true; + } + return false; + } + + /** + * Invoke the Graph API. + * + * @param string $path The path (required) + * @param string $method The http method (default 'GET') + * @param array $params The query/post data + * + * @return mixed The decoded response object + * @throws FacebookApiException + */ + protected function _graph($path, $method = 'GET', $params = array()) { + if (is_array($method) && empty($params)) { + $params = $method; + $method = 'GET'; + } + $params['method'] = $method; // method override as we always do a POST + + if ($this->isVideoPost($path, $method)) { + $domainKey = 'graph_video'; + } else { + $domainKey = 'graph'; + } + + $result = json_decode($this->_oauthRequest( + $this->getUrl($domainKey, $path), + $params + ), true); + + // results are returned, errors are thrown + if (is_array($result) && isset($result['error'])) { + $this->throwAPIException($result); + // @codeCoverageIgnoreStart + } + // @codeCoverageIgnoreEnd + + return $result; + } + + /** + * Make a OAuth Request. + * + * @param string $url The path (required) + * @param array $params The query/post data + * + * @return string The decoded response object + * @throws FacebookApiException + */ + protected function _oauthRequest($url, $params) { + if (!isset($params['access_token'])) { + $params['access_token'] = $this->getAccessToken(); + } + + // json_encode all params values that are not strings + foreach ($params as $key => $value) { + if (!is_string($value)) { + $params[$key] = json_encode($value); + } + } + + return $this->makeRequest($url, $params); + } + + /** + * Makes an HTTP request. This method can be overridden by subclasses if + * developers want to do fancier things or use something other than curl to + * make the request. + * + * @param string $url The URL to make the request to + * @param array $params The parameters to use for the POST body + * @param CurlHandler $ch Initialized curl handle + * + * @return string The response text + */ + protected function makeRequest($url, $params, $ch=null) { + if (!$ch) { + $ch = curl_init(); + } + + $opts = self::$CURL_OPTS; + if ($this->getFileUploadSupport()) { + $opts[CURLOPT_POSTFIELDS] = $params; + } else { + $opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&'); + } + $opts[CURLOPT_URL] = $url; + + // disable the 'Expect: 100-continue' behaviour. This causes CURL to wait + // for 2 seconds if the server does not support this header. + if (isset($opts[CURLOPT_HTTPHEADER])) { + $existing_headers = $opts[CURLOPT_HTTPHEADER]; + $existing_headers[] = 'Expect:'; + $opts[CURLOPT_HTTPHEADER] = $existing_headers; + } else { + $opts[CURLOPT_HTTPHEADER] = array('Expect:'); + } + + curl_setopt_array($ch, $opts); + $result = curl_exec($ch); + + if (curl_errno($ch) == 60) { // CURLE_SSL_CACERT + self::errorLog('Invalid or no certificate authority found, '. + 'using bundled information'); + curl_setopt($ch, CURLOPT_CAINFO, + dirname(__FILE__) . '/fb_ca_chain_bundle.crt'); + $result = curl_exec($ch); + } + + // With dual stacked DNS responses, it's possible for a server to + // have IPv6 enabled but not have IPv6 connectivity. If this is + // the case, curl will try IPv4 first and if that fails, then it will + // fall back to IPv6 and the error EHOSTUNREACH is returned by the + // operating system. + if ($result === false && empty($opts[CURLOPT_IPRESOLVE])) { + $matches = array(); + $regex = '/Failed to connect to ([^:].*): Network is unreachable/'; + if (preg_match($regex, curl_error($ch), $matches)) { + if (strlen(@inet_pton($matches[1])) === 16) { + self::errorLog('Invalid IPv6 configuration on server, '. + 'Please disable or get native IPv6 on your server.'); + self::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4; + curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); + $result = curl_exec($ch); + } + } + } + + if ($result === false) { + $e = new FacebookApiException(array( + 'error_code' => curl_errno($ch), + 'error' => array( + 'message' => curl_error($ch), + 'type' => 'CurlException', + ), + )); + curl_close($ch); + throw $e; + } + curl_close($ch); + return $result; + } + + /** + * Parses a signed_request and validates the signature. + * + * @param string $signed_request A signed token + * @return array The payload inside it or null if the sig is wrong + */ + protected function parseSignedRequest($signed_request) { + list($encoded_sig, $payload) = explode('.', $signed_request, 2); + + // decode the data + $sig = self::base64UrlDecode($encoded_sig); + $data = json_decode(self::base64UrlDecode($payload), true); + + if (strtoupper($data['algorithm']) !== self::SIGNED_REQUEST_ALGORITHM) { + self::errorLog( + 'Unknown algorithm. Expected ' . self::SIGNED_REQUEST_ALGORITHM); + return null; + } + + // check sig + $expected_sig = hash_hmac('sha256', $payload, + $this->getAppSecret(), $raw = true); + if ($sig !== $expected_sig) { + self::errorLog('Bad Signed JSON signature!'); + return null; + } + + return $data; + } + + /** + * Makes a signed_request blob using the given data. + * + * @param array The data array. + * @return string The signed request. + */ + protected function makeSignedRequest($data) { + if (!is_array($data)) { + throw new InvalidArgumentException( + 'makeSignedRequest expects an array. Got: ' . print_r($data, true)); + } + $data['algorithm'] = self::SIGNED_REQUEST_ALGORITHM; + $data['issued_at'] = time(); + $json = json_encode($data); + $b64 = self::base64UrlEncode($json); + $raw_sig = hash_hmac('sha256', $b64, $this->getAppSecret(), $raw = true); + $sig = self::base64UrlEncode($raw_sig); + return $sig.'.'.$b64; + } + + /** + * Build the URL for api given parameters. + * + * @param $method String the method name. + * @return string The URL for the given parameters + */ + protected function getApiUrl($method) { + static $READ_ONLY_CALLS = + array('admin.getallocation' => 1, + 'admin.getappproperties' => 1, + 'admin.getbannedusers' => 1, + 'admin.getlivestreamvialink' => 1, + 'admin.getmetrics' => 1, + 'admin.getrestrictioninfo' => 1, + 'application.getpublicinfo' => 1, + 'auth.getapppublickey' => 1, + 'auth.getsession' => 1, + 'auth.getsignedpublicsessiondata' => 1, + 'comments.get' => 1, + 'connect.getunconnectedfriendscount' => 1, + 'dashboard.getactivity' => 1, + 'dashboard.getcount' => 1, + 'dashboard.getglobalnews' => 1, + 'dashboard.getnews' => 1, + 'dashboard.multigetcount' => 1, + 'dashboard.multigetnews' => 1, + 'data.getcookies' => 1, + 'events.get' => 1, + 'events.getmembers' => 1, + 'fbml.getcustomtags' => 1, + 'feed.getappfriendstories' => 1, + 'feed.getregisteredtemplatebundlebyid' => 1, + 'feed.getregisteredtemplatebundles' => 1, + 'fql.multiquery' => 1, + 'fql.query' => 1, + 'friends.arefriends' => 1, + 'friends.get' => 1, + 'friends.getappusers' => 1, + 'friends.getlists' => 1, + 'friends.getmutualfriends' => 1, + 'gifts.get' => 1, + 'groups.get' => 1, + 'groups.getmembers' => 1, + 'intl.gettranslations' => 1, + 'links.get' => 1, + 'notes.get' => 1, + 'notifications.get' => 1, + 'pages.getinfo' => 1, + 'pages.isadmin' => 1, + 'pages.isappadded' => 1, + 'pages.isfan' => 1, + 'permissions.checkavailableapiaccess' => 1, + 'permissions.checkgrantedapiaccess' => 1, + 'photos.get' => 1, + 'photos.getalbums' => 1, + 'photos.gettags' => 1, + 'profile.getinfo' => 1, + 'profile.getinfooptions' => 1, + 'stream.get' => 1, + 'stream.getcomments' => 1, + 'stream.getfilters' => 1, + 'users.getinfo' => 1, + 'users.getloggedinuser' => 1, + 'users.getstandardinfo' => 1, + 'users.hasapppermission' => 1, + 'users.isappuser' => 1, + 'users.isverified' => 1, + 'video.getuploadlimits' => 1); + $name = 'api'; + if (isset($READ_ONLY_CALLS[strtolower($method)])) { + $name = 'api_read'; + } else if (strtolower($method) == 'video.upload') { + $name = 'api_video'; + } + return self::getUrl($name, 'restserver.php'); + } + + /** + * Build the URL for given domain alias, path and parameters. + * + * @param $name string The name of the domain + * @param $path string Optional path (without a leading slash) + * @param $params array Optional query parameters + * + * @return string The URL for the given parameters + */ + protected function getUrl($name, $path='', $params=array()) { + $url = self::$DOMAIN_MAP[$name]; + if ($path) { + if ($path[0] === '/') { + $path = substr($path, 1); + } + $url .= $path; + } + if ($params) { + $url .= '?' . http_build_query($params, null, '&'); + } + + return $url; + } + + protected function getHttpHost() { + if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { + return $_SERVER['HTTP_X_FORWARDED_HOST']; + } + return $_SERVER['HTTP_HOST']; + } + + protected function getHttpProtocol() { + if ($this->trustForwarded && isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) { + if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { + return 'https'; + } + return 'http'; + } + /*apache + variants specific way of checking for https*/ + if (isset($_SERVER['HTTPS']) && + ($_SERVER['HTTPS'] === 'on' || $_SERVER['HTTPS'] == 1)) { + return 'https'; + } + /*nginx way of checking for https*/ + if (isset($_SERVER['SERVER_PORT']) && + ($_SERVER['SERVER_PORT'] === '443')) { + return 'https'; + } + return 'http'; + } + + /** + * Get the base domain used for the cookie. + */ + protected function getBaseDomain() { + // The base domain is stored in the metadata cookie if not we fallback + // to the current hostname + $metadata = $this->getMetadataCookie(); + if (array_key_exists('base_domain', $metadata) && + !empty($metadata['base_domain'])) { + return trim($metadata['base_domain'], '.'); + } + return $this->getHttpHost(); + } + + /** + + /** + * Returns the Current URL, stripping it of known FB parameters that should + * not persist. + * + * @return string The current URL + */ + protected function getCurrentUrl() { + $protocol = $this->getHttpProtocol() . '://'; + $host = $this->getHttpHost(); + $currentUrl = $protocol.$host.$_SERVER['REQUEST_URI']; + $parts = parse_url($currentUrl); + + $query = ''; + if (!empty($parts['query'])) { + // drop known fb params + $params = explode('&', $parts['query']); + $retained_params = array(); + foreach ($params as $param) { + if ($this->shouldRetainParam($param)) { + $retained_params[] = $param; + } + } + + if (!empty($retained_params)) { + $query = '?'.implode($retained_params, '&'); + } + } + + // use port if non default + $port = + isset($parts['port']) && + (($protocol === 'http://' && $parts['port'] !== 80) || + ($protocol === 'https://' && $parts['port'] !== 443)) + ? ':' . $parts['port'] : ''; + + // rebuild + return $protocol . $parts['host'] . $port . $parts['path'] . $query; + } + + /** + * Returns true if and only if the key or key/value pair should + * be retained as part of the query string. This amounts to + * a brute-force search of the very small list of Facebook-specific + * params that should be stripped out. + * + * @param string $param A key or key/value pair within a URL's query (e.g. + * 'foo=a', 'foo=', or 'foo'. + * + * @return boolean + */ + protected function shouldRetainParam($param) { + foreach (self::$DROP_QUERY_PARAMS as $drop_query_param) { + if (strpos($param, $drop_query_param.'=') === 0) { + return false; + } + } + + return true; + } + + /** + * Analyzes the supplied result to see if it was thrown + * because the access token is no longer valid. If that is + * the case, then we destroy the session. + * + * @param $result array A record storing the error message returned + * by a failed API call. + */ + protected function throwAPIException($result) { + $e = new FacebookApiException($result); + switch ($e->getType()) { + // OAuth 2.0 Draft 00 style + case 'OAuthException': + // OAuth 2.0 Draft 10 style + case 'invalid_token': + // REST server errors are just Exceptions + case 'Exception': + $message = $e->getMessage(); + if ((strpos($message, 'Error validating access token') !== false) || + (strpos($message, 'Invalid OAuth access token') !== false) || + (strpos($message, 'An active access token must be used') !== false) + ) { + $this->destroySession(); + } + break; + } + + throw $e; + } + + + /** + * Prints to the error log if you aren't in command line mode. + * + * @param string $msg Log message + */ + protected static function errorLog($msg) { + // disable error log if we are running in a CLI environment + // @codeCoverageIgnoreStart + if (php_sapi_name() != 'cli') { + error_log($msg); + } + // uncomment this if you want to see the errors on the page + // print 'error_log: '.$msg."\n"; + // @codeCoverageIgnoreEnd + } + + /** + * Base64 encoding that doesn't need to be urlencode()ed. + * Exactly the same as base64_encode except it uses + * - instead of + + * _ instead of / + * No padded = + * + * @param string $input base64UrlEncoded string + * @return string + */ + protected static function base64UrlDecode($input) { + return base64_decode(strtr($input, '-_', '+/')); + } + + /** + * Base64 encoding that doesn't need to be urlencode()ed. + * Exactly the same as base64_encode except it uses + * - instead of + + * _ instead of / + * + * @param string $input string + * @return string base64Url encoded string + */ + protected static function base64UrlEncode($input) { + $str = strtr(base64_encode($input), '+/', '-_'); + $str = str_replace('=', '', $str); + return $str; + } + + /** + * Destroy the current session + */ + public function destroySession() { + $this->accessToken = null; + $this->signedRequest = null; + $this->user = null; + $this->clearAllPersistentData(); + + // Javascript sets a cookie that will be used in getSignedRequest that we + // need to clear if we can + $cookie_name = $this->getSignedRequestCookieName(); + if (array_key_exists($cookie_name, $_COOKIE)) { + unset($_COOKIE[$cookie_name]); + if (!headers_sent()) { + $base_domain = $this->getBaseDomain(); + setcookie($cookie_name, '', 1, '/', '.'.$base_domain); + } else { + // @codeCoverageIgnoreStart + self::errorLog( + 'There exists a cookie that we wanted to clear that we couldn\'t '. + 'clear because headers was already sent. Make sure to do the first '. + 'API call before outputing anything.' + ); + // @codeCoverageIgnoreEnd + } + } + } + + /** + * Parses the metadata cookie that our Javascript API set + * + * @return an array mapping key to value + */ + protected function getMetadataCookie() { + $cookie_name = $this->getMetadataCookieName(); + if (!array_key_exists($cookie_name, $_COOKIE)) { + return array(); + } + + // The cookie value can be wrapped in "-characters so remove them + $cookie_value = trim($_COOKIE[$cookie_name], '"'); + + if (empty($cookie_value)) { + return array(); + } + + $parts = explode('&', $cookie_value); + $metadata = array(); + foreach ($parts as $part) { + $pair = explode('=', $part, 2); + if (!empty($pair[0])) { + $metadata[urldecode($pair[0])] = + (count($pair) > 1) ? urldecode($pair[1]) : ''; + } + } + + return $metadata; + } + + protected static function isAllowedDomain($big, $small) { + if ($big === $small) { + return true; + } + return self::endsWith($big, '.'.$small); + } + + protected static function endsWith($big, $small) { + $len = strlen($small); + if ($len === 0) { + return true; + } + return substr($big, -$len) === $small; + } + + /** + * Each of the following four methods should be overridden in + * a concrete subclass, as they are in the provided Facebook class. + * The Facebook class uses PHP sessions to provide a primitive + * persistent store, but another subclass--one that you implement-- + * might use a database, memcache, or an in-memory cache. + * + * @see Facebook + */ + + /** + * Stores the given ($key, $value) pair, so that future calls to + * getPersistentData($key) return $value. This call may be in another request. + * + * @param string $key + * @param array $value + * + * @return void + */ + abstract protected function setPersistentData($key, $value); + + /** + * Get the data for $key, persisted by BaseFacebook::setPersistentData() + * + * @param string $key The key of the data to retrieve + * @param boolean $default The default value to return if $key is not found + * + * @return mixed + */ + abstract protected function getPersistentData($key, $default = false); + + /** + * Clear the data with $key from the persistent storage + * + * @param string $key + * @return void + */ + abstract protected function clearPersistentData($key); + + /** + * Clear all data from the persistent storage + * + * @return void + */ + abstract protected function clearAllPersistentData(); +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/facebook.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/facebook.php new file mode 100644 index 0000000..a2238ef --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/facebook.php @@ -0,0 +1,160 @@ +initSharedSession(); + } + } + + protected static $kSupportedKeys = + array('state', 'code', 'access_token', 'user_id'); + + protected function initSharedSession() { + $cookie_name = $this->getSharedSessionCookieName(); + if (isset($_COOKIE[$cookie_name])) { + $data = $this->parseSignedRequest($_COOKIE[$cookie_name]); + if ($data && !empty($data['domain']) && + self::isAllowedDomain($this->getHttpHost(), $data['domain'])) { + // good case + $this->sharedSessionID = $data['id']; + return; + } + // ignoring potentially unreachable data + } + // evil/corrupt/missing case + $base_domain = $this->getBaseDomain(); + $this->sharedSessionID = md5(uniqid(mt_rand(), true)); + $cookie_value = $this->makeSignedRequest( + array( + 'domain' => $base_domain, + 'id' => $this->sharedSessionID, + ) + ); + $_COOKIE[$cookie_name] = $cookie_value; + if (!headers_sent()) { + $expire = time() + self::FBSS_COOKIE_EXPIRE; + setcookie($cookie_name, $cookie_value, $expire, '/', '.'.$base_domain); + } else { + // @codeCoverageIgnoreStart + self::errorLog( + 'Shared session ID cookie could not be set! You must ensure you '. + 'create the Facebook instance before headers have been sent. This '. + 'will cause authentication issues after the first request.' + ); + // @codeCoverageIgnoreEnd + } + } + + /** + * Provides the implementations of the inherited abstract + * methods. The implementation uses PHP sessions to maintain + * a store for authorization codes, user ids, CSRF states, and + * access tokens. + */ + protected function setPersistentData($key, $value) { + if (!in_array($key, self::$kSupportedKeys)) { + self::errorLog('Unsupported key passed to setPersistentData.'); + return; + } + + $session_var_name = $this->constructSessionVariableName($key); + $_SESSION[$session_var_name] = $value; + } + + protected function getPersistentData($key, $default = false) { + if (!in_array($key, self::$kSupportedKeys)) { + self::errorLog('Unsupported key passed to getPersistentData.'); + return $default; + } + + $session_var_name = $this->constructSessionVariableName($key); + return isset($_SESSION[$session_var_name]) ? + $_SESSION[$session_var_name] : $default; + } + + protected function clearPersistentData($key) { + if (!in_array($key, self::$kSupportedKeys)) { + self::errorLog('Unsupported key passed to clearPersistentData.'); + return; + } + + $session_var_name = $this->constructSessionVariableName($key); + unset($_SESSION[$session_var_name]); + } + + protected function clearAllPersistentData() { + foreach (self::$kSupportedKeys as $key) { + $this->clearPersistentData($key); + } + if ($this->sharedSessionID) { + $this->deleteSharedSessionCookie(); + } + } + + protected function deleteSharedSessionCookie() { + $cookie_name = $this->getSharedSessionCookieName(); + unset($_COOKIE[$cookie_name]); + $base_domain = $this->getBaseDomain(); + setcookie($cookie_name, '', 1, '/', '.'.$base_domain); + } + + protected function getSharedSessionCookieName() { + return self::FBSS_COOKIE_NAME . '_' . $this->getAppId(); + } + + protected function constructSessionVariableName($key) { + $parts = array('fb', $this->getAppId(), $key); + if ($this->sharedSessionID) { + array_unshift($parts, $this->sharedSessionID); + } + return implode('_', $parts); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/fb_ca_chain_bundle.crt b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/fb_ca_chain_bundle.crt new file mode 100644 index 0000000..969239f --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/Facebook/fb_ca_chain_bundle.crt @@ -0,0 +1,3920 @@ +## +## ca-bundle.crt -- Bundle of CA Root Certificates +## +## Certificate data from Mozilla as of: Thu Oct 18 19:05:59 2012 +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1 +## +## It contains the certificates in PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## + +# @(#) $RCSfile: certdata.txt,v $ $Revision: 1.86 $ $Date: 2012/10/18 16:26:52 $ + +GTE CyberTrust Global Root +========================== +-----BEGIN CERTIFICATE----- +MIICWjCCAcMCAgGlMA0GCSqGSIb3DQEBBAUAMHUxCzAJBgNVBAYTAlVTMRgwFgYDVQQKEw9HVEUg +Q29ycG9yYXRpb24xJzAlBgNVBAsTHkdURSBDeWJlclRydXN0IFNvbHV0aW9ucywgSW5jLjEjMCEG +A1UEAxMaR1RFIEN5YmVyVHJ1c3QgR2xvYmFsIFJvb3QwHhcNOTgwODEzMDAyOTAwWhcNMTgwODEz +MjM1OTAwWjB1MQswCQYDVQQGEwJVUzEYMBYGA1UEChMPR1RFIENvcnBvcmF0aW9uMScwJQYDVQQL +Ex5HVEUgQ3liZXJUcnVzdCBTb2x1dGlvbnMsIEluYy4xIzAhBgNVBAMTGkdURSBDeWJlclRydXN0 +IEdsb2JhbCBSb290MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVD6C28FCc6HrHiM3dFw4u +sJTQGz0O9pTAipTHBsiQl8i4ZBp6fmw8U+E3KHNgf7KXUwefU/ltWJTSr41tiGeA5u2ylc9yMcql +HHK6XALnZELn+aks1joNrI1CqiQBOeacPwGFVw1Yh0X404Wqk2kmhXBIgD8SFcd5tB8FLztimQID +AQABMA0GCSqGSIb3DQEBBAUAA4GBAG3rGwnpXtlR22ciYaQqPEh346B8pt5zohQDhT37qw4wxYMW +M4ETCJ57NE7fQMh017l93PR2VX2bY1QY6fDq81yx2YtCHrnAlU66+tXifPVoYb+O7AWXX1uw16OF +NMQkpw0PlZPvy5TYnh+dXIVtx6quTx8itc2VrbqnzPmrC3p/ +-----END CERTIFICATE----- + +Thawte Server CA +================ +-----BEGIN CERTIFICATE----- +MIIDEzCCAnygAwIBAgIBATANBgkqhkiG9w0BAQQFADCBxDELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs +dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcGA1UE +AxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0ZS5j +b20wHhcNOTYwODAxMDAwMDAwWhcNMjAxMjMxMjM1OTU5WjCBxDELMAkGA1UEBhMCWkExFTATBgNV +BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29u +c3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEZMBcG +A1UEAxMQVGhhd3RlIFNlcnZlciBDQTEmMCQGCSqGSIb3DQEJARYXc2VydmVyLWNlcnRzQHRoYXd0 +ZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANOkUG7I/1Zr5s9dtuoMaHVHoqrC2oQl +/Kj0R1HahbUgdJSGHg91yekIYfUGbTBuFRkC6VLAYttNmZ7iagxEOM3+vuNkCXDF/rFrKbYvScg7 +1CcEJRCXL+eQbcAoQpnXTEPew/UhbVSfXcNY4cDk2VuwuNy0e982OsK1ZiIS1ocNAgMBAAGjEzAR +MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEEBQADgYEAB/pMaVz7lcxG7oWDTSEwjsrZqG9J +GubaUeNgcGyEYRGhGshIPllDfU+VPaGLtwtimHp1it2ITk6eQNuozDJ0uW8NxuOzRAvZim+aKZuZ +GCg70eNAKJpaPNW15yAbi8qkq43pUdniTCxZqdq5snUb9kLy78fyGPmJvKP/iiMucEc= +-----END CERTIFICATE----- + +Thawte Premium Server CA +======================== +-----BEGIN CERTIFICATE----- +MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkExFTATBgNVBAgT +DFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUgQ29uc3Vs +dGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UE +AxMYVGhhd3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZl +ckB0aGF3dGUuY29tMB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYT +AlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsGA1UEChMU +VGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2 +aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNlcnZlciBDQTEoMCYGCSqGSIb3DQEJARYZ +cHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2 +aovXwlue2oFBYo847kkEVdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIh +Udib0GfQug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMRuHM/ +qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAm +SCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUIhfzJATj/Tb7yFkJD57taRvvBxhEf +8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JMpAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7t +UCemDaYj+bvLpgcUQg== +-----END CERTIFICATE----- + +Equifax Secure CA +================= +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE +ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT +B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR +fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW +8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG +A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE +CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG +A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS +spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB +Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961 +zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB +BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95 +70+sB3c4 +-----END CERTIFICATE----- + +Digital Signature Trust Co. Global CA 1 +======================================= +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIENnAVljANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE +ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMTAeFw05ODEy +MTAxODEwMjNaFw0xODEyMTAxODQwMjNaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs +IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUxMIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQCgbIGpzzQeJN3+hijM3oMv+V7UQtLodGBmE5gGHKlREmlvMVW5SXIACH7TpWJE +NySZj9mDSI+ZbZUTu0M7LklOiDfBu1h//uG9+LthzfNHwJmm8fOR6Hh8AMthyUQncWlVSn5JTe2i +o74CTADKAqjuAQIxZA9SLRN0dja1erQtcQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo +BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 +dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTExDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw +IoAPMTk5ODEyMTAxODEwMjNagQ8yMDE4MTIxMDE4MTAyM1owCwYDVR0PBAQDAgEGMB8GA1UdIwQY +MBaAFGp5fpFpRhgTCgJ3pVlbYJglDqL4MB0GA1UdDgQWBBRqeX6RaUYYEwoCd6VZW2CYJQ6i+DAM +BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB +ACIS2Hod3IEGtgllsofIH160L+nEHvI8wbsEkBFKg05+k7lNQseSJqBcNJo4cvj9axY+IO6CizEq +kzaFI4iKPANo08kJD038bKTaKHKTDomAsH3+gG9lbRgzl4vCa4nuYD3Im+9/KzJic5PLPON74nZ4 +RbyhkwS7hp86W0N6w4pl +-----END CERTIFICATE----- + +Digital Signature Trust Co. Global CA 3 +======================================= +-----BEGIN CERTIFICATE----- +MIIDKTCCApKgAwIBAgIENm7TzjANBgkqhkiG9w0BAQUFADBGMQswCQYDVQQGEwJVUzEkMCIGA1UE +ChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMREwDwYDVQQLEwhEU1RDQSBFMjAeFw05ODEy +MDkxOTE3MjZaFw0xODEyMDkxOTQ3MjZaMEYxCzAJBgNVBAYTAlVTMSQwIgYDVQQKExtEaWdpdGFs +IFNpZ25hdHVyZSBUcnVzdCBDby4xETAPBgNVBAsTCERTVENBIEUyMIGdMA0GCSqGSIb3DQEBAQUA +A4GLADCBhwKBgQC/k48Xku8zExjrEH9OFr//Bo8qhbxe+SSmJIi2A7fBw18DW9Fvrn5C6mYjuGOD +VvsoLeE4i7TuqAHhzhy2iCoiRoX7n6dwqUcUP87eZfCocfdPJmyMvMa1795JJ/9IKn3oTQPMx7JS +xhcxEzu1TdvIxPbDDyQq2gyd55FbgM2UnQIBA6OCASQwggEgMBEGCWCGSAGG+EIBAQQEAwIABzBo +BgNVHR8EYTBfMF2gW6BZpFcwVTELMAkGA1UEBhMCVVMxJDAiBgNVBAoTG0RpZ2l0YWwgU2lnbmF0 +dXJlIFRydXN0IENvLjERMA8GA1UECxMIRFNUQ0EgRTIxDTALBgNVBAMTBENSTDEwKwYDVR0QBCQw +IoAPMTk5ODEyMDkxOTE3MjZagQ8yMDE4MTIwOTE5MTcyNlowCwYDVR0PBAQDAgEGMB8GA1UdIwQY +MBaAFB6CTShlgDzJQW6sNS5ay97u+DlbMB0GA1UdDgQWBBQegk0oZYA8yUFurDUuWsve7vg5WzAM +BgNVHRMEBTADAQH/MBkGCSqGSIb2fQdBAAQMMAobBFY0LjADAgSQMA0GCSqGSIb3DQEBBQUAA4GB +AEeNg61i8tuwnkUiBbmi1gMOOHLnnvx75pO2mqWilMg0HZHRxdf0CiUPPXiBng+xZ8SQTGPdXqfi +up/1902lMXucKS1M/mQ+7LZT/uqb7YLbdHVLB3luHtgZg3Pe9T7Qtd7nS2h9Qy4qIOF+oHhEngj1 +mPnHfxsb1gYgAlihw6ID +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 +f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol +hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBAgUAA4GBALtMEivPLCYA +TxQT3ab7/AoRhIzzKBxnki98tsX63/Dolbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59Ah +WM1pF+NEHJwZRDmJXNycAA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2Omuf +Tqj/ZA1k +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEEzH6qqYPnHTkxD4PTqJkZIwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMSBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq0Lq+Fi24g9TK0g+8djHKlNgd +k4xWArzZbxpvUjZudVYKVdPfQ4chEWWKfo+9Id5rMj8bhDSVBZ1BNeuS65bdqlk/AVNtmU/t5eIq +WpDBucSmFc/IReumXY6cPvBkJHalzasab7bYe1FhbqZ/h8jit+U03EGI6glAvnOSPWvndQIDAQAB +MA0GCSqGSIb3DQEBBQUAA4GBAKlPww3HZ74sy9mozS11534Vnjty637rXC0Jh9ZrbWB85a7FkCMM +XErQr7Fd88e2CtvgFZMN3QO8x3aKtd1Pw5sTdbgBwObJW2uluIncrKTdcu1OofdPvAbT6shkdHvC +lUGcZXNY8ZCaPGqxmMnEh7zPRW1F4m4iP/68DzFc6PLZ +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAzCCAmwCEQC5L2DMiJ+hekYJuFtwbIqvMA0GCSqGSIb3DQEBBQUAMIHBMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h +cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp +Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 +c3QgTmV0d29yazAeFw05ODA1MTgwMDAwMDBaFw0yODA4MDEyMzU5NTlaMIHBMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xPDA6BgNVBAsTM0NsYXNzIDIgUHVibGljIFByaW1h +cnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjE6MDgGA1UECxMxKGMpIDE5OTggVmVyaVNp +Z24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 +c3QgTmV0d29yazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAp4gBIXQs5xoD8JjhlzwPIQjx +nNuX6Zr8wgQGE75fUsjMHiwSViy4AWkszJkfrbCWrnkE8hM5wXuYuggs6MKEEyyqaekJ9MepAqRC +wiNPStjwDqL7MWzJ5m+ZJwf15vRMeJ5t60aG+rmGyVTyssSv1EYcWskVMP8NbPUtDm3Of3cCAwEA +ATANBgkqhkiG9w0BAQUFAAOBgQByLvl/0fFx+8Se9sVeUYpAmLho+Jscg9jinb3/7aHmZuovCfTK +1+qlK5X2JGCGTUQug6XELaDTrnhpb3LabK4I8GOSN+a7xDAXrXfMSTWqz9iP0b63GJZHc2pUIjRk +LbYWm1lbtFFZOrMLFPQS32eg9K0yZF6xRnInjBJ7xUS0rg== +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G2 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDAjCCAmsCEH3Z/gfPqB63EHln+6eJNMYwDQYJKoZIhvcNAQEFBQAwgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMB4XDTk4MDUxODAwMDAwMFoXDTI4MDgwMTIzNTk1OVowgcExCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjE8MDoGA1UECxMzQ2xhc3MgMyBQdWJsaWMgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMTowOAYDVQQLEzEoYykgMTk5OCBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVz +dCBOZXR3b3JrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMXtERXVxp0KvTuWpMmR9ZmDCO +FoUgRm1HP9SFIIThbbP4pO0M8RcPO/mn+SXXwc+EY/J8Y8+iR/LGWzOOZEAEaMGAuWQcRXfH2G71 +lSk8UOg013gfqLptQ5GVj0VXXn7F+8qkBOvqlzdUMG+7AUcyM83cV5tkaWH4mx0ciU9cZwIDAQAB +MA0GCSqGSIb3DQEBBQUAA4GBAFFNzb5cy5gZnBWyATl4Lk0PZ3BwmcYQWpSkU01UbSuvDV1Ai2TT +1+7eVmGSX6bEHRBhNtMsJzzoKQm5EWR0zLVznxxIqbxhAe7iF6YM40AIOw7n60RzKprxaZLvcRTD +Oaxxp5EJb+RxBrO6WVcmeQD2+A2iMzAo1KpYoJ2daZH9 +-----END CERTIFICATE----- + +GlobalSign Root CA +================== +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx +GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds +b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV +BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD +VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa +DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc +THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb +Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP +c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX +gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF +AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj +Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG +j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH +hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC +X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +GlobalSign Root CA - R2 +======================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 +ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp +s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN +S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL +TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C +ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i +YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN +BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp +9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu +01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 +9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +ValiCert Class 1 VA +=================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDEgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNTIy +MjM0OFoXDTE5MDYyNTIyMjM0OFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDEg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDYWYJ6ibiWuqYvaG9YLqdUHAZu9OqNSLwxlBfw8068srg1knaw0KWlAdcAAxIi +GQj4/xEjm84H9b9pGib+TunRf50sQB1ZaG6m+FiwnRqP0z/x3BkGgagO4DrdyFNFCQbmD3DD+kCm +DuJWBQ8YTfwggtFzVXSNdnKgHZ0dwN0/cQIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFBoPUn0LBwG +lN+VYH+Wexf+T3GtZMjdd9LvWVXoP+iOBSoh8gfStadS/pyxtuJbdxdA6nLWI8sogTLDAHkY7FkX +icnGah5xyf23dKUlRWnFSKsZ4UWKJWsZ7uW7EvV/96aNUcPwnXS3qT6gpf+2SQMT2iLM7XGCK5nP +Orf1LXLI +-----END CERTIFICATE----- + +ValiCert Class 2 VA +=================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDIgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw +MTk1NFoXDTE5MDYyNjAwMTk1NFowgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDIg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDOOnHK5avIWZJV16vYdA757tn2VUdZZUcOBVXc65g2PFxTXdMwzzjsvUGJ7SVC +CSRrCl6zfN1SLUzm1NZ9WlmpZdRJEy0kTRxQb7XBhVQ7/nHk01xC+YDgkRoKWzk2Z/M/VXwbP7Rf +ZHM047QSv4dk+NoS/zcnwbNDu+97bi5p9wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBADt/UG9vUJSZ +SWI4OB9L+KXIPqeCgfYrx+jFzug6EILLGACOTb2oWH+heQC1u+mNr0HZDzTuIYEZoDJJKPTEjlbV +UjP9UNV+mWwD5MlM/Mtsq2azSiGM5bUMMj4QssxsodyamEwCW/POuZ6lcg5Ktz885hZo+L7tdEy8 +W9ViH0Pd +-----END CERTIFICATE----- + +RSA Root Certificate 1 +====================== +-----BEGIN CERTIFICATE----- +MIIC5zCCAlACAQEwDQYJKoZIhvcNAQEFBQAwgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRp +b24gTmV0d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENs +YXNzIDMgUG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZh +bGljZXJ0LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMB4XDTk5MDYyNjAw +MjIzM1oXDTE5MDYyNjAwMjIzM1owgbsxJDAiBgNVBAcTG1ZhbGlDZXJ0IFZhbGlkYXRpb24gTmV0 +d29yazEXMBUGA1UEChMOVmFsaUNlcnQsIEluYy4xNTAzBgNVBAsTLFZhbGlDZXJ0IENsYXNzIDMg +UG9saWN5IFZhbGlkYXRpb24gQXV0aG9yaXR5MSEwHwYDVQQDExhodHRwOi8vd3d3LnZhbGljZXJ0 +LmNvbS8xIDAeBgkqhkiG9w0BCQEWEWluZm9AdmFsaWNlcnQuY29tMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDjmFGWHOjVsQaBalfDcnWTq8+epvzzFlLWLU2fNUSoLgRNB0mKOCn1dzfnt6td +3zZxFJmP3MKS8edgkpfs2Ejcv8ECIMYkpChMMFp2bbFc893enhBxoYjHW5tBbcqwuI4V7q0zK89H +BFx1cQqYJJgpp0lZpd34t0NiYfPT4tBVPwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFa7AliEZwgs +3x/be0kz9dNnnfS0ChCzycUs4pJqcXgn8nCDQtM+z6lU9PHYkhaM0QTLS6vJn0WuPIqpsHEzXcjF +V9+vqDWzf4mH6eglkrh/hXqu1rweN1gqZ8mRzyqBPu3GOd/APhmcGcwTTYJBtYze4D1gCCAPRX5r +on+jjBXu +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCLW3VWhFSFCwDPrzhIzrGkMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAN2E1Lm0+afY8wR4nN493GwTFtl63SRRZsDHJlkNrAYIwpTRMx/wgzUfbhvI3qpuFU5UJ+/E +bRrsC+MO8ESlV8dAWB6jRx9x7GD2bZTIGDnt/kIYVt/kTEkQeE4BdjVjEjbdZrwBBDajVWjVojYJ +rKshJlQGrT/KFOCsyq0GHZXi+J3x4GD/wn91K0zM2v6HmSHquv4+VNfSWXjbPG7PoBMAGrgnoeS+ +Z5bKoMWznN3JdZ7rMJpfo83ZrngZPyPpXNspva1VyBtUjGP26KbqxzcSXKMpHgLZ2x87tNcPVkeB +FQRKr4Mn0cVYiMHd9qqnoxjaaKptEVHhv2Vrn5Z20T0CAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +q2aN17O6x5q25lXQBfGfMY1aqtmqRiYPce2lrVNWYgFHKkTp/j90CxObufRNG7LRX7K20ohcs5/N +y9Sn2WCVhDr4wTcdYcrnsMXlkdpUpqwxga6X3s0IrLjAl4B/bnKk52kTlWUfxJM8/XmPBNQ+T+r3 +ns7NZ3xPZQL/kYVUc8f/NveGLezQXk//EZ9yBta4GvFMDSZl4kSAHsef493oCtrspSCAaWihT37h +a88HQfqDjrw43bAuEbFrskLMmrz5SCJ5ShkPshw+IHTZasO+8ih4E1Z5T21Q6huwtVexN2ZYI/Pc +D98Kh8TvhgXVOBRgmaNL3gaWcSzy27YfpO8/7g== +-----END CERTIFICATE----- + +Verisign Class 2 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGTCCAwECEGFwy0mMX5hFKeewptlQW3owDQYJKoZIhvcNAQEFBQAwgcoxCzAJBgNVBAYTAlVT +MRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y +azE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ug +b25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSAtIEczMB4XDTk5MTAwMTAwMDAwMFoXDTM2MDcxNjIzNTk1OVowgcoxCzAJ +BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1 +c3QgTmV0d29yazE6MDgGA1UECxMxKGMpIDE5OTkgVmVyaVNpZ24sIEluYy4gLSBGb3IgYXV0aG9y +aXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMiBQdWJsaWMgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArwoNwtUs22e5LeWUJ92lvuCwTY+zYVY81nzD9M0+hsuiiOLh2KRpxbXiv8GmR1BeRjmL1Za6 +tW8UvxDOJxOeBUebMXoT2B/Z0wI3i60sR/COgQanDTAM6/c8DyAd3HJG7qUCyFvDyVZpTMUYwZF7 +C9UTAJu878NIPkZgIIUq1ZC2zYugzDLdt/1AVbJQHFauzI13TccgTacxdu9okoqQHgiBVrKtaaNS +0MscxCM9H5n+TOgWY47GCI72MfbS+uV23bUckqNJzc0BzWjNqWm6o+sdDZykIKbBoMXRRkwXbdKs +Zj+WjOCE1Db/IlnF+RFgqF8EffIa9iVCYQ/ESrg+iQIDAQABMA0GCSqGSIb3DQEBBQUAA4IBAQA0 +JhU8wI1NQ0kdvekhktdmnLfexbjQ5F1fdiLAJvmEOjr5jLX77GDx6M4EsMjdpwOPMPOY36TmpDHf +0xwLRtxyID+u7gU8pDM/CzmscHhzS5kr3zDCVLCoO1Wh/hYozUK9dG6A2ydEp85EXdQbkJgNHkKU +sQAsBNB0owIFImNjzYO1+8FtYmtpdf1dcEG59b98377BMnMiIYtYgXsVkXq642RIsH/7NiXaldDx +JBQX3RiAa0YjOVT1jmIJBB2UkKab5iXiQkWquJCtvgiPqQtCGJTPcjnhsUPgKM+351psE2tJs//j +GHyJizNdrDPXp/naOlXJWBD5qu9ats9LS98q +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 +EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc +cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw +EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj +055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f +j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 +xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa +t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +Verisign Class 4 Public Primary Certification Authority - G3 +============================================================ +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQDsoKeLbnVqAc/EfMwvlF7XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy +dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDQgUHVibGljIFByaW1hcnkg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAK3LpRFpxlmr8Y+1GQ9Wzsy1HyDkniYlS+BzZYlZ3tCD5PUPtbut8XzoIfzk6AzufEUiGXaS +tBO3IFsJ+mGuqPKljYXCKtbeZjbSmwL0qJJgfJxptI8kHtCGUvYynEFYHiK9zUVilQhu0GbdU6LM +8BDcVHOLBKFGMzNcF0C5nk3T875Vg+ixiY5afJqWIpA7iCXy0lOIAgwLePLmNxdLMEYH5IBtptiW +Lugs+BGzOA1mppvqySNb247i8xOOGlktqgLw7KSHZtzBP/XYufTsgsbSPZUd5cBPhMnZo0QoBmrX +Razwa2rvTl/4EYIeOGM0ZlDUPpNz+jDDZq3/ky2X7wMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA +j/ola09b5KROJ1WrIhVZPMq1CtRK26vdoV9TxaBXOcLORyu+OshWv8LZJxA6sQU8wHcxuzrTBXtt +mhwwjIDLk5Mqg6sFUYICABFna/OIYUdfA5PVWw3g8dShMjWFsjrbsIKr0csKvE+MW8VLADsfKoKm +fjaF3H48ZwC15DtS4KjrXRX5xm3wrR0OhbepmnMUWluPQSjA1egtTaRezarZ7c7c2NU8Qh0XwRJd +RTjDOPP8hS6DRkiy1yBfkjaP53kPmF6Z6PDQpLv1U70qzlmwr25/bLvSHgCwIe34QWKCudiyxLtG +UPMxxY8BqHTr9Xgn2uf3ZkPznoM+IKrDNWCRzg== +-----END CERTIFICATE----- + +Entrust.net Secure Server CA +============================ +-----BEGIN CERTIFICATE----- +MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMCVVMxFDASBgNV +BAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5uZXQvQ1BTIGluY29ycC4gYnkg +cmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRl +ZDE6MDgGA1UEAxMxRW50cnVzdC5uZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTAeFw05OTA1MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIG +A1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBi +eSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1p +dGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQ +aO2f55M28Qpku0f1BBc/I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5 +gXpa0zf3wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OCAdcw +ggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHboIHYpIHVMIHSMQsw +CQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5l +dC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF +bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu +dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0MFqBDzIwMTkw +NTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8BdiE1U9s/8KAGv7UISX8+1i0Bow +HQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAaMAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EA +BAwwChsEVjQuMAMCBJAwDQYJKoZIhvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyN +Ewr75Ji174z4xRAN95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9 +n9cd2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI= +-----END CERTIFICATE----- + +Entrust.net Premium 2048 Secure Server CA +========================================= +-----BEGIN CERTIFICATE----- +MIIEXDCCA0SgAwIBAgIEOGO5ZjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u +ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp +bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV +BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx +NzUwNTFaFw0xOTEyMjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 +d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl +MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u +ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL +Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr +hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW +nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi +VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo3QwcjARBglghkgBhvhC +AQEEBAMCAAcwHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmhJAkWuXAwHQYDVR0OBBYEFFXkgdER +gL7YibkIozH5oSQJFrlwMB0GCSqGSIb2fQdBAAQQMA4bCFY1LjA6NC4wAwIEkDANBgkqhkiG9w0B +AQUFAAOCAQEAWUesIYSKF8mciVMeuoCFGsY8Tj6xnLZ8xpJdGGQC49MGCBFhfGPjK50xA3B20qMo +oPS7mmNz7W3lKtvtFKkrxjYR0CvrB4ul2p5cGZ1WEvVUKcgF7bISKo30Axv/55IQh7A6tcOdBTcS +o8f0FbnVpDkWm1M6I5HxqIKiaohowXkCIryqptau37AUX7iH0N18f3v/rxzP5tsHrV7bhZ3QKw0z +2wTR5klAEyt2+z7pnIkPFc4YsIV4IU9rTw76NmfNB/L/CNDi3tm/Kq+4h4YhPATKt5Rof8886ZjX +OP/swNlQ8C5LWK5Gb9Auw2DaclVyvUxFnmG6v4SBkgPR0ml8xQ== +-----END CERTIFICATE----- + +Baltimore CyberTrust Root +========================= +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE +ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li +ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC +SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs +dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME +uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB +UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C +G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 +XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr +l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI +VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB +BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh +cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 +hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa +Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H +RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +Equifax Secure Global eBusiness CA +================================== +-----BEGIN CERTIFICATE----- +MIICkDCCAfmgAwIBAgIBATANBgkqhkiG9w0BAQQFADBaMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +RXF1aWZheCBTZWN1cmUgSW5jLjEtMCsGA1UEAxMkRXF1aWZheCBTZWN1cmUgR2xvYmFsIGVCdXNp +bmVzcyBDQS0xMB4XDTk5MDYyMTA0MDAwMFoXDTIwMDYyMTA0MDAwMFowWjELMAkGA1UEBhMCVVMx +HDAaBgNVBAoTE0VxdWlmYXggU2VjdXJlIEluYy4xLTArBgNVBAMTJEVxdWlmYXggU2VjdXJlIEds +b2JhbCBlQnVzaW5lc3MgQ0EtMTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuucXkAJlsTRV +PEnCUdXfp9E3j9HngXNBUmCbnaEXJnitx7HoJpQytd4zjTov2/KaelpzmKNc6fuKcxtc58O/gGzN +qfTWK8D3+ZmqY6KxRwIP1ORROhI8bIpaVIRw28HFkM9yRcuoWcDNM50/o5brhTMhHD4ePmBudpxn +hcXIw2ECAwEAAaNmMGQwEQYJYIZIAYb4QgEBBAQDAgAHMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +BBgwFoAUvqigdHJQa0S3ySPY+6j/s1draGwwHQYDVR0OBBYEFL6ooHRyUGtEt8kj2Puo/7NXa2hs +MA0GCSqGSIb3DQEBBAUAA4GBADDiAVGqx+pf2rnQZQ8w1j7aDRRJbpGTJxQx78T3LUX47Me/okEN +I7SS+RkAZ70Br83gcfxaz2TE4JaY0KNA4gGK7ycH8WUBikQtBmV1UsCGECAhX2xrD2yuCRyv8qIY +NMR1pHMc8Y3c7635s3a0kr/clRAevsvIO1qEYBlWlKlV +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 1 +============================= +-----BEGIN CERTIFICATE----- +MIICgjCCAeugAwIBAgIBBDANBgkqhkiG9w0BAQQFADBTMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +RXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNzIENB +LTEwHhcNOTkwNjIxMDQwMDAwWhcNMjAwNjIxMDQwMDAwWjBTMQswCQYDVQQGEwJVUzEcMBoGA1UE +ChMTRXF1aWZheCBTZWN1cmUgSW5jLjEmMCQGA1UEAxMdRXF1aWZheCBTZWN1cmUgZUJ1c2luZXNz +IENBLTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM4vGbwXt3fek6lfWg0XTzQaDJj0ItlZ +1MRoRvC0NcWFAyDGr0WlIVFFQesWWDYyb+JQYmT5/VGcqiTZ9J2DKocKIdMSODRsjQBuWqDZQu4a +IZX5UkxVWsUPOE9G+m34LjXWHXzr4vCwdYDIqROsvojvOm6rXyo4YgKwEnv+j6YDAgMBAAGjZjBk +MBEGCWCGSAGG+EIBAQQEAwIABzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEp4MlIR21kW +Nl7fwRQ2QGpHfEyhMB0GA1UdDgQWBBRKeDJSEdtZFjZe38EUNkBqR3xMoTANBgkqhkiG9w0BAQQF +AAOBgQB1W6ibAxHm6VZMzfmpTMANmvPMZWnmJXbMWbfWVMMdzZmsGd20hdXgPfxiIKeES1hl8eL5 +lSE/9dR+WB5Hh1Q+WKG1tfgq73HnvMP2sUlG4tega+VWeponmHxGYhTnyfxuAxJ5gDgdSIKN/Bf+ +KpYrtWKmpj29f5JZzVoqgrI3eQ== +-----END CERTIFICATE----- + +Equifax Secure eBusiness CA 2 +============================= +-----BEGIN CERTIFICATE----- +MIIDIDCCAomgAwIBAgIEN3DPtTANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEXMBUGA1UE +ChMORXF1aWZheCBTZWN1cmUxJjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0y +MB4XDTk5MDYyMzEyMTQ0NVoXDTE5MDYyMzEyMTQ0NVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoT +DkVxdWlmYXggU2VjdXJlMSYwJAYDVQQLEx1FcXVpZmF4IFNlY3VyZSBlQnVzaW5lc3MgQ0EtMjCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5Dk5kx5SBhsoNviyoynF7Y6yEb3+6+e0dMKP/wXn +2Z0GvxLIPw7y1tEkshHe0XMJitSxLJgJDR5QRrKDpkWNYmi7hRsgcDKqQM2mll/EcTc/BPO3QSQ5 +BxoeLmFYoBIL5aXfxavqN3HMHMg3OrmXUqesxWoklE6ce8/AatbfIb0CAwEAAaOCAQkwggEFMHAG +A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORXF1aWZheCBTZWN1cmUx +JjAkBgNVBAsTHUVxdWlmYXggU2VjdXJlIGVCdXNpbmVzcyBDQS0yMQ0wCwYDVQQDEwRDUkwxMBoG +A1UdEAQTMBGBDzIwMTkwNjIzMTIxNDQ1WjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUUJ4L6q9e +uSBIplBqy/3YIHqngnYwHQYDVR0OBBYEFFCeC+qvXrkgSKZQasv92CB6p4J2MAwGA1UdEwQFMAMB +Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAAyGgq3oThr1 +jokn4jVYPSm0B482UJW/bsGe68SQsoWou7dC4A8HOd/7npCy0cE+U58DRLB+S/Rv5Hwf5+Kx5Lia +78O9zt4LMjTZ3ijtM2vE1Nc9ElirfQkty3D1E4qUoSek1nDFbZS1yX2doNLGCEnZZpum0/QL3MUm +V+GRMOrN +-----END CERTIFICATE----- + +AddTrust Low-Value Services Root +================================ +-----BEGIN CERTIFICATE----- +MIIEGDCCAwCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEwHwYDVQQDExhBZGRU +cnVzdCBDbGFzcyAxIENBIFJvb3QwHhcNMDAwNTMwMTAzODMxWhcNMjAwNTMwMTAzODMxWjBlMQsw +CQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBO +ZXR3b3JrMSEwHwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3QwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQCWltQhSWDia+hBBwzexODcEyPNwTXH+9ZOEQpnXvUGW2ulCDtbKRY6 +54eyNAbFvAWlA3yCyykQruGIgb3WntP+LVbBFc7jJp0VLhD7Bo8wBN6ntGO0/7Gcrjyvd7ZWxbWr +oulpOj0OM3kyP3CCkplhbY0wCI9xP6ZIVxn4JdxLZlyldI+Yrsj5wAYi56xz36Uu+1LcsRVlIPo1 +Zmne3yzxbrww2ywkEtvrNTVokMsAsJchPXQhI2U0K7t4WaPW4XY5mqRJjox0r26kmqPZm9I4XJui +GMx1I4S+6+JNM3GOGvDC+Mcdoq0Dlyz4zyXG9rgkMbFjXZJ/Y/AlyVMuH79NAgMBAAGjgdIwgc8w +HQYDVR0OBBYEFJWxtPCUtr3H2tERCSG+wa9J/RB7MAsGA1UdDwQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MIGPBgNVHSMEgYcwgYSAFJWxtPCUtr3H2tERCSG+wa9J/RB7oWmkZzBlMQswCQYDVQQGEwJT +RTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSEw +HwYDVQQDExhBZGRUcnVzdCBDbGFzcyAxIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBACxt +ZBsfzQ3duQH6lmM0MkhHma6X7f1yFqZzR1r0693p9db7RcwpiURdv0Y5PejuvE1Uhh4dbOMXJ0Ph +iVYrqW9yTkkz43J8KiOavD7/KCrto/8cI7pDVwlnTUtiBi34/2ydYB7YHEt9tTEv2dB8Xfjea4MY +eDdXL+gzB2ffHsdrKpV2ro9Xo/D0UrSpUwjP4E/TelOL/bscVjby/rK25Xa71SJlpz/+0WatC7xr +mYbvP33zGDLKe8bjq2RGlfgmadlVg3sslgf/WSxEo8bl6ancoWOAWiFeIc9TVPC6b4nbqKqVz4vj +ccweGyBECMB6tkD9xOQ14R0WHNC8K47Wcdk= +-----END CERTIFICATE----- + +AddTrust External Root +====================== +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD +VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw +NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU +cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg +Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 ++iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw +Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo +aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy +2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 +7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL +VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk +VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB +IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl +j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 +e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u +G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +AddTrust Public Services Root +============================= +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIBATANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSAwHgYDVQQDExdBZGRU +cnVzdCBQdWJsaWMgQ0EgUm9vdDAeFw0wMDA1MzAxMDQxNTBaFw0yMDA1MzAxMDQxNTBaMGQxCzAJ +BgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQIE5l +dHdvcmsxIDAeBgNVBAMTF0FkZFRydXN0IFB1YmxpYyBDQSBSb290MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA6Rowj4OIFMEg2Dybjxt+A3S72mnTRqX4jsIMEZBRpS9mVEBV6tsfSlbu +nyNu9DnLoblv8n75XYcmYZ4c+OLspoH4IcUkzBEMP9smcnrHAZcHF/nXGCwwfQ56HmIexkvA/X1i +d9NEHif2P0tEs7c42TkfYNVRknMDtABp4/MUTu7R3AnPdzRGULD4EfL+OHn3Bzn+UZKXC1sIXzSG +Aa2Il+tmzV7R/9x98oTaunet3IAIx6eH1lWfl2royBFkuucZKT8Rs3iQhCBSWxHveNCD9tVIkNAw +HM+A+WD+eeSI8t0A65RF62WUaUC6wNW0uLp9BBGo6zEFlpROWCGOn9Bg/QIDAQABo4HRMIHOMB0G +A1UdDgQWBBSBPjfYkrAfd59ctKtzquf2NGAv+jALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBjgYDVR0jBIGGMIGDgBSBPjfYkrAfd59ctKtzquf2NGAv+qFopGYwZDELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29yazEgMB4G +A1UEAxMXQWRkVHJ1c3QgUHVibGljIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBAAP3FUr4 +JNojVhaTdt02KLmuG7jD8WS6IBh4lSknVwW8fCr0uVFV2ocC3g8WFzH4qnkuCRO7r7IgGRLlk/lL ++YPoRNWyQSW/iHVv/xD8SlTQX/D67zZzfRs2RcYhbbQVuE7PnFylPVoAjgbjPGsye/Kf8Lb93/Ao +GEjwxrzQvzSAlsJKsW2Ox5BF3i9nrEUEo3rcVZLJR2bYGozH7ZxOmuASu7VqTITh4SINhwBk/ox9 +Yjllpu9CtoAlEmEBqCQTcAARJl/6NVDFSMwGR+gn2HCNX2TmoUQmXiLsks3/QppEIW1cxeMiHV9H +EufOX1362KqxMy3ZdvJOOjMMK7MtkAY= +-----END CERTIFICATE----- + +AddTrust Qualified Certificates Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEHjCCAwagAwIBAgIBATANBgkqhkiG9w0BAQUFADBnMQswCQYDVQQGEwJTRTEUMBIGA1UEChML +QWRkVHJ1c3QgQUIxHTAbBgNVBAsTFEFkZFRydXN0IFRUUCBOZXR3b3JrMSMwIQYDVQQDExpBZGRU +cnVzdCBRdWFsaWZpZWQgQ0EgUm9vdDAeFw0wMDA1MzAxMDQ0NTBaFw0yMDA1MzAxMDQ0NTBaMGcx +CzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEdMBsGA1UECxMUQWRkVHJ1c3QgVFRQ +IE5ldHdvcmsxIzAhBgNVBAMTGkFkZFRydXN0IFF1YWxpZmllZCBDQSBSb290MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5B6a/twJWoekn0e+EV+vhDTbYjx5eLfpMLXsDBwqxBb/4Oxx +64r1EW7tTw2R0hIYLUkVAcKkIhPHEWT/IhKauY5cLwjPcWqzZwFZ8V1G87B4pfYOQnrjfxvM0PC3 +KP0q6p6zsLkEqv32x7SxuCqg+1jxGaBvcCV+PmlKfw8i2O+tCBGaKZnhqkRFmhJePp1tUvznoD1o +L/BLcHwTOK28FSXx1s6rosAx1i+f4P8UWfyEk9mHfExUE+uf0S0R+Bg6Ot4l2ffTQO2kBhLEO+GR +wVY18BTcZTYJbqukB8c10cIDMzZbdSZtQvESa0NvS3GU+jQd7RNuyoB/mC9suWXY6QIDAQABo4HU +MIHRMB0GA1UdDgQWBBQ5lYtii1zJ1IC6WA+XPxUIQ8yYpzALBgNVHQ8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zCBkQYDVR0jBIGJMIGGgBQ5lYtii1zJ1IC6WA+XPxUIQ8yYp6FrpGkwZzELMAkGA1UE +BhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMR0wGwYDVQQLExRBZGRUcnVzdCBUVFAgTmV0d29y +azEjMCEGA1UEAxMaQWRkVHJ1c3QgUXVhbGlmaWVkIENBIFJvb3SCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBABmrder4i2VhlRO6aQTvhsoToMeqT2QbPxj2qC0sVY8FtzDqQmodwCVRLae/DLPt7wh/bDxG +GuoYQ992zPlmhpwsaPXpF/gxsxjE1kh9I0xowX67ARRvxdlu3rsEQmr49lx95dr6h+sNNVJn0J6X +dgWTP5XHAeZpVTh/EGGZyeNfpso+gmNIquIISD6q8rKFYqa0p9m9N5xotS1WfbC3P6CxB9bpT9ze +RXEwMn8bLgn5v1Kh7sKAPgZcLlVAwRv1cEWw3F369nJad9Jjzc9YiQBCYz95OdBEsIJuQRno3eDB +iFrRHnGTHyQwdOUeqN48Jzd/g66ed8/wMLH/S5noxqE= +-----END CERTIFICATE----- + +Entrust Root Certification Authority +==================================== +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV +BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw +b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG +A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 +MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu +MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu +Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v +dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz +A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww +Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 +j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN +rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 +MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH +hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM +Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa +v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS +W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 +tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +RSA Security 2048 v3 +==================== +-----BEGIN CERTIFICATE----- +MIIDYTCCAkmgAwIBAgIQCgEBAQAAAnwAAAAKAAAAAjANBgkqhkiG9w0BAQUFADA6MRkwFwYDVQQK +ExBSU0EgU2VjdXJpdHkgSW5jMR0wGwYDVQQLExRSU0EgU2VjdXJpdHkgMjA0OCBWMzAeFw0wMTAy +MjIyMDM5MjNaFw0yNjAyMjIyMDM5MjNaMDoxGTAXBgNVBAoTEFJTQSBTZWN1cml0eSBJbmMxHTAb +BgNVBAsTFFJTQSBTZWN1cml0eSAyMDQ4IFYzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAt49VcdKA3XtpeafwGFAyPGJn9gqVB93mG/Oe2dJBVGutn3y+Gc37RqtBaB4Y6lXIL5F4iSj7 +Jylg/9+PjDvJSZu1pJTOAeo+tWN7fyb9Gd3AIb2E0S1PRsNO3Ng3OTsor8udGuorryGlwSMiuLgb +WhOHV4PR8CDn6E8jQrAApX2J6elhc5SYcSa8LWrg903w8bYqODGBDSnhAMFRD0xS+ARaqn1y07iH +KrtjEAMqs6FPDVpeRrc9DvV07Jmf+T0kgYim3WBU6JU2PcYJk5qjEoAAVZkZR73QpXzDuvsf9/UP ++Ky5tfQ3mBMY3oVbtwyCO4dvlTlYMNpuAWgXIszACwIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQHw1EwpKrpRa41JPr/JCwz0LGdjDAdBgNVHQ4E +FgQUB8NRMKSq6UWuNST6/yQsM9CxnYwwDQYJKoZIhvcNAQEFBQADggEBAF8+hnZuuDU8TjYcHnmY +v/3VEhF5Ug7uMYm83X/50cYVIeiKAVQNOvtUudZj1LGqlk2iQk3UUx+LEN5/Zb5gEydxiKRz44Rj +0aRV4VCT5hsOedBnvEbIvz8XDZXmxpBp3ue0L96VfdASPz0+f00/FGj1EVDVwfSQpQgdMWD/YIwj +VAqv/qFuxdF6Kmh4zx6CCiC0H63lhbJqaHVOrSU3lIW+vaHU6rcMSzyd6BIA8F+sDeGscGNz9395 +nzIlQnQFgCi/vcEkllgVsRch6YlL2weIZ/QVrXA+L02FO8K32/6YaCOJ4XQP3vTFhGMpG8zLB8kA +pKnXwiJPZ9d37CAFYd4= +-----END CERTIFICATE----- + +GeoTrust Global CA +================== +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw +MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo +BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet +8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc +T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU +vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk +DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q +zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 +d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 +mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p +XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm +Mw== +-----END CERTIFICATE----- + +GeoTrust Global CA 2 +==================== +-----BEGIN CERTIFICATE----- +MIIDZjCCAk6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwHhcNMDQwMzA0MDUw +MDAwWhcNMTkwMzA0MDUwMDAwWjBEMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j +LjEdMBsGA1UEAxMUR2VvVHJ1c3QgR2xvYmFsIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDvPE1APRDfO1MA4Wf+lGAVPoWI8YkNkMgoI5kF6CsgncbzYEbYwbLVjDHZ3CB5JIG/ +NTL8Y2nbsSpr7iFY8gjpeMtvy/wWUsiRxP89c96xPqfCfWbB9X5SJBri1WeR0IIQ13hLTytCOb1k +LUCgsBDTOEhGiKEMuzozKmKY+wCdE1l/bztyqu6mD4b5BWHqZ38MN5aL5mkWRxHCJ1kDs6ZgwiFA +Vvqgx306E+PsV8ez1q6diYD3Aecs9pYrEw15LNnA5IZ7S4wMcoKK+xfNAGw6EzywhIdLFnopsk/b +HdQL82Y3vdj2V7teJHq4PIu5+pIaGoSe2HSPqht/XvT+RSIhAgMBAAGjYzBhMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFHE4NvICMVNHK266ZUapEBVYIAUJMB8GA1UdIwQYMBaAFHE4NvICMVNH +K266ZUapEBVYIAUJMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQUFAAOCAQEAA/e1K6tdEPx7 +srJerJsOflN4WT5CBP51o62sgU7XAotexC3IUnbHLB/8gTKY0UvGkpMzNTEv/NgdRN3ggX+d6Yvh +ZJFiCzkIjKx0nVnZellSlxG5FntvRdOW2TF9AjYPnDtuzywNA0ZF66D0f0hExghAzN4bcLUprbqL +OzRldRtxIR0sFAqwlpW41uryZfspuk/qkZN0abby/+Ea0AzRdoXLiiW9l14sbxWZJue2Kf8i7MkC +x1YAzUm5s2x7UwQa4qjJqhIFI8LO57sEAszAR6LkxCkvW0VXiVHuPOtSCP8HNR6fNWpHSlaY0VqF +H4z1Ir+rzoPz4iIprn2DQKi6bA== +-----END CERTIFICATE----- + +GeoTrust Universal CA +===================== +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 +MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu +Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t +JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e +RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs +7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d +8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V +qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga +Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB +Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu +KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 +ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 +XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB +hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 +qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL +oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK +xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF +KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 +DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK +xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU +p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI +P/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +GeoTrust Universal CA 2 +======================= +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN +R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 +MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg +SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 +DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 +j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q +JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a +QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 +WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP +20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn +ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC +SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG +8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 ++/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E +BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ +4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ +mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq +A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg +Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP +pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d +FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp +gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm +X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +UTN-USER First-Network Applications +=================================== +-----BEGIN CERTIFICATE----- +MIIEZDCCA0ygAwIBAgIQRL4Mi1AAJLQR0zYwS8AzdzANBgkqhkiG9w0BAQUFADCBozELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzAp +BgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBBcHBsaWNhdGlvbnMwHhcNOTkwNzA5MTg0ODM5 +WhcNMTkwNzA5MTg1NzQ5WjCBozELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5T +YWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho +dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xKzApBgNVBAMTIlVUTi1VU0VSRmlyc3QtTmV0d29yayBB +cHBsaWNhdGlvbnMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCz+5Gh5DZVhawGNFug +mliy+LUPBXeDrjKxdpJo7CNKyXY/45y2N3kDuatpjQclthln5LAbGHNhSuh+zdMvZOOmfAz6F4Cj +DUeJT1FxL+78P/m4FoCHiZMlIJpDgmkkdihZNaEdwH+DBmQWICzTSaSFtMBhf1EI+GgVkYDLpdXu +Ozr0hAReYFmnjDRy7rh4xdE7EkpvfmUnuaRVxblvQ6TFHSyZwFKkeEwVs0CYCGtDxgGwenv1axwi +P8vv/6jQOkt2FZ7S0cYu49tXGzKiuG/ohqY/cKvlcJKrRB5AUPuco2LkbG6gyN7igEL66S/ozjIE +j3yNtxyjNTwV3Z7DrpelAgMBAAGjgZEwgY4wCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8w +HQYDVR0OBBYEFPqGydvguul49Uuo1hXf8NPhahQ8ME8GA1UdHwRIMEYwRKBCoECGPmh0dHA6Ly9j +cmwudXNlcnRydXN0LmNvbS9VVE4tVVNFUkZpcnN0LU5ldHdvcmtBcHBsaWNhdGlvbnMuY3JsMA0G +CSqGSIb3DQEBBQUAA4IBAQCk8yXM0dSRgyLQzDKrm5ZONJFUICU0YV8qAhXhi6r/fWRRzwr/vH3Y +IWp4yy9Rb/hCHTO967V7lMPDqaAt39EpHx3+jz+7qEUqf9FuVSTiuwL7MT++6LzsQCv4AdRWOOTK +RIK1YSAhZ2X28AvnNPilwpyjXEAfhZOVBt5P1CeptqX8Fs1zMT+4ZSfP1FMa8Kxun08FDAOBp4Qp +xFq9ZFdyrTvPNximmMatBrTcCKME1SmklpoSZ0qMYEWd8SOasACcaLWYUNPvji6SZbFIPiG+FTAq +DbUMo2s/rn9X9R+WfN9v3YIwLGUbQErNaLly7HF27FSOH4UMAWr6pjisH8SE +-----END CERTIFICATE----- + +America Online Root Certification Authority 1 +============================================= +-----BEGIN CERTIFICATE----- +MIIDpDCCAoygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSAxMB4XDTAyMDUyODA2MDAwMFoXDTM3MTExOTIwNDMwMFowYzELMAkG +A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg +T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKgv6KRpBgNHw+kqmP8ZonCaxlCyfqXfaE0bfA+2l2h9LaaLl+lkhsmj76CG +v2BlnEtUiMJIxUo5vxTjWVXlGbR0yLQFOVwWpeKVBeASrlmLojNoWBym1BW32J/X3HGrfpq/m44z +DyL9Hy7nBzbvYjnF3cu6JRQj3gzGPTzOggjmZj7aUTsWOqMFf6Dch9Wc/HKpoH145LcxVR5lu9Rh +sCFg7RAycsWSJR74kEoYeEfffjA3PlAb2xzTa5qGUwew76wGePiEmf4hjUyAtgyC9mZweRrTT6PP +8c9GsEsPPt2IYriMqQkoO3rHl+Ee5fSfwMCuJKDIodkP1nsmgmkyPacCAwEAAaNjMGEwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUAK3Zo/Z59m50qX8zPYEX10zPM94wHwYDVR0jBBgwFoAUAK3Z +o/Z59m50qX8zPYEX10zPM94wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBBQUAA4IBAQB8itEf +GDeC4Liwo+1WlchiYZwFos3CYiZhzRAW18y0ZTTQEYqtqKkFZu90821fnZmv9ov761KyBZiibyrF +VL0lvV+uyIbqRizBs73B6UlwGBaXCBOMIOAbLjpHyx7kADCVW/RFo8AasAFOq73AI25jP4BKxQft +3OJvx8Fi8eNy1gTIdGcL+oiroQHIb/AUr9KZzVGTfu0uOMe9zkZQPXLjeSWdm4grECDdpbgyn43g +Kd8hdIaC2y+CMMbHNYaz+ZZfRtsMRf3zUMNvxsNIrUam4SdHCh0Om7bCd39j8uB9Gr784N/Xx6ds +sPmuujz9dLQR6FgNgLzTqIA6me11zEZ7 +-----END CERTIFICATE----- + +America Online Root Certification Authority 2 +============================================= +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEcMBoGA1UEChMT +QW1lcmljYSBPbmxpbmUgSW5jLjE2MDQGA1UEAxMtQW1lcmljYSBPbmxpbmUgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSAyMB4XDTAyMDUyODA2MDAwMFoXDTM3MDkyOTE0MDgwMFowYzELMAkG +A1UEBhMCVVMxHDAaBgNVBAoTE0FtZXJpY2EgT25saW5lIEluYy4xNjA0BgNVBAMTLUFtZXJpY2Eg +T25saW5lIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgMjCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAMxBRR3pPU0Q9oyxQcngXssNt79Hc9PwVU3dxgz6sWYFas14tNwC206B89en +fHG8dWOgXeMHDEjsJcQDIPT/DjsS/5uN4cbVG7RtIuOx238hZK+GvFciKtZHgVdEglZTvYYUAQv8 +f3SkWq7xuhG1m1hagLQ3eAkzfDJHA1zEpYNI9FdWboE2JxhP7JsowtS013wMPgwr38oE18aO6lhO +qKSlGBxsRZijQdEt0sdtjRnxrXm3gT+9BoInLRBYBbV4Bbkv2wxrkJB+FFk4u5QkE+XRnRTf04JN +RvCAOVIyD+OEsnpD8l7eXz8d3eOyG6ChKiMDbi4BFYdcpnV1x5dhvt6G3NRI270qv0pV2uh9UPu0 +gBe4lL8BPeraunzgWGcXuVjgiIZGZ2ydEEdYMtA1fHkqkKJaEBEjNa0vzORKW6fIJ/KD3l67Xnfn +6KVuY8INXWHQjNJsWiEOyiijzirplcdIz5ZvHZIlyMbGwcEMBawmxNJ10uEqZ8A9W6Wa6897Gqid +FEXlD6CaZd4vKL3Ob5Rmg0gp2OpljK+T2WSfVVcmv2/LNzGZo2C7HK2JNDJiuEMhBnIMoVxtRsX6 +Kc8w3onccVvdtjc+31D1uAclJuW8tf48ArO3+L5DwYcRlJ4jbBeKuIonDFRH8KmzwICMoCfrHRnj +B453cMor9H124HhnAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFE1FwWg4u3Op +aaEg5+31IqEjFNeeMB8GA1UdIwQYMBaAFE1FwWg4u3OpaaEg5+31IqEjFNeeMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQUFAAOCAgEAZ2sGuV9FOypLM7PmG2tZTiLMubekJcmnxPBUlgtk87FY +T15R/LKXeydlwuXK5w0MJXti4/qftIe3RUavg6WXSIylvfEWK5t2LHo1YGwRgJfMqZJS5ivmae2p ++DYtLHe/YUjRYwu5W1LtGLBDQiKmsXeu3mnFzcccobGlHBD7GL4acN3Bkku+KVqdPzW+5X1R+FXg +JXUjhx5c3LqdsKyzadsXg8n33gy8CNyRnqjQ1xU3c6U1uPx+xURABsPr+CKAXEfOAuMRn0T//Zoy +zH1kUQ7rVyZ2OuMeIjzCpjbdGe+n/BLzJsBZMYVMnNjP36TMzCmT/5RtdlwTCJfy7aULTd3oyWgO +ZtMADjMSW7yV5TKQqLPGbIOtd+6Lfn6xqavT4fG2wLHqiMDn05DpKJKUe2h7lyoKZy2FAjgQ5ANh +1NolNscIWC2hp1GvMApJ9aZphwctREZ2jirlmjvXGKL8nDgQzMY70rUXOm/9riW99XJZZLF0Kjhf +GEzfz3EEWjbUvy+ZnOjZurGV5gJLIaFb1cFPj65pbVPbAZO1XB4Y3WRayhgoPmMEEf0cjQAPuDff +Z4qdZqkCapH/E8ovXYO8h5Ns3CRRFgQlZvqz2cK6Kb6aSDiCmfS/O0oxGfm/jiEzFMpPVF/7zvuP +cX/9XhmgD0uRuMRUvAawRY8mkaKO/qk= +-----END CERTIFICATE----- + +Visa eCommerce Root +=================== +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBrMQswCQYDVQQG +EwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2Ug +QXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2 +WhcNMjIwNjI0MDAxNjEyWjBrMQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMm +VmlzYSBJbnRlcm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h2mCxlCfL +F9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4ElpF7sDPwsRROEW+1QK8b +RaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdVZqW1LS7YgFmypw23RuwhY/81q6UCzyr0 +TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI +/k4+oKsGGelT84ATB+0tvz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzs +GHxBvfaLdXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUFAAOCAQEAX/FBfXxc +CLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcRzCSs00Rsca4BIGsDoo8Ytyk6feUW +YFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pz +zkWKsKZJ/0x9nXGIxHYdkFsd7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBu +YQa7FkKMcPcw++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +Certum Root CA +============== +-----BEGIN CERTIFICATE----- +MIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQK +ExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBDQTAeFw0wMjA2MTExMDQ2Mzla +Fw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBMMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8u +by4xEjAQBgNVBAMTCUNlcnR1bSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6x +wS7TT3zNJc4YPk/EjG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdL +kKWoePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GIULdtlkIJ +89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapuOb7kky/ZR6By6/qmW6/K +Uz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUgAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7P +NSzVttpd90gzFFS269lvzs2I1qsb2pY7HVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQUFAAOCAQEAuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+ +GXYkHAQaTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTgxSvg +GrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1qCjqTE5s7FCMTY5w/ +0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5xO/fIR/RpbxXyEV6DHpx8Uq79AtoS +qFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs6GAqm4VKQPNriiTsBhYscw== +-----END CERTIFICATE----- + +Comodo AAA Services root +======================== +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw +MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl +c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV +BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG +C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs +i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW +Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH +Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK +Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f +BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl +cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz +LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm +7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z +8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C +12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +Comodo Secure Services root +=========================== +-----BEGIN CERTIFICATE----- +MIIEPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQUFADB+MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDEkMCIGA1UEAwwbU2VjdXJlIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAw +MDAwMFoXDTI4MTIzMTIzNTk1OVowfjELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFu +Y2hlc3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxJDAi +BgNVBAMMG1NlY3VyZSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAMBxM4KK0HDrc4eCQNUd5MvJDkKQ+d40uaG6EfQlhfPMcm3ye5drswfxdySRXyWP +9nQ95IDC+DwN879A6vfIUtFyb+/Iq0G4bi4XKpVpDM3SHpR7LZQdqnXXs5jLrLxkU0C8j6ysNstc +rbvd4JQX7NFc0L/vpZXJkMWwrPsbQ996CF23uPJAGysnnlDOXmWCiIxe004MeuoIkbY2qitC++rC +oznl2yY4rYsK7hljxxwk3wN42ubqwUcaCwtGCd0C/N7Lh1/XMGNooa7cMqG6vv5Eq2i2pRcV/b3V +p6ea5EQz6YiO/O1R65NxTq0B50SOqy3LqP4BSUjwwN3HaNiS/j0CAwEAAaOBxzCBxDAdBgNVHQ4E +FgQUPNiTiMLAggnMAZkGkyDpnnAJY08wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +gYEGA1UdHwR6MHgwO6A5oDeGNWh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL1NlY3VyZUNlcnRpZmlj +YXRlU2VydmljZXMuY3JsMDmgN6A1hjNodHRwOi8vY3JsLmNvbW9kby5uZXQvU2VjdXJlQ2VydGlm +aWNhdGVTZXJ2aWNlcy5jcmwwDQYJKoZIhvcNAQEFBQADggEBAIcBbSMdflsXfcFhMs+P5/OKlFlm +4J4oqF7Tt/Q05qo5spcWxYJvMqTpjOev/e/C6LlLqqP05tqNZSH7uoDrJiiFGv45jN5bBAS0VPmj +Z55B+glSzAVIqMk/IQQezkhr/IXownuvf7fM+F86/TXGDe+X3EyrEeFryzHRbPtIgKvcnDe4IRRL +DXE97IMzbtFuMhbsmMcWi1mmNKsFVy2T96oTy9IT4rcuO81rUBcJaD61JlfutuC23bkpgHl9j6Pw +pCikFcSF9CfUa7/lXORlAnZUtOM3ZiTTGWHIUhDlizeauan5Hb/qmZJhlv8BzaFfDbxxvA6sCx1H +RR3B7Hzs/Sk= +-----END CERTIFICATE----- + +Comodo Trusted Services root +============================ +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIBATANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS +R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg +TGltaXRlZDElMCMGA1UEAwwcVHJ1c3RlZCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczAeFw0wNDAxMDEw +MDAwMDBaFw0yODEyMzEyMzU5NTlaMH8xCzAJBgNVBAYTAkdCMRswGQYDVQQIDBJHcmVhdGVyIE1h +bmNoZXN0ZXIxEDAOBgNVBAcMB1NhbGZvcmQxGjAYBgNVBAoMEUNvbW9kbyBDQSBMaW1pdGVkMSUw +IwYDVQQDDBxUcnVzdGVkIENlcnRpZmljYXRlIFNlcnZpY2VzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA33FvNlhTWvI2VFeAxHQIIO0Yfyod5jWaHiWsnOWWfnJSoBVC21ndZHoa0Lh7 +3TkVvFVIxO06AOoxEbrycXQaZ7jPM8yoMa+j49d/vzMtTGo87IvDktJTdyR0nAducPy9C1t2ul/y +/9c3S0pgePfw+spwtOpZqqPOSC+pw7ILfhdyFgymBwwbOM/JYrc/oJOlh0Hyt3BAd9i+FHzjqMB6 +juljatEPmsbS9Is6FARW1O24zG71++IsWL1/T2sr92AkWCTOJu80kTrV44HQsvAEAtdbtz6SrGsS +ivnkBbA7kUlcsutT6vifR4buv5XAwAaf0lteERv0xwQ1KdJVXOTt6wIDAQABo4HJMIHGMB0GA1Ud +DgQWBBTFe1i97doladL3WRaoszLAeydb9DAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zCBgwYDVR0fBHwwejA8oDqgOIY2aHR0cDovL2NybC5jb21vZG9jYS5jb20vVHJ1c3RlZENlcnRp +ZmljYXRlU2VydmljZXMuY3JsMDqgOKA2hjRodHRwOi8vY3JsLmNvbW9kby5uZXQvVHJ1c3RlZENl +cnRpZmljYXRlU2VydmljZXMuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQDIk4E7ibSvuIQSTI3S8Ntw +uleGFTQQuS9/HrCoiWChisJ3DFBKmwCL2Iv0QeLQg4pKHBQGsKNoBXAxMKdTmw7pSqBYaWcOrp32 +pSxBvzwGa+RZzG0Q8ZZvH9/0BAKkn0U+yNj6NkZEUD+Cl5EfKNsYEYwq5GWDVxISjBc/lDb+XbDA +BHcTuPQV1T84zJQ6VdCsmPW6AF/ghhmBeC8owH7TzEIK9a5QoNE+xqFx7D+gIIxmOom0jtTYsU0l +R+4viMi14QVFwL4Ucd56/Y57fU0IlqUSc/AtyjcndBInTMu2l+nZrghtWjlA3QVHdWpaIbOjGM9O +9y5Xt5hwXsjEeLBi +-----END CERTIFICATE----- + +QuoVadis Root CA +================ +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE +ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz +MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp +cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD +EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk +J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL +F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL +YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen +AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w +PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y +ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 +MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj +YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs +ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW +Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu +BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw +FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 +tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo +fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul +LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x +gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi +5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi +5nrQNiOKSnQ2+Q== +-----END CERTIFICATE----- + +QuoVadis Root CA 2 +================== +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx +ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 +XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk +lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB +lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy +lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt +66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn +wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh +D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy +BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie +J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud +DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU +a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv +Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 +UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm +VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK ++JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW +IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 +WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X +f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II +4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 +VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +QuoVadis Root CA 3 +================== +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT +EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx +OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg +DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij +KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K +DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv +BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp +p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 +nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX +MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM +Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz +uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT +BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj +YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB +BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD +VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 +ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE +AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV +qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s +hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z +POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 +Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp +8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC +bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu +g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p +vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr +qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +Security Communication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP +U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw +8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM +DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX +5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd +DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 +JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw +DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g +0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a +mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ +s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ +6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi +FL39vmwLAw== +-----END CERTIFICATE----- + +Sonera Class 1 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBJDANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MxIENBMB4XDTAxMDQwNjEwNDkxM1oXDTIxMDQw +NjEwNDkxM1owOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALWJHytPZwp5/8Ue+H88 +7dF+2rDNbS82rDTG29lkFwhjMDMiikzujrsPDUJVyZ0upe/3p4zDq7mXy47vPxVnqIJyY1MPQYx9 +EJUkoVqlBvqSV536pQHydekfvFYmUk54GWVYVQNYwBSujHxVX3BbdyMGNpfzJLWaRpXk3w0LBUXl +0fIdgrvGE+D+qnr9aTCU89JFhfzyMlsy3uhsXR/LpCJ0sICOXZT3BgBLqdReLjVQCfOAl/QMF645 +2F/NM8EcyonCIvdFEu1eEpOdY6uCLrnrQkFEy0oaAIINnvmLVz5MxxftLItyM19yejhW1ebZrgUa +HXVFsculJRwSVzb9IjcCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIR+IMi/ZT +iFIwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQCLGrLJXWG04bkruVPRsoWdd44W7hE9 +28Jj2VuXZfsSZ9gqXLar5V7DtxYvyOirHYr9qxp81V9jz9yw3Xe5qObSIjiHBxTZ/75Wtf0HDjxV +yhbMp6Z3N/vbXB9OWQaHowND9Rart4S9Tu+fMTfwRvFAttEMpWT4Y14h21VOTzF2nBBhjrZTOqMR +vq9tfB69ri3iDGnHhVNoomG6xT60eVR4ngrHAr5i0RGCS2UvkVrCqIexVmiUefkl98HVrhq4uz2P +qYo4Ffdz0Fpg0YCw8NzVUM1O7pJIae2yIx4wzMiUyLb1O4Z/P6Yun/Y+LLWSlj7fLJOK/4GMDw9Z +IRlXvVWa +-----END CERTIFICATE----- + +Sonera Class 2 Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG +U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw +NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh +IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 +/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT +dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG +f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P +tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH +nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT +XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt +0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI +cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph +Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx +EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH +llpwrN9M +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA +============================= +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgIEAJiWijANBgkqhkiG9w0BAQUFADBVMQswCQYDVQQGEwJOTDEeMBwGA1UE +ChMVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSYwJAYDVQQDEx1TdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQTAeFw0wMjEyMTcwOTIzNDlaFw0xNTEyMTYwOTE1MzhaMFUxCzAJBgNVBAYTAk5MMR4w +HAYDVQQKExVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xJjAkBgNVBAMTHVN0YWF0IGRlciBOZWRlcmxh +bmRlbiBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmNK1URF6gaYUmHFt +vsznExvWJw56s2oYHLZhWtVhCb/ekBPHZ+7d89rFDBKeNVU+LCeIQGv33N0iYfXCxw719tV2U02P +jLwYdjeFnejKScfST5gTCaI+Ioicf9byEGW07l8Y1Rfj+MX94p2i71MOhXeiD+EwR+4A5zN9RGca +C1Hoi6CeUJhoNFIfLm0B8mBF8jHrqTFoKbt6QZ7GGX+UtFE5A3+y3qcym7RHjm+0Sq7lr7HcsBth +vJly3uSJt3omXdozSVtSnA71iq3DuD3oBmrC1SoLbHuEvVYFy4ZlkuxEK7COudxwC0barbxjiDn6 +22r+I/q85Ej0ZytqERAhSQIDAQABo4GRMIGOMAwGA1UdEwQFMAMBAf8wTwYDVR0gBEgwRjBEBgRV +HSAAMDwwOgYIKwYBBQUHAgEWLmh0dHA6Ly93d3cucGtpb3ZlcmhlaWQubmwvcG9saWNpZXMvcm9v +dC1wb2xpY3kwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSofeu8Y6R0E3QA7Jbg0zTBLL9s+DAN +BgkqhkiG9w0BAQUFAAOCAQEABYSHVXQ2YcG70dTGFagTtJ+k/rvuFbQvBgwp8qiSpGEN/KtcCFtR +EytNwiphyPgJWPwtArI5fZlmgb9uXJVFIGzmeafR2Bwp/MIgJ1HI8XxdNGdphREwxgDS1/PTfLbw +MVcoEoJz6TMvplW0C5GUR5z6u3pCMuiufi3IvKwUv9kP2Vv8wfl6leF9fpb8cbDCTMjfRTTJzg3y +nGQI0DvDKcWy7ZAEwbEpkcUwb8GpcjPM/l0WFywRaed+/sWDCN+83CI6LiBpIzlWYGeQiy52OfsR +iJf2fL1LuCAWZwWN4jvBcj+UlTfHXbme2JOhF4//DGYVwSR8MnwDHTuhWEUykw== +-----END CERTIFICATE----- + +TDC Internet Root CA +==================== +-----BEGIN CERTIFICATE----- +MIIEKzCCAxOgAwIBAgIEOsylTDANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJESzEVMBMGA1UE +ChMMVERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTAeFw0wMTA0MDUx +NjMzMTdaFw0yMTA0MDUxNzAzMTdaMEMxCzAJBgNVBAYTAkRLMRUwEwYDVQQKEwxUREMgSW50ZXJu +ZXQxHTAbBgNVBAsTFFREQyBJbnRlcm5ldCBSb290IENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxLhAvJHVYx/XmaCLDEAedLdInUaMArLgJF/wGROnN4NrXceO+YQwzho7+vvOi20j +xsNuZp+Jpd/gQlBn+h9sHvTQBda/ytZO5GhgbEaqHF1j4QeGDmUApy6mcca8uYGoOn0a0vnRrEvL +znWv3Hv6gXPU/Lq9QYjUdLP5Xjg6PEOo0pVOd20TDJ2PeAG3WiAfAzc14izbSysseLlJ28TQx5yc +5IogCSEWVmb/Bexb4/DPqyQkXsN/cHoSxNK1EKC2IeGNeGlVRGn1ypYcNIUXJXfi9i8nmHj9eQY6 +otZaQ8H/7AQ77hPv01ha/5Lr7K7a8jcDR0G2l8ktCkEiu7vmpwIDAQABo4IBJTCCASEwEQYJYIZI +AYb4QgEBBAQDAgAHMGUGA1UdHwReMFwwWqBYoFakVDBSMQswCQYDVQQGEwJESzEVMBMGA1UEChMM +VERDIEludGVybmV0MR0wGwYDVQQLExRUREMgSW50ZXJuZXQgUm9vdCBDQTENMAsGA1UEAxMEQ1JM +MTArBgNVHRAEJDAigA8yMDAxMDQwNTE2MzMxN1qBDzIwMjEwNDA1MTcwMzE3WjALBgNVHQ8EBAMC +AQYwHwYDVR0jBBgwFoAUbGQBx/2FbazI2p5QCIUItTxWqFAwHQYDVR0OBBYEFGxkAcf9hW2syNqe +UAiFCLU8VqhQMAwGA1UdEwQFMAMBAf8wHQYJKoZIhvZ9B0EABBAwDhsIVjUuMDo0LjADAgSQMA0G +CSqGSIb3DQEBBQUAA4IBAQBOQ8zR3R0QGwZ/t6T609lN+yOfI1Rb5osvBCiLtSdtiaHsmGnc540m +gwV5dOy0uaOXwTUA/RXaOYE6lTGQ3pfphqiZdwzlWqCE/xIWrG64jcN7ksKsLtB9KOy282A4aW8+ +2ARVPp7MVdK6/rtHBNcK2RYKNCn1WBPVT8+PVkuzHu7TmHnaCB4Mb7j4Fifvwm899qNLPg7kbWzb +O0ESm70NRyN/PErQr8Cv9u8btRXE64PECV90i9kR+8JWsTz4cMo0jUNAE4z9mQNUecYu6oah9jrU +Cbz0vGbMPVjQV0kK7iXiQe4T+Zs4NNEA9X7nlB38aQNiuJkFBT1reBK9sG9l +-----END CERTIFICATE----- + +TDC OCES Root CA +================ +-----BEGIN CERTIFICATE----- +MIIFGTCCBAGgAwIBAgIEPki9xDANBgkqhkiG9w0BAQUFADAxMQswCQYDVQQGEwJESzEMMAoGA1UE +ChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTAeFw0wMzAyMTEwODM5MzBaFw0zNzAyMTEwOTA5 +MzBaMDExCzAJBgNVBAYTAkRLMQwwCgYDVQQKEwNUREMxFDASBgNVBAMTC1REQyBPQ0VTIENBMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArGL2YSCyz8DGhdfjeebM7fI5kqSXLmSjhFuH +nEz9pPPEXyG9VhDr2y5h7JNp46PMvZnDBfwGuMo2HP6QjklMxFaaL1a8z3sM8W9Hpg1DTeLpHTk0 +zY0s2RKY+ePhwUp8hjjEqcRhiNJerxomTdXkoCJHhNlktxmW/OwZ5LKXJk5KTMuPJItUGBxIYXvV +iGjaXbXqzRowwYCDdlCqT9HU3Tjw7xb04QxQBr/q+3pJoSgrHPb8FTKjdGqPqcNiKXEx5TukYBde +dObaE+3pHx8b0bJoc8YQNHVGEBDjkAB2QMuLt0MJIf+rTpPGWOmlgtt3xDqZsXKVSQTwtyv6e1mO +3QIDAQABo4ICNzCCAjMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwgewGA1UdIASB +5DCB4TCB3gYIKoFQgSkBAQEwgdEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY2VydGlmaWthdC5k +ay9yZXBvc2l0b3J5MIGdBggrBgEFBQcCAjCBkDAKFgNUREMwAwIBARqBgUNlcnRpZmlrYXRlciBm +cmEgZGVubmUgQ0EgdWRzdGVkZXMgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4xLiBDZXJ0aWZp +Y2F0ZXMgZnJvbSB0aGlzIENBIGFyZSBpc3N1ZWQgdW5kZXIgT0lEIDEuMi4yMDguMTY5LjEuMS4x +LjARBglghkgBhvhCAQEEBAMCAAcwgYEGA1UdHwR6MHgwSKBGoESkQjBAMQswCQYDVQQGEwJESzEM +MAoGA1UEChMDVERDMRQwEgYDVQQDEwtUREMgT0NFUyBDQTENMAsGA1UEAxMEQ1JMMTAsoCqgKIYm +aHR0cDovL2NybC5vY2VzLmNlcnRpZmlrYXQuZGsvb2Nlcy5jcmwwKwYDVR0QBCQwIoAPMjAwMzAy +MTEwODM5MzBagQ8yMDM3MDIxMTA5MDkzMFowHwYDVR0jBBgwFoAUYLWF7FZkfhIZJ2cdUBVLc647 ++RIwHQYDVR0OBBYEFGC1hexWZH4SGSdnHVAVS3OuO/kSMB0GCSqGSIb2fQdBAAQQMA4bCFY2LjA6 +NC4wAwIEkDANBgkqhkiG9w0BAQUFAAOCAQEACromJkbTc6gJ82sLMJn9iuFXehHTuJTXCRBuo7E4 +A9G28kNBKWKnctj7fAXmMXAnVBhOinxO5dHKjHiIzxvTkIvmI/gLDjNDfZziChmPyQE+dF10yYsc +A+UYyAFMP8uXBV2YcaaYb7Z8vTd/vuGTJW1v8AqtFxjhA7wHKcitJuj4YfD9IQl+mo6paH1IYnK9 +AOoBmbgGglGBTvH1tJFUuSN6AJqfXY3gPGS5GhKSKseCRHI53OI8xthV9RVOyAUO28bQYqbsFbS1 +AoLbrIyigfCbmTH1ICCoiGEKB5+U/NDXG8wuF/MEJ3Zn61SD/aSQfgY9BKNDLdr8C2LqL19iUw== +-----END CERTIFICATE----- + +UTN DATACorp SGC Root CA +======================== +-----BEGIN CERTIFICATE----- +MIIEXjCCA0agAwIBAgIQRL4Mi1AAIbQR0ypoBqmtaTANBgkqhkiG9w0BAQUFADCBkzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xGzAZ +BgNVBAMTElVUTiAtIERBVEFDb3JwIFNHQzAeFw05OTA2MjQxODU3MjFaFw0xOTA2MjQxOTA2MzBa +MIGTMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4w +HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRy +dXN0LmNvbTEbMBkGA1UEAxMSVVROIC0gREFUQUNvcnAgU0dDMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA3+5YEKIrblXEjr8uRgnn4AgPLit6E5Qbvfa2gI5lBZMAHryv4g+OGQ0SR+ys +raP6LnD43m77VkIVni5c7yPeIbkFdicZD0/Ww5y0vpQZY/KmEQrrU0icvvIpOxboGqBMpsn0GFlo +wHDyUwDAXlCCpVZvNvlK4ESGoE1O1kduSUrLZ9emxAW5jh70/P/N5zbgnAVssjMiFdC04MwXwLLA +9P4yPykqlXvY8qdOD1R8oQ2AswkDwf9c3V6aPryuvEeKaq5xyh+xKrhfQgUL7EYw0XILyulWbfXv +33i+Ybqypa4ETLyorGkVl73v67SMvzX41MPRKA5cOp9wGDMgd8SirwIDAQABo4GrMIGoMAsGA1Ud +DwQEAwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRTMtGzz3/64PGgXYVOktKeRR20TzA9 +BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLURBVEFDb3JwU0dD +LmNybDAqBgNVHSUEIzAhBggrBgEFBQcDAQYKKwYBBAGCNwoDAwYJYIZIAYb4QgQBMA0GCSqGSIb3 +DQEBBQUAA4IBAQAnNZcAiosovcYzMB4p/OL31ZjUQLtgyr+rFywJNn9Q+kHcrpY6CiM+iVnJowft +Gzet/Hy+UUla3joKVAgWRcKZsYfNjGjgaQPpxE6YsjuMFrMOoAyYUJuTqXAJyCyjj98C5OBxOvG0 +I3KgqgHf35g+FFCgMSa9KOlaMCZ1+XtgHI3zzVAmbQQnmt/VDUVHKWss5nbZqSl9Mt3JNjy9rjXx +EZ4du5A/EkdOjtd+D2JzHVImOBwYSf0wdJrE5SIv2MCN7ZF6TACPcn9d2t0bi0Vr591pl6jFVkwP +DPafepE39peC4N1xaf92P2BNPM/3mfnGV/TJVTl4uix5yaaIK/QI +-----END CERTIFICATE----- + +UTN USERFirst Email Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIEojCCA4qgAwIBAgIQRL4Mi1AAJLQR0zYlJWfJiTANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xNjA0 +BgNVBAMTLVVUTi1VU0VSRmlyc3QtQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBFbWFpbDAeFw05 +OTA3MDkxNzI4NTBaFw0xOTA3MDkxNzM2NThaMIGuMQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQx +FzAVBgNVBAcTDlNhbHQgTGFrZSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsx +ITAfBgNVBAsTGGh0dHA6Ly93d3cudXNlcnRydXN0LmNvbTE2MDQGA1UEAxMtVVROLVVTRVJGaXJz +dC1DbGllbnQgQXV0aGVudGljYXRpb24gYW5kIEVtYWlsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsjmFpPJ9q0E7YkY3rs3BYHW8OWX5ShpHornMSMxqmNVNNRm5pELlzkniii8efNIx +B8dOtINknS4p1aJkxIW9hVE1eaROaJB7HHqkkqgX8pgV8pPMyaQylbsMTzC9mKALi+VuG6JG+ni8 +om+rWV6lL8/K2m2qL+usobNqqrcuZzWLeeEeaYji5kbNoKXqvgvOdjp6Dpvq/NonWz1zHyLmSGHG +TPNpsaguG7bUMSAsvIKKjqQOpdeJQ/wWWq8dcdcRWdq6hw2v+vPhwvCkxWeM1tZUOt4KpLoDd7Nl +yP0e03RiqhjKaJMeoYV+9Udly/hNVyh00jT/MLbu9mIwFIws6wIDAQABo4G5MIG2MAsGA1UdDwQE +AwIBxjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSJgmd9xJ0mcABLtFBIfN49rgRufTBYBgNV +HR8EUTBPME2gS6BJhkdodHRwOi8vY3JsLnVzZXJ0cnVzdC5jb20vVVROLVVTRVJGaXJzdC1DbGll +bnRBdXRoZW50aWNhdGlvbmFuZEVtYWlsLmNybDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH +AwQwDQYJKoZIhvcNAQEFBQADggEBALFtYV2mGn98q0rkMPxTbyUkxsrt4jFcKw7u7mFVbwQ+zzne +xRtJlOTrIEy05p5QLnLZjfWqo7NK2lYcYJeA3IKirUq9iiv/Cwm0xtcgBEXkzYABurorbs6q15L+ +5K/r9CYdFip/bDCVNy8zEqx/3cfREYxRmLLQo5HQrfafnoOTHh1CuEava2bwm3/q4wMC5QJRwarV +NZ1yQAOJujEdxRBoUp7fooXFXAimeOZTT7Hot9MUnpOmw2TjrH5xzbyf6QMbzPvprDHBr3wVdAKZ +w7JHpsIyYdfHb0gkUSeh1YdV8nuPmD0Wnu51tvjQjvLzxq4oW6fw8zYX/MMF08oDSlQ= +-----END CERTIFICATE----- + +UTN USERFirst Hardware Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIEdDCCA1ygAwIBAgIQRL4Mi1AAJLQR0zYq/mUK/TANBgkqhkiG9w0BAQUFADCBlzELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAd +BgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwHhcNOTkwNzA5MTgxMDQyWhcNMTkwNzA5MTgx +OTIyWjCBlzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0 +eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVz +ZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3QtSGFyZHdhcmUwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCx98M4P7Sof885glFn0G2f0v9Y8+efK+wNiVSZuTiZFvfgIXlI +wrthdBKWHTxqctU8EGc6Oe0rE81m65UJM6Rsl7HoxuzBdXmcRl6Nq9Bq/bkqVRcQVLMZ8Jr28bFd +tqdt++BxF2uiiPsA3/4aMXcMmgF6sTLjKwEHOG7DpV4jvEWbe1DByTCP2+UretNb+zNAHqDVmBe8 +i4fDidNdoI6yqqr2jmmIBsX6iSHzCJ1pLgkzmykNRg+MzEk0sGlRvfkGzWitZky8PqxhvQqIDsjf +Pe58BEydCl5rkdbux+0ojatNh4lz0G6k0B4WixThdkQDf2Os5M1JnMWS9KsyoUhbAgMBAAGjgbkw +gbYwCwYDVR0PBAQDAgHGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKFyXyYbKJhDlV0HN9WF +lp1L0sNFMEQGA1UdHwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9VVE4tVVNF +UkZpcnN0LUhhcmR3YXJlLmNybDAxBgNVHSUEKjAoBggrBgEFBQcDAQYIKwYBBQUHAwUGCCsGAQUF +BwMGBggrBgEFBQcDBzANBgkqhkiG9w0BAQUFAAOCAQEARxkP3nTGmZev/K0oXnWO6y1n7k57K9cM +//bey1WiCuFMVGWTYGufEpytXoMs61quwOQt9ABjHbjAbPLPSbtNk28GpgoiskliCE7/yMgUsogW +XecB5BKV5UU0s4tpvc+0hY91UZ59Ojg6FEgSxvunOxqNDYJAB+gECJChicsZUN/KHAG8HQQZexB2 +lzvukJDKxA4fFm517zP4029bHpbj4HR3dHuKom4t3XbWOTCC8KucUvIqx69JXn7HaOWCgchqJ/kn +iCrVWFCVH/A7HFe7fRQ5YiuayZSSKqMiDP+JJn1fIytH1xUdqWqeUQ0qUZ6B+dQ7XnASfxAynB67 +nfhmqA== +-----END CERTIFICATE----- + +UTN USERFirst Object Root CA +============================ +-----BEGIN CERTIFICATE----- +MIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UE +BhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhl +IFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAb +BgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4NDAz +NlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENpdHkx +HjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51c2Vy +dHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj71VR +loTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX65OeQ +w5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP1/vu +lBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehbkkj7 +RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCBrDAL +BgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVsoTYs8 +ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VSRmly +c3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcKAwQw +DQYJKoZIhvcNAQEFBQADggEBAAgfUrE3RHjb/c652pWWmKpVZIC1WkDdIaXFwfNfLEzIR1pp6ujw +NTX00CXzyKakh0q9G7FzCL3Uw8q2NbtZhncxzaeAFK4T7/yxSPlrJSUtUbYsbUXBmMiKVl0+7kNO +PmsnjtA6S4ULX9Ptaqd1y9Fahy85dRNacrACgZ++8A+EVCBibGnU4U3GDZlDAQ0Slox4nb9QorFE +qmrPF3rPbw/U+CRVX/A0FklmPlBGyWNxODFiuGK581OtbLUrohKqGU8J2l7nk8aOFAj+8DCAGKCG +hU3IfdeLA/5u1fedFqySLKAj5ZyRUh+U3xeUc8OzwcFxBSAAeL0TUh2oPs0AH8g= +-----END CERTIFICATE----- + +Camerfirma Chambers of Commerce Root +==================================== +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBADANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEiMCAGA1UEAxMZQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdDAeFw0wMzA5MzAx +NjEzNDNaFw0zNzA5MzAxNjEzNDRaMH8xCzAJBgNVBAYTAkVVMScwJQYDVQQKEx5BQyBDYW1lcmZp +cm1hIFNBIENJRiBBODI3NDMyODcxIzAhBgNVBAsTGmh0dHA6Ly93d3cuY2hhbWJlcnNpZ24ub3Jn +MSIwIAYDVQQDExlDaGFtYmVycyBvZiBDb21tZXJjZSBSb290MIIBIDANBgkqhkiG9w0BAQEFAAOC +AQ0AMIIBCAKCAQEAtzZV5aVdGDDg2olUkfzIx1L4L1DZ77F1c2VHfRtbunXF/KGIJPov7coISjlU +xFF6tdpg6jg8gbLL8bvZkSM/SAFwdakFKq0fcfPJVD0dBmpAPrMMhe5cG3nCYsS4No41XQEMIwRH +NaqbYE6gZj3LJgqcQKH0XZi/caulAGgq7YN6D6IUtdQis4CwPAxaUWktWBiP7Zme8a7ileb2R6jW +DA+wWFjbw2Y3npuRVDM30pQcakjJyfKl2qUMI/cjDpwyVV5xnIQFUZot/eZOKjRa3spAN2cMVCFV +d9oKDMyXroDclDZK9D7ONhMeU+SsTjoF7Nuucpw4i9A5O4kKPnf+dQIBA6OCAUQwggFAMBIGA1Ud +EwEB/wQIMAYBAf8CAQwwPAYDVR0fBDUwMzAxoC+gLYYraHR0cDovL2NybC5jaGFtYmVyc2lnbi5v +cmcvY2hhbWJlcnNyb290LmNybDAdBgNVHQ4EFgQU45T1sU3p26EpW1eLTXYGduHRooowDgYDVR0P +AQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzAnBgNVHREEIDAegRxjaGFtYmVyc3Jvb3RAY2hh +bWJlcnNpZ24ub3JnMCcGA1UdEgQgMB6BHGNoYW1iZXJzcm9vdEBjaGFtYmVyc2lnbi5vcmcwWAYD +VR0gBFEwTzBNBgsrBgEEAYGHLgoDATA+MDwGCCsGAQUFBwIBFjBodHRwOi8vY3BzLmNoYW1iZXJz +aWduLm9yZy9jcHMvY2hhbWJlcnNyb290Lmh0bWwwDQYJKoZIhvcNAQEFBQADggEBAAxBl8IahsAi +fJ/7kPMa0QOx7xP5IV8EnNrJpY0nbJaHkb5BkAFyk+cefV/2icZdp0AJPaxJRUXcLo0waLIJuvvD +L8y6C98/d3tGfToSJI6WjzwFCm/SlCgdbQzALogi1djPHRPH8EjX1wWnz8dHnjs8NMiAT9QUu/wN +UPf6s+xCX6ndbcj0dc97wXImsQEcXCz9ek60AcUFV7nnPKoF2YjpB0ZBzu9Bga5Y34OirsrXdx/n +ADydb47kMgkdTXg0eDQ8lJsm7U9xxhl6vSAiSFr+S30Dt+dYvsYyTnQeaN2oaFuzPu5ifdmA6Ap1 +erfutGWaIZDgqtCYvDi1czyL+Nw= +-----END CERTIFICATE----- + +Camerfirma Global Chambersign Root +================================== +-----BEGIN CERTIFICATE----- +MIIExTCCA62gAwIBAgIBADANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMe +QUMgQ2FtZXJmaXJtYSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1i +ZXJzaWduLm9yZzEgMB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwHhcNMDMwOTMwMTYx +NDE4WhcNMzcwOTMwMTYxNDE4WjB9MQswCQYDVQQGEwJFVTEnMCUGA1UEChMeQUMgQ2FtZXJmaXJt +YSBTQSBDSUYgQTgyNzQzMjg3MSMwIQYDVQQLExpodHRwOi8vd3d3LmNoYW1iZXJzaWduLm9yZzEg +MB4GA1UEAxMXR2xvYmFsIENoYW1iZXJzaWduIFJvb3QwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAw +ggEIAoIBAQCicKLQn0KuWxfH2H3PFIP8T8mhtxOviteePgQKkotgVvq0Mi+ITaFgCPS3CU6gSS9J +1tPfnZdan5QEcOw/Wdm3zGaLmFIoCQLfxS+EjXqXd7/sQJ0lcqu1PzKY+7e3/HKE5TWH+VX6ox8O +by4o3Wmg2UIQxvi1RMLQQ3/bvOSiPGpVeAp3qdjqGTK3L/5cPxvusZjsyq16aUXjlg9V9ubtdepl +6DJWk0aJqCWKZQbua795B9Dxt6/tLE2Su8CoX6dnfQTyFQhwrJLWfQTSM/tMtgsL+xrJxI0DqX5c +8lCrEqWhz0hQpe/SyBoT+rB/sYIcd2oPX9wLlY/vQ37mRQklAgEDo4IBUDCCAUwwEgYDVR0TAQH/ +BAgwBgEB/wIBDDA/BgNVHR8EODA2MDSgMqAwhi5odHRwOi8vY3JsLmNoYW1iZXJzaWduLm9yZy9j +aGFtYmVyc2lnbnJvb3QuY3JsMB0GA1UdDgQWBBRDnDafsJ4wTcbOX60Qq+UDpfqpFDAOBgNVHQ8B +Af8EBAMCAQYwEQYJYIZIAYb4QgEBBAQDAgAHMCoGA1UdEQQjMCGBH2NoYW1iZXJzaWducm9vdEBj +aGFtYmVyc2lnbi5vcmcwKgYDVR0SBCMwIYEfY2hhbWJlcnNpZ25yb290QGNoYW1iZXJzaWduLm9y +ZzBbBgNVHSAEVDBSMFAGCysGAQQBgYcuCgEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly9jcHMuY2hh +bWJlcnNpZ24ub3JnL2Nwcy9jaGFtYmVyc2lnbnJvb3QuaHRtbDANBgkqhkiG9w0BAQUFAAOCAQEA +PDtwkfkEVCeR4e3t/mh/YV3lQWVPMvEYBZRqHN4fcNs+ezICNLUMbKGKfKX0j//U2K0X1S0E0T9Y +gOKBWYi+wONGkyT+kL0mojAt6JcmVzWJdJYY9hXiryQZVgICsroPFOrGimbBhkVVi76SvpykBMdJ +PJ7oKXqJ1/6v/2j1pReQvayZzKWGVwlnRtvWFsJG8eSpUPWP0ZIV018+xgBJOm5YstHRJw0lyDL4 +IBHNfTIzSJRUTN3cecQwn+uOuFW114hcxWokPbLTBQNRxgfvzBRydD1ucs4YKIxKoHflCStFREes +t2d/AYoFWpO+ocH/+OcOZ6RHSXZddZAa9SaP8A== +-----END CERTIFICATE----- + +NetLock Qualified (Class QA) Root +================================= +-----BEGIN CERTIFICATE----- +MIIG0TCCBbmgAwIBAgIBezANBgkqhkiG9w0BAQUFADCByTELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMUIwQAYDVQQDEzlOZXRMb2NrIE1pbm9zaXRldHQgS296amVn +eXpvaSAoQ2xhc3MgUUEpIFRhbnVzaXR2YW55a2lhZG8xHjAcBgkqhkiG9w0BCQEWD2luZm9AbmV0 +bG9jay5odTAeFw0wMzAzMzAwMTQ3MTFaFw0yMjEyMTUwMTQ3MTFaMIHJMQswCQYDVQQGEwJIVTER +MA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRvbnNhZ2kgS2Z0 +LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxQjBABgNVBAMTOU5ldExvY2sgTWlub3NpdGV0 +dCBLb3pqZWd5em9pIChDbGFzcyBRQSkgVGFudXNpdHZhbnlraWFkbzEeMBwGCSqGSIb3DQEJARYP +aW5mb0BuZXRsb2NrLmh1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx1Ilstg91IRV +CacbvWy5FPSKAtt2/GoqeKvld/Bu4IwjZ9ulZJm53QE+b+8tmjwi8F3JV6BVQX/yQ15YglMxZc4e +8ia6AFQer7C8HORSjKAyr7c3sVNnaHRnUPYtLmTeriZ539+Zhqurf4XsoPuAzPS4DB6TRWO53Lhb +m+1bOdRfYrCnjnxmOCyqsQhjF2d9zL2z8cM/z1A57dEZgxXbhxInlrfa6uWdvLrqOU+L73Sa58XQ +0uqGURzk/mQIKAR5BevKxXEOC++r6uwSEaEYBTJp0QwsGj0lmT+1fMptsK6ZmfoIYOcZwvK9UdPM +0wKswREMgM6r3JSda6M5UzrWhQIDAMV9o4ICwDCCArwwEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV +HQ8BAf8EBAMCAQYwggJ1BglghkgBhvhCAQ0EggJmFoICYkZJR1lFTEVNISBFemVuIHRhbnVzaXR2 +YW55IGEgTmV0TG9jayBLZnQuIE1pbm9zaXRldHQgU3pvbGdhbHRhdGFzaSBTemFiYWx5emF0YWJh +biBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBBIG1pbm9zaXRldHQgZWxla3Ryb25p +a3VzIGFsYWlyYXMgam9naGF0YXMgZXJ2ZW55ZXN1bGVzZW5laywgdmFsYW1pbnQgZWxmb2dhZGFz +YW5hayBmZWx0ZXRlbGUgYSBNaW5vc2l0ZXR0IFN6b2xnYWx0YXRhc2kgU3phYmFseXphdGJhbiwg +YXogQWx0YWxhbm9zIFN6ZXJ6b2Rlc2kgRmVsdGV0ZWxla2JlbiBlbG9pcnQgZWxsZW5vcnplc2kg +ZWxqYXJhcyBtZWd0ZXRlbGUuIEEgZG9rdW1lbnR1bW9rIG1lZ3RhbGFsaGF0b2sgYSBodHRwczov +L3d3dy5uZXRsb2NrLmh1L2RvY3MvIGNpbWVuIHZhZ3kga2VyaGV0b2sgYXogaW5mb0BuZXRsb2Nr +Lm5ldCBlLW1haWwgY2ltZW4uIFdBUk5JTkchIFRoZSBpc3N1YW5jZSBhbmQgdGhlIHVzZSBvZiB0 +aGlzIGNlcnRpZmljYXRlIGFyZSBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIFF1YWxpZmllZCBDUFMg +YXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3Lm5ldGxvY2suaHUvZG9jcy8gb3IgYnkgZS1tYWlsIGF0 +IGluZm9AbmV0bG9jay5uZXQwHQYDVR0OBBYEFAlqYhaSsFq7VQ7LdTI6MuWyIckoMA0GCSqGSIb3 +DQEBBQUAA4IBAQCRalCc23iBmz+LQuM7/KbD7kPgz/PigDVJRXYC4uMvBcXxKufAQTPGtpvQMznN +wNuhrWw3AkxYQTvyl5LGSKjN5Yo5iWH5Upfpvfb5lHTocQ68d4bDBsxafEp+NFAwLvt/MpqNPfMg +W/hqyobzMUwsWYACff44yTB1HLdV47yfuqhthCgFdbOLDcCRVCHnpgu0mfVRQdzNo0ci2ccBgcTc +R08m6h/t280NmPSjnLRzMkqWmf68f8glWPhY83ZmiVSkpj7EUFy6iRiCdUgh0k8T6GB+B3bbELVR +5qq5aKrN9p2QdRLqOBrKROi3macqaJVmlaut74nLYKkGEsaUR+ko +-----END CERTIFICATE----- + +NetLock Notary (Class A) Root +============================= +-----BEGIN CERTIFICATE----- +MIIGfTCCBWWgAwIBAgICAQMwDQYJKoZIhvcNAQEEBQAwga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQI +EwdIdW5nYXJ5MREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9j +ayBLb3pqZWd5em9pIChDbGFzcyBBKSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNDIzMTQ0N1oX +DTE5MDIxOTIzMTQ0N1owga8xCzAJBgNVBAYTAkhVMRAwDgYDVQQIEwdIdW5nYXJ5MREwDwYDVQQH +EwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6dG9uc2FnaSBLZnQuMRowGAYD +VQQLExFUYW51c2l0dmFueWtpYWRvazE2MDQGA1UEAxMtTmV0TG9jayBLb3pqZWd5em9pIChDbGFz +cyBBKSBUYW51c2l0dmFueWtpYWRvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvHSM +D7tM9DceqQWC2ObhbHDqeLVu0ThEDaiDzl3S1tWBxdRL51uUcCbbO51qTGL3cfNk1mE7PetzozfZ +z+qMkjvN9wfcZnSX9EUi3fRc4L9t875lM+QVOr/bmJBVOMTtplVjC7B4BPTjbsE/jvxReB+SnoPC +/tmwqcm8WgD/qaiYdPv2LD4VOQ22BFWoDpggQrOxJa1+mm9dU7GrDPzr4PN6s6iz/0b2Y6LYOph7 +tqyF/7AlT3Rj5xMHpQqPBffAZG9+pyeAlt7ULoZgx2srXnN7F+eRP2QM2EsiNCubMvJIH5+hCoR6 +4sKtlz2O1cH5VqNQ6ca0+pii7pXmKgOM3wIDAQABo4ICnzCCApswDgYDVR0PAQH/BAQDAgAGMBIG +A1UdEwEB/wQIMAYBAf8CAQQwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaC +Ak1GSUdZRUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pv +bGdhbHRhdGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQu +IEEgaGl0ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2Vn +LWJpenRvc2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0 +ZXRlbGUgYXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFz +IGxlaXJhc2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBh +IGh0dHBzOi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVu +b3J6ZXNAbmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBh +bmQgdGhlIHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sg +Q1BTIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFp +bCBhdCBjcHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4IBAQBIJEb3ulZv+sgoA0BO5TE5 +ayZrU3/b39/zcT0mwBQOxmd7I6gMc90Bu8bKbjc5VdXHjFYgDigKDtIqpLBJUsY4B/6+CgmM0ZjP +ytoUMaFP0jn8DxEsQ8Pdq5PHVT5HfBgaANzze9jyf1JsIPQLX2lS9O74silg6+NJMSEN1rUQQeJB +CWziGppWS3cC9qCbmieH6FUpccKQn0V4GuEVZD3QDtigdp+uxdAu6tYPVuxkf1qbFFgBJ34TUMdr +KuZoPL9coAob4Q566eKAw+np9v1sEZ7Q5SgnK1QyQhSCdeZK8CtmdWOMovsEPoMOmzbwGOQmIMOM +8CgHrTwXZoi1/baI +-----END CERTIFICATE----- + +NetLock Business (Class B) Root +=============================== +-----BEGIN CERTIFICATE----- +MIIFSzCCBLSgAwIBAgIBaTANBgkqhkiG9w0BAQQFADCBmTELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMTIwMAYDVQQDEylOZXRMb2NrIFV6bGV0aSAoQ2xhc3MgQikg +VGFudXNpdHZhbnlraWFkbzAeFw05OTAyMjUxNDEwMjJaFw0xOTAyMjAxNDEwMjJaMIGZMQswCQYD +VQQGEwJIVTERMA8GA1UEBxMIQnVkYXBlc3QxJzAlBgNVBAoTHk5ldExvY2sgSGFsb3phdGJpenRv +bnNhZ2kgS2Z0LjEaMBgGA1UECxMRVGFudXNpdHZhbnlraWFkb2sxMjAwBgNVBAMTKU5ldExvY2sg +VXpsZXRpIChDbGFzcyBCKSBUYW51c2l0dmFueWtpYWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCx6gTsIKAjwo84YM/HRrPVG/77uZmeBNwcf4xKgZjupNTKihe5In+DCnVMm8Bp2GQ5o+2S +o/1bXHQawEfKOml2mrriRBf8TKPV/riXiK+IA4kfpPIEPsgHC+b5sy96YhQJRhTKZPWLgLViqNhr +1nGTLbO/CVRY7QbrqHvcQ7GhaQIDAQABo4ICnzCCApswEgYDVR0TAQH/BAgwBgEB/wIBBDAOBgNV +HQ8BAf8EBAMCAAYwEQYJYIZIAYb4QgEBBAQDAgAHMIICYAYJYIZIAYb4QgENBIICURaCAk1GSUdZ +RUxFTSEgRXplbiB0YW51c2l0dmFueSBhIE5ldExvY2sgS2Z0LiBBbHRhbGFub3MgU3pvbGdhbHRh +dGFzaSBGZWx0ZXRlbGVpYmVuIGxlaXJ0IGVsamFyYXNvayBhbGFwamFuIGtlc3p1bHQuIEEgaGl0 +ZWxlc2l0ZXMgZm9seWFtYXRhdCBhIE5ldExvY2sgS2Z0LiB0ZXJtZWtmZWxlbG9zc2VnLWJpenRv +c2l0YXNhIHZlZGkuIEEgZGlnaXRhbGlzIGFsYWlyYXMgZWxmb2dhZGFzYW5hayBmZWx0ZXRlbGUg +YXogZWxvaXJ0IGVsbGVub3J6ZXNpIGVsamFyYXMgbWVndGV0ZWxlLiBBeiBlbGphcmFzIGxlaXJh +c2EgbWVndGFsYWxoYXRvIGEgTmV0TG9jayBLZnQuIEludGVybmV0IGhvbmxhcGphbiBhIGh0dHBz +Oi8vd3d3Lm5ldGxvY2submV0L2RvY3MgY2ltZW4gdmFneSBrZXJoZXRvIGF6IGVsbGVub3J6ZXNA +bmV0bG9jay5uZXQgZS1tYWlsIGNpbWVuLiBJTVBPUlRBTlQhIFRoZSBpc3N1YW5jZSBhbmQgdGhl +IHVzZSBvZiB0aGlzIGNlcnRpZmljYXRlIGlzIHN1YmplY3QgdG8gdGhlIE5ldExvY2sgQ1BTIGF2 +YWlsYWJsZSBhdCBodHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIG9yIGJ5IGUtbWFpbCBhdCBj +cHNAbmV0bG9jay5uZXQuMA0GCSqGSIb3DQEBBAUAA4GBAATbrowXr/gOkDFOzT4JwG06sPgzTEdM +43WIEJessDgVkcYplswhwG08pXTP2IKlOcNl40JwuyKQ433bNXbhoLXan3BukxowOR0w2y7jfLKR +stE3Kfq51hdcR0/jHTjrn9V7lagonhVK0dHQKwCXoOKSNitjrFgBazMpUIaD8QFI +-----END CERTIFICATE----- + +NetLock Express (Class C) Root +============================== +-----BEGIN CERTIFICATE----- +MIIFTzCCBLigAwIBAgIBaDANBgkqhkiG9w0BAQQFADCBmzELMAkGA1UEBhMCSFUxETAPBgNVBAcT +CEJ1ZGFwZXN0MScwJQYDVQQKEx5OZXRMb2NrIEhhbG96YXRiaXp0b25zYWdpIEtmdC4xGjAYBgNV +BAsTEVRhbnVzaXR2YW55a2lhZG9rMTQwMgYDVQQDEytOZXRMb2NrIEV4cHJlc3N6IChDbGFzcyBD +KSBUYW51c2l0dmFueWtpYWRvMB4XDTk5MDIyNTE0MDgxMVoXDTE5MDIyMDE0MDgxMVowgZsxCzAJ +BgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVzdDEnMCUGA1UEChMeTmV0TG9jayBIYWxvemF0Yml6 +dG9uc2FnaSBLZnQuMRowGAYDVQQLExFUYW51c2l0dmFueWtpYWRvazE0MDIGA1UEAxMrTmV0TG9j +ayBFeHByZXNzeiAoQ2xhc3MgQykgVGFudXNpdHZhbnlraWFkbzCBnzANBgkqhkiG9w0BAQEFAAOB +jQAwgYkCgYEA6+ywbGGKIyWvYCDj2Z/8kwvbXY2wobNAOoLO/XXgeDIDhlqGlZHtU/qdQPzm6N3Z +W3oDvV3zOwzDUXmbrVWg6dADEK8KuhRC2VImESLH0iDMgqSaqf64gXadarfSNnU+sYYJ9m5tfk63 +euyucYT2BDMIJTLrdKwWRMbkQJMdf60CAwEAAaOCAp8wggKbMBIGA1UdEwEB/wQIMAYBAf8CAQQw +DgYDVR0PAQH/BAQDAgAGMBEGCWCGSAGG+EIBAQQEAwIABzCCAmAGCWCGSAGG+EIBDQSCAlEWggJN +RklHWUVMRU0hIEV6ZW4gdGFudXNpdHZhbnkgYSBOZXRMb2NrIEtmdC4gQWx0YWxhbm9zIFN6b2xn +YWx0YXRhc2kgRmVsdGV0ZWxlaWJlbiBsZWlydCBlbGphcmFzb2sgYWxhcGphbiBrZXN6dWx0LiBB +IGhpdGVsZXNpdGVzIGZvbHlhbWF0YXQgYSBOZXRMb2NrIEtmdC4gdGVybWVrZmVsZWxvc3NlZy1i +aXp0b3NpdGFzYSB2ZWRpLiBBIGRpZ2l0YWxpcyBhbGFpcmFzIGVsZm9nYWRhc2FuYWsgZmVsdGV0 +ZWxlIGF6IGVsb2lydCBlbGxlbm9yemVzaSBlbGphcmFzIG1lZ3RldGVsZS4gQXogZWxqYXJhcyBs +ZWlyYXNhIG1lZ3RhbGFsaGF0byBhIE5ldExvY2sgS2Z0LiBJbnRlcm5ldCBob25sYXBqYW4gYSBo +dHRwczovL3d3dy5uZXRsb2NrLm5ldC9kb2NzIGNpbWVuIHZhZ3kga2VyaGV0byBheiBlbGxlbm9y +emVzQG5ldGxvY2submV0IGUtbWFpbCBjaW1lbi4gSU1QT1JUQU5UISBUaGUgaXNzdWFuY2UgYW5k +IHRoZSB1c2Ugb2YgdGhpcyBjZXJ0aWZpY2F0ZSBpcyBzdWJqZWN0IHRvIHRoZSBOZXRMb2NrIENQ +UyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cubmV0bG9jay5uZXQvZG9jcyBvciBieSBlLW1haWwg +YXQgY3BzQG5ldGxvY2submV0LjANBgkqhkiG9w0BAQQFAAOBgQAQrX/XDDKACtiG8XmYta3UzbM2 +xJZIwVzNmtkFLp++UOv0JhQQLdRmF/iewSf98e3ke0ugbLWrmldwpu2gpO0u9f38vf5NNwgMvOOW +gyL1SRt/Syu0VMGAfJlOHdCM7tCs5ZL6dVb+ZKATj7i4Fp1hBWeAyNDYpQcCNJgEjTME1A== +-----END CERTIFICATE----- + +XRamp Global CA Root +==================== +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE +BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj +dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx +HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg +U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu +IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx +foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE +zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs +AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry +xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap +oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC +AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc +/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n +nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz +8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +Go Daddy Class 2 CA +=================== +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY +VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG +A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g +RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD +ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv +2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 +qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j +YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY +vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O +BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o +atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu +MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG +A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim +PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt +I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI +Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b +vZ8= +-----END CERTIFICATE----- + +Starfield Class 2 CA +==================== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc +U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg +Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo +MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG +A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG +SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY +bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ +JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm +epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN +F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF +MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f +hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo +bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g +QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs +afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM +PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD +KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 +QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM2WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE +FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9jZXJ0LnN0YXJ0 +Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3JsLnN0YXJ0Y29tLm9yZy9zZnNj +YS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFMBgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUH +AgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRw +Oi8vY2VydC5zdGFydGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYg +U3RhcnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlhYmlsaXR5 +LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29tIENl +cnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0cDovL2NlcnQuc3Rh +cnRjb20ub3JnL3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilT +dGFydENvbSBGcmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC +AgEAFmyZ9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8jhvh +3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUWFjgKXlf2Ysd6AgXm +vB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJzewT4F+irsfMuXGRuczE6Eri8sxHk +fY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3 +fsNrarnDy0RLrHiQi+fHLB5LEUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZ +EoalHmdkrQYuL6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq +yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuCO3NJo2pXh5Tl +1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6Vum0ABj6y6koQOdjQK/W/7HW/ +lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkyShNOsF/5oirpt9P/FlUQqmMGqz9IgcgA38coro +g14= +-----END CERTIFICATE----- + +Taiwan GRCA +=========== +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG +EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X +DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv +dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN +w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 +BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O +1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO +htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov +J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 +Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t +B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB +O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 +lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV +HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 +09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj +Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 +Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU +D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz +DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk +Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk +7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ +CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy ++fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS +-----END CERTIFICATE----- + +Firmaprofesional Root CA +======================== +-----BEGIN CERTIFICATE----- +MIIEVzCCAz+gAwIBAgIBATANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCRVMxIjAgBgNVBAcT +GUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMTOUF1dG9yaWRhZCBkZSBDZXJ0aWZp +Y2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODEmMCQGCSqGSIb3DQEJARYXY2FA +ZmlybWFwcm9mZXNpb25hbC5jb20wHhcNMDExMDI0MjIwMDAwWhcNMTMxMDI0MjIwMDAwWjCBnTEL +MAkGA1UEBhMCRVMxIjAgBgNVBAcTGUMvIE11bnRhbmVyIDI0NCBCYXJjZWxvbmExQjBABgNVBAMT +OUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2 +ODEmMCQGCSqGSIb3DQEJARYXY2FAZmlybWFwcm9mZXNpb25hbC5jb20wggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDnIwNvbyOlXnjOlSztlB5uCp4Bx+ow0Syd3Tfom5h5VtP8c9/Qit5V +j1H5WuretXDE7aTt/6MNbg9kUDGvASdYrv5sp0ovFy3Tc9UTHI9ZpTQsHVQERc1ouKDAA6XPhUJH +lShbz++AbOCQl4oBPB3zhxAwJkh91/zpnZFx/0GaqUC1N5wpIE8fUuOgfRNtVLcK3ulqTgesrBlf +3H5idPayBQC6haD9HThuy1q7hryUZzM1gywfI834yJFxzJeL764P3CkDG8A563DtwW4O2GcLiam8 +NeTvtjS0pbbELaW+0MOUJEjb35bTALVmGotmBQ/dPz/LP6pemkr4tErvlTcbAgMBAAGjgZ8wgZww +KgYDVR0RBCMwIYYfaHR0cDovL3d3dy5maXJtYXByb2Zlc2lvbmFsLmNvbTASBgNVHRMBAf8ECDAG +AQH/AgEBMCsGA1UdEAQkMCKADzIwMDExMDI0MjIwMDAwWoEPMjAxMzEwMjQyMjAwMDBaMA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUMwugZtHq2s7eYpMEKFK1FH84aLcwDQYJKoZIhvcNAQEFBQAD +ggEBAEdz/o0nVPD11HecJ3lXV7cVVuzH2Fi3AQL0M+2TUIiefEaxvT8Ub/GzR0iLjJcG1+p+o1wq +u00vR+L4OQbJnC4xGgN49Lw4xiKLMzHwFgQEffl25EvXwOaD7FnMP97/T2u3Z36mhoEyIwOdyPdf +wUpgpZKpsaSgYMN4h7Mi8yrrW6ntBas3D7Hi05V2Y1Z0jFhyGzflZKG+TQyTmAyX9odtsz/ny4Cm +7YjHX1BiAuiZdBbQ5rQ58SfLyEDW44YQqSMSkuBpQWOnryULwMWSyx6Yo1q6xTMPoJcB3X/ge9YG +VM+h4k0460tQtcsm9MracEpqoeJ5quGnM/b9Sh/22WA= +-----END CERTIFICATE----- + +Wells Fargo Root CA +=================== +-----BEGIN CERTIFICATE----- +MIID5TCCAs2gAwIBAgIEOeSXnjANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UEBhMCVVMxFDASBgNV +BAoTC1dlbGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTEvMC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDAxMDExMTY0MTI4WhcNMjEwMTE0MTY0MTI4WjCBgjELMAkGA1UEBhMCVVMxFDASBgNVBAoTC1dl +bGxzIEZhcmdvMSwwKgYDVQQLEyNXZWxscyBGYXJnbyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEv +MC0GA1UEAxMmV2VsbHMgRmFyZ28gUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDVqDM7Jvk0/82bfuUER84A4n135zHCLielTWi5MbqNQ1mX +x3Oqfz1cQJ4F5aHiidlMuD+b+Qy0yGIZLEWukR5zcUHESxP9cMIlrCL1dQu3U+SlK93OvRw6esP3 +E48mVJwWa2uv+9iWsWCaSOAlIiR5NM4OJgALTqv9i86C1y8IcGjBqAr5dE8Hq6T54oN+J3N0Prj5 +OEL8pahbSCOz6+MlsoCultQKnMJ4msZoGK43YjdeUXWoWGPAUe5AeH6orxqg4bB4nVCMe+ez/I4j +sNtlAHCEAQgAFG5Uhpq6zPk3EPbg3oQtnaSFN9OH4xXQwReQfhkhahKpdv0SAulPIV4XAgMBAAGj +YTBfMA8GA1UdEwEB/wQFMAMBAf8wTAYDVR0gBEUwQzBBBgtghkgBhvt7hwcBCzAyMDAGCCsGAQUF +BwIBFiRodHRwOi8vd3d3LndlbGxzZmFyZ28uY29tL2NlcnRwb2xpY3kwDQYJKoZIhvcNAQEFBQAD +ggEBANIn3ZwKdyu7IvICtUpKkfnRLb7kuxpo7w6kAOnu5+/u9vnldKTC2FJYxHT7zmu1Oyl5GFrv +m+0fazbuSCUlFLZWohDo7qd/0D+j0MNdJu4HzMPBJCGHHt8qElNvQRbn7a6U+oxy+hNH8Dx+rn0R +OhPs7fpvcmR7nX1/Jv16+yWt6j4pf0zjAFcysLPp7VMX2YuyFA4w6OXVE8Zkr8QA1dhYJPz1j+zx +x32l2w8n0cbyQIjmH/ZhqPRCyLk306m+LFZ4wnKbWV01QIroTmMatukgalHizqSQ33ZwmVxwQ023 +tqcZZE6St8WRPH9IFmV7Fv3L/PvZ1dZPIWU7Sn9Ho/s= +-----END CERTIFICATE----- + +Swisscom Root CA 1 +================== +-----BEGIN CERTIFICATE----- +MIIF2TCCA8GgAwIBAgIQXAuFXAvnWUHfV8w/f52oNjANBgkqhkiG9w0BAQUFADBkMQswCQYDVQQG +EwJjaDERMA8GA1UEChMIU3dpc3Njb20xJTAjBgNVBAsTHERpZ2l0YWwgQ2VydGlmaWNhdGUgU2Vy +dmljZXMxGzAZBgNVBAMTElN3aXNzY29tIFJvb3QgQ0EgMTAeFw0wNTA4MTgxMjA2MjBaFw0yNTA4 +MTgyMjA2MjBaMGQxCzAJBgNVBAYTAmNoMREwDwYDVQQKEwhTd2lzc2NvbTElMCMGA1UECxMcRGln +aXRhbCBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEbMBkGA1UEAxMSU3dpc3Njb20gUm9vdCBDQSAxMIIC +IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0LmwqAzZuz8h+BvVM5OAFmUgdbI9m2BtRsiM +MW8Xw/qabFbtPMWRV8PNq5ZJkCoZSx6jbVfd8StiKHVFXqrWW/oLJdihFvkcxC7mlSpnzNApbjyF +NDhhSbEAn9Y6cV9Nbc5fuankiX9qUvrKm/LcqfmdmUc/TilftKaNXXsLmREDA/7n29uj/x2lzZAe +AR81sH8A25Bvxn570e56eqeqDFdvpG3FEzuwpdntMhy0XmeLVNxzh+XTF3xmUHJd1BpYwdnP2IkC +b6dJtDZd0KTeByy2dbcokdaXvij1mB7qWybJvbCXc9qukSbraMH5ORXWZ0sKbU/Lz7DkQnGMU3nn +7uHbHaBuHYwadzVcFh4rUx80i9Fs/PJnB3r1re3WmquhsUvhzDdf/X/NTa64H5xD+SpYVUNFvJbN +cA78yeNmuk6NO4HLFWR7uZToXTNShXEuT46iBhFRyePLoW4xCGQMwtI89Tbo19AOeCMgkckkKmUp +WyL3Ic6DXqTz3kvTaI9GdVyDCW4pa8RwjPWd1yAv/0bSKzjCL3UcPX7ape8eYIVpQtPM+GP+HkM5 +haa2Y0EQs3MevNP6yn0WR+Kn1dCjigoIlmJWbjTb2QK5MHXjBNLnj8KwEUAKrNVxAmKLMb7dxiNY +MUJDLXT5xp6mig/p/r+D5kNXJLrvRjSq1xIBOO0CAwEAAaOBhjCBgzAOBgNVHQ8BAf8EBAMCAYYw +HQYDVR0hBBYwFDASBgdghXQBUwABBgdghXQBUwABMBIGA1UdEwEB/wQIMAYBAf8CAQcwHwYDVR0j +BBgwFoAUAyUv3m+CATpcLNwroWm1Z9SM0/0wHQYDVR0OBBYEFAMlL95vggE6XCzcK6FptWfUjNP9 +MA0GCSqGSIb3DQEBBQUAA4ICAQA1EMvspgQNDQ/NwNurqPKIlwzfky9NfEBWMXrrpA9gzXrzvsMn +jgM+pN0S734edAY8PzHyHHuRMSG08NBsl9Tpl7IkVh5WwzW9iAUPWxAaZOHHgjD5Mq2eUCzneAXQ +MbFamIp1TpBcahQq4FJHgmDmHtqBsfsUC1rxn9KVuj7QG9YVHaO+htXbD8BJZLsuUBlL0iT43R4H +VtA4oJVwIHaM190e3p9xxCPvgxNcoyQVTSlAPGrEqdi3pkSlDfTgnXceQHAm/NrZNuR55LU/vJtl +vrsRls/bxig5OgjOR1tTWsWZ/l2p3e9M1MalrQLmjAcSHm8D0W+go/MpvRLHUKKwf4ipmXeascCl +OS5cfGniLLDqN2qk4Vrh9VDlg++luyqI54zb/W1elxmofmZ1a3Hqv7HHb6D0jqTsNFFbjCYDcKF3 +1QESVwA12yPeDooomf2xEG9L/zgtYE4snOtnta1J7ksfrK/7DZBaZmBwXarNeNQk7shBoJMBkpxq +nvy5JMWzFYJ+vq6VK+uxwNrjAWALXmmshFZhvnEX/h0TD/7Gh0Xp/jKgGg0TpJRVcaUWi7rKibCy +x/yP2FS1k2Kdzs9Z+z0YzirLNRWCXf9UIltxUvu3yf5gmwBBZPCqKuy2QkPOiWaByIufOVQDJdMW +NY6E0F/6MBr1mmz0DlP5OlvRHA== +-----END CERTIFICATE----- + +DigiCert Assured ID Root CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw +IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx +MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL +ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO +9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy +UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW +/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy +oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf +GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF +66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq +hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc +EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn +SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i +8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +DigiCert Global Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw +HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw +MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 +dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn +TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 +BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H +4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y +7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB +o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm +8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF +BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr +EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt +tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 +UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +DigiCert High Assurance EV Root CA +================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw +KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw +MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ +MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu +Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t +Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS +OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 +MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ +NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe +h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB +Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY +JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ +V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp +myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK +mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K +-----END CERTIFICATE----- + +Certplus Class 2 Primary CA +=========================== +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE +BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN +OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy +dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR +5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ +Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO +YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e +e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME +CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ +YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t +L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD +P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R +TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ +7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW +//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +DST Root CA X3 +============== +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK +ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X +DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 +cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT +rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 +UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy +xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d +utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ +MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug +dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE +GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw +RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS +fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +DST ACES CA X6 +============== +-----BEGIN CERTIFICATE----- +MIIECTCCAvGgAwIBAgIQDV6ZCtadt3js2AdWO4YV2TANBgkqhkiG9w0BAQUFADBbMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QxETAPBgNVBAsTCERTVCBBQ0VT +MRcwFQYDVQQDEw5EU1QgQUNFUyBDQSBYNjAeFw0wMzExMjAyMTE5NThaFw0xNzExMjAyMTE5NTha +MFsxCzAJBgNVBAYTAlVTMSAwHgYDVQQKExdEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdDERMA8GA1UE +CxMIRFNUIEFDRVMxFzAVBgNVBAMTDkRTVCBBQ0VTIENBIFg2MIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAuT31LMmU3HWKlV1j6IR3dma5WZFcRt2SPp/5DgO0PWGSvSMmtWPuktKe1jzI +DZBfZIGxqAgNTNj50wUoUrQBJcWVHAx+PhCEdc/BGZFjz+iokYi5Q1K7gLFViYsx+tC3dr5BPTCa +pCIlF3PoHuLTrCq9Wzgh1SpL11V94zpVvddtawJXa+ZHfAjIgrrep4c9oW24MFbCswKBXy314pow +GCi4ZtPLAZZv6opFVdbgnf9nKxcCpk4aahELfrd755jWjHZvwTvbUJN+5dCOHze4vbrGn2zpfDPy +MjwmR/onJALJfh1biEITajV8fTXpLmaRcpPVMibEdPVTo7NdmvYJywIDAQABo4HIMIHFMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgHGMB8GA1UdEQQYMBaBFHBraS1vcHNAdHJ1c3Rkc3Qu +Y29tMGIGA1UdIARbMFkwVwYKYIZIAWUDAgEBATBJMEcGCCsGAQUFBwIBFjtodHRwOi8vd3d3LnRy +dXN0ZHN0LmNvbS9jZXJ0aWZpY2F0ZXMvcG9saWN5L0FDRVMtaW5kZXguaHRtbDAdBgNVHQ4EFgQU +CXIGThhDD+XWzMNqizF7eI+og7gwDQYJKoZIhvcNAQEFBQADggEBAKPYjtay284F5zLNAdMEA+V2 +5FYrnJmQ6AgwbN99Pe7lv7UkQIRJ4dEorsTCOlMwiPH1d25Ryvr/ma8kXxug/fKshMrfqfBfBC6t +Fr8hlxCBPeP/h40y3JTlR4peahPJlJU90u7INJXQgNStMgiAVDzgvVJT11J8smk/f3rPanTK+gQq +nExaBqXpIK1FZg9p8d2/6eMyi/rgwYZNcjwu2JN4Cir42NInPRmJX1p7ijvMDNpRrscL9yuwNwXs +vFcj4jjSm2jzVhKIT0J8uDHEtdvkyCE06UgRNe76x5JXxZ805Mf29w4LTJxoeHtxMcfrHuBnQfO3 +oKfN5XozNmr6mis= +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 1 +============================================== +-----BEGIN CERTIFICATE----- +MIID+zCCAuOgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBtzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGDAJUUjEP +MA0GA1UEBwwGQU5LQVJBMVYwVAYDVQQKDE0oYykgMjAwNSBUw5xSS1RSVVNUIEJpbGdpIMSwbGV0 +acWfaW0gdmUgQmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjAeFw0wNTA1MTMx +MDI3MTdaFw0xNTAzMjIxMDI3MTdaMIG3MT8wPQYDVQQDDDZUw5xSS1RSVVNUIEVsZWt0cm9uaWsg +U2VydGlmaWthIEhpem1ldCBTYcSfbGF5xLFjxLFzxLExCzAJBgNVBAYMAlRSMQ8wDQYDVQQHDAZB +TktBUkExVjBUBgNVBAoMTShjKSAyMDA1IFTDnFJLVFJVU1QgQmlsZ2kgxLBsZXRpxZ9pbSB2ZSBC +aWxpxZ9pbSBHw7x2ZW5sacSfaSBIaXptZXRsZXJpIEEuxZ4uMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAylIF1mMD2Bxf3dJ7XfIMYGFbazt0K3gNfUW9InTojAPBxhEqPZW8qZSwu5GX +yGl8hMW0kWxsE2qkVa2kheiVfrMArwDCBRj1cJ02i67L5BuBf5OI+2pVu32Fks66WJ/bMsW9Xe8i +Si9BB35JYbOG7E6mQW6EvAPs9TscyB/C7qju6hJKjRTP8wrgUDn5CDX4EVmt5yLqS8oUBt5CurKZ +8y1UiBAG6uEaPj1nH/vO+3yC6BFdSsG5FOpU2WabfIl9BJpiyelSPJ6c79L1JuTm5Rh8i27fbMx4 +W09ysstcP4wFjdFMjK2Sx+F4f2VsSQZQLJ4ywtdKxnWKWU51b0dewQIDAQABoxAwDjAMBgNVHRME +BTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAV9VX/N5aAWSGk/KEVTCD21F/aAyT8z5Aa9CEKmu46 +sWrv7/hg0Uw2ZkUd82YCdAR7kjCo3gp2D++Vbr3JN+YaDayJSFvMgzbC9UZcWYJWtNX+I7TYVBxE +q8Sn5RTOPEFhfEPmzcSBCYsk+1Ql1haolgxnB2+zUEfjHCQo3SqYpGH+2+oSN7wBGjSFvW5P55Fy +B0SFHljKVETd96y5y4khctuPwGkplyqjrhgjlxxBKot8KsF8kOipKMDTkcatKIdAaLX/7KfS0zgY +nNN9aV3wxqUeJBujR/xpB2jn5Jq07Q+hh4cCzofSSE7hvP/L8XKSRGQDJereW26fyfJOrN3H +-----END CERTIFICATE----- + +TURKTRUST Certificate Services Provider Root 2 +============================================== +-----BEGIN CERTIFICATE----- +MIIEPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwHhcN +MDUxMTA3MTAwNzU3WhcNMTUwOTE2MTAwNzU3WjCBvjE/MD0GA1UEAww2VMOcUktUUlVTVCBFbGVr +dHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEPMA0G +A1UEBwwGQW5rYXJhMV0wWwYDVQQKDFRUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmls +acWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgS2FzxLFtIDIwMDUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpNn7DkUNMwxmYCMjHWHtPFoylzkkBH3MOrHUTpvqe +LCDe2JAOCtFp0if7qnefJ1Il4std2NiDUBd9irWCPwSOtNXwSadktx4uXyCcUHVPr+G1QRT0mJKI +x+XlZEdhR3n9wFHxwZnn3M5q+6+1ATDcRhzviuyV79z/rxAc653YsKpqhRgNF8k+v/Gb0AmJQv2g +QrSdiVFVKc8bcLyEVK3BEx+Y9C52YItdP5qtygy/p1Zbj3e41Z55SZI/4PGXJHpsmxcPbe9TmJEr +5A++WXkHeLuXlfSfadRYhwqp48y2WBmfJiGxxFmNskF1wK1pzpwACPI2/z7woQ8arBT9pmAPAgMB +AAGjQzBBMB0GA1UdDgQWBBTZN7NOBf3Zz58SFq62iS/rJTqIHDAPBgNVHQ8BAf8EBQMDBwYAMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHJglrfJ3NgpXiOFX7KzLXb7iNcX/ntt +Rbj2hWyfIvwqECLsqrkw9qtY1jkQMZkpAL2JZkH7dN6RwRgLn7Vhy506vvWolKMiVW4XSf/SKfE4 +Jl3vpao6+XF75tpYHdN0wgH6PmlYX63LaL4ULptswLbcoCb6dxriJNoaN+BnrdFzgw2lGh1uEpJ+ +hGIAF728JRhX8tepb1mIvDS3LoV4nZbcFMMsilKbloxSZj2GFotHuFEJjOp9zYhys2AzsfAKRO8P +9Qk3iCQOLGsgOqL6EfJANZxEaGM7rDNvY7wsu/LSy3Z9fYjYHcgFHW68lKlmjHdxx/qR+i9Rnuk5 +UrbnBEI= +-----END CERTIFICATE----- + +SwissSign Platinum CA - G2 +========================== +-----BEGIN CERTIFICATE----- +MIIFwTCCA6mgAwIBAgIITrIAZwwDXU8wDQYJKoZIhvcNAQEFBQAwSTELMAkGA1UEBhMCQ0gxFTAT +BgNVBAoTDFN3aXNzU2lnbiBBRzEjMCEGA1UEAxMaU3dpc3NTaWduIFBsYXRpbnVtIENBIC0gRzIw +HhcNMDYxMDI1MDgzNjAwWhcNMzYxMDI1MDgzNjAwWjBJMQswCQYDVQQGEwJDSDEVMBMGA1UEChMM +U3dpc3NTaWduIEFHMSMwIQYDVQQDExpTd2lzc1NpZ24gUGxhdGludW0gQ0EgLSBHMjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMrfogLi2vj8Bxax3mCq3pZcZB/HL37PZ/pEQtZ2Y5Wu +669yIIpFR4ZieIbWIDkm9K6j/SPnpZy1IiEZtzeTIsBQnIJ71NUERFzLtMKfkr4k2HtnIuJpX+UF +eNSH2XFwMyVTtIc7KZAoNppVRDBopIOXfw0enHb/FZ1glwCNioUD7IC+6ixuEFGSzH7VozPY1kne +WCqv9hbrS3uQMpe5up1Y8fhXSQQeol0GcN1x2/ndi5objM89o03Oy3z2u5yg+gnOI2Ky6Q0f4nIo +j5+saCB9bzuohTEJfwvH6GXp43gOCWcwizSC+13gzJ2BbWLuCB4ELE6b7P6pT1/9aXjvCR+htL/6 +8++QHkwFix7qepF6w9fl+zC8bBsQWJj3Gl/QKTIDE0ZNYWqFTFJ0LwYfexHihJfGmfNtf9dng34T +aNhxKFrYzt3oEBSa/m0jh26OWnA81Y0JAKeqvLAxN23IhBQeW71FYyBrS3SMvds6DsHPWhaPpZjy +domyExI7C3d3rLvlPClKknLKYRorXkzig3R3+jVIeoVNjZpTxN94ypeRSCtFKwH3HBqi7Ri6Cr2D ++m+8jVeTO9TUps4e8aCxzqv9KyiaTxvXw3LbpMS/XUz13XuWae5ogObnmLo2t/5u7Su9IPhlGdpV +CX4l3P5hYnL5fhgC72O00Puv5TtjjGePAgMBAAGjgawwgakwDgYDVR0PAQH/BAQDAgEGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFFCvzAeHFUdvOMW0ZdHelarp35zMMB8GA1UdIwQYMBaAFFCv +zAeHFUdvOMW0ZdHelarp35zMMEYGA1UdIAQ/MD0wOwYJYIV0AVkBAQEBMC4wLAYIKwYBBQUHAgEW +IGh0dHA6Ly9yZXBvc2l0b3J5LnN3aXNzc2lnbi5jb20vMA0GCSqGSIb3DQEBBQUAA4ICAQAIhab1 +Fgz8RBrBY+D5VUYI/HAcQiiWjrfFwUF1TglxeeVtlspLpYhg0DB0uMoI3LQwnkAHFmtllXcBrqS3 +NQuB2nEVqXQXOHtYyvkv+8Bldo1bAbl93oI9ZLi+FHSjClTTLJUYFzX1UWs/j6KWYTl4a0vlpqD4 +U99REJNi54Av4tHgvI42Rncz7Lj7jposiU0xEQ8mngS7twSNC/K5/FqdOxa3L8iYq/6KUFkuozv8 +KV2LwUvJ4ooTHbG/u0IdUt1O2BReEMYxB+9xJ/cbOQncguqLs5WGXv312l0xpuAxtpTmREl0xRbl +9x8DYSjFyMsSoEJL+WuICI20MhjzdZ/EfwBPBZWcoxcCw7NTm6ogOSkrZvqdr16zktK1puEa+S1B +aYEUtLS17Yk9zvupnTVCRLEcFHOBzyoBNZox1S2PbYTfgE1X4z/FhHXaicYwu+uPyyIIoK6q8QNs +OktNCaUOcsZWayFCTiMlFGiudgp8DAdwZPmaL/YFOSbGDI8Zf0NebvRbFS/bYV3mZy8/CJT5YLSY +Mdp08YSTcU1f+2BY0fvEwW2JorsgH51xkcsymxM9Pn2SUjWskpSi0xjCfMfqr3YFFt1nJ8J+HAci +IfNAChs0B0QTwoRqjt8ZWr9/6x3iGjjRXK9HkmuAtTClyY3YqzGBH9/CZjfTk6mFhnll0g== +-----END CERTIFICATE----- + +SwissSign Gold CA - G2 +====================== +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw +EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN +MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp +c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq +t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C +jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg +vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF +ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR +AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend +jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO +peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR +7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi +GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 +OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm +5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr +44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf +Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m +Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp +mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk +vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf +KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br +NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj +viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +SwissSign Silver CA - G2 +======================== +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT +BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X +DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 +aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 +N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm ++/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH +6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu +MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h +qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 +FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs +ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc +celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X +CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB +tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P +4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F +kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L +3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx +/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa +DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP +e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu +WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ +DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub +DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority +======================================== +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx +CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ +cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN +b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 +nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge +RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt +tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI +hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K +Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN +NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa +Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG +1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +thawte Primary Root CA +====================== +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 +MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg +SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv +KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT +FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs +oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ +1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc +q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K +aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p +afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF +AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE +uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 +jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH +z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G5 +============================================================ +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln +biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh +dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt +YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz +j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD +Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ +Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r +fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ +BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv +Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG +SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ +X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE +KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC +Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE +ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +SecureTrust CA +============== +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy +dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe +BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX +OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t +DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH +GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b +01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH +ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj +aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu +SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf +mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ +nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +Secure Global CA +================ +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG +EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH +bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg +MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg +Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx +YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ +bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g +8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV +HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi +0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn +oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA +MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ +OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn +CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 +3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +COMODO Certification Authority +============================== +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 +dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb +MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD +T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH ++7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww +xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV +4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA +1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI +rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k +b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC +AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP +OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc +IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN ++8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== +-----END CERTIFICATE----- + +Network Solutions Certificate Authority +======================================= +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG +EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr +IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx +MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx +jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT +aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT +crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc +/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB +AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv +bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA +A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q +4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ +GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD +ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +WellsSecure Public Root Certificate Authority +============================================= +-----BEGIN CERTIFICATE----- +MIIEvTCCA6WgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoM +F1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYw +NAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcN +MDcxMjEzMTcwNzU0WhcNMjIxMjE0MDAwNzU0WjCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dl +bGxzIEZhcmdvIFdlbGxzU2VjdXJlMRwwGgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYD +VQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDub7S9eeKPCCGeOARBJe+rWxxTkqxtnt3CxC5FlAM1 +iGd0V+PfjLindo8796jE2yljDpFoNoqXjopxaAkH5OjUDk/41itMpBb570OYj7OeUt9tkTmPOL13 +i0Nj67eT/DBMHAGTthP796EfvyXhdDcsHqRePGj4S78NuR4uNuip5Kf4D8uCdXw1LSLWwr8L87T8 +bJVhHlfXBIEyg1J55oNjz7fLY4sR4r1e6/aN7ZVyKLSsEmLpSjPmgzKuBXWVvYSV2ypcm44uDLiB +K0HmOFafSZtsdvqKXfcBeYF8wYNABf5x/Qw/zE5gCQ5lRxAvAcAFP4/4s0HvWkJ+We/SlwxlAgMB +AAGjggE0MIIBMDAPBgNVHRMBAf8EBTADAQH/MDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu +cGtpLndlbGxzZmFyZ28uY29tL3dzcHJjYS5jcmwwDgYDVR0PAQH/BAQDAgHGMB0GA1UdDgQWBBQm +lRkQ2eihl5H/3BnZtQQ+0nMKajCBsgYDVR0jBIGqMIGngBQmlRkQ2eihl5H/3BnZtQQ+0nMKaqGB +i6SBiDCBhTELMAkGA1UEBhMCVVMxIDAeBgNVBAoMF1dlbGxzIEZhcmdvIFdlbGxzU2VjdXJlMRww +GgYDVQQLDBNXZWxscyBGYXJnbyBCYW5rIE5BMTYwNAYDVQQDDC1XZWxsc1NlY3VyZSBQdWJsaWMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCAQEwDQYJKoZIhvcNAQEFBQADggEBALkVsUSRzCPI +K0134/iaeycNzXK7mQDKfGYZUMbVmO2rvwNa5U3lHshPcZeG1eMd/ZDJPHV3V3p9+N701NX3leZ0 +bh08rnyd2wIDBSxxSyU+B+NemvVmFymIGjifz6pBA4SXa5M4esowRBskRDPQ5NHcKDj0E0M1NSlj +qHyita04pO2t/caaH/+Xc/77szWnk4bGdpEA5qxRFsQnMlzbc9qlk1eOPm01JghZ1edE13YgY+es +E2fDbbFwRnzVlhE9iW9dqKHrjQrawx0zbKPqZxmamX9LPYNRKh3KL4YMon4QLSvUFpULB6ouFJJJ +tylv2G0xffX8oRAHh84vWdw+WNs= +-----END CERTIFICATE----- + +COMODO ECC Certification Authority +================================== +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix +GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X +4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni +wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG +FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA +U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +IGC/A +===== +-----BEGIN CERTIFICATE----- +MIIEAjCCAuqgAwIBAgIFORFFEJQwDQYJKoZIhvcNAQEFBQAwgYUxCzAJBgNVBAYTAkZSMQ8wDQYD +VQQIEwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVE +Q1NTSTEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZy +MB4XDTAyMTIxMzE0MjkyM1oXDTIwMTAxNzE0MjkyMlowgYUxCzAJBgNVBAYTAkZSMQ8wDQYDVQQI +EwZGcmFuY2UxDjAMBgNVBAcTBVBhcmlzMRAwDgYDVQQKEwdQTS9TR0ROMQ4wDAYDVQQLEwVEQ1NT +STEOMAwGA1UEAxMFSUdDL0ExIzAhBgkqhkiG9w0BCQEWFGlnY2FAc2dkbi5wbS5nb3V2LmZyMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsh/R0GLFMzvABIaIs9z4iPf930Pfeo2aSVz2 +TqrMHLmh6yeJ8kbpO0px1R2OLc/mratjUMdUC24SyZA2xtgv2pGqaMVy/hcKshd+ebUyiHDKcMCW +So7kVc0dJ5S/znIq7Fz5cyD+vfcuiWe4u0dzEvfRNWk68gq5rv9GQkaiv6GFGvm/5P9JhfejcIYy +HF2fYPepraX/z9E0+X1bF8bc1g4oa8Ld8fUzaJ1O/Id8NhLWo4DoQw1VYZTqZDdH6nfK0LJYBcNd +frGoRpAxVs5wKpayMLh35nnAvSk7/ZR3TL0gzUEl4C7HG7vupARB0l2tEmqKm0f7yd1GQOGdPDPQ +tQIDAQABo3cwdTAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBRjAVBgNVHSAEDjAMMAoGCCqB +egF5AQEBMB0GA1UdDgQWBBSjBS8YYFDCiQrdKyFP/45OqDAxNjAfBgNVHSMEGDAWgBSjBS8YYFDC +iQrdKyFP/45OqDAxNjANBgkqhkiG9w0BAQUFAAOCAQEABdwm2Pp3FURo/C9mOnTgXeQp/wYHE4RK +q89toB9RlPhJy3Q2FLwV3duJL92PoF189RLrn544pEfMs5bZvpwlqwN+Mw+VgQ39FuCIvjfwbF3Q +MZsyK10XZZOYYLxuj7GoPB7ZHPOpJkL5ZB3C55L29B5aqhlSXa/oovdgoPaN8In1buAKBQGVyYsg +Crpa/JosPL3Dt8ldeCUFP1YUmwza+zpI/pdpXsoQhvdOlgQITeywvl3cO45Pwf2aNjSaTFR+FwNI +lQgRHAdvhQh+XU3Endv7rs6y0bO4g2wdsrN58dhwmX7wEwLOXt1R0982gaEbeC9xs/FZTEYYKKuF +0mBWWg== +-----END CERTIFICATE----- + +Security Communication EV RootCA1 +================================= +-----BEGIN CERTIFICATE----- +MIIDfTCCAmWgAwIBAgIBADANBgkqhkiG9w0BAQUFADBgMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBFViBSb290Q0ExMB4XDTA3MDYwNjAyMTIzMloXDTM3MDYwNjAyMTIzMlowYDELMAkGA1UE +BhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKjAoBgNVBAsTIVNl +Y3VyaXR5IENvbW11bmljYXRpb24gRVYgUm9vdENBMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALx/7FebJOD+nLpCeamIivqA4PUHKUPqjgo0No0c+qe1OXj/l3X3L+SqawSERMqm4miO +/VVQYg+kcQ7OBzgtQoVQrTyWb4vVog7P3kmJPdZkLjjlHmy1V4qe70gOzXppFodEtZDkBp2uoQSX +WHnvIEqCa4wiv+wfD+mEce3xDuS4GBPMVjZd0ZoeUWs5bmB2iDQL87PRsJ3KYeJkHcFGB7hj3R4z +ZbOOCVVSPbW9/wfrrWFVGCypaZhKqkDFMxRldAD5kd6vA0jFQFTcD4SQaCDFkpbcLuUCRarAX1T4 +bepJz11sS6/vmsJWXMY1VkJqMF/Cq/biPT+zyRGPMUzXn0kCAwEAAaNCMEAwHQYDVR0OBBYEFDVK +9U2vP9eCOKyrcWUXdYydVZPmMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG +SIb3DQEBBQUAA4IBAQCoh+ns+EBnXcPBZsdAS5f8hxOQWsTvoMpfi7ent/HWtWS3irO4G8za+6xm +iEHO6Pzk2x6Ipu0nUBsCMCRGef4Eh3CXQHPRwMFXGZpppSeZq51ihPZRwSzJIxXYKLerJRO1RuGG +Av8mjMSIkh1W/hln8lXkgKNrnKt34VFxDSDbEJrbvXZ5B3eZKK2aXtqxT0QsNY6llsf9g/BYxnnW +mHyojf6GPgcWkuF75x3sM3Z+Qi5KhfmRiWiEA4Glm5q+4zfFVKtWOxgtQaQM+ELbmaDgcm+7XeEW +T1MKZPlO9L9OVL14bIjqv5wTJMJwaaJ/D8g8rQjJsJhAoyrniIPtd490 +-----END CERTIFICATE----- + +OISTE WISeKey Global Root GA CA +=============================== +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE +BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG +A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH +bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD +VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw +IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 +IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 +Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg +Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD +d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ +/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R +LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ +KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm +MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 ++vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY +okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= +-----END CERTIFICATE----- + +S-TRUST Authentication and Encryption Root CA 2005 PN +===================================================== +-----BEGIN CERTIFICATE----- +MIIEezCCA2OgAwIBAgIQNxkY5lNUfBq1uMtZWts1tzANBgkqhkiG9w0BAQUFADCBrjELMAkGA1UE +BhMCREUxIDAeBgNVBAgTF0JhZGVuLVd1ZXJ0dGVtYmVyZyAoQlcpMRIwEAYDVQQHEwlTdHV0dGdh +cnQxKTAnBgNVBAoTIERldXRzY2hlciBTcGFya2Fzc2VuIFZlcmxhZyBHbWJIMT4wPAYDVQQDEzVT +LVRSVVNUIEF1dGhlbnRpY2F0aW9uIGFuZCBFbmNyeXB0aW9uIFJvb3QgQ0EgMjAwNTpQTjAeFw0w +NTA2MjIwMDAwMDBaFw0zMDA2MjEyMzU5NTlaMIGuMQswCQYDVQQGEwJERTEgMB4GA1UECBMXQmFk +ZW4tV3VlcnR0ZW1iZXJnIChCVykxEjAQBgNVBAcTCVN0dXR0Z2FydDEpMCcGA1UEChMgRGV1dHNj +aGVyIFNwYXJrYXNzZW4gVmVybGFnIEdtYkgxPjA8BgNVBAMTNVMtVFJVU1QgQXV0aGVudGljYXRp +b24gYW5kIEVuY3J5cHRpb24gUm9vdCBDQSAyMDA1OlBOMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEA2bVKwdMz6tNGs9HiTNL1toPQb9UY6ZOvJ44TzbUlNlA0EmQpoVXhOmCTnijJ4/Ob +4QSwI7+Vio5bG0F/WsPoTUzVJBY+h0jUJ67m91MduwwA7z5hca2/OnpYH5Q9XIHV1W/fuJvS9eXL +g3KSwlOyggLrra1fFi2SU3bxibYs9cEv4KdKb6AwajLrmnQDaHgTncovmwsdvs91DSaXm8f1Xgqf +eN+zvOyauu9VjxuapgdjKRdZYgkqeQd3peDRF2npW932kKvimAoA0SVtnteFhy+S8dF2g08LOlk3 +KC8zpxdQ1iALCvQm+Z845y2kuJuJja2tyWp9iRe79n+Ag3rm7QIDAQABo4GSMIGPMBIGA1UdEwEB +/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTVFJv +bmxpbmUxLTIwNDgtNTAdBgNVHQ4EFgQUD8oeXHngovMpttKFswtKtWXsa1IwHwYDVR0jBBgwFoAU +D8oeXHngovMpttKFswtKtWXsa1IwDQYJKoZIhvcNAQEFBQADggEBAK8B8O0ZPCjoTVy7pWMciDMD +pwCHpB8gq9Yc4wYfl35UvbfRssnV2oDsF9eK9XvCAPbpEW+EoFolMeKJ+aQAPzFoLtU96G7m1R08 +P7K9n3frndOMusDXtk3sU5wPBG7qNWdX4wple5A64U8+wwCSersFiXOMy6ZNwPv2AtawB6MDwidA +nwzkhYItr5pCHdDHjfhA7p0GVxzZotiAFP7hYy0yh9WUUpY6RsZxlj33mA6ykaqP2vROJAA5Veit +F7nTNCtKqUDMFypVZUF0Qn71wK/Ik63yGFs9iQzbRzkk+OBM8h+wPQrKBU6JIRrjKpms/H+h8Q8b +Hz2eBIPdltkdOpQ= +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA +========================= +-----BEGIN CERTIFICATE----- +MIIHqDCCBpCgAwIBAgIRAMy4579OKRr9otxmpRwsDxEwDQYJKoZIhvcNAQEFBQAwcjELMAkGA1UE +BhMCSFUxETAPBgNVBAcTCEJ1ZGFwZXN0MRYwFAYDVQQKEw1NaWNyb3NlYyBMdGQuMRQwEgYDVQQL +EwtlLVN6aWdubyBDQTEiMCAGA1UEAxMZTWljcm9zZWMgZS1Temlnbm8gUm9vdCBDQTAeFw0wNTA0 +MDYxMjI4NDRaFw0xNzA0MDYxMjI4NDRaMHIxCzAJBgNVBAYTAkhVMREwDwYDVQQHEwhCdWRhcGVz +dDEWMBQGA1UEChMNTWljcm9zZWMgTHRkLjEUMBIGA1UECxMLZS1Temlnbm8gQ0ExIjAgBgNVBAMT +GU1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQDtyADVgXvNOABHzNuEwSFpLHSQDCHZU4ftPkNEU6+r+ICbPHiN1I2uuO/TEdyB5s87lozWbxXG +d36hL+BfkrYn13aaHUM86tnsL+4582pnS4uCzyL4ZVX+LMsvfUh6PXX5qqAnu3jCBspRwn5mS6/N +oqdNAoI/gqyFxuEPkEeZlApxcpMqyabAvjxWTHOSJ/FrtfX9/DAFYJLG65Z+AZHCabEeHXtTRbjc +QR/Ji3HWVBTji1R4P770Yjtb9aPs1ZJ04nQw7wHb4dSrmZsqa/i9phyGI0Jf7Enemotb9HI6QMVJ +PqW+jqpx62z69Rrkav17fVVA71hu5tnVvCSrwe+3AgMBAAGjggQ3MIIEMzBnBggrBgEFBQcBAQRb +MFkwKAYIKwYBBQUHMAGGHGh0dHBzOi8vcmNhLmUtc3ppZ25vLmh1L29jc3AwLQYIKwYBBQUHMAKG +IWh0dHA6Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNydDAPBgNVHRMBAf8EBTADAQH/MIIBcwYD +VR0gBIIBajCCAWYwggFiBgwrBgEEAYGoGAIBAQEwggFQMCgGCCsGAQUFBwIBFhxodHRwOi8vd3d3 +LmUtc3ppZ25vLmh1L1NaU1ovMIIBIgYIKwYBBQUHAgIwggEUHoIBEABBACAAdABhAG4A+gBzAO0A +dAB2AOEAbgB5ACAA6QByAHQAZQBsAG0AZQB6AOkAcwDpAGgAZQB6ACAA6QBzACAAZQBsAGYAbwBn +AGEAZADhAHMA4QBoAG8AegAgAGEAIABTAHoAbwBsAGcA4QBsAHQAYQB0APMAIABTAHoAbwBsAGcA +4QBsAHQAYQB0AOEAcwBpACAAUwB6AGEAYgDhAGwAeQB6AGEAdABhACAAcwB6AGUAcgBpAG4AdAAg +AGsAZQBsAGwAIABlAGwAagDhAHIAbgBpADoAIABoAHQAdABwADoALwAvAHcAdwB3AC4AZQAtAHMA +egBpAGcAbgBvAC4AaAB1AC8AUwBaAFMAWgAvMIHIBgNVHR8EgcAwgb0wgbqggbeggbSGIWh0dHA6 +Ly93d3cuZS1zemlnbm8uaHUvUm9vdENBLmNybIaBjmxkYXA6Ly9sZGFwLmUtc3ppZ25vLmh1L0NO +PU1pY3Jvc2VjJTIwZS1Temlnbm8lMjBSb290JTIwQ0EsT1U9ZS1Temlnbm8lMjBDQSxPPU1pY3Jv +c2VjJTIwTHRkLixMPUJ1ZGFwZXN0LEM9SFU/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5h +cnkwDgYDVR0PAQH/BAQDAgEGMIGWBgNVHREEgY4wgYuBEGluZm9AZS1zemlnbm8uaHWkdzB1MSMw +IQYDVQQDDBpNaWNyb3NlYyBlLVN6aWduw7MgUm9vdCBDQTEWMBQGA1UECwwNZS1TemlnbsOzIEhT +WjEWMBQGA1UEChMNTWljcm9zZWMgS2Z0LjERMA8GA1UEBxMIQnVkYXBlc3QxCzAJBgNVBAYTAkhV +MIGsBgNVHSMEgaQwgaGAFMegSXUWYYTbMUuE0vE3QJDvTtz3oXakdDByMQswCQYDVQQGEwJIVTER +MA8GA1UEBxMIQnVkYXBlc3QxFjAUBgNVBAoTDU1pY3Jvc2VjIEx0ZC4xFDASBgNVBAsTC2UtU3pp +Z25vIENBMSIwIAYDVQQDExlNaWNyb3NlYyBlLVN6aWdubyBSb290IENBghEAzLjnv04pGv2i3Gal +HCwPETAdBgNVHQ4EFgQUx6BJdRZhhNsxS4TS8TdAkO9O3PcwDQYJKoZIhvcNAQEFBQADggEBANMT +nGZjWS7KXHAM/IO8VbH0jgdsZifOwTsgqRy7RlRw7lrMoHfqaEQn6/Ip3Xep1fvj1KcExJW4C+FE +aGAHQzAxQmHl7tnlJNUb3+FKG6qfx1/4ehHqE5MAyopYse7tDk2016g2JnzgOsHVV4Lxdbb9iV/a +86g4nzUGCM4ilb7N1fy+W955a9x6qWVmvrElWl/tftOsRm1M9DKHtCAE4Gx4sHfRhUZLphK3dehK +yVZs15KrnfVJONJPU+NVkBHbmJbGSfI+9J8b4PeI3CVimUTYc78/MPMMNz7UwiiAc7EBt51alhQB +S6kRnSlqLtBdgcDPsiBDxwPgN05dCtxZICU= +-----END CERTIFICATE----- + +Certigna +======== +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw +EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 +MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI +Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q +XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH +GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p +ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg +DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf +Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ +tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ +BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J +SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA +hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ +ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu +PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY +1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +AC Ra\xC3\xADz Certic\xC3\xA1mara S.A. +====================================== +-----BEGIN CERTIFICATE----- +MIIGZjCCBE6gAwIBAgIPB35Sk3vgFeNX8GmMy+wMMA0GCSqGSIb3DQEBBQUAMHsxCzAJBgNVBAYT +AkNPMUcwRQYDVQQKDD5Tb2NpZWRhZCBDYW1lcmFsIGRlIENlcnRpZmljYWNpw7NuIERpZ2l0YWwg +LSBDZXJ0aWPDoW1hcmEgUy5BLjEjMCEGA1UEAwwaQUMgUmHDrXogQ2VydGljw6FtYXJhIFMuQS4w +HhcNMDYxMTI3MjA0NjI5WhcNMzAwNDAyMjE0MjAyWjB7MQswCQYDVQQGEwJDTzFHMEUGA1UECgw+ +U29jaWVkYWQgQ2FtZXJhbCBkZSBDZXJ0aWZpY2FjacOzbiBEaWdpdGFsIC0gQ2VydGljw6FtYXJh +IFMuQS4xIzAhBgNVBAMMGkFDIFJhw616IENlcnRpY8OhbWFyYSBTLkEuMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAq2uJo1PMSCMI+8PPUZYILrgIem08kBeGqentLhM0R7LQcNzJPNCN +yu5LF6vQhbCnIwTLqKL85XXbQMpiiY9QngE9JlsYhBzLfDe3fezTf3MZsGqy2IiKLUV0qPezuMDU +2s0iiXRNWhU5cxh0T7XrmafBHoi0wpOQY5fzp6cSsgkiBzPZkc0OnB8OIMfuuzONj8LSWKdf/WU3 +4ojC2I+GdV75LaeHM/J4Ny+LvB2GNzmxlPLYvEqcgxhaBvzz1NS6jBUJJfD5to0EfhcSM2tXSExP +2yYe68yQ54v5aHxwD6Mq0Do43zeX4lvegGHTgNiRg0JaTASJaBE8rF9ogEHMYELODVoqDA+bMMCm +8Ibbq0nXl21Ii/kDwFJnmxL3wvIumGVC2daa49AZMQyth9VXAnow6IYm+48jilSH5L887uvDdUhf +HjlvgWJsxS3EF1QZtzeNnDeRyPYL1epjb4OsOMLzP96a++EjYfDIJss2yKHzMI+ko6Kh3VOz3vCa +Mh+DkXkwwakfU5tTohVTP92dsxA7SH2JD/ztA/X7JWR1DhcZDY8AFmd5ekD8LVkH2ZD6mq093ICK +5lw1omdMEWux+IBkAC1vImHFrEsm5VoQgpukg3s0956JkSCXjrdCx2bD0Omk1vUgjcTDlaxECp1b +czwmPS9KvqfJpxAe+59QafMCAwEAAaOB5jCB4zAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE +AwIBBjAdBgNVHQ4EFgQU0QnQ6dfOeXRU+Tows/RtLAMDG2gwgaAGA1UdIASBmDCBlTCBkgYEVR0g +ADCBiTArBggrBgEFBQcCARYfaHR0cDovL3d3dy5jZXJ0aWNhbWFyYS5jb20vZHBjLzBaBggrBgEF +BQcCAjBOGkxMaW1pdGFjaW9uZXMgZGUgZ2FyYW507WFzIGRlIGVzdGUgY2VydGlmaWNhZG8gc2Ug +cHVlZGVuIGVuY29udHJhciBlbiBsYSBEUEMuMA0GCSqGSIb3DQEBBQUAA4ICAQBclLW4RZFNjmEf +AygPU3zmpFmps4p6xbD/CHwso3EcIRNnoZUSQDWDg4902zNc8El2CoFS3UnUmjIz75uny3XlesuX +EpBcunvFm9+7OSPI/5jOCk0iAUgHforA1SBClETvv3eiiWdIG0ADBaGJ7M9i4z0ldma/Jre7Ir5v +/zlXdLp6yQGVwZVR6Kss+LGGIOk/yzVb0hfpKv6DExdA7ohiZVvVO2Dpezy4ydV/NgIlqmjCMRW3 +MGXrfx1IebHPOeJCgBbT9ZMj/EyXyVo3bHwi2ErN0o42gzmRkBDI8ck1fj+404HGIGQatlDCIaR4 +3NAvO2STdPCWkPHv+wlaNECW8DYSwaN0jJN+Qd53i+yG2dIPPy3RzECiiWZIHiCznCNZc6lEc7wk +eZBWN7PGKX6jD/EpOe9+XCgycDWs2rjIdWb8m0w5R44bb5tNAlQiM+9hup4phO9OSzNHdpdqy35f +/RWmnkJDW2ZaiogN9xa5P1FlK2Zqi9E4UqLWRhH6/JocdJ6PlwsCT2TG9WjTSy3/pDceiz+/RL5h +RqGEPQgnTIEgd4kI6mdAXmwIUV80WoyWaM3X94nCHNMyAK9Sy9NgWyo6R35rMDOhYil/SrnhLecU +Iw4OGEfhefwVVdCx/CVxY3UzHCMrr1zZ7Ud3YA47Dx7SwNxkBYn8eNZcLCZDqQ== +-----END CERTIFICATE----- + +TC TrustCenter Class 2 CA II +============================ +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIOLmoAAQACH9dSISwRXDswDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy +IENsYXNzIDIgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDIgQ0EgSUkwHhcNMDYw +MTEyMTQzODQzWhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 +c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQTElMCMGA1UE +AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMiBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAKuAh5uO8MN8h9foJIIRszzdQ2Lu+MNF2ujhoF/RKrLqk2jftMjWQ+nEdVl//OEd+DFw +IxuInie5e/060smp6RQvkL4DUsFJzfb95AhmC1eKokKguNV/aVyQMrKXDcpK3EY+AlWJU+MaWss2 +xgdW94zPEfRMuzBwBJWl9jmM/XOBCH2JXjIeIqkiRUuwZi4wzJ9l/fzLganx4Duvo4bRierERXlQ +Xa7pIXSSTYtZgo+U4+lK8edJsBTj9WLL1XK9H7nSn6DNqPoByNkN39r8R52zyFTfSUrxIan+GE7u +SNQZu+995OKdy1u2bv/jzVrndIIFuoAlOMvkaZ6vQaoahPUCAwEAAaOCATQwggEwMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTjq1RMgKHbVkO3kUrL84J6E1wIqzCB +7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 +Y19jbGFzc18yX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU +cnVzdENlbnRlciUyMENsYXNzJTIwMiUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i +SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u +TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEAjNfffu4bgBCzg/XbEeprS6iSGNn3Bzn1LL4G +dXpoUxUc6krtXvwjshOg0wn/9vYua0Fxec3ibf2uWWuFHbhOIprtZjluS5TmVfwLG4t3wVMTZonZ +KNaL80VKY7f9ewthXbhtvsPcW3nS7Yblok2+XnR8au0WOB9/WIFaGusyiC2y8zl3gK9etmF1Kdsj +TYjKUCjLhdLTEKJZbtOTVAB6okaVhgWcqRmY5TFyDADiZ9lA4CQze28suVyrZZ0srHbqNZn1l7kP +JOzHdiEoZa5X6AeIdUpWoNIFOqTmjZKILPPy4cHGYdtBxceb9w4aUUXCYWvcZCcXjFq32nQozZfk +vQ== +-----END CERTIFICATE----- + +TC TrustCenter Class 3 CA II +============================ +-----BEGIN CERTIFICATE----- +MIIEqjCCA5KgAwIBAgIOSkcAAQAC5aBd1j8AUb8wDQYJKoZIhvcNAQEFBQAwdjELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxIjAgBgNVBAsTGVRDIFRydXN0Q2VudGVy +IENsYXNzIDMgQ0ExJTAjBgNVBAMTHFRDIFRydXN0Q2VudGVyIENsYXNzIDMgQ0EgSUkwHhcNMDYw +MTEyMTQ0MTU3WhcNMjUxMjMxMjI1OTU5WjB2MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMgVHJ1 +c3RDZW50ZXIgR21iSDEiMCAGA1UECxMZVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQTElMCMGA1UE +AxMcVEMgVHJ1c3RDZW50ZXIgQ2xhc3MgMyBDQSBJSTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBALTgu1G7OVyLBMVMeRwjhjEQY0NVJz/GRcekPewJDRoeIMJWHt4bNwcwIi9v8Qbxq63W +yKthoy9DxLCyLfzDlml7forkzMA5EpBCYMnMNWju2l+QVl/NHE1bWEnrDgFPZPosPIlY2C8u4rBo +6SI7dYnWRBpl8huXJh0obazovVkdKyT21oQDZogkAHhg8fir/gKya/si+zXmFtGt9i4S5Po1auUZ +uV3bOx4a+9P/FRQI2AlqukWdFHlgfa9Aigdzs5OW03Q0jTo3Kd5c7PXuLjHCINy+8U9/I1LZW+Jk +2ZyqBwi1Rb3R0DHBq1SfqdLDYmAD8bs5SpJKPQq5ncWg/jcCAwEAAaOCATQwggEwMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTUovyfs8PYA9NXXAek0CSnwPIA1DCB +7QYDVR0fBIHlMIHiMIHfoIHcoIHZhjVodHRwOi8vd3d3LnRydXN0Y2VudGVyLmRlL2NybC92Mi90 +Y19jbGFzc18zX2NhX0lJLmNybIaBn2xkYXA6Ly93d3cudHJ1c3RjZW50ZXIuZGUvQ049VEMlMjBU +cnVzdENlbnRlciUyMENsYXNzJTIwMyUyMENBJTIwSUksTz1UQyUyMFRydXN0Q2VudGVyJTIwR21i +SCxPVT1yb290Y2VydHMsREM9dHJ1c3RjZW50ZXIsREM9ZGU/Y2VydGlmaWNhdGVSZXZvY2F0aW9u +TGlzdD9iYXNlPzANBgkqhkiG9w0BAQUFAAOCAQEANmDkcPcGIEPZIxpC8vijsrlNirTzwppVMXzE +O2eatN9NDoqTSheLG43KieHPOh6sHfGcMrSOWXaiQYUlN6AT0PV8TtXqluJucsG7Kv5sbviRmEb8 +yRtXW+rIGjs/sFGYPAfaLFkB2otE6OF0/ado3VS6g0bsyEa1+K+XwDsJHI/OcpY9M1ZwvJbL2NV9 +IJqDnxrcOfHFcqMRA/07QlIp2+gB95tejNaNhk4Z+rwcvsUhpYeeeC422wlxo3I0+GzjBgnyXlal +092Y+tTmBvTwtiBjS+opvaqCZh77gaqnN60TGOaSw4HBM7uIHqHn4rS9MWwOUT1v+5ZWgOI2F9Hc +5A== +-----END CERTIFICATE----- + +TC TrustCenter Universal CA I +============================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIOHaIAAQAC7LdggHiNtgYwDQYJKoZIhvcNAQEFBQAweTELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy +IFVuaXZlcnNhbCBDQTEmMCQGA1UEAxMdVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIEkwHhcN +MDYwMzIyMTU1NDI4WhcNMjUxMjMxMjI1OTU5WjB5MQswCQYDVQQGEwJERTEcMBoGA1UEChMTVEMg +VHJ1c3RDZW50ZXIgR21iSDEkMCIGA1UECxMbVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBMSYw +JAYDVQQDEx1UQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0EgSTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAKR3I5ZEr5D0MacQ9CaHnPM42Q9e3s9B6DGtxnSRJJZ4Hgmgm5qVSkr1YnwC +qMqs+1oEdjneX/H5s7/zA1hV0qq34wQi0fiU2iIIAI3TfCZdzHd55yx4Oagmcw6iXSVphU9VDprv +xrlE4Vc93x9UIuVvZaozhDrzznq+VZeujRIPFDPiUHDDSYcTvFHe15gSWu86gzOSBnWLknwSaHtw +ag+1m7Z3W0hZneTvWq3zwZ7U10VOylY0Ibw+F1tvdwxIAUMpsN0/lm7mlaoMwCC2/T42J5zjXM9O +gdwZu5GQfezmlwQek8wiSdeXhrYTCjxDI3d+8NzmzSQfO4ObNDqDNOMCAwEAAaNjMGEwHwYDVR0j +BBgwFoAUkqR1LKSevoFE63n8isWVpesQdXMwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFJKkdSyknr6BROt5/IrFlaXrEHVzMA0GCSqGSIb3DQEBBQUAA4IBAQAo0uCG +1eb4e/CX3CJrO5UUVg8RMKWaTzqwOuAGy2X17caXJ/4l8lfmXpWMPmRgFVp/Lw0BxbFg/UU1z/Cy +vwbZ71q+s2IhtNerNXxTPqYn8aEt2hojnczd7Dwtnic0XQ/CNnm8yUpiLe1r2X1BQ3y2qsrtYbE3 +ghUJGooWMNjsydZHcnhLEEYUjl8Or+zHL6sQ17bxbuyGssLoDZJz3KL0Dzq/YSMQiZxIQG5wALPT +ujdEWBF6AmqI8Dc08BnprNRlc/ZpjGSUOnmFKbAWKwyCPwacx/0QK54PLLae4xW/2TYcuiUaUj0a +7CIMHOCkoj3w6DnPgcB77V0fb8XQC9eY +-----END CERTIFICATE----- + +Deutsche Telekom Root CA 2 +========================== +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT +RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG +A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 +MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G +A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS +b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 +bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI +KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY +AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK +Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV +jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV +HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr +E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy +zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 +rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G +dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +ComSign CA +========== +-----BEGIN CERTIFICATE----- +MIIDkzCCAnugAwIBAgIQFBOWgxRVjOp7Y+X8NId3RDANBgkqhkiG9w0BAQUFADA0MRMwEQYDVQQD +EwpDb21TaWduIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0wNDAzMjQxMTMy +MThaFw0yOTAzMTkxNTAyMThaMDQxEzARBgNVBAMTCkNvbVNpZ24gQ0ExEDAOBgNVBAoTB0NvbVNp +Z24xCzAJBgNVBAYTAklMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8ORUaSvTx49q +ROR+WCf4C9DklBKK8Rs4OC8fMZwG1Cyn3gsqrhqg455qv588x26i+YtkbDqthVVRVKU4VbirgwTy +P2Q298CNQ0NqZtH3FyrV7zb6MBBC11PN+fozc0yz6YQgitZBJzXkOPqUm7h65HkfM/sb2CEJKHxN +GGleZIp6GZPKfuzzcuc3B1hZKKxC+cX/zT/npfo4sdAMx9lSGlPWgcxCejVb7Us6eva1jsz/D3zk +YDaHL63woSV9/9JLEYhwVKZBqGdTUkJe5DSe5L6j7KpiXd3DTKaCQeQzC6zJMw9kglcq/QytNuEM +rkvF7zuZ2SOzW120V+x0cAwqTwIDAQABo4GgMIGdMAwGA1UdEwQFMAMBAf8wPQYDVR0fBDYwNDAy +oDCgLoYsaHR0cDovL2ZlZGlyLmNvbXNpZ24uY28uaWwvY3JsL0NvbVNpZ25DQS5jcmwwDgYDVR0P +AQH/BAQDAgGGMB8GA1UdIwQYMBaAFEsBmz5WGmU2dst7l6qSBe4y5ygxMB0GA1UdDgQWBBRLAZs+ +VhplNnbLe5eqkgXuMucoMTANBgkqhkiG9w0BAQUFAAOCAQEA0Nmlfv4pYEWdfoPPbrxHbvUanlR2 +QnG0PFg/LUAlQvaBnPGJEMgOqnhPOAlXsDzACPw1jvFIUY0McXS6hMTXcpuEfDhOZAYnKuGntewI +mbQKDdSFc8gS4TXt8QUxHXOZDOuWyt3T5oWq8Ir7dcHyCTxlZWTzTNity4hp8+SDtwy9F1qWF8pb +/627HOkthIDYIb6FUtnUdLlphbpN7Sgy6/lhSuTENh4Z3G+EER+V9YMoGKgzkkMn3V0TBEVPh9VG +zT2ouvDzuFYkRes3x+F2T3I5GN9+dHLHcy056mDmrRGiVod7w2ia/viMcKjfZTL0pECMocJEAw6U +AGegcQCCSA== +-----END CERTIFICATE----- + +ComSign Secured CA +================== +-----BEGIN CERTIFICATE----- +MIIDqzCCApOgAwIBAgIRAMcoRwmzuGxFjB36JPU2TukwDQYJKoZIhvcNAQEFBQAwPDEbMBkGA1UE +AxMSQ29tU2lnbiBTZWN1cmVkIENBMRAwDgYDVQQKEwdDb21TaWduMQswCQYDVQQGEwJJTDAeFw0w +NDAzMjQxMTM3MjBaFw0yOTAzMTYxNTA0NTZaMDwxGzAZBgNVBAMTEkNvbVNpZ24gU2VjdXJlZCBD +QTEQMA4GA1UEChMHQ29tU2lnbjELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQDGtWhfHZQVw6QIVS3joFd67+l0Kru5fFdJGhFeTymHDEjWaueP1H5XJLkGieQcPOqs +49ohgHMhCu95mGwfCP+hUH3ymBvJVG8+pSjsIQQPRbsHPaHA+iqYHU4Gk/v1iDurX8sWv+bznkqH +7Rnqwp9D5PGBpX8QTz7RSmKtUxvLg/8HZaWSLWapW7ha9B20IZFKF3ueMv5WJDmyVIRD9YTC2LxB +kMyd1mja6YJQqTtoz7VdApRgFrFD2UNd3V2Hbuq7s8lr9gOUCXDeFhF6K+h2j0kQmHe5Y1yLM5d1 +9guMsqtb3nQgJT/j8xH5h2iGNXHDHYwt6+UarA9z1YJZQIDTAgMBAAGjgacwgaQwDAYDVR0TBAUw +AwEB/zBEBgNVHR8EPTA7MDmgN6A1hjNodHRwOi8vZmVkaXIuY29tc2lnbi5jby5pbC9jcmwvQ29t +U2lnblNlY3VyZWRDQS5jcmwwDgYDVR0PAQH/BAQDAgGGMB8GA1UdIwQYMBaAFMFL7XC29z58ADsA +j8c+DkWfHl3sMB0GA1UdDgQWBBTBS+1wtvc+fAA7AI/HPg5Fnx5d7DANBgkqhkiG9w0BAQUFAAOC +AQEAFs/ukhNQq3sUnjO2QiBq1BW9Cav8cujvR3qQrFHBZE7piL1DRYHjZiM/EoZNGeQFsOY3wo3a +BijJD4mkU6l1P7CW+6tMM1X5eCZGbxs2mPtCdsGCuY7e+0X5YxtiOzkGynd6qDwJz2w2PQ8KRUtp +FhpFfTMDZflScZAmlaxMDPWLkz/MdXSFmLr/YnpNH4n+rr2UAJm/EaXc4HnFFgt9AmEd6oX5AhVP +51qJThRv4zdLhfXBPGHg/QVBspJ/wx2g0K5SZGBrGMYmnNj1ZOQ2GmKfig8+/21OGVZOIJFsnzQz +OjRXUDpvgV4GxvU+fE6OK85lBi5d0ipTdF7Tbieejw== +-----END CERTIFICATE----- + +Cybertrust Global Root +====================== +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li +ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 +MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD +ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ++Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW +0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL +AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin +89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT +8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 +MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G +A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO +lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi +5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 +hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T +X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +ePKI Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG +EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx +MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq +MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs +IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi +lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv +qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX +12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O +WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ +ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao +lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ +vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi +Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi +MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 +1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq +KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV +xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP +NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r +GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE +xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx +gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy +sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD +BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +T\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3 +============================================================================================================================= +-----BEGIN CERTIFICATE----- +MIIFFzCCA/+gAwIBAgIBETANBgkqhkiG9w0BAQUFADCCASsxCzAJBgNVBAYTAlRSMRgwFgYDVQQH +DA9HZWJ6ZSAtIEtvY2FlbGkxRzBFBgNVBAoMPlTDvHJraXllIEJpbGltc2VsIHZlIFRla25vbG9q +aWsgQXJhxZ90xLFybWEgS3VydW11IC0gVMOcQsSwVEFLMUgwRgYDVQQLDD9VbHVzYWwgRWxla3Ry +b25payB2ZSBLcmlwdG9sb2ppIEFyYcWfdMSxcm1hIEVuc3RpdMO8c8O8IC0gVUVLQUUxIzAhBgNV +BAsMGkthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppMUowSAYDVQQDDEFUw5xCxLBUQUsgVUVLQUUg +S8O2ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSAtIFPDvHLDvG0gMzAeFw0wNzA4 +MjQxMTM3MDdaFw0xNzA4MjExMTM3MDdaMIIBKzELMAkGA1UEBhMCVFIxGDAWBgNVBAcMD0dlYnpl +IC0gS29jYWVsaTFHMEUGA1UECgw+VMO8cmtpeWUgQmlsaW1zZWwgdmUgVGVrbm9sb2ppayBBcmHF +n3TEsXJtYSBLdXJ1bXUgLSBUw5xCxLBUQUsxSDBGBgNVBAsMP1VsdXNhbCBFbGVrdHJvbmlrIHZl +IEtyaXB0b2xvamkgQXJhxZ90xLFybWEgRW5zdGl0w7xzw7wgLSBVRUtBRTEjMCEGA1UECwwaS2Ft +dSBTZXJ0aWZpa2FzeW9uIE1lcmtlemkxSjBIBgNVBAMMQVTDnELEsFRBSyBVRUtBRSBLw7ZrIFNl +cnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIC0gU8O8csO8bSAzMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEAim1L/xCIOsP2fpTo6iBkcK4hgb46ezzb8R1Sf1n68yJMlaCQvEhO +Eav7t7WNeoMojCZG2E6VQIdhn8WebYGHV2yKO7Rm6sxA/OOqbLLLAdsyv9Lrhc+hDVXDWzhXcLh1 +xnnRFDDtG1hba+818qEhTsXOfJlfbLm4IpNQp81McGq+agV/E5wrHur+R84EpW+sky58K5+eeROR +6Oqeyjh1jmKwlZMq5d/pXpduIF9fhHpEORlAHLpVK/swsoHvhOPc7Jg4OQOFCKlUAwUp8MmPi+oL +hmUZEdPpCSPeaJMDyTYcIW7OjGbxmTDY17PDHfiBLqi9ggtm/oLL4eAagsNAgQIDAQABo0IwQDAd +BgNVHQ4EFgQUvYiHyY/2pAoLquvF/pEjnatKijIwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAB18+kmPNOm3JpIWmgV050vQbTlswyb2zrgxvMTfvCr4 +N5EY3ATIZJkrGG2AA1nJrvhY0D7twyOfaTyGOBye79oneNGEN3GKPEs5z35FBtYt2IpNeBLWrcLT +y9LQQfMmNkqblWwM7uXRQydmwYj3erMgbOqwaSvHIOgMA8RBBZniP+Rr+KCGgceExh/VS4ESshYh +LBOhgLJeDEoTniDYYkCrkOpkSi+sDQESeUWoL4cZaMjihccwsnX5OD+ywJO0a+IDRM5noN+J1q2M +dqMTw5RhK2vZbMEHCiIHhWyFJEapvj+LeISCfiQMnf2BN+MlqO02TpUsyZyQ2uypQjyttgI= +-----END CERTIFICATE----- + +Buypass Class 2 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBATANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMiBDQSAxMB4XDTA2 +MTAxMzEwMjUwOVoXDTE2MTAxMzEwMjUwOVowSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDIgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAIs8B0XY9t/mx8q6jUPFR42wWsE425KEHK8T1A9vNkYgxC7M +cXA0ojTTNy7Y3Tp3L8DrKehc0rWpkTSHIln+zNvnma+WwajHQN2lFYxuyHyXA8vmIPLXl18xoS83 +0r7uvqmtqEyeIWZDO6i88wmjONVZJMHCR3axiFyCO7srpgTXjAePzdVBHfCuuCkslFJgNJQ72uA4 +0Z0zPhX0kzLFANq1KWYOOngPIVJfAuWSeyXTkh4vFZ2B5J2O6O+JzhRMVB0cgRJNcKi+EAUXfh/R +uFdV7c27UsKwHnjCTTZoy1YmwVLBvXb3WNVyfh9EdrsAiR0WnVE1703CVu9r4Iw7DekCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUP42aWYv8e3uco684sDntkHGA1sgwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQAVGn4TirnoB6NLJzKyQJHyIdFkhb5jatLPgcIV +1Xp+DCmsNx4cfHZSldq1fyOhKXdlyTKdqC5Wq2B2zha0jX94wNWZUYN/Xtm+DKhQ7SLHrQVMdvvt +7h5HZPb3J31cKA9FxVxiXqaakZG3Uxcu3K1gnZZkOb1naLKuBctN518fV4bVIJwo+28TOPX2EZL2 +fZleHwzoq0QkKXJAPTZSr4xYkHPB7GEseaHsh7U/2k3ZIQAw3pDaDtMaSKk+hQsUi4y8QZ5q9w5w +wDX3OaJdZtB7WZ+oRxKaJyOkLY4ng5IgodcVf/EuGO70SH8vf/GhGLWhC5SgYiAynB321O+/TIho +-----END CERTIFICATE----- + +Buypass Class 3 CA 1 +==================== +-----BEGIN CERTIFICATE----- +MIIDUzCCAjugAwIBAgIBAjANBgkqhkiG9w0BAQUFADBLMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxHTAbBgNVBAMMFEJ1eXBhc3MgQ2xhc3MgMyBDQSAxMB4XDTA1 +MDUwOTE0MTMwM1oXDTE1MDUwOTE0MTMwM1owSzELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBh +c3MgQVMtOTgzMTYzMzI3MR0wGwYDVQQDDBRCdXlwYXNzIENsYXNzIDMgQ0EgMTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKSO13TZKWTeXx+HgJHqTjnmGcZEC4DVC69TB4sSveZn8AKx +ifZgisRbsELRwCGoy+Gb72RRtqfPFfV0gGgEkKBYouZ0plNTVUhjP5JW3SROjvi6K//zNIqeKNc0 +n6wv1g/xpC+9UrJJhW05NfBEMJNGJPO251P7vGGvqaMU+8IXF4Rs4HyI+MkcVyzwPX6UvCWThOia +AJpFBUJXgPROztmuOfbIUxAMZTpHe2DC1vqRycZxbL2RhzyRhkmr8w+gbCZ2Xhysm3HljbybIR6c +1jh+JIAVMYKWsUnTYjdbiAwKYjT+p0h+mbEwi5A3lRyoH6UsjfRVyNvdWQrCrXig9IsCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUOBTmyPCppAP0Tj4io1vy1uCtQHQwDgYDVR0P +AQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQABZ6OMySU9E2NdFm/soT4JXJEVKirZgCFPBdy7 +pYmrEzMqnji3jG8CcmPHc3ceCQa6Oyh7pEfJYWsICCD8igWKH7y6xsL+z27sEzNxZy5p+qksP2bA +EllNC1QCkoS72xLvg3BweMhT+t/Gxv/ciC8HwEmdMldg0/L2mSlf56oBzKwzqBwKu5HEA6BvtjT5 +htOzdlSY9EqBs1OdTUDs5XcTRa9bqh/YL0yCe/4qxFi7T/ye/QNlGioOw6UgFpRreaaiErS7GqQj +el/wroQk5PMr+4okoyeYZdowdXb8GZHo2+ubPzK/QJcHJrrM85SFSnonk8+QQtS4Wxam58tAA915 +-----END CERTIFICATE----- + +EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 +========================================================================== +-----BEGIN CERTIFICATE----- +MIIF5zCCA8+gAwIBAgIITK9zQhyOdAIwDQYJKoZIhvcNAQEFBQAwgYAxODA2BgNVBAMML0VCRyBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMTcwNQYDVQQKDC5FQkcg +QmlsacWfaW0gVGVrbm9sb2ppbGVyaSB2ZSBIaXptZXRsZXJpIEEuxZ4uMQswCQYDVQQGEwJUUjAe +Fw0wNjA4MTcwMDIxMDlaFw0xNjA4MTQwMDMxMDlaMIGAMTgwNgYDVQQDDC9FQkcgRWxla3Ryb25p +ayBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTE3MDUGA1UECgwuRUJHIEJpbGnFn2lt +IFRla25vbG9qaWxlcmkgdmUgSGl6bWV0bGVyaSBBLsWeLjELMAkGA1UEBhMCVFIwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQDuoIRh0DpqZhAy2DE4f6en5f2h4fuXd7hxlugTlkaDT7by +X3JWbhNgpQGR4lvFzVcfd2NR/y8927k/qqk153nQ9dAktiHq6yOU/im/+4mRDGSaBUorzAzu8T2b +gmmkTPiab+ci2hC6X5L8GCcKqKpE+i4stPtGmggDg3KriORqcsnlZR9uKg+ds+g75AxuetpX/dfr +eYteIAbTdgtsApWjluTLdlHRKJ2hGvxEok3MenaoDT2/F08iiFD9rrbskFBKW5+VQarKD7JK/oCZ +TqNGFav4c0JqwmZ2sQomFd2TkuzbqV9UIlKRcF0T6kjsbgNs2d1s/OsNA/+mgxKb8amTD8UmTDGy +Y5lhcucqZJnSuOl14nypqZoaqsNW2xCaPINStnuWt6yHd6i58mcLlEOzrz5z+kI2sSXFCjEmN1Zn +uqMLfdb3ic1nobc6HmZP9qBVFCVMLDMNpkGMvQQxahByCp0OLna9XvNRiYuoP1Vzv9s6xiQFlpJI +qkuNKgPlV5EQ9GooFW5Hd4RcUXSfGenmHmMWOeMRFeNYGkS9y8RsZteEBt8w9DeiQyJ50hBs37vm +ExH8nYQKE3vwO9D8owrXieqWfo1IhR5kX9tUoqzVegJ5a9KK8GfaZXINFHDk6Y54jzJ0fFfy1tb0 +Nokb+Clsi7n2l9GkLqq+CxnCRelwXQIDAJ3Zo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB +/wQEAwIBBjAdBgNVHQ4EFgQU587GT/wWZ5b6SqMHwQSny2re2kcwHwYDVR0jBBgwFoAU587GT/wW +Z5b6SqMHwQSny2re2kcwDQYJKoZIhvcNAQEFBQADggIBAJuYml2+8ygjdsZs93/mQJ7ANtyVDR2t +FcU22NU57/IeIl6zgrRdu0waypIN30ckHrMk2pGI6YNw3ZPX6bqz3xZaPt7gyPvT/Wwp+BVGoGgm +zJNSroIBk5DKd8pNSe/iWtkqvTDOTLKBtjDOWU/aWR1qeqRFsIImgYZ29fUQALjuswnoT4cCB64k +XPBfrAowzIpAoHMEwfuJJPaaHFy3PApnNgUIMbOv2AFoKuB4j3TeuFGkjGwgPaL7s9QJ/XvCgKqT +bCmYIai7FvOpEl90tYeY8pUm3zTvilORiF0alKM/fCL414i6poyWqD1SNGKfAB5UVUJnxk1Gj7sU +RT0KlhaOEKGXmdXTMIXM3rRyt7yKPBgpaP3ccQfuJDlq+u2lrDgv+R4QDgZxGhBM/nV+/x5XOULK +1+EVoVZVWRvRo68R2E7DpSvvkL/A7IITW43WciyTTo9qKd+FPNMN4KIYEsxVL0e3p5sC/kH2iExt +2qkBR4NkJ2IQgtYSe14DHzSpyZH+r11thie3I6p1GMog57AP14kOpmciY/SDQSsGS7tY1dHXt7kQ +Y9iJSrSq3RZj9W6+YKH47ejWkE8axsWgKdOnIaj1Wjz3x0miIZpKlVIglnKaZsv30oZDfCK+lvm9 +AahH3eU7QPl1K5srRmSGjR70j/sHd9DqSaIcjVIUpgqT +-----END CERTIFICATE----- + +certSIGN ROOT CA +================ +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD +VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa +Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE +CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I +JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH +rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 +ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD +0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 +AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B +Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB +AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 +SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 +x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt +vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz +TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +CNNIC ROOT +========== +-----BEGIN CERTIFICATE----- +MIIDVTCCAj2gAwIBAgIESTMAATANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJDTjEOMAwGA1UE +ChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1QwHhcNMDcwNDE2MDcwOTE0WhcNMjcwNDE2MDcw +OTE0WjAyMQswCQYDVQQGEwJDTjEOMAwGA1UEChMFQ05OSUMxEzARBgNVBAMTCkNOTklDIFJPT1Qw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTNfc/c3et6FtzF8LRb+1VvG7q6KR5smzD +o+/hn7E7SIX1mlwhIhAsxYLO2uOabjfhhyzcuQxauohV3/2q2x8x6gHx3zkBwRP9SFIhxFXf2tiz +VHa6dLG3fdfA6PZZxU3Iva0fFNrfWEQlMhkqx35+jq44sDB7R3IJMfAw28Mbdim7aXZOV/kbZKKT +VrdvmW7bCgScEeOAH8tjlBAKqeFkgjH5jCftppkA9nCTGPihNIaj3XrCGHn2emU1z5DrvTOTn1Or +czvmmzQgLx3vqR1jGqCA2wMv+SYahtKNu6m+UjqHZ0gNv7Sg2Ca+I19zN38m5pIEo3/PIKe38zrK +y5nLAgMBAAGjczBxMBEGCWCGSAGG+EIBAQQEAwIABzAfBgNVHSMEGDAWgBRl8jGtKvf33VKWCscC +wQ7vptU7ETAPBgNVHRMBAf8EBTADAQH/MAsGA1UdDwQEAwIB/jAdBgNVHQ4EFgQUZfIxrSr3991S +lgrHAsEO76bVOxEwDQYJKoZIhvcNAQEFBQADggEBAEs17szkrr/Dbq2flTtLP1se31cpolnKOOK5 +Gv+e5m4y3R6u6jW39ZORTtpC4cMXYFDy0VwmuYK36m3knITnA3kXr5g9lNvHugDnuL8BV8F3RTIM +O/G0HAiw/VGgod2aHRM2mm23xzy54cXZF/qD1T0VoDy7HgviyJA/qIYM/PmLXoXLT1tLYhFHxUV8 +BS9BsZ4QaRuZluBVeftOhpm4lNqGOGqTo+fLbuXf6iFViZx9fX+Y9QCJ7uOEwFyWtcVG6kbghVW2 +G8kS1sHNzYDzAgE8yGnLRUhj2JTQ7IUOO04RZfSCjKY9ri4ilAnIXOo8gV0WKgOXFlUJ24pBgp5m +mxE= +-----END CERTIFICATE----- + +ApplicationCA - Japanese Government +=================================== +-----BEGIN CERTIFICATE----- +MIIDoDCCAoigAwIBAgIBMTANBgkqhkiG9w0BAQUFADBDMQswCQYDVQQGEwJKUDEcMBoGA1UEChMT +SmFwYW5lc2UgR292ZXJubWVudDEWMBQGA1UECxMNQXBwbGljYXRpb25DQTAeFw0wNzEyMTIxNTAw +MDBaFw0xNzEyMTIxNTAwMDBaMEMxCzAJBgNVBAYTAkpQMRwwGgYDVQQKExNKYXBhbmVzZSBHb3Zl +cm5tZW50MRYwFAYDVQQLEw1BcHBsaWNhdGlvbkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAp23gdE6Hj6UG3mii24aZS2QNcfAKBZuOquHMLtJqO8F6tJdhjYq+xpqcBrSGUeQ3DnR4 +fl+Kf5Sk10cI/VBaVuRorChzoHvpfxiSQE8tnfWuREhzNgaeZCw7NCPbXCbkcXmP1G55IrmTwcrN +wVbtiGrXoDkhBFcsovW8R0FPXjQilbUfKW1eSvNNcr5BViCH/OlQR9cwFO5cjFW6WY2H/CPek9AE +jP3vbb3QesmlOmpyM8ZKDQUXKi17safY1vC+9D/qDihtQWEjdnjDuGWk81quzMKq2edY3rZ+nYVu +nyoKb58DKTCXKB28t89UKU5RMfkntigm/qJj5kEW8DOYRwIDAQABo4GeMIGbMB0GA1UdDgQWBBRU +WssmP3HMlEYNllPqa0jQk/5CdTAOBgNVHQ8BAf8EBAMCAQYwWQYDVR0RBFIwUKROMEwxCzAJBgNV +BAYTAkpQMRgwFgYDVQQKDA/ml6XmnKzlm73mlL/lupwxIzAhBgNVBAsMGuOCouODl+ODquOCseOD +vOOCt+ODp+ODs0NBMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADlqRHZ3ODrs +o2dGD/mLBqj7apAxzn7s2tGJfHrrLgy9mTLnsCTWw//1sogJhyzjVOGjprIIC8CFqMjSnHH2HZ9g +/DgzE+Ge3Atf2hZQKXsvcJEPmbo0NI2VdMV+eKlmXb3KIXdCEKxmJj3ekav9FfBv7WxfEPjzFvYD +io+nEhEMy/0/ecGc/WLuo89UDNErXxc+4z6/wCs+CZv+iKZ+tJIX/COUgb1up8WMwusRRdv4QcmW +dupwX3kSa+SjB1oF7ydJzyGfikwJcGapJsErEU4z0g781mzSDjJkaP+tBXhfAx2o45CsJOAPQKdL +rosot4LKGAfmt1t06SAZf7IbiVQ= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G3 +============================================= +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 +IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy +eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz +NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo +YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT +LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j +K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE +c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C +IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu +dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr +2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 +cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE +Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s +t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +thawte Primary Root CA - G2 +=========================== +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC +VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu +IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg +Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV +MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG +b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt +IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS +LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 +8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU +mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN +G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K +rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +thawte Primary Root CA - G3 +=========================== +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE +BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 +aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv +cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w +ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD +VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG +A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At +P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC ++BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY +7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW +vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ +KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK +A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC +8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm +er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +GeoTrust Primary Certification Authority - G2 +============================================= +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu +Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 +OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl +b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG +BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc +KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ +EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m +ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 +npaqBA+K +-----END CERTIFICATE----- + +VeriSign Universal Root Certification Authority +=============================================== +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE +BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO +ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk +IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u +IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV +UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv +cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj +1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP +MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 +9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I +AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR +tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G +CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O +a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 +Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx +Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx +P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P +wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 +mJO37M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +VeriSign Class 3 Public Primary Certification Authority - G4 +============================================================ +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC +VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 +b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz +ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU +cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo +b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 +Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz +rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw +HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u +Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD +A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx +AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +NetLock Arany (Class Gold) Főtanúsítvány +============================================ +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G +A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 +dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB +cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx +MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO +ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 +c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu +0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw +/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk +H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw +fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 +neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW +qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta +YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna +NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu +dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +Staat der Nederlanden Root CA - G2 +================================== +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE +CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g +Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC +TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l +ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ +5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn +vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj +CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil +e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR +OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI +CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 +48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi +trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 +qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB +AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC +ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA +A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz ++51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj +f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN +kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk +CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF +URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb +CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h +oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV +IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm +66+KAQ== +-----END CERTIFICATE----- + +CA Disig +======== +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMK +QnJhdGlzbGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwHhcNMDYw +MzIyMDEzOTM0WhcNMTYwMzIyMDEzOTM0WjBKMQswCQYDVQQGEwJTSzETMBEGA1UEBxMKQnJhdGlz +bGF2YTETMBEGA1UEChMKRGlzaWcgYS5zLjERMA8GA1UEAxMIQ0EgRGlzaWcwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCS9jHBfYj9mQGp2HvycXXxMcbzdWb6UShGhJd4NLxs/LxFWYgm +GErENx+hSkS943EE9UQX4j/8SFhvXJ56CbpRNyIjZkMhsDxkovhqFQ4/61HhVKndBpnXmjxUizkD +Pw/Fzsbrg3ICqB9x8y34dQjbYkzo+s7552oftms1grrijxaSfQUMbEYDXcDtab86wYqg6I7ZuUUo +hwjstMoVvoLdtUSLLa2GDGhibYVW8qwUYzrG0ZmsNHhWS8+2rT+MitcE5eN4TPWGqvWP+j1scaMt +ymfraHtuM6kMgiioTGohQBUgDCZbg8KpFhXAJIJdKxatymP2dACw30PEEGBWZ2NFAgMBAAGjgf8w +gfwwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUjbJJaJ1yCCW5wCf1UJNWSEZx+Y8wDgYDVR0P +AQH/BAQDAgEGMDYGA1UdEQQvMC2BE2Nhb3BlcmF0b3JAZGlzaWcuc2uGFmh0dHA6Ly93d3cuZGlz +aWcuc2svY2EwZgYDVR0fBF8wXTAtoCugKYYnaHR0cDovL3d3dy5kaXNpZy5zay9jYS9jcmwvY2Ff +ZGlzaWcuY3JsMCygKqAohiZodHRwOi8vY2EuZGlzaWcuc2svY2EvY3JsL2NhX2Rpc2lnLmNybDAa +BgNVHSAEEzARMA8GDSuBHpGT5goAAAABAQEwDQYJKoZIhvcNAQEFBQADggEBAF00dGFMrzvY/59t +WDYcPQuBDRIrRhCA/ec8J9B6yKm2fnQwM6M6int0wHl5QpNt/7EpFIKrIYwvF/k/Ji/1WcbvgAa3 +mkkp7M5+cTxqEEHA9tOasnxakZzArFvITV734VP/Q3f8nktnbNfzg9Gg4H8l37iYC5oyOGwwoPP/ +CBUz91BKez6jPiCp3C9WgArtQVCwyfTssuMmRAAOb54GvCKWU3BlxFAKRmukLyeBEicTXxChds6K +ezfqwzlhA5WYOudsiCUI/HloDYd9Yvi0X/vF2Ey9WLw/Q1vUHgFNPGO+I++MzVpQuGhU+QqZMxEA +4Z7CRneC9VkGjCFMhwnN5ag= +-----END CERTIFICATE----- + +Juur-SK +======= +-----BEGIN CERTIFICATE----- +MIIE5jCCA86gAwIBAgIEO45L/DANBgkqhkiG9w0BAQUFADBdMRgwFgYJKoZIhvcNAQkBFglwa2lA +c2suZWUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKExlBUyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMRAw +DgYDVQQDEwdKdXVyLVNLMB4XDTAxMDgzMDE0MjMwMVoXDTE2MDgyNjE0MjMwMVowXTEYMBYGCSqG +SIb3DQEJARYJcGtpQHNrLmVlMQswCQYDVQQGEwJFRTEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVy +aW1pc2tlc2t1czEQMA4GA1UEAxMHSnV1ci1TSzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAIFxNj4zB9bjMI0TfncyRsvPGbJgMUaXhvSYRqTCZUXP00B841oiqBB4M8yIsdOBSvZiF3tf +TQou0M+LI+5PAk676w7KvRhj6IAcjeEcjT3g/1tf6mTll+g/mX8MCgkzABpTpyHhOEvWgxutr2TC ++Rx6jGZITWYfGAriPrsfB2WThbkasLnE+w0R9vXW+RvHLCu3GFH+4Hv2qEivbDtPL+/40UceJlfw +UR0zlv/vWT3aTdEVNMfqPxZIe5EcgEMPPbgFPtGzlc3Yyg/CQ2fbt5PgIoIuvvVoKIO5wTtpeyDa +Tpxt4brNj3pssAki14sL2xzVWiZbDcDq5WDQn/413z8CAwEAAaOCAawwggGoMA8GA1UdEwEB/wQF +MAMBAf8wggEWBgNVHSAEggENMIIBCTCCAQUGCisGAQQBzh8BAQEwgfYwgdAGCCsGAQUFBwICMIHD +HoHAAFMAZQBlACAAcwBlAHIAdABpAGYAaQBrAGEAYQB0ACAAbwBuACAAdgDkAGwAagBhAHMAdABh +AHQAdQBkACAAQQBTAC0AaQBzACAAUwBlAHIAdABpAGYAaQB0AHMAZQBlAHIAaQBtAGkAcwBrAGUA +cwBrAHUAcwAgAGEAbABhAG0ALQBTAEsAIABzAGUAcgB0AGkAZgBpAGsAYQBhAHQAaQBkAGUAIABr +AGkAbgBuAGkAdABhAG0AaQBzAGUAawBzMCEGCCsGAQUFBwIBFhVodHRwOi8vd3d3LnNrLmVlL2Nw +cy8wKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3d3dy5zay5lZS9qdXVyL2NybC8wHQYDVR0OBBYE +FASqekej5ImvGs8KQKcYP2/v6X2+MB8GA1UdIwQYMBaAFASqekej5ImvGs8KQKcYP2/v6X2+MA4G +A1UdDwEB/wQEAwIB5jANBgkqhkiG9w0BAQUFAAOCAQEAe8EYlFOiCfP+JmeaUOTDBS8rNXiRTHyo +ERF5TElZrMj3hWVcRrs7EKACr81Ptcw2Kuxd/u+gkcm2k298gFTsxwhwDY77guwqYHhpNjbRxZyL +abVAyJRld/JXIWY7zoVAtjNjGr95HvxcHdMdkxuLDF2FvZkwMhgJkVLpfKG6/2SSmuz+Ne6ML678 +IIbsSt4beDI3poHSna9aEhbKmVv8b20OxaAehsmR0FyYgl9jDIpaq9iVpszLita/ZEuOyoqysOkh +Mp6qqIWYNIE5ITuoOlIyPfZrN4YGWhWY3PARZv40ILcD9EEQfTmEeZZyY7aWAuVrua0ZTbvGRNs2 +yyqcjg== +-----END CERTIFICATE----- + +Hongkong Post Root CA 1 +======================= +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT +DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx +NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n +IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 +ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr +auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh +qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY +V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV +HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i +h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio +l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei +IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps +T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT +c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== +-----END CERTIFICATE----- + +SecureSign RootCA11 +=================== +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi +SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS +b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw +KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 +cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL +TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO +wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq +g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP +O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA +bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX +t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh +OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r +bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ +Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 +y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 +lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +ACEDICOM Root +============= +-----BEGIN CERTIFICATE----- +MIIFtTCCA52gAwIBAgIIYY3HhjsBggUwDQYJKoZIhvcNAQEFBQAwRDEWMBQGA1UEAwwNQUNFRElD +T00gUm9vdDEMMAoGA1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMB4XDTA4 +MDQxODE2MjQyMloXDTI4MDQxMzE2MjQyMlowRDEWMBQGA1UEAwwNQUNFRElDT00gUm9vdDEMMAoG +A1UECwwDUEtJMQ8wDQYDVQQKDAZFRElDT00xCzAJBgNVBAYTAkVTMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA/5KV4WgGdrQsyFhIyv2AVClVYyT/kGWbEHV7w2rbYgIB8hiGtXxaOLHk +WLn709gtn70yN78sFW2+tfQh0hOR2QetAQXW8713zl9CgQr5auODAKgrLlUTY4HKRxx7XBZXehuD +YAQ6PmXDzQHe3qTWDLqO3tkE7hdWIpuPY/1NFgu3e3eM+SW10W2ZEi5PGrjm6gSSrj0RuVFCPYew +MYWveVqc/udOXpJPQ/yrOq2lEiZmueIM15jO1FillUAKt0SdE3QrwqXrIhWYENiLxQSfHY9g5QYb +m8+5eaA9oiM/Qj9r+hwDezCNzmzAv+YbX79nuIQZ1RXve8uQNjFiybwCq0Zfm/4aaJQ0PZCOrfbk +HQl/Sog4P75n/TSW9R28MHTLOO7VbKvU/PQAtwBbhTIWdjPp2KOZnQUAqhbm84F9b32qhm2tFXTT +xKJxqvQUfecyuB+81fFOvW8XAjnXDpVCOscAPukmYxHqC9FK/xidstd7LzrZlvvoHpKuE1XI2Sf2 +3EgbsCTBheN3nZqk8wwRHQ3ItBTutYJXCb8gWH8vIiPYcMt5bMlL8qkqyPyHK9caUPgn6C9D4zq9 +2Fdx/c6mUlv53U3t5fZvie27k5x2IXXwkkwp9y+cAS7+UEaeZAwUswdbxcJzbPEHXEUkFDWug/Fq +TYl6+rPYLWbwNof1K1MCAwEAAaOBqjCBpzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKaz +4SsrSbbXc6GqlPUB53NlTKxQMA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUprPhKytJttdzoaqU +9QHnc2VMrFAwRAYDVR0gBD0wOzA5BgRVHSAAMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly9hY2VkaWNv +bS5lZGljb21ncm91cC5jb20vZG9jMA0GCSqGSIb3DQEBBQUAA4ICAQDOLAtSUWImfQwng4/F9tqg +aHtPkl7qpHMyEVNEskTLnewPeUKzEKbHDZ3Ltvo/Onzqv4hTGzz3gvoFNTPhNahXwOf9jU8/kzJP +eGYDdwdY6ZXIfj7QeQCM8htRM5u8lOk6e25SLTKeI6RF+7YuE7CLGLHdztUdp0J/Vb77W7tH1Pwk +zQSulgUV1qzOMPPKC8W64iLgpq0i5ALudBF/TP94HTXa5gI06xgSYXcGCRZj6hitoocf8seACQl1 +ThCojz2GuHURwCRiipZ7SkXp7FnFvmuD5uHorLUwHv4FB4D54SMNUI8FmP8sX+g7tq3PgbUhh8oI +KiMnMCArz+2UW6yyetLHKKGKC5tNSixthT8Jcjxn4tncB7rrZXtaAWPWkFtPF2Y9fwsZo5NjEFIq +nxQWWOLcpfShFosOkYuByptZ+thrkQdlVV9SH686+5DdaaVbnG0OLLb6zqylfDJKZ0DcMDQj3dcE +I2bw/FWAp/tmGYI1Z2JwOV5vx+qQQEQIHriy1tvuWacNGHk0vFQYXlPKNFHtRQrmjseCNj6nOGOp +MCwXEGCSn1WHElkQwg9naRHMTh5+Spqtr0CodaxWkHS4oJyleW/c6RrIaQXpuvoDs3zk4E7Czp3o +tkYNbn5XOmeUwssfnHdKZ05phkOTOPu220+DkdRgfks+KzgHVZhepA== +-----END CERTIFICATE----- + +Verisign Class 1 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCED9pHoGc8JpK83P/uUii5N0wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAxIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAx +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDlGb9to1ZhLZlIcfZn3rmN67eehoAKkQ76OCWvRoiC5XOooJskXQ0fzGVuDLDQ +VoQYh5oGmxChc9+0WDlrbsH2FdWoqD+qEgaNMax/sDTXjzRniAnNFBHiTkVWaR94AoDa3EeRKbs2 +yWNcxeDXLYd7obcysHswuiovMaruo2fa2wIDAQABMA0GCSqGSIb3DQEBBQUAA4GBAFgVKTk8d6Pa +XCUDfGD67gmZPCcQcMgMCeazh88K4hiWNWLMv5sneYlfycQJ9M61Hd8qveXbhpxoJeUwfLaJFf5n +0a3hUKw8fGJLj7qE1xIVGx/KXQ/BUpQqEZnae88MNhPVNdwQGVnqlMEAv3WP2fr9dgTbYruQagPZ +RjXZ+Hxb +-----END CERTIFICATE----- + +Verisign Class 3 Public Primary Certification Authority +======================================================= +-----BEGIN CERTIFICATE----- +MIICPDCCAaUCEDyRMcsf9tAbDpq40ES/Er4wDQYJKoZIhvcNAQEFBQAwXzELMAkGA1UEBhMCVVMx +FzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmltYXJ5 +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2MDEyOTAwMDAwMFoXDTI4MDgwMjIzNTk1OVow +XzELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAz +IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhEBarsAx94 +f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/isI19wKTakyYbnsZogy1Ol +hec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0GCSqGSIb3DQEBBQUAA4GBABByUqkFFBky +CEHwxWsKzH4PIRnN5GfcX6kb5sroc50i2JhucwNhkcV8sEVAbkSdjbCxlnRhLQ2pRdKkkirWmnWX +bj9T/UWZYB2oK0z5XqcJ2HUw19JlYD1n1khVdWk/kfVIC0dpImmClr7JyDiGSnoscxlIaU5rfGW/ +D/xwzoiQ +-----END CERTIFICATE----- + +Microsec e-Szigno Root CA 2009 +============================== +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER +MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv +c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE +BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt +U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA +fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG +0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA +pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm +1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC +AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf +QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE +FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o +lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX +I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 +yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi +LXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi +=================================================== +-----BEGIN CERTIFICATE----- +MIIDtjCCAp6gAwIBAgIQRJmNPMADJ72cdpW56tustTANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJUUjEoMCYGA1UEChMfRWxla3Ryb25payBCaWxnaSBHdXZlbmxpZ2kgQS5TLjE8MDoGA1UEAxMz +ZS1HdXZlbiBLb2sgRWxla3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhZ2xheWljaXNpMB4XDTA3 +MDEwNDExMzI0OFoXDTE3MDEwNDExMzI0OFowdTELMAkGA1UEBhMCVFIxKDAmBgNVBAoTH0VsZWt0 +cm9uaWsgQmlsZ2kgR3V2ZW5saWdpIEEuUy4xPDA6BgNVBAMTM2UtR3V2ZW4gS29rIEVsZWt0cm9u +aWsgU2VydGlmaWthIEhpem1ldCBTYWdsYXlpY2lzaTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAMMSIJ6wXgBljU5Gu4Bc6SwGl9XzcslwuedLZYDBS75+PNdUMZTe1RK6UxYC6lhj71vY +8+0qGqpxSKPcEC1fX+tcS5yWCEIlKBHMilpiAVDV6wlTL/jDj/6z/P2douNffb7tC+Bg62nsM+3Y +jfsSSYMAyYuXjDtzKjKzEve5TfL0TW3H5tYmNwjy2f1rXKPlSFxYvEK+A1qBuhw1DADT9SN+cTAI +JjjcJRFHLfO6IxClv7wC90Nex/6wN1CZew+TzuZDLMN+DfIcQ2Zgy2ExR4ejT669VmxMvLz4Bcpk +9Ok0oSy1c+HCPujIyTQlCFzz7abHlJ+tiEMl1+E5YP6sOVkCAwEAAaNCMEAwDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ/uRLOU1fqRTy7ZVZoEVtstxNulMA0GCSqG +SIb3DQEBBQUAA4IBAQB/X7lTW2M9dTLn+sR0GstG30ZpHFLPqk/CaOv/gKlR6D1id4k9CnU58W5d +F4dvaAXBlGzZXd/aslnLpRCKysw5zZ/rTt5S/wzw9JKp8mxTq5vSR6AfdPebmvEvFZ96ZDAYBzwq +D2fK/A+JYZ1lpTzlvBNbCNvj/+27BrtqBrF6T2XGgv0enIu1De5Iu7i9qgi0+6N8y5/NkHZchpZ4 +Vwpm+Vganf2XKWDeEaaQHBkc7gGWIjQ0LpH5t8Qn0Xvmv/uARFoW5evg1Ao4vOSR49XrXMGs3xtq +fJ7lddK2l4fbzIcrQzqECK+rPNv3PGYxhrCdU3nt+CPeQuMtgvEP5fqX +-----END CERTIFICATE----- + +GlobalSign Root CA - R3 +======================= +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv +YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh +bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT +aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln +bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt +iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ +0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 +rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl +OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 +xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE +FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 +lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 +EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E +bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 +YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r +kpeDMdmztcpHWD9f +-----END CERTIFICATE----- + +TC TrustCenter Universal CA III +=============================== +-----BEGIN CERTIFICATE----- +MIID4TCCAsmgAwIBAgIOYyUAAQACFI0zFQLkbPQwDQYJKoZIhvcNAQEFBQAwezELMAkGA1UEBhMC +REUxHDAaBgNVBAoTE1RDIFRydXN0Q2VudGVyIEdtYkgxJDAiBgNVBAsTG1RDIFRydXN0Q2VudGVy +IFVuaXZlcnNhbCBDQTEoMCYGA1UEAxMfVEMgVHJ1c3RDZW50ZXIgVW5pdmVyc2FsIENBIElJSTAe +Fw0wOTA5MDkwODE1MjdaFw0yOTEyMzEyMzU5NTlaMHsxCzAJBgNVBAYTAkRFMRwwGgYDVQQKExNU +QyBUcnVzdENlbnRlciBHbWJIMSQwIgYDVQQLExtUQyBUcnVzdENlbnRlciBVbml2ZXJzYWwgQ0Ex +KDAmBgNVBAMTH1RDIFRydXN0Q2VudGVyIFVuaXZlcnNhbCBDQSBJSUkwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDC2pxisLlxErALyBpXsq6DFJmzNEubkKLF5+cvAqBNLaT6hdqbJYUt +QCggbergvbFIgyIpRJ9Og+41URNzdNW88jBmlFPAQDYvDIRlzg9uwliT6CwLOunBjvvya8o84pxO +juT5fdMnnxvVZ3iHLX8LR7PH6MlIfK8vzArZQe+f/prhsq75U7Xl6UafYOPfjdN/+5Z+s7Vy+Eut +CHnNaYlAJ/Uqwa1D7KRTyGG299J5KmcYdkhtWyUB0SbFt1dpIxVbYYqt8Bst2a9c8SaQaanVDED1 +M4BDj5yjdipFtK+/fz6HP3bFzSreIMUWWMv5G/UPyw0RUmS40nZid4PxWJ//AgMBAAGjYzBhMB8G +A1UdIwQYMBaAFFbn4VslQ4Dg9ozhcbyO5YAvxEjiMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMB0GA1UdDgQWBBRW5+FbJUOA4PaM4XG8juWAL8RI4jANBgkqhkiG9w0BAQUFAAOCAQEA +g8ev6n9NCjw5sWi+e22JLumzCecYV42FmhfzdkJQEw/HkG8zrcVJYCtsSVgZ1OK+t7+rSbyUyKu+ +KGwWaODIl0YgoGhnYIg5IFHYaAERzqf2EQf27OysGh+yZm5WZ2B6dF7AbZc2rrUNXWZzwCUyRdhK +BgePxLcHsU0GDeGl6/R1yrqc0L2z0zIkTO5+4nYES0lT2PLpVDP85XEfPRRclkvxOvIAu2y0+pZV +CIgJwcyRGSmwIC3/yzikQOEXvnlhgP8HA4ZMTnsGnxGGjYnuJ8Tb4rwZjgvDwxPHLQNjO9Po5KIq +woIIlBZU8O8fJ5AluA0OKBtHd0e9HKgl8ZS0Zg== +-----END CERTIFICATE----- + +Autoridad de Certificacion Firmaprofesional CIF A62634068 +========================================================= +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA +BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 +MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw +QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB +NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD +Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P +B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY +7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH +ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI +plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX +MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX +LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK +bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU +vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud +EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH +DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA +bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx +ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx +51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk +R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP +T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f +Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl +osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR +crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR +saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD +KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi +6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +Izenpe.com +========== +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG +EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz +MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu +QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ +03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK +ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU ++zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC +PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT +OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK +F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK +0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ +0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB +leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID +AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ +SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG +NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O +BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l +Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga +kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q +hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs +g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 +aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 +nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC +ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo +Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z +WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +Chambers of Commerce Root - 2008 +================================ +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy +Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl +ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF +EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl +cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA +XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj +h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ +ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk +NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g +D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 +lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ +0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 +EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI +G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ +BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh +bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh +bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC +CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH +AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 +wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH +3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU +RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 +M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 +YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF +9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK +zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG +nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ +-----END CERTIFICATE----- + +Global Chambersign Root - 2008 +============================== +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD +MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv +bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu +QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx +NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg +Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ +QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf +VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf +XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 +ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB +/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA +TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M +H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe +Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF +HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB +AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT +BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE +BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm +aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm +aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp +1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 +dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG +/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 +ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s +dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg +9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH +foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du +qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr +P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq +c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +Go Daddy Root Certificate Authority - G2 +======================================== +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu +MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G +A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq +9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD ++qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd +fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl +NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 +BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac +vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r +5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV +N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 +-----END CERTIFICATE----- + +Starfield Root Certificate Authority - G2 +========================================= +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 +eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw +DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg +VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB +dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv +W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs +bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk +N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf +ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU +JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol +TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx +4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw +F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ +c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +Starfield Services Root Certificate Authority - G2 +================================================== +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT +B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s +b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl +IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT +dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 +h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa +hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP +LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB +rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG +SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP +E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy +xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza +YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 +-----END CERTIFICATE----- + +AffirmTrust Commercial +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw +MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb +DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV +C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 +BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww +MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV +HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG +hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi +qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv +0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh +sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +AffirmTrust Networking +====================== +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw +MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly +bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE +Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI +dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 +/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb +h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV +HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu +UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 +12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 +WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 +/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +AffirmTrust Premium +=================== +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS +BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy +OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy +dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn +BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV +5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs ++7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd +GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R +p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI +S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 +6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 +/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo ++Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv +MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC +6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S +L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK ++4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV +BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg +IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 +g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb +zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== +-----END CERTIFICATE----- + +AffirmTrust Premium ECC +======================= +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV +BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx +MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U +cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ +N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW +BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK +BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X +57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM +eQ== +-----END CERTIFICATE----- + +Certum Trusted Network CA +========================= +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK +ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy +MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU +ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC +l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J +J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 +fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 +cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB +Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw +DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj +jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 +mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj +Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +Certinomis - Autorité Racine +============================= +-----BEGIN CERTIFICATE----- +MIIFnDCCA4SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJGUjETMBEGA1UEChMK +Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxJjAkBgNVBAMMHUNlcnRpbm9taXMg +LSBBdXRvcml0w6kgUmFjaW5lMB4XDTA4MDkxNzA4Mjg1OVoXDTI4MDkxNzA4Mjg1OVowYzELMAkG +A1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMSYw +JAYDVQQDDB1DZXJ0aW5vbWlzIC0gQXV0b3JpdMOpIFJhY2luZTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAJ2Fn4bT46/HsmtuM+Cet0I0VZ35gb5j2CN2DpdUzZlMGvE5x4jYF1AMnmHa +wE5V3udauHpOd4cN5bjr+p5eex7Ezyh0x5P1FMYiKAT5kcOrJ3NqDi5N8y4oH3DfVS9O7cdxbwly +Lu3VMpfQ8Vh30WC8Tl7bmoT2R2FFK/ZQpn9qcSdIhDWerP5pqZ56XjUl+rSnSTV3lqc2W+HN3yNw +2F1MpQiD8aYkOBOo7C+ooWfHpi2GR+6K/OybDnT0K0kCe5B1jPyZOQE51kqJ5Z52qz6WKDgmi92N +jMD2AR5vpTESOH2VwnHu7XSu5DaiQ3XV8QCb4uTXzEIDS3h65X27uK4uIJPT5GHfceF2Z5c/tt9q +c1pkIuVC28+BA5PY9OMQ4HL2AHCs8MF6DwV/zzRpRbWT5BnbUhYjBYkOjUjkJW+zeL9i9Qf6lSTC +lrLooyPCXQP8w9PlfMl1I9f09bze5N/NgL+RiH2nE7Q5uiy6vdFrzPOlKO1Enn1So2+WLhl+HPNb +xxaOu2B9d2ZHVIIAEWBsMsGoOBvrbpgT1u449fCfDu/+MYHB0iSVL1N6aaLwD4ZFjliCK0wi1F6g +530mJ0jfJUaNSih8hp75mxpZuWW/Bd22Ql095gBIgl4g9xGC3srYn+Y3RyYe63j3YcNBZFgCQfna +4NH4+ej9Uji29YnfAgMBAAGjWzBZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBQNjLZh2kS40RR9w759XkjwzspqsDAXBgNVHSAEEDAOMAwGCiqBegFWAgIAAQEwDQYJ +KoZIhvcNAQEFBQADggIBACQ+YAZ+He86PtvqrxyaLAEL9MW12Ukx9F1BjYkMTv9sov3/4gbIOZ/x +WqndIlgVqIrTseYyCYIDbNc/CMf4uboAbbnW/FIyXaR/pDGUu7ZMOH8oMDX/nyNTt7buFHAAQCva +R6s0fl6nVjBhK4tDrP22iCj1a7Y+YEq6QpA0Z43q619FVDsXrIvkxmUP7tCMXWY5zjKn2BCXwH40 +nJ+U8/aGH88bc62UeYdocMMzpXDn2NU4lG9jeeu/Cg4I58UvD0KgKxRA/yHgBcUn4YQRE7rWhh1B +CxMjidPJC+iKunqjo3M3NYB9Ergzd0A4wPpeMNLytqOx1qKVl4GbUu1pTP+A5FPbVFsDbVRfsbjv +JL1vnxHDx2TCDyhihWZeGnuyt++uNckZM6i4J9szVb9o4XVIRFb7zdNIu0eJOqxp9YDG5ERQL1TE +qkPFMTFYvZbF6nVsmnWxTfj3l/+WFvKXTej28xH5On2KOG4Ey+HTRRWqpdEdnV1j6CTmNhTih60b +WfVEm/vXd3wfAXBioSAaosUaKPQhA+4u2cGA6rnZgtZbdsLLO7XSAPCjDuGtbkD326C00EauFddE +wk01+dIL8hf2rGbVJLJP0RyZwG71fet0BLj5TXcJ17TPBzAJ8bgAVtkXFhYKK4bfjwEZGuW7gmP/ +vgt2Fl43N+bYdJeimUV5 +-----END CERTIFICATE----- + +Root CA Generalitat Valenciana +============================== +-----BEGIN CERTIFICATE----- +MIIGizCCBXOgAwIBAgIEO0XlaDANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJFUzEfMB0GA1UE +ChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290 +IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwHhcNMDEwNzA2MTYyMjQ3WhcNMjEwNzAxMTUyMjQ3 +WjBoMQswCQYDVQQGEwJFUzEfMB0GA1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UE +CxMGUEtJR1ZBMScwJQYDVQQDEx5Sb290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmEwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDGKqtXETcvIorKA3Qdyu0togu8M1JAJke+WmmmO3I2 +F0zo37i7L3bhQEZ0ZQKQUgi0/6iMweDHiVYQOTPvaLRfX9ptI6GJXiKjSgbwJ/BXufjpTjJ3Cj9B +ZPPrZe52/lSqfR0grvPXdMIKX/UIKFIIzFVd0g/bmoGlu6GzwZTNVOAydTGRGmKy3nXiz0+J2ZGQ +D0EbtFpKd71ng+CT516nDOeB0/RSrFOyA8dEJvt55cs0YFAQexvba9dHq198aMpunUEDEO5rmXte +JajCq+TA81yc477OMUxkHl6AovWDfgzWyoxVjr7gvkkHD6MkQXpYHYTqWBLI4bft75PelAgxAgMB +AAGjggM7MIIDNzAyBggrBgEFBQcBAQQmMCQwIgYIKwYBBQUHMAGGFmh0dHA6Ly9vY3NwLnBraS5n +dmEuZXMwEgYDVR0TAQH/BAgwBgEB/wIBAjCCAjQGA1UdIASCAiswggInMIICIwYKKwYBBAG/VQIB +ADCCAhMwggHoBggrBgEFBQcCAjCCAdoeggHWAEEAdQB0AG8AcgBpAGQAYQBkACAAZABlACAAQwBl +AHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAFIAYQDtAHoAIABkAGUAIABsAGEAIABHAGUAbgBlAHIA +YQBsAGkAdABhAHQAIABWAGEAbABlAG4AYwBpAGEAbgBhAC4ADQAKAEwAYQAgAEQAZQBjAGwAYQBy +AGEAYwBpAPMAbgAgAGQAZQAgAFAAcgDhAGMAdABpAGMAYQBzACAAZABlACAAQwBlAHIAdABpAGYA +aQBjAGEAYwBpAPMAbgAgAHEAdQBlACAAcgBpAGcAZQAgAGUAbAAgAGYAdQBuAGMAaQBvAG4AYQBt +AGkAZQBuAHQAbwAgAGQAZQAgAGwAYQAgAHAAcgBlAHMAZQBuAHQAZQAgAEEAdQB0AG8AcgBpAGQA +YQBkACAAZABlACAAQwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAgAHMAZQAgAGUAbgBjAHUAZQBu +AHQAcgBhACAAZQBuACAAbABhACAAZABpAHIAZQBjAGMAaQDzAG4AIAB3AGUAYgAgAGgAdAB0AHAA +OgAvAC8AdwB3AHcALgBwAGsAaQAuAGcAdgBhAC4AZQBzAC8AYwBwAHMwJQYIKwYBBQUHAgEWGWh0 +dHA6Ly93d3cucGtpLmd2YS5lcy9jcHMwHQYDVR0OBBYEFHs100DSHHgZZu90ECjcPk+yeAT8MIGV +BgNVHSMEgY0wgYqAFHs100DSHHgZZu90ECjcPk+yeAT8oWykajBoMQswCQYDVQQGEwJFUzEfMB0G +A1UEChMWR2VuZXJhbGl0YXQgVmFsZW5jaWFuYTEPMA0GA1UECxMGUEtJR1ZBMScwJQYDVQQDEx5S +b290IENBIEdlbmVyYWxpdGF0IFZhbGVuY2lhbmGCBDtF5WgwDQYJKoZIhvcNAQEFBQADggEBACRh +TvW1yEICKrNcda3FbcrnlD+laJWIwVTAEGmiEi8YPyVQqHxK6sYJ2fR1xkDar1CdPaUWu20xxsdz +Ckj+IHLtb8zog2EWRpABlUt9jppSCS/2bxzkoXHPjCpaF3ODR00PNvsETUlR4hTJZGH71BTg9J63 +NI8KJr2XXPR5OkowGcytT6CYirQxlyric21+eLj4iIlPsSKRZEv1UN4D2+XFducTZnV+ZfsBn5OH +iJ35Rld8TWCvmHMTI6QgkYH60GFmuH3Rr9ZvHmw96RH9qfmCIoaZM3Fa6hlXPZHNqcCjbgcTpsnt ++GijnsNacgmHKNHEc8RzGF9QdRYxn7fofMM= +-----END CERTIFICATE----- + +A-Trust-nQual-03 +================ +-----BEGIN CERTIFICATE----- +MIIDzzCCAregAwIBAgIDAWweMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJBVDFIMEYGA1UE +Cgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy +a2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5RdWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5R +dWFsLTAzMB4XDTA1MDgxNzIyMDAwMFoXDTE1MDgxNzIyMDAwMFowgY0xCzAJBgNVBAYTAkFUMUgw +RgYDVQQKDD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0 +ZW52ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMMEEEtVHJ1 +c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtPWFuA/OQO8BBC4SA +zewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUjlUC5B3ilJfYKvUWG6Nm9wASOhURh73+n +yfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZznF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPE +SU7l0+m0iKsMrmKS1GWH2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4 +iHQF63n1k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs2e3V +cuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECERqlWdV +eRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAVdRU0VlIXLOThaq/Yy/kgM40 +ozRiPvbY7meIMQQDbwvUB/tOdQ/TLtPAF8fGKOwGDREkDg6lXb+MshOWcdzUzg4NCmgybLlBMRmr +sQd7TZjTXLDR8KdCoLXEjq/+8T/0709GAHbrAvv5ndJAlseIOrifEXnzgGWovR/TeIGgUUw3tKZd +JXDRZslo+S4RFGjxVJgIrCaSD96JntT6s3kr0qN51OyLrIdTaEJMUVF0HhsnLuP1Hyl0Te2v9+GS +mYHovjrHF1D2t8b8m7CKa9aIA5GPBnc6hQLdmNVDeD/GMBWsm2vLV7eJUYs66MmEDNuxUCAKGkq6 +ahq97BvIxYSazQ== +-----END CERTIFICATE----- + +TWCA Root Certification Authority +================================= +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ +VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG +EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB +IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx +QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC +oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP +4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r +y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG +9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC +mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW +QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY +T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny +Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +Security Communication RootCA2 +============================== +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh +dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC +SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy +aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ ++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R +3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV +spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K +EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 +QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB +CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj +u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk +3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q +tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 +mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +EC-ACC +====== +-----BEGIN CERTIFICATE----- +MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE +BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w +ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD +VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE +CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT +BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 +MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt +SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl +Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh +cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK +w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT +ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 +HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a +E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw +0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD +VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 +Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l +dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ +lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa +Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe +l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 +E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D +5EI= +-----END CERTIFICATE----- + +Hellenic Academic and Research Institutions RootCA 2011 +======================================================= +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT +O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y +aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT +AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z +IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo +IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI +1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa +71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u +8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH +3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ +MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 +MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu +b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt +XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD +/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N +7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +Actalis Authentication Root CA +============================== +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM +BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE +AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky +MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz +IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ +wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa +by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 +zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f +YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 +oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l +EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 +hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 +EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 +jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY +iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI +WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 +JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx +K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ +Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC +4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo +2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz +lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem +OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 +vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +Trustis FPS Root CA +=================== +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG +EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 +IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV +BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ +RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk +H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa +cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt +o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA +AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd +BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c +GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC +yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P +8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV +l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl +iB6XzCGcKQENZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +StartCom Certification Authority +================================ +-----BEGIN CERTIFICATE----- +MIIHhzCCBW+gAwIBAgIBLTANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmlu +ZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0 +NjM3WhcNMzYwOTE3MTk0NjM2WjB9MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk +LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMg +U3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZkpMyONvg45iPwbm2xPN1y +o4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rfOQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/ +Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/CJi/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/d +eMotHweXMAEtcnn6RtYTKqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt +2PZE4XNiHzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMMAv+Z +6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w+2OqqGwaVLRcJXrJ +osmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/ +untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVc +UjyJthkqcwEKDwOzEmDyei+B26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT +37uMdBNSSwIDAQABo4ICEDCCAgwwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFE4L7xqkQFulF2mHMMo0aEPQQa7yMB8GA1UdIwQYMBaAFE4L7xqkQFulF2mHMMo0aEPQ +Qa7yMIIBWgYDVR0gBIIBUTCCAU0wggFJBgsrBgEEAYG1NwEBATCCATgwLgYIKwYBBQUHAgEWImh0 +dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu +c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgc8GCCsGAQUFBwICMIHCMCcWIFN0YXJ0IENv +bW1lcmNpYWwgKFN0YXJ0Q29tKSBMdGQuMAMCAQEagZZMaW1pdGVkIExpYWJpbGl0eSwgcmVhZCB0 +aGUgc2VjdGlvbiAqTGVnYWwgTGltaXRhdGlvbnMqIG9mIHRoZSBTdGFydENvbSBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBQb2xpY3kgYXZhaWxhYmxlIGF0IGh0dHA6Ly93d3cuc3RhcnRzc2wuY29t +L3BvbGljeS5wZGYwEQYJYIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBG +cmVlIFNTTCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQsFAAOCAgEAjo/n3JR5 +fPGFf59Jb2vKXfuM/gTFwWLRfUKKvFO3lANmMD+x5wqnUCBVJX92ehQN6wQOQOY+2IirByeDqXWm +N3PH/UvSTa0XQMhGvjt/UfzDtgUx3M2FIk5xt/JxXrAaxrqTi3iSSoX4eA+D/i+tLPfkpLst0OcN +Org+zvZ49q5HJMqjNTbOx8aHmNrs++myziebiMMEofYLWWivydsQD032ZGNcpRJvkrKTlMeIFw6T +tn5ii5B/q06f/ON1FE8qMt9bDeD1e5MNq6HPh+GlBEXoPBKlCcWw0bdT82AUuoVpaiF8H3VhFyAX +e2w7QSlc4axa0c2Mm+tgHRns9+Ww2vl5GKVFP0lDV9LdJNUso/2RjSe15esUBppMeyG7Oq0wBhjA +2MFrLH9ZXF2RsXAiV+uKa0hK1Q8p7MZAwC+ITGgBF3f0JBlPvfrhsiAhS90a2Cl9qrjeVOwhVYBs +HvUwyKMQ5bLmKhQxw4UtjJixhlpPiVktucf3HMiKf8CdBUrmQk9io20ppB+Fq9vlgcitKj1MXVuE +JnHEhV5xJMqlG2zYYdMa4FTbzrqpMrUi9nNBCV24F10OD5mQ1kfabwo6YigUZ4LZ8dCAWZvLMdib +D4x3TrVoivJs9iQOLWxwxXPR3hTQcY+203sC9uO41Alua551hDnmfyWl8kgAwKQB2j8= +-----END CERTIFICATE----- + +StartCom Certification Authority G2 +=================================== +-----BEGIN CERTIFICATE----- +MIIFYzCCA0ugAwIBAgIBOzANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJJTDEWMBQGA1UEChMN +U3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +RzIwHhcNMTAwMTAxMDEwMDAxWhcNMzkxMjMxMjM1OTAxWjBTMQswCQYDVQQGEwJJTDEWMBQGA1UE +ChMNU3RhcnRDb20gTHRkLjEsMCoGA1UEAxMjU3RhcnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2iTZbB7cgNr2Cu+EWIAOVeq8O +o1XJJZlKxdBWQYeQTSFgpBSHO839sj60ZwNq7eEPS8CRhXBF4EKe3ikj1AENoBB5uNsDvfOpL9HG +4A/LnooUCri99lZi8cVytjIl2bLzvWXFDSxu1ZJvGIsAQRSCb0AgJnooD/Uefyf3lLE3PbfHkffi +Aez9lInhzG7TNtYKGXmu1zSCZf98Qru23QumNK9LYP5/Q0kGi4xDuFby2X8hQxfqp0iVAXV16iul +Q5XqFYSdCI0mblWbq9zSOdIxHWDirMxWRST1HFSr7obdljKF+ExP6JV2tgXdNiNnvP8V4so75qbs +O+wmETRIjfaAKxojAuuKHDp2KntWFhxyKrOq42ClAJ8Em+JvHhRYW6Vsi1g8w7pOOlz34ZYrPu8H +vKTlXcxNnw3h3Kq74W4a7I/htkxNeXJdFzULHdfBR9qWJODQcqhaX2YtENwvKhOuJv4KHBnM0D4L +nMgJLvlblnpHnOl68wVQdJVznjAJ85eCXuaPOQgeWeU1FEIT/wCc976qUM/iUUjXuG+v+E5+M5iS +FGI6dWPPe/regjupuznixL0sAA7IF6wT700ljtizkC+p2il9Ha90OrInwMEePnWjFqmveiJdnxMa +z6eg6+OGCtP95paV1yPIN93EfKo2rJgaErHgTuixO/XWb/Ew1wIDAQABo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUS8W0QGutHLOlHGVuRjaJhwUMDrYwDQYJ +KoZIhvcNAQELBQADggIBAHNXPyzVlTJ+N9uWkusZXn5T50HsEbZH77Xe7XRcxfGOSeD8bpkTzZ+K +2s06Ctg6Wgk/XzTQLwPSZh0avZyQN8gMjgdalEVGKua+etqhqaRpEpKwfTbURIfXUfEpY9Z1zRbk +J4kd+MIySP3bmdCPX1R0zKxnNBFi2QwKN4fRoxdIjtIXHfbX/dtl6/2o1PXWT6RbdejF0mCy2wl+ +JYt7ulKSnj7oxXehPOBKc2thz4bcQ///If4jXSRK9dNtD2IEBVeC2m6kMyV5Sy5UGYvMLD0w6dEG +/+gyRr61M3Z3qAFdlsHB1b6uJcDJHgoJIIihDsnzb02CVAAgp9KP5DlUFy6NHrgbuxu9mk47EDTc +nIhT76IxW1hPkWLIwpqazRVdOKnWvvgTtZ8SafJQYqz7Fzf07rh1Z2AQ+4NQ+US1dZxAF7L+/Xld +blhYXzD8AK6vM8EOTmy6p6ahfzLbOOCxchcKK5HsamMm7YnUeMx0HgX4a/6ManY5Ka5lIxKVCCIc +l85bBu4M4ru8H0ST9tg4RQUh7eStqxK2A6RCLi3ECToDZ2mEmuFZkIoohdVddLHRDiBYmxOlsGOm +7XtH/UVVMKTumtTm4ofvmMkyghEpIrwACjFeLQ/Ajulrso8uBtjRkcfGEvRM/TAXw8HaOFvjqerm +obp573PYtlNXLfbQ4ddI +-----END CERTIFICATE----- + +Buypass Class 2 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X +DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 +g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn +9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b +/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU +CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff +awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI +zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn +Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX +Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs +M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI +osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S +aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd +DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD +LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 +oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC +wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS +CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN +rJgWVqA= +-----END CERTIFICATE----- + +Buypass Class 3 Root CA +======================= +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU +QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X +DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 +eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw +DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH +sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR +5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh +7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ +ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH +2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV +/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ +RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA +Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq +j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD +VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF +AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G +uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG +Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 +ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 +KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz +6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug +UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe +eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi +Cp/HuZc= +-----END CERTIFICATE----- + +TÜRKTRUST Elektronik Sertifika Hizmet Sağlayıcısı +====================================================== +-----BEGIN CERTIFICATE----- +MIIEPTCCAyWgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBvzE/MD0GA1UEAww2VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxMQswCQYDVQQGEwJUUjEP +MA0GA1UEBwwGQW5rYXJhMV4wXAYDVQQKDFVUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUg +QmlsacWfaW0gR8O8dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLiAoYykgQXJhbMSxayAyMDA3MB4X +DTA3MTIyNTE4MzcxOVoXDTE3MTIyMjE4MzcxOVowgb8xPzA9BgNVBAMMNlTDnFJLVFJVU1QgRWxl +a3Ryb25payBTZXJ0aWZpa2EgSGl6bWV0IFNhxJ9sYXnEsWPEsXPEsTELMAkGA1UEBhMCVFIxDzAN +BgNVBAcMBkFua2FyYTFeMFwGA1UECgxVVMOcUktUUlVTVCBCaWxnaSDEsGxldGnFn2ltIHZlIEJp +bGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkgQS7Fni4gKGMpIEFyYWzEsWsgMjAwNzCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKu3PgqMyKVYFeaK7yc9SrToJdPNM8Ig3BnuiD9N +YvDdE3ePYakqtdTyuTFYKTsvP2qcb3N2Je40IIDu6rfwxArNK4aUyeNgsURSsloptJGXg9i3phQv +KUmi8wUG+7RP2qFsmmaf8EMJyupyj+sA1zU511YXRxcw9L6/P8JorzZAwan0qafoEGsIiveGHtya +KhUG9qPw9ODHFNRRf8+0222vR5YXm3dx2KdxnSQM9pQ/hTEST7ruToK4uT6PIzdezKKqdfcYbwnT +rqdUKDT74eA7YH2gvnmJhsifLfkKS8RQouf9eRbHegsYz85M733WB2+Y8a+xwXrXgTW4qhe04MsC +AwEAAaNCMEAwHQYDVR0OBBYEFCnFkKslrxHkYb+j/4hhkeYO/pyBMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAQDdr4Ouwo0RSVgrESLFF6QSU2TJ/s +Px+EnWVUXKgWAkD6bho3hO9ynYYKVZ1WKKxmLNA6VpM0ByWtCLCPyA8JWcqdmBzlVPi5RX9ql2+I +aE1KBiY3iAIOtsbWcpnOa3faYjGkVh+uX4132l32iPwa2Z61gfAyuOOI0JzzaqC5mxRZNTZPz/OO +Xl0XrRWV2N2y1RVuAE6zS89mlOTgzbUF2mNXi+WzqtvALhyQRNsaXRik7r4EW5nVcV9VZWRi1aKb +BFmGyGJ353yCRWo9F7/snXUMrqNvWtMvmDb08PUZqxFdyKbjKlhqQgnDvZImZjINXQhVdP+MmNAK +poRq0Tl9 +-----END CERTIFICATE----- + +T-TeleSec GlobalRoot Class 3 +============================ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM +IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU +cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx +MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz +dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD +ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK +9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU +NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF +iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W +0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr +AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb +fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT +ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h +P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== +-----END CERTIFICATE----- + +EE Certification Centre Root CA +=============================== +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG +EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy +dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw +MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB +UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy +ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM +TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 +rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw +93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN +P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ +MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF +BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj +xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM +lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU +3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM +dcGWxZ0= +-----END CERTIFICATE----- diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/LastFM/LastFM.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/LastFM/LastFM.php new file mode 100644 index 0000000..eb47fd0 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/LastFM/LastFM.php @@ -0,0 +1,381 @@ + + */ +class LastFMException extends Exception { + + /** + * The result from the API server that represents the exception information. + */ + protected $result; + + /** + * Make a new API Exception with the given result. + * + * @param Array $result the result from the API server + */ + public function __construct($result) { + $this->result = $result; + + $code = isset($result['error']) ? $result['error'] : 0; + + if (isset($result['message'])) { + $msg = $result['message']; + } else { + $msg = 'Unknown Error. Check getResult()'; + } + + parent::__construct($msg, $code); + } + + /** + * Return the associated result object returned by the API server. + * + * @returns Array the result from the API server + */ + public function getResult() { + return $this->result; + } + + /** + * To make debugging easier. + * + * @returns String the string representation of the error + */ + public function __toString() { + $str = ''; + if ($this->code != 0) { + $str .= $this->code . ': '; + } + return $str . $this->message; + } + +} + +class LastFMInvalidSessionException extends LastFMException { + public function __construct($result) { + parent::__construct($result); + } +} + +/** + * Provides access to the LastFM platform. + * + * @author Filip Sobczak + */ +class LastFM { + const VERSION = '0.9'; + + /** + * Default options for curl. + */ + public static $CURL_OPTS = array( + CURLOPT_CONNECTTIMEOUT => 10, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 60, + CURLOPT_USERAGENT => 'lastfm-php-0.9', + ); + /** + * The Application API Secret. + */ + protected $apiSecret; + /** + * The Application API Key. + */ + protected $apiKey; + /** + * The active user session key, if one is available. + */ + protected $sk; + public static $DOMAIN_MAP = array( + 'www' => 'https://www.last.fm/', + 'webservice' => 'https://ws.audioscrobbler.com/2.0/', + ); + + const method_auth = 1; + const method_write = 2; + const method_get_auth = 3; + const method_unknown = 4; + + /* + * Some methods require authentication (type auth), + * they all send api_sig and sk + * some methods are used to get authenticated (type get_auth) + * they all send api_sig + * some methods are used to write data (type write) + * they all send api_sig and sk, and use POST http method + * + * All letters are small because users might use + * variations of letter sizes, and we need to + * find these values fast, so strtolower is executed on method name. + */ + public static $METHOD_TYPE = + array( + 'auth.getmobilesession' => self::method_get_auth, + 'auth.getsession' => self::method_get_auth, + 'auth.gettoken' => self::method_get_auth, + 'album.addtags' => self::method_write, + 'album.gettags' => self::method_auth, + 'album.removetag' => self::method_write, + 'album.share' => self::method_write, + 'artist.addtags' => self::method_write, + 'artist.gettags' => self::method_auth, + 'artist.removetag' => self::method_write, + 'artist.share' => self::method_write, + 'artist.shout' => self::method_write, + 'event.attend' => self::method_write, + 'event.share' => self::method_write, + 'event.shout' => self::method_write, + 'library.addalbum' => self::method_write, + 'library.addartist' => self::method_write, + 'library.addtrack' => self::method_write, + 'library.removealbum' => self::method_write, + 'library.removeartist' => self::method_write, + 'library.removescrobble' => self::method_write, + 'library.removetrack' => self::method_write, + 'playlist.addtrack' => self::method_write, + 'playlist.create' => self::method_write, + 'radio.getplaylist' => self::method_auth, + 'radio.tune' => self::method_write, + 'track.addtags' => self::method_write, + 'track.ban' => self::method_write, + 'track.gettags' => self::method_auth, + 'track.love' => self::method_write, + 'track.removetag' => self::method_write, + 'track.scrobble' => self::method_write, + 'track.share' => self::method_write, + 'track.unban' => self::method_write, + 'track.unlove' => self::method_write, + 'track.updatenowplaying' => self::method_write, + 'user.getrecentstations' => self::method_auth, + 'user.getrecommendedartists' => self::method_auth, + 'user.getrecommendedevents' => self::method_auth, + 'user.shout' => self::method_write, + ); + + /** + * Initialize LastFM application. + * + * @param type $config configuration + */ + public function __construct($config) { +//$this->setAppId($config['appId']); + $this->setApiKey($config['api_key']); + $this->setApiSecret($config['api_secret']); + if (isset($config['sk'])) { + $this->setSessionKey($config['sk']); + } + } + + public function setApiSecret($apiSecret) { + $this->apiSecret = $apiSecret; + return $this; + } + + public function getApiSecret() { + return $this->apiSecret; + } + + public function setApiKey($apiKey) { + $this->apiKey = $apiKey; + return $this; + } + + public function getApiKey() { + return $this->apiKey; + } + + public function setSessionKey($sk) { + $this->sk = $sk; + return $this; + } + + public function getSessionKey() { + return $this->sk; + } + + private function methodType($method) { + if (isset(self::$METHOD_TYPE[strtolower($method)])) { + return self::$METHOD_TYPE[strtolower($method)]; + } else { + return self::method_unknown; + } + } + + /** + * Get a Login URL for use with redirects. + * + * The parameters: + * - api_key: application api key + * + * @param Array $callback override default redirect + * @return String the URL for the login flow + */ + public function getLoginUrl($callback=array()) { + $params = array('api_key' => $this->getApiKey()); + if ($callback) + $params['cb'] = $callback; + return $this->getUrl('www', 'api/auth', $params); + } + + /** + * @param type $token 32-char ASCII MD5 hash, gained by granting permissions + */ + public function fetchSession($token = '') { + if (!$token) { + if (isset($_GET['token'])) + $token = $_GET['token']; + } + $result = $this->api('auth.getSession', array('token' => $token)); + //print_r($result); + //print_r($result); print_r($result['session']['key']); exit; + $name = $result['session']['name']; + $sessionKey = $result['session']['key']; + $this->setSessionKey($sessionKey); + + return array('name' => $name, 'sk' => $sessionKey); + } + + /** + * Make an API call + * + * @param Array $params method call object + * @return the decoded response object + * @throws LastFMApiException + */ + public function api($method, $params = array()) { + // generic application level parameters + $params['api_key'] = $this->getApiKey(); + $params['format'] = 'json'; + + // required api method + $params['method'] = $method; + + if ($this->methodType($method)) + $methodType = $this->methodType($method); + + + + if ($methodType == self::method_auth || $methodType == self::method_write) { + if (!isset($params['sk'])) { + $params['sk'] = $this->getSessionKey(); + } + if (!$params['sk']) { + throw new LastFMException(array("message" => "No session key provided")); + } + } else { + if (isset($params['sk'])) + unset($params['sk']); + } + + if ($methodType == self::method_get_auth || $methodType == self::method_write) { + $params['api_sig'] = $this->generateSignature($params); + } + + $raw = $this->makeRequest(self::getUrl('webservice'), $params); + $result = json_decode($raw, true); + + if (is_array($result) && isset($result['error'])) { + if ($result['error'] == 9) { + // Invalid session key - Please re-authenticate + // this is different so that when user invalidates + // session the situation can be handled easily + throw new LastFMInvalidSessionException($result); + } else + throw new LastFMException($result); + } + return $result; + } + + /** + * Makes an HTTP request. + * + * @param String $url the URL to make the request to + * @param Array $params the parameters to use for the POST body + * @return String the response text + */ + protected function makeRequest($url, $params) { + + $ch = curl_init(); + $opts = self::$CURL_OPTS; + $opts[CURLOPT_POSTFIELDS] = http_build_query($params, null, '&'); + $opts[CURLOPT_URL] = $url; + + curl_setopt_array($ch, $opts); + + // mod:by:me + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + + $result = curl_exec($ch); + + if ($result === false) { + $e = new LastFMException(array( + 'error' => curl_errno($ch), + 'message' => curl_error($ch), + )); + curl_close($ch); + throw $e; + } + + curl_close($ch); + return $result; + } + + /** + * Build the URL for given domain alias, path and parameters. + * + * @param $name String the name of the domain + * @param $path String optional path (without a leading slash) + * @param $params Array optional query parameters + * @return String the URL for the given parameters + */ + protected function getUrl($name, $path='', $params=array()) { + $url = self::$DOMAIN_MAP[$name]; + if ($path) { + if ($path[0] === '/') { + $path = substr($path, 1); + } + $url .= $path; + } + if ($params) { + $url .= '?' . http_build_query($params, null, '&'); + } + return $url; + } + + /** + * Generate a signature for the given params and secret. + * + * @param Array $params the parameters to sign + * @return String the generated signature + */ + protected function generateSignature($params) { + // work with sorted data + ksort($params); + + $base_string = ''; + foreach ($params as $key => $value) { + if ($key == 'format' || $key == 'callback') + continue; + $base_string .= $key . $value; + } + $base_string .= $this->getApiSecret(); + return md5(utf8_encode($base_string)); + } + +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/LinkedIn/LinkedIn.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/LinkedIn/LinkedIn.php new file mode 100644 index 0000000..d0485b6 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/LinkedIn/LinkedIn.php @@ -0,0 +1,2639 @@ + + * @copyright Copyright 2011, fiftyMission Inc. + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ + +/** + * 'LinkedInException' class declaration. + * + * This class extends the base 'Exception' class. + * + * @access public + * @package classpackage + */ +class LinkedInException extends Exception {} + +/** + * 'LinkedIn' class declaration. + * + * This class provides generalized LinkedIn oauth functionality. + * + * @access public + * @package classpackage + */ +class LinkedIn { + // api/oauth settings + const _API_OAUTH_REALM = 'http://api.linkedin.com'; + const _API_OAUTH_VERSION = '1.0'; + + // the default response format from LinkedIn + const _DEFAULT_RESPONSE_FORMAT = 'xml'; + + // helper constants used to standardize LinkedIn <-> API communication. See demo page for usage. + const _GET_RESPONSE = 'lResponse'; + const _GET_TYPE = 'lType'; + + // Invitation API constants. + const _INV_SUBJECT = 'Invitation to connect'; + const _INV_BODY_LENGTH = 200; + + // API methods + const _METHOD_TOKENS = 'POST'; + + // Network API constants. + const _NETWORK_LENGTH = 1000; + const _NETWORK_HTML = ''; + + // response format type constants, see http://developer.linkedin.com/docs/DOC-1203 + const _RESPONSE_JSON = 'JSON'; + const _RESPONSE_JSONP = 'JSONP'; + const _RESPONSE_XML = 'XML'; + + // Share API constants + const _SHARE_COMMENT_LENGTH = 700; + const _SHARE_CONTENT_TITLE_LENGTH = 200; + const _SHARE_CONTENT_DESC_LENGTH = 400; + + // LinkedIn API end-points + const _URL_ACCESS = 'https://api.linkedin.com/uas/oauth/accessToken'; + const _URL_API = 'https://api.linkedin.com'; + const _URL_AUTH = 'https://www.linkedin.com/uas/oauth/authenticate?oauth_token='; + // const _URL_REQUEST = 'https://api.linkedin.com/uas/oauth/requestToken'; + const _URL_REQUEST = 'https://api.linkedin.com/uas/oauth/requestToken?scope=r_basicprofile+r_emailaddress+rw_nus+r_network'; + const _URL_REVOKE = 'https://api.linkedin.com/uas/oauth/invalidateToken'; + + // Library version + const _VERSION = '3.2.0'; + + // oauth properties + protected $callback; + protected $token = NULL; + + // application properties + protected $application_key, + $application_secret; + + // the format of the data to return + protected $response_format = self::_DEFAULT_RESPONSE_FORMAT; + + // last request fields + public $last_request_headers, + $last_request_url; + + /** + * Create a LinkedIn object, used for OAuth-based authentication and + * communication with the LinkedIn API. + * + * @param arr $config + * The 'start-up' object properties: + * - appKey => The application's API key + * - appSecret => The application's secret key + * - callbackUrl => [OPTIONAL] the callback URL + * + * @return obj + * A new LinkedIn object. + */ + public function __construct($config) { + if(!is_array($config)) { + // bad data passed + throw new LinkedInException('LinkedIn->__construct(): bad data passed, $config must be of type array.'); + } + $this->setApplicationKey($config['appKey']); + $this->setApplicationSecret($config['appSecret']); + $this->setCallbackUrl($config['callbackUrl']); + } + + /** + * The class destructor. + * + * Explicitly clears LinkedIn object from memory upon destruction. + */ + public function __destruct() { + unset($this); + } + + /** + * Bookmark a job. + * + * Calling this method causes the current user to add a bookmark for the + * specified job: + * + * http://developer.linkedin.com/docs/DOC-1323 + * + * @param str $jid + * Job ID you want to bookmark. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function bookmarkJob($jid) { + // check passed data + if(!is_string($jid)) { + // bad data passed + throw new LinkedInException('LinkedIn->bookmarkJob(): bad data passed, $jid must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/job-bookmarks'; + $response = $this->fetch('POST', $query, '' . trim($jid) . ''); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Get list of jobs you have bookmarked. + * + * Returns a list of jobs the current user has bookmarked, per: + * + * http://developer.linkedin.com/docs/DOC-1323 + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function bookmarkedJobs() { + // construct and send the request + $query = self::_URL_API . '/v1/people/~/job-bookmarks'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Custom addition to make code compatible with PHP 5.2 + */ + private function intWalker($value, $key) { + if(!is_int($value)) { + throw new LinkedInException('LinkedIn->checkResponse(): $http_code_required must be an integer or an array of integer values'); + } + } + + /** + * Used to check whether a response LinkedIn object has the required http_code or not and + * returns an appropriate LinkedIn object. + * + * @param var $http_code_required + * The required http response from LinkedIn, passed in either as an integer, + * or an array of integers representing the expected values. + * @param arr $response + * An array containing a LinkedIn response. + * + * @return boolean + * TRUE or FALSE depending on if the passed LinkedIn response matches the expected response. + */ + private function checkResponse($http_code_required, $response) { + // check passed data + if(is_array($http_code_required)) { + array_walk($http_code_required, array($this, 'intWalker')); + } else { + if(!is_int($http_code_required)) { + throw new LinkedInException('LinkedIn->checkResponse(): $http_code_required must be an integer or an array of integer values'); + } else { + $http_code_required = array($http_code_required); + } + } + if(!is_array($response)) { + throw new LinkedInException('LinkedIn->checkResponse(): $response must be an array'); + } + + // check for a match + if(in_array($response['info']['http_code'], $http_code_required)) { + // response found + $response['success'] = TRUE; + } else { + // response not found + $response['success'] = FALSE; + $response['error'] = 'HTTP response from LinkedIn end-point was not code ' . implode(', ', $http_code_required); + } + return $response; + } + + /** + * Close a job. + * + * Calling this method causes the passed job to be closed, per: + * + * http://developer.linkedin.com/docs/DOC-1151 + * + * @param str $jid + * Job ID you want to close. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function closeJob($jid) { + // check passed data + if(!is_string($jid)) { + // bad data passed + throw new LinkedInException('LinkedIn->closeJob(): bad data passed, $jid must be of string value.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/jobs/partner-job-id=' . trim($jid); + $response = $this->fetch('DELETE', $query); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Share comment posting method. + * + * Post a comment on an existing connections shared content. API details can + * be found here: + * + * http://developer.linkedin.com/docs/DOC-1043 + * + * @param str $uid + * The LinkedIn update ID. + * @param str $comment + * The share comment to be posted. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function comment($uid, $comment) { + // check passed data + if(!is_string($uid)) { + // bad data passed + throw new LinkedInException('LinkedIn->comment(): bad data passed, $uid must be of type string.'); + } + if(!is_string($comment)) { + // nothing/non-string passed, raise an exception + throw new LinkedInException('LinkedIn->comment(): bad data passed, $comment must be a non-zero length string.'); + } + + /** + * Share comment rules: + * + * 1) No HTML permitted. + * 2) Comment cannot be longer than 700 characters. + */ + $comment = substr(trim(htmlspecialchars(strip_tags($comment))), 0, self::_SHARE_COMMENT_LENGTH); + $data = ' + + ' . $comment . ' + '; + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/network/updates/key=' . $uid . '/update-comments'; + $response = $this->fetch('POST', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Share comment retrieval. + * + * Return all comments associated with a given network update: + * + * http://developer.linkedin.com/docs/DOC-1043 + * + * @param str $uid + * The LinkedIn update ID. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function comments($uid) { + // check passed data + if(!is_string($uid)) { + // bad data passed + throw new LinkedInException('LinkedIn->comments(): bad data passed, $uid must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/network/updates/key=' . $uid . '/update-comments'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Company profile retrieval function. + * + * Takes a string of parameters as input and requests company profile data + * from the LinkedIn Company Profile API. See the official documentation for + * $options 'field selector' formatting: + * + * http://developer.linkedin.com/docs/DOC-1014 + * http://developer.linkedin.com/docs/DOC-1259 + * + * @param str $options + * Data retrieval options. + * @param bool $by_email + * [OPTIONAL] Search by email domain? + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function company($options, $by_email = FALSE) { + // check passed data + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->company(): bad data passed, $options must be of type string.'); + } + if(!is_bool($by_email)) { + // bad data passed + throw new LinkedInException('LinkedIn->company(): bad data passed, $by_email must be of type boolean.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/companies' . ($by_email ? '' : '/') . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Company products and their associated recommendations. + * + * The product data type contains details about a company's product or + * service, including recommendations from LinkedIn members, and replies from + * company representatives. + * + * http://developer.linkedin.com/docs/DOC-1327 + * + * @param str $cid + * Company ID you want the producte for. + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function companyProducts($cid, $options = '') { + // check passed data + if(!is_string($cid)) { + // bad data passed + throw new LinkedInException('LinkedIn->companyProducts(): bad data passed, $cid must be of type string.'); + } + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->companyProducts(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/companies/' . trim($cid) . '/products' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Connection retrieval function. + * + * Takes a string of parameters as input and requests connection-related data + * from the Linkedin Connections API. See the official documentation for + * $options 'field selector' formatting: + * + * http://developer.linkedin.com/docs/DOC-1014 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function connections($options = '~/connections') { + // check passed data + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->connections(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * This creates a post in the specified group with the specified title and specified summary. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * @param str $title + * The title of the post. This must be non-empty. + * @param str $summary + * [OPTIONAL] The content or summary of the post. This can be empty. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function createPost($gid, $title, $summary = '') { + if(!is_string($gid)) { + throw new LinkedInException('LinkedIn->createPost(): bad data passed, $gid must be of type string.'); + } + if(!is_string($title) || empty($title)) { + throw new LinkedInException('LinkedIn->createPost(): bad data passed, $title must be a non-empty string.'); + } + if(!is_string($summary)) { + throw new LinkedInException('LinkedIn->createPost(): bad data passed, $summary must be of type string.'); + } + + // construct the XML + $data = ' + + '. $title . ' + ' . $summary . ' + '; + + // construct and send the request + $query = self::_URL_API . '/v1/groups/' . trim($gid) . '/posts'; + $response = $this->fetch('POST', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * This deletes the specified post if you are the owner or moderator that post. + * Otherwise, it just flags the post as inappropriate. + * + * https://developer.linkedin.com/documents/groups-api + * + * @param str $pid + * The post id. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function deletePost($pid) { + if(!is_string($pid)) { + throw new LinkedInException('LinkedIn->deletePost(): bad data passed, $pid must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/posts/' . trim($pid); + $response = $this->fetch('DELETE', $query); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Edit a job. + * + * Calling this method causes the passed job to be edited, with the passed + * XML instructing which fields to change, per: + * + * http://developer.linkedin.com/docs/DOC-1154 + * http://developer.linkedin.com/docs/DOC-1142 + * + * @param str $jid + * Job ID you want to renew. + * @param str $xml + * The XML containing the job fields to edit. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function editJob($jid, $xml) { + // check passed data + if(!is_string($jid)) { + // bad data passed + throw new LinkedInException('LinkedIn->editJob(): bad data passed, $jid must be of string value.'); + } + if(is_string($xml)) { + $xml = trim(stripslashes($xml)); + } else { + // bad data passed + throw new LinkedInException('LinkedIn->editJob(): bad data passed, $xml must be of string value.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/jobs/partner-job-id=' . trim($jid); + $response = $this->fetch('PUT', $query, $xml); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * General data send/request method. + * + * @param str $method + * The data communication method. + * @param str $url + * The Linkedin API endpoint to connect with. + * @param str $data + * [OPTIONAL] The data to send to LinkedIn. + * @param arr $parameters + * [OPTIONAL] Addition OAuth parameters to send to LinkedIn. + * + * @return arr + * Array containing: + * + * array( + * 'info' => Connection information, + * 'linkedin' => LinkedIn response, + * 'oauth' => The OAuth request string that was sent to LinkedIn + * ) + */ + protected function fetch($method, $url, $data = NULL, $parameters = array()) { + // check for cURL + if(!extension_loaded('curl')) { + // cURL not present + throw new LinkedInException('LinkedIn->fetch(): PHP cURL extension does not appear to be loaded/present.'); + } + + try { + // generate OAuth values + $oauth_consumer = new OAuthConsumer($this->getApplicationKey(), $this->getApplicationSecret(), $this->getCallbackUrl()); + $oauth_token = $this->getToken(); + $oauth_token = (!is_null($oauth_token)) ? new OAuthToken($oauth_token['oauth_token'], $oauth_token['oauth_token_secret']) : NULL; + $defaults = array( + 'oauth_version' => self::_API_OAUTH_VERSION + ); + $parameters = array_merge($defaults, $parameters); + + // generate OAuth request + $oauth_req = OAuthRequest::from_consumer_and_token($oauth_consumer, $oauth_token, $method, $url, $parameters); + $oauth_req->sign_request(new OAuthSignatureMethod_HMAC_SHA1(), $oauth_consumer, $oauth_token); + + // start cURL, checking for a successful initiation + if(!$handle = curl_init()) { + // cURL failed to start + throw new LinkedInException('LinkedIn->fetch(): cURL did not initialize properly.'); + } + + // set cURL options, based on parameters passed + curl_setopt($handle, CURLOPT_CUSTOMREQUEST, $method); + curl_setopt($handle, CURLOPT_RETURNTRANSFER, TRUE); + curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($handle, CURLOPT_URL, $url); + curl_setopt($handle, CURLOPT_VERBOSE, FALSE); + + // configure the header we are sending to LinkedIn - http://developer.linkedin.com/docs/DOC-1203 + $header = array($oauth_req->to_header(self::_API_OAUTH_REALM)); + if(is_null($data)) { + // not sending data, identify the content type + $header[] = 'Content-Type: text/plain; charset=UTF-8'; + switch($this->getResponseFormat()) { + case self::_RESPONSE_JSON: + $header[] = 'x-li-format: json'; + break; + case self::_RESPONSE_JSONP: + $header[] = 'x-li-format: jsonp'; + break; + } + } else { + $header[] = 'Content-Type: text/xml; charset=UTF-8'; + curl_setopt($handle, CURLOPT_POSTFIELDS, $data); + } + curl_setopt($handle, CURLOPT_HTTPHEADER, $header); + + // set the last url, headers + $this->last_request_url = $url; + $this->last_request_headers = $header; + + // gather the response + $return_data['linkedin'] = curl_exec($handle); + $return_data['info'] = curl_getinfo($handle); + $return_data['oauth']['header'] = $oauth_req->to_header(self::_API_OAUTH_REALM); + $return_data['oauth']['string'] = $oauth_req->base_string; + + // check for throttling + if(self::isThrottled($return_data['linkedin'])) { + throw new LinkedInException('LinkedIn->fetch(): throttling limit for this user/application has been reached for LinkedIn resource - ' . $url); + } + + //TODO - add check for NO response (http_code = 0) from cURL + + // close cURL connection + curl_close($handle); + + // no exceptions thrown, return the data + return $return_data; + } catch(OAuthException $e) { + // oauth exception raised + throw new LinkedInException('OAuth exception caught: ' . $e->getMessage()); + } + } + + /** + * This flags a specified post as specified by type. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $pid + * The post id. + * @param str $type + * The type to flag the post as. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function flagPost($pid, $type) { + if(!is_string($pid)) { + throw new LinkedInException('LinkedIn->flagPost(): bad data passed, $pid must be of type string'); + } + if(!is_string($type)) { + throw new LinkedInException('LinkedIn->flagPost(): bad data passed, $like must be of type string'); + } + //Constructing the xml + $data = ''; + switch($type) { + case 'promotion': + $data .= 'promotion'; + break; + case 'job': + $data .= 'job'; + break; + default: + throw new LinkedInException('LinkedIn->flagPost(): invalid value for $type, must be one of: "promotion", "job"'); + break; + } + + // construct and send the request + $query = self::_URL_API . '/v1/posts/' . $pid . '/category/code'; + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Follow a company. + * + * Calling this method causes the current user to start following the + * specified company, per: + * + * http://developer.linkedin.com/docs/DOC-1324 + * + * @param str $cid + * Company ID you want to follow. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function followCompany($cid) { + // check passed data + if(!is_string($cid)) { + // bad data passed + throw new LinkedInException('LinkedIn->followCompany(): bad data passed, $cid must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/following/companies'; + $response = $this->fetch('POST', $query, '' . trim($cid) . ''); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Follows/Unfollows the specified post. + * + * https://developer.linkedin.com/documents/groups-api + * + * @param str $pid + * The post id. + * @param bool $follow + * Determines whether to follow or unfollow the post. TRUE = follow, FALSE = unfollow + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + + public function followPost($pid, $follow) { + if(!is_string($pid)) { + throw new LinkedInException('LinkedIn->followPost(): bad data passed, $pid must be of type string'); + } + if(!($follow === TRUE || $follow === FALSE)) { + throw new LinkedInException('LinkedIn->followPost(): bad data passed, $follow must be of type boolean'); + } + + // construct the XML + $data = ' + '. (($follow) ? 'true' : 'false'). ''; + + // construct and send the request + $query = self::_URL_API . '/v1/posts/' . trim($pid) . '/relation-to-viewer/is-following'; + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Get list of companies you follow. + * + * Returns a list of companies the current user is currently following, per: + * + * http://developer.linkedin.com/docs/DOC-1324 + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function followedCompanies() { + // construct and send the request + $query = self::_URL_API . '/v1/people/~/following/companies'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Get the application_key property. + * + * @return str + * The application key. + */ + public function getApplicationKey() { + return $this->application_key; + } + + /** + * Get the application_secret property. + * + * @return str + * The application secret. + */ + public function getApplicationSecret() { + return $this->application_secret; + } + + /** + * Get the callback property. + * + * @return str + * The callback url. + */ + public function getCallbackUrl() { + return $this->callback; + } + + /** + * Get the response_format property. + * + * @return str + * The response format. + */ + public function getResponseFormat() { + return $this->response_format; + } + + /** + * Get the token_access property. + * + * @return arr + * The access token. + */ + public function getToken() { + return $this->token; + } + + /** + * [DEPRECATED] Get the token_access property. + * + * @return arr + * The access token. + */ + public function getTokenAccess() { + return $this->getToken(); + } + + /** + * + * Get information about a specific group. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * + * @param str $options + * [OPTIONAL] Field selectors for the group. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + + public function group($gid, $options = '') { + if(!is_string($gid)){ + throw new LinkedInException('LinkedIn->group(): bad data passed, $gid must be of type string.'); + } + if(!is_string($options)) { + throw new LinkedInException('LinkedIn->group(): bad data passed, $options must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/groups/' . trim($gid) . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * This returns all the groups the user is a member of. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $options + * [OPTIONAL] Field selectors for the groups. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function groupMemberships($options = '') { + if(!is_string($options)) { + throw new LinkedInException('LinkedIn->groupMemberships(): bad data passed, $options must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/group-memberships' . trim($options) . '?membership-state=member'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * This gets a specified post made within a group. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $pid + * The post id. + * @param str $options + * [OPTIONAL] Field selectors for the post. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function groupPost($pid, $options = '') { + if(!is_string($pid)) { + throw new LinkedInException('LinkedIn->groupPost(): bad data passed, $pid must be of type string.'); + } + if(!is_string($options)) { + throw new LinkedInException('LinkedIn->groupPost(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/posts/' . trim($pid) . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * This returns all the comments made on the specified post within a group. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $pid + * The post id. + * @param str $options + * [OPTIONAL] Field selectors for the post comments. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function groupPostComments($pid, $options = ''){ + if(!is_string($pid)){ + throw new LinkedInException('LinkedIn->groupPostComments(): bad data passed, $pid must be of type string.'); + } + if(!is_string($options)) { + throw new LinkedInException('LinkedIn->groupPostComments(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/posts/' . trim($pid) . '/comments' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * This returns all the posts within a group. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function groupPosts($gid, $options = '') { + if(!is_string($gid)){ + throw new LinkedInException('LinkedIn->groupPosts(): bad data passed, $gid must be of type string'); + } + if(!is_string($options)){ + throw new LinkedInException('LinkedIn->groupPosts(): bad data passed, $options must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/groups/' . trim($gid) .'/posts' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * This returns the group settings of the specified group + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * @param str $options + * [OPTIONAL] Field selectors for the group. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function groupSettings($gid, $options = '') { + if(!is_string($gid)) { + throw new LinkedInException('LinkedIn->groupSettings(): bad data passed, $gid must be of type string'); + } + if(!is_string($options)) { + throw new LinkedInException('LinkedIn->groupSettings(): bad data passed, $options must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/group-memberships/' . trim($gid) . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Send connection invitations. + * + * Send an invitation to connect to your network, either by email address or + * by LinkedIn ID. Details on the API here: + * + * http://developer.linkedin.com/docs/DOC-1012 + * + * @param str $method + * The invitation method to process. + * @param str $recipient + * The email/id to send the invitation to. + * @param str $subject + * The subject of the invitation to send. + * @param str $body + * The body of the invitation to send. + * @param str $type + * [OPTIONAL] The invitation request type (only friend is supported at this time by the Invite API). + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function invite($method, $recipient, $subject, $body, $type = 'friend') { + /** + * Clean up the passed data per these rules: + * + * 1) Message must be sent to one recipient (only a single recipient permitted for the Invitation API) + * 2) No HTML permitted + * 3) 200 characters max in the invitation subject + * 4) Only able to connect as a friend at this point + */ + // check passed data + if(empty($recipient)) { + throw new LinkedInException('LinkedIn->invite(): you must provide an invitation recipient.'); + } + switch($method) { + case 'email': + if(is_array($recipient)) { + $recipient = array_map('trim', $recipient); + } else { + // bad format for recipient for email method + throw new LinkedInException('LinkedIn->invite(): invitation recipient email/name array is malformed.'); + } + break; + case 'id': + $recipient = trim($recipient); + if(!self::isId($recipient)) { + // bad format for recipient for id method + throw new LinkedInException('LinkedIn->invite(): invitation recipient ID does not match LinkedIn format.'); + } + break; + default: + throw new LinkedInException('LinkedIn->invite(): bad invitation method, must be one of: email, id.'); + break; + } + if(!empty($subject)) { + $subject = trim(htmlspecialchars(strip_tags(stripslashes($subject)))); + } else { + throw new LinkedInException('LinkedIn->invite(): message subject is empty.'); + } + if(!empty($body)) { + $body = trim(htmlspecialchars(strip_tags(stripslashes($body)))); + if(strlen($body) > self::_INV_BODY_LENGTH) { + throw new LinkedInException('LinkedIn->invite(): message body length is too long - max length is ' . self::_INV_BODY_LENGTH . ' characters.'); + } + } else { + throw new LinkedInException('LinkedIn->invite(): message body is empty.'); + } + switch($type) { + case 'friend': + break; + default: + throw new LinkedInException('LinkedIn->invite(): bad invitation type, must be one of: friend.'); + break; + } + + // construct the xml data + $data = ' + + + '; + switch($method) { + case 'email': + // email-based invitation + $data .= ' + ' . htmlspecialchars($recipient['first-name']) . ' + ' . htmlspecialchars($recipient['last-name']) . ' + '; + break; + case 'id': + // id-based invitation + $data .= ''; + break; + } + $data .= ' + + ' . $subject . ' + ' . $body . ' + + + '; + switch($type) { + case 'friend': + $data .= 'friend'; + break; + } + $data .= ' '; + switch($method) { + case 'id': + // id-based invitation, we need to get the authorization information + $query = 'id=' . $recipient . ':(api-standard-profile-request)'; + $response = self::profile($query); + if($response['info']['http_code'] == 200) { + $response['linkedin'] = self::xmlToArray($response['linkedin']); + if($response['linkedin'] === FALSE) { + // bad XML data + throw new LinkedInException('LinkedIn->invite(): LinkedIn returned bad XML data.'); + } + $authentication = explode(':', $response['linkedin']['person']['children']['api-standard-profile-request']['children']['headers']['children']['http-header']['children']['value']['content']); + + // complete the xml + $data .= ' + ' . $authentication[0] . ' + ' . $authentication[1] . ' + '; + } else { + // bad response from the profile request, not a valid ID? + throw new LinkedInException('LinkedIn->invite(): could not send invitation, LinkedIn says: ' . print_r($response['linkedin'], TRUE)); + } + break; + } + $data .= ' + + '; + + // send request + $query = self::_URL_API . '/v1/people/~/mailbox'; + $response = $this->fetch('POST', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * LinkedIn ID validation. + * + * Checks the passed string $id to see if it has a valid LinkedIn ID format, + * which is, as of October 15th, 2010: + * + * 10 alpha-numeric mixed-case characters, plus underscores and dashes. + * + * @param str $id + * A possible LinkedIn ID. + * + * @return bool + * TRUE/FALSE depending on valid ID format determination. + */ + public static function isId($id) { + // check passed data + if(!is_string($id)) { + // bad data passed + throw new LinkedInException('LinkedIn->isId(): bad data passed, $id must be of type string.'); + } + + $pattern = '/^[a-z0-9_\-]{10}$/i'; + if($match = preg_match($pattern, $id)) { + // we have a match + $return_data = TRUE; + } else { + // no match + $return_data = FALSE; + } + return $return_data; + } + + /** + * Throttling check. + * + * Checks the passed LinkedIn response to see if we have hit a throttling + * limit: + * + * http://developer.linkedin.com/docs/DOC-1112 + * + * @param arr $response + * The LinkedIn response. + * + * @return bool + * TRUE/FALSE depending on content of response. + */ + public static function isThrottled($response) { + $return_data = FALSE; + + // check the variable + if(!empty($response) && is_string($response)) { + // we have an array and have a properly formatted LinkedIn response + + // store the response in a temp variable + $temp_response = self::xmlToArray($response); + if($temp_response !== FALSE) { + // check to see if we have an error + if(array_key_exists('error', $temp_response) && ($temp_response['error']['children']['status']['content'] == 403) && preg_match('/throttle/i', $temp_response['error']['children']['message']['content'])) { + // we have an error, it is 403 and we have hit a throttle limit + $return_data = TRUE; + } + } + } + return $return_data; + } + + /** + * Job posting detail info retrieval function. + * + * The Jobs API returns detailed information about job postings on LinkedIn. + * Find the job summary, description, location, and apply our professional graph + * to present the relationship between the current member and the job poster or + * hiring manager. + * + * http://developer.linkedin.com/docs/DOC-1322 + * + * @param str $jid + * ID of the job you want to look up. + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function job($jid, $options = '') { + // check passed data + if(!is_string($jid)) { + // bad data passed + throw new LinkedInException('LinkedIn->job(): bad data passed, $jid must be of type string.'); + } + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->job(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/jobs/' . trim($jid) . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Join the specified group, per: + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function joinGroup($gid) { + if(!is_string($gid)) { + throw new LinkedInException('LinkedIn->joinGroup(): bad data passed, $gid must be of type string.'); + } + + // constructing the XML + $data = ' + + + member + + '; + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/group-memberships/' . trim($gid); + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 200 or 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(array(200, 201), $response); + } + + /** + * Returns the last request header from the previous call to the + * LinkedIn API. + * + * @returns str + * The header, in string format. + */ + public function lastRequestHeader() { + return $this->last_request_headers; + } + + /** + * Returns the last request url from the previous call to the + * LinkedIn API. + * + * @returns str + * The url, in string format. + */ + public function lastRequestUrl() { + return $this->last_request_url; + } + + /** + * Leave the specified group, per:. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function leaveGroup($gid){ + if(!is_string($gid)) { + throw new LinkedInException('LinkedIn->leaveGroup(): bad data passed, $gid must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/group-memberships/' .trim($gid); + $response = $this->fetch('DELETE', $query); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Like another user's network update, per: + * + * http://developer.linkedin.com/docs/DOC-1043 + * + * @param str $uid + * The LinkedIn update ID. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function like($uid) { + // check passed data + if(!is_string($uid)) { + // bad data passed + throw new LinkedInException('LinkedIn->like(): bad data passed, $uid must be of type string.'); + } + + // construct the XML + $data = ' + true'; + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/network/updates/key=' . $uid . '/is-liked'; + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Likes/unlikes the specified post, per: + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $pid + * The post id. + * @param bool $like + * Determines whether to like or unlike. TRUE = like, FALSE = unlike. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function likePost($pid, $like) { + if(!is_string($pid)) { + throw new LinkedInException ('LinkedIn->likePost(): bad data passed, $pid must be of type string'); + } + if(!($like === TRUE || $like === FALSE)) { + throw new LinkedInException('LinkedIn->likePost(): bad data passed, $like must be of type boolean'); + } + + // construct the XML + $data = ' + '.(($like) ? 'true': 'false').''; + + // construct and send the request + $query = self::_URL_API . '/v1/posts/' . trim($pid) . '/relation-to-viewer/is-liked'; + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Retrieve network update likes. + * + * Return all likes associated with a given network update: + * + * http://developer.linkedin.com/docs/DOC-1043 + * + * @param str $uid + * The LinkedIn update ID. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function likes($uid) { + // check passed data + if(!is_string($uid)) { + // bad data passed + throw new LinkedInException('LinkedIn->likes(): bad data passed, $uid must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/network/updates/key=' . $uid . '/likes'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Connection messaging method. + * + * Send a message to your network connection(s), optionally copying yourself. + * Full details from LinkedIn on this functionality can be found here: + * + * http://developer.linkedin.com/docs/DOC-1044 + * + * @param arr $recipients + * The connection(s) to send the message to. + * @param str $subject + * The subject of the message to send. + * @param str $body + * The body of the message to send. + * @param bool $copy_self + * [OPTIONAL] Also update the teathered Twitter account. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function message($recipients, $subject, $body, $copy_self = FALSE) { + /** + * Clean up the passed data per these rules: + * + * 1) Message must be sent to at least one recipient + * 2) No HTML permitted + */ + if(!empty($subject) && is_string($subject)) { + $subject = trim(strip_tags(stripslashes($subject))); + } else { + throw new LinkedInException('LinkedIn->message(): bad data passed, $subject must be of type string.'); + } + if(!empty($body) && is_string($body)) { + $body = trim(strip_tags(stripslashes($body))); + } else { + throw new LinkedInException('LinkedIn->message(): bad data passed, $body must be of type string.'); + } + if(!is_array($recipients) || count($recipients) < 1) { + // no recipients, and/or bad data + throw new LinkedInException('LinkedIn->message(): at least one message recipient required.'); + } + + // construct the xml data + $data = ' + + '; + $data .= ($copy_self) ? '' : ''; + for($i = 0; $i < count($recipients); $i++) { + if(is_string($recipients[$i])) { + $data .= ''; + } else { + throw new LinkedInException ('LinkedIn->message(): bad data passed, $recipients must be an array of type string.'); + } + } + $data .= ' + ' . htmlspecialchars($subject) . ' + ' . htmlspecialchars($body) . ' + '; + + // send request + $query = self::_URL_API . '/v1/people/~/mailbox'; + $response = $this->fetch('POST', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Job posting method. + * + * Post a job to LinkedIn, assuming that you have access to this feature. + * Full details from LinkedIn on this functionality can be found here: + * + * http://developer.linkedin.com/community/jobs?view=documents + * + * @param str $xml + * The XML defining a job to post. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function postJob($xml) { + // check passed data + if(is_string($xml)) { + $xml = trim(stripslashes($xml)); + } else { + throw new LinkedInException('LinkedIn->postJob(): bad data passed, $xml must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/jobs'; + $response = $this->fetch('POST', $query, $xml); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * General profile retrieval function. + * + * Takes a string of parameters as input and requests profile data from the + * Linkedin Profile API. See the official documentation for $options + * 'field selector' formatting: + * + * http://developer.linkedin.com/docs/DOC-1014 + * http://developer.linkedin.com/docs/DOC-1002 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function profile($options = '~') { + // check passed data + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->profile(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Manual API call method, allowing for support for un-implemented API + * functionality to be supported. + * + * @param str $method + * The data communication method. + * @param str $url + * The Linkedin API endpoint to connect with - should NOT include the + * leading https://api.linkedin.com/v1. + * @param str $body + * [OPTIONAL] The URL-encoded body data to send to LinkedIn with the request. + * + * @return arr + * Array containing retrieval information, LinkedIn response. Note that you + * must manually check the return code and compare this to the expected + * API response to determine if the raw call was successful. + */ + public function raw($method, $url, $body = NULL) { + if(!is_string($method)) { + // bad data passed + throw new LinkedInException('LinkedIn->raw(): bad data passed, $method must be of string value.'); + } + if(!is_string($url)) { + // bad data passed + throw new LinkedInException('LinkedIn->raw(): bad data passed, $url must be of string value.'); + } + if(!is_null($body) && !is_string($url)) { + // bad data passed + throw new LinkedInException('LinkedIn->raw(): bad data passed, $body must be of string value.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1' . trim($url); + return $this->fetch($method, $query, $body); + } + + /** + * This removes the specified group from the group suggestions, per: + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function removeSuggestedGroup($gid) { + if(!is_string($gid)) { + throw new LinkedInException('LinkedIn->removeSuggestedGroup(): bad data passed, $gid must be of type string'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/suggestions/groups/' .trim($gid); + $response = $this->fetch('DELETE', $query); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Renew a job. + * + * Calling this method causes the passed job to be renewed, per: + * + * http://developer.linkedin.com/docs/DOC-1154 + * + * @param str $jid + * Job ID you want to renew. + * @param str $cid + * Contract ID that covers the passed Job ID. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function renewJob($jid, $cid) { + // check passed data + if(!is_string($jid)) { + // bad data passed + throw new LinkedInException('LinkedIn->renewJob(): bad data passed, $jid must be of string value.'); + } + if(!is_string($cid)) { + // bad data passed + throw new LinkedInException('LinkedIn->renewJob(): bad data passed, $cid must be of string value.'); + } + + // construct the xml data + $data = ' + + ' . trim($cid) . ' + + '; + + // construct and send the request + $query = self::_URL_API . '/v1/jobs/partner-job-id=' . trim($jid); + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Access token retrieval. + * + * Request the user's access token from the Linkedin API. + * + * @param str $token + * The token returned from the user authorization stage. + * @param str $secret + * The secret returned from the request token stage. + * @param str $verifier + * The verification value from LinkedIn. + * + * @return arr + * The Linkedin OAuth/http response, in array format. + */ + public function retrieveTokenAccess($token, $secret, $verifier) { + // check passed data + if(!is_string($token) || !is_string($secret) || !is_string($verifier)) { + // nothing passed, raise an exception + throw new LinkedInException('LinkedIn->retrieveTokenAccess(): bad data passed, string type is required for $token, $secret and $verifier.'); + } + + // start retrieval process + $this->setToken(array('oauth_token' => $token, 'oauth_token_secret' => $secret)); + $parameters = array( + 'oauth_verifier' => $verifier + ); + $response = $this->fetch(self::_METHOD_TOKENS, self::_URL_ACCESS, NULL, $parameters); + parse_str($response['linkedin'], $response['linkedin']); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + if($response['info']['http_code'] == 200) { + // tokens retrieved + $this->setToken($response['linkedin']); + + // set the response + $return_data = $response; + $return_data['success'] = TRUE; + } else { + // error getting the request tokens + $this->setToken(NULL); + + // set the response + $return_data = $response; + $return_data['error'] = 'HTTP response from LinkedIn end-point was not code 200'; + $return_data['success'] = FALSE; + } + return $return_data; + } + + /** + * Request token retrieval. + * + * Get the request token from the Linkedin API. + * + * @return arr + * The Linkedin OAuth/http response, in array format. + */ + public function retrieveTokenRequest() { + $parameters = array( + 'oauth_callback' => $this->getCallbackUrl() + ); + $response = $this->fetch(self::_METHOD_TOKENS, self::_URL_REQUEST, NULL, $parameters); + parse_str($response['linkedin'], $response['linkedin']); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + if(($response['info']['http_code'] == 200) && (array_key_exists('oauth_callback_confirmed', $response['linkedin'])) && ($response['linkedin']['oauth_callback_confirmed'] == 'true')) { + // tokens retrieved + $this->setToken($response['linkedin']); + + // set the response + $return_data = $response; + $return_data['success'] = TRUE; + } else { + // error getting the request tokens + $this->setToken(NULL); + + // set the response + $return_data = $response; + if((array_key_exists('oauth_callback_confirmed', $response['linkedin'])) && ($response['linkedin']['oauth_callback_confirmed'] == 'true')) { + $return_data['error'] = 'HTTP response from LinkedIn end-point was not code 200'; + } else { + $return_data['error'] = 'OAuth callback URL was not confirmed by the LinkedIn end-point'; + } + $return_data['success'] = FALSE; + } + return $return_data; + } + + /** + * User authorization revocation. + * + * Revoke the current user's access token, clear the access token's from + * current LinkedIn object. The current documentation for this feature is + * found in a blog entry from April 29th, 2010: + * + * http://developer.linkedin.com/community/apis/blog/2010/04/29/oauth--now-for-authentication + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function revoke() { + // construct and send the request + $response = $this->fetch('GET', self::_URL_REVOKE); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * [DEPRECATED] General people search function. + * + * Takes a string of parameters as input and requests profile data from the + * Linkedin People Search API. See the official documentation for $options + * querystring formatting: + * + * http://developer.linkedin.com/docs/DOC-1191 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function search($options = NULL) { + return searchPeople($options); + } + + /** + * Company search. + * + * Uses the Company Search API to find companies using keywords, industry, + * location, or some other criteria. It returns a collection of matching + * companies. + * + * http://developer.linkedin.com/docs/DOC-1325 + * + * @param str $options + * [OPTIONAL] Search options. + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function searchCompanies($options = '') { + // check passed data + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->searchCompanies(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/company-search' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Jobs search. + * + * Use the Job Search API to find jobs using keywords, company, location, + * or some other criteria. It returns a collection of matching jobs. Each + * entry can contain much of the information available on the job listing. + * + * http://developer.linkedin.com/docs/DOC-1321 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function searchJobs($options = '') { + // check passed data + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->jobsSearch(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/job-search' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * General people search function. + * + * Takes a string of parameters as input and requests profile data from the + * Linkedin People Search API. See the official documentation for $options + * querystring formatting: + * + * http://developer.linkedin.com/docs/DOC-1191 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function searchPeople($options = NULL) { + // check passed data + if(!is_null($options) && !is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->search(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people-search' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Set the application_key property. + * + * @param str $key + * The application key. + */ + public function setApplicationKey($key) { + $this->application_key = $key; + } + + /** + * Set the application_secret property. + * + * @param str $secret + * The application secret. + */ + public function setApplicationSecret($secret) { + $this->application_secret = $secret; + } + + /** + * Set the callback property. + * + * @param str $url + * The callback url. + */ + public function setCallbackUrl($url) { + $this->callback = $url; + } + + /** + * This sets the group settings of the specified group. + * + * http://developer.linkedin.com/documents/groups-api + * + * @param str $gid + * The group id. + * @param str $xml + * The group settings to set. The settings are: + * - + * - + * - + * - + * - + * - + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function setGroupSettings($gid, $xml) { + if(!is_string ($gid)) { + throw new LinkedInException('LinkedIn->setGroupSettings(): bad data passed, $token_access should be in array format.'); + } + if(!is_string ($xml)) { + throw new LinkedInException('LinkedIn->setGroupSettings(): bad data passed, $token_access should be in array format.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/group-memberships/' . trim($gid); + $response = $this->fetch('PUT', $query, $xml); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Set the response_format property. + * + * @param str $format + * [OPTIONAL] The response format to specify to LinkedIn. + */ + public function setResponseFormat($format = self::_DEFAULT_RESPONSE_FORMAT) { + $this->response_format = $format; + } + + /** + * Set the token property. + * + * @return arr $token + * The LinkedIn OAuth token. + */ + public function setToken($token) { + // check passed data + if(!is_null($token) && !is_array($token)) { + // bad data passed + throw new LinkedInException('LinkedIn->setToken(): bad data passed, $token_access should be in array format.'); + } + + // set token + $this->token = $token; + } + + /** + * [DEPRECATED] Set the token_access property. + * + * @return arr $token_access + * [OPTIONAL] The LinkedIn OAuth access token. + */ + public function setTokenAccess($token_access) { + $this->setToken($token_access); + } + + /** + * Post a share. + * + * Create a new or reshare another user's shared content. Full details from + * LinkedIn on this functionality can be found here: + * + * http://developer.linkedin.com/docs/DOC-1212 + * + * $action values: ('new', 'reshare') + * $content format: + * $action = 'new'; $content => ('comment' => 'xxx', 'title' => 'xxx', 'submitted-url' => 'xxx', 'submitted-image-url' => 'xxx', 'description' => 'xxx') + * $action = 'reshare'; $content => ('comment' => 'xxx', 'id' => 'xxx') + * + * @param str $action + * The sharing action to perform. + * @param str $content + * The share content. + * @param bool $private + * [OPTIONAL] Should we restrict this shared item to connections only? + * @param bool $twitter + * [OPTIONAL] Also update the teathered Twitter account. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function share($action, $content, $private = TRUE, $twitter = FALSE) { + // check the status itself + if(!empty($action) && !empty($content)) { + /** + * Status is not empty, wrap a cleaned version of it in xml. Status + * rules: + * + * 1) Comments are 700 chars max (if this changes, change _SHARE_COMMENT_LENGTH constant) + * 2) Content/title 200 chars max (if this changes, change _SHARE_CONTENT_TITLE_LENGTH constant) + * 3) Content/description 400 chars max (if this changes, change _SHARE_CONTENT_DESC_LENGTH constant) + * 4a) New shares must contain a comment and/or (content/title and content/submitted-url) + * 4b) Reshared content must contain an attribution id. + * 4c) Reshared content must contain actual content, not just a comment. + * 5) No HTML permitted in comment, content/title, content/description. + */ + + // prepare the share data per the rules above + $share_flag = FALSE; + $content_xml = NULL; + switch($action) { + case 'new': + // share can be an article + if(array_key_exists('title', $content) && array_key_exists('submitted-url', $content)) { + // we have shared content, format it as needed per rules above + $content_title = trim(htmlspecialchars(strip_tags(stripslashes($content['title'])))); + if(strlen($content_title) > self::_SHARE_CONTENT_TITLE_LENGTH) { + throw new LinkedInException('LinkedIn->share(): title length is too long - max length is ' . self::_SHARE_CONTENT_TITLE_LENGTH . ' characters.'); + } + $content_xml .= ' + ' . $content_title . ' + ' . trim(htmlspecialchars($content['submitted-url'])) . ''; + if(array_key_exists('submitted-image-url', $content)) { + $content_xml .= '' . trim(htmlspecialchars($content['submitted-image-url'])) . ''; + } + if(array_key_exists('description', $content)) { + $content_desc = trim(htmlspecialchars(strip_tags(stripslashes($content['description'])))); + if(strlen($content_desc) > self::_SHARE_CONTENT_DESC_LENGTH) { + throw new LinkedInException('LinkedIn->share(): description length is too long - max length is ' . self::_SHARE_CONTENT_DESC_LENGTH . ' characters.'); + } + $content_xml .= '' . $content_desc . ''; + } + $content_xml .= ''; + + $share_flag = TRUE; + } + + // share can be just a comment + if(array_key_exists('comment', $content)) { + // comment located + $comment = htmlspecialchars(trim(strip_tags(stripslashes($content['comment'])))); + if(strlen($comment) > self::_SHARE_COMMENT_LENGTH) { + throw new LinkedInException('LinkedIn->share(): comment length is too long - max length is ' . self::_SHARE_COMMENT_LENGTH . ' characters.'); + } + $content_xml .= '' . $comment . ''; + + $share_flag = TRUE; + } + break; + case 'reshare': + if(array_key_exists('id', $content)) { + // put together the re-share attribution XML + $content_xml .= ' + + ' . trim($content['id']) . ' + + '; + + // optional additional comment + if(array_key_exists('comment', $content)) { + // comment located + $comment = htmlspecialchars(trim(strip_tags(stripslashes($content['comment'])))); + if(strlen($comment) > self::_SHARE_COMMENT_LENGTH) { + throw new LinkedInException('LinkedIn->share(): comment length is too long - max length is ' . self::_SHARE_COMMENT_LENGTH . ' characters.'); + } + $content_xml .= '' . $comment . ''; + } + + $share_flag = TRUE; + } + break; + default: + // bad action passed + throw new LinkedInException('LinkedIn->share(): share action is an invalid value, must be one of: share, reshare.'); + break; + } + + // should we proceed? + if($share_flag) { + // put all of the xml together + $visibility = ($private) ? 'connections-only' : 'anyone'; + $data = ' + + ' . $content_xml . ' + + ' . $visibility . ' + + '; + + // create the proper url + $share_url = self::_URL_API . '/v1/people/~/shares'; + if($twitter) { + // update twitter as well + $share_url .= '?twitter-post=true'; + } + + // send request + $response = $this->fetch('POST', $share_url, $data); + } else { + // data contraints/rules not met, raise an exception + throw new LinkedInException('LinkedIn->share(): sharing data constraints not met; check that you have supplied valid content and combinations of content to share.'); + } + } else { + // data missing, raise an exception + throw new LinkedInException('LinkedIn->share(): sharing action or shared content is missing.'); + } + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Network statistics. + * + * General network statistics retrieval function, returns the number of connections, + * second-connections an authenticated user has. More information here: + * + * http://developer.linkedin.com/docs/DOC-1006 + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function statistics() { + // construct and send the request + $query = self::_URL_API . '/v1/people/~/network/network-stats'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Companies you may want to follow. + * + * Returns a list of companies the current user may want to follow, per: + * + * http://developer.linkedin.com/docs/DOC-1324 + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function suggestedCompanies() { + // construct and send the request + $query = self::_URL_API . '/v1/people/~/suggestions/to-follow/companies'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Retrieves suggested groups for the user, per: + * + * http://developer.linkedin.com/documents/groups-api + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function suggestedGroups() { + // construct and send the request + $query = self::_URL_API . '/v1/people/~/suggestions/groups:(id,name,is-open-to-non-members)'; + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse (200, $response); + } + + /** + * Jobs you may be interested in. + * + * Returns a list of jobs the current user may be interested in, per: + * + * http://developer.linkedin.com/docs/DOC-1323 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function suggestedJobs($options = ':(jobs)') { + // check passed data + if(!is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->suggestedJobs(): bad data passed, $options must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/suggestions/job-suggestions' . trim($options); + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Unbookmark a job. + * + * Calling this method causes the current user to remove a bookmark for the + * specified job: + * + * http://developer.linkedin.com/docs/DOC-1323 + * + * @param str $jid + * Job ID you want to unbookmark. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function unbookmarkJob($jid) { + // check passed data + if(!is_string($jid)) { + // bad data passed + throw new LinkedInException('LinkedIn->unbookmarkJob(): bad data passed, $jid must be of type string.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/job-bookmarks/' . trim($jid); + $response = $this->fetch('DELETE', $query); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Unfollow a company. + * + * Calling this method causes the current user to stop following the specified + * company, per: + * + * http://developer.linkedin.com/docs/DOC-1324 + * + * @param str $cid + * Company ID you want to unfollow. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function unfollowCompany($cid) { + // check passed data + if(!is_string($cid)) { + // bad data passed + throw new LinkedInException('LinkedIn->unfollowCompany(): bad data passed, $cid must be of string value.'); + } + + // construct and send the request + $query = self::_URL_API . '/v1/people/~/following/companies/id=' . trim($cid); + $response = $this->fetch('DELETE', $query); + + /** + * Check for successful request (a 204 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(204, $response); + } + + /** + * Unlike a network update. + * + * Unlike another user's network update: + * + * http://developer.linkedin.com/docs/DOC-1043 + * + * @param str $uid + * The LinkedIn update ID. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function unlike($uid) { + // check passed data + if(!is_string($uid)) { + // bad data passed + throw new LinkedInException('LinkedIn->unlike(): bad data passed, $uid must be of type string.'); + } + + // construct the xml data + $data = ' + false'; + + // send request + $query = self::_URL_API . '/v1/people/~/network/updates/key=' . $uid . '/is-liked'; + $response = $this->fetch('PUT', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } + + /** + * Post network update. + * + * Update the user's Linkedin network status. Full details from LinkedIn + * on this functionality can be found here: + * + * http://developer.linkedin.com/docs/DOC-1009 + * http://developer.linkedin.com/docs/DOC-1009#comment-1077 + * + * @param str $update + * The network update. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function updateNetwork($update) { + // check passed data + if(!is_string($update)) { + // nothing/non-string passed, raise an exception + throw new LinkedInException('LinkedIn->updateNetwork(): bad data passed, $update must be a non-zero length string.'); + } + + /** + * Network update is not empty, wrap a cleaned version of it in xml. + * Network update rules: + * + * 1) No HTML permitted except those found in _NETWORK_HTML constant + * 2) Update cannot be longer than 140 characters. + */ + // get the user data + $response = self::profile('~:(first-name,last-name,site-standard-profile-request)'); + if($response['success'] === TRUE) { + /** + * We are converting response to usable data. I'd use SimpleXML here, but + * to keep the class self-contained, we will use a portable XML parsing + * routine, self::xmlToArray. + */ + $person = self::xmlToArray($response['linkedin']); + if($person === FALSE) { + // bad xml data + throw new LinkedInException('LinkedIn->updateNetwork(): LinkedIn returned bad XML data.'); + } + $fields = $person['person']['children']; + + // prepare user data + $first_name = trim($fields['first-name']['content']); + $last_name = trim($fields['last-name']['content']); + $profile_url = trim($fields['site-standard-profile-request']['children']['url']['content']); + + // create the network update + $update = trim(htmlspecialchars(strip_tags($update, self::_NETWORK_HTML))); + if(strlen($update) > self::_NETWORK_LENGTH) { + throw new LinkedInException('LinkedIn->share(): update length is too long - max length is ' . self::_NETWORK_LENGTH . ' characters.'); + } + $user = htmlspecialchars('' . $first_name . ' ' . $last_name . ''); + $data = ' + linkedin-html + ' . $user . ' ' . $update . ' + '; + + // send request + $query = self::_URL_API . '/v1/people/~/person-activities'; + $response = $this->fetch('POST', $query, $data); + + /** + * Check for successful request (a 201 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(201, $response); + } else { + // profile retrieval failed + throw new LinkedInException('LinkedIn->updateNetwork(): profile data could not be retrieved.'); + } + } + + /** + * General network update retrieval function. + * + * Takes a string of parameters as input and requests update-related data + * from the Linkedin Network Updates API. See the official documentation for + * $options parameter formatting: + * + * http://developer.linkedin.com/docs/DOC-1006 + * + * For getting more comments, likes, etc, see here: + * + * http://developer.linkedin.com/docs/DOC-1043 + * + * @param str $options + * [OPTIONAL] Data retrieval options. + * @param str $id + * [OPTIONAL] The LinkedIn ID to restrict the updates for. + * + * @return arr + * Array containing retrieval success, LinkedIn response. + */ + public function updates($options = NULL, $id = NULL) { + // check passed data + if(!is_null($options) && !is_string($options)) { + // bad data passed + throw new LinkedInException('LinkedIn->updates(): bad data passed, $options must be of type string.'); + } + if(!is_null($id) && !is_string($id)) { + // bad data passed + throw new LinkedInException('LinkedIn->updates(): bad data passed, $id must be of type string.'); + } + + // construct and send the request + if(!is_null($id) && self::isId($id)) { + $query = self::_URL_API . '/v1/people/' . $id . '/network/updates' . trim($options); + } else { + $query = self::_URL_API . '/v1/people/~/network/updates' . trim($options); + } + $response = $this->fetch('GET', $query); + + /** + * Check for successful request (a 200 response from LinkedIn server) + * per the documentation linked in method comments above. + */ + return $this->checkResponse(200, $response); + } + + /** + * Converts passed XML data to an array. + * + * @param str $xml + * The XML to convert to an array. + * + * @return arr + * Array containing the XML data. + * @return bool + * FALSE if passed data cannot be parsed to an array. + */ + public static function xmlToArray($xml) { + // check passed data + if(!is_string($xml)) { + // bad data possed + throw new LinkedInException('LinkedIn->xmlToArray(): bad data passed, $xml must be a non-zero length string.'); + } + + $parser = xml_parser_create(); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); + xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); + if(xml_parse_into_struct($parser, $xml, $tags)) { + $elements = array(); + $stack = array(); + foreach($tags as $tag) { + $index = count($elements); + if($tag['type'] == 'complete' || $tag['type'] == 'open') { + $elements[$tag['tag']] = array(); + $elements[$tag['tag']]['attributes'] = (array_key_exists('attributes', $tag)) ? $tag['attributes'] : NULL; + $elements[$tag['tag']]['content'] = (array_key_exists('value', $tag)) ? $tag['value'] : NULL; + if($tag['type'] == 'open') { + $elements[$tag['tag']]['children'] = array(); + $stack[count($stack)] = &$elements; + $elements = &$elements[$tag['tag']]['children']; + } + } + if($tag['type'] == 'close') { + $elements = &$stack[count($stack) - 1]; + unset($stack[count($stack) - 1]); + } + } + $return_data = $elements; + } else { + // not valid xml data + $return_data = FALSE; + } + xml_parser_free($parser); + return $return_data; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth.php new file mode 100644 index 0000000..976ced7 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth.php @@ -0,0 +1,897 @@ +key = $key; + $this->secret = $secret; + $this->callback_url = $callback_url; + } + + function __toString() { + return "OAuthConsumer[key=$this->key,secret=$this->secret]"; + } +} + +class OAuthToken { + // access tokens and request tokens + public $key; + public $secret; + + /** + * key = the token + * secret = the token secret + */ + function __construct($key, $secret) { + $this->key = $key; + $this->secret = $secret; + } + + /** + * generates the basic string serialization of a token that a server + * would respond to request_token and access_token calls with + */ + function to_string() { + return "oauth_token=" . + OAuthUtil::urlencode_rfc3986($this->key) . + "&oauth_token_secret=" . + OAuthUtil::urlencode_rfc3986($this->secret); + } + + function __toString() { + return $this->to_string(); + } +} + +/** + * A class for implementing a Signature Method + * See section 9 ("Signing Requests") in the spec + */ +abstract class OAuthSignatureMethod { + /** + * Needs to return the name of the Signature Method (ie HMAC-SHA1) + * @return string + */ + abstract public function get_name(); + + /** + * Build up the signature + * NOTE: The output of this function MUST NOT be urlencoded. + * the encoding is handled in OAuthRequest when the final + * request is serialized + * @param OAuthRequest $request + * @param OAuthConsumer $consumer + * @param OAuthToken $token + * @return string + */ + abstract public function build_signature($request, $consumer, $token); + + /** + * Verifies that a given signature is correct + * @param OAuthRequest $request + * @param OAuthConsumer $consumer + * @param OAuthToken $token + * @param string $signature + * @return bool + */ + public function check_signature($request, $consumer, $token, $signature) { + $built = $this->build_signature($request, $consumer, $token); + + // Check for zero length, although unlikely here + if (strlen($built) == 0 || strlen($signature) == 0) { + return false; + } + + if (strlen($built) != strlen($signature)) { + return false; + } + + // Avoid a timing leak with a (hopefully) time insensitive compare + $result = 0; + for ($i = 0; $i < strlen($signature); $i++) { + $result |= ord($built{$i}) ^ ord($signature{$i}); + } + + return $result == 0; + } +} + +/** + * The HMAC-SHA1 signature method uses the HMAC-SHA1 signature algorithm as defined in [RFC2104] + * where the Signature Base String is the text and the key is the concatenated values (each first + * encoded per Parameter Encoding) of the Consumer Secret and Token Secret, separated by an '&' + * character (ASCII code 38) even if empty. + * - Chapter 9.2 ("HMAC-SHA1") + */ +class OAuthSignatureMethod_HMAC_SHA1 extends OAuthSignatureMethod { + function get_name() { + return "HMAC-SHA1"; + } + + public function build_signature($request, $consumer, $token) { + $base_string = $request->get_signature_base_string(); + $request->base_string = $base_string; + + $key_parts = array( + $consumer->secret, + ($token) ? $token->secret : "" + ); + + $key_parts = OAuthUtil::urlencode_rfc3986($key_parts); + $key = implode('&', $key_parts); + + return base64_encode(hash_hmac('sha1', $base_string, $key, true)); + } +} + +/** + * The PLAINTEXT method does not provide any security protection and SHOULD only be used + * over a secure channel such as HTTPS. It does not use the Signature Base String. + * - Chapter 9.4 ("PLAINTEXT") + */ +class OAuthSignatureMethod_PLAINTEXT extends OAuthSignatureMethod { + public function get_name() { + return "PLAINTEXT"; + } + + /** + * oauth_signature is set to the concatenated encoded values of the Consumer Secret and + * Token Secret, separated by a '&' character (ASCII code 38), even if either secret is + * empty. The result MUST be encoded again. + * - Chapter 9.4.1 ("Generating Signatures") + * + * Please note that the second encoding MUST NOT happen in the SignatureMethod, as + * OAuthRequest handles this! + */ + public function build_signature($request, $consumer, $token) { + $key_parts = array( + $consumer->secret, + ($token) ? $token->secret : "" + ); + + $key_parts = OAuthUtil::urlencode_rfc3986($key_parts); + $key = implode('&', $key_parts); + $request->base_string = $key; + + return $key; + } +} + +/** + * The RSA-SHA1 signature method uses the RSASSA-PKCS1-v1_5 signature algorithm as defined in + * [RFC3447] section 8.2 (more simply known as PKCS#1), using SHA-1 as the hash function for + * EMSA-PKCS1-v1_5. It is assumed that the Consumer has provided its RSA public key in a + * verified way to the Service Provider, in a manner which is beyond the scope of this + * specification. + * - Chapter 9.3 ("RSA-SHA1") + */ +abstract class OAuthSignatureMethod_RSA_SHA1 extends OAuthSignatureMethod { + public function get_name() { + return "RSA-SHA1"; + } + + // Up to the SP to implement this lookup of keys. Possible ideas are: + // (1) do a lookup in a table of trusted certs keyed off of consumer + // (2) fetch via http using a url provided by the requester + // (3) some sort of specific discovery code based on request + // + // Either way should return a string representation of the certificate + protected abstract function fetch_public_cert(&$request); + + // Up to the SP to implement this lookup of keys. Possible ideas are: + // (1) do a lookup in a table of trusted certs keyed off of consumer + // + // Either way should return a string representation of the certificate + protected abstract function fetch_private_cert(&$request); + + public function build_signature($request, $consumer, $token) { + $base_string = $request->get_signature_base_string(); + $request->base_string = $base_string; + + // Fetch the private key cert based on the request + $cert = $this->fetch_private_cert($request); + + // Pull the private key ID from the certificate + $privatekeyid = openssl_get_privatekey($cert); + + // Sign using the key + $ok = openssl_sign($base_string, $signature, $privatekeyid); + + // Release the key resource + openssl_free_key($privatekeyid); + + return base64_encode($signature); + } + + public function check_signature($request, $consumer, $token, $signature) { + $decoded_sig = base64_decode($signature); + + $base_string = $request->get_signature_base_string(); + + // Fetch the public key cert based on the request + $cert = $this->fetch_public_cert($request); + + // Pull the public key ID from the certificate + $publickeyid = openssl_get_publickey($cert); + + // Check the computed signature against the one passed in the query + $ok = openssl_verify($base_string, $decoded_sig, $publickeyid); + + // Release the key resource + openssl_free_key($publickeyid); + + return $ok == 1; + } +} + +class OAuthRequest { + protected $parameters; + protected $http_method; + protected $http_url; + // for debug purposes + public $base_string; + public static $version = '1.0'; + public static $POST_INPUT = 'php://input'; + + function __construct($http_method, $http_url, $parameters=NULL) { + $parameters = ($parameters) ? $parameters : array(); + $parameters = array_merge( OAuthUtil::parse_parameters(parse_url($http_url, PHP_URL_QUERY)), $parameters); + $this->parameters = $parameters; + $this->http_method = $http_method; + $this->http_url = $http_url; + } + + + /** + * attempt to build up a request from what was passed to the server + */ + public static function from_request($http_method=NULL, $http_url=NULL, $parameters=NULL) { + $scheme = (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") + ? 'http' + : 'https'; + $http_url = ($http_url) ? $http_url : $scheme . + '://' . $_SERVER['SERVER_NAME'] . + ':' . + $_SERVER['SERVER_PORT'] . + $_SERVER['REQUEST_URI']; + $http_method = ($http_method) ? $http_method : $_SERVER['REQUEST_METHOD']; + + // We weren't handed any parameters, so let's find the ones relevant to + // this request. + // If you run XML-RPC or similar you should use this to provide your own + // parsed parameter-list + if (!$parameters) { + // Find request headers + $request_headers = OAuthUtil::get_headers(); + + // Parse the query-string to find GET parameters + $parameters = OAuthUtil::parse_parameters($_SERVER['QUERY_STRING']); + + // It's a POST request of the proper content-type, so parse POST + // parameters and add those overriding any duplicates from GET + if ($http_method == "POST" + && isset($request_headers['Content-Type']) + && strstr($request_headers['Content-Type'], + 'application/x-www-form-urlencoded') + ) { + $post_data = OAuthUtil::parse_parameters( + file_get_contents(self::$POST_INPUT) + ); + $parameters = array_merge($parameters, $post_data); + } + + // We have a Authorization-header with OAuth data. Parse the header + // and add those overriding any duplicates from GET or POST + if (isset($request_headers['Authorization']) && substr($request_headers['Authorization'], 0, 6) == 'OAuth ') { + $header_parameters = OAuthUtil::split_header( + $request_headers['Authorization'] + ); + $parameters = array_merge($parameters, $header_parameters); + } + + } + + return new OAuthRequest($http_method, $http_url, $parameters); + } + + /** + * pretty much a helper function to set up the request + */ + public static function from_consumer_and_token($consumer, $token, $http_method, $http_url, $parameters=NULL) { + $parameters = ($parameters) ? $parameters : array(); + $defaults = array("oauth_version" => OAuthRequest::$version, + "oauth_nonce" => OAuthRequest::generate_nonce(), + "oauth_timestamp" => OAuthRequest::generate_timestamp(), + "oauth_consumer_key" => $consumer->key); + if ($token) + $defaults['oauth_token'] = $token->key; + + $parameters = array_merge($defaults, $parameters); + + return new OAuthRequest($http_method, $http_url, $parameters); + } + + public function set_parameter($name, $value, $allow_duplicates = true) { + if ($allow_duplicates && isset($this->parameters[$name])) { + // We have already added parameter(s) with this name, so add to the list + if (is_scalar($this->parameters[$name])) { + // This is the first duplicate, so transform scalar (string) + // into an array so we can add the duplicates + $this->parameters[$name] = array($this->parameters[$name]); + } + + $this->parameters[$name][] = $value; + } else { + $this->parameters[$name] = $value; + } + } + + public function get_parameter($name) { + return isset($this->parameters[$name]) ? $this->parameters[$name] : null; + } + + public function get_parameters() { + return $this->parameters; + } + + public function unset_parameter($name) { + unset($this->parameters[$name]); + } + + /** + * The request parameters, sorted and concatenated into a normalized string. + * @return string + */ + public function get_signable_parameters() { + // Grab all parameters + $params = $this->parameters; + + // Remove oauth_signature if present + // Ref: Spec: 9.1.1 ("The oauth_signature parameter MUST be excluded.") + if (isset($params['oauth_signature'])) { + unset($params['oauth_signature']); + } + + return OAuthUtil::build_http_query($params); + } + + /** + * Returns the base string of this request + * + * The base string defined as the method, the url + * and the parameters (normalized), each urlencoded + * and the concated with &. + */ + public function get_signature_base_string() { + $parts = array( + $this->get_normalized_http_method(), + $this->get_normalized_http_url(), + $this->get_signable_parameters() + ); + + $parts = OAuthUtil::urlencode_rfc3986($parts); + + return implode('&', $parts); + } + + /** + * just uppercases the http method + */ + public function get_normalized_http_method() { + return strtoupper($this->http_method); + } + + /** + * parses the url and rebuilds it to be + * scheme://host/path + */ + public function get_normalized_http_url() { + $parts = parse_url($this->http_url); + + $scheme = (isset($parts['scheme'])) ? $parts['scheme'] : 'http'; + $port = (isset($parts['port'])) ? $parts['port'] : (($scheme == 'https') ? '443' : '80'); + $host = (isset($parts['host'])) ? strtolower($parts['host']) : ''; + $path = (isset($parts['path'])) ? $parts['path'] : ''; + + if (($scheme == 'https' && $port != '443') + || ($scheme == 'http' && $port != '80')) { + $host = "$host:$port"; + } + return "$scheme://$host$path"; + } + + /** + * builds a url usable for a GET request + */ + public function to_url() { + $post_data = $this->to_postdata(); + $out = $this->get_normalized_http_url(); + if ($post_data) { + $out .= '?'.$post_data; + } + return $out; + } + + /** + * builds the data one would send in a POST request + */ + public function to_postdata() { + return OAuthUtil::build_http_query($this->parameters); + } + + /** + * builds the Authorization: header + */ + public function to_header($realm=null) { + $first = true; + if($realm) { + $out = 'Authorization: OAuth realm="' . OAuthUtil::urlencode_rfc3986($realm) . '"'; + $first = false; + } else + $out = 'Authorization: OAuth'; + + $total = array(); + foreach ($this->parameters as $k => $v) { + if (substr($k, 0, 5) != "oauth") continue; + if (is_array($v)) { + throw new OAuthExceptionPHP('Arrays not supported in headers'); + } + $out .= ($first) ? ' ' : ','; + $out .= OAuthUtil::urlencode_rfc3986($k) . + '="' . + OAuthUtil::urlencode_rfc3986($v) . + '"'; + $first = false; + } + return $out; + } + + public function __toString() { + return $this->to_url(); + } + + + public function sign_request($signature_method, $consumer, $token) { + $this->set_parameter( + "oauth_signature_method", + $signature_method->get_name(), + false + ); + $signature = $this->build_signature($signature_method, $consumer, $token); + $this->set_parameter("oauth_signature", $signature, false); + } + + public function build_signature($signature_method, $consumer, $token) { + $signature = $signature_method->build_signature($this, $consumer, $token); + return $signature; + } + + /** + * util function: current timestamp + */ + private static function generate_timestamp() { + return time(); + } + + /** + * util function: current nonce + */ + private static function generate_nonce() { + $mt = microtime(); + $rand = mt_rand(); + + return md5($mt . $rand); // md5s look nicer than numbers + } +} + +class OAuthServer { + protected $timestamp_threshold = 300; // in seconds, five minutes + protected $version = '1.0'; // hi blaine + protected $signature_methods = array(); + + protected $data_store; + + function __construct($data_store) { + $this->data_store = $data_store; + } + + public function add_signature_method($signature_method) { + $this->signature_methods[$signature_method->get_name()] = + $signature_method; + } + + // high level functions + + /** + * process a request_token request + * returns the request token on success + */ + public function fetch_request_token(&$request) { + $this->get_version($request); + + $consumer = $this->get_consumer($request); + + // no token required for the initial token request + $token = NULL; + + $this->check_signature($request, $consumer, $token); + + // Rev A change + $callback = $request->get_parameter('oauth_callback'); + $new_token = $this->data_store->new_request_token($consumer, $callback); + + return $new_token; + } + + /** + * process an access_token request + * returns the access token on success + */ + public function fetch_access_token(&$request) { + $this->get_version($request); + + $consumer = $this->get_consumer($request); + + // requires authorized request token + $token = $this->get_token($request, $consumer, "request"); + + $this->check_signature($request, $consumer, $token); + + // Rev A change + $verifier = $request->get_parameter('oauth_verifier'); + $new_token = $this->data_store->new_access_token($token, $consumer, $verifier); + + return $new_token; + } + + /** + * verify an api call, checks all the parameters + */ + public function verify_request(&$request) { + $this->get_version($request); + $consumer = $this->get_consumer($request); + $token = $this->get_token($request, $consumer, "access"); + $this->check_signature($request, $consumer, $token); + return array($consumer, $token); + } + + // Internals from here + /** + * version 1 + */ + private function get_version(&$request) { + $version = $request->get_parameter("oauth_version"); + if (!$version) { + // Service Providers MUST assume the protocol version to be 1.0 if this parameter is not present. + // Chapter 7.0 ("Accessing Protected Ressources") + $version = '1.0'; + } + if ($version !== $this->version) { + throw new OAuthExceptionPHP("OAuth version '$version' not supported"); + } + return $version; + } + + /** + * figure out the signature with some defaults + */ + private function get_signature_method($request) { + $signature_method = $request instanceof OAuthRequest + ? $request->get_parameter("oauth_signature_method") + : NULL; + + if (!$signature_method) { + // According to chapter 7 ("Accessing Protected Ressources") the signature-method + // parameter is required, and we can't just fallback to PLAINTEXT + throw new OAuthExceptionPHP('No signature method parameter. This parameter is required'); + } + + if (!in_array($signature_method, + array_keys($this->signature_methods))) { + throw new OAuthExceptionPHP( + "Signature method '$signature_method' not supported " . + "try one of the following: " . + implode(", ", array_keys($this->signature_methods)) + ); + } + return $this->signature_methods[$signature_method]; + } + + /** + * try to find the consumer for the provided request's consumer key + */ + private function get_consumer($request) { + $consumer_key = $request instanceof OAuthRequest + ? $request->get_parameter("oauth_consumer_key") + : NULL; + + if (!$consumer_key) { + throw new OAuthExceptionPHP("Invalid consumer key"); + } + + $consumer = $this->data_store->lookup_consumer($consumer_key); + if (!$consumer) { + throw new OAuthExceptionPHP("Invalid consumer"); + } + + return $consumer; + } + + /** + * try to find the token for the provided request's token key + */ + private function get_token($request, $consumer, $token_type="access") { + $token_field = $request instanceof OAuthRequest + ? $request->get_parameter('oauth_token') + : NULL; + + $token = $this->data_store->lookup_token( + $consumer, $token_type, $token_field + ); + if (!$token) { + throw new OAuthExceptionPHP("Invalid $token_type token: $token_field"); + } + return $token; + } + + /** + * all-in-one function to check the signature on a request + * should guess the signature method appropriately + */ + private function check_signature($request, $consumer, $token) { + // this should probably be in a different method + $timestamp = $request instanceof OAuthRequest + ? $request->get_parameter('oauth_timestamp') + : NULL; + $nonce = $request instanceof OAuthRequest + ? $request->get_parameter('oauth_nonce') + : NULL; + + $this->check_timestamp($timestamp); + $this->check_nonce($consumer, $token, $nonce, $timestamp); + + $signature_method = $this->get_signature_method($request); + + $signature = $request->get_parameter('oauth_signature'); + $valid_sig = $signature_method->check_signature( + $request, + $consumer, + $token, + $signature + ); + + if (!$valid_sig) { + throw new OAuthExceptionPHP("Invalid signature"); + } + } + + /** + * check that the timestamp is new enough + */ + private function check_timestamp($timestamp) { + if( ! $timestamp ) + throw new OAuthExceptionPHP( + 'Missing timestamp parameter. The parameter is required' + ); + + // verify that timestamp is recentish + $now = time(); + if (abs($now - $timestamp) > $this->timestamp_threshold) { + throw new OAuthExceptionPHP( + "Expired timestamp, yours $timestamp, ours $now" + ); + } + } + + /** + * check that the nonce is not repeated + */ + private function check_nonce($consumer, $token, $nonce, $timestamp) { + if( ! $nonce ) + throw new OAuthExceptionPHP( + 'Missing nonce parameter. The parameter is required' + ); + + // verify that the nonce is uniqueish + $found = $this->data_store->lookup_nonce( + $consumer, + $token, + $nonce, + $timestamp + ); + if ($found) { + throw new OAuthExceptionPHP("Nonce already used: $nonce"); + } + } + +} + +class OAuthDataStore { + function lookup_consumer($consumer_key) { + // implement me + } + + function lookup_token($consumer, $token_type, $token) { + // implement me + } + + function lookup_nonce($consumer, $token, $nonce, $timestamp) { + // implement me + } + + function new_request_token($consumer, $callback = null) { + // return a new token attached to this consumer + } + + function new_access_token($token, $consumer, $verifier = null) { + // return a new access token attached to this consumer + // for the user associated with this token if the request token + // is authorized + // should also invalidate the request token + } + +} + +class OAuthUtil { + public static function urlencode_rfc3986($input) { + if (is_array($input)) { + return array_map(array('OAuthUtil', 'urlencode_rfc3986'), $input); + } else if (is_scalar($input)) { + return str_replace( + '+', + ' ', + str_replace('%7E', '~', rawurlencode($input)) + ); + } else { + return ''; + } +} + + + // This decode function isn't taking into consideration the above + // modifications to the encoding process. However, this method doesn't + // seem to be used anywhere so leaving it as is. + public static function urldecode_rfc3986($string) { + return urldecode($string); + } + + // Utility function for turning the Authorization: header into + // parameters, has to do some unescaping + // Can filter out any non-oauth parameters if needed (default behaviour) + // May 28th, 2010 - method updated to tjerk.meesters for a speed improvement. + // see http://code.google.com/p/oauth/issues/detail?id=163 + public static function split_header($header, $only_allow_oauth_parameters = true) { + $params = array(); + if (preg_match_all('/('.($only_allow_oauth_parameters ? 'oauth_' : '').'[a-z_-]*)=(:?"([^"]*)"|([^,]*))/', $header, $matches)) { + foreach ($matches[1] as $i => $h) { + $params[$h] = OAuthUtil::urldecode_rfc3986(empty($matches[3][$i]) ? $matches[4][$i] : $matches[3][$i]); + } + if (isset($params['realm'])) { + unset($params['realm']); + } + } + return $params; + } + + // helper to try to sort out headers for people who aren't running apache + public static function get_headers() { + if (function_exists('apache_request_headers')) { + // we need this to get the actual Authorization: header + // because apache tends to tell us it doesn't exist + $headers = apache_request_headers(); + + // sanitize the output of apache_request_headers because + // we always want the keys to be Cased-Like-This and arh() + // returns the headers in the same case as they are in the + // request + $out = array(); + foreach ($headers AS $key => $value) { + $key = str_replace( + " ", + "-", + ucwords(strtolower(str_replace("-", " ", $key))) + ); + $out[$key] = $value; + } + } else { + // otherwise we don't have apache and are just going to have to hope + // that $_SERVER actually contains what we need + $out = array(); + if( isset($_SERVER['CONTENT_TYPE']) ) + $out['Content-Type'] = $_SERVER['CONTENT_TYPE']; + if( isset($_ENV['CONTENT_TYPE']) ) + $out['Content-Type'] = $_ENV['CONTENT_TYPE']; + + foreach ($_SERVER as $key => $value) { + if (substr($key, 0, 5) == "HTTP_") { + // this is chaos, basically it is just there to capitalize the first + // letter of every word that is not an initial HTTP and strip HTTP + // code from przemek + $key = str_replace( + " ", + "-", + ucwords(strtolower(str_replace("_", " ", substr($key, 5)))) + ); + $out[$key] = $value; + } + } + } + return $out; + } + + // This function takes a input like a=b&a=c&d=e and returns the parsed + // parameters like this + // array('a' => array('b','c'), 'd' => 'e') + public static function parse_parameters( $input ) { + if (!isset($input) || !$input) return array(); + + $pairs = explode('&', $input); + + $parsed_parameters = array(); + foreach ($pairs as $pair) { + $split = explode('=', $pair, 2); + $parameter = OAuthUtil::urldecode_rfc3986($split[0]); + $value = isset($split[1]) ? OAuthUtil::urldecode_rfc3986($split[1]) : ''; + + if (isset($parsed_parameters[$parameter])) { + // We have already recieved parameter(s) with this name, so add to the list + // of parameters with this name + + if (is_scalar($parsed_parameters[$parameter])) { + // This is the first duplicate, so transform scalar (string) into an array + // so we can add the duplicates + $parsed_parameters[$parameter] = array($parsed_parameters[$parameter]); + } + + $parsed_parameters[$parameter][] = $value; + } else { + $parsed_parameters[$parameter] = $value; + } + } + return $parsed_parameters; + } + + public static function build_http_query($params) { + if (!$params) return ''; + + // Urlencode both keys and values + $keys = OAuthUtil::urlencode_rfc3986(array_keys($params)); + $values = OAuthUtil::urlencode_rfc3986(array_values($params)); + $params = array_combine($keys, $values); + + // Parameters are sorted by name, using lexicographical byte value ordering. + // Ref: Spec: 9.1.1 (1) + uksort($params, 'strcmp'); + + $pairs = array(); + foreach ($params as $parameter => $value) { + if (is_array($value)) { + // If two or more parameters share the same name, they are sorted by their value + // Ref: Spec: 9.1.1 (1) + // June 12th, 2010 - changed to sort because of issue 164 by hidetaka + sort($value, SORT_STRING); + foreach ($value as $duplicate_value) { + $pairs[] = $parameter . '=' . $duplicate_value; + } + } else { + $pairs[] = $parameter . '=' . $value; + } + } + // For each parameter, the name is separated from the corresponding value by an '=' character (ASCII code 61) + // Each name-value pair is separated by an '&' character (ASCII code 38) + return implode('&', $pairs); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth1Client.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth1Client.php new file mode 100644 index 0000000..4c6dc52 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth1Client.php @@ -0,0 +1,229 @@ +sha1_method = new OAuthSignatureMethod_HMAC_SHA1(); + $this->consumer = new OAuthConsumer( $consumer_key, $consumer_secret ); + $this->token = null; + + if ( $oauth_token && $oauth_token_secret ){ + $this->token = new OAuthConsumer( $oauth_token, $oauth_token_secret ); + } + } + + /** + * Build authorize url + * + * @return string + */ + function authorizeUrl( $token, $extras =array() ) + { + if ( is_array( $token ) ){ + $token = $token['oauth_token']; + } + + $parameters = array( "oauth_token" => $token ); + + if( count($extras) ) + foreach( $extras as $k=>$v ) + $parameters[$k] = $v; + + return $this->authorize_url . "?" . http_build_query( $parameters ); + } + + /** + * Get a request_token from provider + * + * @return array a key/value array containing oauth_token and oauth_token_secret + */ + function requestToken( $callback = null ) + { + $parameters = array(); + + if ( $callback ) { + $this->redirect_uri = $parameters['oauth_callback'] = $callback; + } + + $request = $this->signedRequest( $this->request_token_url, $this->request_token_method, $parameters ); + $token = OAuthUtil::parse_parameters( $request ); + $this->token = new OAuthConsumer( $token['oauth_token'], $token['oauth_token_secret'] ); + + return $token; + } + + /** + * Exchange the request token and secret for an access token and secret, to sign API calls. + * + * @return array array('oauth_token' => the access token, 'oauth_token_secret' => the access secret) + */ + function accessToken( $oauth_verifier = false, $oauth_token = false ) + { + $parameters = array(); + + // 1.0a + if ( $oauth_verifier ) { + $parameters['oauth_verifier'] = $oauth_verifier; + } + + $request = $this->signedRequest( $this->access_token_url, $this->access_token_method, $parameters ); + $token = OAuthUtil::parse_parameters( $request ); + $this->token = new OAuthConsumer( $token['oauth_token'], $token['oauth_token_secret'] ); + + return $token; + } + + /** + * GET wrappwer for provider apis request + */ + function get($url, $parameters = array()) + { + return $this->api($url, 'GET', $parameters); + } + + /** + * POST wreapper for provider apis request + */ + function post($url, $parameters = array()) + { + return $this->api($url, 'POST', $parameters); + } + + /** + * Format and sign an oauth for provider api + */ + function api( $url, $method = 'GET', $parameters = array() ) + { + if ( strrpos($url, 'http://') !== 0 && strrpos($url, 'https://') !== 0 ) { + $url = $this->api_base_url . $url; + } + + $response = $this->signedRequest( $url, $method, $parameters ); + + if( $this->decode_json ){ + $response = json_decode( $response ); + } + + return $response; + } + + /** + * Make signed request + */ + function signedRequest( $url, $method, $parameters ) + { + $request = OAuthRequest::from_consumer_and_token($this->consumer, $this->token, $method, $url, $parameters); + $request->sign_request($this->sha1_method, $this->consumer, $this->token); + switch ($method) { + case 'GET': return $this->request( $request->to_url(), 'GET' ); + default : return $this->request( $request->get_normalized_http_url(), $method, $request->to_postdata(), $request->to_header() ) ; + } + } + + /** + * Make http request + */ + function request( $url, $method, $postfields = NULL, $auth_header = null ) + { + Hybrid_Logger::info( "Enter OAuth1Client::request( $method, $url )" ); + Hybrid_Logger::debug( "OAuth1Client::request(). dump post fields: ", serialize( $postfields ) ); + + $this->http_info = array(); + $ci = curl_init(); + + /* Curl settings */ + curl_setopt( $ci, CURLOPT_USERAGENT , $this->curl_useragent ); + curl_setopt( $ci, CURLOPT_CONNECTTIMEOUT, $this->curl_connect_time_out ); + curl_setopt( $ci, CURLOPT_TIMEOUT , $this->curl_time_out ); + curl_setopt( $ci, CURLOPT_RETURNTRANSFER, TRUE ); + curl_setopt( $ci, CURLOPT_HTTPHEADER , array('Expect:') ); + curl_setopt( $ci, CURLOPT_SSL_VERIFYPEER, $this->curl_ssl_verifypeer ); + curl_setopt( $ci, CURLOPT_HEADERFUNCTION, array($this, 'getHeader') ); + curl_setopt( $ci, CURLOPT_HEADER , FALSE ); + + if($this->curl_proxy){ + curl_setopt( $ci, CURLOPT_PROXY , $this->curl_proxy); + } + + switch ($method){ + case 'POST': + curl_setopt( $ci, CURLOPT_POST, TRUE ); + + if ( !empty($postfields) ){ + curl_setopt( $ci, CURLOPT_POSTFIELDS, $postfields ); + } + + if ( !empty($auth_header) && $this->curl_auth_header ){ + curl_setopt( $ci, CURLOPT_HTTPHEADER, array( 'Content-Type: application/atom+xml', $auth_header ) ); + } + break; + case 'DELETE': + curl_setopt( $ci, CURLOPT_CUSTOMREQUEST, 'DELETE' ); + if ( !empty($postfields) ){ + $url = "{$url}?{$postfields}"; + } + } + + curl_setopt($ci, CURLOPT_URL, $url); + $response = curl_exec($ci); + + Hybrid_Logger::debug( "OAuth1Client::request(). dump request info: ", serialize( curl_getinfo($ci) ) ); + Hybrid_Logger::debug( "OAuth1Client::request(). dump request result: ", serialize( $response ) ); + + $this->http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE); + $this->http_info = array_merge($this->http_info, curl_getinfo($ci)); + + curl_close ($ci); + + return $response; + } + + /** + * Get the header info to store. + */ + function getHeader($ch, $header) { + $i = strpos($header, ':'); + + if ( !empty($i) ){ + $key = str_replace('-', '_', strtolower(substr($header, 0, $i))); + $value = trim(substr($header, $i + 2)); + $this->http_header[$key] = $value; + } + + return strlen($header); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php new file mode 100644 index 0000000..31bfac9 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OAuth/OAuth2Client.php @@ -0,0 +1,245 @@ +client_id = $client_id; + $this->client_secret = $client_secret; + $this->redirect_uri = $redirect_uri; + } + + public function authorizeUrl( $extras = array() ) + { + $params = array( + "client_id" => $this->client_id, + "redirect_uri" => $this->redirect_uri, + "response_type" => "code" + ); + + if( count($extras) ) + foreach( $extras as $k=>$v ) + $params[$k] = $v; + + return $this->authorize_url . "?" . http_build_query( $params ); + } + + public function authenticate( $code ) + { + $params = array( + "client_id" => $this->client_id, + "client_secret" => $this->client_secret, + "grant_type" => "authorization_code", + "redirect_uri" => $this->redirect_uri, + "code" => $code + ); + + $response = $this->request( $this->token_url, $params, $this->curl_authenticate_method ); + + $response = $this->parseRequestResult( $response ); + + if( ! $response || ! isset( $response->access_token ) ){ + throw new Exception( "The Authorization Service has return: " . $response->error ); + } + + if( isset( $response->access_token ) ) $this->access_token = $response->access_token; + if( isset( $response->refresh_token ) ) $this->refresh_token = $response->refresh_token; + if( isset( $response->expires_in ) ) $this->access_token_expires_in = $response->expires_in; + + // calculate when the access token expire + if( isset($response->expires_in)) { + $this->access_token_expires_at = time() + $response->expires_in; + } + + return $response; + } + + public function authenticated() + { + if ( $this->access_token ){ + if ( $this->token_info_url && $this->refresh_token ){ + // check if this access token has expired, + $tokeninfo = $this->tokenInfo( $this->access_token ); + + // if yes, access_token has expired, then ask for a new one + if( $tokeninfo && isset( $tokeninfo->error ) ){ + $response = $this->refreshToken( $this->refresh_token ); + + // if wrong response + if( ! isset( $response->access_token ) || ! $response->access_token ){ + throw new Exception( "The Authorization Service has return an invalid response while requesting a new access token. given up!" ); + } + + // set new access_token + $this->access_token = $response->access_token; + } + } + + return true; + } + + return false; + } + + /** + * Format and sign an oauth for provider api + */ + public function api( $url, $method = "GET", $parameters = array() ) + { + if ( strrpos($url, 'http://') !== 0 && strrpos($url, 'https://') !== 0 ) { + $url = $this->api_base_url . $url; + } + + $parameters[$this->sign_token_name] = $this->access_token; + $response = null; + + switch( $method ){ + case 'GET' : $response = $this->request( $url, $parameters, "GET" ); break; + case 'POST' : $response = $this->request( $url, $parameters, "POST" ); break; + } + + if( $response && $this->decode_json ){ + $response = json_decode( $response ); + } + + return $response; + } + + /** + * GET wrappwer for provider apis request + */ + function get( $url, $parameters = array() ) + { + return $this->api( $url, 'GET', $parameters ); + } + + /** + * POST wreapper for provider apis request + */ + function post( $url, $parameters = array() ) + { + return $this->api( $url, 'POST', $parameters ); + } + + // -- tokens + + public function tokenInfo($accesstoken) + { + $params['access_token'] = $this->access_token; + $response = $this->request( $this->token_info_url, $params ); + return $this->parseRequestResult( $response ); + } + + public function refreshToken( $parameters = array() ) + { + $params = array( + "client_id" => $this->client_id, + "client_secret" => $this->client_secret, + "grant_type" => "refresh_token" + ); + + foreach($parameters as $k=>$v ){ + $params[$k] = $v; + } + + $response = $this->request( $this->token_url, $params, "POST" ); + return $this->parseRequestResult( $response ); + } + + // -- utilities + + private function request( $url, $params=false, $type="GET" ) + { + Hybrid_Logger::info( "Enter OAuth2Client::request( $url )" ); + Hybrid_Logger::debug( "OAuth2Client::request(). dump request params: ", serialize( $params ) ); + + if( $type == "GET" ){ + $url = $url . ( strpos( $url, '?' ) ? '&' : '?' ) . http_build_query( $params ); + } + + $this->http_info = array(); + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL , $url ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 ); + curl_setopt($ch, CURLOPT_TIMEOUT , $this->curl_time_out ); + curl_setopt($ch, CURLOPT_USERAGENT , $this->curl_useragent ); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , $this->curl_connect_time_out ); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , $this->curl_ssl_verifypeer ); + curl_setopt($ch, CURLOPT_HTTPHEADER , $this->curl_header ); + + if($this->curl_proxy){ + curl_setopt( $ch, CURLOPT_PROXY , $this->curl_proxy); + } + + if( $type == "POST" ){ + curl_setopt($ch, CURLOPT_POST, 1); + if($params) curl_setopt( $ch, CURLOPT_POSTFIELDS, $params ); + } + + $response = curl_exec($ch); + Hybrid_Logger::debug( "OAuth2Client::request(). dump request info: ", serialize( curl_getinfo($ch) ) ); + Hybrid_Logger::debug( "OAuth2Client::request(). dump request result: ", serialize( $response ) ); + + $this->http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); + $this->http_info = array_merge($this->http_info, curl_getinfo($ch)); + + curl_close ($ch); + + return $response; + } + + private function parseRequestResult( $result ) + { + if( json_decode( $result ) ) return json_decode( $result ); + + parse_str( $result, $ouput ); + + $result = new StdClass(); + + foreach( $ouput as $k => $v ) + $result->$k = $v; + + return $result; + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OpenID/LightOpenID.php b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OpenID/LightOpenID.php new file mode 100644 index 0000000..15d8787 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/OpenID/LightOpenID.php @@ -0,0 +1,834 @@ + + * $openid = new LightOpenID('my-host.example.org'); + * $openid->identity = 'ID supplied by user'; + * header('Location: ' . $openid->authUrl()); + * + * The provider then sends various parameters via GET, one of them is openid_mode. + * Step two is verification: + * + * $openid = new LightOpenID('my-host.example.org'); + * if ($openid->mode) { + * echo $openid->validate() ? 'Logged in.' : 'Failed'; + * } + * + * + * Change the 'my-host.example.org' to your domain name. Do NOT use $_SERVER['HTTP_HOST'] + * for that, unless you know what you are doing. + * + * Optionally, you can set $returnUrl and $realm (or $trustRoot, which is an alias). + * The default values for those are: + * $openid->realm = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST']; + * $openid->returnUrl = $openid->realm . $_SERVER['REQUEST_URI']; + * If you don't know their meaning, refer to any openid tutorial, or specification. Or just guess. + * + * AX and SREG extensions are supported. + * To use them, specify $openid->required and/or $openid->optional before calling $openid->authUrl(). + * These are arrays, with values being AX schema paths (the 'path' part of the URL). + * For example: + * $openid->required = array('namePerson/friendly', 'contact/email'); + * $openid->optional = array('namePerson/first'); + * If the server supports only SREG or OpenID 1.1, these are automaticaly + * mapped to SREG names, so that user doesn't have to know anything about the server. + * + * To get the values, use $openid->getAttributes(). + * + * + * The library requires PHP >= 5.1.2 with curl or http/https stream wrappers enabled. + * @author Mewp + * @copyright Copyright (c) 2010, Mewp + * @license http://www.opensource.org/licenses/mit-license.php MIT + */ +class LightOpenID +{ + public $returnUrl + , $required = array() + , $optional = array() + , $verify_peer = null + , $capath = null + , $cainfo = null + , $data; + private $identity, $claimed_id; + protected $server, $version, $trustRoot, $aliases, $identifier_select = false + , $ax = false, $sreg = false, $setup_url = null, $headers = array(); + static protected $ax_to_sreg = array( + 'namePerson/friendly' => 'nickname', + 'contact/email' => 'email', + 'namePerson' => 'fullname', + 'birthDate' => 'dob', + 'person/gender' => 'gender', + 'contact/postalCode/home' => 'postcode', + 'contact/country/home' => 'country', + 'pref/language' => 'language', + 'pref/timezone' => 'timezone', + ); + + function __construct($host) + { + $this->trustRoot = (strpos($host, '://') ? $host : 'http://' . $host); + if ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') + || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) + && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') + ) { + $this->trustRoot = (strpos($host, '://') ? $host : 'https://' . $host); + } + + if(($host_end = strpos($this->trustRoot, '/', 8)) !== false) { + $this->trustRoot = substr($this->trustRoot, 0, $host_end); + } + + $uri = rtrim(preg_replace('#((?<=\?)|&)openid\.[^&]+#', '', $_SERVER['REQUEST_URI']), '?'); + $this->returnUrl = $this->trustRoot . $uri; + + $this->data = ($_SERVER['REQUEST_METHOD'] === 'POST') ? $_POST : $_GET; + + if(!function_exists('curl_init') && !in_array('https', stream_get_wrappers())) { + throw new ErrorException('You must have either https wrappers or curl enabled.'); + } + } + + function __set($name, $value) + { + switch ($name) { + case 'identity': + if (strlen($value = trim((String) $value))) { + if (preg_match('#^xri:/*#i', $value, $m)) { + $value = substr($value, strlen($m[0])); + } elseif (!preg_match('/^(?:[=@+\$!\(]|https?:)/i', $value)) { + $value = "http://$value"; + } + if (preg_match('#^https?://[^/]+$#i', $value, $m)) { + $value .= '/'; + } + } + $this->$name = $this->claimed_id = $value; + break; + case 'trustRoot': + case 'realm': + $this->trustRoot = trim($value); + } + } + + function __get($name) + { + switch ($name) { + case 'identity': + # We return claimed_id instead of identity, + # because the developer should see the claimed identifier, + # i.e. what he set as identity, not the op-local identifier (which is what we verify) + return $this->claimed_id; + case 'trustRoot': + case 'realm': + return $this->trustRoot; + case 'mode': + return empty($this->data['openid_mode']) ? null : $this->data['openid_mode']; + } + } + + /** + * Checks if the server specified in the url exists. + * + * @param $url url to check + * @return true, if the server exists; false otherwise + */ + function hostExists($url) + { + if (strpos($url, '/') === false) { + $server = $url; + } else { + $server = @parse_url($url, PHP_URL_HOST); + } + + if (!$server) { + return false; + } + + return !!gethostbynamel($server); + } + + protected function request_curl($url, $method='GET', $params=array(), $update_claimed_id) + { + $params = http_build_query($params, '', '&'); + $curl = curl_init($url . ($method == 'GET' && $params ? '?' . $params : '')); + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); + curl_setopt($curl, CURLOPT_HEADER, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/xrds+xml, */*')); + + if($this->verify_peer !== null) { + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, $this->verify_peer); + if($this->capath) { + curl_setopt($curl, CURLOPT_CAPATH, $this->capath); + } + + if($this->cainfo) { + curl_setopt($curl, CURLOPT_CAINFO, $this->cainfo); + } + } + + if ($method == 'POST') { + curl_setopt($curl, CURLOPT_POST, true); + curl_setopt($curl, CURLOPT_POSTFIELDS, $params); + } elseif ($method == 'HEAD') { + curl_setopt($curl, CURLOPT_HEADER, true); + curl_setopt($curl, CURLOPT_NOBODY, true); + } else { + curl_setopt($curl, CURLOPT_HEADER, true); + curl_setopt($curl, CURLOPT_HTTPGET, true); + } + $response = curl_exec($curl); + + if($method == 'HEAD' && curl_getinfo($curl, CURLINFO_HTTP_CODE) == 405) { + curl_setopt($curl, CURLOPT_HTTPGET, true); + $response = curl_exec($curl); + $response = substr($response, 0, strpos($response, "\r\n\r\n")); + } + + if($method == 'HEAD' || $method == 'GET') { + $header_response = $response; + + # If it's a GET request, we want to only parse the header part. + if($method == 'GET') { + $header_response = substr($response, 0, strpos($response, "\r\n\r\n")); + } + + $headers = array(); + foreach(explode("\n", $header_response) as $header) { + $pos = strpos($header,':'); + if ($pos !== false) { + $name = strtolower(trim(substr($header, 0, $pos))); + $headers[$name] = trim(substr($header, $pos+1)); + } + } + + if($update_claimed_id) { + # Updating claimed_id in case of redirections. + $effective_url = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL); + if($effective_url != $url) { + $this->identity = $this->claimed_id = $effective_url; + } + } + + if($method == 'HEAD') { + return $headers; + } else { + $this->headers = $headers; + } + } + + if (curl_errno($curl)) { + throw new ErrorException(curl_error($curl), curl_errno($curl)); + } + + return $response; + } + + protected function parse_header_array($array, $update_claimed_id) + { + $headers = array(); + foreach($array as $header) { + $pos = strpos($header,':'); + if ($pos !== false) { + $name = strtolower(trim(substr($header, 0, $pos))); + $headers[$name] = trim(substr($header, $pos+1)); + + # Following possible redirections. The point is just to have + # claimed_id change with them, because the redirections + # are followed automatically. + # We ignore redirections with relative paths. + # If any known provider uses them, file a bug report. + if($name == 'location' && $update_claimed_id) { + if(strpos($headers[$name], 'http') === 0) { + $this->identity = $this->claimed_id = $headers[$name]; + } elseif($headers[$name][0] == '/') { + $parsed_url = parse_url($this->claimed_id); + $this->identity = + $this->claimed_id = $parsed_url['scheme'] . '://' + . $parsed_url['host'] + . $headers[$name]; + } + } + } + } + return $headers; + } + + protected function request_streams($url, $method='GET', $params=array(), $update_claimed_id) + { + if(!$this->hostExists($url)) { + throw new ErrorException("Could not connect to $url.", 404); + } + + $params = http_build_query($params, '', '&'); + switch($method) { + case 'GET': + $opts = array( + 'http' => array( + 'method' => 'GET', + 'header' => 'Accept: application/xrds+xml, */*', + 'ignore_errors' => true, + ), 'ssl' => array( + 'CN_match' => parse_url($url, PHP_URL_HOST), + ), + ); + $url = $url . ($params ? '?' . $params : ''); + break; + case 'POST': + $opts = array( + 'http' => array( + 'method' => 'POST', + 'header' => 'Content-type: application/x-www-form-urlencoded', + 'content' => $params, + 'ignore_errors' => true, + ), 'ssl' => array( + 'CN_match' => parse_url($url, PHP_URL_HOST), + ), + ); + break; + case 'HEAD': + # We want to send a HEAD request, + # but since get_headers doesn't accept $context parameter, + # we have to change the defaults. + $default = stream_context_get_options(stream_context_get_default()); + stream_context_get_default( + array( + 'http' => array( + 'method' => 'HEAD', + 'header' => 'Accept: application/xrds+xml, */*', + 'ignore_errors' => true, + ), 'ssl' => array( + 'CN_match' => parse_url($url, PHP_URL_HOST), + ), + ) + ); + + $url = $url . ($params ? '?' . $params : ''); + $headers = get_headers ($url); + if(!$headers) { + return array(); + } + + if(intval(substr($headers[0], strlen('HTTP/1.1 '))) == 405) { + # The server doesn't support HEAD, so let's emulate it with + # a GET. + $args = func_get_args(); + $args[1] = 'GET'; + call_user_func_array(array($this, 'request_streams'), $args); + return $this->headers; + } + + $headers = $this->parse_header_array($headers, $update_claimed_id); + + # And restore them. + stream_context_get_default($default); + return $headers; + } + + if($this->verify_peer) { + $opts['ssl'] += array( + 'verify_peer' => true, + 'capath' => $this->capath, + 'cafile' => $this->cainfo, + ); + } + + $context = stream_context_create ($opts); + $data = file_get_contents($url, false, $context); + # This is a hack for providers who don't support HEAD requests. + # It just creates the headers array for the last request in $this->headers. + if(isset($http_response_header)) { + $this->headers = $this->parse_header_array($http_response_header, $update_claimed_id); + } + + return $data; + } + + protected function request($url, $method='GET', $params=array(), $update_claimed_id=false) + { + if (function_exists('curl_init') + && (!in_array('https', stream_get_wrappers()) || !ini_get('safe_mode') && !ini_get('open_basedir')) + ) { + return $this->request_curl($url, $method, $params, $update_claimed_id); + } + return $this->request_streams($url, $method, $params, $update_claimed_id); + } + + protected function build_url($url, $parts) + { + if (isset($url['query'], $parts['query'])) { + $parts['query'] = $url['query'] . '&' . $parts['query']; + } + + $url = $parts + $url; + $url = $url['scheme'] . '://' + . (empty($url['username'])?'' + :(empty($url['password'])? "{$url['username']}@" + :"{$url['username']}:{$url['password']}@")) + . $url['host'] + . (empty($url['port'])?'':":{$url['port']}") + . (empty($url['path'])?'':$url['path']) + . (empty($url['query'])?'':"?{$url['query']}") + . (empty($url['fragment'])?'':"#{$url['fragment']}"); + return $url; + } + + /** + * Helper function used to scan for / tags and extract information + * from them + */ + protected function htmlTag($content, $tag, $attrName, $attrValue, $valueName) + { + preg_match_all("#<{$tag}[^>]*$attrName=['\"].*?$attrValue.*?['\"][^>]*$valueName=['\"](.+?)['\"][^>]*/?>#i", $content, $matches1); + preg_match_all("#<{$tag}[^>]*$valueName=['\"](.+?)['\"][^>]*$attrName=['\"].*?$attrValue.*?['\"][^>]*/?>#i", $content, $matches2); + + $result = array_merge($matches1[1], $matches2[1]); + return empty($result)?false:$result[0]; + } + + /** + * Performs Yadis and HTML discovery. Normally not used. + * @param $url Identity URL. + * @return String OP Endpoint (i.e. OpenID provider address). + * @throws ErrorException + */ + function discover($url) + { + if (!$url) throw new ErrorException('No identity supplied.'); + # Use xri.net proxy to resolve i-name identities + if (!preg_match('#^https?:#', $url)) { + $url = "https://xri.net/$url"; + } + + # We save the original url in case of Yadis discovery failure. + # It can happen when we'll be lead to an XRDS document + # which does not have any OpenID2 services. + $originalUrl = $url; + + # A flag to disable yadis discovery in case of failure in headers. + $yadis = true; + + # We'll jump a maximum of 5 times, to avoid endless redirections. + for ($i = 0; $i < 5; $i ++) { + if ($yadis) { + $headers = $this->request($url, 'HEAD', array(), true); + + $next = false; + if (isset($headers['x-xrds-location'])) { + $url = $this->build_url(parse_url($url), parse_url(trim($headers['x-xrds-location']))); + $next = true; + } + + if (isset($headers['content-type']) + && (strpos($headers['content-type'], 'application/xrds+xml') !== false + || strpos($headers['content-type'], 'text/xml') !== false) + ) { + # Apparently, some providers return XRDS documents as text/html. + # While it is against the spec, allowing this here shouldn't break + # compatibility with anything. + # --- + # Found an XRDS document, now let's find the server, and optionally delegate. + $content = $this->request($url, 'GET'); + + preg_match_all('#(.*?)#s', $content, $m); + foreach($m[1] as $content) { + $content = ' ' . $content; # The space is added, so that strpos doesn't return 0. + + # OpenID 2 + $ns = preg_quote('http://specs.openid.net/auth/2.0/', '#'); + if(preg_match('#\s*'.$ns.'(server|signon)\s*#s', $content, $type)) { + if ($type[1] == 'server') $this->identifier_select = true; + + preg_match('#(.*)#', $content, $server); + preg_match('#<(Local|Canonical)ID>(.*)#', $content, $delegate); + if (empty($server)) { + return false; + } + # Does the server advertise support for either AX or SREG? + $this->ax = (bool) strpos($content, 'http://openid.net/srv/ax/1.0'); + $this->sreg = strpos($content, 'http://openid.net/sreg/1.0') + || strpos($content, 'http://openid.net/extensions/sreg/1.1'); + + $server = $server[1]; + if (isset($delegate[2])) $this->identity = trim($delegate[2]); + $this->version = 2; + + $this->server = $server; + return $server; + } + + # OpenID 1.1 + $ns = preg_quote('http://openid.net/signon/1.1', '#'); + if (preg_match('#\s*'.$ns.'\s*#s', $content)) { + + preg_match('#(.*)#', $content, $server); + preg_match('#<.*?Delegate>(.*)#', $content, $delegate); + if (empty($server)) { + return false; + } + # AX can be used only with OpenID 2.0, so checking only SREG + $this->sreg = strpos($content, 'http://openid.net/sreg/1.0') + || strpos($content, 'http://openid.net/extensions/sreg/1.1'); + + $server = $server[1]; + if (isset($delegate[1])) $this->identity = $delegate[1]; + $this->version = 1; + + $this->server = $server; + return $server; + } + } + + $next = true; + $yadis = false; + $url = $originalUrl; + $content = null; + break; + } + if ($next) continue; + + # There are no relevant information in headers, so we search the body. + $content = $this->request($url, 'GET', array(), true); + + if (isset($this->headers['x-xrds-location'])) { + $url = $this->build_url(parse_url($url), parse_url(trim($this->headers['x-xrds-location']))); + continue; + } + + $location = $this->htmlTag($content, 'meta', 'http-equiv', 'X-XRDS-Location', 'content'); + if ($location) { + $url = $this->build_url(parse_url($url), parse_url($location)); + continue; + } + } + + if (!$content) $content = $this->request($url, 'GET'); + + # At this point, the YADIS Discovery has failed, so we'll switch + # to openid2 HTML discovery, then fallback to openid 1.1 discovery. + $server = $this->htmlTag($content, 'link', 'rel', 'openid2.provider', 'href'); + $delegate = $this->htmlTag($content, 'link', 'rel', 'openid2.local_id', 'href'); + $this->version = 2; + + if (!$server) { + # The same with openid 1.1 + $server = $this->htmlTag($content, 'link', 'rel', 'openid.server', 'href'); + $delegate = $this->htmlTag($content, 'link', 'rel', 'openid.delegate', 'href'); + $this->version = 1; + } + + if ($server) { + # We found an OpenID2 OP Endpoint + if ($delegate) { + # We have also found an OP-Local ID. + $this->identity = $delegate; + } + $this->server = $server; + return $server; + } + + throw new ErrorException("No OpenID Server found at $url", 404); + } + throw new ErrorException('Endless redirection!', 500); + } + + protected function sregParams() + { + $params = array(); + # We always use SREG 1.1, even if the server is advertising only support for 1.0. + # That's because it's fully backwards compatibile with 1.0, and some providers + # advertise 1.0 even if they accept only 1.1. One such provider is myopenid.com + $params['openid.ns.sreg'] = 'http://openid.net/extensions/sreg/1.1'; + if ($this->required) { + $params['openid.sreg.required'] = array(); + foreach ($this->required as $required) { + if (!isset(self::$ax_to_sreg[$required])) continue; + $params['openid.sreg.required'][] = self::$ax_to_sreg[$required]; + } + $params['openid.sreg.required'] = implode(',', $params['openid.sreg.required']); + } + + if ($this->optional) { + $params['openid.sreg.optional'] = array(); + foreach ($this->optional as $optional) { + if (!isset(self::$ax_to_sreg[$optional])) continue; + $params['openid.sreg.optional'][] = self::$ax_to_sreg[$optional]; + } + $params['openid.sreg.optional'] = implode(',', $params['openid.sreg.optional']); + } + return $params; + } + + protected function axParams() + { + $params = array(); + if ($this->required || $this->optional) { + $params['openid.ns.ax'] = 'http://openid.net/srv/ax/1.0'; + $params['openid.ax.mode'] = 'fetch_request'; + $this->aliases = array(); + $counts = array(); + $required = array(); + $optional = array(); + foreach (array('required','optional') as $type) { + foreach ($this->$type as $alias => $field) { + if (is_int($alias)) $alias = strtr($field, '/', '_'); + $this->aliases[$alias] = 'http://axschema.org/' . $field; + if (empty($counts[$alias])) $counts[$alias] = 0; + $counts[$alias] += 1; + ${$type}[] = $alias; + } + } + foreach ($this->aliases as $alias => $ns) { + $params['openid.ax.type.' . $alias] = $ns; + } + foreach ($counts as $alias => $count) { + if ($count == 1) continue; + $params['openid.ax.count.' . $alias] = $count; + } + + # Don't send empty ax.requied and ax.if_available. + # Google and possibly other providers refuse to support ax when one of these is empty. + if($required) { + $params['openid.ax.required'] = implode(',', $required); + } + if($optional) { + $params['openid.ax.if_available'] = implode(',', $optional); + } + } + return $params; + } + + protected function authUrl_v1($immediate) + { + $returnUrl = $this->returnUrl; + # If we have an openid.delegate that is different from our claimed id, + # we need to somehow preserve the claimed id between requests. + # The simplest way is to just send it along with the return_to url. + if($this->identity != $this->claimed_id) { + $returnUrl .= (strpos($returnUrl, '?') ? '&' : '?') . 'openid.claimed_id=' . $this->claimed_id; + } + + $params = array( + 'openid.return_to' => $returnUrl, + 'openid.mode' => $immediate ? 'checkid_immediate' : 'checkid_setup', + 'openid.identity' => $this->identity, + 'openid.trust_root' => $this->trustRoot, + ) + $this->sregParams(); + + return $this->build_url(parse_url($this->server) + , array('query' => http_build_query($params, '', '&'))); + } + + protected function authUrl_v2($immediate) + { + $params = array( + 'openid.ns' => 'http://specs.openid.net/auth/2.0', + 'openid.mode' => $immediate ? 'checkid_immediate' : 'checkid_setup', + 'openid.return_to' => $this->returnUrl, + 'openid.realm' => $this->trustRoot, + ); + if ($this->ax) { + $params += $this->axParams(); + } + if ($this->sreg) { + $params += $this->sregParams(); + } + if (!$this->ax && !$this->sreg) { + # If OP doesn't advertise either SREG, nor AX, let's send them both + # in worst case we don't get anything in return. + $params += $this->axParams() + $this->sregParams(); + } + + if ($this->identifier_select) { + $params['openid.identity'] = $params['openid.claimed_id'] + = 'http://specs.openid.net/auth/2.0/identifier_select'; + } else { + $params['openid.identity'] = $this->identity; + $params['openid.claimed_id'] = $this->claimed_id; + } + + return $this->build_url(parse_url($this->server) + , array('query' => http_build_query($params, '', '&'))); + } + + /** + * Returns authentication url. Usually, you want to redirect your user to it. + * @return String The authentication url. + * @param String $select_identifier Whether to request OP to select identity for an user in OpenID 2. Does not affect OpenID 1. + * @throws ErrorException + */ + function authUrl($immediate = false) + { + if ($this->setup_url && !$immediate) return $this->setup_url; + if (!$this->server) $this->discover($this->identity); + + if ($this->version == 2) { + return $this->authUrl_v2($immediate); + } + return $this->authUrl_v1($immediate); + } + + /** + * Performs OpenID verification with the OP. + * @return Bool Whether the verification was successful. + * @throws ErrorException + */ + function validate() + { + # If the request was using immediate mode, a failure may be reported + # by presenting user_setup_url (for 1.1) or reporting + # mode 'setup_needed' (for 2.0). Also catching all modes other than + # id_res, in order to avoid throwing errors. + if(isset($this->data['openid_user_setup_url'])) { + $this->setup_url = $this->data['openid_user_setup_url']; + return false; + } + if($this->mode != 'id_res') { + return false; + } + + $this->claimed_id = isset($this->data['openid_claimed_id'])?$this->data['openid_claimed_id']:$this->data['openid_identity']; + $params = array( + 'openid.assoc_handle' => $this->data['openid_assoc_handle'], + 'openid.signed' => $this->data['openid_signed'], + 'openid.sig' => $this->data['openid_sig'], + ); + + if (isset($this->data['openid_ns'])) { + # We're dealing with an OpenID 2.0 server, so let's set an ns + # Even though we should know location of the endpoint, + # we still need to verify it by discovery, so $server is not set here + $params['openid.ns'] = 'http://specs.openid.net/auth/2.0'; + } elseif (isset($this->data['openid_claimed_id']) + && $this->data['openid_claimed_id'] != $this->data['openid_identity'] + ) { + # If it's an OpenID 1 provider, and we've got claimed_id, + # we have to append it to the returnUrl, like authUrl_v1 does. + $this->returnUrl .= (strpos($this->returnUrl, '?') ? '&' : '?') + . 'openid.claimed_id=' . $this->claimed_id; + } + + if ($this->data['openid_return_to'] != $this->returnUrl) { + # The return_to url must match the url of current request. + # I'm assuing that noone will set the returnUrl to something that doesn't make sense. + return false; + } + + $server = $this->discover($this->claimed_id); + + foreach (explode(',', $this->data['openid_signed']) as $item) { + # Checking whether magic_quotes_gpc is turned on, because + # the function may fail if it is. For example, when fetching + # AX namePerson, it might containg an apostrophe, which will be escaped. + # In such case, validation would fail, since we'd send different data than OP + # wants to verify. stripslashes() should solve that problem, but we can't + # use it when magic_quotes is off. + $value = $this->data['openid_' . str_replace('.','_',$item)]; + $params['openid.' . $item] = function_exists('get_magic_quotes_gpc') && get_magic_quotes_gpc() ? stripslashes($value) : $value; + + } + + $params['openid.mode'] = 'check_authentication'; + + $response = $this->request($server, 'POST', $params); + + return preg_match('/is_valid\s*:\s*true/i', $response); + } + + protected function getAxAttributes() + { + $alias = null; + if (isset($this->data['openid_ns_ax']) + && $this->data['openid_ns_ax'] != 'http://openid.net/srv/ax/1.0' + ) { # It's the most likely case, so we'll check it before + $alias = 'ax'; + } else { + # 'ax' prefix is either undefined, or points to another extension, + # so we search for another prefix + foreach ($this->data as $key => $val) { + if (substr($key, 0, strlen('openid_ns_')) == 'openid_ns_' + && $val == 'http://openid.net/srv/ax/1.0' + ) { + $alias = substr($key, strlen('openid_ns_')); + break; + } + } + } + if (!$alias) { + # An alias for AX schema has not been found, + # so there is no AX data in the OP's response + return array(); + } + + $attributes = array(); + foreach (explode(',', $this->data['openid_signed']) as $key) { + $keyMatch = $alias . '.value.'; + if (substr($key, 0, strlen($keyMatch)) != $keyMatch) { + continue; + } + $key = substr($key, strlen($keyMatch)); + if (!isset($this->data['openid_' . $alias . '_type_' . $key])) { + # OP is breaking the spec by returning a field without + # associated ns. This shouldn't happen, but it's better + # to check, than cause an E_NOTICE. + continue; + } + $value = $this->data['openid_' . $alias . '_value_' . $key]; + $key = substr($this->data['openid_' . $alias . '_type_' . $key], + strlen('http://axschema.org/')); + + $attributes[$key] = $value; + } + return $attributes; + } + + protected function getSregAttributes() + { + $attributes = array(); + $sreg_to_ax = array_flip(self::$ax_to_sreg); + foreach (explode(',', $this->data['openid_signed']) as $key) { + $keyMatch = 'sreg.'; + if (substr($key, 0, strlen($keyMatch)) != $keyMatch) { + continue; + } + $key = substr($key, strlen($keyMatch)); + if (!isset($sreg_to_ax[$key])) { + # The field name isn't part of the SREG spec, so we ignore it. + continue; + } + $attributes[$sreg_to_ax[$key]] = $this->data['openid_sreg_' . $key]; + } + return $attributes; + } + + /** + * Gets AX/SREG attributes provided by OP. should be used only after successful validaton. + * Note that it does not guarantee that any of the required/optional parameters will be present, + * or that there will be no other attributes besides those specified. + * In other words. OP may provide whatever information it wants to. + * * SREG names will be mapped to AX names. + * * @return Array Array of attributes with keys being the AX schema names, e.g. 'contact/email' + * @see http://www.axschema.org/types/ + */ + function getAttributes() + { + if (isset($this->data['openid_ns']) + && $this->data['openid_ns'] == 'http://specs.openid.net/auth/2.0' + ) { # OpenID 2.0 + # We search for both AX and SREG attributes, with AX taking precedence. + return $this->getAxAttributes() + $this->getSregAttributes(); + } + return $this->getSregAttributes(); + } +} diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/index.html b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/index.html new file mode 100644 index 0000000..065d2da --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/Hybrid/thirdparty/index.html @@ -0,0 +1,10 @@ + + + 403 Forbidden + + + +

    Directory access is forbidden.

    + + + \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/hybridauth/index.php b/wp-content/plugins/wordpress-social-login/hybridauth/index.php new file mode 100644 index 0000000..8d611b7 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/hybridauth/index.php @@ -0,0 +1,15 @@ + +
    + + +
    +
    + +
    +

    + +

    + +
    +

    + Please for the love of God, stay out of Advanced.. unless you are Advanced and you know what you are doing", 'wordpress-social-login') ?>. +

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    : + +
    : + +
    : + +
    : + +
    +
    +
    + +
    +
    + " /> +
    + +
    +
    +
    + +
    + + +
    + + + + + + +
    + + + +
    +
    +
    + +
    + +
    +

    + +

    +
    +

    + +

    + + + + + + + + + +
    : + +
    : + +
    +
    +
    + +
    +

    + +

    +
    +

    + +

    +

    + Profile Completion for both E-mail and Username, but keep in mind, the idea behind social login is to avoid forms and remove all the hassle of registration", 'wordpress-social-login') ?>. +

    + + + + + + + + + +
    : + +
    : + +
    +
    +
    + +
    +

    + +

    +
    +

    + User Moderation will define how Bouncer should behave with new regsitred users:", 'wordpress-social-login') ?> +

    +
      +
    • None: No moderation required.", 'wordpress-social-login') ?>
    • +
    • E-mail Confirmation: New users will need to be confirm their e-mail address before they may log in', 'wordpress-social-login') ?>.
    • +
    • Admin Approval: New users will need to be approved by an administrator before they may log in', 'wordpress-social-login') ?>.
    • +
    +

    + Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for WordPress Social Login to reinvent the wheel', 'wordpress-social-login') ?>. +

    +

    + User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he does, a hell of a lot of people are using it and many have asked for it', 'wordpress-social-login') ?>. +

    + + + + + +
    : + +
    +
    +
    + +
    +

    + +

    +
    +

    + Administrator and Editor roles are not available for safety reasons', 'wordpress-social-login') ?>. +

    +

    + http://codex.wordpress.org/Roles_and_Capabilities', 'wordpress-social-login') ?>. +

    +

    + User Moderation is set to Admin Approval then Membership level will be ignored', 'wordpress-social-login') ?>. +

    + + + + + +
    : + +
    +
    +
    + +
    +

    + +

    +
    +

    + + Bounce text insert the text you want to display for rejected users. ex: gmail.com, without '@'.", 'wordpress-social-login') ?> +

    + + + + + + + + + + + + + +
    : + +

    :

    + +

    :

    + +
    +
    +
    + +
    +

    + +

    +
    +

    + + Bounce text insert the text you want to display for rejected users. ex: hybridauth@gmail.com", 'wordpress-social-login') ?> +

    + + + + + + + + + + + + + +
    : + +

    :

    + +

    :

    + +
    +
    +
    + +
    +

    + +

    +
    +

    + + Note: If a social network provide the user email, then use 'Filters by e-mails addresses' instead. Providers like Facebook provide multiples profiles URLs per user and WSL won't be able to reconize them.", 'wordpress-social-login') ?> + Bounce text insert the text you want to display for rejected users. ex: http://twitter.com/HybridAuth, https://plus.google.com/u/0/108839241301472312344", 'wordpress-social-login') ?> +

    + + + + + + + + + + + + + +
    : + +

    :

    + +

    :

    + +
    +
    +
    + +
    + +
    + " /> +
    +
    + +
    +
    + +
    +
    + +
    + +

    + + + +
    +

    +
    +

    .

    +

    .

    +
    + + +
    +
    + +
    +

    +
    +

    WordPress Social Login extenstion or component? Well, it's pretty easy. Just RTFM :)", 'wordpress-social-login' ) ?>

    + +
    + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + $settings ){ + if( $name == "core" ){ + continue; + } + ?> + "> + + + + + + +
     
     
      + +
    + +
    + +
    + + +
    +

    +
    +

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

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

    + +

    +
    +

    + WordPress Social Login is now introducing Contacts Import as a new feature. When enabled, users authenticating through WordPress Social Login will be asked for the authorisation to import their contact list. Note that some social networks do not provide certains of their users information like contacts emails, photos and or profile urls", 'wordpress-social-login') ?>. +

    +

    :

    + + + + + + + + + + + + + +
    Facebook : + + Google : + + Twitter : + + Windows Live : + + LinkedIn : + +
    +

    + : +

      +
    • Networks tab and register the required application', 'wordpress-social-login') ?>.
    • +
    • WSL will try to import as much information about a user contacts as he was able to pull from the social networks APIs.", 'wordpress-social-login') ?>
    • +
    • `wsluserscontacts`', 'wordpress-social-login') ?>.
    • +
    +

    +
    +
    + +
    +
    + " /> +
    + +
    +
    +
    + +
    +
    +

    + +

    + + + + + + + + + + + + + + + + + + + + + +prefix}wsluserscontacts` order by rand() limit 10"; + + if( $user_id ){ + $sql = "SELECT * FROM `{$wpdb->prefix}wsluserscontacts` WHERE user_id = '$user_id'"; + } + + $rs1 = $wpdb->get_results( $sql ); + + // have contacts? + if( ! $rs1 ){ + ?> + + provider; + $user_id = $item->user_id; + $contact_id = $item->id; +?> + "> + + + + + + + + +
    .
    " style="vertical-align:top;width:16px;height:16px;" /> + + + + + + + + ( ) + +
    +
    + + + + + + +
    +
    + + + + - + + + + + + - + +
    +
    + +
    +
    + + +

    + +

    + WordPress Social Login to work properly, your server should meet certain requirements. These "requirements"
    and "services" are usually offered by default by most "modern" web hosting providers, however some complications may
    occur with shared hosting and, or custom wordpress installations', 'wordpress-social-login') ?>. +

    +

    + : +

    +
      +
    • = 5.2.0 installed", 'wordpress-social-login') ?>
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +

    + WordPress Social Login Requirements Test by clicking the button bellow", 'wordpress-social-login') ?>: + +
    +
    + + . +

    + +
    +
    + +

    + +

    + This report can help your figure out the root of any issues you may runs into, or you can also send it to the plugin developer.
    Its recommend to set the Development mode to Disabled on production.', 'wordpress-social-login') ?> + +
    +
    + + " /> +

    +
    +
    + +
    +
    +

    +

    + + + +

    +

    + WordPress Social Login Diagnostics to check the Plugin Requirements or to enable the Development mode', 'wordpress-social-login') ?>. +

    +

    + . +

    +
    + +

    +

    + User Guide can be found at + hybridauth.sourceforge.net/wsl/index.html', 'wordpress-social-login') ?> +

    + +
    + +

    +

    + Frequently asked questions can be found at + hybridauth.sourceforge.net/wsl/faq.html', 'wordpress-social-login') ?> +

    + +
    + +

    +

    + http://hybridauth.sourceforge.net/wsl/support.html', 'wordpress-social-login') ?> +

    + +
    + +

    +

    + Mohamed Mrassi (a.k.a Miled) and contributors', 'wordpress-social-login') ?>. + constructive discussions, support and by submitting patches", 'wordpress-social-login') ?>. +

    + +
    + +

    +

    + WordPress Social Login is an open source software licenced under The MIT License (MIT)", 'wordpress-social-login') ?> +

    + +
    +	Copyright (C) 2011-2013 Mohamed Mrassi and contributors
    +
    +	Permission is hereby granted, free of charge, to any person obtaining
    +	a copy of this software and associated documentation files (the
    +	"Software"), to deal in the Software without restriction, including
    +	without limitation the rights to use, copy, modify, merge, publish,
    +	distribute, sublicense, and/or sell copies of the Software, and to
    +	permit persons to whom the Software is furnished to do so, subject to
    +	the following conditions:
    +
    +	The above copyright notice and this permission notice shall be
    +	included in all copies or substantial portions of the Software.
    +
    +	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +	EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +	MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +	NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +	LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +	OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +	WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
    + +
    + + +
    + + + + + + +
    + + + +
    +
    +
    + +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + +
    : + +
    : + +
    : + +
    +
    +
    +
    + +
    +

    + +

    +
    + + + + + + + + + + + + + + + + + +
    : + +
    : + +
    : + +
    : + +
    +
    +
    +
    + +
    +

    + +

    +
    + + + + + +
    : + /wordpress-social-login/assets/css/style.css, or change it from this text area", 'wordpress-social-login') ?>. +
    + +
    +

    :

    +
    +<span id="wp-social-login-connect-with">{connect_with_caption}</span>
    +
    +<div id="wp-social-login-connect-options">
    +    <a class="wsl_connect_with_provider">
    +        <img src="{provider_icon_facebook}" />
    +    </a>
    +
    +    <a class="wsl_connect_with_provider">
    +        <img src="{provider_icon_google}" />
    +    </a>
    +
    +    etc.
    +</div>
    +
    +
    +
    +
    +
    + +
    + +
    + " /> +
    + +
    + +
    +
    + +
    +
    + +
    + + +
    + + + + + + +
    +
    + + +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    + +prefix}users`"; + $rs1 = $wpdb->get_results( $sql ); + + $sql = "SELECT count( * ) as items FROM `{$wpdb->prefix}usermeta` where meta_key = 'wsl_user'"; + $rs2 = $wpdb->get_results( $sql ); + + $total_users = (int) $rs1[0]->items; + $total_users_wsl = (int) $rs2[0]->items; + $users_conversion = ( 100 * $total_users_wsl ) / $total_users; + + if( $total_users_wsl && wsl_is_component_enabled( "basicinsights" ) ){ +?> +
    +
    + +
    +
    + + +' . $endpoint_url . '?hauth.done=' . $provider_id . ''; + } + + $setupsteps = 0; +?> + +
    +

    + +

    +
    + + + + + + + + + + + class="wsl_tr_settings_" > + + + + + + class="wsl_tr_settings_" > + + + + + + class="wsl_tr_settings_" > + + + + + + +
    : + +  
    :
    :
    :
    + +
    +
    +

    + : + + %s do not provide their user's email address and by default a random email will then be generated for them instead", 'wordpress-social-login'), $provider_name ) ?>. + + Bouncer and enable Profile Completion', 'wordpress-social-login') ?>. +

    + +
    +
    display:none;" + > +
    + + Application id and secret (also sometimes referred as Customer key and secret or Client id and secret) are what we call an application credentials', 'wordpress-social-login') ?>. + + %s to %s API and these credentials are needed in order for %s users to access your website', 'wordpress-social-login'), $_SERVER["SERVER_NAME"], $provider_name, $provider_name ) ?>. +
    + + +
    +
    + + %s API Application, carefully follow the steps', 'wordpress-social-login'), $provider_name ) ?> + :
    + +

    Done. Nothing more required for %s', 'wordpress-social-login'), $provider_name) ?>.

    + +
    + +

    " . ++$setupsteps . "." ?> Go to and create a new application.

    + + +

    " . ++$setupsteps . "." ?> On the Dashboard sidebar click on API Access then Click "Create an OAuth 2.0 client ID...".

    + + + +

    +

    " . ++$setupsteps . "." ?> On the "Create Client ID" popup : +
       - Enter a product name (the name of your website will do). +
       - Enter the URL for a logo if you like. +
       - Click Next. +
       - Select "Web application" as the application type. +
       - Then switch to advanced settings by clicking on (more options) + .

    + +

    " . ++$setupsteps . "." ?> Fill out any required fields such as the application name and description.

    + + + +

    + " . ++$setupsteps . "." ?> Provide this URL as the Callback URL for your application: +
    + +

    + + + +

    " . ++$setupsteps . "." ?> Put your website domain in the External Url and External Callback Validation fields. This should match with the current hostname .

    + + + +

    " . ++$setupsteps . "." ?> Put your website domain in the Redirect Domain field. This should match with the current hostname .

    + + + +

    " . ++$setupsteps . "." ?> Put your website domain in the Site Url field. This should match with the current hostname .

    + + + +

    " . ++$setupsteps . "." ?> Put your website domain in the Integration URL field. This should match with the current hostname .

    +

    " . ++$setupsteps . "." ?> Set the Application Type to Web Application.

    + + + +

    " . ++$setupsteps . "." ?> Put your website domain in the Application Website and Application Callback URL fields. This should match with the current hostname .

    + + +

    " . ++$setupsteps . "." ?> Once you have registered, copy and past the created application credentials into this setup page.

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

    + +
    + Google it, then check it on b) Youtube and if nothing works c) ask for support', 'wordpress-social-login'), $provider_name, $provider_name ) ?>. +

    + +
    +
    +
    +
    + + " /> + +
    +
    + +
    +
    +prefix}usermeta` where meta_key = 'wsl_user'"; + $rs1 = $wpdb->get_results( $sql ); +?> +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + meta_value; + $user_id = $items->user_id; + ?> + tr-contacts"> + + + + + + + + + + +
    .
    + + provider != $provider ){ + ?> +
    + provider ?> + +
    + + + + + + +
    +
    + + + + + - + + + + + + + - + + + prefix}wsluserscontacts` where user_id = '$user_id'"; + $rs = $wpdb->get_results( $sql ); + + if( $rs && $rs[0]->counts ){ + echo '' . $rs[0]->counts . ''; + } + else{ + echo "0"; + } + ?> + + Profile + Contacts +
    +
    + + +

    + Edit User + Show User Contacts List +

    +
    + +

    provider ); ?>

    + + + + + + + + +
    identifier ; ?>
    The Unique user's ID. Can be an interger for some providers, Email, URL, etc.

    The Unique user's ID on your website.
    profileurl; ?>
    URL link to profile page on the provider; ?> web site.
    websiteurl; ?>
    User website, blog, web page, etc.
    photourl; ?>
    URL link to user photo or avatar.
    displayname ; ?>
    User dispaly Name provided by the provider; ?> or a concatenation of first and last name.
    description ; ?> +
    firstname ; ?> +
    lastname ; ?> +
    gender ; ?> +
    language ; ?> +
    age ; ?> +
    birthday ; ?> +
    birthmonth ; ?> +
    birthyear ; ?> +
    email ; ?> +
    phone ; ?> +
    address ; ?> +
    country ; ?> +
    region ; ?> +
    city ; ?> +
    zip ; ?> +
    + +
    +
    + $name, 'media_buttons' => true, 'tinymce' => array( 'theme_advanced_buttons1' => 'formatselect,forecolor,|,bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink' ) ) + ); + ?> +
    +
    + + + +
    +

    + WordPress Social Login + + + + + () + +

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

    + +
    + +

    + Component! Check the list of enabled components or the typed URL', 'wordpress-social-login') ?> . +

    + +

    + WordPress Social Login, be sure to let us know so we can fix it", 'wordpress-social-login') ?>. +

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

    + +
    + +

    + author and other contributors, put into WordPress Social Login in terms of reliability, portability,
    and maintenance', 'wordpress-social-login') ?>. + +

    +

    + occur with shared hosting and, or custom wordpress installations', 'wordpress-social-login') ?>. +

    +

    + WordPress Social Login Requirements Test by clicking the button bellow", 'wordpress-social-login') ?>: + +
    +
    + + +

    + +
    +
    + +

    + WordPress Social Login is an open source software licenced under The MIT License (MIT)", 'wordpress-social-login') ?> +

    + +
    +	Copyright (C) 2011-2013 Mohamed Mrassi and contributors
    +
    +	Permission is hereby granted, free of charge, to any person obtaining
    +	a copy of this software and associated documentation files (the
    +	"Software"), to deal in the Software without restriction, including
    +	without limitation the rights to use, copy, modify, merge, publish,
    +	distribute, sublicense, and/or sell copies of the Software, and to
    +	permit persons to whom the Software is furnished to do so, subject to
    +	the following conditions:
    +
    +	The above copyright notice and this permission notice shall be
    +	included in all copies or substantial portions of the Software.
    +
    +	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    +	EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    +	MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    +	NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
    +	LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
    +	OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    +	WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    +
    +
    + + + +
    + + + + + + + + + + + + + +
    + +

    + . +

    +
    +
    +

    + +

    +
      +
    • Setup and Configuration', 'wordpress-social-login') ?>
    • +
    • Customize WSL Widgets', 'wordpress-social-login') ?>
    • +
    • Manage users and contacts', 'wordpress-social-login') ?>
    • +
    • WSL User Guide and FAQ', 'wordpress-social-login') ?>
    • +
    +
    +
    +

    + +

    +
      +
    • Components', 'wordpress-social-login') ?>,
    • +
    • Email Validation is replaced with Profile Completion', 'wordpress-social-login') ?>,
    • +
    • User Moderation made compatible with Theme My Login plugin', 'wordpress-social-login') ?>,
    • +
    • .
    • +
    +
    +   +
    +
    + +
    + + + + + + + +
    +

    + +
    + +

    + . + + MIT License, for the Wordpress community to, freely use or misuse", 'wordpress-social-login' ) ?>. +

    + +
    + +
    + + " class="button-primary" onClick="wsl_i18n_done()" > +
    +
    +
    +

    + +
    + +

    translate as much you please as much as you want. You don't have to translate everything in this page. Ignore any string you want or aleardy translated. You could also use this tool to fix any typo you may find or to improve the current language expressions", 'wordpress-social-login' ) ?>.

    + +

    .

    + +

    .

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

    ()
    + " ); ?>" class="inputgnrc" style="width:400px;"> +

    ()
    + +
    +
    +
    + +
    +
    +
    + + + [wp-login.php] wp-login.php will call wsl_process_login() and attempt to authenticate the user throught Hybridauth Library; +* => [Hybridauth] <=> [Provider] Hybridauth and the Provider will have some little chat on their own; +* => [Provider] If the visitor consent and agrees to authenticate, then horray for you; +* => [wp-login.php] Provider will then redirect the user to back wp-login.php where wsl_process_login() is fired; +* => [callback URL] If things goes as expected, the wsl_process_login will log the user on your website and redirect him (again lolz) there. +* +* when wsl_process_login() is triggered, it will attempt to reconize the user. +* If he exist on the database as WSL user, then fine we cut things short. +* If not, attempt to reconize users based on his email (this only when users authenticate through Facebook, Google, Yahoo or Foursquare as these provides verified emails). +* Otherwise create new account for him. +*/ + +// Exit if accessed directly +if ( !defined( 'ABSPATH' ) ) exit; + +// -------------------------------------------------------------------- + +function wsl_process_login() +{ + if( ! wsl_process_login_checks() ){ + return null; + } + + if( $_REQUEST[ 'action' ] == "wordpress_social_authenticate" ){ + wsl_process_login_auth(); + } + else{ + wsl_process_login_reauth(); + } +} + +add_action( 'init', 'wsl_process_login' ); + +// -------------------------------------------------------------------- + +function wsl_process_login_checks() +{ + if( ! isset( $_REQUEST[ 'action' ] ) ){ + return false; + } + + if( ! in_array( $_REQUEST[ 'action' ], array( "wordpress_social_login", "wordpress_social_link", "wordpress_social_authenticate" ) ) ){ + return false; + } + + // dont be silly + if( $_REQUEST[ 'action' ] == "wordpress_social_link" && ! is_user_logged_in() ){ + wsl_render_notices_pages( _wsl__("Bouncer say don't be silly!", 'wordpress-social-login') ); + + return false; + } + + if( $_REQUEST[ 'action' ] == "wordpress_social_link" && get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) != 1 ){ + wsl_render_notices_pages( _wsl__("Bouncer say this makes no sense.", 'wordpress-social-login') ); + + return false; + } + + // Bouncer :: Allow authentication + if( get_option( 'wsl_settings_bouncer_authentication_enabled' ) == 2 ){ + wsl_render_notices_pages( _wsl__("WSL is disabled!", 'wordpress-social-login') ); + + return false; + } + + return true; +} + +// -------------------------------------------------------------------- + +function wsl_process_login_auth() +{ + $assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/'; + + // let display a loading message. should be better than a white screen + if( isset( $_REQUEST["provider"] ) && ! isset( $_REQUEST["redirect_to_provider"] ) ){ + wsl_process_login_render_loading_page(); + } + + // if user select a provider to login with + // and redirect_to_provider eq ture + if( ! ( isset( $_REQUEST["provider"] ) && isset( $_REQUEST["redirect_to_provider"] ) ) ){ + wsl_render_notices_pages( _wsl__("Bouncer says this makes no sense.", 'wordpress-social-login') ); + + return false; + } + + try{ + // Bouncer :: Accounts Linking is enabled + if( get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) != 1 && isset( $_REQUEST["link"] ) ){ + wp_die( _wsl__("Bouncer say you are doin it wrong.", 'wordpress-social-login') ); + } + + if( ! isset( $_REQUEST["link"] ) && is_user_logged_in() ){ + global $current_user; + get_currentuserinfo(); + + wp_die( sprintf( _wsl__("You are already logged in as %.", 'wordpress-social-login'), $current_user->display_name ) ); + } + + # Hybrid_Auth already used? + if ( class_exists('Hybrid_Auth', false) ) { + return wsl_render_notices_pages( _wsl__("Error: Another plugin seems to be using HybridAuth Library and made WordPress Social Login unusable. We recommand to find this plugin and to kill it with fire!", 'wordpress-social-login') ); + } + + // load hybridauth + require_once WORDPRESS_SOCIAL_LOGIN_ABS_PATH . "/hybridauth/Hybrid/Auth.php"; + + // selected provider name + $provider = @ trim( strip_tags( $_REQUEST["provider"] ) ); + + // build required configuratoin for this provider + if( ! get_option( 'wsl_settings_' . $provider . '_enabled' ) ){ + throw new Exception( _wsl__( 'Unknown or disabled provider', 'wordpress-social-login') ); + } + + // default endpoint_url/callback_url + $endpoint_url = WORDPRESS_SOCIAL_LOGIN_HYBRIDAUTH_ENDPOINT_URL; + $callback_url = null; // autogenerated by hybridauth + + // overwrite endpoint_url if need'd + if( get_option( 'wsl_settings_base_url' ) ){ + $endpoint_url = ''; // fixme! + $callback_url = ''; // fixme! + } + + // check hybridauth_base_url + if( ! strstr( $endpoint_url, "http://" ) && ! strstr( $endpoint_url, "https://" ) ){ + throw new Exception( 'Invalid base_url: ' . $endpoint_url, 9 ); + } + + $config = array(); + $config["base_url"] = $endpoint_url; + $config["providers"] = array(); + $config["providers"][$provider] = array(); + $config["providers"][$provider]["enabled"] = true; + + // provider application id ? + if( get_option( 'wsl_settings_' . $provider . '_app_id' ) ){ + $config["providers"][$provider]["keys"]["id"] = get_option( 'wsl_settings_' . $provider . '_app_id' ); + } + + // provider application key ? + if( get_option( 'wsl_settings_' . $provider . '_app_key' ) ){ + $config["providers"][$provider]["keys"]["key"] = get_option( 'wsl_settings_' . $provider . '_app_key' ); + } + + // provider application secret ? + if( get_option( 'wsl_settings_' . $provider . '_app_secret' ) ){ + $config["providers"][$provider]["keys"]["secret"] = get_option( 'wsl_settings_' . $provider . '_app_secret' ); + } + + // reset scope for if facebook + if( strtolower( $provider ) == "facebook" ){ + $config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website"; + $config["providers"][$provider]["display"] = "popup"; + } + + // reset scope for if google + if( strtolower( $provider ) == "google" ){ + $config["providers"][$provider]["scope"] = "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email"; + } + + // Contacts import + if( get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" ){ + $config["providers"][$provider]["scope"] = "email, user_about_me, user_birthday, user_hometown, user_website, read_friendlists"; + } + + if( get_option( 'wsl_settings_contacts_import_google' ) == 1 && strtolower( $provider ) == "google" ){ + $config["providers"][$provider]["scope"] = "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.google.com/m8/feeds/"; + } + + // create an instance for Hybridauth + $hybridauth = new Hybrid_Auth( $config ); + + // try to authenticate the selected $provider + $params = array(); + + // if callback_url defined, overwrite Hybrid_Auth::getCurrentUrl(); + if( $callback_url ){ + $params["hauth_return_to"] = $callback_url; + } + + $adapter = $hybridauth->authenticate( $provider, $params ); + + // further testing + if( get_option( 'wsl_settings_development_mode_enabled' ) ){ + $profile = $adapter->getUserProfile( $provider ); + } + + if( get_option( 'wsl_settings_use_popup' ) == 1 || ! get_option( 'wsl_settings_use_popup' ) ){ + ?> + + + +
    + + + + + + + +
    + getCode() ){ + case 0 : $message = _wsl__("Unspecified error.", 'wordpress-social-login'); break; + case 1 : $message = _wsl__("Hybriauth configuration error.", 'wordpress-social-login'); break; + case 2 : $message = _wsl__("Provider not properly configured.", 'wordpress-social-login'); break; + case 3 : $message = _wsl__("Unknown or disabled provider.", 'wordpress-social-login'); break; + case 4 : $message = _wsl__("Missing provider application credentials.", 'wordpress-social-login'); + $hint = sprintf( _wsl__("What does this error mean ?
    Most likely, you didn't setup the correct application credentials for this provider. These credentials are required in order for %s users to access your website and for WordPress Social Login to work.", 'wordpress-social-login'), $provider ) . _wsl__('
    Instructions for use can be found in the User Manual.', 'wordpress-social-login'); + break; + case 5 : $message = _wsl__("Authentification failed. The user has canceled the authentication or the provider refused the connection.", 'wordpress-social-login'); break; + case 6 : $message = _wsl__("User profile request failed. Most likely the user is not connected to the provider and he should to authenticate again.", 'wordpress-social-login'); + if( is_object( $adapter ) ) $adapter->logout(); + break; + case 7 : $message = _wsl__("User not connected to the provider.", 'wordpress-social-login'); + if( is_object( $adapter ) ) $adapter->logout(); + break; + case 8 : $message = _wsl__("Provider does not support this feature.", 'wordpress-social-login'); break; + + case 9 : $message = $e->getMessage(); break; + } + + @ session_destroy(); +?> + + + + + + + + +
    + + + + + + + + + + + + + + + + + + +



    +

    + +

    +
    +

    + +

    +
    +
    + + + + + +
    +
    +
    "> + + + + + + + +
    +

    Expection

    +
    + +
    + +

    HybridAuth

    +
    +
    + +
    + + +
    + + Development mode to Disabled", 'wordpress-social-login') ?>. + +
    +
    + + + + + + + +<?php _wsl_e("Redirecting...", 'wordpress-social-login') ?> + + + + + +
    + + + + + + + +


    %s, please wait...", 'wordpress-social-login'), ucfirst( $provider ) ) ?>
    +
    + + +user_login; + $user_email = $hybridauth_user_profile->email; + } + + // otherwise, create new user and associate provider identity + else{ + list( + $user_id , // .. + $user_login , // .. + $user_email , // .. + ) + = wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile, $request_user_login, $request_user_email ); + } + + // There was a bug when *_create_wp_user returned WP_Error, so just in case + if( ! is_integer( $user_id ) ){ + return wsl_render_notices_pages( _wsl__("Invalid user_id returned by create_wp_user.", 'wordpress-social-login') ); + } + + // finally create a wp session for the user + return wsl_process_login_authenticate_wp_user( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile ); +} + +// -------------------------------------------------------------------- + +function wsl_process_login_get_redirect_to() +{ + if ( isset( $_REQUEST[ 'redirect_to' ] ) && $_REQUEST[ 'redirect_to' ] != '' ){ + $redirect_to = $_REQUEST[ 'redirect_to' ]; + + // Redirect to https if user wants ssl + if ( isset( $secure_cookie ) && $secure_cookie && false !== strpos( $redirect_to, 'wp-admin') ){ + $redirect_to = preg_replace( '|^http://|', 'https://', $redirect_to ); + } + + if ( strpos( $redirect_to, 'wp-admin') && ! is_user_logged_in() ){ + $redirect_to = get_option( 'wsl_settings_redirect_url' ); + } + + if ( strpos( $redirect_to, 'wp-login.php') ){ + $redirect_to = get_option( 'wsl_settings_redirect_url' ); + } + } + + if( get_option( 'wsl_settings_redirect_url' ) != site_url() ){ + $redirect_to = get_option( 'wsl_settings_redirect_url' ); + } + + if( empty( $redirect_to ) ){ + $redirect_to = get_option( 'wsl_settings_redirect_url' ); + } + + if( empty( $redirect_to ) ){ + $redirect_to = site_url(); + } + + return $redirect_to; +} + +// -------------------------------------------------------------------- + +function wsl_process_login_get_provider() +{ + // selected provider name + $provider = @ trim( strip_tags( $_REQUEST["provider"] ) ); + + return $provider; +} + +// -------------------------------------------------------------------- + +function wsl_process_login_hybridauth_authenticate( $provider, $redirect_to ) +{ + try{ + # Hybrid_Auth already used? + if ( class_exists('Hybrid_Auth', false) ) { + return wsl_render_notices_pages( _wsl__("Error: Another plugin seems to be using HybridAuth Library and made WordPress Social Login unusable. We recommand to find this plugin and to kill it with fire!", 'wordpress-social-login') ); + } + + // load hybridauth + require_once WORDPRESS_SOCIAL_LOGIN_ABS_PATH . "/hybridauth/Hybrid/Auth.php"; + + // build required configuratoin for this provider + if( ! get_option( 'wsl_settings_' . $provider . '_enabled' ) ){ + throw new Exception( 'Unknown or disabled provider' ); + } + + $config = array(); + $config["providers"] = array(); + $config["providers"][$provider] = array(); + $config["providers"][$provider]["enabled"] = true; + + // provider application id ? + if( get_option( 'wsl_settings_' . $provider . '_app_id' ) ){ + $config["providers"][$provider]["keys"]["id"] = get_option( 'wsl_settings_' . $provider . '_app_id' ); + } + + // provider application key ? + if( get_option( 'wsl_settings_' . $provider . '_app_key' ) ){ + $config["providers"][$provider]["keys"]["key"] = get_option( 'wsl_settings_' . $provider . '_app_key' ); + } + + // provider application secret ? + if( get_option( 'wsl_settings_' . $provider . '_app_secret' ) ){ + $config["providers"][$provider]["keys"]["secret"] = get_option( 'wsl_settings_' . $provider . '_app_secret' ); + } + + // create an instance for Hybridauth + $hybridauth = new Hybrid_Auth( $config ); + + // try to authenticate the selected $provider + if( $hybridauth->isConnectedWith( $provider ) ){ + $adapter = $hybridauth->getAdapter( $provider ); + + $hybridauth_user_profile = $adapter->getUserProfile(); + + // check hybridauth user email + $hybridauth_user_id = (int) wsl_get_user_by_meta( $provider, $hybridauth_user_profile->identifier ); + $hybridauth_user_email = sanitize_email( $hybridauth_user_profile->email ); + $hybridauth_user_login = sanitize_user( $hybridauth_user_profile->displayName ); + + $request_user_login = ""; + $request_user_email = ""; + + # {{{ linking new accounts + // Bouncer :: Accounts Linking is enabled + if( get_option( 'wsl_settings_bouncer_linking_accounts_enabled' ) == 1 ){ + // if user is linking account + // . we DO import contacts + // . we DO store the user profile + // + // . we DONT create another entry on user table + // . we DONT create nor update his data on usermeata table + if( $_REQUEST[ 'action' ] == "wordpress_social_link" ){ + global $current_user; + + get_currentuserinfo(); + $user_id = $current_user->ID; + + return wsl_process_login_authenticate_wp_user_linked_account( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile ); + } + + // check if connected user is linked account + $linked_account = wsl_get_user_linked_account_by_provider_and_identifier( $provider, $hybridauth_user_profile->identifier ); + + // if linked account found, we connect the actual user + if( $linked_account ){ + if( count( $linked_account ) > 1 ){ + return wsl_render_notices_pages( _wsl__("This $provider is linked to many accounts!", 'wordpress-social-login') ); + } + + $user_id = $linked_account[0]->user_id; + + if( ! $user_id ){ + return wsl_render_notices_pages( _wsl__("Something wrong!", 'wordpress-social-login') ); + } + + return wsl_process_login_authenticate_wp_user( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile ); + } + } + # }}} linking new accounts + + # {{{ module Bouncer + // Bouncer :: Filters by emails domains name + if( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_enabled' ) == 1 ){ + if( empty( $hybridauth_user_email ) ){ + return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ) ); + } + + $list = get_option( 'wsl_settings_bouncer_new_users_restrict_domain_list' ); + $list = preg_split( '/$\R?^/m', $list ); + + $current = strstr( $hybridauth_user_email, '@' ); + + $shall_pass = false; + foreach( $list as $item ){ + if( trim( strtolower( "@$item" ) ) == strtolower( $current ) ){ + $shall_pass = true; + } + } + + if( ! $shall_pass ){ + return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ) ); + } + } + + // Bouncer :: Filters by e-mails addresses + if( get_option( 'wsl_settings_bouncer_new_users_restrict_email_enabled' ) == 1 ){ + if( empty( $hybridauth_user_email ) ){ + return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ) ); + } + + $list = get_option( 'wsl_settings_bouncer_new_users_restrict_email_list' ); + $list = preg_split( '/$\R?^/m', $list ); + + $shall_pass = false; + foreach( $list as $item ){ + if( trim( strtolower( $item ) ) == strtolower( $hybridauth_user_email ) ){ + $shall_pass = true; + } + } + + if( ! $shall_pass ){ + return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ) ); + } + } + + // Bouncer :: Filters by profile urls + if( get_option( 'wsl_settings_bouncer_new_users_restrict_profile_enabled' ) == 1 ){ + $list = get_option( 'wsl_settings_bouncer_new_users_restrict_profile_list' ); + $list = preg_split( '/$\R?^/m', $list ); + + $shall_pass = false; + foreach( $list as $item ){ + if( trim( strtolower( $item ) ) == strtolower( $hybridauth_user_profile->profileURL ) ){ + $shall_pass = true; + } + } + + if( ! $shall_pass ){ + return wsl_render_notices_pages( get_option( 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' ) ); + } + } + + // if user do not exist + if( ! $hybridauth_user_id ){ + // Bouncer :: Accept new registrations + if( get_option( 'wsl_settings_bouncer_registration_enabled' ) == 2 ){ + return wsl_render_notices_pages( _wsl__("registration is now closed!", 'wordpress-social-login') ); + } + + // Bouncer :: Profile Completion + if( + ( get_option( 'wsl_settings_bouncer_profile_completion_require_email' ) == 1 && empty( $hybridauth_user_email ) ) || + get_option( 'wsl_settings_bouncer_profile_completion_change_username' ) == 1 + ){ + do + { + list( $shall_pass, $request_user_login, $request_user_email ) = wsl_process_login_complete_registration( $provider, $redirect_to, $hybridauth_user_email, $hybridauth_user_login ); + } + while( ! $shall_pass ); + } + } + # }}} module Bouncer + } + else{ + throw new Exception( 'User not connected with ' . $provider . '!' ); + } + } + catch( Exception $e ){ + return wsl_render_notices_pages( sprintf( _wsl__("Unspecified error. #%d", 'wordpress-social-login'), $e->getCode() ) ); + } + + $user_id = null; + + // if the user email is verified, then try to map to legacy account if exist + // > Currently only Facebook, Google, Yahaoo and Foursquare do provide the verified user email. + if ( ! empty( $hybridauth_user_profile->emailVerified ) ){ + $user_id = (int) email_exists( $hybridauth_user_profile->emailVerified ); + } + + // try to get user by meta if not + if( ! $user_id ){ + $user_id = (int) wsl_get_user_by_meta( $provider, $hybridauth_user_profile->identifier ); + } + + return array( + $user_id, + $adapter, + $hybridauth_user_profile, + $hybridauth_user_id, + $hybridauth_user_email, + $request_user_login, + $request_user_email, + ); +} + +// -------------------------------------------------------------------- + +function wsl_process_login_create_wp_user( $provider, $hybridauth_user_profile, $request_user_login, $request_user_email ) +{ + // HOOKABLE: any action to fire right before a user created on database + do_action( 'wsl_hook_process_login_before_create_wp_user' ); + + $user_login = null; + $user_email = null; + + // if coming from "complete registration form" + if( $request_user_email && $request_user_login ){ + $user_login = $request_user_login; + $user_email = $request_user_email; + } + + # else, validate/generate the login and user email + else{ + // generate a valid user login + $user_login = trim( str_replace( ' ', '_', strtolower( $hybridauth_user_profile->displayName ) ) ); + $user_email = $hybridauth_user_profile->email; + + if( empty( $user_login ) ){ + $user_login = trim( $hybridauth_user_profile->lastName . " " . $hybridauth_user_profile->firstName ); + } + + if( empty( $user_login ) ){ + $user_login = strtolower( $provider ) . "_user_" . md5( $hybridauth_user_profile->identifier ); + } + + // user name should be unique + if ( username_exists ( $user_login ) ){ + $i = 1; + $user_login_tmp = $user_login; + + do + { + $user_login_tmp = $user_login . "_" . ($i++); + } while (username_exists ($user_login_tmp)); + + $user_login = $user_login_tmp; + } + + // generate an email if none + if ( ! isset ( $user_email ) OR ! is_email( $user_email ) ){ + $user_email = strtolower( $provider . "_user_" . $user_login ) . "@example.com"; + } + + // email should be unique + if ( email_exists ( $user_email ) ){ + do + { + $user_email = md5(uniqid(wp_rand(10000,99000)))."@example.com"; + } while( email_exists( $user_email ) ); + } + + $user_login = sanitize_user ($user_login, true); + + if( ! validate_username( $user_login ) ){ + $user_login = strtolower( $provider ) . "_user_" . md5( $hybridauth_user_profile->identifier ); + } + } + + $display_name = $hybridauth_user_profile->displayName; + + if( $request_user_login || empty ( $display_name ) ){ + $display_name = $user_login; + } + + $userdata = array( + 'user_login' => $user_login, + 'user_email' => $user_email, + + 'display_name' => $display_name, + + 'first_name' => $hybridauth_user_profile->firstName, + 'last_name' => $hybridauth_user_profile->lastName, + 'user_url' => $hybridauth_user_profile->profileURL, + 'description' => $hybridauth_user_profile->description, + + 'user_pass' => wp_generate_password() + ); + + // Bouncer :: Membership level + if( get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ) != "default" ){ + $userdata['role'] = get_option( 'wsl_settings_bouncer_new_users_membership_default_role' ); + } + + // Bouncer :: User Moderation : None + if( get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) == 1 ){ + // well do nothing.. + } + + // Bouncer :: User Moderation : Yield to Theme My Login plugin + if( get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) > 100 ){ + $userdata['role'] = "pending"; + } + + // HOOKABLE: change the user data + $userdata = apply_filters( 'wsl_hook_process_login_alter_userdata', $userdata, $provider, $hybridauth_user_profile ); + + // HOOKABLE: any action to fire right before a user created on database + do_action( 'wsl_hook_process_login_before_insert_user', $userdata, $provider, $hybridauth_user_profile ); + + // HOOKABLE: delegate user insert to a custom function + $user_id = apply_filters( 'wsl_hook_process_login_alter_insert_user', $userdata, $provider, $hybridauth_user_profile ); + + // Create a new user + if( ! $user_id || ! is_integer( $user_id ) ){ + $user_id = wp_insert_user( $userdata ); + } + + // update user metadata + if( $user_id && is_integer( $user_id ) ){ + update_user_meta( $user_id, $provider, $hybridauth_user_profile->identifier ); + } + + // do not continue without user_id or we'll edit god knows what + else { + if( is_wp_error( $user_id ) ){ + return wsl_render_notices_pages( _wsl__("An error occurred while creating a new user!" . $user_id->get_error_message(), 'wordpress-social-login') ); + } + + return wsl_render_notices_pages( _wsl__("An error occurred while creating a new user!", 'wordpress-social-login') ); + } + + // Send notifications + if ( get_option( 'wsl_settings_users_notification' ) == 1 ){ + wsl_admin_notification( $user_id, $provider ); + } + + // HOOKABLE: any action to fire right after a user created on database + do_action( 'wsl_hook_process_login_after_create_wp_user', $user_id, $provider, $hybridauth_user_profile ); + + return array( + $user_id, + $user_login, + $user_email + ); +} + +// -------------------------------------------------------------------- + +function wsl_process_login_authenticate_wp_user( $user_id, $provider, $redirect_to, $adapter, $hybridauth_user_profile ) +{ + // There was a bug when this function received non-integer user_id and updated random users, let's be safe + if( !is_integer( $user_id ) ){ + return wsl_render_notices_pages( _wsl__("Invalid user_id", 'wordpress-social-login') ); + } + + // calculate user age + $user_age = $hybridauth_user_profile->age; + + // not that precise you say... well welcome to my world + if( ! $user_age && (int) $hybridauth_user_profile->birthYear ){ + $user_age = (int) date("Y") - (int) $hybridauth_user_profile->birthYear; + } + + // update some stuff + $newdata['user_id'] = $user_id; //not to be changed + $newdata['user'] = $provider; + $newdata['user_gender'] = $hybridauth_user_profile->gender; + $newdata['user_age'] = $user_age; + $newdata['user_image'] = $hybridauth_user_profile->photoURL; + + // HOOKABLE: + $newdata = apply_filters( 'wsl_hook_process_login_alter_update_userdata', $newdata, $hybridauth_user_profile, $provider ); + + update_user_meta ( $user_id, 'wsl_user' , $newdata['user'] ); + update_user_meta ( $user_id, 'wsl_user_gender', $newdata['user_gender'] ); + update_user_meta ( $user_id, 'wsl_user_age' , $newdata['user_age'] ); + update_user_meta ( $user_id, 'wsl_user_image' , $newdata['user_image'] ); + + // launch contact import if enabled + wsl_import_user_contacts( $provider, $adapter, $user_id ); + + // store user hybridauth user profile if needed + wsl_store_hybridauth_user_data( $user_id, $provider, $hybridauth_user_profile ); + + // Bouncer :: User Moderation : E-mail Confirmation — Yield to Theme My Login plugin + if( get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) == 101 ){ + $redirect_to = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "pending=activation"; + + @ Theme_My_Login_User_Moderation::new_user_activation_notification( $user_id ); + } + + // Bouncer :: User Moderation : Admin Approval — Yield to Theme My Login plugin + elseif( get_option( 'wsl_settings_bouncer_new_users_moderation_level' ) == 102 ){ + $redirect_to = site_url( 'wp-login.php', 'login_post' ) . ( strpos( site_url( 'wp-login.php', 'login_post' ), '?' ) ? '&' : '?' ) . "pending=approval"; + } + + // otherwise, let him go.. + else{ + // HOOKABLE: + do_action( "wsl_hook_process_login_before_set_auth_cookie", $user_id, $provider, $hybridauth_user_profile ); + + // That's it. create a session for user_id and redirect him to redirect_to + wp_set_auth_cookie( $user_id ); + } + + // HOOKABLE: + do_action( "wsl_hook_process_login_before_redirect", $user_id, $provider, $hybridauth_user_profile ); + + wp_safe_redirect( $redirect_to ); + + exit(); +} + +// -------------------------------------------------------------------- + +function wsl_process_login_authenticate_wp_user_linked_account( $user_id, $provider, $redirect_to, $hybridauth_user_profile ) +{ + // launch contact import if enabled + wsl_import_user_contacts( $provider, $adapter, $user_id ); + + // store user hybridauth user profile if needed + wsl_store_hybridauth_user_data( $user_id, $provider, $hybridauth_user_profile ); + + // HOOKABLE: + do_action( "wsl_hook_process_login_linked_account_before_redirect", $user_id, $provider, $hybridauth_user_profile ); + + wp_safe_redirect( $redirect_to ); + + exit(); +} + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/services/wsl.mail.notification.php b/wp-content/plugins/wordpress-social-login/includes/services/wsl.mail.notification.php new file mode 100644 index 0000000..bdd80e3 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/services/wsl.mail.notification.php @@ -0,0 +1,44 @@ +user_login); + + // The blogname option is escaped with esc_html on the way into the database + // in sanitize_option we want to reverse this for the plain text arena of emails. + $blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES); + + $message = sprintf(__('New user registration on your site: %s', 'wordpress-social-login'), $blogname ) . "\r\n\r\n"; + $message .= sprintf(__('Username: %s' , 'wordpress-social-login'), $user_login ) . "\r\n"; + $message .= sprintf(__('Provider: %s' , 'wordpress-social-login'), $provider ) . "\r\n"; + $message .= sprintf(__('Profile: %s' , 'wordpress-social-login'), $user->user_url ) . "\r\n"; + $message .= sprintf(__('Email: %s' , 'wordpress-social-login'), $user->user_email) . "\r\n"; + $message .= "\r\n--\r\n"; + $message .= "WordPress Social Login\r\n"; + $message .= "http://wordpress.org/extend/plugins/wordpress-social-login/\r\n"; + + @wp_mail(get_option('admin_email'), '[WordPress Social Login] '.sprintf(__('[%s] New User Registration', 'wordpress-social-login'), $blogname), $message); +} + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/services/wsl.user.avatar.php b/wp-content/plugins/wordpress-social-login/includes/services/wsl.user.avatar.php new file mode 100644 index 0000000..5830fe2 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/services/wsl.user.avatar.php @@ -0,0 +1,77 @@ + 0) + { + $user_id = $mixed; + } + } + //Check if we are in a comment + elseif (is_object ($comment) AND property_exists ($comment, 'user_id') AND !empty ($comment->user_id)) + { + $user_id = $comment->user_id; + } + //Check if we have an email + elseif (is_string ($mixed) && ($user = get_user_by ('email', $mixed))) + { + $user_id = $user->ID; + } + //Check if we have an user object + else if (is_object ($mixed)) + { + if (property_exists ($mixed, 'user_id') AND is_numeric ($mixed->user_id)) + { + $user_id = $mixed->user_id; + } + } + + //User found? + if ( $user_id ) + { + $user_thumbnail = get_user_meta ( $user_id, 'wsl_user_image', true ); + + if ( $user_thumbnail ) + { + return ''; + } + } + } + + return $avatar; +} + +add_filter( 'get_avatar', 'wsl_user_custom_avatar', 10, 5 ); + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/services/wsl.user.data.php b/wp-content/plugins/wordpress-social-login/includes/services/wsl.user.data.php new file mode 100644 index 0000000..7a2555d --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/services/wsl.user.data.php @@ -0,0 +1,257 @@ +prefix}wslusersprofiles` where user_id = '$user_id'"; + $rs = $wpdb->get_results( $sql ); + + return $rs; +} + +// -------------------------------------------------------------------- + +/** +* Return a contact data +*/ +function wsl_get_contact_data_by_user_id( $field, $contact_id ){ + global $wpdb; + + $sql = "SELECT $field as data_field FROM `{$wpdb->prefix}wsluserscontacts` where ID = '$contact_id'"; + $rs = $wpdb->get_results( $sql ); + + return $rs[0]->data_field; +} + +// -------------------------------------------------------------------- + +function wsl_get_user_by_meta( $provider, $user_uid ) +{ + global $wpdb; + + $sql = "SELECT user_id FROM `{$wpdb->prefix}usermeta` WHERE meta_key = '%s' AND meta_value = '%s'"; + + return $wpdb->get_var( $wpdb->prepare( $sql, $provider, $user_uid ) ); +} + +// -------------------------------------------------------------------- + +function wsl_get_user_data_by_id( $field, $user_id ) +{ + global $wpdb; + + $sql = "SELECT %s FROM `{$wpdb->prefix}users` WHERE ID = '%s'"; + + return $wpdb->get_var( $wpdb->prepare( $sql, $field, $user_id ) ); +} + +// -------------------------------------------------------------------- + +function wsl_get_user_linked_account_by_provider_and_identifier( $provider, $identifier ) +{ + global $wpdb; + + $sql = "SELECT * FROM `{$wpdb->prefix}wslusersprofiles` where provider = '$provider' and identifier = '$identifier'"; + $rs = $wpdb->get_results( $sql ); + + return $rs; +} + +// -------------------------------------------------------------------- + +function wsl_store_hybridauth_user_data( $user_id, $provider, $profile ) +{ + global $wpdb; + + $sql = "SELECT id, object_sha FROM `{$wpdb->prefix}wslusersprofiles` where user_id = '$user_id' and provider = '$provider'"; + $rs = $wpdb->get_results( $sql ); + + $profile_sha = sha1( serialize( $profile ) ); + + // if $profile didnt change, no need for update + if( $rs && $rs[0]->object_sha == $profile_sha ){ + return; + } + + $table_data = array( + "user_id" => $user_id, + "provider" => $provider, + "object_sha" => $profile_sha + ); + + foreach( $profile as $key => $value ) { + $table_data[ strtolower($key) ] = (string) $value; + } + + // if $profile updated we re/store on database + if( $rs && $rs[0]->object_sha != $profile_sha ){ + $wpdb->update( "{$wpdb->prefix}wslusersprofiles", $table_data, array( "id" => $rs[0]->id ) ); + } + else{ + $wpdb->insert( "{$wpdb->prefix}wslusersprofiles", $table_data ); + } +} + +// -------------------------------------------------------------------- + +/** +* Contacts import +* +* We import a user contact per provider only once. +*/ +function wsl_import_user_contacts( $provider, $adapter, $user_id ) +{ + if( ! ( + get_option( 'wsl_settings_contacts_import_facebook' ) == 1 && strtolower( $provider ) == "facebook" || + get_option( 'wsl_settings_contacts_import_google' ) == 1 && strtolower( $provider ) == "google" || + get_option( 'wsl_settings_contacts_import_twitter' ) == 1 && strtolower( $provider ) == "twitter" || + get_option( 'wsl_settings_contacts_import_live' ) == 1 && strtolower( $provider ) == "live" || + get_option( 'wsl_settings_contacts_import_linkedin' ) == 1 && strtolower( $provider ) == "linkedin" + ) ){ + return; + } + + global $wpdb; + + // grab the user's friends list + $user_contacts = $adapter->getUserContacts(); +// print_r( $user_contacts ); die(); + // update contact only one time per provider, this behaviour may change depend on the feedback reviced + if( ! $user_contacts ){ + return; + } + + $wpdb->query( + $wpdb->prepare( "DELETE FROM `{$wpdb->prefix}wsluserscontacts` WHERE user_id = '%d' AND provider = '%s'", $user_id, $provider ) + ); + + foreach( $user_contacts as $contact ){ + $wpdb->insert( + "{$wpdb->prefix}wsluserscontacts", + array( + "user_id" => $user_id, + "provider" => $provider, + "identifier" => $contact->identifier, + "full_name" => $contact->displayName, + "email" => $contact->email, + "profile_url" => $contact->profileURL, + "photo_url" => $contact->photoURL, + ) + ); + } +} + +// -------------------------------------------------------------------- + +function wsl_get_list_connected_providers() +{ + // load hybridauth + require_once WORDPRESS_SOCIAL_LOGIN_ABS_PATH . "/hybridauth/Hybrid/Auth.php"; + + GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG; + + $config = array(); + + foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){ + $provider_id = @ $item["provider_id"]; + + $config["providers"][$provider_id]["enabled"] = true; + } + + $hybridauth = new Hybrid_Auth( $config ); + + return Hybrid_Auth::getConnectedProviders(); +} + +// -------------------------------------------------------------------- + +function wsl_get_user_linked_accounts_by_user_id( $user_id ) +{ + global $wpdb; + + $sql = "SELECT * FROM `{$wpdb->prefix}wslusersprofiles` where user_id = '$user_id'"; + $rs = $wpdb->get_results( $sql ); + + return $rs; +} + +// -------------------------------------------------------------------- + +function wsl_get_user_linked_accounts_field_by_id( $id, $field ) +{ + global $wpdb; + + $sql = "SELECT $field as data_field FROM `{$wpdb->prefix}wslusersprofiles` where id = '$id'"; + $rs = $wpdb->get_results( $sql ); + + return $rs[0]->data_field; +} + +// -------------------------------------------------------------------- + +function wsl_get_user_by_meta_key_and_user_id( $meta_key, $user_id ) +{ + global $wpdb; + + $sql = "SELECT meta_value FROM `{$wpdb->prefix}usermeta` where meta_key = '$meta_key' and user_id = '$user_id'"; + $rs = $wpdb->get_results( $sql ); + + return $rs[0]->meta_value; +} + +// -------------------------------------------------------------------- + +function wsl_get_user_data_by_user_id( $field, $user_id ) +{ + global $wpdb; + + $sql = "SELECT $field as data_field FROM `{$wpdb->prefix}users` where ID = '$user_id'"; + $rs = $wpdb->get_results( $sql ); + + return $rs[0]->data_field; +} + +// -------------------------------------------------------------------- + +function wsl_delete_userprofiles( $user_id ) +{ + global $wpdb; + + $sql = "DELETE FROM `{$wpdb->prefix}wslusersprofiles` where user_id = '$user_id'"; + $wpdb->query( $sql ); +} + +add_action( 'delete_user', 'wsl_delete_userprofiles' ); + +// -------------------------------------------------------------------- + +function wsl_delete_usercontacts( $user_id ) +{ + global $wpdb; + + $sql = "DELETE FROM `{$wpdb->prefix}wsluserscontacts` where user_id = '$user_id'"; + $wpdb->query( $sql ); +} + +add_action( 'delete_user', 'wsl_delete_usercontacts' ); + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/settings/wsl.compatibilities.php b/wp-content/plugins/wordpress-social-login/includes/settings/wsl.compatibilities.php new file mode 100644 index 0000000..3aa6846 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/settings/wsl.compatibilities.php @@ -0,0 +1,202 @@ +prefix}wsluserscontacts"; + $wslusersprofiles = "{$wpdb->prefix}wslusersprofiles"; + $installed_ver = get_option( "wsl_database_migration_version" ); + + if( $installed_ver != $wsl_database_migration_version ) { + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); + + $sql = "CREATE TABLE " . $wsluserscontacts . " ( + id int(11) NOT NULL AUTO_INCREMENT, + user_id int(11) NOT NULL, + provider varchar(50) NOT NULL, + identifier varchar(255) NOT NULL, + full_name varchar(255) NOT NULL, + email varchar(255) NOT NULL, + profile_url varchar(255) NOT NULL, + photo_url varchar(255) NOT NULL, + PRIMARY KEY (id) + );"; + dbDelta( $sql ); + + $sql = "CREATE TABLE " . $wslusersprofiles . " ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL, + `provider` varchar(255) NOT NULL, + `object_sha` varchar(255) NOT NULL COMMENT 'to check if hybridauth user profile object has changed from last time, if yes we update the user profile here ', + `identifier` varchar(255) NOT NULL, + `profileurl` varchar(255) NOT NULL, + `websiteurl` varchar(255) NOT NULL, + `photourl` varchar(255) NOT NULL, + `displayname` varchar(255) NOT NULL, + `description` varchar(255) NOT NULL, + `firstname` varchar(255) NOT NULL, + `lastname` varchar(255) NOT NULL, + `gender` varchar(255) NOT NULL, + `language` varchar(255) NOT NULL, + `age` varchar(255) NOT NULL, + `birthday` varchar(255) NOT NULL, + `birthmonth` varchar(255) NOT NULL, + `birthyear` varchar(255) NOT NULL, + `email` varchar(255) NOT NULL, + `emailverified` varchar(255) NOT NULL, + `phone` varchar(255) NOT NULL, + `address` varchar(255) NOT NULL, + `country` varchar(255) NOT NULL, + `region` varchar(255) NOT NULL, + `city` varchar(255) NOT NULL, + `zip` varchar(255) NOT NULL, + PRIMARY KEY (`id`) + )"; + dbDelta( $sql ); + + update_option( "wsl_database_migration_version", $wsl_database_migration_version ); + } + + add_option( "wsl_database_migration_version", $wsl_database_migration_version ); +} + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/settings/wsl.initialization.php b/wp-content/plugins/wordpress-social-login/includes/settings/wsl.initialization.php new file mode 100644 index 0000000..cd08411 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/settings/wsl.initialization.php @@ -0,0 +1,405 @@ + array( "type" => "core" , "label" => __("WSL Core" , 'wordpress-social-login'), "description" => __("WordPress Social Login core.", 'wordpress-social-login') ), + "networks" => array( "type" => "core" , "label" => __("Networks" , 'wordpress-social-login'), "description" => __("Social networks setup.", 'wordpress-social-login') ), + "login-widget" => array( "type" => "core" , "label" => __("Widget" , 'wordpress-social-login'), "description" => __("Authentication widget customization.", 'wordpress-social-login') ), + "bouncer" => array( "type" => "core" , "label" => __("Bouncer" , 'wordpress-social-login'), "description" => __("WordPress Social Login advanced configuration.", 'wordpress-social-login') ), + "diagnostics" => array( "type" => "core" , "label" => __("Diagnostics" , 'wordpress-social-login'), "description" => __("WordPress Social Login diagnostics.", 'wordpress-social-login') ), + "basicinsights" => array( "type" => "plugin", "label" => __("Basic Insights" , 'wordpress-social-login'), "description" => __("WordPress Social Login basic insights. When enabled Basic Insights will on Networks tab.", 'wordpress-social-login') ), + "users" => array( "type" => "plugin", "label" => __("Users" , 'wordpress-social-login'), "description" => __("WordPress Social Login users manager.", 'wordpress-social-login') ), + "contacts" => array( "type" => "plugin", "label" => __("Contacts" , 'wordpress-social-login'), "description" => __("WordPress Social Login users contacts manager", 'wordpress-social-login') ), +); + +/** list of wsl admin tabs */ +$WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS = ARRAY( + "networks" => array( "label" => __("Networks" , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "networks" , "default" => true ), + "login-widget" => array( "label" => __("Widget" , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "login-widget" ), + "bouncer" => array( "label" => __("Bouncer" , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "bouncer" ), + "users" => array( "label" => __("Users" , 'wordpress-social-login') , "enabled" => false, "visible" => true , "component" => "users" ), + "contacts" => array( "label" => __("Contacts" , 'wordpress-social-login') , "enabled" => false, "visible" => true , "component" => "contacts" ), + "diagnostics" => array( "label" => __("Diagnostics" , 'wordpress-social-login') , "enabled" => true , "visible" => false , "component" => "diagnostics" , "pull-right" => true , "welcome-panel" => false ), + "help" => array( "label" => __('?' , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "core" , "pull-right" => true , "welcome-panel" => false ), + "components" => array( "label" => __("Components" , 'wordpress-social-login') , "enabled" => true , "visible" => true , "component" => "core" , "pull-right" => true , "welcome-panel" => false ), + "advanced" => array( "label" => __("Advanced" , 'wordpress-social-login') , "enabled" => true , "visible" => false , "component" => "core" , "pull-right" => true , "welcome-panel" => false ), +); + +// -------------------------------------------------------------------- + +/** +* Register new wsl components +*/ +function wsl_register_component( $component, $config, $tabs ) +{ + GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS; + + // sure it can be overwritten.. just not recommended + if( isset( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ] ) ){ + return wsl_render_notices_pages( _wsl__("An installed plugin is trying to o-ver-write WordPress Social Login config in a bad way.", 'wordpress-social-login') ); + } + + $config["type"] = "plugin"; + $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ] = $config; + + if( is_array( $tabs ) && count( $tabs ) ){ + foreach( $tabs as $tab => $config ){ + $config["component"] = $component; + + wsl_register_admin_tab( $tab, $config ); + } + } +} + +add_action( 'wsl_register_component', 'wsl_register_component', 10, 3 ); + +// -------------------------------------------------------------------- + +/** +* Register new wsl admin tab +*/ +function wsl_register_admin_tab( $tab, $config ) +{ + GLOBAL $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS; + + // sure it can be overwritten.. just not recommended + if( isset( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ] ) ){ + return wsl_render_notices_pages( _wsl__("An installed plugin is trying to o-ver-write WordPress Social Login config in a bad way.", 'wordpress-social-login') ); + } + + $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ] = $config; +} + +add_action( 'wsl_register_admin_tab', 'wsl_register_admin_tab', 10, 2 ); + +// -------------------------------------------------------------------- + +/** +* Check if a component is enabled +*/ +function wsl_is_component_enabled( $component ) +{ + if( get_option( "wsl_components_" . $component . "_enabled" ) == 1 ){ + return true; + } + + return false; +} + +// -------------------------------------------------------------------- + +/** +* Register wsl components (Bulk action) +*/ +function wsl_register_components() +{ + GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS; + GLOBAL $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS; + + foreach( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS as $tab => $config ){ + $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ][ "enabled" ] = false; + } + + foreach( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS as $component => $config ){ + $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = false; + + if( get_option( "wsl_components_" . $component . "_enabled" ) == 1 ){ + $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = true; + } + + if( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "type" ] == "core" ){ + $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] = true; + + update_option( "wsl_components_" . $component . "_enabled", 1 ); + } + + foreach( $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS as $tab => $tconfig ){ + if( $tconfig["component"] == $component ){ + + if( $WORDPRESS_SOCIAL_LOGIN_COMPONENTS[ $component ][ "enabled" ] ){ + $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS[ $tab ][ "enabled" ] = true; + } + } + } + } +} + +// -------------------------------------------------------------------- + +/** +* Check wsl minimun requirements. Display fail page if they are not met. +*/ +function wsl_check_requirements() +{ + if + ( + ! version_compare( PHP_VERSION, '5.2.0', '>=' ) + || ! isset( $_SESSION["wsl::plugin"] ) + || ! function_exists('curl_init') + || ! function_exists('json_decode') + || ini_get('register_globals') + ) + return false; + + $curl_version = curl_version(); + + if ( ! ( $curl_version['features'] & CURL_VERSION_SSL ) ) + return false; + + return true; +} + +// -------------------------------------------------------------------- + +/** +* Register wsl core settings ( options; components ) +*/ +function wsl_register_setting() +{ + GLOBAL $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG; + GLOBAL $WORDPRESS_SOCIAL_LOGIN_COMPONENTS; + GLOBAL $WORDPRESS_SOCIAL_LOGIN_ADMIN_TABS; + + // HOOKABLE: + do_action( 'wsl_register_setting_begin' ); + + wsl_register_components(); + + // idps credentials + foreach( $WORDPRESS_SOCIAL_LOGIN_PROVIDERS_CONFIG AS $item ){ + $provider_id = @ $item["provider_id"]; + $require_client_id = @ $item["require_client_id"]; + $require_registration = @ $item["new_app_link"]; + + register_setting( 'wsl-settings-group', 'wsl_settings_' . $provider_id . '_enabled' ); + + if ( $require_registration ){ // require application? + if ( $require_client_id ){ // key or id ? + register_setting( 'wsl-settings-group', 'wsl_settings_' . $provider_id . '_app_id' ); + } + else{ + register_setting( 'wsl-settings-group', 'wsl_settings_' . $provider_id . '_app_key' ); + } + + register_setting( 'wsl-settings-group', 'wsl_settings_' . $provider_id . '_app_secret' ); + } + } + + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_connect_with_label' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_social_icon_set' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_users_avatars' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_use_popup' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_widget_display' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_redirect_url' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_users_notification' ); + register_setting( 'wsl-settings-group-customize' , 'wsl_settings_authentication_widget_css' ); + + register_setting( 'wsl-settings-group-contacts-import' , 'wsl_settings_contacts_import_facebook' ); + register_setting( 'wsl-settings-group-contacts-import' , 'wsl_settings_contacts_import_google' ); + register_setting( 'wsl-settings-group-contacts-import' , 'wsl_settings_contacts_import_twitter' ); + register_setting( 'wsl-settings-group-contacts-import' , 'wsl_settings_contacts_import_live' ); + register_setting( 'wsl-settings-group-contacts-import' , 'wsl_settings_contacts_import_linkedin' ); + + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_registration_enabled' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_authentication_enabled' ); + + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_require_email' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_change_email' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_change_username' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_notice' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_submit_button' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_connected_with' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_email' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_username' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_email_invalid' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_username_invalid' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_email_exists' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_profile_completion_text_username_exists' ); + + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_moderation_level' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_membership_default_role' ); + + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_domain_enabled' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_domain_list' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_domain_text_bounce' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_email_enabled' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_email_list' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_email_text_bounce' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_enabled' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_list' ); + register_setting( 'wsl-settings-group-bouncer' , 'wsl_settings_bouncer_new_users_restrict_profile_text_bounce' ); + + register_setting( 'wsl-settings-group-advanced-settings', 'wsl_settings_base_url' ); + + register_setting( 'wsl-settings-group-development' , 'wsl_settings_development_mode_enabled' ); + + add_option( 'wsl_settings_welcome_panel_enabled' ); + + // update old/all default wsl-settings + wsl_check_compatibilities(); + + // HOOKABLE: + do_action( 'wsl_register_setting_end' ); +} + +// -------------------------------------------------------------------- + +/** +* Display WordPress Social Login on top bar menu +*/ +function wsl_admin_menu_top_bar() +{ + if ( ! is_user_logged_in() ) { + return ; + } + + if ( ! is_admin() ) { + return ; + } + + if ( ! is_admin_bar_showing() ) { + return ; + } + + if ( ! current_user_can( 'manage_options' ) ) { + return ; + } + + global $wp_admin_bar; + + $wp_admin_bar->add_menu(array( + 'id' => 'wp-admin-wordpress-social-login', + 'title' => __('WordPress Social Login', 'wordpress-social-login'), + 'href' => 'options-general.php?page=wordpress-social-login' + )); + + $wp_admin_bar->add_menu(array( + "id" => "wp-admin-wordpress-social-login-item-1", + "title" => __('Social networks setup', 'wordpress-social-login'), + 'href' => 'options-general.php?page=wordpress-social-login', + "parent" => "wp-admin-wordpress-social-login" + )); + + $wp_admin_bar->add_menu(array( + "id" => "wp-admin-wordpress-social-login-item-2", + "title" => __('Widget customization', 'wordpress-social-login'), + 'href' => 'options-general.php?page=wordpress-social-login&wslp=login-widget', + "parent" => "wp-admin-wordpress-social-login" + )); + + $wp_admin_bar->add_menu(array( + "id" => "wp-admin-wordpress-social-login-item-3", + "title" => __('User Guide and FAQ', 'wordpress-social-login'), + 'href' => 'http://hybridauth.sourceforge.net/wsl/index.html', + "parent" => "wp-admin-wordpress-social-login", + 'meta' => array( 'target' => '_blank' ) + )); +} + +add_action('wp_before_admin_bar_render', 'wsl_admin_menu_top_bar'); + +// -------------------------------------------------------------------- + +/** +* Display WordPress Social Login on settings as submenu +*/ +function wsl_admin_menu() +{ + add_options_page('WP Social Login', 'WP Social Login', 'manage_options', 'wordpress-social-login', 'wsl_admin_init' ); + + add_action( 'admin_init', 'wsl_register_setting' ); +} + +add_action('admin_menu', 'wsl_admin_menu' ); + +// -------------------------------------------------------------------- + +/** +* Display WordPress Social Login on sidebar +*/ +function wsl_admin_menu_sidebar() +{ + add_menu_page( 'WP Social Login', 'WP Social Login', 'manage_options', 'wordpress-social-login', 'wsl_admin_init' ); +} + +// add_action('admin_menu', 'wsl_admin_menu_sidebar'); + +// -------------------------------------------------------------------- + +/** +* Add a new column to wp-admin/users.php +*/ +function wsl_manage_users_columns( $columns ) +{ + $columns['wsl_column'] = "WP Social Login"; + + return $columns; +} + +add_filter('manage_users_columns', 'wsl_manage_users_columns'); + + +// -------------------------------------------------------------------- + +/** +* Alter wp-admin/edit-comments.php +*/ +function wsl_comment_row_actions( $a ) { + global $comment; + + $tmp = wsl_get_user_by_meta_key_and_user_id( "wsl_user_image", $comment->user_id); + + if ( $tmp ) { + $a[ 'wsl_profile' ] = '' . _wsl__("WSL user profile", 'wordpress-social-login') . ''; + $a[ 'wsl_contacts' ] = '' . _wsl__("WSL user contacts", 'wordpress-social-login') . ''; + } + + return $a; +} + +add_filter( 'comment_row_actions', 'wsl_comment_row_actions', 11, 1 ); + +// -------------------------------------------------------------------- + +/** +* Generate content for the added column to wp-admin/users.php +*/ +function wsl_manage_users_custom_column( $value, $column_name, $user_id ) +{ + if ( 'wsl_column' != $column_name ) { + return $value; + } + + $tmp = wsl_get_user_by_meta_key_and_user_id( "wsl_user_image", $user_id); + + if ( ! $tmp ) { + return ""; + } + + return + '' . _wsl__("Profile", 'wordpress-social-login') . ' | ' . _wsl__("Contacts", 'wordpress-social-login') . ''; +} + +add_action( 'manage_users_custom_column', 'wsl_manage_users_custom_column', 10, 3 ); + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/settings/wsl.providers.php b/wp-content/plugins/wordpress-social-login/includes/settings/wsl.providers.php new file mode 100644 index 0000000..81c6c78 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/settings/wsl.providers.php @@ -0,0 +1,245 @@ + "Facebook", + "provider_name" => "Facebook", + "require_client_id" => true, + "new_app_link" => "https://developers.facebook.com/apps", + + "default_network" => true, + "cat" => "socialnetworks", + ) + , + ARRAY( + "provider_id" => "Google", + "provider_name" => "Google", + "callback" => true, + "require_client_id" => true, + "new_app_link" => "https://code.google.com/apis/console/", + + "default_network" => true, + "cat" => "socialnetworks", + ) + , + ARRAY( + "provider_id" => "Twitter", + "provider_name" => "Twitter", + "new_app_link" => "https://dev.twitter.com/apps", + + "default_network" => true, + + "cat" => "microblogging", + ) + , + ARRAY( + "provider_id" => "Live", + "provider_name" => "Windows Live", + "require_client_id" => true, + "new_app_link" => "https://manage.dev.live.com/ApplicationOverview.aspx", + + "cat" => "pleasedie", + ) + , + ARRAY( + "provider_id" => "Yahoo", + "provider_name" => "Yahoo!", + "new_app_link" => null, + + "cat" => "pleasedie", + ) + , + ARRAY( + "provider_id" => "MySpace", + "provider_name" => "MySpace", + "new_app_link" => "http://www.developer.myspace.com/", + + "cat" => "pleasedie", + ) + , + ARRAY( + "provider_id" => "Foursquare", + "provider_name" => "Foursquare", + "callback" => true, + "require_client_id" => true, + "new_app_link" => "https://www.foursquare.com/oauth/", + + "cat" => "microblogging", + ) + , + ARRAY( + "provider_id" => "LinkedIn", + "provider_name" => "LinkedIn", + "new_app_link" => "https://www.linkedin.com/secure/developer", + + "cat" => "professional", + ) + , + ARRAY( + "provider_id" => "AOL", + "provider_name" => "AOL", + "new_app_link" => null, + + "cat" => "pleasedie", + ) + , + ARRAY( + "provider_id" => "Vkontakte", + "provider_name" => "Vkontakte", + "callback" => true, + "require_client_id" => true, + "new_app_link" => "http://vk.com/developers.php", + + "cat" => "socialnetworks", + ) + , + ARRAY( + "provider_id" => "LastFM", + "provider_name" => "Last.FM", + "new_app_link" => "http://www.lastfm.com/api/account", + + "cat" => "media", + ) + , + ARRAY( + "provider_id" => "Instagram", + "provider_name" => "Instagram", + "callback" => true, + "require_client_id" => true, + "new_app_link" => "http://instagr.am/developer/clients/manage/", + + "cat" => "media", + ) + , + ARRAY( + "provider_id" => "Identica", + "provider_name" => "Identica", + "new_app_link" => "http://identi.ca/settings/oauthapps/new", + + "cat" => "microblogging", + ) + , + ARRAY( + "provider_id" => "Tumblr", + "provider_name" => "Tumblr", + "new_app_link" => "http://www.tumblr.com/oauth/apps", + + "cat" => "microblogging", // o well + ), + ARRAY( + "provider_id" => "Goodreads", + "provider_name" => "Goodreads", + "callback" => true, + "new_app_link" => "http://www.goodreads.com/api", + + "cat" => "media", + ), + ARRAY( + "provider_id" => "Stackoverflow", + "provider_name" => "Stackoverflow", + "new_app_link" => null, + + "cat" => "programmers", + ), + ARRAY( + "provider_id" => "GitHub", + "provider_name" => "GitHub", + "require_client_id" => true, + "callback" => true, + "new_app_link" => "https://github.com/settings/applications/new", + + "cat" => "programmers", + ), + ARRAY( + "provider_id" => "500px", + "provider_name" => "px500", + "new_app_link" => "http://developers.500px.com/", + + "cat" => "media", + ), + ARRAY( + "provider_id" => "Skyrock", + "provider_name" => "Skyrock", + "new_app_link" => "https://www.skyrock.com/developer/application", + + "cat" => "socialnetworks", + ), + ARRAY( + "provider_id" => "Mixi", + "provider_name" => "Mixi", + "new_app_link" => null, + + "cat" => "socialnetworks", + ), + ARRAY( + "provider_id" => "Steam", + "provider_name" => "Steam", + "new_app_link" => null, + + "cat" => "gamers", + ), + ARRAY( + "provider_id" => "TwitchTV", + "provider_name" => "Twitch.tv", + "require_client_id" => true, + "callback" => true, + "new_app_link" => "http://www.twitch.tv/settings?section=applications", + + "cat" => "gamers", + ), + ARRAY( + "provider_id" => "Mailru", + "provider_name" => "Mailru", + "require_client_id" => true, + "callback" => true, + "new_app_link" => "http://api.mail.ru/", + + "cat" => "misc", + ), + ARRAY( + "provider_id" => "Yandex", + "provider_name" => "Yandex", + "require_client_id" => true, + "callback" => true, + "new_app_link" => "http://api.yandex.ru", + + "cat" => "misc", + ), + ARRAY( + "provider_id" => "Odnoklassniki", + "provider_name" => "Odnoklassniki", + "require_client_id" => true, + "callback" => true, + "new_app_link" => "http://dev.odnoklassniki.ru/", + + "cat" => "socialnetworks", + ), +); + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wordpress-social-login/includes/widgets/wsl.auth.widget.php b/wp-content/plugins/wordpress-social-login/includes/widgets/wsl.auth.widget.php new file mode 100644 index 0000000..93219fe --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/includes/widgets/wsl.auth.widget.php @@ -0,0 +1,456 @@ + + + + + + +
    + + + <?php echo $provider_name ?> + + + + <?php echo $provider_name ?> + + +

    + WordPress Social Login is not configured yet!
    Please visit the Settings\ WP Social Login administration page to configure this plugin.
    For more information please refer to the plugin online user guide or contact us at hybridauth.sourceforge.net' , 'wordpress-social-login') ?> +

    + + + + + +
    + +ID; + + $linked_accounts = wsl_get_user_linked_accounts_by_user_id( $user_id ); + + // if not WSL user, then nothing to show, yet + if( ! $linked_accounts ){ + return; + } + + if( empty( $social_icon_set ) ){ + $social_icon_set = "wpzoom/"; + } + else{ + $social_icon_set .= "/"; + } + + $assets_base_url = WORDPRESS_SOCIAL_LOGIN_PLUGIN_URL . '/assets/img/32x32/' . $social_icon_set; +?> +

    + + + + + + + + + + + + + + + +
    + + + + + + profileurl; + $photourl = $item->photourl; + + if( ! $identity ){ + $identity = $item->identifier; + } + ?> + + + + + +
    + + + + + + provider ); ?> +
    +
    + +
    + provider == $provider_id ){ + $dispaly = false; + } + } + + if( $dispaly ){ + $social_icon_set = get_option( 'wsl_settings_social_icon_set' ); + + $current_page_url = admin_url("profile.php"); + + if( get_option( 'wsl_settings_' . $provider_id . '_enabled' ) ){ + ?> + + <?php echo $provider_name ?> + + +
    + + +
    + + + + + + + +<?php echo get_bloginfo('name'); ?> + + + + + +
    +

    $v ){ + ?>

    +
    + +

    + +

    + + + +

    + +

    + + + + + + + +
    + + + . + + + +
    + + + + +
    +
    + + + + + + +<?php echo get_bloginfo('name'); ?> + + + + + +
    + + + + +
    +
    + + +\n" +"Language-Team: WordPress Social Login \n" +"Language: Arabic – عربي (ar)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr " مرحباً بك ÙÙŠ WordPress Social Login" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "جمعنا لك بعض الروابط لمساعدتك على البدء" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "الخطوات التالية" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "ساعدنا على ترجمة هذه الصÙحة" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "ساعدنا على ترجمة هذه الصÙحة" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-de_DE.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-de_DE.mo new file mode 100644 index 0000000..25aa402 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-de_DE.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-de_DE.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-de_DE.po new file mode 100644 index 0000000..cfa1edf --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-de_DE.po @@ -0,0 +1,1449 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:41+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: German - Deutsch (de_DE)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "Willkommen!" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" +"Wir haben einige Links zusammengestellt, um dir den Start zu erleichtern" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "Nächster Schritt" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "Help ons om deze pagina te vertalen" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "Help ons om deze pagina te vertalen" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "Speichere Einstellungen" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "Aktiviert" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "Woher bekomme ich diese Info?" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" +"Fertig. Du musst keine weiteren Schritte für die Aktivierung bei " +"%s machen" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "Und das war's!" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-es_ES.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-es_ES.mo new file mode 100644 index 0000000..ecb9b5c Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-es_ES.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-es_ES.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-es_ES.po new file mode 100644 index 0000000..c7e2814 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-es_ES.po @@ -0,0 +1,1446 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:41+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: Español - España (es_ES)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "Ayúdanos a traducir esta página" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "Ayúdanos a traducir esta página" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-fr_FR.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-fr_FR.mo new file mode 100644 index 0000000..3755931 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-fr_FR.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-fr_FR.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-fr_FR.po new file mode 100644 index 0000000..db91e9c --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-fr_FR.po @@ -0,0 +1,1446 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:41+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: English\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "Bienvenue!" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "Aidez-nous à traduire WordPress Social Login" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "Aidez-nous à traduire cette page" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-he_IL.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-he_IL.mo new file mode 100644 index 0000000..5e03fa1 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-he_IL.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-he_IL.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-he_IL.po new file mode 100644 index 0000000..3612194 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-he_IL.po @@ -0,0 +1,1446 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:42+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: Hebrew - עברית (he_IL)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ja.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ja.mo new file mode 100644 index 0000000..f19c38d Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ja.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ja.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ja.po new file mode 100644 index 0000000..688a916 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ja.po @@ -0,0 +1,1446 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:42+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: Japanese (日本語 - ja)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "ç§ãŸã¡ã¯ã€ã“ã®ãƒšãƒ¼ã‚¸ã®ãƒ­ãƒ¼ã‚«ãƒ©ã‚¤ã‚ºã«å½¹ç«‹ã¤" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ru_RU.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ru_RU.mo new file mode 100644 index 0000000..a216963 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ru_RU.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ru_RU.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ru_RU.po new file mode 100644 index 0000000..139e098 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-ru_RU.po @@ -0,0 +1,1446 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:42+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: Russian — РуÑÑкий (ru_RU)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "Помогите нам перевеÑти Ñту Ñтраницу" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "Помогите нам перевеÑти Ñту Ñтраницу" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-zh_CN.mo b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-zh_CN.mo new file mode 100644 index 0000000..2ad3c63 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-zh_CN.mo differ diff --git a/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-zh_CN.po b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-zh_CN.po new file mode 100644 index 0000000..09f97f8 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/languages/wordpress-social-login-zh_CN.po @@ -0,0 +1,1446 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Social Login\n" +"POT-Creation-Date: 2013-02-16 06:40+0100\n" +"PO-Revision-Date: 2013-02-16 06:42+0100\n" +"Last-Translator: Miled \n" +"Language-Team: WordPress Social Login \n" +"Language: Chinese - 中文 (zh_CN)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" + +#: includes/admin/wsl.admin.ui.php:332 +msgid "Development mode is enabled!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:407 +#: includes/services/wsl.authentication.php:637 +msgid "Something wrong!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:412 +msgid "" +"Unknown or Disabled Component! Check the list of enabled components " +"or the typed URL" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:416 +msgid "" +"If you believe you've found a problem with WordPress Social Login, be " +"sure to let us know so we can fix it" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:422 +msgid "Report as bug" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:423 +msgid "Check enabled components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:567 +msgid "Welcome!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:569 +msgid "" +"If you are still new to WordPress Social Login, we have provided a few " +"walkthroughs to get you started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:576 +msgid "Get Started" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:579 +msgid "" +"Setup and Configuration" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:580 +msgid "" +"Customize WSL Widgets" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:581 +msgid "" +"Manage users and contacts" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:582 +msgid "" +"WSL User Guide and FAQ" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:588 +#, php-format +msgid "What's new on WSL %s" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:591 +msgid "" +"In a similar way to WordPress plugins, WSL uses Components" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:592 +msgid "Email Validation is replaced with Profile Completion" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:593 +msgid "" +"User Moderation made compatible with Theme My Login plugin" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:594 +msgid "A number of enhancements and new options now available" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:644 +msgid "Contributor License Agreement" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:649 +msgid "" +"You are about to submit your contributions to the WordPress Social Login " +"Website to be reviewed for inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:651 +msgid "" +"You hereby grant the permission to publish your contribution, in whole or in " +"part, and to made it available under the MIT License, for the " +"Wordpress community to, freely use or misuse" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:657 +msgid "Hell No" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:658 +msgid "Yes, I agree to contribute my translation" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:662 +msgid "Help us localize WordPress Social Login" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:666 +msgid "" +"You can translate as much you pleases as much as you want. You " +"don't have to translate everything in this page, but every word counts. " +"Ignore any string you want or aleardy translated. You could also use this " +"tool to fix any typo you may find or to improve the current language " +"expressions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:668 +msgid "" +"Your name allows us to recognize your contributions and bypass manual " +"review, especially when you've been contributing in the past. So do supply " +"some unique string, even if it's not your real name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:670 +msgid "" +"All the texts on this page are automatically extracted and generated on the " +"form beside. If the translation tool has scapped something you may consider " +"as irrelevant, please leave that particular field empty" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:672 +msgid "" +"Your contributions will be sent to the WordPress Social Login website for " +"inclusion in future versions" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:674 +msgid "Thanks!" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 +msgid "Your Name" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:682 includes/admin/wsl.admin.ui.php:688 +msgid "optional" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:688 +msgid "Comment" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:694 +msgid "Target Language" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:703 +msgid "Submit changes" +msgstr "" + +#: includes/admin/wsl.admin.ui.php:769 +msgid "Help us translate this page into your language" +msgstr "帮助我们本地化当å‰é¡µ" + +#: includes/admin/components/advanced/index.php:47 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:62 +msgid "Advanced Settings" +msgstr "" + +#: includes/admin/components/advanced/index.php:52 +msgid "" +"Please for the love of God, stay out of Advanced.. unless you " +"are Advanced and you know what you are doing" +msgstr "" + +#: includes/admin/components/advanced/index.php:61 +msgid "WSL Base URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:68 +msgid "WSL Base PATH" +msgstr "" + +#: includes/admin/components/advanced/index.php:75 +msgid "Hybridauth endpoint URL" +msgstr "" + +#: includes/admin/components/advanced/index.php:82 +msgid "WSL top bar menu" +msgstr "" + +#: includes/admin/components/advanced/index.php:85 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:38 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:47 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:72 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:81 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:174 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:211 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:249 +msgid "Yes" +msgstr "" + +#: includes/admin/components/advanced/index.php:86 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:39 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:48 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:73 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:82 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:175 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:212 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:250 +msgid "No" +msgstr "" + +#: includes/admin/components/advanced/index.php:98 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:275 +#: includes/admin/components/contacts/index.php:98 +#: includes/admin/components/diagnostics/index.php:64 +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:144 +#: includes/admin/components/networks/wsl.components.networks.setup.php:271 +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:40 +msgid "Save Settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:27 +msgid "WSL Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:31 +msgid "" +"Here you can tell Bouncer if you are accepting new users registration and " +"authentication into your website or not any more. Note that Bouncer only " +"works for WSL and will not interfere with users authenticating through the " +"regulars wordpress Login and Register pages with their usernames and " +"passwords (to to achieve that kind of restrictions, you may need to use " +"another plugin(s) in combination with WSL)." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:35 +msgid "Accept new registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:44 +msgid "Allow authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:58 +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:45 +msgid "Profile Completion" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:62 +msgid "" +"Select required fields. If a social network doesn't return them, Bouncer " +"will then ask your visitors to fill additional form to provide them when " +"registering." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:65 +msgid "" +"You may activate Profile Completion for both E-mail and " +"Username, but keep in mind, the idea behind social login is to " +"avoid forms and remove all the hassle of registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:69 +msgid "Require E-mail" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:78 +msgid "Allow Username change" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:92 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:111 +msgid "User Moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:96 +msgid "" +"User Moderation will define how Bouncer should behave with new " +"regsitred users:" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:99 +msgid "None: No moderation required." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:100 +msgid "" +"E-mail Confirmation: New users will need to be confirm their e-mail " +"address before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:101 +msgid "" +"Admin Approval: New users will need to be approved by an " +"administrator before they may log in" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:104 +msgid "" +"Both Admin Approval and E-mail Confirmation requires Theme My Login plugin to be installed. As there is no point for " +"WordPress Social Login to reinvent the wheel" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:107 +msgid "" +"User Moderation was purposely made compatible with the Theme My Login for a number reasons: That plugin is good at what he " +"does, a hell of a lot of people are using it and many have asked for it" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:114 +msgid "None" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:115 +msgid "E-mail Confirmation — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:116 +msgid "Admin Approval — Yield to Theme My Login plugin" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:126 +msgid "Membership level" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:130 +msgid "" +"Here you can define the default role for new users authenticating through " +"WSL. The Administrator and Editor roles are not " +"available for safety reasons" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:133 +msgid "" +"For more information about wordpress users roles and capabilities refer to " +"http://codex.wordpress.org/" +"Roles_and_Capabilities" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:136 +msgid "" +"If User Moderation is set to Admin Approval then " +"Membership level will be ignored" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:140 +msgid "New User Default Role" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:143 +msgid "Safe" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:144 +msgid "— Wordpress User Default Role —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:145 +msgid "— No role for this site —" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:146 +msgid "Subscriber" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:149 +msgid "Be careful with these" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:150 +msgid "Author" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:151 +msgid "Contributor" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:162 +msgid "Filters by emails domains name" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:166 +msgid "Restrict registration to a limited number of domains name." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:167 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: gmail.com, without '@'." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:171 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:208 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:246 +#: includes/admin/components/contacts/index.php:51 +#: includes/admin/components/contacts/index.php:58 +#: includes/admin/components/contacts/index.php:65 +#: includes/admin/components/contacts/index.php:72 +#: includes/admin/components/contacts/index.php:79 +#: includes/admin/components/diagnostics/index.php:61 +#: includes/admin/components/networks/wsl.components.networks.setup.php:109 +msgid "Enabled" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:180 +msgid "Domains list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:186 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:223 +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:261 +msgid "Bounce text" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:199 +msgid "Filters by e-mails addresses" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:203 +msgid "Restrict registration to a limited number of emails addresses." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:204 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: hybridauth@gmail.com" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:217 +msgid "E-mails list" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:236 +msgid "Filters by profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:240 +msgid "Restrict registration to a limited number of profile urls." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:241 +msgid "" +"Note: If a social network provide the user email, then use 'Filters " +"by e-mails addresses' instead. Providers like Facebook provide multiples " +"profiles URLs per user and WSL won't be able to reconize them." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:242 +msgid "" +"Insert one email address per line and try to keep this list short. On " +"Bounce text insert the text you want to display for rejected " +"users. ex: http://twitter.com/HybridAuth, https://plus." +"google.com/u/0/108839241301472312344" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.setup.php:255 +msgid "Profile urls" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:26 +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:26 +msgid "What's This?" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:30 +msgid "Hey, meet our friend, the Bouncer" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:33 +msgid "" +"Ever been in trouble with one of these guys? Well, this module " +"have more or less the same role, and he will try his best to piss your users " +"off until they meet your requirements." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:37 +msgid "" +"This feature is most suited for small businesses and folks running a closed-" +"door blog between friends or coworkers." +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:40 +msgid "Available settings" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:43 +msgid "Enable/Disable Registration" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:44 +msgid "Enable/Disable Authentication" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:46 +msgid "Users moderation" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:47 +msgid "Users roles" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:48 +msgid "Restrictions (by emails, domains, profiles urls)" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:51 +msgid "IMPORTANT!" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:54 +msgid "" +"All the settings on this page without exception are only valid for users " +"authenticating through WordPress Social Login Widget" +msgstr "" + +#: includes/admin/components/bouncer/wsl.components.bouncer.sidebar.php:57 +msgid "" +"Users authenticating through the regulars Wordpress Login and Register pages " +"with their usernames and passwords WILL NOT be affected." +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:30 +msgid "Other Components available" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:58 +msgid "WordPress Social Login for BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:60 +msgid "Make WordPress Social Login compatible with BuddyPress" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:61 +msgid "Widget integration, xProfiles mapping and more" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:63 +msgid "Install Now" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:64 +msgid "Visit plugin site" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:69 +msgid "Build yours" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:71 +msgid "" +"Looking to build your own custom WordPress Social Login extenstion or " +"component? Well, it's pretty easy. Just RTFM :)" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:74 +msgid "WSL Developer API" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.gallery.php:75 +msgid "WSL on Github" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:29 +#: includes/admin/components/components/wsl.components.help.setup.php:37 +msgid "Component" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:30 +#: includes/admin/components/components/wsl.components.help.setup.php:38 +msgid "Description" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:67 +msgid "View" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:72 +msgid "Disable" +msgstr "" + +#: includes/admin/components/components/wsl.components.help.setup.php:74 +msgid "Enable" +msgstr "" + +#: includes/admin/components/contacts/index.php:39 +msgid "Settings" +msgstr "" + +#: includes/admin/components/contacts/index.php:43 +msgid "" +"WordPress Social Login is now introducing Contacts Import as a " +"new feature. When enabled, users authenticating through WordPress Social " +"Login will be asked for the authorisation to import their contact list. Note " +"that some social networks do not provide certains of their users information " +"like contacts emails, photos and or profile urls" +msgstr "" + +#: includes/admin/components/contacts/index.php:45 +msgid "Enable contacts import for" +msgstr "" + +#: includes/admin/components/contacts/index.php:52 +#: includes/admin/components/contacts/index.php:59 +#: includes/admin/components/contacts/index.php:66 +#: includes/admin/components/contacts/index.php:73 +#: includes/admin/components/contacts/index.php:80 +#: includes/admin/components/diagnostics/index.php:62 +msgid "Disabled" +msgstr "" + +#: includes/admin/components/contacts/index.php:86 +msgid "Notes" +msgstr "" + +#: includes/admin/components/contacts/index.php:88 +msgid "" +"To enable contacts import from these social network, you need first to " +"enabled them on the Networks tab and register the required " +"application" +msgstr "" + +#: includes/admin/components/contacts/index.php:89 +msgid "" +"WSL will try to import as much information about a user contacts as " +"he was able to pull from the social networks APIs." +msgstr "" + +#: includes/admin/components/contacts/index.php:90 +msgid "" +"All contacts data are sotred into your database on the table: " +"`wsluserscontacts`" +msgstr "" + +#: includes/admin/components/contacts/index.php:107 +msgid "Users contacts list preview" +msgstr "" + +#: includes/admin/components/contacts/index.php:114 +#, php-format +msgid "%s contact's list" +msgstr "" + +#: includes/admin/components/contacts/index.php:121 +#: includes/admin/components/contacts/index.php:130 +#: includes/widgets/wsl.auth.widget.php:299 +msgid "Provider" +msgstr "" + +#: includes/admin/components/contacts/index.php:122 +#: includes/admin/components/contacts/index.php:131 +msgid "User" +msgstr "" + +#: includes/admin/components/contacts/index.php:123 +#: includes/admin/components/contacts/index.php:132 +msgid "Contact Name" +msgstr "" + +#: includes/admin/components/contacts/index.php:124 +#: includes/admin/components/contacts/index.php:133 +msgid "Contact Email" +msgstr "" + +#: includes/admin/components/contacts/index.php:125 +#: includes/admin/components/contacts/index.php:134 +msgid "Contact Profile Url" +msgstr "" + +#: includes/admin/components/contacts/index.php:150 +msgid "No contacts found" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:24 +msgid "Requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:27 +msgid "" +"In order for WordPress Social Login to work properly, your server " +"should meet certain requirements. These \"requirements\"
    and \"services" +"\" are usually offered by default by most \"modern\" web hosting providers, " +"however some complications may
    occur with shared hosting and, " +"or custom wordpress installations" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:30 +msgid "The minimum server requirements are" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:33 +msgid "PHP >= 5.2.0 installed" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:34 +msgid "WSL Endpoint URLs reachable" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:35 +msgid "PHP's default SESSION handling" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:36 +msgid "PHP/CURL/SSL Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:37 +msgid "PHP/JSON Extension enabled" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:38 +msgid "PHP/REGISTER_GLOBALS Off" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:39 +msgid "jQuery installed on WordPress backoffice" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:42 +msgid "" +"You can run the WordPress Social Login Requirements Test by clicking " +"the button bellow" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:46 +msgid "Run the plugin requirements test" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:47 +msgid "Website Information" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:53 +msgid "Development mode" +msgstr "" + +#: includes/admin/components/diagnostics/index.php:56 +msgid "" +"By enabling the development mode, this plugin will try generate and display " +"a technical reports when something goes wrong.
    This report can help " +"your figure out the root of any issues you may runs into, or you can also " +"send it to the plugin developer.
    Its recommend to set the Development " +"mode to Disabled on production." +msgstr "" + +#: includes/admin/components/help/index.php:25 +msgid "Troubleshooting" +msgstr "" + +#: includes/admin/components/help/index.php:27 +msgid "WSL Diagnostics" +msgstr "" + +#: includes/admin/components/help/index.php:29 +msgid "System information" +msgstr "" + +#: includes/admin/components/help/index.php:32 +msgid "" +"If you run into any issue, you can access the WordPress Social Login " +"Diagnostics to check the Plugin Requirements or to enable the " +"Development mode" +msgstr "" + +#: includes/admin/components/help/index.php:35 +msgid "" +"Remember to include your System information when posting support requests" +msgstr "" + +#: includes/admin/components/help/index.php:39 +msgid "Documentation" +msgstr "" + +#: includes/admin/components/help/index.php:41 +msgid "" +"The complete User Guide can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/index.html" +msgstr "" + +#: includes/admin/components/help/index.php:47 +msgid "FAQs" +msgstr "" + +#: includes/admin/components/help/index.php:49 +msgid "" +"A list of Frequently asked questions can be found at\n" +"\t\thybridauth.sourceforge.net/wsl/faq.html" +msgstr "" + +#: includes/admin/components/help/index.php:55 +msgid "Support" +msgstr "" + +#: includes/admin/components/help/index.php:57 +msgid "" +"To get help and support refer to http://hybridauth.sourceforge.net/wsl/" +"support.html" +msgstr "" + +#: includes/admin/components/help/index.php:62 +msgid "Credits" +msgstr "" + +#: includes/admin/components/help/index.php:64 +msgid "" +"WordPress Social Login was created by Mohamed Mrassi (a.k.a Miled) and contributors" +msgstr "" + +#: includes/admin/components/help/index.php:65 +msgid "" +"Many other people have also contributed with
    constructive discussions, " +"support and by submitting patches" +msgstr "" + +#: includes/admin/components/help/index.php:70 +msgid "License" +msgstr "" + +#: includes/admin/components/help/index.php:72 +msgid "" +"WordPress Social Login is an open source software licenced under The " +"MIT License (MIT)" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:27 +msgid "Basic Settings" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:32 +msgid "Connect with caption" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:38 +msgid "Social icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:41 +msgid "WPZOOM social networking icon set" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:42 +msgid "Icondock vector social media icons" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:47 +msgid "Users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:50 +msgid "Display the default users avatars" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:51 +msgid "Display users avatars from social networks when available" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:67 +msgid "Redirect URL" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:73 +msgid "Authentication flow" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:76 +msgid "Using popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:77 +msgid "No popup window" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:82 +msgid "Widget display" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:85 +msgid "Display the widget in the comments area, login and register forms" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:86 +msgid "Display the widget ONLY in the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:87 +msgid "Display the widget ONLY in the login form" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:92 +msgid "Notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:95 +msgid "No notification" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:96 +msgid "Notify ONLY the blog admin of a new user" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:107 +msgid "Custom CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:112 +msgid "Widget CSS" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:114 +msgid "" +"To customize the default widget styles you can either: edit the css file " +"/wordpress-social-login/assets/css/style.css, or change it " +"from this text area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.setup.php:118 +msgid "The basic widget markup is the following" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:30 +msgid "Widget Customization" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:33 +msgid "" +"On this section you can fully customize WordPress Social Login Widget " +"and define the way you want it to look and behave" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:37 +msgid "" +"WordPress Social Login Widget will be generated into the comments, " +"login and register forms enabling your website vistors and customers to " +"login via social networks" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:41 +msgid "" +"If this widget does not show up on your custom theme or you want to add it " +"somewhere else then refer to the next section" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:44 +msgid "Custom integration" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:47 +msgid "" +"If you want to add the social login widget to another location in your " +"theme, you can insert the following code in that location" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:49 +msgid "Or, for posts and pages" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:54 +msgid "" +"[wordpress_social_login] shortcode can be used in combination with HTML Javascript Adder plugin to be add WSL Widget to your " +"website sidebar" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:58 +msgid "" +"Also, if you are a developer or designer then you can customize it to your " +"heart's content. For more inofmation refer to User Guide" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:61 +msgid "Widget preview" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:64 +msgid "This is a preview of what should be on the comments area" +msgstr "" + +#: includes/admin/components/login-widget/wsl.components.loginwidget.sidebar.php:65 +msgid "Do not test it here" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:24 +msgid "" +"And you could add even more of them, Just Click and we will guide you " +"through" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.addmore.php:48 +msgid "Well! none left." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:36 +msgid "Insights" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:40 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:49 +msgid "Conversions" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:43 +msgid "WP users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:46 +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:77 +msgid "WSL users" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:59 +msgid "By provider" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:85 +msgid "By gender" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:108 +msgid "By age" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.basicinsights.php:139 +msgid "yrs in average" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:126 +msgid "Application ID" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:128 +#: includes/admin/components/networks/wsl.components.networks.setup.php:134 +#: includes/admin/components/networks/wsl.components.networks.setup.php:140 +msgid "Where do I get this info?" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:132 +msgid "Application Key" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:138 +msgid "Application Secret" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:149 +msgid "Note" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:151 +#, php-format +msgid "" +"%s do not provide their user's email address and by default a random " +"email will then be generated for them instead" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:153 +msgid "" +"To change this behaviour and to force new registered users to provide their " +"emails before they get in, goto Bouncer and enable " +"Profile Completion" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:163 +msgid "" +"Application id and secret (also " +"sometimes referred as Customer key and " +"secret or Client id and secret) are " +"what we call an application credentials" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:165 +#, php-format +msgid "" +"This application will link your website %s to %s API and these credentials are needed in order for %s users to " +"access your website" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:168 +msgid "" +"These credentials may also differ in format, name and content depending on " +"the social network." +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:172 +#, php-format +msgid "" +"To enable authentication with this provider and to register a new %s API " +"Application, carefully follow the steps" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:175 +#, php-format +msgid "Done. Nothing more required for %s" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:259 +msgid "And that's it!" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.setup.php:261 +#, php-format +msgid "" +"If for some reason you still can't figure it out, first try to a) Google it, then check it on b) Youtube and if nothing works c) " +"ask for support" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:21 +msgid "Why, hello there" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:29 +msgid "" +"If you are still new to things, we recommend that you read the Plugin User Guide and to make sure your server settings meet this " +"Plugin Requirements" +msgstr "" + +#: includes/admin/components/networks/wsl.components.networks.whyhello.php:32 +msgid "" +"If you run into any issue then refer to Help & Support to konw how " +"to reach me" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:30 +#: includes/admin/components/users/wsl.components.users.list.php:41 +msgid "Providers" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:31 +#: includes/admin/components/users/wsl.components.users.list.php:42 +#: includes/settings/wsl.compatibilities.php:104 +msgid "Username" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:32 +#: includes/admin/components/users/wsl.components.users.list.php:43 +msgid "Full Name" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:33 +#: includes/admin/components/users/wsl.components.users.list.php:44 +#: includes/settings/wsl.compatibilities.php:100 +msgid "E-mail" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:34 +#: includes/admin/components/users/wsl.components.users.list.php:45 +msgid "Profile URL" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:35 +#: includes/admin/components/users/wsl.components.users.list.php:46 +#: includes/settings/wsl.initialization.php:400 +msgid "Contacts" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:36 +#: includes/admin/components/users/wsl.components.users.list.php:47 +msgid "Actions" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.list.php:55 +msgid "No users found" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:22 +msgid "USER DOES NOT EXIST!" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +msgid "User Profile" +msgstr "" + +#: includes/admin/components/users/wsl.components.users.profile.php:43 +#, php-format +msgid "as provided by %s" +msgstr "" + +#: includes/services/wsl.authentication.php:64 +msgid "Bouncer say don't be silly!" +msgstr "" + +#: includes/services/wsl.authentication.php:70 +msgid "Bouncer say this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:77 +msgid "WSL is disabled!" +msgstr "" + +#: includes/services/wsl.authentication.php:99 +msgid "Bouncer says this makes no sense." +msgstr "" + +#: includes/services/wsl.authentication.php:107 +msgid "Bouncer say you are doin it wrong." +msgstr "" + +#: includes/services/wsl.authentication.php:114 +msgid "You are already logged in as %." +msgstr "" + +#: includes/services/wsl.authentication.php:119 +#: includes/services/wsl.authentication.php:559 +msgid "" +"Error: Another plugin seems to be using HybridAuth Library and made " +"WordPress Social Login unusable. We recommand to find this plugin and to " +"kill it with fire!" +msgstr "" + +#: includes/services/wsl.authentication.php:130 +msgid "Unknown or disabled provider" +msgstr "" + +#: includes/services/wsl.authentication.php:262 +msgid "Unspecified error!" +msgstr "" + +#: includes/services/wsl.authentication.php:266 +msgid "Unspecified error." +msgstr "" + +#: includes/services/wsl.authentication.php:267 +msgid "Hybriauth configuration error." +msgstr "" + +#: includes/services/wsl.authentication.php:268 +msgid "Provider not properly configured." +msgstr "" + +#: includes/services/wsl.authentication.php:269 +msgid "Unknown or disabled provider." +msgstr "" + +#: includes/services/wsl.authentication.php:270 +msgid "Missing provider application credentials." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +#, php-format +msgid "" +"What does this error mean ?
    Most likely, you didn't setup the " +"correct application credentials for this provider. These credentials are " +"required in order for %s users to access your website and for " +"WordPress Social Login to work." +msgstr "" + +#: includes/services/wsl.authentication.php:271 +msgid "" +"
    Instructions for use can be found in the User Manual." +msgstr "" + +#: includes/services/wsl.authentication.php:273 +msgid "" +"Authentification failed. The user has canceled the authentication or the " +"provider refused the connection." +msgstr "" + +#: includes/services/wsl.authentication.php:274 +msgid "" +"User profile request failed. Most likely the user is not connected to the " +"provider and he should to authenticate again." +msgstr "" + +#: includes/services/wsl.authentication.php:277 +msgid "User not connected to the provider." +msgstr "" + +#: includes/services/wsl.authentication.php:280 +msgid "Provider does not support this feature." +msgstr "" + +#: includes/services/wsl.authentication.php:323 +msgid "Something bad happen!" +msgstr "" + +#: includes/services/wsl.authentication.php:389 +msgid "" +"Note: This message can be disabled from the plugin settings by setting " +"Development mode to Disabled" +msgstr "" + +#: includes/services/wsl.authentication.php:418 +msgid "Redirecting..." +msgstr "" + +#: includes/services/wsl.authentication.php:447 +#, php-format +msgid "Contacting %s, please wait..." +msgstr "" + +#: includes/services/wsl.authentication.php:711 +msgid "registration is now closed!" +msgstr "" + +#: includes/services/wsl.authentication.php:733 +#, php-format +msgid "Unspecified error. #%d" +msgstr "" + +#: includes/services/wsl.authentication.php:882 +msgid "An error occurred while creating a new user!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:92 +msgid "Almost there, we just need to check a couple of things" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:96 +msgid "Continue" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:108 +msgid "E-mail is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:112 +msgid "Username is not valid!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:116 +msgid "That E-mail is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:120 +msgid "That Username is already registered!" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:124 +msgid "You are now connected via" +msgstr "" + +#: includes/settings/wsl.compatibilities.php:140 +msgid "Bouncer says no." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:148 +msgid "Bouncer say he refuses." +msgstr "" + +#: includes/settings/wsl.compatibilities.php:156 +msgid "Bouncer say only Mundo can go where he pleases!" +msgstr "" + +#: includes/settings/wsl.initialization.php:59 +#: includes/settings/wsl.initialization.php:87 +msgid "" +"An installed plugin is trying to o-ver-write WordPress Social Login config " +"in a bad way." +msgstr "" + +#: includes/settings/wsl.initialization.php:373 +msgid "WSL user profile" +msgstr "" + +#: includes/settings/wsl.initialization.php:374 +msgid "WSL user contacts" +msgstr "" + +#: includes/settings/wsl.initialization.php:400 +msgid "Profile" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:124 +msgid "" +"WordPress Social Login is not configured yet!
    Please visit the Settings\\ WP Social Login " +"administration page to configure this plugin.
    For more information " +"please refer to the plugin online user guide or " +"contact us at hybridauth." +"sourceforge.net" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:293 +msgid "Social networks" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:300 +msgid "Identity" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:336 +msgid "Add more identities" +msgstr "" + +#: includes/widgets/wsl.auth.widget.php:375 +msgid "Currently connected to:" +msgstr "" diff --git a/wp-content/plugins/wordpress-social-login/readme.txt b/wp-content/plugins/wordpress-social-login/readme.txt new file mode 100644 index 0000000..1ea52d0 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/readme.txt @@ -0,0 +1,105 @@ +=== WordPress Social Login === +Contributors: miled +Tags: login, register, comment, social, social networks, social login, import contacts, facebook, google, yahoo, twitter, windows live, myspace, foursquare, linkedin, last.fm, instagram, vkontakte, stackoverflow, github, steam, twitch.tv +Requires at least: 3.0 +Tested up to: 3.5 +Stable tag: 2.1.6 +License: MIT License +License URI: http://opensource.org/licenses/MIT + +WordPress Social Login allow your visitors to comment and login with social networks such as Twitter, Facebook, Google, Yahoo and more. + +== Description == + +Using WordPress Social Login, your blog's users will be able to login and comment with social networks such as Twitter, Facebook, Google and Yahoo. + +WordPress Social Login also allows you to import users contact list from Google Gmail, Facebook, Windows Live and LinkedIn. + +WordPress Social Login gives you absolute control over users access to your website and comes with a painfully long list of rules and restrictions for you to setup. + +Free, unlimited and white-label
    +Licenced under MIT License, WordPress Social Login available to everyone for completely free, with all features included, at absolutely no cost. You are free to use a WordPress Social Login in commercial websites as long as the copyright header is left intact. + +Built on top of an Open Source Library
    +HybridAuth Library enable developers to easily build social applications to engage websites vistors and customers on a social level by implementing social signin, social sharing, users profiles, friends list, activities stream, status updates and more. + +23 supported social netwroks
    +Depending on the audience you're targeting, you can choose from a wide variety of providers and services including: Social networks, Microblogging platforms, Professional networks, Media, Photo sharing, Programmers and Gamers networks. + +Easy to customize and integrate
    +WordPress Social Login come with a simple but flexible and fully customizable authentication widget. And if you are a developer or designer then you can customize it to your heart's content, changing the css and icons is a matter of seconds. + +Even more features are planned
    +The coming release « the definitive social toolkit » will brings even more exciting new features and significant updates to WordPress Social Login. From advanced users managment to contacts import and export, social sharing, tweet comments, tweet to download, and more. + + +Supported Providers
    +Facebook , Google , Yahoo , Twitter , Windows Live , Myspace , Foursquare , Linkedin , Tumblr , Steam , Twitch.tv , Last.fm , Instagram , Goodreads , AOL , Vkontakte , Stackoverflow , Github , 500px , Skyrock , Mixi.jp , Mail.ru , Yandex and Odnoklassniki. + +Special thanks to: + +* [thenbrent](http://profiles.wordpress.org/users/thenbrent/) the talented developer behind the Social Connect plugin +* [Macky Franklin](http://www.mackyfranklin.com) for all the great help +* [Pat Anvil](http://patanvil.com) for adding Goodreads +* [Nicolas Quienot](https://github.com/niQo) for adding Skyrock +* [Ayrat Belyaev](https://github.com/xbreaker) for adding Mail.ru, Yandex and Odnoklassniki + +== Installation == + += the hard way = + +1. Download, Unzip and drop the extention on /wp-content/plugins/ directory, +1. As admistration, activate the plugin through the 'Plugins' menu in WordPress, +1. Goto the Settings > WP Social Login to get started. + += the easy way = + +1. As admistration, goto 'Plugins' then Click on 'Add New', +2. Search for 'WordPress Social Login' then Click on 'Install Now', +3. Wait for it to download, Unpack and to install, +4. Activate the plugin by Clicking on 'Activate Plugin' +5. Goto the Settings > WP Social Login to get started. + + +== Frequently Asked Questions == + += Where do I find the plugin Documentation & FAQ ? = + +The user guide and frequently asked questions can be found at http://bit.ly/TYy2CM + +== Screenshots == + +1. **Comment** - Buttons for 3rd party services are also provided on the comment form. +2. **Login** - On the login and registration form, buttons for 3rd party services are provided. +3. **Setup** - To correctly setup these Identity Providers please carefully follow the help section of each one. +4. **Customize** - WordPress Social Login customization form + +== Changelog == + += 2.1.3 = + +* In a similar way to WordPress plugins, WSL uses Components, +* Email Validation is replaced with Profile Completion, +* User Moderation made compatible with Theme My Login plugin, +* A number of enhancements and new options now available but who care + += 2.0.3 = + +* Managing WSL users, +* Import WSL users contact list from Google Gmail, Facebook, Live and LinkedIn, +* An entirely reworked user interface, +* Improving the documentation and guides, +* Introducing a new module, and the long awaited, The bouncer, +* Twitch.tv joins WSL, richer Steam user profiles, and more. + += 1.2.4 = + +* WSL admin ui Relooking +* Code refactoring +* add Widget display on advanced settings +* RIP Gowalla +* WordPress Social Login is now licenced under The MIT License only (should be GPL compatible) + += 0.0.0 = + +* I'm too old to remember diff --git a/wp-content/plugins/wordpress-social-login/screenshot-1.png b/wp-content/plugins/wordpress-social-login/screenshot-1.png new file mode 100644 index 0000000..c26e14d Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/screenshot-1.png differ diff --git a/wp-content/plugins/wordpress-social-login/screenshot-2.png b/wp-content/plugins/wordpress-social-login/screenshot-2.png new file mode 100644 index 0000000..e2b9b5f Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/screenshot-2.png differ diff --git a/wp-content/plugins/wordpress-social-login/screenshot-3.png b/wp-content/plugins/wordpress-social-login/screenshot-3.png new file mode 100644 index 0000000..487e119 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/screenshot-3.png differ diff --git a/wp-content/plugins/wordpress-social-login/screenshot-4.png b/wp-content/plugins/wordpress-social-login/screenshot-4.png new file mode 100644 index 0000000..3cea533 Binary files /dev/null and b/wp-content/plugins/wordpress-social-login/screenshot-4.png differ diff --git a/wp-content/plugins/wordpress-social-login/services/diagnostics.php b/wp-content/plugins/wordpress-social-login/services/diagnostics.php new file mode 100644 index 0000000..8d4bfb4 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/services/diagnostics.php @@ -0,0 +1,168 @@ + + + + + + WordPress Social Login Requirements Test + + + + +

    WordPress Social Login Requirements Test

    + +

    + Important: +

    + +

    + WordPress Social Login requirements are: +

    +
      +
    • PHP >= 5.2.0 installed
    • +
    • WSL Endpoint URLs reachable
    • +
    • PHP's default SESSION handling
    • +
    • PHP/cURL/SSL Extension enabled
    • +
    • PHP/JSON Extension enabled
    • +
    • PHP/REGISTER_GLOBALS Off
    • +
    • jQuery installed on WordPress backoffice
    • +
    + +
    + +
    1. PHP Version
    +

    +=' ) ){ + echo "OK!
    PHP >= 5.2.0 installed."; + } + else{ + echo "FAIL!
    PHP >= 5.2.0 not installed."; + } +?> +

    + +
    2. PHP Sessions
    +

    +OK!
    PHP Sessions are working correctly for {$_SESSION["wsl::plugin"]} to work."; + } + else{ + ?> + FAIL!
    PHP Sessions are not working correctly or this page has been accessed directly. + + +

    + Most likely an issue with PHP SESSION. The plugin has been made to work with PHP's default SESSION handling (sometimes this occur when the php session is disabled, renamed or when having permissions issues). +

    + If you are using a reverse proxy like Varnish it is possible that WordPress's default user cookies are being stripped. If this is the case, please review your VCL file. You may need to configure this file to allow the needed cookies. +

    + This problem has also been encountered with WP Engine. + +
    + + If you see an error "Warning: session_start..." on the top of this page or in the Error log file, then + + there is a problem with your PHP server that will prevent this plugin from working with PHP sessions. Sometimes PHP session do not work because of a file permissions problem. The solution is to make a trouble ticket with your web host. + +
    +
    + Alternatively, you can create the sessions folder in your root directory, then add session_save_path('/path/to/writable/folder') at the top of the following files: + +
    + - wp-config.php
    + - wp-content/plugins/wordpress-social-login/wp-social-login.php
    + - wp-content/plugins/wordpress-social-login/authenticate.php
    + - wp-content/plugins/wordpress-social-login/hybridauth/index.php
    +
    + +

    + +
    3. cURL Extension
    +

    NOT exist, and we cannot create it.','wp-db-backup'); ?>

    +

    ' . $this->backup_dir . ''); ?>

    backup_dir) && ! @chmod($this->backup_dir, $dir_perms) ) { + ?>

    +OK!
    PHP cURL extension installed. [http://www.php.net/manual/en/intro.curl.php]"; +?> +

    + +
    4. cURL / SSL
    +

    +OK!
    PHP cURL/SSL Supported. [http://www.php.net/manual/en/intro.curl.php]"; + } + else{ + echo "FAIL!
    PHP cURL/SSL Not supported. [http://www.php.net/manual/en/intro.curl.php]"; + } + } + else{ + echo "FAIL!
    PHP cURL extension not installed. [http://www.php.net/manual/en/intro.curl.php]"; + } +?> +

    + +
    5. JSON Extension
    +

    +OK!
    PHP JSON extension installed. [http://php.net/manual/en/book.json.php]"; + } + else{ + echo "FAIL!
    PHP JSON extension is disabled. [http://php.net/manual/en/book.json.php]"; + } +?> +

    + +
    6. PHP Register Globals
    +

    + + FAIL!
    PHP Register Globals are On! + +

    + What do I do if Register Globals are On? +

    + If "PHP Register Globals" are On, then there is a problem with your PHP server that will prevent this plugin from working properly and will result on an enfinite loop on WSL authentication page. Also, Register Globals has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0. +
    +
    + The solution is to make a trouble ticket with your web host to disable it,
    + Or, if you have a dedicated server and you know what are you doing then edit php.ini file and turn it Off : +
    +
    + register_globals = Off +

    +
    + OK!
    REGISTER_GLOBALS = OFF. [http://php.net/manual/en/security.globals.php]"; + } +?> +

    + + \ No newline at end of file diff --git a/wp-content/plugins/wordpress-social-login/services/index.php b/wp-content/plugins/wordpress-social-login/services/index.php new file mode 100644 index 0000000..9f340ba --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/services/index.php @@ -0,0 +1,2 @@ + + + + +Website Information + + + + +
    +

    Website Information

    + +

    +Important: +

    +
      +
    • Please include this information when posting support requests. It will help me immensely to better understand any issues.
    • +
    • These information should be communicated to the plugin developer privately via email : Miled <hybridauth@gmail.com>
    • +
    + + + + + + +
    +
    + + diff --git a/wp-content/plugins/wordpress-social-login/wp-social-login.php b/wp-content/plugins/wordpress-social-login/wp-social-login.php new file mode 100644 index 0000000..3f42881 --- /dev/null +++ b/wp-content/plugins/wordpress-social-login/wp-social-login.php @@ -0,0 +1,245 @@ +' . __( "Settings" ) . ''; + + array_unshift( $links, $settings_link ); + } + + return $links; +} + +add_filter( 'plugin_action_links', 'wsl_add_settings_link', 10, 2 ); + +// -------------------------------------------------------------------- + +/** +* This file only need to be included for versions before 3.1. +* Deprecated since version 3.1, the functions are included by default +*/ +if ( ! function_exists ('email_exists') ){ + require_once( ABSPATH . WPINC . '/registration.php' ); +} + +// -------------------------------------------------------------------- + +/* Localization */ + +/** +* Loads the plugin's translated strings. +* +* http://codex.wordpress.org/Function_Reference/load_plugin_textdomain +*/ +if ( function_exists ('load_plugin_textdomain') ){ + // B. Please. It's on purpose. + load_plugin_textdomain ( 'wordpress-social-login', false, WORDPRESS_SOCIAL_LOGIN_REL_PATH . '/languages/' ); +} + +// -------------------------------------------------------------------- + +/** +* _e() wrapper +* +* This function is used for the localization widget to generate translations per page. +* If you are using Poedit for example you could search for texts by _wsl_e and _wsl__ instead +* +* If you are new to wp/i18n, then check out this video youtube.com/watch?v=aGN-hbMCPMg +* +* And PLEASE, if you translated something on wsl then consider shareing it by droping an email +* even if it's one word or one sentence. +*/ +function _wsl_e($text, $domain) +{ + global $WORDPRESS_SOCIAL_LOGIN_TEXTS; + + $local = __($text, $domain); + + $WORDPRESS_SOCIAL_LOGIN_TEXTS[ preg_replace('/\s+/', ' ', strip_tags( $local ) ) ] = $text; + + echo $local; +} + +// -------------------------------------------------------------------- + +/** +* __() wrapper +* +* This function is used for the localization widget to generate translations per page. +* If you are using Poedit for example you could search for texts by _wsl_e and _wsl__ instead +* +* If you are new to wp/i18n, then check out this video youtube.com/watch?v=aGN-hbMCPMg +* +* And PLEASE, if you translated something on wsl then consider shareing it by droping an email +* even if it's one word or one sentence. +*/ +function _wsl__($text, $domain) +{ + global $WORDPRESS_SOCIAL_LOGIN_TEXTS; + + $local = __($text, $domain); + + $WORDPRESS_SOCIAL_LOGIN_TEXTS[ preg_replace('/\s+/', ' ', strip_tags( $local ) ) ] = $text; + + return $local; +} + +// -------------------------------------------------------------------- + +/** +* Return the current used WSL version +*/ +function wsl_version() +{ + global $WORDPRESS_SOCIAL_LOGIN_VERSION; + + return $WORDPRESS_SOCIAL_LOGIN_VERSION; +} + +// -------------------------------------------------------------------- + +/* includes */ + +# Settings +require_once( dirname (__FILE__) . '/includes/settings/wsl.providers.php' ); // List of provider supported by hybridauth library +require_once( dirname (__FILE__) . '/includes/settings/wsl.database.php' ); // Functions & utililies related to wsl database installation and migrations +require_once( dirname (__FILE__) . '/includes/settings/wsl.initialization.php' ); // Check wsl requirements and register wsl settings, list of components and admin tabs +require_once( dirname (__FILE__) . '/includes/settings/wsl.compatibilities.php' ); // Check and upgrade compatibilities from old wsl versions + +# Services +require_once( dirname (__FILE__) . '/includes/services/wsl.authentication.php' ); // Authenticate users via social networks. +require_once( dirname (__FILE__) . '/includes/services/wsl.mail.notification.php' ); // Email notifications to send. so far only the admin one is implemented +require_once( dirname (__FILE__) . '/includes/services/wsl.user.avatar.php' ); // Displaying the user avatar when available on the comment section +require_once( dirname (__FILE__) . '/includes/services/wsl.user.data.php' ); // User data functions (database related) + +# WSL Widgets or so we call them +require_once( dirname (__FILE__) . '/includes/widgets/wsl.auth.widget.php' ); // Authentication widget generators (yep where the icons are displayed) +require_once( dirname (__FILE__) . '/includes/widgets/wsl.complete.registration.php' ); // Page for users completing their registration (currently used only by Bouncer::Email Validation +require_once( dirname (__FILE__) . '/includes/widgets/wsl.notices.php' ); // Kill WordPress execution and display HTML message with error message. in similar fashion to wp_die + +# WSL Admin UIs +if( is_admin() ){ + require_once( dirname (__FILE__) . '/includes/admin/wsl.admin.ui.php' ); // The LOC in charge of displaying WSL Admin GUInterfaces +} + +// -------------------------------------------------------------------- + +/* hooks */ + +register_activation_hook( __FILE__, 'wsl_database_migration_hook' ); + +// -------------------------------------------------------------------- diff --git a/wp-content/plugins/wp-calais-archive-tagger/calais_archive_tagger.php b/wp-content/plugins/wp-calais-archive-tagger/calais_archive_tagger.php new file mode 100644 index 0000000..75fd01d --- /dev/null +++ b/wp-content/plugins/wp-calais-archive-tagger/calais_archive_tagger.php @@ -0,0 +1,155 @@ + + + + +
    +

    Calais Archive Tagger

    + +
    +

    Configuration

    +
    + +

    + +
    + +
    + +

    + +
    +
    + +
    +

    Archive Tagger

    + +
    Status: Click here to start tagging your posts.
    +
    +
    + +
    + ID)) + die("#DONE#"); + + $entities = array(); + $tags = array(); + $newtags = array(); + $content = $post->post_title . " " . $post->post_content; + + $existing_tags = wp_get_post_tags($post->ID); + + if (count($existing_tags) > 0) { + foreach ($existing_tags as $tag) { + if ($tag->taxonomy == 'post_tag') + $tags[] = $tag->name; + } + } + + try { + $oc = new OpenCalais($key); + $entities = $oc->getEntities($content); + } catch (Exception $e) { + } + + if (count($entities) > 0) { + foreach ($entities as $type => $values) { + if (count($values) > 0) { + foreach ($values as $entity) { + if (strpos($entity, "http://") === false && strpos($entity, "@") === false && !in_array($entity, $newtags)) { + $tags[] = $entity; + $newtags[] = $entity; + } + } + } + } + } + + wp_set_post_tags($post->ID, implode($tags, ',')); + + die($offset . "|" . $post->ID . "|" . implode($newtags, ',')); + +} \ No newline at end of file diff --git a/wp-content/plugins/wp-calais-archive-tagger/opencalais.php b/wp-content/plugins/wp-calais-archive-tagger/opencalais.php new file mode 100644 index 0000000..d46f639 --- /dev/null +++ b/wp-content/plugins/wp-calais-archive-tagger/opencalais.php @@ -0,0 +1,190 @@ +apikey = $apikey; + } + } + + public function getAllowDistribution() { return $this->allowDistribution; } + public function getAllowSearch() { return $this->allowSearch; } + public function getExternalID() { return $this->externalID; } + public function getSubmitter() { return $this->submitter; } + public function getContentType() { return $this->contentType; } + public function getOutputFormat() { return $this->outputFormat; } + public function getPrettyTypes() { return $this->prettyTypes; } + public function setAllowDistribution($x) { $this->allowDistribution = $x; } + public function setAllowSearch($x) { $this->allowSearch = $x; } + public function setExternalID($x) { $this->externalID = $x; } + public function setSubmitter($x) { $this->submitter = $x; } + public function setContentType($x) { $this->contentType = $x; } + public function setOutputFormat($x) { $this->outputFormat = $x; } + public function setPrettyTypes($x) { $this->prettyTypes = $x; } + + public function getEntities($content) { + + $response = $this->callAPI($content); + + $xml = substr($response, strpos($response, 'c:document')); + $matches = preg_match_all('#' . preg_quote('', '#') . '#ms', $xml, $rdf, PREG_SET_ORDER); + + foreach ($rdf as $key => $val) { + if (strpos($val[1], ": ") !== false) { + $parts = split(": ", $val[1]); + $this->addEntity($parts[0], $parts[1]); + } + } + + return $this->entities; + + } + + private function addEntity($key, $val) { + + $entityTypes = array('Anniversary' => 'Anniversary', + 'City' => 'City', + 'Company' => 'Company', + 'Continent' => 'Continent', + 'Country' => 'Country', + 'Currency' => 'Currency', + 'Date' => 'Date', + 'EmailAddress' => 'Email Address', + 'EntertainmentAwardEvent' => 'EntertainmentAwardEvent', + 'Facility' => 'Facility', + 'FaxNumber' => 'Fax Number', + 'Holiday' => 'Holiday', + 'IndustryTerm' => 'Industry Term', + 'MarketIndex' => 'Market Index', + 'MedicalCondition' => 'Medical Condition', + 'MedicalTreatment' => 'Medical Treatment', + 'Movie' => 'Movie', + 'MusicAlbum' => 'Music Album', + 'MusicGroup' => 'Music Group', + 'NaturalDisaster' => 'Natural Disaster', + 'NaturalFeature' => 'Natural Feature', + 'OperatingSystem' => 'Operating System', + 'Organization' => 'Organization', + 'Person' => 'Person', + 'PhoneNumber' => 'Phone Number', + 'Position' => 'Position', + 'Product' => 'Product', + 'ProgrammingLanguage' => 'Programming Language', + 'ProvinceOrState' => 'Province or State', + 'PublishedMedium' => 'Published Medium', + 'RadioProgram' => 'Radio Program', + 'RadioStation' => 'Radio Station', + 'Region' => 'Region', + 'SportsEvent' => 'Sports Event', + 'SportsGame' => 'Sports Game', + 'SportsLeague' => 'Sports League', + 'Technology' => 'Technology', + 'Time' => 'Time', + 'TVShow' => 'TV Show', + 'TVStation' => 'TV Station', + 'URL' => 'URL'); + + $key = trim($key); + $val = rtrim(trim($val),";"); + + if (!array_key_exists($key, $entityTypes)) { + return; + } else { + if ($this->prettyTypes) { + $key = $entityTypes[$key]; + } + } + + if (isset($this->entities[$key])) { + + if (!in_array($val, $this->entities[$key])) { + $this->entities[$key][] = $val; + } + + } else { + $this->entities[$key][] = $val; + } + + } + + private function callAPI($content, $title = null) { + + $postdata['licenseID'] = $this->apikey; + + $postdata['paramsXML'] = + '' + . ' ' + . ' ' + . ' ' + . ''; + + if (!empty($content)) { + $postdata['content'] = $content; + } else { + throw new OpenCalaisException("Content to analyze is empty."); + } + + $poststring = $this->urlencodeArray($postdata); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, self::APIURL); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HEADER, 0); + curl_setopt($ch, CURLOPT_POSTFIELDS, $poststring); + curl_setopt($ch, CURLOPT_POST, 1); + $response = html_entity_decode(curl_exec($ch)); + + if (strpos($response, "") !== false) { + $text = preg_match("/\(.*)\<\/Exception\>/mu", $response, $matches); + throw new OpenCalaisException($matches[1]); + } + + return $response; + + } + + private function urlencodeArray($array) { + foreach ($array as $key => $val) { + if (!isset($string)) { + $string = $key . "=" . urlencode($val); + } else { + $string .= "&" . $key . "=" . urlencode($val); + } + } + return $string; + } + +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/wp-calais-archive-tagger/readme.txt b/wp-content/plugins/wp-calais-archive-tagger/readme.txt new file mode 100644 index 0000000..2910b7c --- /dev/null +++ b/wp-content/plugins/wp-calais-archive-tagger/readme.txt @@ -0,0 +1,55 @@ +=== WP Calais Archive Tagger === +Contributors: dangrossman +Tags: tags, tagging, tagger, semantic web, semweb, semantic, suggest, suggestion, post +Requires at least: 2.3 +Tested up to: 3.3.1 +Stable tag: trunk + +Goes through your archives and adds tags to your posts based on semantic analysis. + +== Description == + +The Calais Archive Tagger plugin automatically goes through your archives and tags every post you've written. The plugin uses the Open Calais API to perform semantic analysis of your post text and suggest tags. If a post already contains a suggested tag, that tag isn't added, but other new tags found are. It takes about 5 minutes to tag 200 posts. + +This plugin requires PHP 5 and the cURL library (both of which are available on most web hosts). + +Also see WP Calais Auto Tagger for suggesting tags as you write new posts. + +== Installation == + +1. Upload `calais_archive_tagger.php` and `opencalais.php` to the `/wp-contents/plugins` directory +2. Activate the plugin through the 'Plugins' menu in WordPress +3. Add your Open Calais API key through the 'Calais Archive Tagger' sub-page of the 'Plugins' menu +4. Click the 'Start Tagging' link on the 'Calais Archive Tagger' sub-page of the 'Plugins' menu + +To obtan a Calais API key: + +1. Go to the Open Calais website at http://opencalais.com/ +2. Click "Register" at the top of the page and create an account +3. Request an API key at http://developer.opencalais.com/apps/register + +You should receive the key immediately. + +== Frequently Asked Questions == + += What's new in version 1.1 = + +The script now sleeps for half a second between posts to ensure you stay within the current Calais API rate limits (2 requests per second and 40,000 requests per day). + +I've also wrapped the API call in a try/catch block so that any exceptions don't cause a loop condition. + += What's new in version 1.2 = + +The plugin now ensures no manually added tags are lost when adding new tags. E-mail addresses are no longer added as tags. + += What's new in version 1.3 = + +Updated opencalais.php to support new entity types. + += What's new in version 1.4 = + +Updated opencalais.php to use new API URL and support new entity types. + +== Screenshots == + +1. Calais Archve Tagger interface \ No newline at end of file diff --git a/wp-content/plugins/wp-calais-archive-tagger/screenshot-1.png b/wp-content/plugins/wp-calais-archive-tagger/screenshot-1.png new file mode 100644 index 0000000..c8ff117 Binary files /dev/null and b/wp-content/plugins/wp-calais-archive-tagger/screenshot-1.png differ diff --git a/wp-content/plugins/wp-db-backup/LICENSE b/wp-content/plugins/wp-db-backup/LICENSE new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/LICENSE @@ -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. diff --git a/wp-content/plugins/wp-db-backup/README.markdown b/wp-content/plugins/wp-db-backup/README.markdown new file mode 100644 index 0000000..1511c2e --- /dev/null +++ b/wp-content/plugins/wp-db-backup/README.markdown @@ -0,0 +1,181 @@ +WP-DB-Backup +============ + +Contributors: filosofo +Donate link: http://austinmatzko.com/wordpress-plugins/wp-db-backup/ +Tags: mysql, database, backup, cron +Requires at least: 2.0.3 +Tested up to: 3.6.1 +Stable tag: 2.2.4 + +On-demand backup of your WordPress database. + +Description +----------- + +WP-DB-Backup allows you easily to backup your core WordPress database tables. You may also backup other tables in the same database. + +Released under the terms of the GNU GPL, version 2. + http://www.fsf.org/licensing/licenses/gpl.html + + NO WARRANTY. + + Copyright (c) 2013 Austin Matzko + +Installation +------------ + +1. Extract the wp-db-backup/ folder file to /wp-content/plugins/ +1. Activate the plugin at your blog's Admin -> Plugins screen +1. The plugin will attempt to create a directory /wp-content/backup-*/ inside your WordPress directory. +1. You may need to make /wp-content writable (at least temporarily) for it to create this directory. + For example: + `$ cd /wordpress/` + `$ chgrp www-data wp-content` (where "`www-data`" is the group your FTP client uses) + `$ chmod g+w wp-content` + +Frequently Asked Questions +-------------------------- + +How do I restore my database from a backup? +------------------------------------------- + +Briefly, use phpMyAdmin, which is included with most hosting control panels. More details and links to further explanations are [here](http://codex.wordpress.org/Restoring_Your_Database_From_Backup). + +Why can't I schedule automatic backups to be saved to my server? +---------------------------------------------------------------- + +Although WP-DB-Backup provides the option of saving the backup file to the server, I strongly discourage anyone from leaving backed-up database files on the server. If the server is not perfectly configured, then someone could gain access to your data, and I do not want to make it easy for that to happen. + +My backup stops or hangs without completing. +-------------------------------------------- + +If you edit the text of wp-db-backup.php in a text editor like Notepad, you’ll see around line 50 the following: + +`/** +* Set MOD_EVASIVE_OVERRIDE to true +* and increase MOD_EVASIVE_DELAY +* if the backup stops prematurely. +*/ +// define('MOD_EVASIVE_OVERRIDE', false); +define('MOD_EVASIVE_DELAY', '500');` + +Do what it says: un-comment MOD_EVASIVE_OVERRIDE and set it to true like so: + +`define('MOD_EVASIVE_OVERRIDE', true);` + +That will slow down the plugin, and you can slow it even further by increasing the MOD_EVASIVE_DELAY number from 500. + +Better yet, put the lines that define the `MOD_EVASIVE_OVERRIDE` and `MOD_EVASIVE_DELAY` constants in your wp-config.php file, so your settings don't get erased when you upgrade the plugin. + +What is wp-db-backup.pot for? +----------------------------- + +This files is used by non-English users to translate the display into their native language. Translators are encouraged to send me translated files, which will be made available to others here: +http://austinmatzko.com/wordpress-plugins/wp-db-backup/i18n/ +http://plugins.trac.wordpress.org/browser/wp-db-backup/i18n/ + +Why are only the core database files backed up by default? +---------------------------------------------------------- + +Because it's a fairly safe bet that the core WordPress files will be successfully backed up. Plugins vary wildly in the amount of data that they store. For instance, it's not uncommon for some statistics plugins to have tens of megabytes worth of visitor statistics. These are not exactly essential items to restore after a catastrophic failure. Most poeple can reasonably live without this data in their backups. + +Usage +----- + +1. Click the Tools or Manage menu in your WordPress admin area. +1. Click the Backup sub-menu. + +1. The plugin will look for other tables in the same database. You may elect to include other tables in the backup. + ** NOTE ** + Including other tables in your backup may substantially increase the size of the backup file! + This may prevent you from emailing the backup file because it's too big. + +1. Select how you'd like the backup to be delivered: + * Save to server : this will create a file in /wp-content/backup-*/ for you to retreive later + * Download to your computer : this will send the backup file to your browser to be downloaded + * Email : this will email the backup file to the address you specify + +1. Click "Backup!" and your database backup will be delivered to you. + +The filename of the backup file will be of the form + DB_prefix_date.sql +DB = the name of your WordPress database, as defined in wp-config.php +prefix = the table prefix for this WordPress blog, as defined in wp-config.php +date = CCYYmmdd_B format: 20050711_039 + the "B" is the internet "Swatch" time. + See the PHP date() function for details. + +When having the database backup emailed or sent to your browser for immediate download, the backup file will be _deleted_ from the server when the transfer is finished. Only if you select delivery method "Save to server" will the backup file remain on your server. + + *** SECURITY WARNING *** + Your database backup contains sensitive information, + and should not be left on the server for any extended + period of time. The "Save to server" delivery method is provided + as a convenience only. I will not accept any responsibility + if other people obtain your backup file. + *** SECURITY WARNING *** + +Changelog +--------- + +2.2.3 +----- +* Nonce check fix for localized WP users from Sergey Biryukov +* Fix for gzipped files' incorrect size. +* Some styling improvements. +* Fix for JS multiple checkbox selection. + +Upgrade Notice +-------------- + +2.2.3 +----- +* Fixes problems users had when using localized WordPress installations. +* Fixes a bug that caused the size of gzipped backup files to be reported incorrectly. + +Advanced +-------- +If you are using WordPress version 2.1 or newer, you can schedule automated backups to be sent to the email address +of your choice. + +Translators +----------- +Thanks to following people for providing translation files for WP-DB-Backup: + +* Abel Cheung +* Alejandro Urrutia +* Alexander Kanakaris +* Angelo Andrea Iorio +* Calle +* Daniel Erb +* Daniel Villoldo +* Diego Pierotto +* Eilif Nordseth +* Eric Lassauge +* Friedlich +* Gilles Wittezaele +* Icemanpro +* Ä°zzet Emre Erkan +* Jong-In Kim +* Kaveh +* Kessia Pinheiro +* Kuratkoo +* Majed Alotaibi +* MichaÅ‚ GoÅ‚uÅ„ski +* Michele Spagnuolo +* Paopao +* Philippe Galliard +* Robert Buj +* Roger +* Rune Gulbrandsøy +* Serge Rauber +* Sergey Biryukov +* Tai +* Timm Severin +* Tzafrir Rehan +* å´æ›¦ + +Past Contributors +----------------- +skippy, Firas, LaughingLizard, MtDewVirus, Podz, Ringmaster diff --git a/wp-content/plugins/wp-db-backup/readme.txt b/wp-content/plugins/wp-db-backup/readme.txt new file mode 100644 index 0000000..485ab0e --- /dev/null +++ b/wp-content/plugins/wp-db-backup/readme.txt @@ -0,0 +1,160 @@ +=== WP-DB-Backup === +Contributors: filosofo +Donate link: http://austinmatzko.com/wordpress-plugins/wp-db-backup/ +Tags: mysql, database, backup, cron +Requires at least: 2.0.3 +Tested up to: 3.6.1 +Stable tag: 2.2.4 + +On-demand backup of your WordPress database. + +== Description == + +WP-DB-Backup allows you easily to backup your core WordPress database tables. You may also backup other tables in the same database. + +Released under the terms of the GNU GPL, version 2. + http://www.fsf.org/licensing/licenses/gpl.html + + NO WARRANTY. + + Copyright (c) 2013 Austin Matzko + +== Installation == +1. Extract the wp-db-backup/ folder file to /wp-content/plugins/ +1. Activate the plugin at your blog's Admin -> Plugins screen +1. The plugin will attempt to create a directory /wp-content/backup-*/ inside your WordPress directory. +1. You may need to make /wp-content writable (at least temporarily) for it to create this directory. + For example: + `$ cd /wordpress/` + `$ chgrp www-data wp-content` (where "`www-data`" is the group your FTP client uses) + `$ chmod g+w wp-content` + +== Frequently Asked Questions == + += How do I restore my database from a backup? = + +Briefly, use phpMyAdmin, which is included with most hosting control panels. More details and links to further explanations are [here](http://codex.wordpress.org/Restoring_Your_Database_From_Backup). + += Why can't I schedule automatic backups to be saved to my server? = + +Although WP-DB-Backup provides the option of saving the backup file to the server, I strongly discourage anyone from leaving backed-up database files on the server. If the server is not perfectly configured, then someone could gain access to your data, and I do not want to make it easy for that to happen. + += My backup stops or hangs without completing. = + +If you edit the text of wp-db-backup.php in a text editor like Notepad, you’ll see around line 50 the following: + +`/** +* Set MOD_EVASIVE_OVERRIDE to true +* and increase MOD_EVASIVE_DELAY +* if the backup stops prematurely. +*/ +// define('MOD_EVASIVE_OVERRIDE', false); +define('MOD_EVASIVE_DELAY', '500');` + +Do what it says: un-comment MOD_EVASIVE_OVERRIDE and set it to true like so: + +`define('MOD_EVASIVE_OVERRIDE', true);` + +That will slow down the plugin, and you can slow it even further by increasing the MOD_EVASIVE_DELAY number from 500. + +Better yet, put the lines that define the `MOD_EVASIVE_OVERRIDE` and `MOD_EVASIVE_DELAY` constants in your wp-config.php file, so your settings don't get erased when you upgrade the plugin. + += What is wp-db-backup.pot for? = + +This files is used by non-English users to translate the display into their native language. Translators are encouraged to send me translated files, which will be made available to others here: +http://austinmatzko.com/wordpress-plugins/wp-db-backup/i18n/ +http://plugins.trac.wordpress.org/browser/wp-db-backup/i18n/ + += Why are only the core database files backed up by default? = + +Because it's a fairly safe bet that the core WordPress files will be successfully backed up. Plugins vary wildly in the amount of data that they store. For instance, it's not uncommon for some statistics plugins to have tens of megabytes worth of visitor statistics. These are not exactly essential items to restore after a catastrophic failure. Most poeple can reasonably live without this data in their backups. + +== Usage == +1. Click the Tools or Manage menu in your WordPress admin area. +1. Click the Backup sub-menu. + +1. The plugin will look for other tables in the same database. You may elect to include other tables in the backup. + ** NOTE ** + Including other tables in your backup may substantially increase the size of the backup file! + This may prevent you from emailing the backup file because it's too big. + +1. Select how you'd like the backup to be delivered: +* Save to server : this will create a file in /wp-content/backup-*/ for you to retreive later +* Download to your computer : this will send the backup file to your browser to be downloaded +* Email : this will email the backup file to the address you specify + +1. Click "Backup!" and your database backup will be delivered to you. + +The filename of the backup file will be of the form + DB_prefix_date.sql +DB = the name of your WordPress database, as defined in wp-config.php +prefix = the table prefix for this WordPress blog, as defined in wp-config.php +date = CCYYmmdd_B format: 20050711_039 + the "B" is the internet "Swatch" time. + See the PHP date() function for details. + +When having the database backup emailed or sent to your browser for immediate download, the backup file will be _deleted_ from the server when the transfer is finished. Only if you select delivery method "Save to server" will the backup file remain on your server. + + *** SECURITY WARNING *** + Your database backup contains sensitive information, + and should not be left on the server for any extended + period of time. The "Save to server" delivery method is provided + as a convenience only. I will not accept any responsibility + if other people obtain your backup file. + *** SECURITY WARNING *** + +== Changelog == + += 2.2.3 = +* Nonce check fix for localized WP users from Sergey Biryukov +* Fix for gzipped files' incorrect size. +* Some styling improvements. +* Fix for JS multiple checkbox selection. + +== Upgrade Notice == + += 2.2.3 = +* Fixes problems users had when using localized WordPress installations. +* Fixes a bug that caused the size of gzipped backup files to be reported incorrectly. + +== Advanced == +If you are using WordPress version 2.1 or newer, you can schedule automated backups to be sent to the email address +of your choice. + +== Translators == +Thanks to following people for providing translation files for WP-DB-Backup: +* Abel Cheung +* Alejandro Urrutia +* Alexander Kanakaris +* Angelo Andrea Iorio +* Calle +* Daniel Erb +* Daniel Villoldo +* Diego Pierotto +* Eilif Nordseth +* Eric Lassauge +* Friedlich +* Gilles Wittezaele +* Icemanpro +* Ä°zzet Emre Erkan +* Jong-In Kim +* Kaveh +* Kessia Pinheiro +* Kuratkoo +* Majed Alotaibi +* MichaÅ‚ GoÅ‚uÅ„ski +* Michele Spagnuolo +* Paopao +* Philippe Galliard +* Robert Buj +* Roger +* Rune Gulbrandsøy +* Serge Rauber +* Sergey Biryukov +* Tai +* Timm Severin +* Tzafrir Rehan +* å´æ›¦ + +== Past Contributors == +skippy, Firas, LaughingLizard, MtDewVirus, Podz, Ringmaster diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ar.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-ar.mo new file mode 100644 index 0000000..e855df8 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-ar.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ar.po b/wp-content/plugins/wp-db-backup/wp-db-backup-ar.po new file mode 100644 index 0000000..822bcc3 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-ar.po @@ -0,0 +1,394 @@ +msgid "" +msgstr "" +"Project-Id-Version: www.rjlalmtr.com\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2008-11-07 11:41+0300\n" +"Last-Translator: \n" +"Language-Team: www.rjlalmtr.com \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Arabic\n" +"X-Poedit-Country: SAUDI ARABIA\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "النسخه الاحتياطيه اكتملت !" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "معالجه .." + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "لاتقم بÙعل مايلي لانه سيتل٠عملية النسخ الاحتياطي الخاصه بك :" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "إغلاق المتصÙØ­" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "تحديث الصÙحه" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "الضغط على زر الإيقا٠او الرجوع للخل٠ÙÙŠ متصÙحك " + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "معالجه ..." + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "الانتقال من هذه الصÙحه سيؤدي الى Ùشل عملية النسخ الاحتياطي" + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "النسخ الاحتياطي اكتمل النسخه الاحتياطيه للتحميل..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "النسخه الاحتياطيه اكتملت ,, إرسال النسخه الاحتياطيه الى الايميل..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "النسخ الاحتياطي اكتمل , للتحميل من هنا." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "انشاء النسخه الاحتياطيه" + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "تم الانتهاء من نسخ الجدول \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "نسخ الجدول \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "تعذر Ùتح مل٠النسخة الاحتياطية للكتابة!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "مل٠النسخة الاحتياطية لا يمكن Ø­Ùظه. يرجى التحقق من اذونات التصريح إلى مجلد النسخه الاحتياطية الخاصة بك وحاول مرة أخرى." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "النسخ الاحتياطي لقاعدة بيانات ووردبريس" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "تم النسخ ÙÙŠ: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "اسم الموقع: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "اسم القاعده: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "الجدول: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "مجلد النسخ الاحتياطي غير قابل للكتابه. يرجى التحقق من اذونات التصريح إلى مجلد النسخه الاحتياطية الخاصة بك وحاول مرة أخرى." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "اضغط باستمرار نزول [SHIFT]للانتقال لحانات متعدده" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "تغيير" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Ø­Ùظ" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "النسخ الاحتياطي" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "هناك خطأ ÙÙŠ طتابة السطر البرمجي لسكربت النسخ الاحتياطي" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "الأخطاء اللاحقة قد حذÙت من هذا السجل." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "حدث خطأ أثناء الحصول على تÙاصيل الجدول" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "حذ٠اي جدول من القائمه %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "جداول هيكلة الجدول %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "خطأ مع عرض وانشاء الجدول لـ %s" + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "حدث خطا اثناء الحصول على هيكل الجدول %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "محتوى بيانات الجدول %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "نهاية محتوى بيانات الجدول %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "مجلد النسخ الاحتياطي غير قابل للكتابه" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "لم يعثر على المل٠:%s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "عوده الى الخلÙ" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "المل٠%s لا وجود له !" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"مرÙقات الرساله هي\n" +" %1s\n" +" الحجم:%2s كيلوبايت\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "نسخ قاعدة البيانات" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "تم الابلاغ عن الاخطاء التاليه :" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "خطأ : تطبيق البريد Ùشل ÙÙŠ تقديم النسخه الاحتياطيه ." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "اكتمال النسخ الاحتياطي " + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "النسخه الاحتياطيه الخاصه بك: %2s ينبغي ان تبداء بتحميلها قريبا." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "النسخه الاحتياطيه الحاصه بك تم ارسالها بالبريد الالكتروني للايميل %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "النسخه الاحتياطيه الخاص بك تم Ø­Ùظها على السيرÙر لتحميلها اضغط بالزر الايمن واختر \"Ø­Ùظ باسم\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s بايت" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "خيارات النسخ الدوري تم Ø­Ùظها !" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "تحذير : مجلد النسخ الاحتياطيه لم يتم العثور عليه . كما انه لم يتم انشائه . " + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "استخدم برنامج الا٠تي بي FTP وقم بإنشاء المجلد على هذا المسار : %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "تحذير : المجلد الخاص بالنسخ الاحتياطي غير قابل للكتابه! لذلك لايمكن انشاء النسخ الاحتياطي ." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "استخدم برنامج الا٠تي بي الخاص بك . واعط مجلد النسخ الاحتياطي’s التصاريح %1$s or %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "" + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "يمكنك تصحيح هذه المشكله باستخدام برنامج الا٠تي بي ومن ثم حذ٠مجلد النسخ الاحتياطي واعادة انشائه مرخ اخرى %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "الجدوال" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "هذه الجدوال الاساسيه للووردبريس سيتم نسخها دائما :" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "استبعاد التعليقات المزعجه ( سبام ) " + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "استثناء تنقيحات المواضيع" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "يمكنك اختيار اي من الجداول التاليه ليشملها النسخ :" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "خيارات النسخ الدوري" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "ماذا تريد ان تÙعل بمل٠النسخه الاحتياطيه :" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Ø­Ùظ على السيرÙر" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Ø­Ùظ على الكمبيوتر " + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "ارسالها الى الايميل " + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "النسخ الان !" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "تحذير : دليل النسخ الاحتياطيه الخاص بك غير قابلللكتابه !" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "النسخ الاحتياطي الدوري" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "النسخ الاحتياطي التالي: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Last WP-Cron Daily Execution: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "النسخ الدوري :" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "بدون" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "يومي" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "الجداول التي يشملها النسخ الاحتياطي الدوري :" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "النسخ الاحتياطي الدوري" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "ابدا" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "مره كل اسبوع" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "" + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "لم تسمح بالنسخ الاحتياطي ." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "" + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ca.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-ca.mo new file mode 100644 index 0000000..d76d208 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-ca.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ca.po b/wp-content/plugins/wp-db-backup/wp-db-backup-ca.po new file mode 100644 index 0000000..c18b3a0 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-ca.po @@ -0,0 +1,412 @@ +# WP-DB-Backup +# Copyright (C) 2009 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup 2.2.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2009-03-13 13:41+0100\n" +"Last-Translator: Robert Buj \n" +"Language-Team: GrumpyWolf \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Catalan\n" +"X-Poedit-Country: SPAIN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Còpia de seguretat completada" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Procrés" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "NO FAGI RES D'AIXÓ DOCNS INTERROMPRÀ LA CÃ’PIA DE SEGURETAT:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Tancar aquest navegador" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Recarregar aquesta pàgina" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Premer els botons Detindre o Enrera en el navegador" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Procés:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Sortir d'aquesta pàgina pot produïr un error en la teva còpia de seguretat." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Còpia de seguretat acabada, preparant la còpia de seguretat per a descarregar-la..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Còpia de seguretat acabada, enviant còpia de seguretat per e-mail..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Còpia de seguretat acabada. descarregueu-la aquí." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Creant còpia de seguretat..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Ha finalitzat la còpia de la taula \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Creant còpia de seguretat de la taula \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "No s'ha pogut escriure al ftxer de còpia de seguretat!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "El fitxer de còpia de seguretat no es pot desar. Si us plau, comproveu els permisos d'escriptura al directori de còpies de seguretat i torneu-ho a provar." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "Còpia de seguretat de la base de dades MySQL de WordPress" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "Generat: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Nom d'equip: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Base de dades: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Taula: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "No se pot escriure al directori de còpies de seguretat. Si us plau, comprova els permisos corresponents i torna-ho a provar." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Cliqueu i tingueu presionat [SHIFT] per a múltiples seleccions" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Canviar" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Desar" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Còpia de seguretat" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "S'ha produït un error a l'escriure una línia al script de còpies de seguretat:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Els següents errors s'han omès en aquest log." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Error a l'obtindre els detalls de la taula" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "Esborrar qualsevol taula existent %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Taula d'estructura de la taula %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Error amb SHOW CREATE TABLE per a %s." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Error a l'obtindre l'estructura de la taula de %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "Dades contingudes a la taula %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Fí de dades contingudes a la taula %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "No es pot escriure al directori de còpies de seguretat!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Fitxer no trobat: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Tornar a la còpia de seguretat" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "El fictxer %s no existeix!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Aquest e-mail porta un adjunt\n" +" %1s\n" +" Tamay:%2s kilobytes\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Còpia de seguretat de la base de dades" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "S'han detectat els següents errors:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ERROR: El programa d'enviament del correo amb la còpia de seguretat ha fallat." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Còpia de seguretat finalitzada" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "La vostra còpia de seguretat: %2s començarà a descarregar-se en un moment." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "S'ha enviat la còpia de seguretat a la direcció %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "S'ha desat al servidor la vostra còpia de seguretat. Si voleu descarregar-la ara, cliqueu amb el botó dret i seleccioneu \"Desar com\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "S'han desat les opcions de còpia de seguretat programada." + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "AVÃS: El vostre directori de còpies de seguretat NO existeix, i no puc crear-lo." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Utilitzant el vostre client FTP, intenti crear vosté mateix el directori de còpies de seguretat: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "AVÃS: NO es pot escriure al vostre directori de còpies de seguretat! No s'ha pogut crear els fitxers de còpia de seguretat." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Utilitzant el vostre client FTP, intenteu donar permisos d'escriptura al directori’s a %1$s o %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Aquest problema sembla esta provocat pel vostre servidor’s safe_mode file owner restrictions, que limita els fitxers que poden crear aplicacions web com per exemple WordPress." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Po intentar de corretgir aquest problema utilitzant el cliente FTP per eliminar i tornar a crear el directori de còpia de seguretat: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Taules" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "Sempre es copiaran aquestes taules bàsiques de WordPress:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Excluir comentaris SPAM" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Excluir revisions d'entrades" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "Ademés podeu incluir qualsevol de les següents taules:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Opcions de la còpia de seguretat" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Que voleu fer amb el fitxer de còpies de seguretat:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Desar al servidor" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Descarregar al vostre ordinador" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Enviar còpia de seguretat per e-mail a:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "fer ara una còpia de seguretat!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "AVÃS: ¡NO es pot escriure al directori de còpies de seguretat!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Còpia de seguretat programada" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Pròxima còpia de seguretat: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Última execució diaria de WP-Cron: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Próxima execució diaria de WP-Cron: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Programar:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Cap" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Diaria" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Taules a incloure en la còpia de seguretat programada:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Còpia de seguretat programada" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Mai" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s segons" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Una cop per setmana" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "La vostra versió de WordPress, %1s, careix d'importants característiques de seguretat sense les quals no és segur l'ús del plugin WP-DB-Backup. Per aixó, aquest plugin ha estat automáticament deshabilitatat. Si us plau, considereu actualitzar WordPress a una versió més recent." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "No teniu permisos per a realitzar còpies de seguretat." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Sembla se que hi ha hagut un intent no autoritzat des d'aquest lloc per accedir a la vostra base de dades localitzada a %1s. Aquest intent ha estat neutralitzat." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Trampes eh?" + +#~ msgid "" +#~ "WARNING: Your wp-content directory is NOT writable! We " +#~ "can not create the backup directory." +#~ msgstr "" +#~ "AVISO: ¡NO se puede escribir en el directorio wp-" +#~ "content! No se ha podido crear el directorio para las copias de respaldo." +#~ msgid "Select all" +#~ msgstr "Seleccionar todas" +#~ msgid "Select none" +#~ msgstr "No seleccionar ninguna" +#~ msgid "Submit" +#~ msgstr "Enviar" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-de_DE.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-de_DE.mo new file mode 100644 index 0000000..69eaf3a Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-de_DE.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-de_DE.po b/wp-content/plugins/wp-db-backup/wp-db-backup-de_DE.po new file mode 100644 index 0000000..6523b92 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-de_DE.po @@ -0,0 +1,396 @@ +# WP-DB-Backup +# Copyright (C) 2008 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup 2.1.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2008-08-15 23:47+0100\n" +"Last-Translator: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Backup abgeschlossen!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Fortschritt" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "Achtung, bitte führe die folgenden Aktionen nicht aus, da das Backup sonst fehlschlagen wird:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Das Browserfenster schließen" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Diese Seite neu laden" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Den \"Stopp\"- oder \"Zurück\"-Knopf im Browser drücken" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Fortschritt:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Diese Seite zu verlassen wird das Backup fehlschagen lassen." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Backup vollständig, bereite Backup zum Download vor" + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Backup vollständig, sende Backup per E-Mail..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Backup vollständig, download hier" + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Erstelle Backup-Datei..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Backup der Tabelle \\\"%s\\\" abgeschlossen." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Erstelle Backup der Tabelle \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "Konnte die Backup-Datei nicht zum Schreiben öffen!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Das Backup konnte nicht gespeichert werden. Bitte prüfe die Zugriffsrechte auf das Backup-Verzeichnis und versuche es dann erneut." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "Wordpress MySQL Datenbank Backup" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "Erstellt: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Hostname: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Datenbank: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Tabelle: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Das Backupverzeichnis kann nicht beschrieben werden! Bitte überprüfe die Zugriffsberechtigungen zum Verzeichnis und versuche es erneut." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Klicke und halte [SHIFT] gedrückt um mehrere Checkboxen auszuwählen." + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Ändern" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Speichern" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Backup" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "Beim Schreiben einer Zeile in das Backup Skript ist ein Fehler aufgetreten:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Die Folgefehler wurden in diesem Log weggelassen." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Fehler beim auslesen der Tabelleninformationen" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "Lösche jegliche existierende Tabelle %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Struktur der Tabelle %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Fehler beim Ausführen von SHOW CREATE TABLE for %s." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Fehler beim Auslesen der Tabellenstruktur der Tabelle %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "Inhalt der Tabelle %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Ende der Inhalte der Tabelle %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "Das Backup-Verzeichnis ist nicht beschreibbar!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Datei %s konnte nicht gefunden werden." + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Zum Backup zurückkehren" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "Datei %s existiert nicht!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"An diese Datei angehängt:\n" +" %1s\n" +" Dateigröße:%2s Kilobyte\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Datenbankbackup" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "Die folgenden Fehler wurden gemeldet:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "Fehler: Der Email-Service konnte das Backup nicht zustellen." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Backup erfolgreich" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Dein Backup: %2s; Download sollte in Kürze beginnen." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Dein Backup wurde an %s gesendet." + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Dein Backup wurde auf dem Server gespeichert. Wenn du es nun herunterladen wollen, mach einen Rechtklicks auf den Link und wähle \"Speichern Unter\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s Byte" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Optionen für geplantes Backup gespeichert!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "Achtung: Das Backup-Verzeichnis existiert nicht, und wir können es nicht erstellen." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Benutz deinen FTP-Client, um das Backup Verzeichnis manuell zu erstellen: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "Achtung: Dein Backup-Verzeichnis ist nicht beschreibbar! Wir können keine backups erstellen." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Benutz deinen FTP-Clienten um die Zugriffsrechte auf das Backup-Verzeichnis auf %1$s oder %2$s zu setzen: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Das bestehende Problem scheint daran zu liegen, dass dein Sever im safe_mode läuft, und somit für Webanwendungen wie Wordpress einige Einschränkungen bezüglich der Rechte im Dateisystem gelten." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Du Kannst aber versuchen dieses Problem zu beheben, indem du mit deinem FTP-Client das Backup-Verzeichnis löschst und neu erstellst: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Tabellen" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "Diese Standard Wordpress-Tabellen werden in immer gesichert:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Spam-Kommentare ignorieren" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Beitragsänderungen nicht sichern" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "Zusätzlich kannst du noch folgende Tabellen sichern:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Backup Optionen" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Was soll mit dem Backup geschehen?" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Auf dem Server speichern" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Auf deinen Computer herunterladen" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Per Email verschicken an:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "Jetzt sichern!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "Warnung: Ihre Backup-Verzeichnis ist nicht beschreibbar!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Geplante Sicherung" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Nächste Sicherung: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Letzte tägliche Ausführung des WP-Crons: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Nächste tägliche Ausführung des WP-Crons: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Zeitplan:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Nicht" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Täglich" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Zusätzliche Tabellen für das geplante Backup:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Backup planen" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Nie" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s Sekunden" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Einmal wöchentlich" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Deine Wordpress Version (%1s) fehlt es an einigen bedeutenden Sicherheitsfeatures, ohne die dieses Plugin unsicher ist. Zu deiner eigenen Sicherheit deaktiviert sich dieses Plugin deshalb automatisch. Bitte denk darüber nach Wordpress auf eine neuere Version zu upgraden" + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "Du hast nicht die nötige Berechtigung, um Backups durchzuführen." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Es scheint als versuche jemand sich von dieser Seite unberechtigt Zugriff auf Ihre Datenbank (%1s) zu verschaffen. Der Versuch wurde unterbunden." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Cheating? Tztz..." + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-el.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-el.mo new file mode 100644 index 0000000..a6b7982 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-el.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-el.po b/wp-content/plugins/wp-db-backup/wp-db-backup-el.po new file mode 100644 index 0000000..24b9238 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-el.po @@ -0,0 +1,395 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup-el 2.2.2 [a]\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: \n" +"Last-Translator: ΠÏόδÏομος Τσαλικίδης \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Greek\n" +"X-Poedit-Country: Greek\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Η αντιγÏαφή ολοκληÏώθηκε!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "ΠÏόοδος" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "ΜΗΠΚΑÎΕΤΕ ΚΑΤΙ ΑΠΟ ΤΑ ΠΑΡΑΚΑΤΩ ΓΙΑΤΙ ΘΑ ΠΡΟΚΑΛΕΣΕΙ ΑΠΟΤΥΧΙΑ ΣΤΗΠΑÎΤΙΓΡΑΦΗ:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Κλείσιμο του browser" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Ανανέωση αυτής της σελίδας" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Κλικ στα πλήκτÏα Διακοπή ή Πίσω του browser" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "ΠÏόοδος:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Αν φÏγετε από αυτή τη σελίδα, η αντιγÏαφή θα αποτÏχει." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Η αντιγÏαφή ολοκληÏώθηκε, το αντίγÏαφο ετοιμάζεται για μεταφόÏτωση..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Η αντιγÏαφή ολοκληÏώθηκε, το αντίγÏαφο αποστέλλεται μέσω email..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Η αντιγÏαφή ολοκληÏώθηκε, κατεβάστε εδώ." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "ΔημιουÏγείται το αντίγÏαφο..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Τελείωσε η αντιγÏαφή του πίνακα \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "ΑντιγÏάφεται ο πίνακας \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "Δεν ήταν δυνατό το άνοιγμα του αÏχείου αντιγÏάφου για εγγÏαφή!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Το αÏχείο αντιγÏάφου δεν ήταν δυνατό να αποθηκευτεί. ΠαÏακαλώ ελέγξτε τα δικαιώματα εγγÏαφής στο φάκελο αντιγÏάφων και δοκιμάστε ξανά." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "ΑντίγÏαφο ασφαλείας της βάσης δεδομένων WordPress MySQL" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "ΔημιουÏγήθηκε: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Hostname: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Βάση δεδομένων: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Πίνακας: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Ο φάκελος αντιγÏάφων ΔΕΠείναι εγγÏάψιμος! ΠαÏακαλώ ελέγξτε τα δικαιώματα εγγÏαφής στο φάκελο αντιγÏάφων και δοκιμάστε ξανά." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Πατήστε και κÏατήστε πατημένο το [SHIFT] για να επιλέξετε πολλαπλά κουτάκια " + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Αλλαγή" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Αποθήκευση" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "ΑντίγÏαφα ασφαλείας" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "ΥπήÏξε σφάλμα κατά την εγγÏαφή μιας γÏαμμής στη δέσμη ενεÏγειών της αντιγÏαφής:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Τα διαδοχικά σφάλματα παÏαλήφθηκαν από αυτήν την καταγÏαφή." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Σφάλμα κατά τη λήψη λεπτομεÏειών πίνακα" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "ΔιαγÏαφή όλων των υπαÏχόντων πινάκων %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Δομή του πίνακα %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Σφάλμα με το SHOW CREATE TABLE για %s." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Σφάλμα κατά τη λήψη της δομής του πίνακα %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "Δεδομένα του πίνακα %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Τέλος δεδομένων του πίνακα %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "Ο φάκελος αποθήκευσης των αντιγÏάφων ασφαλείας ΔΕΠείναι εγγÏάψιμος!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Το αÏχείο δεν βÏέθηκε: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "ΕπιστÏοφή στην ΑντιγÏαφή" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "Το αÏχείο %s δεν υπάÏχει!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Στο παÏόν e-mail επισυνάπτεται\n" +" %1s\n" +" Μέγεθος: %2s KB\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "ΑντιγÏαφή βάσης δεδομένων" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "ΑναφέÏθηκαν τα παÏακάτω σφάλματα:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ΣΦΑΛΜΑ: Η εφαÏμογή mail απέτυχε να διανείμει το αντίγÏαφο." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Επιτυχής αντιγÏαφή " + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Το αντίγÏαφο ασφαλείας σας %2s Ï€Ïέπει να ξεκινήσει να κατεβαίνει σÏντομα." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Το αντίγÏαφο ασφαλείας σας έχει αποσταλεί στο %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Το αντίγÏαφο ασφαλείας σας έχει αποθηκευθεί στον server. Αν επιθυμείτε να το κατεβάσετε αμέσως, κάντε δεξί κλικ και επιλέξτε \"Αποθήκευσης ως\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Οι επιλογές Ï€ÏογÏαμματισμένης αντιγÏαφής αποθηκεÏτηκαν!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Ο φάκελος αποθήκευσης των αντιγÏάφων ασφαλείας σας ΔΕΠυπάÏχει και δεν μποÏοÏμε να τον δημιουÏγήσουμε." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "ΧÏησιμοποιώντας τον πελάτη FTP σας, Ï€Ïοσπαθείστε να δημιουÏγήσετε τον φάκελο αντιγÏάφων ασφαλείας: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Ο φάκελος αποθήκευσης των αντιγÏάφων ασφαλείας σας ΔΕΠείναι εγγÏάψιμος! Δεν μποÏοÏμε να δημιουÏγήσουμε αντίγÏαφα ασφαλείας." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "ΧÏησιμοποιώντας τον πελάτη FTP σας, Ï€Ïοσπαθείστε να οÏίσετε τα δικαιώματα εγγÏαφής στον φάκελο των αντιγÏάφων ασφαλείας σε %1$s ή %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Το Ï€Ïόβλημα φαίνεται να Ï€Ïοκαλείται από τους πεÏιοÏισμοÏÏ‚ του safe_mode στην κυÏιότητα αÏχείων του server σας, που πεÏιοÏίζουν τα είδη αÏχείων που μποÏοÏν να δημιουÏγήσουν οι εφαÏμογές διαδικτÏου όπως το WordPress." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "ΜποÏείτε να Ï€Ïοσπαθείσετε να διοÏθώσετε το Ï€Ïόβλημα χÏησιμοποιώντας τον πελάτη FTP σας για να διαγÏάψετε και έπειτα να ξαναδημιουÏγήσετε τον φάκελο αποθήκευσης των αντιγÏάφων ασφαλείας: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Πίνακες" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "Αυτοί οι βασικοί πίνακες του WordPress θα αντιγÏάφονται πάντοτε:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "ΕξαίÏεση ανεπιθÏμητων σχολίων" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "ΕξαίÏεση αναθεωÏήσεων άÏθÏων" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "ΜποÏείτε να διαλέξετε να συμπεÏιλάβετε οποιουσδήποτε από τους παÏακάτω πίνακες:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Επιλογές αντιγÏαφής" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Τι να γίνει με το αντίγÏαφο ασφαλείας:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Αποθήκευση στον server" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "ΜεταφόÏτωση στον υπολογιστή σας" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Αποστολή μέσω e-mail στο:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "ΑντιγÏαφή Ï„ÏŽÏα!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Ο φάκελος αποθήκευσης των αντιγÏάφων ασφαλείας σας ΔΕΠείναι εγγÏάψιμος!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "ΠÏογÏαμματιμένη αντιγÏαφή" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Επόμενη αντιγÏαφή: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Τελευταία ημεÏήσια εκτέλεση του WP-Cron: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Επόμενη ημεÏήσια εκτέλεση του WP-Cron: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "ΠÏογÏαμματισμός" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Κανένας" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "ΗμεÏησίως" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Πίνακες που θα συμπεÏιληφθοÏν στην Ï€ÏογÏαμματισμένη αντιγÏαφή:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "ΠÏογÏαμματισμός της αντιγÏαφής" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Ποτέ" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s δευτεÏόλεπτα" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Εβδομαδιαίως" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Από την έκδοση του WordPress σας, %1s, λείπουν κάποια σημαντικά χαÏακτηÏιστικά ασφαλείας, χωÏίς τα οποία είναι επισφαλές να χÏησιμοποιήσετε το Ï€Ïόσθετο WP-DB-Backup. Γι' αυτό το λόγο το Ï€Ïόσθετο απενεÏγοποιήθηκε αυτόματα. ΠαÏακαλώ εξετάστε την αναβάθμιση του WordPress σε μια πιο Ï€Ïόσφατη έκδοση." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "Δεν επιτÏέπεται να εκτελέσετε αντιγÏαφές." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Φαίνεται να υπάÏχει μια Ï€Ïοσπάθεια Ï€Ïόσβασης χωÏίς άδεια από αυτό το site στην βάση δεδομένων που βÏίσκεται στο %1s. Η Ï€Ïοσπάθεια αναχαιτίστηκε." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Παίζουμε ε;" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-es_ES.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-es_ES.mo new file mode 100644 index 0000000..2807a03 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-es_ES.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-es_ES.po b/wp-content/plugins/wp-db-backup/wp-db-backup-es_ES.po new file mode 100644 index 0000000..eadabf3 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-es_ES.po @@ -0,0 +1,411 @@ +# WP-DB-Backup +# Copyright (C) 2009 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup 2.2.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2009-01-19 12:52+0100\n" +"Last-Translator: Alejandro Urrutia \n" +"Language-Team: GrumpyWolf \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" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Copia de respaldo completada" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Progreso" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "NO HAGA NADA DE ESTO, PUES INTERRUMPIRà LA COPIA DE RESPALDO:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Cerrar este navegador" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Recargar/actualizar esta página" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Pulsar los botones Detener o Atrás en el navegador" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Progreso:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Salir de esta página puede causar un fallo en tu respaldo." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Copia terminada, preparando la copia de respaldo para descargar..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Copia terminada, enviando copia de respaldo por e-mail..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Copia terminada, descárguela aquí." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "eando copia de respaldo..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Se terminó de copiar la tabla \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Copiando tabla \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "No se pudo escribir en el archivo de respaldo" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "El archivo de respaldo no se puede grabar. Por favor, revisa los permisos de escritura el en el directorio de copias de respaldo e inténtalo de nuevo." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "Copia de respaldo de la base de datos MySQL de WordPress" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "Generated: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Hostname: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Base de datos: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Tabla: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "No se puede escribir en el directorio de copias de respaldo. Por favor, revisa los permisos correspondientes e inténtalo de nuevo." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "haz clic y mantiene [SHIFT] para múltiples selecciones" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Cambiar" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Salvar" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Copia de respaldo" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "Hubo un error al escribir una línea en el script de respaldo:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Los errores posteriores se han omitido en este log." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Error al obtener los detalles de la tabla" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "Delete any existing table %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Estructura de la tabla %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Error con SHOW CREATE TABLE para %s." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Error al obtener la estructura de tabla de %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "Datos contenidos en la tabla %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Fin de datos contenidos en la tabla %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "¡No se puede escribir en el directorio de copias de respaldo!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "No se encontró el archivo: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Volver a Copia de respaldo" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "¡El fichero %s no existe!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Este e-mail lleva adjunto el archivo\n" +" %1s\n" +" Tamaño:%2s kilobytes\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Respaldo de base de datos" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "Se han detectado los siguientes errores:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ERROR: el programa de correo ha fallado al enviar la copia de respaldo." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Copia de respaldo completada" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Su copia de respaldo: %2s comenzará a descargarse en un momento." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Se ha enviado la copia de respaldo a la dirección %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Se ha guardado en el servidor su copia de respaldo. Si desea descargarla ahora, haga clic con el botón derecho y seleccione \"Guardar como\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Se han guardado las opciones de Respaldo programado." + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "AVISO: ¡Tu directorio de respaldo NO existe, y no podemos crearlo." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Usando tu cliente FTP, intenta crear tu directorio de respaldo: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "AVISO: ¡Tu directorio de respaldo NO puede ser escrito! No podemos crear los ficheros de respaldo." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Usando tu cliente FTP, intenta crear permisos de escritura para directorio’s a %1$s or %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Este problema parece ser causado por tu servidor’s safe_mode file owner restrictions, que limita lo que pueden hacer aplicaciones web como WordPress." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Puede tratar de corregir este problema utilizando el cliente FTP para borrar y volver a crear el directorio de copia de seguridad: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Tablas" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "Siempre se copiarán estas tablas básicas de WordPress:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Excluir comentarios de SPAM" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Excluir revisiones de entradas" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "Además puede incluir cualquiera de las siguientes tablas:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Opciones de respaldo" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Qué hacer con el archivo de copia de respaldo:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Guardar en el servidor" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Descargar en su ordenador" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Enviar por e-mail a:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "¡Respaldar ahora!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "AVISO: ¡NO se puede escribir en el directorio de copias de respaldo!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Respaldo programado" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Siguiente copia de respaldo: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Última ejecución diaria de WP-Cron: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Próxima ejecución diaria de WP-Cron: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Programar:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Ninguna" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Diaria" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Tablas a incluir en el respaldo programado:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Respaldo programado" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Nunca" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s segundos" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Una vez a la semana" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Su versión de WordPress, %1s, adolece de importantes características de seguridad sin las cuales es inseguro el uso del plugin WP-DB-Backup. Por ello, este plugin ha sido automáticamente deshabilitado. Por favor, considere actualizar WordPress a una versión más reciente." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "No tiene permisos para realizar copias de respaldo." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Parece que ha habido un intento no autorizado desde este sitio de acceder a su base de datos localizada en %1s. Dicho intento ha sido neutralizado." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Cheatin' uh ?" + +#~ msgid "" +#~ "WARNING: Your wp-content directory is NOT writable! We " +#~ "can not create the backup directory." +#~ msgstr "" +#~ "AVISO: ¡NO se puede escribir en el directorio wp-" +#~ "content! No se ha podido crear el directorio para las copias de respaldo." +#~ msgid "Select all" +#~ msgstr "Seleccionar todas" +#~ msgid "Select none" +#~ msgstr "No seleccionar ninguna" +#~ msgid "Submit" +#~ msgstr "Enviar" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-fa_IR.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-fa_IR.mo new file mode 100644 index 0000000..15bc778 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-fa_IR.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-fa_IR.po b/wp-content/plugins/wp-db-backup/wp-db-backup-fa_IR.po new file mode 100644 index 0000000..63bea09 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-fa_IR.po @@ -0,0 +1,395 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: KAVEH Ali akbari | www.Barnameha.com \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Persian\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: persian, Farsi, Ùارسی\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "پشتیبان گیری کامل شد" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "پیشرÙت" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "کارهاي روبرو را انجام ندهيد زيرا موجب بروز لغو عمليات ميشود:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "از مرورگر خود خارج شوید" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "این صÙحه را دوباره بارگزاری کنید" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "بر روی ایست یا بازگشت در مرورگر خود کلیک کنید" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "پیشرÙتها" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "هدایت به بیرون از این صÙحه موجب رخ دادن خطا در ایجاد پشتیبان شده است" + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "پشتیبان گیری کامل شد ,Ùایل آماده دریاÙت است." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "پشتیان گیری کامل شد؛ در حال ارسال به پست الکترونیک..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "دریاÙت Ùایل.
    پشتیبان گیری با موÙقیت انجام شد." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "در حال ساختن Ùایل پشتیبان..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "تکمیل شد %s" + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "در حال پشتیبان گیری از %s" + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "امکان باز کردن Ùایل پشتیبان جهت نوشتن وجود ندارد" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "پوشه پشتیان گیری قابل نوشتن نیست.لطÙا مجوز لازم را به آن پوشه داده Ùˆ دویاره امتحان کنید" + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "WordPress MySQL database backup" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "تولید شده ها: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Hostname: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "بانک اطلاعاتی: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "%s جدول ها:" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "پوشه پشتیان گیری قابل نوشتن نیست.لطÙا مجوز لازم را به آن پوشه داده Ùˆ دویاره امتحان کنید" + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr " " + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "تغییر" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "ذخیره" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "پشتیبان گیری" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "خطایی Ú©Ù‡ در نوشتن یک خط در Ùایل پشتیبان رخ داده است:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "خطاهای بعدی درون این این گزارش از قلم خواهند اÙتاد" + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "بروز خطا در دریاÙت مشخصات جدول" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "حذ٠تمامی جدول های موجود %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "ساختار جدول %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "خطا به وسیله نمایش ساختن جدول %s" + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "خطا در دریاÙت ساختار جدول %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "محتویات جدول %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "پایان محتویات جدول %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "پوشه پشتیبان گیری قابل نوشتن نیست" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Ùایل وجود ندارد:" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "بازگشت به پشتیبان گیری" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "%s این Ùایل وجود ندارد:" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Ùایل چسبیده به پست الکترونیک\n" +" %1s\n" +" سایز:%2s kilobytes\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "پشتیان گیری بانک اطلاعاتی" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "خطاهای رخ داده:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "خطا: برنامه پست الکترونیک قادر به دریاÙت پشتیبان نیست" + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "پشتیبان گیری با موÙقیت انجام شد" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Ùایل پشتیبان شما %2s باید زودتر دریاÙت شود." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "این Ùایل پشتیبان به ایمیل ارسال شد: %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Ùایل پشتیبان بر روی Ùضای سایت ذخیره شد.برای دریاÙت آن کلیک راست کرده Ùˆ Save As را انتخاب کنید" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "تنظیمات زمان بندی پشتیبان گیری ذخیره شد" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "پوشه پشتیبان گیری وجود ندارد Ùˆ ما نمیتوانیم Ú©Ù‡ آن را بسازیم" + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "از طریق پروتکل FTP سعی کنید پوشه پشتیبان گیری را بسازید" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "پوشه پشتیبان گیری قابل نوشتن نیست Ùˆ ما نمیتوانیم Ùایل پشتیبان را بسازیم" + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "از طريق پروتکل FTP به پوشه پشتيبان دسترسي مجاز بدهيد" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "" + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "برای حل این مشکل از پروتکل FTP استÙاده کرده Ùˆ پوشه پشتیبان را حذ٠کرده Ùˆ مجددا بسازید: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "جدول ها" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "جدولهای اصلی Ùˆ هسته وردپرس Ú©Ù‡ همیشه پشتیبان گیری میشوند:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "به غیر از نظرات جÙÙ†Ú¯" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "به جز تجدید نظر پست ها" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "شما میتوانید جدولهای دیگر را انتخاب کنید:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "تنظیمات پشتیبان گیری" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "نوع پشتیبان گیری را انتخاب کنید:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "ذخیره روی Ùضای سایت" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "ذخیره درون رایانه" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "ارسال به ایمیل" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "پشتیبان بگیر!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "هشدار: پوشه پشتیبان گیری شما قابل نوشتن نیست" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "زمان بندی پشتیبان گیری" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "پشتیان گیری بعدی: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "زمان بندی" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "هیچ" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "روزانه" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "جدول هایی Ú©Ù‡ در زمان بندی پشتیبان گیری میشوند:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "زمان بندی پشتیبان گیری" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "هرگز" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s ثانیه" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Ù‡Ùته ای یکبار" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "نسخه وردپرس خود را بروز کنید.این اÙزونه به دلیل مسایل امنیتی با این نسخه از وردپرس سازگاری ندارد" + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "شما اجازه تولید پشتیبان را ندارید" + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "این ظاهر شدن از کوشش غیر مجاز این سایت برای دستیابی به بانک اطلاعاتی واقع شده در %1s هست.این کوشش دچار ایست شد." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "تقلب میکنی؟" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-fr_FR.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-fr_FR.mo new file mode 100644 index 0000000..8e48e99 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-fr_FR.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-fr_FR.po b/wp-content/plugins/wp-db-backup/wp-db-backup-fr_FR.po new file mode 100644 index 0000000..43c0e51 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-fr_FR.po @@ -0,0 +1,398 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Database Backup v2.2.1\n" +"PO-Revision-Date: 2008-09-11 13:28+0200\n" +"Last-Translator: gilles \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n>1;\n" +"X-Poedit-Language: French\n" +"X-Poedit-Country: FRANCE\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;__ngettext_noop:1,2;_c\n" +"X-Poedit-Basepath: \n" +"X-Poedit-SearchPath-0: ." + +#: wp-db-backup.php:182 +msgid "Backup Complete!" +msgstr "Sauvegarde effectuée !" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Progression" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "NE FAITES PAS CECI CAR VOTRE SAUVEGARDE ÉCHOUERA :" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Fermer ce navigateur" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Recharger cette page" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Cliquez sur les boutons Retour ou Stop de votre navigateur" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Progression :" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Naviguer hors de cette page fera échouer votre sauvegarde." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Sauvegarde effectuée, préparation de la sauvegarde pour le téléchargement..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Sauvegarde effectuée, envoi de la sauvegarde par e-mail..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Sauvegarde effectuée, téléchargez-la ici." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Création du fichier de sauvegarde..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\"%s\\"." +msgstr "Sauvegarde des tables \\"%s\\" terminée." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\"%s\\"..." +msgstr "Sauvegarde des tables \\"%s\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:839 +msgid "Could not open the backup file for writing!" +msgstr "Impossible d'ouvrir le fichier de sauvegarde pour y écrire !" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Le fichier de sauvegarde n'a pas pu être enregistré. S’il vous plaît, vérifiez les permissions d'écriture de votre répertoire de sauvegarde et essayez à nouveau." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:848 +msgid "WordPress MySQL database backup" +msgstr "Sauvegarde de la base de données MySLQ de WordPress" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:850 +#, php-format +msgid "Generated: %s" +msgstr "Généré le : %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:851 +#, php-format +msgid "Hostname: %s" +msgstr "Nom d'hôte : %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:852 +#, php-format +msgid "Database: %s" +msgstr "Base de données : %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:865 +#, php-format +msgid "Table: %s" +msgstr "Tables : %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Le répertoire de sauvegarde n'est pas accessible en écriture ! S’il vous plaît, vérifiez les permissions d'écriture dans votre répertoire de sauvegarde et essayez à nouveau." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Cliquez et maintenez enfoncé [SHIFT] pour sélectionner plusieurs cases à cocher" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Changer" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Enregistrer" + +#: wp-db-backup.php:570 +#: wp-db-backup.php:570 +#: wp-db-backup.php:575 +#: wp-db-backup.php:575 +#: wp-db-backup.php:1129 +msgid "Backup" +msgstr "Sauvegarder" + +#: wp-db-backup.php:650 +#: wp-db-backup.php:653 +msgid "There was an error writing a line to the backup script:" +msgstr "Il y a eu une erreur lors de l'écriture d'une ligne dans le script de sauvegarde :" + +#: wp-db-backup.php:685 +msgid "Subsequent errors have been omitted from this log." +msgstr "Les erreurs suivantes ont été omises dans le journal." + +#: wp-db-backup.php:719 +msgid "Error getting table details" +msgstr "Erreur lors de l'obtention des détails des tables" + +#: wp-db-backup.php:727 +#, php-format +msgid "Delete any existing table %s" +msgstr "Supprimer toute table existante %s" + +#: wp-db-backup.php:736 +#, php-format +msgid "Table structure of table %s" +msgstr "Tableau de structure de la table %s" + +#: wp-db-backup.php:742 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Erreur avec SHOW CREATE TABLE pour %s." + +#: wp-db-backup.php:749 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Erreur de récupération de la structure de table de %s" + +#: wp-db-backup.php:757 +#, php-format +msgid "Data contents of table %s" +msgstr "Contenu de la table %s" + +#: wp-db-backup.php:827 +#, php-format +msgid "End of data contents of table %s" +msgstr "Fin du contenu de la table %s" + +#: wp-db-backup.php:843 +msgid "The backup directory is not writeable!" +msgstr "Le répertoire de sauvegarde n'est pas accessible en écriture !" + +#: wp-db-backup.php:977 +#, php-format +msgid "File not found:%s" +msgstr "Fichier introuvable :%s" + +#: wp-db-backup.php:977 +msgid "Return to Backup" +msgstr "Retourner à la sauvegarde" + +#: wp-db-backup.php:986 +#, php-format +msgid "File %s does not exist!" +msgstr "Le fichier %s n'existe pas !" + +#: wp-db-backup.php:993 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Pièce-jointe de l'e-mail \n" +" %1s\n" +" Taille : %2s kilobytes\n" + +#: wp-db-backup.php:994 +msgid "Database Backup" +msgstr "Sauvegarde de la base de données" + +#: wp-db-backup.php:997 +#: wp-db-backup.php:1044 +msgid "The following errors were reported:" +msgstr "Les erreurs suivantes ont été signalées :" + +#: wp-db-backup.php:1002 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ERREUR : L'application e-mail n'a pas pu acheminer la sauvegarde." + +#: wp-db-backup.php:1019 +msgid "Backup Successful" +msgstr "Sauvegarde réussie" + +#: wp-db-backup.php:1023 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Le téléchargement de votre fichier de sauvegarde %2s devrait commencer dans peu de temps." + +#: wp-db-backup.php:1031 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Votre sauvegarde a été envoyée par e-mail à % s" + +#: wp-db-backup.php:1034 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Votre fichier de sauvegarde a été enregistré sur le serveur. Si vous souhaitez le télécharger maintenant, cliquez avec le bouton droit et sélectionnez \"Enregistrer la cible sous\"" + +#: wp-db-backup.php:1035 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1071 +msgid "Scheduled Backup Options Saved!" +msgstr "Options de la sauvegarde programmée enregistrées !" + +#: wp-db-backup.php:1098 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "ATTENTION : Votre répertoire de sauvegarde N'EXISTE PAS et nous ne pouvons pas le créer." + +#: wp-db-backup.php:1099 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "A l'aide de votre client FTP, essayez de créer le répertoire de sauvegarde vous-même : %s" + +#: wp-db-backup.php:1103 +#: wp-db-backup.php:1114 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "ATTENTION : Votre répertoire de sauvegarde N'EST PAS accessible en écriture ! Nous ne pouvons pas créer les fichiers de sauvegarde." + +#: wp-db-backup.php:1104 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "En utilisant votre client FTP, essayez de changer les permissions d'écriture du répertoire de sauvegarde en %1$s ou %2$s : %3$s" + +#: wp-db-backup.php:1116 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Ce problème semble être causé par le mode safe_mode de votre serveur, ce qui limite les créations de fichiers à partir d'applications web comme WordPress." + +#: wp-db-backup.php:1118 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Vous pouvez essayer de corriger ce problème en utilisant votre client FTP pour supprimer puis re-créer le répertoire de sauvegarde :%s" + +#: wp-db-backup.php:1132 +msgid "Tables" +msgstr "Tables" + +#: wp-db-backup.php:1134 +msgid "These core WordPress tables will always be backed up:" +msgstr "Ces tables de base WordPress seront toujours sauvegardées :" + +#: wp-db-backup.php:1139 +msgid "Exclude spam comments" +msgstr "Exclure les commentaires de spam" + +#: wp-db-backup.php:1142 +msgid "Exclude post revisions" +msgstr "Exclure les anciennes versions des billets" + +#: wp-db-backup.php:1153 +msgid "You may choose to include any of the following tables:" +msgstr "Vous pouvez choisir d'inclure certaines tables suivantes :" + +#: wp-db-backup.php:1167 +msgid "Backup Options" +msgstr "Options de sauvegarde" + +#: wp-db-backup.php:1168 +msgid "What to do with the backup file:" +msgstr "Que faire avec le fichier de sauvegarde :" + +#: wp-db-backup.php:1172 +msgid "Save to server" +msgstr "Sauvegarder sur le serveur" + +#: wp-db-backup.php:1177 +msgid "Download to your computer" +msgstr "Télécharger sur votre ordinateur" + +#: wp-db-backup.php:1181 +#: wp-db-backup.php:1239 +msgid "Email backup to:" +msgstr "Envoyer la sauvegarde par e-mail à :" + +#: wp-db-backup.php:1188 +msgid "Backup now!" +msgstr "Sauvegarder maintenant !" + +#: wp-db-backup.php:1191 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "ATTENTION : Votre répertoire de sauvegarde N'EST PAS accessible en écriture !" + +#: wp-db-backup.php:1202 +msgid "Scheduled Backup" +msgstr "Sauvegarde programmée" + +#: wp-db-backup.php:1209 +#, php-format +msgid "Next Backup: %s" +msgstr "Prochaine sauvegarde : %s" + +#: wp-db-backup.php:1214 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Dernière exécution journalière de WP-Cron : %s" + +#: wp-db-backup.php:1215 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Prochaine exécution journalière de WP-Cron : %s" + +#: wp-db-backup.php:1220 +msgid "Schedule: " +msgstr "Fréquence :" + +#: wp-db-backup.php:1224 +msgid "None" +msgstr "Aucun" + +#: wp-db-backup.php:1224 +msgid "Daily" +msgstr "Tous les jours" + +#: wp-db-backup.php:1241 +msgid "Schedule backup" +msgstr "Sauvegarde programmée" + +#: wp-db-backup.php:1249 +msgid "Tables to include in the scheduled backup:" +msgstr "Tables à inclure dans la sauvegarde programmée :" + +#: wp-db-backup.php:1284 +msgid "Never" +msgstr "Jamais" + +#: wp-db-backup.php:1289 +#, php-format +msgid "%s seconds" +msgstr "%s secondes" + +#: wp-db-backup.php:1322 +msgid "Once Weekly" +msgstr "Une fois par semaine" + +#: wp-db-backup.php:1335 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Votre version de WordPress, 1s%, ne comporte pas certains dispositifs de sécurité importants sans lesquels il est dangereux d'utiliser l'extension WP-DB-Backup. Par conséquent, ce plugin est automatiquement désactivée. S'il vous plaît, examiner, mettez à jour WordPress avec une version plus récente." + +#: wp-db-backup.php:1353 +msgid "You are not allowed to perform backups." +msgstr "Vous n'êtes pas autorisé à effectuer des sauvegardes." + +#: wp-db-backup.php:1368 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Il semble y avoir une tentative non autorisée de ce site pour accéder à votre base de données située à 1s%. La tentative a été stoppée." + +#: wp-db-backup.php:1379 +msgid "Cheatin' uh ?" +msgstr "P\'tit malin !" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-it_IT.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-it_IT.mo new file mode 100644 index 0000000..fd0e997 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-it_IT.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-it_IT.po b/wp-content/plugins/wp-db-backup/wp-db-backup-it_IT.po new file mode 100644 index 0000000..3a6d980 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-it_IT.po @@ -0,0 +1,415 @@ +# WP-DB-Backup +# Copyright (C) 2008 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-12-21 15:38-0600\n" +"PO-Revision-Date: 2010-12-30 19:14+0100\n" +"Last-Translator: Diego Pierotto \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Poedit-Language: Italian\n" +"X-Poedit-Country: ITALY\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: wp-db-backup.php:177 +#: wp-db-backup.php:285 +#: wp-db-backup.php:302 +msgid "Backup Complete!" +msgstr "Backup Completato!" + +#: wp-db-backup.php:220 +msgid "http://codex.wordpress.org/WordPress_Backups" +msgstr "http://codex.wordpress.org/WordPress_Backups" + +#: wp-db-backup.php:221 +#, php-format +msgid "Click here to back up your database using the WordPress Database Backup plugin. Note: WordPress Database Backup does not back up your files, just your database." +msgstr "Fai click qui per creare un backup del database usando il plugin di WordPress chiamato Database Backup. Nota: WordPress Database Backup NON fa il backup dei files ma solo del database." + +#: wp-db-backup.php:230 +msgid "Progress" +msgstr "Progresso" + +#: wp-db-backup.php:232 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "NON FARE LE SEGUENTI COSE PER EVITARE CHE IL BACKUP FALLISCA:" + +#: wp-db-backup.php:235 +msgid "Close this browser" +msgstr "Chiudere il browser" + +#: wp-db-backup.php:236 +msgid "Reload this page" +msgstr "Aggiornare la pagina" + +#: wp-db-backup.php:237 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Premere i pulsanti Termina o Indietro nel browser" + +#: wp-db-backup.php:239 +msgid "Progress:" +msgstr "Stato:" + +#: wp-db-backup.php:248 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Abbandonare questa pagina farà fallire la procedura di backup." + +#: wp-db-backup.php:295 +#: wp-db-backup.php:1098 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Il backup è stato inviato per email a %s" + +#: wp-db-backup.php:362 +msgid "Creating backup file..." +msgstr "Creazione del file di backup..." + +#: wp-db-backup.php:365 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Backup della tabella \\\"%s\\\" completato." + +#: wp-db-backup.php:367 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Backup della tabella \\\"%s\\\"..." + +#: wp-db-backup.php:374 +#: wp-db-backup.php:881 +msgid "Could not open the backup file for writing!" +msgstr "Impossibile aprire il file di backup in scrittura!" + +#: wp-db-backup.php:375 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Il file di backup non può essere salvato. Per favore controlla i permessi in scrittura nella cartella di backup e riprova." + +#: wp-db-backup.php:380 +#: wp-db-backup.php:890 +msgid "WordPress MySQL database backup" +msgstr "WordPress MySQL database backup" + +#: wp-db-backup.php:382 +#: wp-db-backup.php:892 +#, php-format +msgid "Generated: %s" +msgstr "Creato: %s" + +#: wp-db-backup.php:383 +#: wp-db-backup.php:893 +#, php-format +msgid "Hostname: %s" +msgstr "Hostname: %s" + +#: wp-db-backup.php:384 +#: wp-db-backup.php:894 +#, php-format +msgid "Database: %s" +msgstr "Database: %s" + +#: wp-db-backup.php:392 +#: wp-db-backup.php:907 +#, php-format +msgid "Table: %s" +msgstr "Tabella: %s" + +#: wp-db-backup.php:399 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "La cartella di backup non è scrivibile! Per favore controlla i permessi in scrittura nella cartella di backup e riprova." + +#: wp-db-backup.php:458 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Premi e tieni premuto [MAIUSC] per selezionare caselle multiple" + +#: wp-db-backup.php:502 +msgid "Change" +msgstr "Modifica" + +#: wp-db-backup.php:511 +msgid "Save" +msgstr "Salva" + +#: wp-db-backup.php:605 +#: wp-db-backup.php:614 +#: wp-db-backup.php:1196 +msgid "Backup" +msgstr "Backup" + +#: wp-db-backup.php:623 +msgid "FAQ" +msgstr "FAQ" + +#: wp-db-backup.php:624 +msgid "WP-DB-Backup Support Forum" +msgstr "Forum supporto WP-DB-Backup" + +#: wp-db-backup.php:694 +msgid "There was an error writing a line to the backup script:" +msgstr "Errore durante la scrittura dello script di backup:" + +#: wp-db-backup.php:727 +msgid "Subsequent errors have been omitted from this log." +msgstr "Errori successivi sono stati omessi da questo rapporto." + +#: wp-db-backup.php:761 +msgid "Error getting table details" +msgstr "Errore nell'ottenere i dettagli della tabella" + +#: wp-db-backup.php:769 +#, php-format +msgid "Delete any existing table %s" +msgstr "Cancella tutto tabella %s" + +#: wp-db-backup.php:778 +#, php-format +msgid "Table structure of table %s" +msgstr "Struttura della tabella %s" + +#: wp-db-backup.php:784 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Errore con SHOW CREATE TABLE per %s." + +#: wp-db-backup.php:791 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Errore nell'ottenere la struttura della tabella %s" + +#: wp-db-backup.php:799 +#, php-format +msgid "Data contents of table %s" +msgstr "Contenuto della tabella %s" + +#: wp-db-backup.php:869 +#, php-format +msgid "End of data contents of table %s" +msgstr "Fine dei dati contenuti nella tabella %s" + +#: wp-db-backup.php:885 +msgid "The backup directory is not writeable!" +msgstr "La cartella di backup non è scrivibile!" + +#: wp-db-backup.php:1044 +#, php-format +msgid "File not found:%s" +msgstr "File non trovato: %s" + +#: wp-db-backup.php:1044 +msgid "Return to Backup" +msgstr "Ritorna a Backup" + +#: wp-db-backup.php:1053 +#, php-format +msgid "File %s does not exist!" +msgstr "Il file %s non esiste!" + +#: wp-db-backup.php:1060 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Allegati a questa email:\n" +" %1s\n" +" Dimensione:%2s KB\n" + +#: wp-db-backup.php:1061 +msgid "Database Backup" +msgstr "Backup del Database" + +#: wp-db-backup.php:1064 +#: wp-db-backup.php:1111 +msgid "The following errors were reported:" +msgstr "Sono stati riscontrati i seguenti errori:" + +#: wp-db-backup.php:1069 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ERRORE: L'invio del backup per email è fallito." + +#: wp-db-backup.php:1086 +msgid "Backup Successful" +msgstr "Backup completato con successo" + +#: wp-db-backup.php:1090 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Il download del file di backup %2s inizierà a breve." + +#: wp-db-backup.php:1101 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Il file di backup è stato salvato sul server. Se vuoi scaricarlo, clicca col pulsante destro e seleziona \"Salva con nome\"" + +#: wp-db-backup.php:1102 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1138 +msgid "Scheduled Backup Options Saved!" +msgstr "Le impostazioni del Backup programmato sono state salvate!" + +#: wp-db-backup.php:1165 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "ATTENZIONE: La cartella di backup NON esiste e non può essere creata." + +#: wp-db-backup.php:1166 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Utilizzando un client FTP, prova a creare manualmente la cartella: %s" + +#: wp-db-backup.php:1170 +#: wp-db-backup.php:1181 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "ATTENZIONE: La cartella di backup NON è scrivibile! Impossibile creare i file di backup." + +#: wp-db-backup.php:1171 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Utilizzando un client FTP, imposta i permessi della cartella di backup a %1$s o %2$s: %3$s" + +#: wp-db-backup.php:1183 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Il problema sembra essere dovuto alle restrizioni dello safe_mode impostato sul server, che limita la creazione di file da parte di applicazioni come WordPress." + +#: wp-db-backup.php:1185 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Puoi provare a correggere il problema utilizzando un client FTP per cancellare e ricreare la cartella di backup: %s" + +#: wp-db-backup.php:1199 +msgid "Tables" +msgstr "Tabelle" + +#: wp-db-backup.php:1201 +msgid "These core WordPress tables will always be backed up:" +msgstr "Queste tabelle base di WordPress saranno sempre copiate:" + +#: wp-db-backup.php:1206 +msgid "Exclude spam comments" +msgstr "Escludi i commenti di spam" + +#: wp-db-backup.php:1209 +msgid "Exclude post revisions" +msgstr "Escludi revisioni" + +#: wp-db-backup.php:1220 +msgid "You may choose to include any of the following tables:" +msgstr "Le seguenti tabelle possono essere selezionate:" + +#: wp-db-backup.php:1234 +msgid "Backup Options" +msgstr "Opzioni di backup" + +#: wp-db-backup.php:1235 +msgid "What to do with the backup file:" +msgstr "Che cosa fare con il file di backup:" + +#: wp-db-backup.php:1239 +msgid "Save to server" +msgstr "Salvalo sul server" + +#: wp-db-backup.php:1244 +msgid "Download to your computer" +msgstr "Scaricalo sul computer" + +#: wp-db-backup.php:1248 +#: wp-db-backup.php:1312 +msgid "Email backup to:" +msgstr "Invialo per email a:" + +#: wp-db-backup.php:1261 +msgid "Backup now!" +msgstr "Inizia il Backup!" + +#: wp-db-backup.php:1264 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "ATTENZIONE: La cartella di backup NON è scrivibile!" + +#: wp-db-backup.php:1275 +msgid "Scheduled Backup" +msgstr "Backup programmato" + +#: wp-db-backup.php:1282 +#, php-format +msgid "Next Backup: %s" +msgstr "Prossimo Backup: %s" + +#: wp-db-backup.php:1287 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Ultima esecuzione giornaliera di WP-Cron: %s" + +#: wp-db-backup.php:1288 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Prossima esecuzione giornaliera di WP-Cron: %s" + +#: wp-db-backup.php:1293 +msgid "Schedule: " +msgstr "Programmazione:" + +#: wp-db-backup.php:1297 +msgid "None" +msgstr "Nessuna" + +#: wp-db-backup.php:1297 +msgid "Daily" +msgstr "Giornaliera" + +#: wp-db-backup.php:1314 +msgid "Schedule backup" +msgstr "Programma il backup" + +#: wp-db-backup.php:1322 +msgid "Tables to include in the scheduled backup:" +msgstr "Tabelle da includere nel backup programmato:" + +#: wp-db-backup.php:1357 +msgid "Never" +msgstr "Mai" + +#: wp-db-backup.php:1362 +#, php-format +msgid "%s seconds" +msgstr "%s secondi" + +#: wp-db-backup.php:1395 +msgid "Once Weekly" +msgstr "Settimanale" + +#: wp-db-backup.php:1408 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "La versione corrente di WordPress, %1s, non è provvista di importanti funzioni di sicurezza senza le quali non è sicuro eseguire il plugin WP-DB-Backup. Il plugin è stato dunque disabilitato automaticamente. Considera di aggiornare WordPress ad una versione più recente." + +#: wp-db-backup.php:1426 +msgid "You are not allowed to perform backups." +msgstr "Non ti è consentito eseguire backup." + +#: wp-db-backup.php:1441 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Sembra che ci sia stato un tentativo non autorizzato da parte di questo sito di accedere al tuo database a %1s. Il tentativo è stato bloccato." + +#: wp-db-backup.php:1452 +msgid "Cheatin' uh ?" +msgstr "Stai barando, eh?" + +#~ msgid "" +#~ "Backup complete, preparing backup for download..." +#~ msgstr "" +#~ "Backup completo, preparazione del backup per il " +#~ "download..." +#~ msgid "Backup complete, sending backup via email..." +#~ msgstr "" +#~ "Backup completo, invio del backup per email..." +#~ msgid "Backup complete, download here." +#~ msgstr "Backup completo, scaricalo qui." + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ja.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-ja.mo new file mode 100644 index 0000000..4661916 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-ja.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ja.po b/wp-content/plugins/wp-db-backup/wp-db-backup-ja.po new file mode 100644 index 0000000..8418a4a --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-ja.po @@ -0,0 +1,408 @@ +msgid "" +msgstr "" +"Project-Id-Version: wpdbbp-2.1.7-ja\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: \n" +"Last-Translator: tai \n" +"Language-Team: ja \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Japanese\n" +"X-Poedit-Country: JAPAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—完了 !" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "進行" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å¤±æ•—ã™ã‚‹ã®ã§ã€æ¬¡ã®äº‹ã¯ã—ãªã„ã§ãã ã•ã„:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "ã“ã®ãƒ–ラウザを閉ã˜ã‚‹" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "ã“ã®ãƒšãƒ¼ã‚¸ã‚’å†èª­ã¿è¾¼ã¿ã™ã‚‹" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "ブラウザã®åœæ­¢ã‚‚ã—ãã¯æˆ»ã‚‹ãƒœã‚¿ãƒ³ã®ã‚¯ãƒªãƒƒã‚¯" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "進行状æ³:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "ã“ã®ãƒšãƒ¼ã‚¸ã‚’é–‰ã˜ã‚‹ã¨ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å¤±æ•—ã—ã¾ã™ã€‚" + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を完了ã—ã¾ã—ãŸã€‚ダウンロードã®ãŸã‚ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を準備中..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を完了ã—ã¾ã—ãŸã€‚メールã§ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’é€ä¿¡ä¸­..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を完了ã—ã¾ã—ãŸã€‚ã“ã¡ã‚‰ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。" + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを作æˆä¸­..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "テーブル \\\"%s\\\" ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を完了。" + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "テーブル \\\"%s\\\" ã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—中..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "書ãè¾¼ã¿ç”¨ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを開ã‘ã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルをä¿å­˜ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用ディレクトリã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ›¸ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。" + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "WordPress MySQL データベースãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "生æˆæ—¥æ™‚: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "ホストå: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "データベース: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "テーブル: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用ディレクトリãŒæ›¸ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã¾ã›ã‚“ ! ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用ディレクトリã®ã‚¢ã‚¯ã‚»ã‚¹æ¨©ãŒæ›¸ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã‚‹ã‹ç¢ºèªã—ã¦ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。" + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "複数ã®ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ã®é¸æŠžçŠ¶æ…‹ã‚’切り替ãˆã‚‹ã«ã¯ [SHIFT] を押ã—ãªãŒã‚‰ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "変更" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "ä¿å­˜" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—スクリプトã¸ã®æ›¸ãè¾¼ã¿ã‚¨ãƒ©ãƒ¼ãŒã‚ã‚Šã¾ã—ãŸ:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "ã“ã®ãƒ­ã‚°ã‹ã‚‰å¾Œç¶šã®ã‚¨ãƒ©ãƒ¼ãŒå‰Šé™¤ã•ã‚Œã¾ã—ãŸã€‚" + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "テーブル詳細ã®å–得エラー" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "既存テーブル %s ã®å‰Šé™¤" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "テーブル %s ã®ãƒ†ãƒ¼ãƒ–ル構造" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "%s ã®ãŸã‚ã® SHOW CREATE TABLE ã«é–¢ã™ã‚‹ã‚¨ãƒ©ãƒ¼ã€‚" + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "%s ã®ãƒ†ãƒ¼ãƒ–ル構造å–得エラー" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "テーブル %s ã®ãƒ‡ãƒ¼ã‚¿ã‚³ãƒ³ãƒ†ãƒ³ãƒ„" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "テーブル %s ã®ãƒ‡ãƒ¼ã‚¿ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®çµ‚ã‚ã‚Š" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—用ディレクトリãŒæ›¸ãè¾¼ã¿å¯èƒ½ã«ãªã£ã¦ã„ã¾ã›ã‚“ !" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«æˆ»ã‚‹" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "ファイル %s ã¯ã‚ã‚Šã¾ã›ã‚“ !" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"ã“ã®ãƒ¡ãƒ¼ãƒ«ã«æ·»ä»˜ã•ã‚ŒãŸã®ã¯\n" +" %1s\n" +" サイズ: %2s キロãƒã‚¤ãƒˆ\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "データベースã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "次ã®ã‚¨ãƒ©ãƒ¼ãŒå ±å‘Šã•ã‚Œã¾ã—ãŸ:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "エラー: メールアプリケーションãŒãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルã®é€ä¿¡ã«å¤±æ•—ã—ã¾ã—ãŸã€‚" + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—æˆåŠŸ" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイル: %2sã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã¯ã¾ã‚‚ãªã開始ã•ã‚Œã¾ã™ã€‚" + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—㯠%s ã«ãƒ¡ãƒ¼ãƒ«ã§é€ä¿¡ã•ã‚Œã¾ã—ãŸ" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルãŒã‚µãƒ¼ãƒãƒ¼ã«ä¿å­˜ã•ã‚Œã¾ã—ãŸã€‚ダウンロードã™ã‚‹ã«ã¯å³ã‚¯ãƒªãƒƒã‚¯ã—ã¦ã€Œãƒªãƒ³ã‚¯å…ˆã‚’åå‰ã‚’ã¤ã‘ã¦ä¿å­˜ã€ã‚’é¸æŠžã—ã¦ãã ã•ã„" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s ãƒã‚¤ãƒˆ" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "定期ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—設定ãŒä¿å­˜ã•ã‚Œã¾ã—㟠!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "注æ„: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリãŒè¦‹ã¤ã‹ã‚‰ãšã€ä½œæˆã‚‚ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "FTP クライアントを使用ã—ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリ: %s を作æˆã—ã¦ã¿ã¦ãã ã•ã„。" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "注æ„: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリãŒæ›¸ãè¾¼ã¿ä¸å¯ã«ãªã£ã¦ã„ã¾ã™ ! ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "FTP クライアントを使用ã—ã€ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリã®æ›¸è¾¼ã¿ãƒ‘ーミッションを %1$s ã¾ãŸã¯ %2$s: %3$s ã«ã‚»ãƒƒãƒˆã—ã¦ã¿ã¦ãã ã•ã„。" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "ã“ã®å•é¡Œã¯ä½¿ç”¨ã—ã¦ã„るサーãƒãƒ¼ã® safe_mode ファイルオーナー制é™ã«ã‚ˆã£ã¦å¼•ãèµ·ã“ã•ã‚Œã¦ã„ã‚‹ã®ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。ã“れ㯠WordPress ã®ã‚ˆã†ãªã‚¦ã‚§ãƒ–アプリケーションãŒä½œæˆã§ãるファイルを制é™ã—ã¦ã„ã¾ã™ã€‚" + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "FTP クライアントを使用ã—ã¦ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリ㮠%s を削除ã—ã¦ä½œã‚Šç›´ã›ã°ã€ã“ã®å•é¡Œã‚’解決ã§ãã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "テーブル" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "次ã®ä¸»è¦ãª WordPress テーブルã¯å¸¸ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã•ã‚Œã¾ã™:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "スパムコメントを除外" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "投稿リビジョンを除外" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "次ã®ãƒ†ãƒ¼ãƒ–ルもé¸æŠžã—ã¦ä¿å­˜ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—設定" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ファイルã®æ‰±ã„:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "サーãƒãƒ¼ã«ä¿å­˜" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "ã‚ãªãŸã®ã‚³ãƒ³ãƒ”ュータã«ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—をメールã§é€ä¿¡:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ— !" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "注æ„: ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリãŒæ›¸ãè¾¼ã¿ä¸å¯ã«ãªã£ã¦ã„ã¾ã™ã€‚" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "定期ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "次回ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "最後㫠WP-Cron を実行ã—ãŸæ—¥æ™‚: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "次㫠WP-Cron を実行ã™ã‚‹æ—¥æ™‚: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "スケジュール:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "ãªã—" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "毎日" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "定期ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å«ã‚るテーブル:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "定期ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "ãªã—" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s 秒" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "週 1 回" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "ãŠä½¿ã„ã«ãªã£ã¦ã„ã‚‹ WordPress ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ %1s ã§ã™ã€‚ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã¯ WP-DB-Backup プラグインを安全ã«ä½¿ç”¨ã§ãã‚‹é‡è¦ãªã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£æ©Ÿèƒ½ãŒå‚™ã‚ã£ã¦ã„ã¾ã›ã‚“。ãã®ãŸã‚ã“ã®ãƒ—ラグインã¯è‡ªå‹•çš„ã«æ©Ÿèƒ½ã‚’åœæ­¢ã—ã¾ã—ãŸã€‚より最新㮠WordPress ã¸ã®ã‚¢ãƒƒãƒ—グレードをã”検討ãã ã•ã„。" + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’è¡Œã†æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“。" + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "ã“ã®ã‚µã‚¤ãƒˆã‹ã‚‰ %1s ã«ã‚るデータベースã¸ã®æœªæ‰¿èªã®ã‚¢ã‚¯ã‚»ã‚¹ãŒã‚ã£ãŸã‚ˆã†ã§ã™ã€‚ã“ã®è©¦ã¿ã¯é˜»æ­¢ã•ã‚Œã¾ã—ãŸã€‚" + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "é–“é•ãˆã¾ã—ãŸã‹ ?" + +#~ msgid "" +#~ "WARNING: Your wp-content directory is NOT writable! We " +#~ "can not create the backup directory." +#~ msgstr "" +#~ "注æ„: wp-content ディレクトリãŒæ›¸ãè¾¼ã¿ä¸å¯ã«ãªã£ã¦ã„ã¾" +#~ "ã™ ! ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ディレクトリを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" +#~ msgid "Select all" +#~ msgstr "ã™ã¹ã¦é¸æŠž" +#~ msgid "Select none" +#~ msgstr "何もé¸æŠžã—ãªã„" +#~ msgid "Submit" +#~ msgstr "ä¿å­˜ã™ã‚‹" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ko_KR.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-ko_KR.mo new file mode 100644 index 0000000..cc184e7 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-ko_KR.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ko_KR.po b/wp-content/plugins/wp-db-backup/wp-db-backup-ko_KR.po new file mode 100644 index 0000000..58394eb --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-ko_KR.po @@ -0,0 +1,398 @@ +# WP-DB-Backup +# Copyright (C) 2008 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: Korean by Soul\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2009-02-19 03:41-0500\n" +"Last-Translator: Jong-In Kim \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: Jong-In Kim \n" +"X-Poedit-Language: Korean\n" +"X-Poedit-Country: KOREA, REPUBLIC OF\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "백업 완료!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "진행" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "다ìŒê³¼ ê°™ì€ ë°±ì—…ì„ ì‹¤íŒ¨í•˜ê²Œ 하는 ê²ƒì„ í•˜ì§€ë§ˆì„¸ìš”:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "ì´ ë¸Œë¼ìš°ì € ë‹«ìŒ" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "ì´ íŽ˜ì´ì§€ 새로고침" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "브ë¼ìš°ì €ì˜ 멈춤 ì´ë‚˜ 뒤로 ë²„íŠ¼ì„ í´ë¦­í•˜ì„¸ìš”" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "진행:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "ì´ íŽ˜ì´ì§€ì—ì„œ 벗어나는 ê²ƒì€ ë°±ì—… 실패와 ì—°ê²°ë  ìˆ˜ 있습니다." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "백업 완료, 다운로드를 위한 백업 준비중 ..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "백업 완료, 백업 ì„ ì´ë©”ì¼ë¡œ 보내는 중..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "백업 완료, 다운로드는 여기." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "백업 íŒŒì¼ ë§Œë“œëŠ” 중..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "í…Œì´ë¸” 백업 완료 \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "í…Œì´ë¸” 백업 중 \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "쓰기위해 백업 파ì¼ì„ ì—´ 수 없습니다!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "백업 파ì¼ì´ 저장ë˜ì§€ 않았습니다. ë‹¹ì‹ ì˜ ë°±ì—… ë””ë ‰í† ë¦¬ì— ì“¸ 수 있는 ê¶Œí•œì´ ìžˆëŠ”ì§€ 확ì¸í•˜ì‹œê³  ìž¬ì‹œë„ í•´ì£¼ì„¸ìš”." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "워드프레스 MySQL ë°ì´í„°ë² ì´ìŠ¤ 백업" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "ìƒì„±ë¨: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "호스트 ì´ë¦„: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "ë°ì´í„°ë² ì´ìŠ¤: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "í…Œì´ë¸”: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "백업 디렉토리 쓰기 불가능! ë‹¹ì‹ ì˜ ë°±ì—… ë””ë ‰í† ë¦¬ì— ì“¸ 수 있는 ê¶Œí•œì´ ìžˆëŠ”ì§€ 확ì¸í•˜ì‹œê³  ìž¬ì‹œë„ í•´ì£¼ì„¸ìš”." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "여러 ì²´í¬ë°•ìŠ¤ì˜ í† ê¸€ì„ ìœ„í•´ì„œ [SHIFT] 를 í´ë¦­í•˜ì‹œê³  유지하세요" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "변경" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "저장" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "백업" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "백업 스í¬ë¦½íŠ¸ì— 쓰는 ë„중 ì—러가 ë°œìƒí–ˆìŠµë‹ˆë‹¤:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "ì´ ë¡œê·¸ì—ì„œ í›„ì† ì—러가 제외ë˜ì—ˆìŠµë‹ˆë‹¤." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "í…Œì´ë¸” ë‚´ìš©ì„ ê°€ì ¸ì˜¤ëŠ” 중 ì—러" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "존재한 í…Œì´ë¸” ì‚­ì œ %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "í…Œì´ë¸”ì˜ êµ¬ì¡° í…Œì´ë¸” %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "%s 를 위한 ìƒì„± í…Œì´ë¸” 보기 ì—러." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "%s ì˜ í…Œì´ë¸” 구조를 가져오는 중 ì—러" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "í…Œì´ë¸”ì˜ ë°ì´í„° 컨í…츠 %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "í…Œì´ë¸”ì˜ ë°ì´í„° 컨í…츠 ë %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "백업 디렉토리는 쓰기 불가능합니다!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "파ì¼ì´ 없습니다: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "백업으로 ëŒì•„가기" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "%s 파ì¼ì´ 존재하지 않습니다!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"ì´ ì´ë©”ì¼ì— 첨부는\n" +" %1s\n" +" Size:%2s kilobytes\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "ë°ì´í„°ë² ì´ìŠ¤ 백업" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "다ìŒê³¼ ê°™ì€ ì—러가 발견ë˜ì—ˆìŠµë‹ˆë‹¤:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ì—러: ë©”ì¼ë¡œ 백업 전송 실패." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "백업 성공" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "ë‹¹ì‹ ì˜ ë°±ì—… 파ì¼: %2s ì€ ê¸ˆë°© 다운로드가 시작ë©ë‹ˆë‹¤." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "ë‹¹ì‹ ì˜ ë°±ì—…ì€ %s ë¡œ ì´ë©”ì¼ ì „ì†¡ ë˜ì—ˆìŠµë‹ˆë‹¤." + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "ë‹¹ì‹ ì˜ ë°±ì—… 파ì¼ì€ ì„œë²„ì— ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤. 만약 지금 다운로드 하고싶다면, ìš°í´ë¦­ 후 \"Save As\" 를 ì„ íƒí•˜ì„¸ìš”." + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s ë°”ì´íŠ¸" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "ì˜ˆì•½ëœ ë°±ì—… 옵션 저장ë¨!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "경고: ë‹¹ì‹ ì˜ ë°±ì—… 디렉토리가 존재하지 ì•Šì•„ ìƒì„±í•  수 없습니다." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "ë‹¹ì‹ ì˜ FTP 를 사용하여, 백업 디렉토리를 ì§ì ‘ ìƒì„±í•˜ì„¸ìš”: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "경고: ë‹¹ì‹ ì˜ ë°±ì—… 디렉토리는 쓰기 불가능 입니다! 백업 파ì¼ì„ ìƒì„±í•  수 없습니다." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "ë‹¹ì‹ ì˜ FTP 를 사용하여, 백업 디렉토리를 ’s 다ìŒê³¼ ê°™ì€ ê¶Œí•œìœ¼ë¡œ 설정하세요. %1$s or %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "ì´ ë¬¸ì œëŠ” ë‹¹ì‹ ì˜ ì„œë²„ë¡œ ì¸í•œ 것 같습니다.’s 안전 모드 íŒŒì¼ ì†Œìœ ê¶Œ 제한으로 ì›Œë“œí”„ë ˆìŠ¤ê°™ì€ ì›¹ì• í”Œë¦¬ì¼€ì´ì…˜ì´ ìƒì„±í•˜ëŠ” 파ì¼ì— ì œí•œì´ ìžˆëŠ” 것 같습니다." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "ë‹¹ì‹ ì€ FTP 를 ì´ìš©í•˜ì—¬ 백업 디렉토리를 ì‚­ì œ 후 재ìƒì„±ì„ í•´ì„œ ì´ ë¬¸ì œë¥¼ ê³ ì¹  수 있습니다: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "í…Œì´ë¸”" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "ì´ëŸ¬í•œ 핵심 워드프레스 í…Œì´ë¸”ì€ í•­ìƒ ë°±ì—…í•©ë‹ˆë‹¤:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "제외 스팸 댓글" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "제외 글 수정" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "ë‹¹ì‹ ì€ ë‹¤ìŒ í…Œì´ë¸”ì„ í¬í•¨í•˜ë„ë¡ ì„ íƒí•  수 있습니다:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "백업 옵션" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "백업 파ì¼ë¡œ ë¬´ì—‡ì„ í• ê¹Œìš”:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "ì„œë²„ì— ì €ìž¥" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "ë‹¹ì‹ ì˜ ì»´í“¨í„°ë¡œ 다운로드" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "ì´ë©”ì¼ ë°±ì—…:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "지금 백업하세요!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "경고: ë‹¹ì‹ ì˜ ë°±ì—… 디렉토리는 쓰기 불가능 입니다!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "ì˜ˆì•½ëœ ë°±ì—…" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "ë‹¤ìŒ ë°±ì—…: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "마지막 WP-Cron ë§¤ì¼ ì‹¤í–‰ : %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "ë‹¤ìŒ WP-Cron ë§¤ì¼ ì‹¤í–‰: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "예약:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "ì—†ìŒ" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "매ì¼" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "ì˜ˆì•½ëœ ë°±ì—… ì•ˆì— ì¶”ê°€í•  í…Œì´ë¸”:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "예약 백업" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "절대" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s ì´ˆ" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "주마다 한번" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "ë‹¹ì‹ ì˜ ì›Œë“œí”„ë ˆìŠ¤ 버전, %1s, ì€ ë³´ì•ˆ ê¸°ëŠ¥ì´ ë¯¸í¡í•˜ì—¬ WP-DB-Backup 플러그ì¸ì„ 쓰기ì—는 안전하지 않습니다. ë”°ë¼ì„œ ì´ í”ŒëŸ¬ê·¸ì¸ì„ ìžë™ìœ¼ë¡œ 해제했습니다. 최신 버전으로 워드프레스 업그레ì´ë“œë¥¼ 고려하세요." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "ë‹¹ì‹ ì€ ë°±ì—…ì„ ì´ìš©í•  수 없습니다." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "ì´ ì‚¬ì´íŠ¸ì—ì„œ 무단으로 ê·€í•˜ì˜ ë°ì´í„°ë² ì´ìŠ¤ %1sì— ì•¡ì„¸ìŠ¤í•˜ë ¤ ì‹œë„ë˜ì—ˆìŠµë‹ˆë‹¤. ê·¸ ì‹œë„ê°€ 중단ë˜ì—ˆìŠµë‹ˆë‹¤." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "누굴 ì†ì´ì‹œë ¤ê³ ?" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-nb_NO.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-nb_NO.mo new file mode 100644 index 0000000..536e40f Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-nb_NO.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-nb_NO.po b/wp-content/plugins/wp-db-backup/wp-db-backup-nb_NO.po new file mode 100644 index 0000000..39c3873 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-nb_NO.po @@ -0,0 +1,396 @@ +# WP-DB-Backup +# Copyright (C) 2008 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2008-08-30 12:02+0100\n" +"Last-Translator: RuneG \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Sikkerhetskopi ferdig!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Framdrift" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "IKKE GJØR FØLGENDE DA DET VIL FØRE TIL AT SIKKERHETSKOPIEN DIN FEILER:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Lukke nettleseren" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Laste siden pÃ¥ nytt" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Klikke pÃ¥ stopp eller tilbake knappen i nettleseren" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Framdrift:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Hvis du gÃ¥r vekk fra denne siden feiler sikkerhetskopien." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Sikkerhetskopi ferdig, forbereder sikkerhetskopi for nedlasting..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Sikkerhetskopi ferdig, sender backup via epost..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Sikkerhetskopi ferdig, last den ned her." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Lager sikkerhetskopi..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Ferdig med sikkerhetskopi av tabellen \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Tar sikkerhetskopi av tabellen \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "Kunne ikke Ã¥pne filen for sikkerhetskopi i skrivemodus!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Sikkerhetskopifilen kunne ikke lagres. Sjekk skrive rettigheter pÃ¥ sikkerhetskopi mappen, og prøv igjen." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "WordPress MySQL database sikkerhetskopi" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "Laget: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Vertsnavn: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Database: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Tabell: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Mappen for sikkerhetskopi er ikke skrivbar! Sjekk skriverettighetene pÃ¥ mappen og prøv igjen." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Klikk og hold nede [SHIFT] for Ã¥ velge flere sjekkbokser" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Endre" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Lagre" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Ta sikkerhetskopi" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "Det var en feil ved skriven av en linje til skriptet for sikkerhetskopiering:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Følgende feilmeldinger er utelatt fra loggen." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Klarte ikke Ã¥ fÃ¥ tabell detaljer" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "Slett eksisternede tabell %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Tabell strukturen til tabell %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Feil med SHOW CREATE TABLE for %s" + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Feil ved innhenting av strukturen til tabellen %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "Data innhold for tabellen %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Slutt pÃ¥ data innhold i tabellen %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "Mappen for sikkerhetskopi er ikke skrivbar!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Filen ikke funnet: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Tilbake til sikkerhetskopiering" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "Filen %s finnes ikke!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Vedlagt til denne eposten er\n" +" %1s\n" +" Størrelse:%2s kilobytes\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Database sikkerhetskopi" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "Følgende feil ble rapportert:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "FEIL: Epost apllikasjonen klarte ikke Ã¥ levere sikkerhetskopien." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Sikkerhetskopien var vellykket" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Sikkerhetskopi filen %2s starter snart Ã¥ laste ned." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Din sikkerhetskopi er sendt pÃ¥ epost til %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Din sikkerhetskopi er lagret pÃ¥ serveren. Du kan laste den ned nÃ¥. Høyre klikk og velg \"Lagre som\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Valg for planlagt sikkerhetskopi er lagret!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "ADVARSEL: Mappen for sikkerhetskopi finnes IKKE, og vi kan ikke lage den." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Ved hjelp av en FTP applikasjon, pørv Ã¥ lage mappen for sikkerhetskopi selv: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "ADVARSEL: Mappen for sikkerhetskopi er IKKE skrivbar. Vi kan ikke lage sikkerhetskopifilene." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Ved hejlp av en FTP applikasjon, pørv Ã¥ sette rettighetene til mappen til %1$s eller %2$s:%3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Dette problemet ser ut til Ã¥ være relatert til serverens safe_mode rettighets restriksjoner. Dette legger begrensninger pÃ¥ hvilke filer WEB applikasjoner som WordPress kan lage." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Du kan prøve Ã¥ rette pÃ¥ den feilen ved Ã¥ bruke en FTP applikasjon for Ã¥ slette og sÃ¥ lage mappen for sikkerhetskopi pÃ¥ nytt: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Tabeller" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "De viktigste WordPress tabellen vil alltid bli sikkerhetskopiert:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Utelat søppel kommentarer" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Utelat post revisjoner" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "Du kan velge Ã¥ inkludere følgende tabeller:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Sikkerhetskopi instillinger" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Hva skal vi gjøre med sikkerhetskopien:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Lagre pÃ¥ serveren" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Laste ned til datamaskinen" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Sende pÃ¥ epost til:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "Ta sikkerhetskopi nÃ¥!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "ADVARSEL: Mappen for sikkerhetskopiering er ikke skrivbar!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Planlagt sikkerhetskopi" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Neste sikkerhetskopi: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Siste WP-Cron daglig kjøring: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Neste WP-Cron daglig kjøring: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Planlagt:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Ingen" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Daglig" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Tabeller som skal med i den planlagte sikkerhetskopien:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Planlagte sikkerhetskopier" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Aldri" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s sekunder" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Ukentlig" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Din WordPress versjon %1s, har alvorlige sikkerhetsfeil, noe som gjør bruken av WP-DB-Backup innstikket usikkert. PÃ¥ grunn av dette er innstikket automatisk deaktivert. Du bør virkelig vurdere Ã¥ oppgrader WordPress til en nyere versjon!" + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "Du har ikke lov Ã¥ ta sikkerhetskopi," + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Det virker som om det har vært et uatorisert forsøk pÃ¥ Ã¥ nÃ¥ databasen din som er lokalisert her %1s. Forsøket ble stoppet." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Jukser du?" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-pt_BR.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-pt_BR.mo new file mode 100644 index 0000000..fd26621 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-pt_BR.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-pt_BR.po b/wp-content/plugins/wp-db-backup/wp-db-backup-pt_BR.po new file mode 100644 index 0000000..53f1f91 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-pt_BR.po @@ -0,0 +1,397 @@ +# Copyright (C) 2007 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: 2.2.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2009-12-15 08:44-0300\n" +"Last-Translator: Anderson Silva \n" +"Language-Team: Anderson Silva (candiba) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Backup Completo!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Andamento" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "NÃO FAÇA NADA DESCRITO ABAIXO SE NÃO O BACKUP NÃO SERà COMPLETADO:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Fechar este navegador" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Recarreguar esta página" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Clicar nos botões Parar ou Voltar do seu navegador" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Andamento:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Sair desta página pode causar erro no backup." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Backup completo, preparando backup para download..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Backup completo, enviando backup via email..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Backup completo, baixe aqui." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Criando arquivo de backup..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Backup da tabela \\\"%s\\\" finalizada." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Copiando a tabela \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "Não foi possível abrir o arquivo de backup para escrita!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "O arquivo de backup não pôde ser salvo. Por favor, verifique as permissões de escrita no seu diretório de backup e tente novamente." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "Backup da base de dados MySQL do WordPress" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "Gerado: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Nome da máquina: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Base de dados: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Tabela: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "O diretório de backup não pode ser escrito! Por favor, verifique as permissões de escrita no seu diretório de backup e tente novamente." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Clique e pressione [SHIFT] para múltiplas seleções" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Alterar" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Salvar" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Backup" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "Isto é um erro ao escrever uma linha no script de backup:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Erros subsequentes foram omitidos deste log." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Erro obtendo detalhes da tabela" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "Apagando todas as tabelas existentes %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Estrutura da tabela %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Erro com SHOW CREATE TABLE para %s." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Erro obtendo estrutura da tabela %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "Conteúdo da tabela %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Fim do conteúdo da tabela %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "O diretório de backup não pode ser escrito!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Arquivo não encontrado: %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Voltando para um backup." + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "Arquivo %s não existe!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"O anexo nesse email é\n" +" %1s\n" +" Tamanho:%2s kilobytes\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Backup da base de dados" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "Os seguintes erros foram reportados:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ERRO: O email da aplicação falhou ao enviar a backup." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Backup realizado com sucesso" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Seu arquivo de backup: %2s logo iniciará o download." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Seu arquivo de backup foi enviado para o email %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Seu arquivo de backup foi gravado no servidor. Se você quiser baixá-lo agora, clique com o botão direito do mouse e selecione \"Salvar Como\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bytes" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Opções de agendamento de backup salvas!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "AVISO: Seu diretório de backup NÂO existe, e nós não podemos criá-lo." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Usando seu cliente FTP, tente criar seu diretorio de backup: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "AVISO: Seu diretório de backup NÂO pode ser escrito! Nós não podemos o backup." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Usando seu cliente FTP, tente fixar o diretorio de backup’s com permissões de escrita para %1$s ou %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Este problema pode ser causado pelo seu servidor’s safe_mode restrição na propriedade do arquivo, limitar aplicações web como WordPress." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Você pode corrigir este problema usando seu cliente FTP para deletar e re-criar o diretório de backup: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Tabelas" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "As principais tabelas do WordPress sempre serão suportadas:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Excluir comentários spam" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Excluir revisões de post" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "Você pode escolher incluir qualquer uma das seguintes tabelas:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Opções de backup" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "O que fazer com o arquivo de backup:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Salvar no servidor" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Baixar para seu computador" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Enviar para o email:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "Criar backup agora!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "AVISO: Seu diretório de backup NÃO pode ser escrito!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Backup Agendado" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Próximo Backup: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Última Execução Diária do WP-Cron: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Próxima Execução Diária do WP-Cron: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Agenda: " + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Nenhum" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Diariamente" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Tabelas para incluir no backup agendado:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Agendar backup" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Nunca" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s segundos" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Uma vez por Semana" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Em sua versão do WordPress, %1s, faltam importantes atualizações de segurança, sem as quais é inseguro utilizar o plugin WP-DB-Backup. A partir daqui, este plugin é desabilitado automaticamente. Por favor, considere atualizar seu WordPress para uma versão mais recente." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "Você não tem permissão para realizar backups." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Está parecendo uma tentativa não autorizada de conseguir acesso a partir deste site ao seu banco de dados localizado em %1s. A tentativa foi encerrada." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Trapaçeando?? hm !?" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ru_RU.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-ru_RU.mo new file mode 100644 index 0000000..c90ccba Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-ru_RU.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-ru_RU.po b/wp-content/plugins/wp-db-backup/wp-db-backup-ru_RU.po new file mode 100644 index 0000000..d9d277a --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-ru_RU.po @@ -0,0 +1,419 @@ +msgid "" +msgstr "" +"Project-Id-Version: WordPress Database Backup 2.2.2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-07-02 02:16+0300\n" +"PO-Revision-Date: 2010-07-02 02:18+0300\n" +"Last-Translator: Sergey Biryukov \n" +"Language-Team: ru.wordpress.org \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)) ? 1 : 2);\n" +"X-Poedit-Language: Russian\n" +"X-Poedit-Country: RUSSIAN FEDERATION\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: __;_e;__ngettext:1,2\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: .\n" + +#: wp-db-backup.php:189 +msgid "Backup Complete!" +msgstr "Резервное копирование завершено!" + +#: wp-db-backup.php:224 +msgid "http://codex.wordpress.org/WordPress_Backups" +msgstr "http://codex.wordpress.org/WordPress_Backups" + +#: wp-db-backup.php:225 +#, php-format +msgid "Click here to back up your database using the WordPress Database Backup plugin. Note: WordPress Database Backup does not back up your files, just your database." +msgstr "Ðажмите Ñюда, чтобы Ñоздать резервную копию базы данных Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ плагина WordPress Database Backup. Замечание: WordPress Database Backup не копирует файлы, только базу данных." + +#: wp-db-backup.php:234 +msgid "Progress" +msgstr "СоÑтоÑние" + +#: wp-db-backup.php:236 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "ÐЕ ДЕЛÐЙТЕ ЭТОГО, ИÐÐЧЕ РЕЗЕРВÐÐЯ КОПИЯ БУДЕТ ПОВРЕЖДЕÐÐ:" + +#: wp-db-backup.php:239 +msgid "Close this browser" +msgstr "Ðе закрывайте браузер" + +#: wp-db-backup.php:240 +msgid "Reload this page" +msgstr "Ðе обновлÑйте Ñтраницу" + +#: wp-db-backup.php:241 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Ðе нажимайте кнопки «Ð¡Ñ‚оп» или «Ðазад» в браузере" + +#: wp-db-backup.php:243 +msgid "Progress:" +msgstr "Ð’ процеÑÑе:" + +#: wp-db-backup.php:252 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Уход Ñ Ñтой Ñтраницы приведёт к повреждению архива." + +#: wp-db-backup.php:289 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Копирование завершено, подготовка архива к закачке…" + +#: wp-db-backup.php:296 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Копирование завершено, отправка архива на e-mail…" + +#: wp-db-backup.php:303 +#, php-format +msgid "Backup complete, download here." +msgstr "Копирование завершено, Ñкачать архив можно здеÑÑŒ." + +#: wp-db-backup.php:363 +msgid "Creating backup file..." +msgstr "Создание архива…" + +#: wp-db-backup.php:366 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Завершено копирование таблицы %s." + +#: wp-db-backup.php:368 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Сохранение таблицы %s…" + +#: wp-db-backup.php:375 +#: wp-db-backup.php:876 +msgid "Could not open the backup file for writing!" +msgstr "Ðе удалоÑÑŒ открыть файл архива Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи!" + +#: wp-db-backup.php:376 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Ðе удалоÑÑŒ Ñохранить файл архива. ПожалуйÑта, проверьте права на запиÑÑŒ в резервную директорию и попробуйте еще раз." + +#: wp-db-backup.php:381 +#: wp-db-backup.php:885 +msgid "WordPress MySQL database backup" +msgstr "Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных WordPress" + +#: wp-db-backup.php:383 +#: wp-db-backup.php:887 +#, php-format +msgid "Generated: %s" +msgstr "Дата: %s" + +#: wp-db-backup.php:384 +#: wp-db-backup.php:888 +#, php-format +msgid "Hostname: %s" +msgstr "Сервер: %s" + +#: wp-db-backup.php:385 +#: wp-db-backup.php:889 +#, php-format +msgid "Database: %s" +msgstr "БД: %s" + +#: wp-db-backup.php:393 +#: wp-db-backup.php:902 +#, php-format +msgid "Table: %s" +msgstr "Таблица: %s" + +#: wp-db-backup.php:400 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи! ПожалуйÑта, проверьте права на запиÑÑŒ в Ñту директорию и попробуйте еще раз." + +#: wp-db-backup.php:457 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Ðажмите и удерживайте [SHIFT], чтобы переключить Ñразу неÑколько значений" + +#: wp-db-backup.php:497 +msgid "Change" +msgstr "Изменить" + +#: wp-db-backup.php:506 +msgid "Save" +msgstr "Сохранить" + +#: wp-db-backup.php:593 +#: wp-db-backup.php:602 +#: wp-db-backup.php:1168 +msgid "Backup" +msgstr "Резервное копирование" + +#: wp-db-backup.php:611 +msgid "FAQ" +msgstr "FAQ" + +#: wp-db-backup.php:612 +msgid "WP-DB-Backup Support Forum" +msgstr "Форум поддержки WP-DB-Backup" + +#: wp-db-backup.php:687 +#: wp-db-backup.php:690 +msgid "There was an error writing a line to the backup script:" +msgstr "Произошла ошибка при добавлении Ñтроки в Ñкрипт резервной копии:" + +#: wp-db-backup.php:722 +msgid "Subsequent errors have been omitted from this log." +msgstr "ПоÑледующие ошибки не приведены в Ñтом отчёте." + +#: wp-db-backup.php:756 +msgid "Error getting table details" +msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о таблице" + +#: wp-db-backup.php:764 +#, php-format +msgid "Delete any existing table %s" +msgstr "Удаление ÑущеÑтвующей таблицы %s" + +#: wp-db-backup.php:773 +#, php-format +msgid "Table structure of table %s" +msgstr "Структура таблицы %s" + +#: wp-db-backup.php:779 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Ошибка в запроÑе SHOW CREATE TABLE Ð´Ð»Ñ %s." + +#: wp-db-backup.php:786 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Ошибка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñтруктуры таблицы %s" + +#: wp-db-backup.php:794 +#, php-format +msgid "Data contents of table %s" +msgstr "Содержимое таблицы %s" + +#: wp-db-backup.php:864 +#, php-format +msgid "End of data contents of table %s" +msgstr "Конец Ñодержимого таблицы %s" + +#: wp-db-backup.php:880 +msgid "The backup directory is not writeable!" +msgstr "Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи!" + +#: wp-db-backup.php:1016 +#, php-format +msgid "File not found:%s" +msgstr "Файл не найден:%s" + +#: wp-db-backup.php:1016 +msgid "Return to Backup" +msgstr "ВернутьÑÑ Ðº резервному копированию" + +#: wp-db-backup.php:1025 +#, php-format +msgid "File %s does not exist!" +msgstr "Файл %s не ÑущеÑтвует!" + +#: wp-db-backup.php:1032 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Приложение: \n" +" %1s\n" +" Размер:%2s КБ\n" + +#: wp-db-backup.php:1033 +msgid "Database Backup" +msgstr "Ðрхив базы данных" + +#: wp-db-backup.php:1036 +#: wp-db-backup.php:1083 +msgid "The following errors were reported:" +msgstr "Обнаружены Ñледующие ошибки:" + +#: wp-db-backup.php:1041 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "ОШИБКÐ: Почтовое приложение не может отправить архив." + +#: wp-db-backup.php:1058 +msgid "Backup Successful" +msgstr "Резервное копирование уÑпешно завершено" + +#: wp-db-backup.php:1062 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Ðрхив: %2s. ДождитеÑÑŒ начала закачки." + +#: wp-db-backup.php:1070 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Ðрхив отправлен по адреÑу %s" + +#: wp-db-backup.php:1073 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Ðрхив Ñохранён на Ñервере. ЕÑли вы хотите Ñкачать его, щелкните правой кнопкой и выберите «Ð¡Ð¾Ñ…ранить как»" + +#: wp-db-backup.php:1074 +#, php-format +msgid "%s bytes" +msgstr "%s байт" + +#: wp-db-backup.php:1110 +msgid "Scheduled Backup Options Saved!" +msgstr "ÐаÑтройки резервного ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ раÑпиÑанию Ñохранены!" + +#: wp-db-backup.php:1137 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "Ð’ÐИМÐÐИЕ: Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ ÐЕ ÑущеÑтвует, и нам не удалоÑÑŒ её Ñоздать." + +#: wp-db-backup.php:1138 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Попробуйте Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ FTP-клиента Ñоздать резервную директорию ÑамоÑтоÑтельно: %s" + +#: wp-db-backup.php:1142 +#: wp-db-backup.php:1153 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "Ð’ÐИМÐÐИЕ: Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ ÐЕДОСТУПÐÐ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи! Ðе удалоÑÑŒ Ñоздать архив." + +#: wp-db-backup.php:1143 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Попробуйте Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ FTP-клиента уÑтановить Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð¹ директории права на запиÑÑŒ %1$s или %2$s: %3$s" + +#: wp-db-backup.php:1155 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Проблема, Ñкорее вÑего, вызвана ограничениÑми safe_mode на вашем Ñервере, которые определÑÑŽÑ‚, какие файлы могут ÑоздаватьÑÑ Ð²ÐµÐ±-приложениÑми вроде WordPress." + +#: wp-db-backup.php:1157 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Ð’Ñ‹ можете иÑправить Ñту проблему Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ FTP-клиента, удалив и заново Ñоздав резервную директорию: %s" + +#: wp-db-backup.php:1171 +msgid "Tables" +msgstr "Таблицы" + +#: wp-db-backup.php:1173 +msgid "These core WordPress tables will always be backed up:" +msgstr "ОÑновные таблицы WordPress ÑохранÑÑŽÑ‚ÑÑ Ð²Ñегда:" + +#: wp-db-backup.php:1178 +msgid "Exclude spam comments" +msgstr "ИÑключить Ñпам-комментарии" + +#: wp-db-backup.php:1181 +msgid "Exclude post revisions" +msgstr "ИÑключить редакции запиÑей" + +#: wp-db-backup.php:1192 +msgid "You may choose to include any of the following tables:" +msgstr "Можно также Ñохранить любые из Ñтих таблиц:" + +#: wp-db-backup.php:1206 +msgid "Backup Options" +msgstr "ÐаÑтройки резервного копированиÑ" + +#: wp-db-backup.php:1207 +msgid "What to do with the backup file:" +msgstr "Что Ñделать Ñ Ð°Ñ€Ñ…Ð¸Ð²Ð¾Ð¼:" + +#: wp-db-backup.php:1211 +msgid "Save to server" +msgstr "Сохранить на Ñервер" + +#: wp-db-backup.php:1216 +msgid "Download to your computer" +msgstr "Скачать на компьютер" + +#: wp-db-backup.php:1220 +#: wp-db-backup.php:1278 +msgid "Email backup to:" +msgstr "Отправить на e-mail:" + +#: wp-db-backup.php:1227 +msgid "Backup now!" +msgstr "Создать архив!" + +#: wp-db-backup.php:1230 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "Ð’ÐИМÐÐИЕ: Ð ÐµÐ·ÐµÑ€Ð²Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ ÐЕДОСТУПÐÐ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи!" + +#: wp-db-backup.php:1241 +msgid "Scheduled Backup" +msgstr "РаÑпиÑание резервного копированиÑ" + +#: wp-db-backup.php:1248 +#, php-format +msgid "Next Backup: %s" +msgstr "Следующий запуÑк: %s" + +#: wp-db-backup.php:1253 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Предыдущий ежедневный запуÑк WP-Cron: %s" + +#: wp-db-backup.php:1254 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Следующий ежедневный запуÑк WP-Cron: %s" + +#: wp-db-backup.php:1259 +msgid "Schedule: " +msgstr "РаÑпиÑание:" + +#: wp-db-backup.php:1263 +msgid "None" +msgstr "Ðет" + +#: wp-db-backup.php:1263 +msgid "Daily" +msgstr "Ежедневно" + +#: wp-db-backup.php:1280 +msgid "Schedule backup" +msgstr "Запомнить раÑпиÑание" + +#: wp-db-backup.php:1288 +msgid "Tables to include in the scheduled backup:" +msgstr "Включить в архив по раÑпиÑанию Ñледующие таблицы:" + +#: wp-db-backup.php:1323 +msgid "Never" +msgstr "Ðикогда" + +#: wp-db-backup.php:1328 +#, php-format +msgid "%s seconds" +msgstr "%s Ñекунд" + +#: wp-db-backup.php:1361 +msgid "Once Weekly" +msgstr "Раз в неделю" + +#: wp-db-backup.php:1374 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Ð’ вашей верÑии WordPress (%1s) отÑутÑтвуют критичеÑкие иÑправлениÑ, без которых иÑпользовать плагин WP-DB-Backup небезопаÑно. По Ñтой причине плагин был автоматичеÑки отключён. ПожалуйÑта, обновите WordPress до поÑледней верÑии." + +#: wp-db-backup.php:1392 +msgid "You are not allowed to perform backups." +msgstr "Вам не разрешено делать резервные копии." + +#: wp-db-backup.php:1407 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Похоже, Ñ Ñтого Ñайта была произведена неÑÐ°Ð½ÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° доÑтупа к БД, раÑположенной на %1s. Попытка предотвращена." + +#: wp-db-backup.php:1418 +msgid "Cheatin' uh ?" +msgstr "ИграемÑÑ, что ли?" + +¿Ð¸Ð¸." + +#: \ No newline at end of file diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-sv_SE.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-sv_SE.mo new file mode 100644 index 0000000..491a69a Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-sv_SE.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-sv_SE.po b/wp-content/plugins/wp-db-backup/wp-db-backup-sv_SE.po new file mode 100644 index 0000000..29b37ed --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-sv_SE.po @@ -0,0 +1,396 @@ +# WP-DB-Backup +# Copyright (C) 2008 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup 2.1.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2010-01-10 14:44+0100\n" +"Last-Translator: Kristian Pettersson \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: \n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Säkerhetskopiering klar!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Framsteg" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "GÖR INGET AV FÖLJANDE EFTERSOM ATT SÄKERHETSKOPIERINGEN DÃ… KOMMER ATT MISSLYCKAS:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Stänga ner den här webbläsaren" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Uppdatera denna sidan" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Klicka pÃ¥ \"Stopp\" eller \"Tillbaka\" knapparna i din webbläsare" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Framsteg:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Om du lämnar denna sida kommer din backup att misslyckas." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Säkerhetskopiering färdig, förbereder säkerhetskopia för nerladdning..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Säkerhetskopiering färdig, skicka säkerhetskopia via e-post..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Säkerhetskopia färdig, ladda ner här" + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Skapar säkerhetskopia..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "Färdig med säkerhetskopia av tabell \\\"%s\\\"." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "Säkerhetskopierar tabell \\\"%s\\\"..." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "Kunde ej skriva till filen med säkerhetskopian!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Säkerhetskopian kunde inte sparas. Vänligen kontrollera rättigheterna för att skriva till katalogen med dina säkerhetskopior och försök igen." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "Wordpress MySQL databas säkerhetskopiering." + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "Skapad: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Värdnamn: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Databas: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Tabell: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Det gÃ¥r inte att skriva till katalogen för säkerhetskopior! Vänligen kontrollera rättigheterna och försök igen." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "Klicka och hÃ¥ll ner [SHIFT] för att markera/avmarkera flera kryssrutor" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "Ändra" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Spara" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Säkerhetskopiera" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "Ett fel inträffade när en rad skulle skrivas till scriptet för säkerhetskopiering:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Senare fel har utelämnats frÃ¥n denna logg." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Ett fel inträffade när detaljer för tabeller skulle hämtas" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "Ta bort alla befintliga tebeller %s" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "Tabellstruktur för tabellen %s" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "Fel uppstod med SHOW CREATE TABLE för %s." + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "Fel, vid begäran av tabellstruktur för %s" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "InnehÃ¥ll/data i tabellen %s" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "Slut pÃ¥ datainnehÃ¥ll för tabell %s" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "Katalogen för säkerhetskopior är ej skrivbar!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Fil %s kunde inte hittas" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Ã…tervänd till Säkerhetskopiering" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "Fil %s existerar inte!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Bifogat till detta e-postmeddelande:\n" +" %1s\n" +" Storlek:%2s Kilobyte\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Databas Säkerhetskopiering" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "Följande fel rapporterades:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "FEL: E-post applikationen misslyckades med att leverera säkerhetskopian." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Säkerhetskopieringen lyckades" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Din säkerhetskopia: %2s; kommer att laddas ner inom kort." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Din säkerhetskopia har e-postats till %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Din säkerhetskopia har sparats pÃ¥ servern. Om du vill ladda ner den nu, högerklicka och välj \"Spara som\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s byte" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Inställningar för schemalagd säkerhetskopiering har sparats!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "VARNING: Katalogen för säkerhetskopior existerar INTE, och vi kan inte skapa den." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Försök att skapa katalogen %s med hjälp av din ftp-klient." + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "VARNING: Katalogen för säkerhetskopior gÃ¥r INTE att skriva till! Vi kan inte skapa säkerhetskopiorna." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "Använd din FPT klient och försök att andra rättigheterna pÃ¥ katalogen för säkerhetskopior till %1$s eller %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Det här problemet ser ut att vara orsakat av din server safe_mode fil-ägare rättigheter, som ger en gräns pÃ¥ vad web applikationer som WordPress kan skapa." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "Du kan försöka rätta till problemet genom att använda din FTP klient för att ta bort och Ã¥terskapa katalogen för säkerhetskopior: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Tabeller" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "Dessa centrala WordPress-tabeller kommer alltid att säkerhetskopieras:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Uteslut spam kommentarer" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Uteslut post revideringar" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "Du kan välja att inkludera följande tabeller:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Inställningar för Säkerhetskopiering" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Vad ska göras med säkerhetskopian?" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Spara till server" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Ladda ner till din dator" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "E-posta säkerhetskopian till:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "Säkerhetskopiera nu!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "VARNING: Katalogen för säkerhetskopior gÃ¥r INTE att skriva till!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Schemalagd Säkerhetskopiering" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Nästa säkerhetskopiering: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "Senast utförda dagliga WP-Cron: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Nästa dagliga WP-Cron utförande: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Schema:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Inget" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Daglig" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Tabeller att inkludera i den schemalagda säkerhetskopieringen:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Schemalagd säkerhetskopiering" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Aldrig" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s sekunder" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "En gÃ¥ng per vecka" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "Din WordPress version (%1s) saknar viktiga säkerhets funktioner vilket gör att det ej är säkert att använda WP-DB-Backup plugin. Därför är denna plugin automatiskt inaktiverad. Vänligen överväg att uppgradera WordPress till en nyare version." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "Du saknar rättigheter för att utföra säkerhetskopiering." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "Det verkar som att ett obehörigt försök att nÃ¥ din databas frÃ¥n denna webbplats har uppkommit härifrÃ¥n: (%1s) Försöket har stoppats." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Fuskar du?!" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-tr_TR.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-tr_TR.mo new file mode 100644 index 0000000..5e5b9ba Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-tr_TR.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-tr_TR.po b/wp-content/plugins/wp-db-backup/wp-db-backup-tr_TR.po new file mode 100644 index 0000000..0352db9 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-tr_TR.po @@ -0,0 +1,399 @@ +# WP-DB-Backup +# Copyright (C) 2008 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: WP-DB Backup 2.1.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-15 11:00-0500\n" +"PO-Revision-Date: 2008-08-16 03:28+0200\n" +"Last-Translator: Ä°zzet Emre Erkan \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language-Team: Ä°zzet Emre Erkan \n" +"X-Poedit-Language: Turkish\n" +"X-Poedit-Country: TURKEY\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "Yedekleme tamamlandı!" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "Ä°lerleme" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "YEDEKLEME Ä°ÅžLEMÄ°NÄ° BOZACAÄžINDAN DOLAYI AÅžAÄžIDAKÄ°LERÄ° YAPMAYIN:" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "Tarayıcıyı kapatmak" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "Bu sayfayı yenilemek" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "Tarayıcınızdaki Dur ya da Geri tuÅŸlarından birine basmak" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "Ä°lerleme:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "Bu sayfadan baÅŸka bir sayfaya geçmeniz yedekleme iÅŸleminin baÅŸarısız olmasına yol açacaktır." + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "Yedekleme tamamlandı, yedek dosyası indirilmek için hazırlanıyor..." + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "Yedekleme tamamlandı, yedek dosyası e-posta ile gönderiliyor..." + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "Yedekleme tamamlandı, buradan indirin." + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "Yedek dosyası yaratılıyor..." + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "\\\"%s\\\" tablosunun yedekleme iÅŸlemi bitti." + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "\\\"%s\\\" tablosunun yedeÄŸi alınıyor." + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "Yedekleme dosyası yazmak için açılamıyor!" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "Yedek dosyası kaydedilemedi. Yedekleme klasörünün yazma haklarını kontrol edin ve iÅŸlemi tekrar deneyin." + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "WordPress MySQL veritabanı yedeklemesi" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "OluÅŸturulma: %s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "Sunucu: %s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "Veritabanı: %s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "Tablo: %s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "Yedekleme dizini yazılabilir deÄŸil! Yedekleme klasörünün yazma haklarını kontrol edin ve iÅŸlemi tekrar deneyin." + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "[SHIFT] tuÅŸuba basılı tutarak birden çok kutu iÅŸaretleyebilirsiniz" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "DeÄŸiÅŸtir" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "Kaydet" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "Yedekle" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "Yedekleme betiÄŸine bir satır yazarken hata oluÅŸtu:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "Sonraki hatalar kütük dosyasından çıkarıldı." + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "Tablo detaylarını alırken problem oluÅŸtu" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "%s tablosu var ise sil" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr "%s tablosu için tablo yapısı" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "%s tablosu için SHOW CREATE TABLE komutunda hata oluÅŸtu" + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "%s tablosunun yapısı edinilirken hata oluÅŸtu" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr "%s tablosu için veri" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr "%s tablosu verilerinin sonu" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "Yedekleme dizini yazılabilir deÄŸil!" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "Dosya bulunamadı. %s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "Yedeklemeye dön" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "%s dosyası mevcut deÄŸil!" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"Bu e-postaya eklenen dosya\n" +" %1s\n" +" Boyut:%2s kilobayt\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "Veritabanı Yedekleme" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "AÅŸağıdaki hatalar raporlandı:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "HATA: mail uygulaması yedek dosyasının ulaÅŸtırılmasında baÅŸarısız oldu." + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "Yedekleme baÅŸarılı" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "Yedek dosyanız: %2s kısa zamanda indirilmeye baÅŸlayacaktır." + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "Yedek dosyanız %s adresine e-posta ile gönderildi" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "Yedek dosyanız sunucu üzerinde kaydedildi. Åžu an dosyayı indirmek isterseniz saÄŸ tuÅŸla tıklayın ve \"Farklı Kaydet\" seçeneÄŸini seçin" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s bayt" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "Programlanmış yedek seçenekleri kaydedildi!" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "UYARI: Yedekleme dizininiz MEVCUT DEĞİL ve biz de bu dizini yaratamıyoruz." + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "Bir FTP istemcisi kullanarak bu dizini kendiniz yaratmayı deneyin: %s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "UYARI: yedekleme dizininiz yazılabilir DEĞİL. Yedek dosyalarını yaratamıyoruz." + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "FTP istemcinizi kullanarak yedekleme dizininin yazma yetkilerini ÅŸu ÅŸekilde deÄŸiÅŸtirin %1$s ya da %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "Bu problem sunucunuzun safe_mode (güvenli kip) dosya sahipliÄŸi engellemelerinden -ki bu engelleme WordPress gibi uygulamaların yaratabileceÄŸi dosyaları sınırlandırır- dolayı oluÅŸmuÅŸ gözüküyor." + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "FTP istemciniz ile baÄŸlanıp yedekleme dizinini silip tekrar oluÅŸturarak bu problemi giderebilirsiniz: %s" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "Tablolar" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "Bu kök WordPress tabloları her zaman yedeklenecektir:" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "Ä°stenmeyen yorumları hariç tut" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "Yazı sürümlerini hariç tut" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "AÅŸağıdaki tabloları eklemek isteyebilirsiniz:" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "Yedekleme seçenekleri" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "Yedek dosyası ile ne yapılacak:" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "Sunucuya kaydedin" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "Bilgisayarınıza indirin" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "Åžu adrese e-posta ile gönderin:" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "Åžimdi yedekle!" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "UYARI: Yedekleme dizininiz yazılabilir DEĞİL!" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "Programlanmış yedek" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "Sonraki yedekleme: %s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "En son günlük WP-Cron çalışma zamanı: %s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "Bir sonraki günlük WP-Cron çalışma zamanı: %s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "Programla:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "Hiçbiri" + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "Günlük" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "Programlanmış yedeklemeye dahil edilecek tablolar:" + +#: wp-db-backup.php:1253 +msgid "Schedule backup" +msgstr "Yedekleme programla" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "Hiç" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s saniye" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "Haftada bir" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "WordPress sürümünüz, %1s, WP-DB-Backup eklentisinin çalışabilmesi için gerekli olan güvenlik özelliklerini barındırmıyor. Dolayısıyla eklenti otomatik olarak etkisizleÅŸtirildi. Lütfen WordPress kurulumunuzu daha güncel bir sürüme yükseltmeyi düşünün." + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "Yedekleme için yetkili deÄŸilsiniz." + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "%1s konumunda bulunan veritabanınıza yetkisiz eriÅŸim denemesi gerçekleÅŸmiÅŸ. Ä°lgili deneme engellendi." + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "Hile mi yapıyorsun?" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-zh_CN.mo b/wp-content/plugins/wp-db-backup/wp-db-backup-zh_CN.mo new file mode 100644 index 0000000..3678d24 Binary files /dev/null and b/wp-content/plugins/wp-db-backup/wp-db-backup-zh_CN.mo differ diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup-zh_CN.po b/wp-content/plugins/wp-db-backup/wp-db-backup-zh_CN.po new file mode 100644 index 0000000..75f4c3f --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup-zh_CN.po @@ -0,0 +1,397 @@ +msgid "" +msgstr "" +"Project-Id-Version: wp-db-backup 2.1.7\n" +"POT-Creation-Date: \n" +"PO-Revision-Date: 2008-08-17 00:50+0800\n" +"Last-Translator: paopao \n" +"Language-Team: WordPress 中文团队 - paopao (site: www.paopao.name, mail:wuxipaopao@gmail.com) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: _e;__\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-Language: Chinese\n" +"X-Poedit-Country: CHINA\n" +"X-Poedit-SearchPath-0: .\n" + +#: wp-db-backup.php:181 +msgid "Backup Complete!" +msgstr "备份æˆåŠŸï¼" + +#: wp-db-backup.php:211 +msgid "Progress" +msgstr "备份中" + +#: wp-db-backup.php:213 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "请ä¸è¦è¿›è¡Œä»¥ä¸‹æ“作,å¦åˆ™ä¼šå¯¼è‡´å¤‡ä»½å¤±è´¥ï¼š" + +#: wp-db-backup.php:216 +msgid "Close this browser" +msgstr "关闭这个页é¢" + +#: wp-db-backup.php:217 +msgid "Reload this page" +msgstr "刷新这个页é¢" + +#: wp-db-backup.php:218 +msgid "Click the Stop or Back buttons in your browser" +msgstr "点击æµè§ˆå™¨çš„åœæ­¢æˆ–者åŽé€€æŒ‰é’®" + +#: wp-db-backup.php:220 +msgid "Progress:" +msgstr "备份进度:" + +#: wp-db-backup.php:229 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "关闭本页é¢ä¼šå¯¼è‡´æ•°æ®åº“备份失败。" + +#: wp-db-backup.php:266 +#, php-format +msgid "Backup complete, preparing backup for download..." +msgstr "备份æˆåŠŸï¼Œæ­£åœ¨å‡†å¤‡å¤‡ä»½æ–‡ä»¶ä»¥ä¾›ä¸‹è½½â€¦â€¦" + +#: wp-db-backup.php:273 +#, php-format +msgid "Backup complete, sending backup via email..." +msgstr "备份æˆåŠŸï¼Œæ­£åœ¨é€šè¿‡ç”µå­é‚®ä»¶å‘é€å¤‡ä»½æ–‡ä»¶â€¦â€¦" + +#: wp-db-backup.php:280 +#, php-format +msgid "Backup complete, download here." +msgstr "备份æˆåŠŸï¼Œåœ¨æ­¤å¤„下载。" + +#: wp-db-backup.php:340 +msgid "Creating backup file..." +msgstr "创建备份文件……" + +#: wp-db-backup.php:343 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "æ•°æ®è¡¨\\\"%s\\\"备份完æˆã€‚" + +#: wp-db-backup.php:345 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "正在备份数æ®è¡¨\\\"%s\\\"……" + +#: wp-db-backup.php:352 +#: wp-db-backup.php:835 +msgid "Could not open the backup file for writing!" +msgstr "无法以写方å¼æ‰“开备份文件ï¼" + +#: wp-db-backup.php:353 +msgid "The backup file could not be saved. Please check the permissions for writing to your backup directory and try again." +msgstr "无法ä¿å­˜å¤‡ä»½æ–‡ä»¶ã€‚请检查你的备份文件夹的写æƒé™è®¾ç½®å¹¶é‡è¯•ã€‚" + +#: wp-db-backup.php:358 +#: wp-db-backup.php:844 +msgid "WordPress MySQL database backup" +msgstr "WordPress MySQL æ•°æ®åº“备份" + +#: wp-db-backup.php:360 +#: wp-db-backup.php:846 +#, php-format +msgid "Generated: %s" +msgstr "创建于:%s" + +#: wp-db-backup.php:361 +#: wp-db-backup.php:847 +#, php-format +msgid "Hostname: %s" +msgstr "主机å:%s" + +#: wp-db-backup.php:362 +#: wp-db-backup.php:848 +#, php-format +msgid "Database: %s" +msgstr "æ•°æ®åº“:%s" + +#: wp-db-backup.php:370 +#: wp-db-backup.php:861 +#, php-format +msgid "Table: %s" +msgstr "æ•°æ®è¡¨ï¼š%s" + +#: wp-db-backup.php:377 +msgid "The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again." +msgstr "备份文件夹无法写入ï¼è¯·æ£€æŸ¥ä½ çš„备份文件夹的写æƒé™è®¾ç½®å¹¶é‡è¯•ã€‚" + +#: wp-db-backup.php:434 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "æŒ‰ä½ [SHIFT] çš„åŒæ—¶ç‚¹å‡»å¯ä»¥é€‰ä¸­å¤šä¸ªå¤é€‰æ¡†" + +#: wp-db-backup.php:474 +msgid "Change" +msgstr "更改" + +#: wp-db-backup.php:483 +msgid "Save" +msgstr "ä¿å­˜" + +#: wp-db-backup.php:566 +#: wp-db-backup.php:571 +#: wp-db-backup.php:1126 +msgid "Backup" +msgstr "备份" + +#: wp-db-backup.php:646 +#: wp-db-backup.php:649 +msgid "There was an error writing a line to the backup script:" +msgstr "在å‘备份脚本写入一行时å‘生错误:" + +#: wp-db-backup.php:681 +msgid "Subsequent errors have been omitted from this log." +msgstr "之åŽçš„错误已ç»è¢«çœç•¥ã€‚" + +#: wp-db-backup.php:715 +msgid "Error getting table details" +msgstr "无法获å–æ•°æ®è¡¨çš„详细信æ¯" + +#: wp-db-backup.php:723 +#, php-format +msgid "Delete any existing table %s" +msgstr "删除任何存在的 %s æ•°æ®è¡¨" + +#: wp-db-backup.php:732 +#, php-format +msgid "Table structure of table %s" +msgstr " %s æ•°æ®è¡¨çš„结构" + +#: wp-db-backup.php:738 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "无法显示创建的 %s æ•°æ®è¡¨" + +#: wp-db-backup.php:745 +#, php-format +msgid "Error getting table structure of %s" +msgstr "æ— æ³•èŽ·å– %s çš„æ•°æ®è¡¨ç»“æž„" + +#: wp-db-backup.php:753 +#, php-format +msgid "Data contents of table %s" +msgstr " %s æ•°æ®è¡¨çš„内容" + +#: wp-db-backup.php:823 +#, php-format +msgid "End of data contents of table %s" +msgstr " %s æ•°æ®è¡¨çš„内容结æŸ" + +#: wp-db-backup.php:839 +msgid "The backup directory is not writeable!" +msgstr "无法写入备份文件夹ï¼" + +#: wp-db-backup.php:974 +#, php-format +msgid "File not found:%s" +msgstr "无法找到文件:%s" + +#: wp-db-backup.php:974 +msgid "Return to Backup" +msgstr "返回备份页é¢" + +#: wp-db-backup.php:983 +#, php-format +msgid "File %s does not exist!" +msgstr "文件 %s ä¸å­˜åœ¨ï¼" + +#: wp-db-backup.php:990 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" +"该电å­é‚®ä»¶çš„附件\n" +" %1s\n" +" 大å°ï¼š%2s KB\n" + +#: wp-db-backup.php:991 +msgid "Database Backup" +msgstr "æ•°æ®åº“备份" + +#: wp-db-backup.php:994 +#: wp-db-backup.php:1041 +msgid "The following errors were reported:" +msgstr "å‘现以下错误:" + +#: wp-db-backup.php:999 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "错误:通过电å­é‚®ä»¶å‘é€å¤‡ä»½æ–‡ä»¶å¤±è´¥ã€‚" + +#: wp-db-backup.php:1016 +msgid "Backup Successful" +msgstr "备份æˆåŠŸ" + +#: wp-db-backup.php:1020 +#, php-format +msgid "Your backup file: %2s should begin downloading shortly." +msgstr "å³å°†å¼€å§‹ä¸‹è½½å¤‡ä»½æ–‡ä»¶ï¼š %2s 。" + +#: wp-db-backup.php:1028 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "你的备份文件已ç»é€šè¿‡ç”µå­é‚®ä»¶å‘é€è‡³ %s" + +#: wp-db-backup.php:1031 +msgid "Your backup file has been saved on the server. If you would like to download it now, right click and select \"Save As\"" +msgstr "你的备份文件已ç»è¢«ä¿å­˜è‡³æœåŠ¡å™¨ã€‚如果希望现在下载,请å³å‡»å¹¶é€‰æ‹© \"å¦å­˜ä¸º\"" + +#: wp-db-backup.php:1032 +#, php-format +msgid "%s bytes" +msgstr "%s 字节" + +#: wp-db-backup.php:1068 +msgid "Scheduled Backup Options Saved!" +msgstr "定时备份设置已ä¿å­˜ï¼" + +#: wp-db-backup.php:1095 +msgid "WARNING: Your backup directory does NOT exist, and we cannot create it." +msgstr "警告: 备份文件夹ä¸å­˜åœ¨ï¼Œè€Œä¸”无法自动创建。" + +#: wp-db-backup.php:1096 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "请使用你的FTP客户端æ¥è‡ªè¡Œåˆ›å»ºå¦‚下的备份目录:%s" + +#: wp-db-backup.php:1100 +#: wp-db-backup.php:1111 +msgid "WARNING: Your backup directory is NOT writable! We cannot create the backup files." +msgstr "警告: 备份文件夹无法写入ï¼æ— æ³•åˆ›å»ºå¤‡ä»½æ–‡ä»¶ã€‚" + +#: wp-db-backup.php:1101 +#, php-format +msgid "Using your FTP client, try to set the backup directory’s write permission to %1$s or %2$s: %3$s" +msgstr "请使用你的FTP客户端æ¥è®¾ç½®å¤‡ä»½ç›®å½•çš„æƒé™ä¸º %1$s 或者 %2$s: %3$s" + +#: wp-db-backup.php:1113 +msgid "This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications like WordPress can create." +msgstr "这个问题å¯èƒ½æ˜¯ç”±äºŽå½“å‰æœåŠ¡å™¨çš„ safe_mode 文件的所有æƒé™åˆ¶å¼•èµ·çš„,这个文件é™åˆ¶äº†WordPress之类的网络应用程åºåˆ›å»ºæ–‡ä»¶çš„æƒé™ã€‚" + +#: wp-db-backup.php:1115 +#, php-format +msgid "You can try to correct this problem by using your FTP client to delete and then re-create the backup directory: %s" +msgstr "请使用你的FTP客户端æ¥åˆ é™¤å¹¶é‡æ–°åˆ›å»ºå¦‚下的备份目录:%s ,这样å¯èƒ½æœ‰åŠ©äºŽè§£å†³å½“å‰çš„问题" + +#: wp-db-backup.php:1129 +msgid "Tables" +msgstr "æ•°æ®è¡¨" + +#: wp-db-backup.php:1131 +msgid "These core WordPress tables will always be backed up:" +msgstr "以下 WordPress 核心数æ®è¡¨ä¼šé»˜è®¤å¤‡ä»½ï¼š" + +#: wp-db-backup.php:1136 +msgid "Exclude spam comments" +msgstr "ä¸åŒ…括垃圾评论" + +#: wp-db-backup.php:1139 +msgid "Exclude post revisions" +msgstr "ä¸åŒ…括日志修订" + +#: wp-db-backup.php:1150 +msgid "You may choose to include any of the following tables:" +msgstr "ä½ å¯ä»¥é€‰æ‹©å¤‡ä»½ä»¥ä¸‹çš„任何数æ®è¡¨ï¼š" + +#: wp-db-backup.php:1164 +msgid "Backup Options" +msgstr "备份选项" + +#: wp-db-backup.php:1165 +msgid "What to do with the backup file:" +msgstr "怎样处ç†å¤‡ä»½æ–‡ä»¶ï¼š" + +#: wp-db-backup.php:1169 +msgid "Save to server" +msgstr "ä¿å­˜è‡³æœåŠ¡å™¨" + +#: wp-db-backup.php:1174 +msgid "Download to your computer" +msgstr "下载至本地电脑" + +#: wp-db-backup.php:1178 +#: wp-db-backup.php:1235 +msgid "Email backup to:" +msgstr "通过电å­é‚®ä»¶å‘é€å¤‡ä»½è‡³ï¼š" + +#: wp-db-backup.php:1185 +msgid "Backup now!" +msgstr "ç«‹å³å¤‡ä»½ï¼" + +#: wp-db-backup.php:1188 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "警告:备份文件夹无法写入ï¼" + +#: wp-db-backup.php:1199 +msgid "Scheduled Backup" +msgstr "定时备份" + +#: wp-db-backup.php:1206 +#, php-format +msgid "Next Backup: %s" +msgstr "下一次备份时间:%s" + +#: wp-db-backup.php:1211 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "上一次 WP-Cron æ¯æ—¥æ‰§è¡Œæ—¶é—´ï¼š%s" + +#: wp-db-backup.php:1212 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "下一次 WP-Cron æ¯æ—¥å¤‡ä»½æ—¶é—´ï¼š%s" + +#: wp-db-backup.php:1217 +msgid "Schedule: " +msgstr "定时任务:" + +#: wp-db-backup.php:1220 +msgid "None" +msgstr "æ— " + +#: wp-db-backup.php:1220 +msgid "Daily" +msgstr "æ¯æ—¥" + +#: wp-db-backup.php:1243 +msgid "Tables to include in the scheduled backup:" +msgstr "定时备份包å«çš„æ•°æ®è¡¨ï¼š" + +#: wp-db-backup.php:1253 +#, fuzzy +msgid "Schedule backup" +msgstr "定时备份" + +#: wp-db-backup.php:1278 +msgid "Never" +msgstr "从ä¸" + +#: wp-db-backup.php:1283 +#, php-format +msgid "%s seconds" +msgstr "%s 秒" + +#: wp-db-backup.php:1316 +msgid "Once Weekly" +msgstr "æ¯å‘¨" + +#: wp-db-backup.php:1329 +#, php-format +msgid "Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version." +msgstr "ä½ çš„ %1s 版 WordPress 缺少一些é‡è¦çš„安全特性,由于在该版本上è¿è¡Œ WP-DB-Backup æ’件æžä¸å®‰å…¨ï¼Œæˆ‘们已ç»è‡ªåŠ¨ç¦ç”¨äº†è¯¥æ’件。请å‡çº§ WordPress 至较新的版本。" + +#: wp-db-backup.php:1347 +msgid "You are not allowed to perform backups." +msgstr "你没有进行备份的æƒé™ã€‚" + +#: wp-db-backup.php:1362 +#, php-format +msgid "There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted." +msgstr "该站点å°è¯•æœªæŽˆæƒåœ°è®¿é—®ä½äºŽ %1s çš„ä½ çš„æ•°æ®åº“。访问已ç»è¢«ç»ˆæ­¢ã€‚" + +#: wp-db-backup.php:1373 +msgid "Cheatin' uh ?" +msgstr "想骗我å—?" + diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup.php b/wp-content/plugins/wp-db-backup/wp-db-backup.php new file mode 100644 index 0000000..679ca9f --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup.php @@ -0,0 +1,1524 @@ +Tools → Backup to get started. +Author: Austin Matzko +Author URI: http://austinmatzko.com/ +Version: 2.2.4 + +Copyright 2013 Austin Matzko (email : austin at pressedcode.com) + + 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 St, Fifth Floor, Boston, MA 02110, USA +*/ + +/** + * Change WP_BACKUP_DIR if you want to + * use a different backup location + */ + +if ( ! defined('ABSPATH') ) { + die('Please do not load this file directly.'); +} + +$rand = substr( md5( md5( DB_PASSWORD ) ), -5 ); +global $wpdbb_content_dir, $wpdbb_content_url, $wpdbb_plugin_dir; +$wpdbb_content_dir = ( defined('WP_CONTENT_DIR') ) ? WP_CONTENT_DIR : ABSPATH . 'wp-content'; +$wpdbb_content_url = ( defined('WP_CONTENT_URL') ) ? WP_CONTENT_URL : get_option('siteurl') . '/wp-content'; +$wpdbb_plugin_dir = ( defined('WP_PLUGIN_DIR') ) ? WP_PLUGIN_DIR : $wpdbb_content_dir . '/plugins'; + +if ( ! defined('WP_BACKUP_DIR') ) { + define('WP_BACKUP_DIR', $wpdbb_content_dir . '/backup-' . $rand . '/'); +} + +if ( ! defined('WP_BACKUP_URL') ) { + define('WP_BACKUP_URL', $wpdbb_content_url . '/backup-' . $rand . '/'); +} + +if ( ! defined('ROWS_PER_SEGMENT') ) { + define('ROWS_PER_SEGMENT', 100); +} + +/** + * Set MOD_EVASIVE_OVERRIDE to true + * and increase MOD_EVASIVE_DELAY + * if the backup stops prematurely. + */ +// define('MOD_EVASIVE_OVERRIDE', false); +if ( ! defined('MOD_EVASIVE_DELAY') ) { + define('MOD_EVASIVE_DELAY', '500'); +} + +class wpdbBackup { + + var $backup_complete = false; + var $backup_file = ''; + var $backup_filename; + var $core_table_names = array(); + var $errors = array(); + var $basename; + var $page_url; + var $referer_check_key; + var $version = '2.1.5-alpha'; + + function module_check() { + $mod_evasive = false; + if ( defined( 'MOD_EVASIVE_OVERRIDE' ) && true === MOD_EVASIVE_OVERRIDE ) return true; + if ( ! defined( 'MOD_EVASIVE_OVERRIDE' ) || false === MOD_EVASIVE_OVERRIDE ) return false; + if ( function_exists('apache_get_modules') ) + foreach( (array) apache_get_modules() as $mod ) + if ( false !== strpos($mod,'mod_evasive') || false !== strpos($mod,'mod_dosevasive') ) + return true; + return false; + } + + function wpdbBackup() { + global $table_prefix, $wpdb; + add_action('wp_ajax_save_backup_time', array(&$this, 'save_backup_time')); + add_action('init', array(&$this, 'init_textdomain')); + add_action('init', array(&$this, 'set_page_url')); + add_action('load-update-core.php', array(&$this, 'update_notice_action')); + add_action('wp_db_backup_cron', array(&$this, 'cron_backup')); + add_action('wp_cron_daily', array(&$this, 'wp_cron_daily')); + add_filter('cron_schedules', array(&$this, 'add_sched_options')); + add_filter('wp_db_b_schedule_choices', array(&$this, 'schedule_choices')); + + $table_prefix = ( isset( $table_prefix ) ) ? $table_prefix : $wpdb->prefix; + $datum = date("Ymd_B"); + $this->backup_filename = DB_NAME . "_$table_prefix$datum.sql"; + + $possible_names = array( + 'categories', + 'commentmeta', + 'comments', + 'link2cat', + 'linkcategories', + 'links', + 'options', + 'post2cat', + 'postmeta', + 'posts', + 'terms', + 'term_taxonomy', + 'term_relationships', + 'users', + 'usermeta', + ); + + foreach( $possible_names as $name ) { + if ( isset( $wpdb->{$name} ) ) { + $this->core_table_names[] = $wpdb->{$name}; + } + } + + $this->backup_dir = trailingslashit(apply_filters('wp_db_b_backup_dir', WP_BACKUP_DIR)); + $this->basename = 'wp-db-backup'; + + $this->referer_check_key = $this->basename . '-download_' . DB_NAME; + if (isset($_POST['do_backup'])) { + $this->wp_secure('fatal'); + check_admin_referer($this->referer_check_key); + $this->can_user_backup('main'); + // save exclude prefs + + $exc_revisions = isset( $_POST['exclude-revisions'] ) ? (array) $_POST['exclude-revisions'] : array(); + $exc_spam = isset( $_POST['exclude-spam'] ) ? (array) $_POST['exclude-spam'] : array(); + update_option('wp_db_backup_excs', array('revisions' => $exc_revisions, 'spam' => $exc_spam)); + switch($_POST['do_backup']) { + case 'backup': + add_action('init', array(&$this, 'perform_backup')); + break; + case 'fragments': + add_action('admin_menu', array(&$this, 'fragment_menu')); + break; + } + } elseif (isset($_GET['fragment'] )) { + $this->can_user_backup('frame'); + add_action('init', array(&$this, 'init')); + } elseif (isset($_GET['backup'] )) { + $this->can_user_backup(); + add_action('init', array(&$this, 'init')); + } else { + add_action('admin_menu', array(&$this, 'admin_menu')); + } + } + + function init() { + $this->can_user_backup(); + if (isset($_GET['backup'])) { + $via = isset($_GET['via']) ? $_GET['via'] : 'http'; + + $this->backup_file = $_GET['backup']; + $this->validate_file($this->backup_file); + + switch($via) { + case 'smtp': + case 'email': + $success = $this->deliver_backup($this->backup_file, 'smtp', $_GET['recipient'], 'frame'); + $this->error_display( 'frame' ); + if ( $success ) { + echo ' + + + '; + } + break; + default: + $success = $this->deliver_backup($this->backup_file, $via); + echo $this->error_display( 'frame', false ); + + if ( $success ) { + echo ' + + '; + } + } + exit; + } + if (isset($_GET['fragment'] )) { + list($table, $segment, $filename) = explode(':', $_GET['fragment']); + $this->validate_file($filename); + $this->backup_fragment($table, $segment, $filename); + } + + die(); + } + + function init_textdomain() { + load_plugin_textdomain('wp-db-backup', str_replace(ABSPATH, '', dirname(__FILE__)), dirname(plugin_basename(__FILE__))); + } + + function set_page_url() { + $query_args = array( 'page' => $this->basename ); + if ( function_exists('wp_create_nonce') ) + $query_args = array_merge( $query_args, array('_wpnonce' => wp_create_nonce($this->referer_check_key)) ); + $base = ( function_exists('site_url') ) ? site_url('', 'admin') : get_option('siteurl'); + $this->page_url = add_query_arg( $query_args, $base . '/wp-admin/edit.php'); + } + + /* + * Add a link to back up your database when doing a core upgrade + */ + function update_notice_action() { + if ( 'upgrade-core' == $_REQUEST['action'] ) : + ob_start(array(&$this, 'update_notice')); + add_action('admin_footer', create_function('', 'ob_end_flush();')); + endif; + } + function update_notice($text = '') { + $pattern = '#(.*?

    )#'; + $replace = '$1' . "\n

    " . sprintf(__('Click here to back up your database using the WordPress Database Backup plugin. Note: WordPress Database Backup does not back up your files, just your database.', 'wp-db-backup'), 'tools.php?page=wp-db-backup') . "

    \n"; + $text = preg_replace($pattern, $replace, $text); + return $text; + } + + function build_backup_script() { + global $table_prefix, $wpdb; + + echo "
    "; + echo '
    ' . __('Progress','wp-db-backup') . ' +

    ' . + __('DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:','wp-db-backup'). + '

    +
      +
    1. '.__('Close this browser','wp-db-backup').'
    2. +
    3. '.__('Reload this page','wp-db-backup').'
    4. +
    5. '.__('Click the Stop or Back buttons in your browser','wp-db-backup').'
    6. +
    +

    ' . __('Progress:','wp-db-backup') . '

    +
     
    +
    +
    +
    + + +
    + '; + $this->backup_menu(); + } + + function backup_fragment($table, $segment, $filename) { + global $table_prefix, $wpdb; + + echo "$table:$segment:$filename"; + + if($table == '') { + $msg = __('Creating backup file...','wp-db-backup'); + } else { + if($segment == -1) { + $msg = sprintf(__('Finished backing up table \\"%s\\".','wp-db-backup'), $table); + } else { + $msg = sprintf(__('Backing up table \\"%s\\"...','wp-db-backup'), $table); + } + } + + if (is_writable($this->backup_dir)) { + $this->fp = $this->open($this->backup_dir . $filename, 'a'); + if(!$this->fp) { + $this->error(__('Could not open the backup file for writing!','wp-db-backup')); + $this->error(array('loc' => 'frame', 'kind' => 'fatal', 'msg' => __('The backup file could not be saved. Please check the permissions for writing to your backup directory and try again.','wp-db-backup'))); + } + else { + if($table == '') { + //Begin new backup of MySql + $this->stow("# " . __('WordPress MySQL database backup','wp-db-backup') . "\n"); + $this->stow("#\n"); + $this->stow("# " . sprintf(__('Generated: %s','wp-db-backup'),date("l j. F Y H:i T")) . "\n"); + $this->stow("# " . sprintf(__('Hostname: %s','wp-db-backup'),DB_HOST) . "\n"); + $this->stow("# " . sprintf(__('Database: %s','wp-db-backup'),$this->backquote(DB_NAME)) . "\n"); + $this->stow("# --------------------------------------------------------\n"); + } else { + if($segment == 0) { + // Increase script execution time-limit to 15 min for every table. + if ( !ini_get('safe_mode')) @set_time_limit(15*60); + // Create the SQL statements + $this->stow("# --------------------------------------------------------\n"); + $this->stow("# " . sprintf(__('Table: %s','wp-db-backup'),$this->backquote($table)) . "\n"); + $this->stow("# --------------------------------------------------------\n"); + } + $this->backup_table($table, $segment); + } + } + } else { + $this->error(array('kind' => 'fatal', 'loc' => 'frame', 'msg' => __('The backup directory is not writeable! Please check the permissions for writing to your backup directory and try again.','wp-db-backup'))); + } + + if($this->fp) $this->close($this->fp); + + $this->error_display('frame'); + + echo ' + '; + die(); + } + + function perform_backup() { + // are we backing up any other tables? + $also_backup = array(); + if (isset($_POST['other_tables'])) + $also_backup = $_POST['other_tables']; + $core_tables = $_POST['core_tables']; + $this->backup_file = $this->db_backup($core_tables, $also_backup); + if (false !== $this->backup_file) { + if ('smtp' == $_POST['deliver']) { + $this->deliver_backup($this->backup_file, $_POST['deliver'], $_POST['backup_recipient'], 'main'); + if ( get_option('wpdb_backup_recip') != $_POST['backup_recipient'] ) { + update_option('wpdb_backup_recip', $_POST['backup_recipient'] ); + } + wp_redirect($this->page_url); + } elseif ('http' == $_POST['deliver']) { + $download_uri = add_query_arg('backup',$this->backup_file,$this->page_url); + wp_redirect($download_uri); + exit; + } + // we do this to say we're done. + $this->backup_complete = true; + } + } + + function admin_header() { + ?> + + + basename, array(&$this, 'backup_menu')); + add_action('load-' . $_page_hook, array(&$this, 'admin_load')); + if (function_exists('get_current_screen')) { + $screen = convert_to_screen($_page_hook); + if (method_exists($screen,'add_help_tab')) { + $screen->add_help_tab(array( + 'title' => __('Backup','wp-db-backup'), + 'id' => $_page_hook, + 'content' => $this->help_menu(), + )); + } + } elseif ( function_exists('add_contextual_help') ) { + $text = $this->help_menu(); + add_contextual_help($_page_hook, $text); + } + } + + function fragment_menu() { + $page_hook = add_management_page(__('Backup','wp-db-backup'), __('Backup','wp-db-backup'), 'import', $this->basename, array(&$this, 'build_backup_script')); + add_action('load-' . $page_hook, array(&$this, 'admin_load')); + } + + /** + * Add WP-DB-Backup-specific help options to the 2.7 =< WP contextual help menu + * @return string The text of the help menu. + */ + function help_menu() { + $text = "\n" . __('FAQ', 'wp-db-backup') . ''; + return $text; + } + + function save_backup_time() { + if ( $this->can_user_backup() ) { + // try to get a time from the input string + $time = strtotime(strval($_POST['backup-time'])); + if ( ! empty( $time ) && time() < $time ) { + wp_clear_scheduled_hook( 'wp_db_backup_cron' ); // unschedule previous + $scheds = (array) wp_get_schedules(); + $name = get_option('wp_cron_backup_schedule'); + if ( 0 != $time ) { + wp_schedule_event($time, $name, 'wp_db_backup_cron'); + echo gmdate(get_option('date_format') . ' ' . get_option('time_format'), $time + (get_option('gmt_offset') * 3600)); + exit; + } + } + } else { + die(0); + } + } + + /** + * Better addslashes for SQL queries. + * Taken from phpMyAdmin. + */ + function sql_addslashes($a_string = '', $is_like = false) { + if ($is_like) $a_string = str_replace('\\', '\\\\\\\\', $a_string); + else $a_string = str_replace('\\', '\\\\', $a_string); + return str_replace('\'', '\\\'', $a_string); + } + + /** + * Add backquotes to tables and db-names in + * SQL queries. Taken from phpMyAdmin. + */ + function backquote($a_name) { + if (!empty($a_name) && $a_name != '*') { + if (is_array($a_name)) { + $result = array(); + reset($a_name); + while(list($key, $val) = each($a_name)) + $result[$key] = '`' . $val . '`'; + return $result; + } else { + return '`' . $a_name . '`'; + } + } else { + return $a_name; + } + } + + function open($filename = '', $mode = 'w') { + if ('' == $filename) return false; + $fp = @fopen($filename, $mode); + return $fp; + } + + function close($fp) { + fclose($fp); + } + + /** + * Write to the backup file + * @param string $query_line the line to write + * @return null + */ + function stow($query_line) { + if(false === @fwrite($this->fp, $query_line)) + $this->error(__('There was an error writing a line to the backup script:','wp-db-backup') . ' ' . $query_line . ' ' . $php_errormsg); + } + + /** + * Logs any error messages + * @param array $args + * @return bool + */ + function error($args = array()) { + if ( is_string( $args ) ) + $args = array('msg' => $args); + $args = array_merge( array('loc' => 'main', 'kind' => 'warn', 'msg' => ''), $args); + $this->errors[$args['kind']][] = $args['msg']; + if ( 'fatal' == $args['kind'] || 'frame' == $args['loc']) + $this->error_display($args['loc']); + return true; + } + + /** + * Displays error messages + * @param array $errs + * @param string $loc + * @return string + */ + function error_display($loc = 'main', $echo = true) { + $errs = $this->errors; + unset( $this->errors ); + if ( ! count($errs) ) return; + $msg = ''; + $errs['fatal'] = isset( $errs['fatal'] ) ? (array) $errs['fatal'] : array(); + $errs['warn'] = isset( $errs['warn'] ) ? (array) $errs['warn'] : array(); + $err_list = array_slice( array_merge( $errs['fatal'], $errs['warn'] ), 0, 10); + if ( 10 == count( $err_list ) ) + $err_list[9] = __('Subsequent errors have been omitted from this log.','wp-db-backup'); + $wrap = ( 'frame' == $loc ) ? "" : '%1$s'; + $line = ( 'frame' == $loc ) ? + "try{ window.parent.addError('%1\$s'); } catch(e) { msgList += ' %1\$s';}\n" : + "%1\$s
    \n"; + foreach( (array) $err_list as $err ) + $msg .= sprintf($line,str_replace(array("\n","\r"), '', addslashes($err))); + $msg = sprintf($wrap,$msg); + if ( count($errs['fatal'] ) ) { + if ( function_exists('wp_die') && 'frame' != $loc ) wp_die(stripslashes($msg)); + else die($msg); + } + else { + if ( $echo ) echo $msg; + else return $msg; + } + } + + /** + * Taken partially from phpMyAdmin and partially from + * Alain Wolf, Zurich - Switzerland + * Website: http://restkultur.ch/personal/wolf/scripts/db_backup/ + + * Modified by Scott Merrill (http://www.skippy.net/) + * to use the WordPress $wpdb object + * @param string $table + * @param string $segment + * @return void + */ + function backup_table($table, $segment = 'none') { + global $wpdb; + + $table_structure = $wpdb->get_results("DESCRIBE $table"); + if (! $table_structure) { + $this->error(__('Error getting table details','wp-db-backup') . ": $table"); + return false; + } + + if(($segment == 'none') || ($segment == 0)) { + // Add SQL statement to drop existing table + $this->stow("\n\n"); + $this->stow("#\n"); + $this->stow("# " . sprintf(__('Delete any existing table %s','wp-db-backup'),$this->backquote($table)) . "\n"); + $this->stow("#\n"); + $this->stow("\n"); + $this->stow("DROP TABLE IF EXISTS " . $this->backquote($table) . ";\n"); + + // Table structure + // Comment in SQL-file + $this->stow("\n\n"); + $this->stow("#\n"); + $this->stow("# " . sprintf(__('Table structure of table %s','wp-db-backup'),$this->backquote($table)) . "\n"); + $this->stow("#\n"); + $this->stow("\n"); + + $create_table = $wpdb->get_results("SHOW CREATE TABLE $table", ARRAY_N); + if (false === $create_table) { + $err_msg = sprintf(__('Error with SHOW CREATE TABLE for %s.','wp-db-backup'), $table); + $this->error($err_msg); + $this->stow("#\n# $err_msg\n#\n"); + } + $this->stow($create_table[0][1] . ' ;'); + + if (false === $table_structure) { + $err_msg = sprintf(__('Error getting table structure of %s','wp-db-backup'), $table); + $this->error($err_msg); + $this->stow("#\n# $err_msg\n#\n"); + } + + // Comment in SQL-file + $this->stow("\n\n"); + $this->stow("#\n"); + $this->stow('# ' . sprintf(__('Data contents of table %s','wp-db-backup'),$this->backquote($table)) . "\n"); + $this->stow("#\n"); + } + + if(($segment == 'none') || ($segment >= 0)) { + $defs = array(); + $ints = array(); + foreach ($table_structure as $struct) { + if ( (0 === strpos($struct->Type, 'tinyint')) || + (0 === strpos(strtolower($struct->Type), 'smallint')) || + (0 === strpos(strtolower($struct->Type), 'mediumint')) || + (0 === strpos(strtolower($struct->Type), 'int')) || + (0 === strpos(strtolower($struct->Type), 'bigint')) ) { + $defs[strtolower($struct->Field)] = ( null === $struct->Default ) ? 'NULL' : $struct->Default; + $ints[strtolower($struct->Field)] = "1"; + } + } + + + // Batch by $row_inc + + if($segment == 'none') { + $row_start = 0; + $row_inc = ROWS_PER_SEGMENT; + } else { + $row_start = $segment * ROWS_PER_SEGMENT; + $row_inc = ROWS_PER_SEGMENT; + } + + do { + // don't include extra stuff, if so requested + $excs = (array) get_option('wp_db_backup_excs'); + $where = ''; + if ( is_array($excs['spam'] ) && in_array($table, $excs['spam']) ) { + $where = ' WHERE comment_approved != "spam"'; + } elseif ( is_array($excs['revisions'] ) && in_array($table, $excs['revisions']) ) { + $where = ' WHERE post_type != "revision"'; + } + + if ( !ini_get('safe_mode')) @set_time_limit(15*60); + $table_data = $wpdb->get_results("SELECT * FROM $table $where LIMIT {$row_start}, {$row_inc}", ARRAY_A); + + $entries = 'INSERT INTO ' . $this->backquote($table) . ' VALUES ('; + // \x08\\x09, not required + $search = array("\x00", "\x0a", "\x0d", "\x1a"); + $replace = array('\0', '\n', '\r', '\Z'); + if($table_data) { + foreach ($table_data as $row) { + $values = array(); + foreach ($row as $key => $value) { + if ($ints[strtolower($key)]) { + // make sure there are no blank spots in the insert syntax, + // yet try to avoid quotation marks around integers + $value = ( null === $value || '' === $value) ? $defs[strtolower($key)] : $value; + $values[] = ( '' === $value ) ? "''" : $value; + } else { + $values[] = "'" . str_replace($search, $replace, $this->sql_addslashes($value)) . "'"; + } + } + $this->stow(" \n" . $entries . implode(', ', $values) . ');'); + } + $row_start += $row_inc; + } + } while((count($table_data) > 0) and ($segment=='none')); + } + + if(($segment == 'none') || ($segment < 0)) { + // Create footer/closing comment in SQL-file + $this->stow("\n"); + $this->stow("#\n"); + $this->stow("# " . sprintf(__('End of data contents of table %s','wp-db-backup'),$this->backquote($table)) . "\n"); + $this->stow("# --------------------------------------------------------\n"); + $this->stow("\n"); + } + } // end backup_table() + + function db_backup($core_tables, $other_tables) { + global $table_prefix, $wpdb; + + if (is_writable($this->backup_dir)) { + $this->fp = $this->open($this->backup_dir . $this->backup_filename); + if(!$this->fp) { + $this->error(__('Could not open the backup file for writing!','wp-db-backup')); + return false; + } + } else { + $this->error(__('The backup directory is not writeable!','wp-db-backup')); + return false; + } + + //Begin new backup of MySql + $this->stow("# " . __('WordPress MySQL database backup','wp-db-backup') . "\n"); + $this->stow("#\n"); + $this->stow("# " . sprintf(__('Generated: %s','wp-db-backup'),date("l j. F Y H:i T")) . "\n"); + $this->stow("# " . sprintf(__('Hostname: %s','wp-db-backup'),DB_HOST) . "\n"); + $this->stow("# " . sprintf(__('Database: %s','wp-db-backup'),$this->backquote(DB_NAME)) . "\n"); + $this->stow("# --------------------------------------------------------\n"); + + if ( (is_array($other_tables)) && (count($other_tables) > 0) ) + $tables = array_merge($core_tables, $other_tables); + else + $tables = $core_tables; + + foreach ($tables as $table) { + // Increase script execution time-limit to 15 min for every table. + if ( !ini_get('safe_mode')) @set_time_limit(15*60); + // Create the SQL statements + $this->stow("# --------------------------------------------------------\n"); + $this->stow("# " . sprintf(__('Table: %s','wp-db-backup'),$this->backquote($table)) . "\n"); + $this->stow("# --------------------------------------------------------\n"); + $this->backup_table($table); + } + + $this->close($this->fp); + + if (count($this->errors)) { + return false; + } else { + return $this->backup_filename; + } + + } //wp_db_backup + + /** + * Sends the backed-up file via email + * @param string $to + * @param string $subject + * @param string $message + * @return bool + */ + function send_mail( $to, $subject, $message, $diskfile) { + global $phpmailer; + + $filename = basename($diskfile); + + extract( apply_filters( 'wp_mail', compact( 'to', 'subject', 'message' ) ) ); + + if ( !is_object( $phpmailer ) || ( strtolower(get_class( $phpmailer )) != 'phpmailer' ) ) { + if ( file_exists( ABSPATH . WPINC . '/class-phpmailer.php' ) ) + require_once ABSPATH . WPINC . '/class-phpmailer.php'; + if ( file_exists( ABSPATH . WPINC . '/class-smtp.php' ) ) + require_once ABSPATH . WPINC . '/class-smtp.php'; + if ( class_exists( 'PHPMailer') ) + $phpmailer = new PHPMailer(); + } + + // try to use phpmailer directly (WP 2.2+) + if ( is_object( $phpmailer ) && ( strtolower(get_class( $phpmailer )) == 'phpmailer' ) ) { + + // Get the site domain and get rid of www. + $sitename = strtolower( $_SERVER['SERVER_NAME'] ); + if ( substr( $sitename, 0, 4 ) == 'www.' ) { + $sitename = substr( $sitename, 4 ); + } + $from_email = 'wordpress@' . $sitename; + $from_name = 'WordPress'; + + // Empty out the values that may be set + $phpmailer->ClearAddresses(); + $phpmailer->ClearAllRecipients(); + $phpmailer->ClearAttachments(); + $phpmailer->ClearBCCs(); + $phpmailer->ClearCCs(); + $phpmailer->ClearCustomHeaders(); + $phpmailer->ClearReplyTos(); + + $phpmailer->AddAddress( $to ); + $phpmailer->AddAttachment($diskfile, $filename); + $phpmailer->Body = $message; + $phpmailer->CharSet = apply_filters( 'wp_mail_charset', get_bloginfo('charset') ); + $phpmailer->From = apply_filters( 'wp_mail_from', $from_email ); + $phpmailer->FromName = apply_filters( 'wp_mail_from_name', $from_name ); + $phpmailer->IsMail(); + $phpmailer->Subject = $subject; + + do_action_ref_array( 'phpmailer_init', array( &$phpmailer ) ); + + $result = @$phpmailer->Send(); + + // old-style: build the headers directly + } else { + $randomish = md5(time()); + $boundary = "==WPBACKUP-$randomish"; + $fp = fopen($diskfile,"rb"); + $file = fread($fp,filesize($diskfile)); + $this->close($fp); + + $data = chunk_split(base64_encode($file)); + + $headers .= "MIME-Version: 1.0\n"; + $headers = 'From: wordpress@' . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME'])) . "\n"; + $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; + + // Add a multipart boundary above the plain message + $message = "This is a multi-part message in MIME format.\n\n" . + "--{$boundary}\n" . + "Content-Type: text/plain; charset=\"" . get_bloginfo('charset') . "\"\n" . + "Content-Transfer-Encoding: 7bit\n\n" . + $message . "\n\n"; + + // Add file attachment to the message + $message .= "--{$boundary}\n" . + "Content-Type: application/octet-stream;\n" . + " name=\"{$filename}\"\n" . + "Content-Disposition: attachment;\n" . + " filename=\"{$filename}\"\n" . + "Content-Transfer-Encoding: base64\n\n" . + $data . "\n\n" . + "--{$boundary}--\n"; + + $result = @wp_mail($to, $subject, $message, $headers); + } + return $result; + + } + + function deliver_backup($filename = '', $delivery = 'http', $recipient = '', $location = 'main') { + if ('' == $filename) { return false; } + + $diskfile = $this->backup_dir . $filename; + $gz_diskfile = "{$diskfile}.gz"; + + /** + * Try upping the memory limit before gzipping + */ + if ( function_exists('memory_get_usage') && ( (int) @ini_get('memory_limit') < 64 ) ) { + @ini_set('memory_limit', '64M' ); + } + + if ( file_exists( $diskfile ) && empty( $_GET['download-retry'] ) ) { + /** + * Try gzipping with an external application + */ + if ( file_exists( $diskfile ) && ! file_exists( $gz_diskfile ) ) { + @exec( "gzip $diskfile" ); + } + + if ( file_exists( $gz_diskfile ) ) { + if ( file_exists( $diskfile ) ) { + unlink($diskfile); + } + $diskfile = $gz_diskfile; + $filename = "{$filename}.gz"; + + /** + * Try to compress to gzip, if available + */ + } else { + if ( function_exists('gzencode') ) { + if ( function_exists('file_get_contents') ) { + $text = file_get_contents($diskfile); + } else { + $text = implode("", file($diskfile)); + } + $gz_text = gzencode($text, 9); + $fp = fopen($gz_diskfile, "w"); + fwrite($fp, $gz_text); + if ( fclose($fp) ) { + unlink($diskfile); + $diskfile = $gz_diskfile; + $filename = "{$filename}.gz"; + } + } + } + /* + * + */ + } elseif ( file_exists( $gz_diskfile ) && empty( $_GET['download-retry'] ) ) { + $diskfile = $gz_diskfile; + $filename = "{$filename}.gz"; + } + + if ('http' == $delivery) { + if ( ! file_exists( $diskfile ) ) { + if ( empty( $_GET['download-retry'] ) ) { + $this->error(array('kind' => 'fatal', 'msg' => sprintf(__('File not found:%s','wp-db-backup'), " $filename
    ") . '
    ' . __('Return to Backup','wp-db-backup') . '')); + } else { + return true; + } + } elseif ( file_exists( $diskfile ) ) { + header('Content-Description: File Transfer'); + header('Content-Type: application/octet-stream'); + header('Content-Length: ' . filesize($diskfile)); + header("Content-Disposition: attachment; filename=$filename"); + $success = readfile($diskfile); + if ( $success ) { + unlink($diskfile); + } + } + } elseif ('smtp' == $delivery) { + if (! file_exists($diskfile)) { + $msg = sprintf(__('File %s does not exist!','wp-db-backup'), $diskfile); + $this->error($msg); + return false; + } + if (! is_email($recipient)) { + $recipient = get_option('admin_email'); + } + $message = sprintf(__("Attached to this email is\n %1s\n Size:%2s kilobytes\n",'wp-db-backup'), $filename, round(filesize($diskfile)/1024)); + $success = $this->send_mail($recipient, get_bloginfo('name') . ' ' . __('Database Backup','wp-db-backup'), $message, $diskfile); + + if ( false === $success ) { + $msg = __('The following errors were reported:','wp-db-backup') . "\n "; + if ( function_exists('error_get_last') ) { + $err = error_get_last(); + $msg .= $err['message']; + } else { + $msg .= __('ERROR: The mail application has failed to deliver the backup.','wp-db-backup'); + } + $this->error(array('kind' => 'fatal', 'loc' => $location, 'msg' => $msg)); + } else { + if ( file_exists( $diskfile ) ) { + unlink($diskfile); + } + } + } + return $success; + } + + function backup_menu() { + global $table_prefix, $wpdb; + $feedback = ''; + $whoops = false; + + // did we just do a backup? If so, let's report the status + if ( $this->backup_complete ) { + $feedback = '

    ' . __('Backup Successful','wp-db-backup') . '!'; + $file = $this->backup_file; + switch($_POST['deliver']) { + case 'http': + $feedback .= '
    ' . sprintf(__('Your backup file: %2s should begin downloading shortly.','wp-db-backup'), WP_BACKUP_URL . "{$this->backup_file}", $this->backup_file); + break; + case 'smtp': + if (! is_email($_POST['backup_recipient'])) { + $feedback .= get_option('admin_email'); + } else { + $feedback .= $_POST['backup_recipient']; + } + $feedback = '
    ' . sprintf(__('Your backup has been emailed to %s','wp-db-backup'), $feedback); + break; + case 'none': + $feedback .= '
    ' . __('Your backup file has been saved on the server. If you would like to download it now, right click and select "Save As"','wp-db-backup'); + $feedback .= ':
    $file : " . sprintf(__('%s bytes','wp-db-backup'), filesize($this->backup_dir . $file)); + } + $feedback .= '

    '; + } + + // security check + $this->wp_secure(); + + if (count($this->errors)) { + $feedback .= '

    ' . __('The following errors were reported:','wp-db-backup') . '

    '; + $feedback .= '

    ' . $this->error_display( 'main', false ) . '

    '; + $feedback .= "

    "; + } + + // did we just save options for wp-cron? + if ( (function_exists('wp_schedule_event') || function_exists('wp_cron_init')) + && isset($_POST['wp_cron_backup_options']) ) : + do_action('wp_db_b_update_cron_options'); + if ( function_exists('wp_schedule_event') ) { + wp_clear_scheduled_hook( 'wp_db_backup_cron' ); // unschedule previous + $scheds = (array) wp_get_schedules(); + $name = strval($_POST['wp_cron_schedule']); + $interval = ( isset($scheds[$name]['interval']) ) ? + (int) $scheds[$name]['interval'] : 0; + update_option('wp_cron_backup_schedule', $name, false); + if ( 0 !== $interval ) { + wp_schedule_event(time() + $interval, $name, 'wp_db_backup_cron'); + } + } + else { + update_option('wp_cron_backup_schedule', intval($_POST['cron_schedule']), false); + } + update_option('wp_cron_backup_tables', isset( $_POST['wp_cron_backup_tables'] ) ? $_POST['wp_cron_backup_tables'] : array() ); + if (is_email($_POST['cron_backup_recipient'])) { + update_option('wp_cron_backup_recipient', $_POST['cron_backup_recipient'], false); + } + $feedback .= '

    ' . __('Scheduled Backup Options Saved!','wp-db-backup') . '

    '; + endif; + + $other_tables = array(); + $also_backup = array(); + + // Get complete db table list + $all_tables = $wpdb->get_results("SHOW TABLES", ARRAY_N); + $all_tables = array_map(create_function('$a', 'return $a[0];'), $all_tables); + // Get list of WP tables that actually exist in this DB (for 1.6 compat!) + $wp_backup_default_tables = array_intersect($all_tables, $this->core_table_names); + // Get list of non-WP tables + $other_tables = array_diff($all_tables, $wp_backup_default_tables); + + if ('' != $feedback) + echo $feedback; + + if ( ! $this->wp_secure() ) + return; + + // Give the new dirs the same perms as wp-content. +// $stat = stat( ABSPATH . 'wp-content' ); +// $dir_perms = $stat['mode'] & 0000777; // Get the permission bits. + $dir_perms = '0777'; + + // the file doesn't exist and can't create it + if ( ! file_exists($this->backup_dir) && ! @mkdir($this->backup_dir) ) { + ?>

    NOT writable! We cannot create the backup files.','wp-db-backup'); ?>

    +

    777', 'a+w', '' . $this->backup_dir . ''); ?> +

    fp = $this->open($this->backup_dir . 'test' ); + if( $this->fp ) { + $this->close($this->fp); + @unlink($this->backup_dir . 'test' ); + // the directory is not writable probably due to safe mode + } else { + ?>

    NOT writable! We cannot create the backup files.','wp-db-backup'); ?>

    safe_mode file ownership restrictions, which limit what files web applications like WordPress can create.', 'wp-db-backup'); ?>

    ' . $this->backup_dir . ''); + ?>
    backup_dir . 'index.php') ) + @ touch($this->backup_dir . 'index.php'); + ?>
    +

    +
    + referer_check_key); ?> +
    +
    +

      comments ) { + $checked = ( isset($excs['spam']) && is_array($excs['spam'] ) && in_array($table, $excs['spam']) ) ? ' checked=\'checked\'' : ''; + echo "
    • $table " . __('Exclude spam comments', 'wp-db-backup') . '
    • '; + } elseif ( function_exists('wp_get_post_revisions') && $table == $wpdb->posts ) { + $checked = ( isset($excs['revisions']) && is_array($excs['revisions'] ) && in_array($table, $excs['revisions']) ) ? ' checked=\'checked\'' : ''; + echo "
    • $table " . __('Exclude post revisions', 'wp-db-backup') . '
    • '; + } else { + echo "
    • $table
    • "; + } + } + ?>
    +
    +
    + 0) { + ?> +

    +
      + +
    • +
    +
    + +
    + +

    +
      +
    • +
    • +
    • +
    + + +

    + +

    + +

    NOT writable!','wp-db-backup'); ?>

    + +
    + +
    + + ' . __('Scheduled Backup','wp-db-backup') . ''; + $datetime = get_option('date_format') . ' ' . get_option('time_format'); + if ( $cron ) : + $next_cron = wp_next_scheduled('wp_db_backup_cron'); + if ( ! empty( $next_cron ) ) : + ?> +

    + ' . gmdate($datetime, $next_cron + (get_option('gmt_offset') * 3600)) . ''); ?> +

    +


    + referer_check_key); ?> +
    +

    + __('None','wp-db-backup'), 1 => __('Daily','wp-db-backup')); + foreach ($schedule as $value => $name) { + echo ' ' . $name; + } + elseif ( $cron ) : + echo apply_filters('wp_db_b_schedule_choices', wp_get_schedules() ); + endif; + $cron_recipient = get_option('wp_cron_backup_recipient'); + if (! is_email($cron_recipient)) { + $cron_recipient = get_option('admin_email'); + } + $cron_recipient_input = '

    '; + echo apply_filters('wp_db_b_cron_recipient_input', $cron_recipient_input); + echo '

    '; + echo '
    '; + $cron_tables = get_option('wp_cron_backup_tables'); + if (! is_array($cron_tables)) { + $cron_tables = array(); + } + if (count($other_tables) > 0) { + echo '
    '; + echo '

    ' . __('Tables to include in the scheduled backup:','wp-db-backup') . '

      '; + foreach ($other_tables as $table) { + echo '
    • {$table}
    • "; + } + echo '
    '; + } + echo '
    '; + echo ''; + endif; // end of wp_cron (legacy) section + + echo '
    '; + + } // end wp_backup_menu() + + function get_sched() { + $options = array_keys( (array) wp_get_schedules() ); + $freq = get_option('wp_cron_backup_schedule'); + $freq = ( in_array( $freq , $options ) ) ? $freq : 'never'; + return $freq; + } + + function schedule_choices($schedule) { // create the cron menu based on the schedule + $wp_cron_backup_schedule = $this->get_sched(); + $next_cron = wp_next_scheduled('wp_db_backup_cron'); + $wp_cron_backup_schedule = ( empty( $next_cron ) ) ? 'never' : $wp_cron_backup_schedule; + $sort = array(); + foreach ( (array) $schedule as $key => $value ) $sort[$key] = $value['interval']; + asort( $sort ); + $schedule_sorted = array(); + foreach ( (array) $sort as $key => $value ) $schedule_sorted[$key] = $schedule[$key]; + $menu = '
      '; + $schedule = array_merge( array( 'never' => array( 'interval' => 0, 'display' => __('Never','wp-db-backup') ) ), + (array) $schedule_sorted ); + foreach ( $schedule as $name => $settings) { + $interval = (int) $settings['interval']; + if ( 0 == $interval && ! 'never' == $name ) continue; + $display = ( ! '' == $settings['display'] ) ? $settings['display'] : sprintf(__('%s seconds','wp-db-backup'),$interval); + $menu .= "
    • cron_backup(); + } + + function cron_backup() { + global $table_prefix, $wpdb; + $all_tables = $wpdb->get_results("SHOW TABLES", ARRAY_N); + $all_tables = array_map(create_function('$a', 'return $a[0];'), $all_tables); + $core_tables = array_intersect($all_tables, $this->core_table_names); + $other_tables = get_option('wp_cron_backup_tables'); + $recipient = get_option('wp_cron_backup_recipient'); + $backup_file = $this->db_backup($core_tables, $other_tables); + if (false !== $backup_file) + return $this->deliver_backup($backup_file, 'smtp', $recipient, 'main'); + else return false; + } + + function add_sched_options($sched) { + $sched['weekly'] = array('interval' => 604800, 'display' => __('Once Weekly','wp-db-backup')); + return $sched; + } + + /** + * Checks that WordPress has sufficient security measures + * @param string $kind + * @return bool + */ + function wp_secure($kind = 'warn', $loc = 'main') { + global $wp_version; + if ( function_exists('wp_verify_nonce') ) return true; + else { + $this->error(array('kind' => $kind, 'loc' => $loc, 'msg' => sprintf(__('Your WordPress version, %1s, lacks important security features without which it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is automatically disabled. Please consider upgrading WordPress to a more recent version.','wp-db-backup'),$wp_version,'http://wordpress.org/download/'))); + return false; + } + } + + /** + * Checks that the user has sufficient permission to backup + * @param string $loc + * @return bool + */ + function can_user_backup($loc = 'main') { + $can = false; + // make sure WPMU users are site admins, not ordinary admins + if ( function_exists('is_site_admin') && ! is_site_admin() ) + return false; + if ( ( $this->wp_secure('fatal', $loc) ) && current_user_can('import') ) + $can = $this->verify_nonce($_REQUEST['_wpnonce'], $this->referer_check_key, $loc); + if ( false == $can ) + $this->error(array('loc' => $loc, 'kind' => 'fatal', 'msg' => __('You are not allowed to perform backups.','wp-db-backup'))); + return $can; + } + + /** + * Verify that the nonce is legitimate + * @param string $rec the nonce received + * @param string $nonce what the nonce should be + * @param string $loc the location of the check + * @return bool + */ + function verify_nonce($rec = '', $nonce = 'X', $loc = 'main') { + if ( wp_verify_nonce($rec, $nonce) ) + return true; + else + $this->error(array('loc' => $loc, 'kind' => 'fatal', 'msg' => sprintf(__('There appears to be an unauthorized attempt from this site to access your database located at %1s. The attempt has been halted.','wp-db-backup'),get_option('home')))); + } + + /** + * Check whether a file to be downloaded is + * surreptitiously trying to download a non-backup file + * @param string $file + * @return null + */ + function validate_file($file) { + if ( (false !== strpos($file, '..')) || (false !== strpos($file, './')) || (':' == substr($file, 1, 1)) ) + $this->error(array('kind' => 'fatal', 'loc' => 'frame', 'msg' => __("Cheatin' uh ?",'wp-db-backup'))); + } + +} + +function wpdbBackup_init() { + global $mywpdbbackup; + $mywpdbbackup = new wpdbBackup(); +} + +add_action('plugins_loaded', 'wpdbBackup_init'); +?> diff --git a/wp-content/plugins/wp-db-backup/wp-db-backup.pot b/wp-content/plugins/wp-db-backup/wp-db-backup.pot new file mode 100644 index 0000000..4a89068 --- /dev/null +++ b/wp-content/plugins/wp-db-backup/wp-db-backup.pot @@ -0,0 +1,409 @@ +# WP-DB-Backup +# Copyright (C) 2010 Austin Matzko +# This file is distributed under the GPL 2 license. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-12-21 15:38-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Austin Matzko austin at pressedcode dot com\n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: wp-db-backup.php:177 wp-db-backup.php:285 wp-db-backup.php:302 +msgid "Backup Complete!" +msgstr "" + +#: wp-db-backup.php:220 +msgid "http://codex.wordpress.org/WordPress_Backups" +msgstr "" + +#: wp-db-backup.php:221 +#, php-format +msgid "" +"Click here to back up your database " +"using the WordPress Database Backup plugin. Note: WordPress " +"Database Backup does not back up your files, just your database." +msgstr "" + +#: wp-db-backup.php:230 +msgid "Progress" +msgstr "" + +#: wp-db-backup.php:232 +msgid "DO NOT DO THE FOLLOWING AS IT WILL CAUSE YOUR BACKUP TO FAIL:" +msgstr "" + +#: wp-db-backup.php:235 +msgid "Close this browser" +msgstr "" + +#: wp-db-backup.php:236 +msgid "Reload this page" +msgstr "" + +#: wp-db-backup.php:237 +msgid "Click the Stop or Back buttons in your browser" +msgstr "" + +#: wp-db-backup.php:239 +msgid "Progress:" +msgstr "" + +#: wp-db-backup.php:248 +msgid "Navigating away from this page will cause your backup to fail." +msgstr "" + +#: wp-db-backup.php:295 wp-db-backup.php:1098 +#, php-format +msgid "Your backup has been emailed to %s" +msgstr "" + +#: wp-db-backup.php:362 +msgid "Creating backup file..." +msgstr "" + +#: wp-db-backup.php:365 +#, php-format +msgid "Finished backing up table \\\"%s\\\"." +msgstr "" + +#: wp-db-backup.php:367 +#, php-format +msgid "Backing up table \\\"%s\\\"..." +msgstr "" + +#: wp-db-backup.php:374 wp-db-backup.php:881 +msgid "Could not open the backup file for writing!" +msgstr "" + +#: wp-db-backup.php:375 +msgid "" +"The backup file could not be saved. Please check the permissions for " +"writing to your backup directory and try again." +msgstr "" + +#: wp-db-backup.php:380 wp-db-backup.php:890 +msgid "WordPress MySQL database backup" +msgstr "" + +#: wp-db-backup.php:382 wp-db-backup.php:892 +#, php-format +msgid "Generated: %s" +msgstr "" + +#: wp-db-backup.php:383 wp-db-backup.php:893 +#, php-format +msgid "Hostname: %s" +msgstr "" + +#: wp-db-backup.php:384 wp-db-backup.php:894 +#, php-format +msgid "Database: %s" +msgstr "" + +#: wp-db-backup.php:392 wp-db-backup.php:907 +#, php-format +msgid "Table: %s" +msgstr "" + +#: wp-db-backup.php:399 +msgid "" +"The backup directory is not writeable! Please check the permissions for " +"writing to your backup directory and try again." +msgstr "" + +#: wp-db-backup.php:458 +msgid "Click and hold down [SHIFT] to toggle multiple checkboxes" +msgstr "" + +#: wp-db-backup.php:502 +msgid "Change" +msgstr "" + +#: wp-db-backup.php:511 +msgid "Save" +msgstr "" + +#: wp-db-backup.php:605 wp-db-backup.php:614 wp-db-backup.php:1196 +msgid "Backup" +msgstr "" + +#: wp-db-backup.php:623 +msgid "FAQ" +msgstr "" + +#: wp-db-backup.php:624 +msgid "WP-DB-Backup Support Forum" +msgstr "" + +#: wp-db-backup.php:694 +msgid "There was an error writing a line to the backup script:" +msgstr "" + +#: wp-db-backup.php:727 +msgid "Subsequent errors have been omitted from this log." +msgstr "" + +#: wp-db-backup.php:761 +msgid "Error getting table details" +msgstr "" + +#: wp-db-backup.php:769 +#, php-format +msgid "Delete any existing table %s" +msgstr "" + +#: wp-db-backup.php:778 +#, php-format +msgid "Table structure of table %s" +msgstr "" + +#: wp-db-backup.php:784 +#, php-format +msgid "Error with SHOW CREATE TABLE for %s." +msgstr "" + +#: wp-db-backup.php:791 +#, php-format +msgid "Error getting table structure of %s" +msgstr "" + +#: wp-db-backup.php:799 +#, php-format +msgid "Data contents of table %s" +msgstr "" + +#: wp-db-backup.php:869 +#, php-format +msgid "End of data contents of table %s" +msgstr "" + +#: wp-db-backup.php:885 +msgid "The backup directory is not writeable!" +msgstr "" + +#: wp-db-backup.php:1044 +#, php-format +msgid "File not found:%s" +msgstr "" + +#: wp-db-backup.php:1044 +msgid "Return to Backup" +msgstr "" + +#: wp-db-backup.php:1053 +#, php-format +msgid "File %s does not exist!" +msgstr "" + +#: wp-db-backup.php:1060 +#, php-format +msgid "" +"Attached to this email is\n" +" %1s\n" +" Size:%2s kilobytes\n" +msgstr "" + +#: wp-db-backup.php:1061 +msgid "Database Backup" +msgstr "" + +#: wp-db-backup.php:1064 wp-db-backup.php:1111 +msgid "The following errors were reported:" +msgstr "" + +#: wp-db-backup.php:1069 +msgid "ERROR: The mail application has failed to deliver the backup." +msgstr "" + +#: wp-db-backup.php:1086 +msgid "Backup Successful" +msgstr "" + +#: wp-db-backup.php:1090 +#, php-format +msgid "" +"Your backup file: %2s should begin downloading shortly." +msgstr "" + +#: wp-db-backup.php:1101 +msgid "" +"Your backup file has been saved on the server. If you would like to download " +"it now, right click and select \"Save As\"" +msgstr "" + +#: wp-db-backup.php:1102 +#, php-format +msgid "%s bytes" +msgstr "" + +#: wp-db-backup.php:1138 +msgid "Scheduled Backup Options Saved!" +msgstr "" + +#: wp-db-backup.php:1165 +msgid "" +"WARNING: Your backup directory does NOT exist, and we " +"cannot create it." +msgstr "" + +#: wp-db-backup.php:1166 +#, php-format +msgid "Using your FTP client, try to create the backup directory yourself: %s" +msgstr "" + +#: wp-db-backup.php:1170 wp-db-backup.php:1181 +msgid "" +"WARNING: Your backup directory is NOT writable! We cannot " +"create the backup files." +msgstr "" + +#: wp-db-backup.php:1171 +#, php-format +msgid "" +"Using your FTP client, try to set the backup directory’s write " +"permission to %1$s or %2$s: %3$s" +msgstr "" + +#: wp-db-backup.php:1183 +msgid "" +"This problem seems to be caused by your server’s safe_mode file ownership restrictions, which limit what files web applications " +"like WordPress can create." +msgstr "" + +#: wp-db-backup.php:1185 +#, php-format +msgid "" +"You can try to correct this problem by using your FTP client to delete and " +"then re-create the backup directory: %s" +msgstr "" + +#: wp-db-backup.php:1199 +msgid "Tables" +msgstr "" + +#: wp-db-backup.php:1201 +msgid "These core WordPress tables will always be backed up:" +msgstr "" + +#: wp-db-backup.php:1206 +msgid "Exclude spam comments" +msgstr "" + +#: wp-db-backup.php:1209 +msgid "Exclude post revisions" +msgstr "" + +#: wp-db-backup.php:1220 +msgid "You may choose to include any of the following tables:" +msgstr "" + +#: wp-db-backup.php:1234 +msgid "Backup Options" +msgstr "" + +#: wp-db-backup.php:1235 +msgid "What to do with the backup file:" +msgstr "" + +#: wp-db-backup.php:1239 +msgid "Save to server" +msgstr "" + +#: wp-db-backup.php:1244 +msgid "Download to your computer" +msgstr "" + +#: wp-db-backup.php:1248 wp-db-backup.php:1312 +msgid "Email backup to:" +msgstr "" + +#: wp-db-backup.php:1261 +msgid "Backup now!" +msgstr "" + +#: wp-db-backup.php:1264 +msgid "WARNING: Your backup directory is NOT writable!" +msgstr "" + +#: wp-db-backup.php:1275 +msgid "Scheduled Backup" +msgstr "" + +#: wp-db-backup.php:1282 +#, php-format +msgid "Next Backup: %s" +msgstr "" + +#: wp-db-backup.php:1287 +#, php-format +msgid "Last WP-Cron Daily Execution: %s" +msgstr "" + +#: wp-db-backup.php:1288 +#, php-format +msgid "Next WP-Cron Daily Execution: %s" +msgstr "" + +#: wp-db-backup.php:1293 +msgid "Schedule: " +msgstr "" + +#: wp-db-backup.php:1297 +msgid "None" +msgstr "" + +#: wp-db-backup.php:1297 +msgid "Daily" +msgstr "" + +#: wp-db-backup.php:1314 +msgid "Schedule backup" +msgstr "" + +#: wp-db-backup.php:1322 +msgid "Tables to include in the scheduled backup:" +msgstr "" + +#: wp-db-backup.php:1357 +msgid "Never" +msgstr "" + +#: wp-db-backup.php:1362 +#, php-format +msgid "%s seconds" +msgstr "" + +#: wp-db-backup.php:1395 +msgid "Once Weekly" +msgstr "" + +#: wp-db-backup.php:1408 +#, php-format +msgid "" +"Your WordPress version, %1s, lacks important security features without which " +"it is unsafe to use the WP-DB-Backup plugin. Hence, this plugin is " +"automatically disabled. Please consider upgrading " +"WordPress to a more recent version." +msgstr "" + +#: wp-db-backup.php:1426 +msgid "You are not allowed to perform backups." +msgstr "" + +#: wp-db-backup.php:1441 +#, php-format +msgid "" +"There appears to be an unauthorized attempt from this site to access your " +"database located at %1s. The attempt has been halted." +msgstr "" + +#: wp-db-backup.php:1452 +msgid "Cheatin' uh ?" +msgstr "" diff --git a/wp-content/plugins/wp-discourse-master/.gitignore b/wp-content/plugins/wp-discourse-master/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/wp-content/plugins/wp-discourse-master/LICENSE b/wp-content/plugins/wp-discourse-master/LICENSE new file mode 100644 index 0000000..5a51c77 --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + Discourse WordPress Plugin + Copyright (C) 2010 DISQUS + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Discourse WordPress Plugin Copyright (C) 2010 DISQUS + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU 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. But first, please read +. diff --git a/wp-content/plugins/wp-discourse-master/README.md b/wp-content/plugins/wp-discourse-master/README.md new file mode 100644 index 0000000..8ac9433 --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/README.md @@ -0,0 +1,17 @@ +wp-discourse +============ + +This WordPress plugin allows you to **use Discourse as a community engine for your WordPress blog**. The basic function of the plugin is: + +- Each WordPress blog post can *optionally* create an associated Discourse topic. + +- Periodicially sync the "best" posts in those Discourse topics back to the associated WordPress blog entry as WordPress comments. + + +Here's a screenshot of WP-Discourse in action at [How-To Geek](http://www.howtogeek.com/180175/warning-your-browser-extensions-are-spying-on-you/), which is a WordPress blog backed with a Discourse forum: + +[![](https://raw2.github.com/discourse/discourse-docimages/master/wordpress/wordpress-plugin-sample-screenhot-small.png)](https://raw2.github.com/discourse/discourse-docimages/master/wordpress/wordpress-plugin-sample-screenhot.png) + +And there are tons of options: + +![](https://raw.github.com/discourse/discourse-docimages/master/wordpress/discourse-wp-plugin.png) diff --git a/wp-content/plugins/wp-discourse-master/comments.php b/wp-content/plugins/wp-discourse-master/comments.php new file mode 100644 index 0000000..58bcb39 --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/comments.php @@ -0,0 +1,60 @@ +posts_count - count($discourse_info->posts) - 1; + $show_fullname = $options['use-fullname-in-comments'] == 1; + $comments_title = $options['custom-comments-title']; + if(!$comments_title || strlen(trim($comments_title)) == 0) { + $comments_title = 'Notable Replies'; + } + $more = count($discourse_info->posts) == 0 ? "" : "more "; + + if($more_replies == 0) { + $more_replies = ""; + } elseif($more_replies == 1) { + $more_replies = "1 " . $more . "reply"; + } else { + $more_replies = $more_replies . " " . $more . "replies"; + } + + $link_text = count($discourse_info->posts_count - 1) == 0 ? "Start the discussion" : "Continue the discussion"; + +?> + +
      +posts) > 0) { ?> +

      + +
        + posts as &$post) { ?> +
      1. +
        + + name : $post->username) ?> +
        + +
        +
        cooked ?>
        +
      2. + + +
      + + + +
      +

      at

      + posts) > 0 || $more_replies > 0) { ?> +

      +

      + participants as &$participant) { ?> + + +

      + +
      + +
      diff --git a/wp-content/plugins/wp-discourse-master/css/style.css b/wp-content/plugins/wp-discourse-master/css/style.css new file mode 100644 index 0000000..32a0df4 --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/css/style.css @@ -0,0 +1,2 @@ +/*this is a test*/ + diff --git a/wp-content/plugins/wp-discourse-master/sync.php b/wp-content/plugins/wp-discourse-master/sync.php new file mode 100644 index 0000000..9125dea --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/sync.php @@ -0,0 +1,21 @@ + '3','orderby' => 'date', 'post_type' => array('post')); +$last_posts = get_posts($args); +foreach( $last_posts as $post ) : setup_postdata($post); + $link = get_post_meta($post->ID, 'discourse_permalink', true); + if(!$link){ + $pub = get_post_meta($post->ID, 'publish_to_discourse', true); + if($pub){ + $discourse::sync_to_discourse($post->ID, $post->post_title, $post->post_content); + wp_cache_post_change($post->ID); + } + } +endforeach; +?> diff --git a/wp-content/plugins/wp-discourse-master/wp-discourse.php b/wp-content/plugins/wp-discourse-master/wp-discourse.php new file mode 100644 index 0000000..f91c44d --- /dev/null +++ b/wp-content/plugins/wp-discourse-master/wp-discourse.php @@ -0,0 +1,569 @@ +username); + } + + public static function avatar($template, $size) { + echo str_replace("{size}", $size, $template); + } + var $domain = 'discourse'; + + //Version + static $version ='0.0.1'; + + //Options and defaults + static $options = array( + 'url'=>'', + 'api-key'=>'', + 'publish-username'=>'', + 'publish-category'=>'', + 'auto-publish'=>0, + 'auto-update'=>0, + 'auto-track'=>1, + 'max-comment'=>5, + 'use-discourse-comments'=>0, + 'use-fullname-in-comments'=>1, + 'publish-format'=>'Originally published at: {blogurl}
      {excerpt}', + 'min-score'=>30, + 'min-replies'=>5, + 'min-trust-level'=>1, + 'custom-comments-title'=>'', + 'custom-excerpt-length'=>'55', + 'bypass-trust-level-score'=>50, + 'debug-mode'=>0, + 'only-show-moderator-liked'=>0 + ); + + public function __construct() { + register_activation_hook(__FILE__,array(__CLASS__, 'install' )); + register_uninstall_hook(__FILE__,array( __CLASS__, 'uninstall' )); + add_action( 'init', array( $this, 'init' ) ); + add_action( 'admin_init', array( $this, 'admin_init' ) ); + add_action( 'admin_menu', array( $this, 'discourse_admin_menu' )); + } + + static function install(){ + update_option("discourse_version",self::$version); + add_option('discourse',self::$options); + } + + static function uninstall(){ + delete_option('discourse_version'); + delete_option('discourse'); + } + + + public function init() { + //Allow translations + load_plugin_textdomain( 'discourse', false, basename(dirname(__FILE__)).'/languages'); + + //replace comments with discourse comments + + add_filter('comments_number', array($this,'comments_number')); + add_filter('comments_template', array($this,'comments_template')); + + $plugin_dir = plugin_dir_url(__FILE__); + wp_register_style('discourse_comments', $plugin_dir . 'css/style.css'); + wp_enqueue_style('discourse_comments'); + + add_action( 'save_post', array($this, 'save_postdata')); + add_action( 'xmlrpc_publish_post', array($this, 'xmlrpc_publish_post_to_discourse')); + add_action( 'publish_post', array($this, 'publish_post_to_discourse')); + } + + function comments_number($count) { + global $post; + if(self::use_discourse_comments($post->ID)){ + self::sync_comments($post->ID); + $count = get_post_meta($post->ID, 'discourse_comments_count', true); + if(!$count){ + $count = "Leave a reply"; + } else { + $count = $count == 1 ? "1 Reply" : $count . " Replies"; + } + } + + return $count; + } + + function use_discourse_comments($postid){ + // we may have a missing "publish_to_discourse" ... if it is missing AND + // the post is 7 days or younger, just publish it + // + // note: codex api says get_post_meta will return "" if the setting is missing + // tested and it is the case + + $setting = get_post_meta($postid, 'publish_to_discourse', true); + $a_week = 604800; + return $setting == "1" || ($setting == "" && (time() - get_the_time('U',$postid)) < $a_week) ; + } + + function sync_comments($postid) { + global $wpdb; + $discourse_options = get_option('discourse'); + + # every 10 minutes do a json call to sync comment count and top comments + $last_sync = (int)get_post_meta($postid, 'discourse_last_sync', true); + $time = date_create()->format('U'); + $debug = isset($discourse_options['debug-mode']) && intval($discourse_options['debug-mode']) == 1; + if($debug || $last_sync + 60 * 10 < $time) { + + $got_lock = $wpdb->get_row( "SELECT GET_LOCK('discourse_lock', 0) got_it"); + if($got_lock->got_it == "1") { + + if(get_post_status($postid) == "publish") { + + # workaround unpublished posts, publish if needed + # if you have a scheduled post we never seem to be called + if(!(get_post_meta($postid, 'discourse_post_id', true) > 0)){ + self::publish_post_to_discourse($postid); + } + + $comment_count = intval($discourse_options['max-comments']); + $min_trust_level = intval($discourse_options['min-trust-level']); + $min_score = intval($discourse_options['min-score']); + $min_replies = intval($discourse_options['min-replies']); + $bypass_trust_level_score = intval($discourse_options['bypass-trust-level-score']); + + $options = 'best=' . $comment_count . '&min_trust_level=' . $min_trust_level . '&min_score=' . $min_score; + $options = $options . '&min_replies=' . $min_replies . '&bypass_trust_level_score=' . $bypass_trust_level_score; + + if (isset($discourse_options['only-show-moderator-liked']) && intval($discourse_options['only-show-moderator-liked']) == 1) { + $options = $options . "&only_moderator_liked=true"; + } + + $permalink = (string)get_post_meta($postid, 'discourse_permalink', true) . '/wordpress.json?' . $options; + $soptions = array('http' => array('ignore_errors' => true, 'method' => 'GET')); + $context = stream_context_create($soptions); + $result = file_get_contents($permalink, false, $context); + $json = json_decode($result); + + $posts_count = $json->posts_count - 1; + if ($posts_count < 0) { + $posts_count = 0; + } + + delete_post_meta($postid, 'discourse_comments_count'); + add_post_meta($postid, 'discourse_comments_count', $posts_count, true); + + delete_post_meta($postid, 'discourse_comments_raw'); + + add_post_meta($postid, 'discourse_comments_raw', $wpdb->escape($result) , true); + + delete_post_meta($postid, 'discourse_last_sync'); + add_post_meta($postid, 'discourse_last_sync', $time, true); + } + $wpdb->get_results("SELECT RELEASE_LOCK('discourse_lock')"); + } + } + } + + function comments_template($old) { + global $post; + + if(self::use_discourse_comments($post->ID)) { + self::sync_comments($post->ID); + return dirname(__FILE__) . '/comments.php'; + } + + return $old; + } + + /* + * Settings + */ + public function admin_init(){ + register_setting( 'discourse', 'discourse', array($this, 'discourse_validate_options')); + add_settings_section( 'default_discourse', 'Default Settings', array($this, 'init_default_settings'), 'discourse' ); + add_settings_field('discourse_url', 'Url', array($this, 'url_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_api_key', 'API Key', array($this, 'api_key_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_publish_username', 'Publishing username', array($this, 'publish_username_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_publish_category', 'Published category', array($this, 'publish_category_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_publish_format', 'Publish format', array($this, 'publish_format_textarea'), 'discourse', 'default_discourse'); + add_settings_field('discourse_auto_publish', 'Auto Publish', array($this, 'auto_publish_checkbox'), 'discourse', 'default_discourse'); + add_settings_field('discourse_auto_update', 'Auto Update Posts', array($this, 'auto_update_checkbox'), 'discourse', 'default_discourse'); + add_settings_field('discourse_auto_track', 'Auto Track Published Topics', array($this, 'auto_track_checkbox'), 'discourse', 'default_discourse'); + + add_settings_field('discourse_use_discourse_comments', 'Use Discourse Comments', array($this, 'use_discourse_comments_checkbox'), 'discourse', 'default_discourse'); + add_settings_field('discourse_max_comments', 'Max visible comments', array($this, 'max_comments_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_use_fullname_in_comments', 'Full name in comments', array($this, 'use_fullname_in_comments_checkbox'), 'discourse', 'default_discourse'); + + add_settings_field('discourse_min_replies', 'Min number of replies', array($this, 'min_replies_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_min_score', 'Min score of posts', array($this, 'min_score_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_min_trust_level', 'Min trust level', array($this, 'min_trust_level_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_bypass_trust_level_score', 'Bypass trust level score', array($this, 'bypass_trust_level_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_custom_comment_title', 'Custom comments title', array($this, 'custom_comment_input'), 'discourse', 'default_discourse'); + add_settings_field('discourse_custom_excerpt_length', 'Custom excerpt length', array($this, 'custom_excerpt_length'), 'discourse', 'default_discourse'); + + add_settings_field('discourse_debug_mode', 'Debug mode', array($this, 'debug_mode_checkbox'), 'discourse', 'default_discourse'); + add_settings_field('discourse_only_show_moderator_liked', 'Only import comments liked by a moderator', array($this, 'only_show_moderator_liked_checkbox'), 'discourse', 'default_discourse'); + + add_action( 'post_submitbox_misc_actions', array($this,'publish_to_discourse')); + + + add_filter('user_contactmethods', array($this, 'extend_user_profile'), 10, 1); + } + + function extend_user_profile($fields) { + $fields['discourse_username'] = 'Discourse Username'; + return $fields; + } + + function publish_post_to_discourse($postid){ + $post = get_post($postid); + if ( get_post_status($postid) == "publish" && + self::use_discourse_comments($postid) && + !self::is_custom_post_type($postid) + ) { + + // This seems a little redundant after `save_postdata` but when using the Press This + // widget it updates the field as it should. + add_post_meta($postid, 'publish_to_discourse', "1", true); + + self::sync_to_discourse($postid, $post->post_title, $post->post_content); + } + } + + // When publishing by xmlrpc, ignore the `publish_to_discourse` option + function xmlrpc_publish_post_to_discourse($postid){ + $post = get_post($postid); + if (get_post_status($postid) == "publish" && !self::is_custom_post_type($postid)) { + add_post_meta($postid, 'publish_to_discourse', "1", true); + self::sync_to_discourse($postid, $post->post_title, $post->post_content); + } + } + + function is_custom_post_type( $post = NULL ){ + $all_custom_post_types = get_post_types( array ( '_builtin' => FALSE ) ); + + // there are no custom post types + if ( empty ( $all_custom_post_types ) ) + return FALSE; + + $custom_types = array_keys( $all_custom_post_types ); + $current_post_type = get_post_type( $post ); + + // could not detect current type + if ( ! $current_post_type ) + return FALSE; + + return in_array( $current_post_type, $custom_types ); + } + + function publish_active() { + if (isset($_POST['showed_publish_option'])) { + return $_POST['publish_to_discourse'] == "1"; + } else { + return true; + } + } + + function save_postdata($postid) + { + if ( !current_user_can( 'edit_page', $postid ) ) return $postid; + if(empty($postid)) return $postid; + + # trust me ... WordPress is crazy like this, try changing a title. + if(!isset($_POST['ID'])) return $postid; + + if($_POST['action'] == 'editpost'){ + delete_post_meta($_POST['ID'], 'publish_to_discourse'); + } + + add_post_meta($_POST['ID'], 'publish_to_discourse', self::publish_active() ? "1" : "0", true); + + return $postid; + } + + function sync_to_discourse($postid, $title, $raw){ + global $wpdb; + + // this avoids a double sync, just 1 is allowed to go through at a time + $got_lock = $wpdb->get_row( "SELECT GET_LOCK('discourse_sync_lock', 0) got_it"); + if($got_lock) { + self::sync_to_discourse_work($postid, $title, $raw); + $wpdb->get_results("SELECT RELEASE_LOCK('discourse_sync_lock')"); + } + } + + function sync_to_discourse_work($postid, $title, $raw) { + $discourse_id = get_post_meta($postid, 'discourse_post_id', true); + $options = get_option('discourse'); + $post = get_post($postid); + + + $excerpt = apply_filters('the_content', $raw); + $excerpt = wp_trim_words($excerpt, $options['custom-excerpt-length']); + + if(function_exists('discourse_custom_excerpt')){ + $excerpt = discourse_custom_excerpt($postid); + } + + $baked = $options['publish-format']; + $baked = str_replace("{excerpt}", $excerpt, $baked); + $baked = str_replace("{blogurl}", get_permalink($postid), $baked); + $author_id=$post->post_author; + $author = get_the_author_meta( "display_name", $author_id ); + $baked = str_replace("{author}", $author, $baked); + $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($postid), 'thumbnail' ); + $baked = str_replace("{thumbnail}", "![image](".$thumb['0'].")", $baked); + $featured = wp_get_attachment_image_src( get_post_thumbnail_id($postid), 'full' ); + $baked = str_replace("{featuredimage}", "![image](".$featured['0'].")", $baked); + + $username = get_the_author_meta('discourse_username', $post->post_author); + if(!$username || strlen($username) < 2) { + $username = $options['publish-username']; + } + + $data = array( + 'wp-id' => $postid, + 'api_key' => $options['api-key'], + 'api_username' => $username, + 'title' => $title, + 'raw' => $baked, + 'category' => $options['publish-category'], + 'skip_validations' => 'true', + 'auto_track' => ($options['auto-track'] == "1" ? 'true' : 'false') + ); + + + if(!$discourse_id > 0) { + $url = $options['url'] .'/posts'; + + // use key 'http' even if you send the request to https://... + $soptions = array('http' => array('ignore_errors' => true, 'method' => 'POST','content' => http_build_query($data))); + $context = stream_context_create($soptions); + $result = file_get_contents($url, false, $context); + $json = json_decode($result); + + #todo may have $json->errors with list of errors + + if(property_exists($json, 'id')) { + $discourse_id = (int)$json->id; + } + + + if(isset($discourse_id) && $discourse_id > 0) { + add_post_meta($postid, 'discourse_post_id', $discourse_id, true); + } + + } + else { + # for now the updates are just causing grief, leave'em out + return; + $url = $options['url'] .'/posts/' . $discourse_id ; + $soptions = array('http' => array('ignore_errors' => true, 'method' => 'PUT','content' => http_build_query($data))); + $context = stream_context_create($soptions); + $result = file_get_contents($url, false, $context); + $json = json_decode($result); + + if(isset($json->post)) { + $json = $json->post; + } + + # todo may have $json->errors with list of errors + } + + if(isset($json->topic_slug)){ + delete_post_meta($postid,'discourse_permalink'); + add_post_meta($postid,'discourse_permalink', $options['url'] . '/t/' . $json->topic_slug . '/' . $json->topic_id, true); + } + } + + + function publish_to_discourse() + { + global $post; + + $options = get_option('discourse'); + if($post->post_status=="auto-draft") { + $value = $options['auto-publish']; + } else { + $value = get_post_meta($post->ID, 'publish_to_discourse', true); + } + + echo '
      + ' + . '' + . '' + .'
      '; + } + + + function init_default_settings() { + + } + + function url_input(){ + self::text_input('url', 'Enter your discourse url Eg: http://discuss.mysite.com'); + } + + function api_key_input(){ + self::text_input('api-key', ''); + } + + function publish_username_input(){ + self::text_input('publish-username', 'Discourse username of publisher (will be overriden if Discourse Username is specified on user)'); + } + + function publish_category_input(){ + self::text_input('publish-category', 'Category post will be published in Discourse (optional)'); + } + + function publish_format_textarea(){ + self::text_area('publish-format', 'Markdown format for published articles, use {excerpt} for excerpt and {blogurl} for the url of the blog post'); + } + + function max_comments_input(){ + self::text_input('max-comments', 'Maximum number of comments to display'); + } + + function use_fullname_in_comments_checkbox(){ + self::checkbox_input('use-fullname-in-comments', 'Use the users full name in blog comment section'); + } + + function auto_publish_checkbox(){ + self::checkbox_input('auto-publish', 'Publish all new posts to Discourse'); + } + + function auto_track_checkbox(){ + self::checkbox_input('auto-track', 'Author automatically tracks pulished Discourse topics'); + } + + function auto_update_checkbox(){ + self::checkbox_input('auto-update', 'Update published blog posts on Discourse'); + } + + function use_discourse_comments_checkbox(){ + self::checkbox_input('use-discourse-comments', 'Use Discourse to comment on Discourse published posts (hiding existing comment section)'); + } + + function min_replies_input(){ + self::text_input('min-replies', 'Minimum replies required prior to pulling comments across'); + } + + function min_trust_level_input(){ + self::text_input('min-trust-level', 'Minimum trust level required prior to pulling comments across (0-5)'); + } + + function min_score_input(){ + self::text_input('min-score', 'Minimum score required prior to pulling comments across (score = 15 points per like, 5 per reply, 5 per incoming link, 0.2 per read)'); + } + + function custom_comment_input(){ + self::text_input('custom-comments-title', 'Custom comments title (default: Notable Replies)'); + } + + function custom_excerpt_length(){ + self::text_input('custom-excerpt-length', 'Custom excerpt length in words (default: 55)'); + } + + function bypass_trust_level_input(){ + self::text_input('bypass-trust-level-score', 'Bypass trust level check on posts with this score'); + } + + function debug_mode_checkbox(){ + self::checkbox_input('debug-mode', '(always refresh comments)'); + } + + function only_show_moderator_liked_checkbox(){ + self::checkbox_input('only-show-moderator-liked', 'Yes'); + } + + function checkbox_input($option, $description) { + + $options = get_option( 'discourse' ); + if (array_key_exists($option, $options) and $options[$option] == 1) { + $value = 'checked="checked"'; + } else { + $value = ''; + } + + ?> + + /> + + + +
      + +
      +

      Discourse Options

      +
      + + + +
      +
      + How to Use: You can check more details here
      +

      Lightbox Demo: You can see live demohere

      +
        +
      1. You can use WordPress image galleries and have them grouped and auto-lightboxed: [gallery link="file"]
      2. +
      3. You can also add a rel="lightbox" attribute to any link tag to activate the lightbox. For example: +
        	<a href="images/image-1.jpg" rel="lightbox" title="my caption">image #1</a>
        + Optional: Use the title attribute if you want to show a caption. +
      4. +
      5. If you have a set of related images that you would like to group, simply include a group name in the rel attribute. For example: +
        	<a href="images/image-1.jpg" rel="lightbox[roadtrip]">image #1</a>
        +	<a href="images/image-2.jpg" rel="lightbox[roadtrip]">image #2</a>
        +	<a href="images/image-3.jpg" rel="lightbox[roadtrip]">image #3</a>
        + No limits to the number of image sets per page or how many images are allowed in each set. Go nuts!
      6. +
      7. To disable lightboxing of an image link, just set any other rel-attribute: rel="nobox"
      8. +
      +

      For developers:

      +
        +
      1. Always have wp_footer(); just before the closing </body> tag of your theme, or you will break many plugins, which generally use this hook to reference JavaScript files
      2. +
      3. Apply lightbox to any content by running jqlb_apply_lightbox($your_content, "any ID"); It returns a string with all image links lightboxed, grouped by "any id"
      4. +
      5. Many JavaScript optimizers, combiners, minifiers, etc. conflict with wp_localize_script(), used to configure this plugin and many others. +
          +
        • If you experience problems with jQuery Lightbox, please disable all JavaScript-optimizing plugins. (Optimize Scripts, W3 Total Cache, WP Minify etc)
        • +
        • If you develop JavaScript optimizers for WordPress, please play nice with the default API...
        • +
        +
      6. +
      +

      Credits

      + +

      Changes to Lightbox-script:

      + Takes the WordPress admin bar into consideration.
      + Resizing code manages both height and width and never destroy aspect ratio.
      + Scaling routines now maximize images fully while taking captions into account.
      + Added support for browser resizing and orientation changes - allowing images to remain optimally scaled and centered.
      + WP Lightbox 2 rely on rel="lightbox" instead of class="lightbox", since rel is what all the previous *box-scripts used.
      + Replaced explicit IMG-urls with divs styled through the CSS. (see: jqlb_loading and jqlb_closelabel divs).
      + Can grab titles and captions from the WordPress Media Gallery-output ([gallery], "insert attachments" etc).
      + Grabs image title if the link lacks one
      + Honors empty titles.
      + Uses WordPress API to localize script (with safe fallbacks).
      +

      + \ No newline at end of file diff --git a/wp-content/plugins/wp-lightbox-2/I18n/wp-lightbox-2.pot b/wp-content/plugins/wp-lightbox-2/I18n/wp-lightbox-2.pot new file mode 100644 index 0000000..53b4005 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/I18n/wp-lightbox-2.pot @@ -0,0 +1,46 @@ +# Copyright (C) 2010 +# This file is distributed under the same license as the package. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-lightbox-2\n" +"POT-Creation-Date: 2011-11-27 17:40:12+00:00\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" + +#: options.php:17 +msgid "WP Lightbox 2 Options" +msgstr "" + +#: options.php:22 +msgid "Lightbox Appearance" +msgstr "" + +#: options.php:54 +msgid "If in doubt, try the Black theme" +msgstr "" + +#: options.php:58 +msgid "Auto-lightbox image links" +msgstr "" + +#: options.php:68 +msgid "Let the plugin add necessary html to image links" +msgstr "" + +#: options.php:71 +msgid "Shrink large images to fit smaller screens" +msgstr "" + +#: options.php:81 +msgid "" +"Note: Excessively large images waste bandwidth and slow browsing!" +msgstr "" + +#: options.php:87 +msgid "Save Changes" +msgstr "" diff --git a/wp-content/plugins/wp-lightbox-2/about.php b/wp-content/plugins/wp-lightbox-2/about.php new file mode 100644 index 0000000..ca09f56 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/about.php @@ -0,0 +1,15 @@ + + +

      From the author

      +

      My name is Pankaj Jha and I've developed WP Lightbox 2. Nice to meet you! :)

      +

      Learn more about WP Lightbox 2

      +

      Forums/Discussion

      +

      WP Lightbox 2 Demo

      +

      WP Lightbox 2 FAQ

      +
    "; +?> diff --git a/wp-content/plugins/wp-lightbox-2/readme.txt b/wp-content/plugins/wp-lightbox-2/readme.txt new file mode 100644 index 0000000..c6645e1 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/readme.txt @@ -0,0 +1,222 @@ +=== WP Lightbox 2 === +Contributors: masdiblogs +Plugin Site: http://yepinol.com/lightbox-2-plugin-wordpress/ +Donate link: http://onlinewebapplication.com/onlinewebapplication-com-donation/ +Tags: lightbox, WP Lightbox, AJAX, image, photo, picture, JQuery WP Image Plugin, colorbox, photo albums, slideshow, image map, imagemap, flash, gallery, AJAX slideshow, JQuery slideshow +Requires at least: 3.0 +Tested up to: 3.8.1 +Stable tag: trunk +License: GPLv2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html + +This plugin used to add the lightbox (overlay) effect to the current page images on your WordPress blog. +== Description == +From 2.1, the default view changed to [Colorbox](http://yepinol.com/lightbox-2-plugin-wordpress/) due to the license regulation by the plugin directory. This plugin used to add the lightbox (overlay) effect to the current page images on your WordPress blog. Used to overlay images on the current page. Extension of wp-jquery-lightbox. + +Just install and sit back. This plugin enable image overlay lighbox effect for all the post images in your wordpress plugin. No configuration required. + +This is the first [Ligtbox plugin](http://onlinewebapplication.com/wp-lightbox-2/) which support Image Map. + +Feature: + +1. Works on all modern browsers. +2. Group related images in post and navigate through them with ease. +3. Backwards Compatibility. +4. No configuration required. +5. 5 Inbuilt theme. +6. Lightbox display of Gallery. +7. Display image metadata (caption, description, etc.) in lightbox +8. Group image links (play as a slideshow) +9. Compatible with wordpress HTML5 + +See the plugin in action here: +[Ligtbox plugin Demo](http://yepinol.com/wp-lightbox-2-plugin-wordpress-demo/) + + +[Know How to use WP Lighbox 2](http://onlinewebapplication.com/how-to-use-wp-lightbox-2-wordpress-plugin/)
    + +Troubleshooting: +Please read the [FAQ](http://yepinol.com/wp-lightbox-2-faq/) first if you are having problems. + +If you are unable to resolve your problem with the information provided in the FAQ please leave your comments or submit a support [request](http://forums.onlinewebapplication.com/). + +If you value my plugins, please help me out by rate this. +
    +[Author Site](http://onlinewebapplication.com)
    +[Lightbox 2 Plugin Home Page](http://yepinol.com/lightbox-2-plugin-wordpress/) +
    +
    +== Installation == + +To do a new installation of the plugin, please follow these steps + +1. Download the zipped plugin file to your local machine. +2. Unzip the file. +3. Upload the `WP-lightbox-2` folder to the `/wp-content/plugins/` directory. +4. Activate the plugin through the 'Plugins' menu in WordPress. +5. Optionally, go to the Options page and select a new Lightbox colour scheme. + +
    +[How to use WP Lighbox 2](http://onlinewebapplication.com/how-to-use-wp-lightbox-2-wordpress-plugin/)
    +[Demo](http://demo.onlinewebapplication.com/wp-lightbox-2-demo/)
    +[FAQ](http://yepinol.com/wp-lightbox-2-faq/) +== Frequently Asked Questions == +[Demo](http://demo.onlinewebapplication.com/wp-lightbox-2-demo/) + +Question: Why does not plugin is working for me? + +Answers: Check the following reasons: +You have changed the plugin folder`s name to something other than wp-lightbox-2. + +The problem is with your WordPress theme, mangling image display properties. Use another theme, that does not interfere with posted images. + +You have other plugins that conflict with Lightbox + +Disable your other plugins and see if that helps. If it does, re-enable each plugin, one at a time to see which one is causing the conflict. + +Question: It does not work properly in Browser X (Explorer 6, 7, etc)? + +Answer: Yes it does. The problem is with your WordPress theme, mangling image display properties. Use another theme, or change your theme`s Cascading Style Sheets (CSS). + +
    +You can check more FAQ on plugin official website URL :
    + +[WP Lightbox 2 FAQ](http://yepinol.com/wp-lightbox-2-faq/)
    + +[WP Lightbox 2 Official URL](http://onlinewebapplication.com/wp-lightbox-2/)
    + +== Screenshots == +[Demo](http://demo.onlinewebapplication.com/wp-lightbox-2-demo/) + +You can check Screen Shots on plugin website URL :
    +WP Lightbox 2 [Link 1](http://onlinewebapplication.com/wp-lightbox-2/)
    +WP Lightbox 2 [Link 2](http://yepinol.com/lightbox-2-plugin-wordpress/)
    + +== Changelog == += 2.28.8.3 = +* Fixed full screen image close issue [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.8.2 = +* Compatible with wordpress 3.8.1. Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.8.1 = +* Fixed navigation Issue. Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.8 = +* Compatible with wordpress 3.8 Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.7 = +* Compatible with wordpress 3.7.1 Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.6.1 = +* Fixed navigation issue (minor release). Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.5 = +*Compatible with wordpress 3.6.1 Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/). + += 2.28.4 = +*Compatible with wordpress 3.6. Check more details [here](http://forums.onlinewebapplication.com/wp-ligbox2-release-2-28-3/). + += 2.28.3 = +* Fixed HTML5 Themes support issues. Check more details [here] +(http://onlinewebapplication.com/wp-lightbox-2/). + += 2.28.2 = +* Compatible with wordpress HTML5 Themes. Check more details [here](http://forums.onlinewebapplication.com/wp-ligbox2-release-2-28-2/). + += 2.28.1 = +Fixed PHP 5 comment bug that got reintroduced into plugin. Check more details [here](http://onlinewebapplication.com/wp-lightbox-2/). + += 2.28 = +*Use wp_enqueue_scripts instead. Check support thread (http://wordpress.org/support/topic/please-stop-using-the-wp_print_scripts-action-hook-to-load-your-javascript). + += 2.27 = +* Compatible with wordpress 3.5.1. Check more details [here](http://onlinewebapplication.com/wp-lightbox-2/). + += 2.26 = +* Compatible with wordpress 3.5 . Check more details [here](http://yepinol.com/lightbox-2-plugin-wordpress/) + += 2.25 = +* Compatible with wordpress 3.4.2 (Fixed PHP 5 bug) +* Fixed Bug [Stopped Working with W3 Total Cache](http://onlinewebapplication.com/wp-lightbox-2/) + += 2.24 = +* Compatible with wordpress 3.4.2 + += 2.23 = +* Updated jQuery calls. + += 2.22 = +* Fixed one s, that caused a fatal error. + += 2.21 = +* Image Map +* Shrink large images to fit smaller screens. + += 2.2 = +* Bug Fixed [Can't install update](http://wordpress.org/support/topic/plugin-wp-lightbox-2-cant-installa-update). + += 2.1 = +* Default view changed to Colorbox due to the license regulation by the plugin directory. + += 2.0 = +* List versions. +* Works on all modern browsers. +* Group related images in post and navigate through them with ease. +* Backwards Compatibility. +* No configuration required. +* 5 Inbuilt theme. +* Lightbox display of Gallery. + +== Upgrade Notice == += 2.28.8.3 = +* Fixed full screen image close issue + += 2.28.8.2 = +* Compatible with wordpress 3.8.1 + += 2.28.8.1 = +* Fixed navigation issue. + += 2.28.8 = +* Compatible with wordpress 3.8 + += 2.28.7 = +* Compatible with wordpress 3.7.1 + += 2.28.6.1 = +* Fixed navigation issue (minor release) + += 2.28.5 = +* Compatible with wordpress 3.6.1 + += 2.28.4 = +* Compatible with wordpress 3.6. + += 2.28.3 = +* Fixed HTML5 Themes support issues + += 2.28.2 = +*Compatible with wordpress HTML5. + += 2.28.1 = +*Fixed PHP 5 comment bug that got reintroduced into plugin. + += 2.28 = +*Use wp_enqueue_scripts instead + += 2.27 = +* Compatible with wordpress 3.5.1. + += 2.26 = +* Compatible with wordpress 3.5 + += 2.25 = +Compatible with wordpress 3.4.2 (Fixed PHP 5 bug) +Fixed Bug [Stopped Working with W3 Total Cache](http://onlinewebapplication.com/wp-lightbox-2/) + += 2.24 = +Compatible with wordpress 3.4.2 + += 2.1 = +Default view changed to Colorbox due to the license regulation by the plugin directory. \ No newline at end of file diff --git a/wp-content/plugins/wp-lightbox-2/screenshot-1.png b/wp-content/plugins/wp-lightbox-2/screenshot-1.png new file mode 100644 index 0000000..5bd86f8 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/screenshot-1.png differ diff --git a/wp-content/plugins/wp-lightbox-2/screenshot-2.png b/wp-content/plugins/wp-lightbox-2/screenshot-2.png new file mode 100644 index 0000000..1b3e158 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/screenshot-2.png differ diff --git a/wp-content/plugins/wp-lightbox-2/screenshot-3.png b/wp-content/plugins/wp-lightbox-2/screenshot-3.png new file mode 100644 index 0000000..8ee4824 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/screenshot-3.png differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/blank.gif b/wp-content/plugins/wp-lightbox-2/styles/images/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/blank.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/close.gif b/wp-content/plugins/wp-lightbox-2/styles/images/close.gif new file mode 100644 index 0000000..ca517b6 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/close.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/closelabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/closelabel.gif new file mode 100644 index 0000000..87b4f8b Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/closelabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/blank.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/blank.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/close.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/close.gif new file mode 100644 index 0000000..ca517b6 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/close.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/closelabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/closelabel.gif new file mode 100644 index 0000000..102893b Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/closelabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/loading.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/loading.gif new file mode 100644 index 0000000..f864d5f Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/loading.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/next.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/next.gif new file mode 100644 index 0000000..1fe6ca1 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/next.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/nextlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/nextlabel.gif new file mode 100644 index 0000000..ee99a90 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/nextlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/prev.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/prev.gif new file mode 100644 index 0000000..aefa804 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/prev.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/prevlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/prevlabel.gif new file mode 100644 index 0000000..2fa945e Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/cs_CZ/prevlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/blank.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/blank.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/close.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/close.gif new file mode 100644 index 0000000..ca517b6 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/close.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/closelabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/closelabel.gif new file mode 100644 index 0000000..3201516 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/closelabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/loading.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/loading.gif new file mode 100644 index 0000000..f864d5f Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/loading.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/next.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/next.gif new file mode 100644 index 0000000..1fe6ca1 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/next.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/nextlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/nextlabel.gif new file mode 100644 index 0000000..c05e982 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/nextlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/prev.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/prev.gif new file mode 100644 index 0000000..aefa804 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/prev.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/prevlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/prevlabel.gif new file mode 100644 index 0000000..83d65e7 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/he_IL/prevlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/loading.gif b/wp-content/plugins/wp-lightbox-2/styles/images/loading.gif new file mode 100644 index 0000000..f864d5f Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/loading.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/next.gif b/wp-content/plugins/wp-lightbox-2/styles/images/next.gif new file mode 100644 index 0000000..1fe6ca1 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/next.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/nextlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/nextlabel.gif new file mode 100644 index 0000000..6c40e51 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/nextlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/pl_PL/closelabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/pl_PL/closelabel.gif new file mode 100644 index 0000000..9b979b5 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/pl_PL/closelabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/prev.gif b/wp-content/plugins/wp-lightbox-2/styles/images/prev.gif new file mode 100644 index 0000000..aefa804 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/prev.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/prevlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/prevlabel.gif new file mode 100644 index 0000000..51a31c2 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/prevlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/blank.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/blank.gif new file mode 100644 index 0000000..1d11fa9 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/blank.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/close.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/close.gif new file mode 100644 index 0000000..ca517b6 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/close.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/closelabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/closelabel.gif new file mode 100644 index 0000000..ec05f38 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/closelabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/loading.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/loading.gif new file mode 100644 index 0000000..f864d5f Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/loading.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/next.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/next.gif new file mode 100644 index 0000000..1fe6ca1 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/next.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/nextlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/nextlabel.gif new file mode 100644 index 0000000..738ee88 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/nextlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/prev.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/prev.gif new file mode 100644 index 0000000..aefa804 Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/prev.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/prevlabel.gif b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/prevlabel.gif new file mode 100644 index 0000000..63f99ff Binary files /dev/null and b/wp-content/plugins/wp-lightbox-2/styles/images/ru_RU/prevlabel.gif differ diff --git a/wp-content/plugins/wp-lightbox-2/styles/lightbox.css b/wp-content/plugins/wp-lightbox-2/styles/lightbox.css new file mode 100644 index 0000000..599be6e --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/styles/lightbox.css @@ -0,0 +1,149 @@ +/** + * WP jQuery Lightbox + * Version 1.3.4 - 2011-12-29 + * http://wordpress.org/extend/plugins/wp-jquery-lightbox/ + */ +#lightbox{ + position: absolute; + left: 0; + width: 100%; + z-index: 10100;/*twentyeleven keeps the header at 999...*/ + text-align: center; + line-height: 0; + } + +#jqlb_loading{ + height:32px; + background-image:url('./images/loading.gif'); + background-repeat:no-repeat; + background-position:center center; +} +#jqlb_closelabel{ + height:22px; + background-image:url('./images/closelabel.gif'); + background-repeat:no-repeat; + background-position:center center; +} + +#lightbox a img{ border: none; } + +#outerImageContainer{ + position: relative; + background-color: #fff; + width: 250px; + height: 250px; + margin: 0 auto; + } + +#imageContainer{ + padding: 10px; + } + +#loading{ + position: absolute; + top: 40%; + left: 0%; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; + } +#hoverNav{ + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; + } +#imageContainer>#hoverNav{ left: 0;} +#hoverNav a{ outline: none;} + +#prevLink, #nextLink{ + width: 45%; + height: 100%; + background: transparent url('./images/blank.gif') no-repeat; /* Trick IE into showing hover */ + display: block; + } +#prevLink { left: 0; float: left;} +#nextLink { right: 0; float: right;} +#prevLink:hover, #prevLink:visited:hover { background: url('./images/prev.gif') left 50% no-repeat; } +#nextLink:hover, #nextLink:visited:hover { background: url('./images/next.gif') right 50% no-repeat; } + +/*** START : next / previous text links ***/ +#nextLinkText, #prevLinkText{ +color: #FF9834; +font-weight:bold; +text-decoration: none; +} +#nextLinkText{ +padding-left: 20px; +} +#prevLinkText{ +padding-right: 20px; +} +#downloadLink{ +margin-left: 10px; +} +/*** END : next / previous text links ***/ +/*** START : added padding when navbar is on top ***/ + +.ontop #imageData { + padding-top: 5px; +} + +/*** END : added padding when navbar is on top ***/ + +#imageDataContainer{ + font: 10px Verdana, Helvetica, sans-serif; + background-color: #fff; + margin: 0 auto; + line-height: 1.4em; + } + +#imageData{ + padding:0 10px; + } +#imageData #imageDetails{ width: 70%; float: left; text-align: left; } +#imageData #caption{ font-weight: bold; } +#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em; } +#imageData #bottomNavClose{ width: 66px; float: right; padding-bottom: 0.7em; } +#imageData #helpDisplay {clear: left; float: left; display: block; } + +#overlay{ + position: absolute; + top: 0; + left: 0; + z-index: 10090; + width: 100%; + height: 500px; + background-color: #000; + filter:alpha(opacity=60); + -moz-opacity: 0.6; + opacity: 0.6; + display: none; + } + + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; + } + +* html>body .clearfix { + display: inline-block; + width: 100%; + } + +* html .clearfix { + /* Hides from IE-mac \*/ + height: 1%; + /* End hide from IE-mac */ + } + +#lightboxIframe { + display: none; +} diff --git a/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.cs_CZ.css b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.cs_CZ.css new file mode 100644 index 0000000..6ef99e5 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.cs_CZ.css @@ -0,0 +1 @@ +#lightbox{position:absolute;left:0;width:100%;z-index:10100;text-align:center;line-height:0}#jqlb_loading{height:32px;background-image:url('./images/cs_CZ/loading.gif');background-repeat:no-repeat;background-position:center center}#jqlb_closelabel{height:22px;background-image:url('./images/cs_CZ/closelabel.gif');background-repeat:no-repeat;background-position:center center}#lightbox a img{border:none}#outerImageContainer{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto}#imageContainer{padding:10px}#loading{position:absolute;top:40%;left:0;height:25%;width:100%;text-align:center;line-height:0}#hoverNav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}#imageContainer>#hoverNav{left:0}#hoverNav a{outline:none}#prevLink,#nextLink{width:45%;height:100%;background:transparent url('./images/cs_CZ/blank.gif') no-repeat;display:block}#prevLink{left:0;float:left}#nextLink{right:0;float:right}#prevLink:hover,#prevLink:visited:hover{background:url('./images/cs_CZ/prev.gif') left 50% no-repeat}#nextLink:hover,#nextLink:visited:hover{background:url('./images/cs_CZ/next.gif') right 50% no-repeat}#nextLinkText,#prevLinkText{color:#ff9834;font-weight:bold;text-decoration:none}#nextLinkText{padding-left:20px}#prevLinkText{padding-right:20px}.ontop #imageData{padding-top:5px}#imageDataContainer{font:10px Verdana,Helvetica,sans-serif;background-color:#fff;margin:0 auto;line-height:1.4em}#imageData{padding:0 10px}#imageData #imageDetails{width:70%;float:left;text-align:left}#imageData #caption{font-weight:bold}#imageData #numberDisplay{display:block;clear:left;padding-bottom:1.0em}#imageData #bottomNavClose{width:86px;float:right;padding-bottom:.7em}#imageData #helpDisplay{clear:left;float:left;display:block}#overlay{position:absolute;top:0;left:0;z-index:10090;width:100%;height:500px;background-color:#000;filter:alpha(opacity=60);-moz-opacity:.6;opacity:.6;display:none}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}* html>body .clearfix{display:inline-block;width:100%}* html .clearfix{/*\*/height:1%;/**/}#lightboxIframe{display:none} \ No newline at end of file diff --git a/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.css b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.css new file mode 100644 index 0000000..8056a32 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.css @@ -0,0 +1 @@ +#lightbox{position:absolute;left:0;width:100%;z-index:10100;text-align:center;line-height:0}#jqlb_loading{height:32px;background-image:url('./images/loading.gif');background-repeat:no-repeat;background-position:center center}#jqlb_closelabel{height:22px;background-image:url('./images/closelabel.gif');background-repeat:no-repeat;background-position:center center}#lightbox a img{border:0}#outerImageContainer{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto}#imageContainer{padding:10px}#loading{position:absolute;top:40%;left:0;height:25%;width:100%;text-align:center;line-height:0}#hoverNav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}#imageContainer>#hoverNav{left:0}#hoverNav a{outline:0}#prevLink,#nextLink{width:45%;height:100%;background:transparent url('./images/blank.gif') no-repeat;display:block}#prevLink{left:0;float:left}#nextLink{right:0;float:right}#prevLink:hover,#prevLink:visited:hover{background:url('./images/prev.gif') left 50% no-repeat}#nextLink:hover,#nextLink:visited:hover{background:url('./images/next.gif') right 50% no-repeat}#nextLinkText,#prevLinkText{color:#ff9834;font-weight:bold;text-decoration:none}#nextLinkText{padding-left:20px}#prevLinkText{padding-right:20px}#downloadLink{margin-left:10px}.ontop #imageData{padding-top:5px}#imageDataContainer{font:10px Verdana,Helvetica,sans-serif;background-color:#fff;margin:0 auto;line-height:1.4em}#imageData{padding:0 10px}#imageData #imageDetails{width:70%;float:left;text-align:left}#imageData #caption{font-weight:bold}#imageData #numberDisplay{display:block;clear:left;padding-bottom:1.0em}#imageData #bottomNavClose{width:66px;float:right;padding-bottom:.7em}#imageData #helpDisplay{clear:left;float:left;display:block}#overlay{position:absolute;top:0;left:0;z-index:10090;width:100%;height:500px;background-color:#000;filter:alpha(opacity=60);-moz-opacity:.6;opacity:.6;display:none}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}* html>body .clearfix{display:inline-block;width:100%}* html .clearfix{/*\*/height:1%;/**/}#lightboxIframe{display:none} \ No newline at end of file diff --git a/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.pl_PL.css b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.pl_PL.css new file mode 100644 index 0000000..1fa5022 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.pl_PL.css @@ -0,0 +1,2 @@ +#lightbox{position:absolute;left:0;width:100%;z-index:100;text-align:center;line-height:0}#jqlb_loading{height:32px;background-image:url('./images/loading.gif');background-repeat:no-repeat;background-position:center center}#jqlb_closelabel{height:22px;background-image:url('./images/closelabel.gif');background-repeat:no-repeat;background-position:center center}#lightbox a img{border:none}#outerImageContainer{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto}#imageContainer{padding:10px}#loading{position:absolute;top:40%;left:0;height:25%;width:100%;text-align:center;line-height:0}#hoverNav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}#imageContainer>#hoverNav{left:0}#hoverNav a{outline:none}#prevLink,#nextLink{width:49%;height:100%;background:transparent url('./images/blank.gif') no-repeat;display:block}#prevLink{left:0;float:left}#nextLink{right:0;float:right}#prevLink:hover,#prevLink:visited:hover{background:url('./images/prev.gif') left 50% no-repeat}#nextLink:hover,#nextLink:visited:hover{background:url('./images/next.gif') right 50% no-repeat}#nextLinkText,#prevLinkText{color:#ff9834;font-weight:bold;text-decoration:none}#nextLinkText{padding-left:20px}#prevLinkText{padding-right:20px}#downloadLink{margin-left:10px}.ontop #imageData{padding-top:5px}#imageDataContainer{font:10px Verdana,Helvetica,sans-serif;background-color:#fff;margin:0 auto;line-height:1.4em}#imageData{padding:0 10px}#imageData #imageDetails{width:70%;float:left;text-align:left}#imageData #caption{font-weight:bold}#imageData #numberDisplay{display:block;clear:left;padding-bottom:1.0em}#imageData #bottomNavClose{width:66px;float:right;padding-bottom:.7em}#imageData #helpDisplay{clear:left;float:left;display:block}#overlay{position:absolute;top:0;left:0;z-index:90;width:100%;height:500px;background-color:#000;filter:alpha(opacity=60);-moz-opacity:.6;opacity:.6;display:none}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}* html>body .clearfix{display:inline-block;width:100%}* html .clearfix{/*\*/height:1%;/**/}#lightboxIframe{display:none} +#jqlb_closelabel{background-image:url('./images/pl_PL/closelabel.gif');} \ No newline at end of file diff --git a/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.ru_RU.css b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.ru_RU.css new file mode 100644 index 0000000..0e1af80 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/styles/lightbox.min.ru_RU.css @@ -0,0 +1 @@ +#lightbox{position:absolute;left:0;width:100%;z-index:10100;text-align:center;line-height:0}#jqlb_loading{height:32px;background-image:url('./images/ru_RU/loading.gif');background-repeat:no-repeat;background-position:center center}#jqlb_closelabel{height:22px;background-image:url('./images/ru_RU/closelabel.gif');background-repeat:no-repeat;background-position:center center}#lightbox a img{border:none}#outerImageContainer{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto}#imageContainer{padding:10px}#loading{position:absolute;top:40%;left:0;height:25%;width:100%;text-align:center;line-height:0}#hoverNav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}#imageContainer>#hoverNav{left:0}#hoverNav a{outline:none}#prevLink,#nextLink{width:45%;height:100%;background:transparent url('./images/ru_RU/blank.gif') no-repeat;display:block}#prevLink{left:0;float:left}#nextLink{right:0;float:right}#prevLink:hover,#prevLink:visited:hover{background:url('./images/ru_RU/prev.gif') left 50% no-repeat}#nextLink:hover,#nextLink:visited:hover{background:url('./images/ru_RU/next.gif') right 50% no-repeat}#nextLinkText,#prevLinkText{color:#ff9834;font-weight:bold;text-decoration:none}#nextLinkText{padding-left:20px}#prevLinkText{padding-right:20px}.ontop #imageData{padding-top:5px}#imageDataContainer{font:10px Verdana,Helvetica,sans-serif;background-color:#fff;margin:0 auto;line-height:1.4em}#imageData{padding:0 10px}#imageData #imageDetails{width:70%;float:left;text-align:left}#imageData #caption{font-weight:bold}#imageData #numberDisplay{display:block;clear:left;padding-bottom:1.0em}#imageData #bottomNavClose{width:86px;float:right;padding-bottom:.7em}#imageData #helpDisplay{clear:left;float:left;display:block}#overlay{position:absolute;top:0;left:0;z-index:10090;width:100%;height:500px;background-color:#000;filter:alpha(opacity=60);-moz-opacity:.6;opacity:.6;display:none}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}* html>body .clearfix{display:inline-block;width:100%}* html .clearfix{/*\*/height:1%;/**/}#lightboxIframe{display:none} \ No newline at end of file diff --git a/wp-content/plugins/wp-lightbox-2/wp-lightbox-2.js b/wp-content/plugins/wp-lightbox-2/wp-lightbox-2.js new file mode 100644 index 0000000..d76a768 --- /dev/null +++ b/wp-content/plugins/wp-lightbox-2/wp-lightbox-2.js @@ -0,0 +1,513 @@ +/** + * Plugin Name: WP Lightbox 2 + * Plugin URI: http://yepinol.com/lightbox-2-plugin-wordpress/ + * Description: This plugin used to add the lightbox (overlay) effect to the current page images on your WordPress blog. + * Version: 2.28.8.3 + * Author: Pankaj Jha + * Author URI: http://onlinewebapplication.com/ + * License: GNU General Public License, v2 (or newer) + * License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + */ +/* Copyright 2011 Pankaj Jha (onlinewebapplication.com) + + 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 using version 2 of the License. + + 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +/** + * jQuery Lightbox + * Version 0.5 - 11/29/2007 + * @author Warren Krewenki + * + * This package is distributed under the BSD license. + * For full license information, see LICENSE.TXT + * + * Based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * Originally written to make use of the Prototype framework, and Script.acalo.us, now altered to use jQuery. + **/ + /** toyNN: davidtg@comtrya.com: fixed IE7-8 incompatabilities in 1.3.* branch **/ +(function($){ + $.fn.lightbox = function(options) { + var opts = $.extend({}, $.fn.lightbox.defaults, options); + function onClick() { + initialize(); + start(this); + return false; + } + if(parseFloat($().jquery) >= 1.7){ + return $(this).on("click", onClick); + }else{ + return $(this).live("click", onClick); //deprecated since 1.7 + } + + function initialize() { + $(window).bind('orientationchange', resizeListener); + $(window).bind('resize', resizeListener); + // if (opts.followScroll) { $(window).bind('scroll', orientListener); } + $('#overlay').remove(); + $('#lightbox').remove(); + opts.isIE8 = isIE8(); // //http://www.grayston.net/2011/internet-explorer-v8-and-opacity-issues/ + opts.inprogress = false; + // if jsonData, build the imageArray from data provided in JSON format + if (opts.jsonData && opts.jsonData.length > 0) { + var parser = opts.jsonDataParser ? opts.jsonDataParser : $.fn.lightbox.parseJsonData; + opts.imageArray = []; + opts.imageArray = parser(opts.jsonData); + } + var outerImage = '
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + /> + +
    + + /> + +
    + + /> + + + + + +
    + + /> + +
    + + /> + + + + +
    + + +
    + + +
    +

    +

    + +

    +
    + The documentation files are missing! Try downloading and re-installing this lightbox plugin.

    '; + } + echo $text; + ?> +
    + diff --git a/wp-content/plugins/wp-linked-data/controller/UserProfileController.php b/wp-content/plugins/wp-linked-data/controller/UserProfileController.php new file mode 100644 index 0000000..afcbc2a --- /dev/null +++ b/wp-content/plugins/wp-linked-data/controller/UserProfileController.php @@ -0,0 +1,60 @@ +webIdService = $webIdService; + } + + /** + * Renders html fields that allow to input WebID specific information + * @param $user The user who's profile is shown + */ + public function renderWebIdSection ($user) { + include (WP_LINKED_DATA_PLUGIN_DIR_PATH . 'view/webId.html'); + } + + /** + * Stores the WebID specific information in the user's meta data + * @param $userId The ID of the user that is saved + * @return bool Whether the save succeeded + */ + public function saveWebIdData ($userId) { + if (!current_user_can ('edit_user', $userId)) { + return false; + } + update_user_meta ($userId, 'webIdLocation', $this->getWebIdLocation ()); + update_user_meta ($userId, 'webId', $_POST['webId']); + update_user_meta ($userId, 'publicKeyModulus', $_POST['publicKeyModulus']); + update_user_meta ($userId, 'publicKeyExponent', $_POST['publicKeyExponent']); + $this->saveAdditionalRdf ($userId); + return true; + } + + public function saveAdditionalRdf ($userId) { + try { + $serializedRdf = trim (stripslashes ($_POST['additionalRdf'])); + if (!empty($serializedRdf)) { + $graph = new \EasyRdf_Graph(); + $graph->parse ($serializedRdf); // parsing if done to check if syntax is valid + update_user_meta ($userId, 'additionalRdf', $serializedRdf); + } else { + update_user_meta ($userId, 'additionalRdf', ''); + } + } catch (\Exception $ex) { + wp_die ('Addtional RDF Triples could not be saved. Cause: ' . $ex->getMessage ()); + } + } + + public function getWebIdLocation () { + return empty($_POST['webId']) ? WebIdService::LOCAL_WEB_ID : $_POST['webIdLocation']; + } + +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf.php new file mode 100644 index 0000000..67efab7 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf.php @@ -0,0 +1,210 @@ + 0.5) where 0.5 is the + * q value for that type. The types are sorted by q value + * before constructing the string. + * + * @param array $extraTypes extra MIME types to add + * @return string list of supported MIME types + */ + public static function getHttpAcceptHeader($extraTypes=array()) + { + $accept = $extraTypes; + foreach (self::$_formats as $format) { + if ($format->_parserClass and count($format->_mimeTypes) > 0) { + $accept = array_merge($accept, $format->_mimeTypes); + } + } + arsort($accept, SORT_NUMERIC); + + $acceptStr=''; + foreach ($accept as $type => $q) { + if ($acceptStr) + $acceptStr .= ','; + if ($q == 1.0) { + $acceptStr .= $type; + } else { + $acceptStr .= sprintf("%s;q=%1.1f", $type, $q); + } + } + return $acceptStr; + } + + /** Check if a named graph exists + * + * @param string $name the name of the format + * @return boolean true if the format exists + */ + public static function formatExists($name) + { + return array_key_exists($name, self::$_formats); + } + + /** Get a EasyRdf_Format from a name, uri or mime type + * + * @param string $query a query string to search for + * @return object the first EasyRdf_Format that matches the query + * @throws EasyRdf_Exception if no format is found + */ + public static function getFormat($query) + { + if (!is_string($query) or $query == null or $query == '') { + throw new InvalidArgumentException( + "\$query should be a string and cannot be null or empty" + ); + } + + foreach (self::$_formats as $format) { + if ($query == $format->_name or + $query == $format->_uri or + array_key_exists($query, $format->_mimeTypes) or + in_array($query, $format->_extensions)) { + return $format; + } + } + + # No match + throw new EasyRdf_Exception( + "Format is not recognised: $query" + ); + } + + /** Register a new format + * + * @param string $name The name of the format (e.g. ntriples) + * @param string $label The label for the format (e.g. N-Triples) + * @param string $uri The URI for the format + * @param string $mimeTypes One or more mime types for the format + * @param string $extensions One or more extensions (file suffix) + * @return object The new EasyRdf_Format object + */ + public static function register($name, $label=null, $uri=null, + $mimeTypes=array(), $extensions=array()) + { + if (!is_string($name) or $name == null or $name == '') { + throw new InvalidArgumentException( + "\$name should be a string and cannot be null or empty" + ); + } + + if (!array_key_exists($name, self::$_formats)) { + self::$_formats[$name] = new EasyRdf_Format($name); + } + + self::$_formats[$name]->setLabel($label); + self::$_formats[$name]->setUri($uri); + self::$_formats[$name]->setMimeTypes($mimeTypes); + self::$_formats[$name]->setExtensions($extensions); + return self::$_formats[$name]; + } + + /** Remove a format from the registry + * + * @param string $name The name of the format (e.g. ntriples) + */ + public static function unregister($name) + { + unset(self::$_formats[$name]); + } + + /** Class method to register a parser class to a format name + * + * @param string $name The name of the format (e.g. ntriples) + * @param string $class The name of the class (e.g. EasyRdf_Parser_Ntriples) + */ + public static function registerParser($name, $class) + { + if (!self::formatExists($name)) + self::register($name); + self::getFormat($name)->setParserClass($class); + } + + /** Class method to register a serialiser class to a format name + * + * @param string $name The name of the format (e.g. ntriples) + * @param string $class The name of the class (e.g. EasyRdf_Serialiser_Ntriples) + */ + public static function registerSerialiser($name, $class) + { + if (!self::formatExists($name)) + self::register($name); + self::getFormat($name)->setSerialiserClass($class); + } + + /** Attempt to guess the document format from some content. + * + * If the document format is not recognised, null is returned. + * + * @param string $data The document data + * @return EasyRdf_Format The format object + */ + public static function guessFormat($data, $filename=NULL) + { + if (is_array($data)) { + # Data has already been parsed into RDF/PHP + return self::getFormat('php'); + } + + // First try and identify by the filename + if ($filename and preg_match("/\.(\w+)$/", $filename, $matches)) { + foreach (self::$_formats as $format) { + if (in_array($matches[1], $format->_extensions)) { + return $format; + } + } + } + + // Then try and guess by the first 255 bytes of content + $short = substr($data, 0, 255); + if (preg_match("/^\s*\{/", $short)) { + return self::getFormat('json'); + } elseif (preg_match("/ <.+>/m", $short)) { + return self::getFormat('ntriples'); + } elseif (preg_match("|http://www.w3.org/2005/sparql-results|", $short)) { + return self::getFormat('sparql-xml'); + } elseif (preg_match("/\WRDFa\W/i", $short)) { + return self::getFormat('rdfa'); + } elseif (preg_match("/_name = $name; + $this->_label = $name; # Only a default + } + + /** Get the name of a format object + * + * @return string The name of the format (e.g. rdfxml) + */ + public function getName() + { + return $this->_name; + } + + /** Get the label for a format object + * + * @return string The format label (e.g. RDF/XML) + */ + public function getLabel() + { + return $this->_label; + } + + /** Set the label for a format object + * + * @param string $label The new label for the format + */ + public function setLabel($label) + { + if ($label) { + if (!is_string($label)) { + throw new InvalidArgumentException( + "\$label should be a string" + ); + } + return $this->_label = $label; + } else { + return $this->_label = null; + } + } + + /** Get the URI for a format object + * + * @return string The format URI + */ + public function getUri() + { + return $this->_uri; + } + + /** Set the URI for a format object + * + * @param string $uri The new URI for the format + */ + public function setUri($uri) + { + if ($uri) { + if (!is_string($uri)) { + throw new InvalidArgumentException( + "\$uri should be a string" + ); + } + return $this->_uri = $uri; + } else { + return $this->_uri = null; + } + } + + /** Get the default registered mime type for a format object + * + * @return string The default mime type as a string. + */ + public function getDefaultMimeType() + { + $types = array_keys($this->_mimeTypes); + return $types[0]; + } + + /** Get all the registered mime types for a format object + * + * @return array One or more MIME types in an array with + * the mime type as the key and q value as the value + */ + public function getMimeTypes() + { + return $this->_mimeTypes; + } + + /** Set the MIME Types for a format object + * + * @param array $mimeTypes One or more mime types + */ + public function setMimeTypes($mimeTypes) + { + if ($mimeTypes) { + if (!is_array($mimeTypes)) { + $mimeTypes = array($mimeTypes); + } + $this->_mimeTypes = $mimeTypes; + } else { + $this->_mimeTypes = array(); + } + } + + /** Get the default registered file extension (filename suffix) for a format object + * + * @return string The default extension as a string. + */ + public function getDefaultExtension() + { + return $this->_extensions[0]; + } + + /** Get all the registered file extensions (filename suffix) for a format object + * + * @return array One or more extensions as an array + */ + public function getExtensions() + { + return $this->_extensions; + } + + /** Set the file format extensions (filename suffix) for a format object + * + * @param array $mimeTypes One or more file extensions + */ + public function setExtensions($extensions) + { + if ($extensions) { + if (!is_array($extensions)) { + $extensions = array($extensions); + } + $this->_extensions = $extensions; + } else { + $this->_extensions = array(); + } + } + + /** Set the parser to use for a format + * + * @param string $class The name of the class + */ + public function setParserClass($class) + { + if ($class) { + if (!is_string($class)) { + throw new InvalidArgumentException( + "\$class should be a string" + ); + } + $this->_parserClass = $class; + } else { + $this->_parserClass = null; + } + } + + /** Get the name of the class to use to parse the format + * + * @return string The name of the class + */ + public function getParserClass() + { + return $this->_parserClass; + } + + /** Create a new parser to parse this format + * + * @return object The new parser object + */ + public function newParser() + { + $parserClass = $this->_parserClass; + if (!$parserClass) { + throw new EasyRdf_Exception( + "No parser class available for format: ".$this->getName() + ); + } + return (new $parserClass()); + } + + /** Set the serialiser to use for a format + * + * @param string $class The name of the class + */ + public function setSerialiserClass($class) + { + if ($class) { + if (!is_string($class)) { + throw new InvalidArgumentException( + "\$class should be a string" + ); + } + $this->_serialiserClass = $class; + } else { + $this->_serialiserClass = null; + } + } + + /** Get the name of the class to use to serialise the format + * + * @return string The name of the class + */ + public function getSerialiserClass() + { + return $this->_serialiserClass; + } + + /** Create a new serialiser to parse this format + * + * @return object The new serialiser object + */ + public function newSerialiser() + { + $serialiserClass = $this->_serialiserClass; + if (!$serialiserClass) { + throw new EasyRdf_Exception( + "No serialiser class available for format: ".$this->getName() + ); + } + return (new $serialiserClass()); + } + + /** Magic method to return the name of the format when casted to string + * + * @return string The name of the format + */ + public function __toString() + { + return $this->_name; + } +} + + +/* + Register default set of supported formats + NOTE: they are ordered by preference +*/ + +EasyRdf_Format::register( + 'php', + 'RDF/PHP', + 'http://n2.talis.com/wiki/RDF_PHP_Specification' +); + +EasyRdf_Format::register( + 'json', + 'RDF/JSON Resource-Centric', + 'http://n2.talis.com/wiki/RDF_JSON_Specification', + array( + 'application/json' => 1.0, + 'text/json' => 0.9, + 'application/rdf+json' => 0.9 + ), + array('json') +); + +EasyRdf_Format::register( + 'ntriples', + 'N-Triples', + 'http://www.w3.org/TR/rdf-testcases/#ntriples', + array( + 'text/plain' => 1.0, + 'text/ntriples' => 0.9, + 'application/ntriples' => 0.9, + 'application/x-ntriples' => 0.9 + ), + array('nt') +); + +EasyRdf_Format::register( + 'turtle', + 'Turtle Terse RDF Triple Language', + 'http://www.dajobe.org/2004/01/turtle', + array( + 'text/turtle' => 0.8, + 'application/turtle' => 0.7, + 'application/x-turtle' => 0.7 + ), + array('ttl') +); + +EasyRdf_Format::register( + 'rdfxml', + 'RDF/XML', + 'http://www.w3.org/TR/rdf-syntax-grammar', + array( + 'application/rdf+xml' => 0.8 + ), + array('rdf', 'xrdf') +); + +EasyRdf_Format::register( + 'dot', + 'Graphviz', + 'http://www.graphviz.org/doc/info/lang.html', + array( + 'text/vnd.graphviz' => 0.8 + ), + array('gv', 'dot') +); + +EasyRdf_Format::register( + 'json-triples', + 'RDF/JSON Triples' +); + +EasyRdf_Format::register( + 'n3', + 'Notation3', + 'http://www.w3.org/2000/10/swap/grammar/n3#', + array( + 'text/n3' => 0.5, + 'text/rdf+n3' => 0.5 + ), + array('n3') +); + +EasyRdf_Format::register( + 'rdfa', + 'RDF/A', + 'http://www.w3.org/TR/rdfa/', + array( + 'text/html' => 0.4, + 'application/xhtml+xml' => 0.4 + ), + array('html') +); + +EasyRdf_Format::register( + 'sparql-xml', + 'SPARQL XML Query Results', + 'http://www.w3.org/TR/rdf-sparql-XMLres/', + array( + 'application/sparql-results+xml' => 1.0 + ) +); + +EasyRdf_Format::register( + 'sparql-json', + 'SPARQL JSON Query Results', + 'http://www.w3.org/TR/rdf-sparql-json-res/', + array( + 'application/sparql-results+json' => 1.0 + ) +); + +EasyRdf_Format::register( + 'png', + 'Portable Network Graphics (PNG)', + 'http://www.w3.org/TR/PNG/', + array( + 'image/png' => 0.3 + ), + array('png') +); + +EasyRdf_Format::register( + 'gif', + 'Graphics Interchange Format (GIF)', + 'http://www.w3.org/Graphics/GIF/spec-gif89a.txt', + array( + 'image/gif' => 0.2 + ), + array('gif') +); + +EasyRdf_Format::register( + 'svg', + 'Scalable Vector Graphics (SVG)', + 'http://www.w3.org/TR/SVG/', + array( + 'image/svg+xml' => 0.3 + ), + array('svg') +); + + +/* + Register default set of parsers and serialisers +*/ + +EasyRdf_Format::registerParser('json', 'EasyRdf_Parser_Json'); +EasyRdf_Format::registerParser('ntriples', 'EasyRdf_Parser_Ntriples'); +EasyRdf_Format::registerParser('php', 'EasyRdf_Parser_RdfPhp'); +EasyRdf_Format::registerParser('rdfxml', 'EasyRdf_Parser_RdfXml'); +EasyRdf_Format::registerParser('turtle', 'EasyRdf_Parser_Turtle'); + +EasyRdf_Format::registerSerialiser('json', 'EasyRdf_Serialiser_Json'); +EasyRdf_Format::registerSerialiser('n3', 'EasyRdf_Serialiser_Turtle'); +EasyRdf_Format::registerSerialiser('ntriples', 'EasyRdf_Serialiser_Ntriples'); +EasyRdf_Format::registerSerialiser('php', 'EasyRdf_Serialiser_RdfPhp'); +EasyRdf_Format::registerSerialiser('rdfxml', 'EasyRdf_Serialiser_RdfXml'); +EasyRdf_Format::registerSerialiser('turtle', 'EasyRdf_Serialiser_Turtle'); + +EasyRdf_Format::registerSerialiser('dot', 'EasyRdf_Serialiser_GraphViz'); +EasyRdf_Format::registerSerialiser('gif', 'EasyRdf_Serialiser_GraphViz'); +EasyRdf_Format::registerSerialiser('png', 'EasyRdf_Serialiser_GraphViz'); +EasyRdf_Format::registerSerialiser('svg', 'EasyRdf_Serialiser_GraphViz'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Graph.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Graph.php new file mode 100644 index 0000000..1093455 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Graph.php @@ -0,0 +1,1508 @@ +checkResourceParam($uri, true); + + if ($uri) { + $this->_uri = $uri; + $this->_parsedUri = new EasyRdf_ParsedUri($uri); + if ($data) + $this->parse($data, $format, $this->_uri); + } + } + + /** + * Create a new graph and load RDF data from a URI into it + * + * This static function is shorthand for: + * $graph = new EasyRdf_Graph($uri); + * $graph->load($uri, $format); + * + * The document type is optional but should be specified if it + * can't be guessed or got from the HTTP headers. + * + * @param string $uri The URI of the data to load + * @param string $format Optional format of the data (eg. rdfxml) + * @return object EasyRdf_Graph The new the graph object + */ + public static function newAndLoad($uri, $format=null) + { + $graph = new self($uri); + $graph->load($uri, $format); + return $graph; + } + + /** Get or create a resource stored in a graph + * + * If the resource did not previously exist, then a new resource will + * be created. If you provide an RDF type and that type is registered + * with the EasyRdf_TypeMapper, then the resource will be an instance + * of the class registered. + * + * If URI is null, then the URI of the graph is used. + * + * @param string $uri The URI of the resource + * @param mixed $types RDF type of a new resource (e.g. foaf:Person) + * @return object EasyRdf_Resource + */ + public function resource($uri=null, $types=array()) + { + $this->checkResourceParam($uri, true); + if (!$uri) { + throw new InvalidArgumentException( + '$uri is null and EasyRdf_Graph object has no URI either.' + ); + } + + // Resolve relative URIs + if ($this->_parsedUri) { + $uri = $this->_parsedUri->resolve($uri)->toString(); + } + + // Add the types + $this->addType($uri, $types); + + // Create resource object if it doesn't already exist + if (!isset($this->_resources[$uri])) { + $resClass = $this->classForResource($uri); + $this->_resources[$uri] = new $resClass($uri, $this); + } + + return $this->_resources[$uri]; + } + + /** Work out the class to instantiate a resource as + * @ignore + */ + protected function classForResource($uri) + { + $resClass = 'EasyRdf_Resource'; + $rdfType = EasyRdf_Namespace::expand('rdf:type'); + if (isset($this->_index[$uri][$rdfType])) { + foreach ($this->_index[$uri][$rdfType] as $type) { + if ($type['type'] == 'uri' or $type['type'] == 'bnode') { + $class = EasyRdf_TypeMapper::get($type['value']); + if ($class != null) { + $resClass = $class; + break; + } + } + + } + } + return $resClass; + } + + /** + * Create a new blank node in the graph and return it. + * + * If you provide an RDF type and that type is registered + * with the EasyRdf_TypeMapper, then the resource will be an instance + * of the class registered. + * + * @param mixed $types RDF type of a new blank node (e.g. foaf:Person) + * @return object EasyRdf_Resource The new blank node + */ + public function newBNode($types=array()) + { + return $this->resource($this->newBNodeId(), $types); + } + + /** + * Create a new unique blank node identifier and return it. + * + * @return string The new blank node identifier (e.g. _:genid1) + */ + public function newBNodeId() + { + return "_:genid".(++$this->_bNodeCount); + } + + /** + * Parse some RDF data into the graph object. + * + * @param string $data Data to parse for the graph + * @param string $format Optional format of the data + * @param string $uri The URI of the data to load + * @return integer The number of triples added to the graph + */ + public function parse($data, $format=null, $uri=null) + { + $this->checkResourceParam($uri, true); + + if (empty($format) or $format == 'guess') { + // Guess the format if it is Unknown + $format = EasyRdf_Format::guessFormat($data, $uri); + } else { + $format = EasyRdf_Format::getFormat($format); + } + + if (!$format) + throw new EasyRdf_Exception( + "Unable to parse data of an unknown format." + ); + + $parser = $format->newParser(); + return $parser->parse($this, $data, $format, $uri); + } + + /** + * Parse a file containing RDF data into the graph object. + * + * @param string $filename The path of the file to load + * @param string $format Optional format of the file + * @param string $uri The URI of the file to load + * @return integer The number of triples added to the graph + */ + public function parseFile($filename, $format=null, $uri=null) + { + if ($uri === null) { + $uri = "file://$filename"; + } + + return $this->parse( + file_get_contents($filename), + $format, + $uri + ); + } + + /** + * Load RDF data into the graph from a URI. + * + * If no URI is given, then the URI of the graph will be used. + * + * The document type is optional but should be specified if it + * can't be guessed or got from the HTTP headers. + * + * @param string $uri The URI of the data to load + * @param string $format Optional format of the data (eg. rdfxml) + * @return integer The number of triples added to the graph + */ + public function load($uri=null, $format=null) + { + $this->checkResourceParam($uri, true); + + if (!$uri) + throw new EasyRdf_Exception( + "No URI given to load() and the graph does not have a URI." + ); + + // Setup the HTTP client + $client = EasyRdf_Http::getDefaultHttpClient(); + $client->resetParameters(true); + $client->setConfig(array('maxredirects' => 0)); + $client->setMethod('GET'); + $client->setHeaders('Accept', EasyRdf_Format::getHttpAcceptHeader()); + + $requestUrl = $uri; + $response = NULL; + $redirectCounter = 0; + do { + // Have we already loaded it into the graph? + $requestUrl = EasyRdf_Utils::removeFragmentFromUri($requestUrl); + if (in_array($requestUrl, $this->_loaded)) { + return 0; + } + + // Make the HTTP request + $client->setHeaders('host', null); + $client->setUri($requestUrl); + $response = $client->request(); + + // Add the URL to the list of URLs loaded + $this->_loaded[] = $requestUrl; + + if ($response->isRedirect() and $location = $response->getHeader('location')) { + // Avoid problems with buggy servers that add whitespace + $location = trim($location); + + // Some servers return relative URLs in the location header + // resolve it in relation to previous request + $baseUri = new EasyRdf_ParsedUri($requestUrl); + $requestUrl = $baseUri->resolve($location)->toString(); + $requestUrl = EasyRdf_Utils::removeFragmentFromUri($requestUrl); + + // If it is a 303 then drop the parameters + if ($response->getStatus() == 303) { + $client->resetParameters(); + } + + ++$redirectCounter; + } elseif ($response->isSuccessful()) { + // If we didn't get any location, stop redirecting + break; + } else { + throw new EasyRdf_Exception( + "HTTP request for $requestUrl failed: ".$response->getMessage() + ); + } + } while ($redirectCounter < $this->_maxRedirects); + + if (!$format or $format == 'guess') { + list($format, $params) = EasyRdf_Utils::parseMimeType( + $response->getHeader('Content-Type') + ); + } + + // Parse the data + return $this->parse($response->getBody(), $format, $uri); + } + + /** Get an associative array of all the resources stored in the graph. + * The keys of the array is the URI of the EasyRdf_Resource. + * + * @return array Array of EasyRdf_Resource + */ + public function resources() + { + foreach ($this->_index as $subject => $properties) { + $this->resource($subject); + } + + foreach ($this->_revIndex as $object => $properties) { + if (!isset($this->_resources[$object])) { + $this->resource($object); + } + } + + return $this->_resources; + } + + /** Get an arry of resources matching a certain property and optional value. + * + * For example this routine could be used as a way of getting + * everyone who has name: + * $people = $graph->resourcesMatching('foaf:name') + * + * Or everyone who is male: + * $people = $graph->resourcesMatching('foaf:gender', 'male'); + * + * Or all homepages: + * $people = $graph->resourcesMatching('^foaf:homepage'); + * + * @param string $property The property to check. + * @param mixed $value Optional, the value of the propery to check for. + * @return array Array of EasyRdf_Resource + */ + public function resourcesMatching($property, $value=null) + { + $this->checkSinglePropertyParam($property, $inverse); + $this->checkValueParam($value); + + if ($inverse) { + $index = $this->_revIndex; + } else { + $index = $this->_index; + } + + $matched = array(); + foreach ($index as $subject => $props) { + if (isset($index[$subject][$property])) { + if (isset($value)) { + foreach ($this->_index[$subject][$property] as $v) { + if ($v['type'] == $value['type'] and + $v['value'] == $value['value']) { + $matched[] = $this->resource($subject); + break; + } + } + } else { + $matched[] = $this->resource($subject); + } + } + } + return $matched; + } + + /** Get the URI of the graph + * + * @return string The URI of the graph + */ + public function getUri() + { + return $this->_uri; + } + + /** Check that a URI/resource parameter is valid, and convert it to a string + * @ignore + */ + protected function checkResourceParam(&$resource, $allowNull=false) + { + if ($allowNull == true) { + if ($resource === null) { + if ($this->_uri) { + $resource = $this->_uri; + } else { + return; + } + } + } else if ($resource === null) { + throw new InvalidArgumentException( + "\$resource cannot be null" + ); + } + + if (is_object($resource) and $resource instanceof EasyRdf_Resource) { + $resource = $resource->getUri(); + } else if (is_object($resource) and $resource instanceof EasyRdf_ParsedUri) { + $resource = strval($resource); + } else if (is_string($resource)) { + if ($resource == '') { + throw new InvalidArgumentException( + "\$resource cannot be an empty string" + ); + } elseif (preg_match("|^<(.+)>$|", $resource, $matches)) { + $resource = $matches[1]; + } else { + $resource = EasyRdf_Namespace::expand($resource); + } + } else { + throw new InvalidArgumentException( + "\$resource should be a string or an EasyRdf_Resource" + ); + } + } + + /** Check that a single URI/property parameter (not a property path) + * is valid, and expand it if required + * @ignore + */ + protected function checkSinglePropertyParam(&$property, &$inverse) + { + if (is_object($property) and $property instanceof EasyRdf_Resource) { + $property = $property->getUri(); + } else if (is_object($property) and $property instanceof EasyRdf_ParsedUri) { + $property = strval($property); + } else if (is_string($property)) { + if ($property == '') { + throw new InvalidArgumentException( + "\$property cannot be an empty string" + ); + } else if (substr($property, 0, 1) == '^') { + $inverse = true; + $property = EasyRdf_Namespace::expand(substr($property, 1)); + } else if (substr($property, 0, 2) == '_:') { + throw new InvalidArgumentException( + "\$property cannot be a blank node" + ); + } else { + $inverse = false; + $property = EasyRdf_Namespace::expand($property); + } + } + + if ($property === null or !is_string($property)) { + throw new InvalidArgumentException( + "\$property should be a string or EasyRdf_Resource and cannot be null" + ); + } + } + + /** Check that a value parameter is valid, and convert it to an associative array if needed + * @ignore + */ + protected function checkValueParam(&$value) + { + if (isset($value)) { + if (is_object($value)) { + if (method_exists($value, 'toArray')) { + $value = $value->toArray(); + } else { + throw new InvalidArgumentException( + "\$value should respond to the method toArray()" + ); + } + } else if (is_array($value)) { + if (!isset($value['type'])) { + throw new InvalidArgumentException( + "\$value is missing a 'type' key" + ); + } + + if (!isset($value['value'])) { + throw new InvalidArgumentException( + "\$value is missing a 'value' key" + ); + } + + // Fix ordering and remove unknown keys + $value = array( + 'type' => strval($value['type']), + 'value' => strval($value['value']), + 'lang' => isset($value['lang']) ? strval($value['lang']) : null, + 'datatype' => isset($value['datatype']) ? strval($value['datatype']) : null + ); + } else { + $value = array( + 'type' => 'literal', + 'value' => strval($value), + 'datatype' => EasyRdf_Literal::getDatatypeForValue($value) + ); + } + if (!in_array($value['type'], array('uri', 'bnode', 'literal'), true)) { + throw new InvalidArgumentException( + "\$value does not have a valid type (".$value['type'].")" + ); + } + if (empty($value['datatype'])) + unset($value['datatype']); + if (empty($value['lang'])) + unset($value['lang']); + if (isset($value['lang']) and isset($value['datatype'])) { + throw new InvalidArgumentException( + "\$value cannot have both and language and a datatype" + ); + } + } + } + + /** Get a single value for a property of a resource + * + * If multiple values are set for a property then the value returned + * may be arbitrary. + * + * If $property is an array, then the first item in the array that matches + * a property that exists is returned. + * + * This method will return null if the property does not exist. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $propertyPath A valid property path + * @param string $type The type of value to filter by (e.g. literal or resource) + * @param string $lang The language to filter by (e.g. en) + * @return mixed A value associated with the property + */ + public function get($resource, $propertyPath, $type=null, $lang=null) + { + $this->checkResourceParam($resource); + + if (is_object($propertyPath) and $propertyPath instanceof EasyRdf_Resource) { + return $this->getSingleProperty($resource, $propertyPath->getUri(), $type, $lang); + } else if (is_string($propertyPath) and preg_match('|^(\^?)<(.+)>|', $propertyPath, $matches)) { + return $this->getSingleProperty($resource, "$matches[1]$matches[2]", $type, $lang); + } else if ($propertyPath === null or !is_string($propertyPath)) { + throw new InvalidArgumentException( + "\$propertyPath should be a string or EasyRdf_Resource and cannot be null" + ); + } else if ($propertyPath === '') { + throw new InvalidArgumentException( + "\$propertyPath cannot be an empty string" + ); + } + + // Loop through each component in the path + foreach (explode('/', $propertyPath) as $part) { + // Stop if we come to a literal + if ($resource instanceof EasyRdf_Literal) + return NULL; + + // Try each of the alternative paths + foreach (explode('|', $part) as $p) { + $res = $this->getSingleProperty($resource, $p, $type, $lang); + if ($res) break; + } + + // Stop if nothing was found + $resource = $res; + if (!$resource) + break; + } + + return $resource; + } + + /** Get a single value for a property of a resource + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $property The name of the property (e.g. foaf:name) + * @param string $type The type of value to filter by (e.g. literal or resource) + * @param string $lang The language to filter by (e.g. en) + * @return mixed A value associated with the property + * + * @ignore + */ + protected function getSingleProperty($resource, $property, $type=null, $lang=null) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + + // Get an array of values for the property + $values = $this->propertyValuesArray($resource, $property, $inverse); + if (!isset($values)) { + return null; + } + + // Filter the results + $result = null; + if ($type) { + foreach ($values as $value) { + if ($type == 'literal' and $value['type'] == 'literal') { + if ($lang == null or (isset($value['lang']) and $value['lang'] == $lang)) { + $result = $value; + break; + } + } else if ($type == 'resource') { + if ($value['type'] == 'uri' or $value['type'] == 'bnode') { + $result = $value; + break; + } + } + } + } else { + $result = $values[0]; + } + + // Convert the internal data structure into a PHP object + return $this->arrayToObject($result); + } + + /** Get a single literal value for a property of a resource + * + * If multiple values are set for a property then the value returned + * may be arbitrary. + * + * This method will return null if there is not literal value for the + * property. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string|array $property The name of the property (e.g. foaf:name) + * @param string $lang The language to filter by (e.g. en) + * @return object EasyRdf_Literal Literal value associated with the property + */ + public function getLiteral($resource, $property, $lang=null) + { + return $this->get($resource, $property, 'literal', $lang); + } + + /** Get a single resource value for a property of a resource + * + * If multiple values are set for a property then the value returned + * may be arbitrary. + * + * This method will return null if there is not resource for the + * property. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string|array $property The name of the property (e.g. foaf:name) + * @return object EasyRdf_Resource Resource associated with the property + */ + public function getResource($resource, $property) + { + return $this->get($resource, $property, 'resource'); + } + + /** Return all the values for a particular property of a resource + * @ignore + */ + protected function propertyValuesArray($resource, $property, $inverse=false) + { + // Is an inverse property being requested? + if ($inverse) { + if (isset($this->_revIndex[$resource])) + $properties = $this->_revIndex[$resource]; + } else { + if (isset($this->_index[$resource])) + $properties = $this->_index[$resource]; + } + + if (isset($properties[$property])) { + return $properties[$property]; + } else { + return null; + } + } + + /** Get an EasyRdf_Resource or EasyRdf_Literal object from an associative array. + * @ignore + */ + protected function arrayToObject($data) + { + if ($data) { + if ($data['type'] == 'uri' or $data['type'] == 'bnode') { + return $this->resource($data['value']); + } else { + return EasyRdf_Literal::create($data); + } + } else { + return null; + } + } + + /** Get all values for a property path + * + * This method will return an empty array if the property does not exist. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $propertyPath A valid property path + * @param string $type The type of value to filter by (e.g. literal) + * @param string $lang The language to filter by (e.g. en) + * @return array An array of values associated with the property + */ + public function all($resource, $propertyPath, $type=null, $lang=null) + { + $this->checkResourceParam($resource); + + if (is_object($propertyPath) and $propertyPath instanceof EasyRdf_Resource) { + return $this->allForSingleProperty($resource, $propertyPath->getUri(), $type, $lang); + } else if (is_string($propertyPath) and preg_match('|^(\^?)<(.+)>|', $propertyPath, $matches)) { + return $this->allForSingleProperty($resource, "$matches[1]$matches[2]", $type, $lang); + } else if ($propertyPath === null or !is_string($propertyPath)) { + throw new InvalidArgumentException( + "\$propertyPath should be a string or EasyRdf_Resource and cannot be null" + ); + } else if ($propertyPath === '') { + throw new InvalidArgumentException( + "\$propertyPath cannot be an empty string" + ); + } + + $objects = array($resource); + + // Loop through each component in the path + foreach (explode('/', $propertyPath) as $part) { + + $results = array(); + foreach (explode('|', $part) as $p) { + foreach ($objects as $o) { + // Ignore literals found earlier in path + if ($o instanceof EasyRdf_Literal) + continue; + + $results = array_merge( + $results, $this->allForSingleProperty($o, $p, $type, $lang) + ); + } + } + + // Stop if we don't have anything + if (empty($objects)) + break; + + // Use the results as the input to the next iteration + $objects = $results; + } + + return $objects; + } + + /** Get all values for a single property of a resource + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $property The name of the property (e.g. foaf:name) + * @param string $type The type of value to filter by (e.g. literal) + * @param string $lang The language to filter by (e.g. en) + * @return array An array of values associated with the property + * + * @ignore + */ + protected function allForSingleProperty($resource, $property, $type=null, $lang=null) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + + // Get an array of values for the property + $values = $this->propertyValuesArray($resource, $property, $inverse); + if (!isset($values)) { + return array(); + } + + $objects = array(); + if ($type) { + foreach ($values as $value) { + if ($type == 'literal' and $value['type'] == 'literal') { + if ($lang == null or (isset($value['lang']) and $value['lang'] == $lang)) + $objects[] = $this->arrayToObject($value); + } else if ($type == 'resource') { + if ($value['type'] == 'uri' or $value['type'] == 'bnode') + $objects[] = $this->arrayToObject($value); + } + } + } else { + foreach ($values as $value) { + $objects[] = $this->arrayToObject($value); + } + } + return $objects; + } + + /** Get all literal values for a property of a resource + * + * This method will return an empty array if the resource does not + * has any literal values for that property. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $property The name of the property (e.g. foaf:name) + * @param string $lang The language to filter by (e.g. en) + * @return array An array of values associated with the property + */ + public function allLiterals($resource, $property, $lang=null) + { + return $this->all($resource, $property, 'literal', $lang); + } + + /** Get all resources for a property of a resource + * + * This method will return an empty array if the resource does not + * has any resources for that property. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $property The name of the property (e.g. foaf:name) + * @return array An array of values associated with the property + */ + public function allResources($resource, $property) + { + return $this->all($resource, $property, 'resource'); + } + + /** Get all the resources in the graph of a certain type + * + * If no resources of the type are available and empty + * array is returned. + * + * @param string $type The type of the resource (e.g. foaf:Person) + * @return array The array of resources + */ + public function allOfType($type) + { + return $this->all($type, '^rdf:type'); + } + + /** Count all values for a property of a resource + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string $property The name of the property (e.g. foaf:name) + * @param string $type The type of value to filter by (e.g. literal) + * @param string $lang The language to filter by (e.g. en) + * @return integer The number of values for this property + */ + public function count($resource, $property, $type=null, $lang=null) + { + return count($this->all($resource, $property, $type, $lang)); + } + + /** Concatenate all values for a property of a resource into a string. + * + * The default is to join the values together with a space character. + * This method will return an empty string if the property does not exist. + * + * @param string $property The name of the property (e.g. foaf:name) + * @param string $glue The string to glue the values together with. + * @param string $lang The language to filter by (e.g. en) + * @return string Concatenation of all the values. + */ + public function join($resource, $property, $glue=' ', $lang=null) + { + return join($glue, $this->all($resource, $property, 'literal', $lang)); + } + + /** Add data to the graph + * + * The resource can either be a resource or the URI of a resource. + * + * Example: + * $graph->add("http://www.example.com", 'dc:title', 'Title of Page'); + * + * @param mixed $resource The resource to add data to + * @param mixed $property The property name + * @param mixed $value The new value for the property + * @return integer The number of values added (1 or 0) + */ + public function add($resource, $property, $value) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + $this->checkValueParam($value); + + // No value given? + if ($value === null) + return 0; + + // Check that the value doesn't already exist + if (isset($this->_index[$resource][$property])) { + foreach ($this->_index[$resource][$property] as $v) { + if ($v == $value) + return 0; + } + } + $this->_index[$resource][$property][] = $value; + + // Add to the reverse index if it is a resource + if ($value['type'] == 'uri' or $value['type'] == 'bnode') { + $uri = $value['value']; + $this->_revIndex[$uri][$property][] = array( + 'type' => substr($resource, 0, 2) == '_:' ? 'bnode' : 'uri', + 'value' => $resource + ); + } + + // Success + return 1; + } + + /** Add a literal value as a property of a resource + * + * The resource can either be a resource or the URI of a resource. + * The value can either be a single value or an array of values. + * + * Example: + * $graph->add("http://www.example.com", 'dc:title', 'Title of Page'); + * + * @param mixed $resource The resource to add data to + * @param mixed $property The property name + * @param mixed $value The value or values for the property + * @param string $lang The language of the literal + * @return integer The number of values added + */ + public function addLiteral($resource, $property, $value, $lang=null) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + + if (is_array($value)) { + $added = 0; + foreach ($value as $v) { + $added += $this->addLiteral($resource, $property, $v, $lang); + } + return $added; + } else { + if ($lang) { + $value = array( + 'type' => 'literal', + 'value' => $value, + 'lang' => $lang + ); + } else { + $value = array( + 'type' => 'literal', + 'value' => $value, + 'datatype' => EasyRdf_Literal::getDatatypeForValue($value) + ); + if (empty($value['datatype'])) + unset($value['datatype']); + } + return $this->add($resource, $property, $value); + } + } + + /** Add a resource as a property of another resource + * + * The resource can either be a resource or the URI of a resource. + * + * Example: + * $graph->add("http://example.com/bob", 'foaf:knows', 'http://example.com/alice'); + * + * @param mixed $resource The resource to add data to + * @param mixed $property The property name + * @param mixed $resource2 The resource to be value of the property + * @return integer The number of values added + */ + public function addResource($resource, $property, $resource2) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + $this->checkResourceParam($resource2); + + return $this->add( + $resource, $property, array( + 'type' => substr($resource2, 0, 2) == '_:' ? 'bnode' : 'uri', + 'value' => $resource2 + ) + ); + } + + /** Set a value for a property + * + * The new value will replace the existing values for the property. + * + * @param string $resource The resource to set the property on + * @param string $property The name of the property (e.g. foaf:name) + * @param mixed $value The value for the property + * @return integer The number of values added (1 or 0) + */ + public function set($resource, $property, $value) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + $this->checkValueParam($value); + + // Delete the old values + $this->delete($resource, $property); + + // Add the new values + return $this->add($resource, $property, $value); + } + + /** Delete a property (or optionally just a specific value) + * + * @param string $property The name of the property (e.g. foaf:name) + * @param object $value The value to delete (null to delete all values) + * @return integer The number of values deleted + */ + public function delete($resource, $property, $value=null) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + $this->checkValueParam($value); + + $count = 0; + $property = EasyRdf_Namespace::expand($property); + if (isset($this->_index[$resource][$property])) { + foreach ($this->_index[$resource][$property] as $k => $v) { + if (!$value or $v == $value) { + unset($this->_index[$resource][$property][$k]); + $count++; + if ($v['type'] == 'uri' or $v['type'] == 'bnode') { + $this->deleteInverse($v['value'], $property, $resource); + } + } + } + + // Clean up the indexes - remove empty properties and resources + if ($count) { + if (count($this->_index[$resource][$property]) == 0) + unset($this->_index[$resource][$property]); + if (count($this->_index[$resource]) == 0) + unset($this->_index[$resource]); + } + } + + return $count; + } + + /** Delete a resource from a property of another resource + * + * The resource can either be a resource or the URI of a resource. + * + * Example: + * $graph->delete("http://example.com/bob", 'foaf:knows', 'http://example.com/alice'); + * + * @param mixed $resource The resource to delete data from + * @param mixed $property The property name + * @param mixed $resource2 The resource value of the property to be deleted + */ + public function deleteResource($resource, $property, $resource2) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + $this->checkResourceParam($resource2); + + return $this->delete( + $resource, $property, array( + 'type' => substr($resource2, 0, 2) == '_:' ? 'bnode' : 'uri', + 'value' => $resource2 + ) + ); + } + + /** Delete a literal value from a property of a resource + * + * Example: + * $graph->delete("http://www.example.com", 'dc:title', 'Title of Page'); + * + * @param mixed $resource The resource to add data to + * @param mixed $property The property name + * @param mixed $value The value of the property + * @param string $lang The language of the literal + */ + public function deleteLiteral($resource, $property, $value, $lang=null) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + $this->checkValueParam($value); + + if ($lang) { + $value['lang'] = $lang; + } + + return $this->delete($resource, $property, $value); + } + + /** This function is for internal use only. + * + * Deletes an inverse property from a resource. + * + * @ignore + */ + protected function deleteInverse($resource, $property, $value) + { + if (isset($this->_revIndex[$resource])) { + foreach ($this->_revIndex[$resource][$property] as $k => $v) { + if ($v['value'] === $value) { + unset($this->_revIndex[$resource][$property][$k]); + } + } + if (count($this->_revIndex[$resource][$property]) == 0) + unset($this->_revIndex[$resource][$property]); + if (count($this->_revIndex[$resource]) == 0) + unset($this->_revIndex[$resource]); + } + } + + /** Check if the graph contains any statements + * + * @return boolean True if the graph contains no statements + */ + public function isEmpty() + { + return count($this->_index) == 0; + } + + /** Get a list of all the shortened property names (qnames) for a resource. + * + * This method will return an empty array if the resource has no properties. + * + * @return array Array of shortened URIs + */ + public function properties($resource) + { + $this->checkResourceParam($resource); + + $properties = array(); + if (isset($this->_index[$resource])) { + foreach ($this->_index[$resource] as $property => $value) { + $short = EasyRdf_Namespace::shorten($property); + if ($short) + $properties[] = $short; + } + } + return $properties; + } + + /** Get a list of the full URIs for the properties of a resource. + * + * This method will return an empty array if the resource has no properties. + * + * @return array Array of full URIs + */ + public function propertyUris($resource) + { + $this->checkResourceParam($resource); + + if (isset($this->_index[$resource])) { + return array_keys($this->_index[$resource]); + } else { + return array(); + } + } + + /** Get a list of the full URIs for the properties that point to a resource. + * + * @return array Array of full property URIs + */ + public function reversePropertyUris($resource) + { + $this->checkResourceParam($resource); + + if (isset($this->_revIndex[$resource])) { + return array_keys($this->_revIndex[$resource]); + } else { + return array(); + } + } + + /** Check to see if a property exists for a resource. + * + * This method will return true if the property exists. + * + * @param string $property The name of the property (e.g. foaf:gender) + * @return boolean True if value the property exists. + */ + public function hasProperty($resource, $property) + { + $this->checkResourceParam($resource); + $this->checkSinglePropertyParam($property, $inverse); + + if (!$inverse) { + if (isset($this->_index[$resource][$property])) + return true; + } else { + if (isset($this->_revIndex[$resource][$property])) + return true; + } + + return false; + } + + /** Serialise the graph into RDF + * + * The $format parameter can be an EasyRdf_Format object, a + * format name, a mime type or a file extension. + * + * Example: + * $turtle = $graph->serialise('turtle'); + * + * @param mixed $format The format to serialise to + * @return mixed The serialised graph + */ + public function serialise($format) + { + if (!$format instanceof EasyRdf_Format) { + $format = EasyRdf_Format::getFormat($format); + } + $serialiser = $format->newSerialiser(); + return $serialiser->serialise($this, $format->getName()); + } + + /** Return a human readable view of all the resources in the graph + * + * This method is intended to be a debugging aid and will + * return a pretty-print view of all the resources and their + * properties. + * + * @param boolean $html Set to true to format the dump using HTML + * @return string + */ + public function dump($html=true) + { + $result = ''; + if ($html) { + $result .= "
    ". + "Graph: ". $this->_uri . "
    \n"; + } else { + $result .= "Graph: ". $this->_uri . "\n"; + } + + foreach ($this->_index as $resource => $properties) { + $result .= $this->dumpResource($resource, $html); + } + return $result; + } + + /** Return a human readable view of the resource and its properties + * + * This method is intended to be a debugging aid and will + * print a resource and its properties. + * + * @param boolean $html Set to true to format the dump using HTML + * @return string + */ + public function dumpResource($resource, $html=true) + { + $this->checkResourceParam($resource, true); + + if (isset($this->_index[$resource])) { + $properties = $this->_index[$resource]; + } else { + return ''; + } + + $plist = array(); + foreach ($properties as $property => $values) { + $olist = array(); + foreach ($values as $value) { + if ($value['type'] == 'literal') { + $olist []= EasyRdf_Utils::dumpLiteralValue($value, $html, 'black'); + } else { + $olist []= EasyRdf_Utils::dumpResourceValue($value['value'], $html, 'blue'); + } + } + + $pstr = EasyRdf_Namespace::shorten($property); + if ($pstr == null) + $pstr = $property; + if ($html) { + $plist []= " ". + "". + htmlentities($pstr) . " ". + " ". + join(", ", $olist); + } else { + $plist []= " -> $pstr -> " . join(", ", $olist); + } + } + + if ($html) { + return "
    \n". + "
    ".EasyRdf_Utils::dumpResourceValue($resource, true, 'blue')." ". + "(". + $this->classForResource($resource).")
    \n". + "
    \n". + "
    ".join("
    \n
    ", $plist)."
    ". + "
    \n"; + } else { + return $resource." (".$this->classForResource($resource).")\n" . + join("\n", $plist) . "\n\n"; + } + } + + /** Get the resource type of the graph + * + * The type will be a shortened URI as a string. + * If the graph has multiple types then the type returned + * may be arbitrary. + * This method will return null if the resource has no type. + * + * @return string A type assocated with the resource (e.g. foaf:Document) + */ + public function type($resource=null) + { + $this->checkResourceParam($resource, true); + + if ($resource) { + $type = $this->get($resource, 'rdf:type', 'resource'); + if ($type) + return EasyRdf_Namespace::shorten($type); + } + + return null; + } + + /** Get the resource type of the graph as a EasyRdf_Resource + * + * If the graph has multiple types then the type returned + * may be arbitrary. + * This method will return null if the resource has no type. + * + * @return object EasyRdf_Resource A type assocated with the resource + */ + public function typeAsResource($resource=null) + { + $this->checkResourceParam($resource, true); + + if ($resource) { + return $this->get($resource, 'rdf:type', 'resource'); + } + + return null; + } + + /** Get a list of types for a resource. + * + * The types will each be a shortened URI as a string. + * This method will return an empty array if the resource has no types. + * + * If $resource is null, then it will get the types for the URI of the graph. + * + * @return array All types assocated with the resource (e.g. foaf:Person) + */ + public function types($resource=null) + { + $this->checkResourceParam($resource, true); + + $types = array(); + if ($resource) { + foreach ($this->all($resource, 'rdf:type', 'resource') as $type) { + $types[] = EasyRdf_Namespace::shorten($type); + } + } + + return $types; + } + + /** Check if a resource is of the specified type + * + * @param string $type The type to check (e.g. foaf:Person) + * @return boolean True if resource is of specified type. + */ + public function is_a($resource, $type) + { + $this->checkResourceParam($resource, true); + + $type = EasyRdf_Namespace::expand($type); + foreach ($this->all($resource, 'rdf:type', 'resource') as $t) { + if ($t->getUri() == $type) { + return true; + } + } + return false; + } + + /** Add one or more rdf:type properties to a resource + * + * @param string $resource The resource to add the type to + * @param string $type The new type (e.g. foaf:Person) + * @return integer The number of types added + */ + public function addType($resource, $types) + { + $this->checkResourceParam($resource, true); + + if (!is_array($types)) + $types = array($types); + + $count = 0; + foreach ($types as $type) { + $type = EasyRdf_Namespace::expand($type); + $count += $this->add($resource, 'rdf:type', array('type' => 'uri', 'value' => $type)); + } + + return $count; + } + + /** Change the rdf:type property for a resource + * + * Note that if the resource object has already previously + * been created, then the PHP class of the resource will not change. + * + * @param string $resource The resource to change the type of + * @param string $type The new type (e.g. foaf:Person) + * @return integer The number of types added + */ + public function setType($resource, $type) + { + $this->checkResourceParam($resource, true); + + $this->delete($resource, 'rdf:type'); + return $this->addType($resource, $type); + } + + /** Get a human readable label for a resource + * + * This method will check a number of properties for a resource + * (in the order: skos:prefLabel, rdfs:label, foaf:name, dc:title) + * and return an approriate first that is available. If no label + * is available then it will return null. + * + * @return string A label for the resource. + */ + public function label($resource=null, $lang=null) + { + $this->checkResourceParam($resource, true); + + if ($resource) { + return $this->get( + $resource, + 'skos:prefLabel|rdfs:label|foaf:name|dc:title|dc11:title', + 'literal', + $lang + ); + } else { + return null; + } + } + + /** Get the primary topic of the graph + * + * @return EasyRdf_Resource The primary topic of the document. + */ + public function primaryTopic($resource=null) + { + $this->checkResourceParam($resource, true); + + if ($resource) { + return $this->get( + $resource, 'foaf:primaryTopic|^foaf:isPrimaryTopicOf', 'resource' + ); + } else { + return null; + } + } + + /** Returns the graph as a RDF/PHP associative array + * + * @return array The contents of the graph as an array. + */ + public function toArray() + { + return $this->_index; + } + + /** Calculates the number of triples in the graph + * + * @return integer The number of triples in the graph. + */ + public function countTriples() + { + $count = 0; + foreach ($this->_index as $resource) { + foreach ($resource as $property => $values) { + $count += count($values); + } + } + return $count; + } + + /** Magic method to return URI of resource when casted to string + * + * @return string The URI of the resource + */ + public function __toString() + { + return $this->_uri == null ? '' : $this->_uri; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/GraphStore.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/GraphStore.php new file mode 100644 index 0000000..735d9bc --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/GraphStore.php @@ -0,0 +1,216 @@ +_uri = $uri; + $this->_parsedUri = new EasyRdf_ParsedUri($uri); + } + + /** Get the URI of the graph store + * + * @return string The URI of the graph store + */ + public function getUri() + { + return $this->_uri; + } + + /** Fetch a named graph from the graph store + * + * The URI can either be a full absolute URI or + * a URI relative to the URI of the graph store. + * + * @param string $uriRef The URI of graph desired + * @return object EasyRdf_Graph The graph requested + */ + public function get($uriRef) + { + $graphUri = $this->_parsedUri->resolve($uriRef)->toString(); + $dataUrl = $this->urlForGraph($graphUri); + $graph = new EasyRdf_Graph($graphUri); + $graph->load($dataUrl); + return $graph; + } + + /** Send some graph data to the graph store + * + * This method is used by insert() and replace() + * + * @ignore + */ + protected function sendGraph($method, $graph, $uriRef, $format) + { + if (is_object($graph) and $graph instanceof EasyRdf_Graph) { + if ($uriRef == null) + $uriRef = $graph->getUri(); + $data = $graph->serialise($format); + } else { + $data = $graph; + } + + $formatObj = EasyRdf_Format::getFormat($format); + $mimeType = $formatObj->getDefaultMimeType(); + + $graphUri = $this->_parsedUri->resolve($uriRef)->toString(); + $dataUrl = $this->urlForGraph($graphUri); + + $client = EasyRdf_Http::getDefaultHttpClient(); + $client->resetParameters(true); + $client->setUri($dataUrl); + $client->setMethod($method); + $client->setRawData($data); + $client->setHeaders('Content-Type', $mimeType); + $client->setHeaders('Content-Length', strlen($data)); + $response = $client->request(); + if (!$response->isSuccessful()) { + throw new EasyRdf_Exception( + "HTTP request for $dataUrl failed: ".$response->getMessage() + ); + } + return $response; + } + + /** Replace the contents of a graph in the graph store with new data + * + * The $graph parameter is the EasyRdf_Graph object to be sent to the + * graph store. Alternatively it can be a string, already serialised. + * + * The URI can either be a full absolute URI or + * a URI relative to the URI of the graph store. + * + * The $format parameter can be given to specify the serialisation + * used to send the graph data to the graph store. + * + * @param object EasyRdfGraph $graph The URI of graph desired + * @param string $uriRef The URI of graph to be replaced + * @param string $format The format of the data to send to the graph store + * @return object EasyRdf_Http_Response The response from the graph store + */ + public function replace($graph, $uriRef=null, $format='ntriples') + { + return $this->sendGraph('PUT', $graph, $uriRef, $format); + } + + /** Add data to a graph in the graph store + * + * The $graph parameter is the EasyRdf_Graph object to be sent to the + * graph store. Alternatively it can be a string, already serialised. + * + * The URI can either be a full absolute URI or + * a URI relative to the URI of the graph store. + * + * The $format parameter can be given to specify the serialisation + * used to send the graph data to the graph store. + * + * @param object EasyRdfGraph $graph The URI of graph desired + * @param string $uriRef The URI of graph to be added to + * @param string $format The format of the data to send to the graph store + * @return object EasyRdf_Http_Response The response from the graph store + */ + public function insert($graph, $uriRef=null, $format='ntriples') + { + return $this->sendGraph('POST', $graph, $uriRef, $format); + } + + /** Delete a graph from the graph store + * + * The URI can either be a full absolute URI or + * a URI relative to the URI of the graph store. + * + * @param string $uriRef The URI of graph to be added to + * @return object EasyRdf_Http_Response The response from the graph store + */ + public function delete($uriRef) + { + $graphUri = $this->_parsedUri->resolve($uriRef)->toString(); + $dataUrl = $this->urlForGraph($graphUri); + + $client = EasyRdf_Http::getDefaultHttpClient(); + $client->resetParameters(true); + $client->setUri($dataUrl); + $client->setMethod('DELETE'); + $response = $client->request(); + if (!$response->isSuccessful()) { + throw new EasyRdf_Exception( + "HTTP request to delete $dataUrl failed: ".$response->getMessage() + ); + } + return $response; + } + + /** Work out the full URL for a graph store request. + * by checking if if it is a direct or indirect request. + * @ignore + */ + protected function urlForGraph($url) + { + if (strpos($url, $this->_uri) === false) { + $url = $this->_uri."?graph=".urlencode($url); + } + return $url; + } + + /** Magic method to return URI of the graph store when casted to string + * + * @return string The URI of the graph store + */ + public function __toString() + { + return empty($this->_uri) ? '' : $this->_uri; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Http.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Http.php new file mode 100644 index 0000000..808e04f --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Http.php @@ -0,0 +1,83 @@ + 5, + 'useragent' => 'EasyRdf_Http_Client', + 'timeout' => 10 + ); + + /** + * Request URI + * + * @var string + */ + private $_uri = null; + + /** + * Associative array of request headers + * + * @var array + */ + private $_headers = array(); + + /** + * HTTP request method + * + * @var string + */ + private $_method = 'GET'; + + /** + * Associative array of GET parameters + * + * @var array + */ + private $_paramsGet = array(); + + /** + * The raw post data to send. Could be set by setRawData($data). + * + * @var string + */ + private $_rawPostData = null; + + /** + * Redirection counter + * + * @var int + */ + private $_redirectCounter = 0; + + /** + * Constructor method. Will create a new HTTP client. Accepts the target + * URL and optionally configuration array. + * + * @param string $uri + * @param array $config Configuration key-value pairs. + */ + public function __construct($uri = null, $config = null) + { + if ($uri !== null) { + $this->setUri($uri); + } + if ($config !== null) { + $this->setConfig($config); + } + } + + /** + * Set the URI for the next request + * + * @param string $uri + * @return EasyRdf_Http_Client + */ + public function setUri($uri) + { + if (!is_string($uri)) { + $uri = strval($uri); + } + + if (!preg_match('/^http(s?):/', $uri)) { + throw new InvalidArgumentException( + "EasyRdf_Http_Client only supports the 'http' and 'https' schemes." + ); + } + + $this->_uri = $uri; + + return $this; + } + + /** + * Get the URI for the next request + * + * @return string + */ + public function getUri($asString = true) + { + return $this->_uri; + } + + /** + * Set configuration parameters for this HTTP client + * + * @param array $config + * @return EasyRdf_Http_Client + * @throws InvalidArgumentException + */ + public function setConfig($config = array()) + { + if ($config == null or !is_array($config)) { + throw new InvalidArgumentException( + "\$config should be an array and cannot be null" + ); + } + + foreach ($config as $k => $v) { + $this->_config[strtolower($k)] = $v; + } + + return $this; + } + + /** + * Set a request header + * + * @param string $name Header name (e.g. 'Accept') + * @param string $value Header value or null + * @return EasyRdf_Http_Client + */ + public function setHeaders($name, $value = null) + { + $normalizedName = strtolower($name); + + // If $value is null or false, unset the header + if ($value === null || $value === false) { + unset($this->_headers[$normalizedName]); + + // Else, set the header + } else { + $this->_headers[$normalizedName] = array($name, $value); + } + + return $this; + } + + /** + * Set the next request's method + * + * Validated the passed method and sets it. + * + * @param string $method + * @return EasyRdf_Http_Client + * @throws InvalidArgumentException + */ + public function setMethod($method) + { + if (!is_string($method) or !preg_match('/^[A-Z]+$/', $method)) { + throw new InvalidArgumentException("Invalid HTTP request method."); + } + + $this->_method = $method; + + return $this; + } + + /** + * Get the method for the next request + * + * @return string + */ + public function getMethod() + { + return $this->_method; + } + + /** + * Get the value of a specific header + * + * Note that if the header has more than one value, an array + * will be returned. + * + * @param string $key + * @return string|array|null The header value or null if it is not set + */ + public function getHeader($key) + { + $key = strtolower($key); + if (isset($this->_headers[$key])) { + return $this->_headers[$key][1]; + } else { + return null; + } + } + + /** + * Set a GET parameter for the request. + * + * @param string $name + * @param string $value + * @return EasyRdf_Http_Client + */ + public function setParameterGet($name, $value = null) + { + if ($value === null) { + if (isset($this->_paramsGet[$name])) + unset($this->_paramsGet[$name]); + } else { + $this->_paramsGet[$name] = $value; + } + + return $this; + } + + /** + * Get a GET parameter for the request. + * + * @param string $name + * @return string value + */ + public function getParameterGet($name) + { + if (isset($this->_paramsGet[$name])) { + return $this->_paramsGet[$name]; + } else { + return null; + } + } + + /** + * Get all the GET parameters + * + * @return array + */ + public function getParametersGet() + { + return $this->_paramsGet; + } + + /** + * Get the number of redirections done on the last request + * + * @return int + */ + public function getRedirectionsCount() + { + return $this->_redirectCounter; + } + + /** + * Set the raw (already encoded) POST data. + * + * This function is here for two reasons: + * 1. For advanced user who would like to set their own data, already encoded + * 2. For backwards compatibilty: If someone uses the old post($data) method. + * this method will be used to set the encoded data. + * + * $data can also be stream (such as file) from which the data will be read. + * + * @param string|resource $data + * @return Zend_Http_Client + */ + public function setRawData($data) + { + $this->_rawPostData = $data; + return $this; + } + + /** + * Get the raw (already encoded) POST data. + * + * @return string + */ + public function getRawData() + { + return $this->_rawPostData; + } + + /** + * Clear all GET and POST parameters + * + * Should be used to reset the request parameters if the client is + * used for several concurrent requests. + * + * clearAll parameter controls if we clean just parameters or also + * headers + * + * @param bool $clearAll Should all data be cleared? + * @return EasyRdf_Http_Client + */ + public function resetParameters($clearAll = false) + { + // Reset parameter data + $this->_paramsGet = array(); + $this->_rawPostData = null; + $this->_method = 'GET'; + + if ($clearAll) { + $this->_headers = array(); + } else { + // Clear outdated headers + if (isset($this->_headers['content-type'])) { + unset($this->_headers['content-type']); + } + if (isset($this->_headers['content-length'])) { + unset($this->_headers['content-length']); + } + } + + return $this; + } + + /** + * Send the HTTP request and return an HTTP response object + * + * @return EasyRdf_Http_Response + * @throws EasyRdf_Exception + */ + public function request($method = null) + { + if (!$this->_uri) { + throw new EasyRdf_Exception( + "Set URI before calling EasyRdf_Http_Client->request()" + ); + } + + if ($method) { + $this->setMethod($method); + } + $this->_redirectCounter = 0; + $response = null; + + // Send the first request. If redirected, continue. + do { + // Clone the URI and add the additional GET parameters to it + $uri = parse_url($this->_uri); + if ($uri['scheme'] === 'http') { + $host = $uri['host']; + } else if ($uri['scheme'] === 'https') { + $host = 'ssl://'.$uri['host']; + } else { + throw new EasyRdf_Exception( + "Unsupported URI scheme: ".$uri['scheme'] + ); + } + + if (isset($uri['port'])) { + $port = $uri['port']; + } else { + if ($uri['scheme'] === 'https') { + $port = 443; + } else { + $port = 80; + } + } + + if (!empty($this->_paramsGet)) { + if (!empty($uri['query'])) { + $uri['query'] .= '&'; + } else { + $uri['query'] = ''; + } + $uri['query'] .= http_build_query($this->_paramsGet, null, '&'); + } + + $headers = $this->_prepareHeaders($uri['host'], $port); + + // Open socket to remote server + $socket = @fsockopen( + $host, $port, $errno, $errstr, $this->_config['timeout'] + ); + if (!$socket) { + throw new EasyRdf_Exception("Unable to connect to $host:$port ($errstr)"); + } + + // Write the request + $path = $uri['path']; + if (isset($uri['query'])) $path .= '?' . $uri['query']; + fwrite($socket, "{$this->_method} {$path} HTTP/1.1\r\n"); + foreach ($headers as $k => $v) { + if (is_string($k)) $v = ucfirst($k) . ": $v"; + fwrite($socket, "$v\r\n"); + } + fwrite($socket, "\r\n"); + + // Send the request body, if there is one set + if (isset($this->_rawPostData)) { + fwrite($socket, $this->_rawPostData); + } + + // Read in the response + $content = ''; + while (!feof($socket)) { + $content .= fgets($socket); + } + + // FIXME: support HTTP/1.1 100 Continue + + // Close the socket + @fclose($socket); + + // Parse the response string + $response = EasyRdf_Http_Response::fromString($content); + + // If we got redirected, look for the Location header + if ($response->isRedirect() && + ($location = $response->getHeader('location')) + ) { + + // Avoid problems with buggy servers that add whitespace at the + // end of some headers (See ZF-11283) + $location = trim($location); + + // Some servers return relative URLs in the location header + // resolve it in relation to previous request + $baseUri = new EasyRdf_ParsedUri($this->_uri); + $location = $baseUri->resolve($location)->toString(); + + // If it is a 303 then drop the parameters and send a GET request + if ($response->getStatus() == 303) { + $this->resetParameters(); + $this->setMethod('GET'); + } + + // If we got a well formed absolute URI + if (parse_url($location)) { + $this->setHeaders('host', null); + $this->setUri($location); + } else { + throw new EasyRdf_Exception( + "Failed to parse Location header returned by ". + $this->_uri + ); + } + ++$this->_redirectCounter; + + } else { + // If we didn't get any location, stop redirecting + break; + } + + + } while ($this->_redirectCounter < $this->_config['maxredirects']); + + return $response; + } + + /** + * Prepare the request headers + * + * @ignore + * @return array + */ + protected function _prepareHeaders($host, $port) + { + $headers = array(); + + // Set the host header + if (! isset($this->_headers['host'])) { + // If the port is not default, add it + if ($port !== 80 and $port !== 443) { + $host .= ':' . $port; + } + $headers[] = "Host: {$host}"; + } + + // Set the connection header + if (! isset($this->_headers['connection'])) { + $headers[] = "Connection: close"; + } + + // Set the user agent header + if (! isset($this->_headers['user-agent'])) { + $headers[] = "User-Agent: {$this->_config['useragent']}"; + } + + // If we have _rawPostData set, set the content-length header + if (isset($this->_rawPostData)) { + $headers[] = "Content-Length: ".strlen($this->_rawPostData); + } + + // Add all other user defined headers + foreach ($this->_headers as $header) { + list($name, $value) = $header; + if (is_array($value)) { + $value = implode(', ', $value); + } + + $headers[] = "$name: $value"; + } + + return $headers; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Http/Response.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Http/Response.php new file mode 100644 index 0000000..e08ef88 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Http/Response.php @@ -0,0 +1,363 @@ +_status = intval($status); + $this->_body = $body; + $this->_version = $version; + $this->_message = $message; + + foreach ($headers as $k => $v) { + $k = ucwords(strtolower($k)); + $this->_headers[$k] = $v; + } + } + + /** + * Check whether the response in successful + * + * @return boolean + */ + public function isSuccessful() + { + return ($this->_status >= 200 && $this->_status < 300); + } + + /** + * Check whether the response is an error + * + * @return boolean + */ + public function isError() + { + return ($this->_status >= 400 && $this->_status < 600); + } + + /** + * Check whether the response is a redirection + * + * @return boolean + */ + public function isRedirect() + { + return ($this->_status >= 300 && $this->_status < 400); + } + + /** + * Get the HTTP response status code + * + * @return int + */ + public function getStatus() + { + return $this->_status; + } + + /** + * Return a message describing the HTTP response code + * (Eg. "OK", "Not Found", "Moved Permanently") + * + * @return string + */ + public function getMessage() + { + return $this->_message; + } + + /** + * Get the response body as string + * + * @return string + */ + public function getBody() + { + // Decode the body if it was transfer-encoded + switch (strtolower($this->getHeader('transfer-encoding'))) { + // Handle chunked body + case 'chunked': + return self::decodeChunkedBody($this->_body); + break; + + // No transfer encoding, or unknown encoding extension: + // return body as is + default: + return $this->_body; + break; + } + } + + /** + * Get the raw response body (as transfered "on wire") as string + * + * If the body is encoded (with Transfer-Encoding, not content-encoding - + * IE "chunked" body), gzip compressed, etc. it will not be decoded. + * + * @return string + */ + public function getRawBody() + { + return $this->_body; + } + + /** + * Get the HTTP version of the response + * + * @return string + */ + public function getVersion() + { + return $this->_version; + } + + /** + * Get the response headers + * + * @return array + */ + public function getHeaders() + { + return $this->_headers; + } + + /** + * Get a specific header as string, or null if it is not set + * + * @param string$header + * @return string|array|null + */ + public function getHeader($header) + { + $header = ucwords(strtolower($header)); + if (array_key_exists($header, $this->_headers)) { + return $this->_headers[$header]; + } else { + return null; + } + } + + /** + * Get all headers as string + * + * @param boolean $status_line Whether to return the first status line (IE "HTTP 200 OK") + * @param string $br Line breaks (eg. "\n", "\r\n", "
    ") + * @return string + */ + public function getHeadersAsString($statusLine = true, $br = "\n") + { + $str = ''; + + if ($statusLine) { + $str = "HTTP/{$this->_version} {$this->_status} {$this->_message}{$br}"; + } + + // Iterate over the headers and stringify them + foreach ($this->_headers as $name => $value) { + if (is_string($value)) + $str .= "{$name}: {$value}{$br}"; + + elseif (is_array($value)) { + foreach ($value as $subval) { + $str .= "{$name}: {$subval}{$br}"; + } + } + } + + return $str; + } + + /** + * Create an EasyRdf_Http_Response object from a HTTP response string + * + * @param string $responseStr + * @return EasyRdf_Http_Response + */ + public static function fromString($responseStr) + { + // First, split body and headers + $matches = preg_split('|(?:\r?\n){2}|m', $responseStr, 2); + if ($matches and sizeof($matches) == 2) { + list ($headerLines, $body) = $matches; + } else { + throw new EasyRdf_Exception( + "Failed to parse HTTP response." + ); + } + + // Split headers part to lines + $headerLines = preg_split('|[\r\n]+|m', $headerLines); + $status = array_shift($headerLines); + if (preg_match("|^HTTP/([\d\.x]+) (\d+) ([^\r\n]+)|", $status, $m)) { + $version = $m[1]; + $status = $m[2]; + $message = $m[3]; + } else { + throw new EasyRdf_Exception( + "Failed to parse HTTP response status line." + ); + } + + // Process the rest of the header lines + $headers = array(); + foreach ($headerLines as $line) { + if (preg_match("|^([\w-]+):\s+(.+)$|", $line, $m)) { + $hName = ucwords(strtolower($m[1])); + $hValue = $m[2]; + + if (isset($headers[$hName])) { + if (! is_array($headers[$hName])) { + $headers[$hName] = array($headers[$hName]); + } + $headers[$hName][] = $hValue; + } else { + $headers[$hName] = $hValue; + } + } + } + + return new EasyRdf_Http_Response( + $status, $headers, $body, $version, $message + ); + } + + + /** + * Decode a "chunked" transfer-encoded body and return the decoded text + * + * @param string $body + * @return string + */ + public static function decodeChunkedBody($body) + { + $decBody = ''; + + while (trim($body)) { + if (preg_match("/^([\da-fA-F]+)[^\r\n]*\r\n/sm", $body, $m)) { + $length = hexdec(trim($m[1])); + $cut = strlen($m[0]); + $decBody .= substr($body, $cut, $length); + $body = substr($body, $cut + $length + 2); + } else { + throw new EasyRdf_Exception( + "Failed to decode chunked body in HTTP response." + ); + } + } + + return $decBody; + } + + + /** + * Get the entire response as string + * + * @param string $br Line breaks (eg. "\n", "\r\n", "
    ") + * @return string + */ + public function asString($br = "\n") + { + return $this->getHeadersAsString(true, $br) . $br . $this->getRawBody(); + } + + /** + * Implements magic __toString() + * + * @return string + */ + public function __toString() + { + return $this->asString(); + } + +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Isomorphic.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Isomorphic.php new file mode 100644 index 0000000..99c7f25 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Isomorphic.php @@ -0,0 +1,93 @@ +resources()) !== count($graph2->resources())) { + return null; + } + + // Check grounded statements and collect statements with bnodes + $bnodes1 = array(); + foreach ($graph1->resources() as $resource) { + if ($resource->isBnode()) { + array_push($bnodes1, $resource); + } else { + foreach ($resource->propertyUris() as $property) { + foreach ($resource->all($property) as $value) { + if (!$graph2->hasProperty($property, $value)) { + // $graph1 has a triple that isn't in $graph2 + return null; + } + } + } + } + } + + // Collect all the bnodes in the second graph + $bnodes2 = array(); + foreach ($graph2->resources() as $resource) { + array_push($bnodes2, $resource); + + } + + // ?? + return true; + } + +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal.php new file mode 100644 index 0000000..9f56111 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal.php @@ -0,0 +1,313 @@ +_value = $value; + $this->_lang = $lang ? $lang : NULL; + $this->_datatype = $datatype ? $datatype : NULL; + + if ($this->_datatype) { + if (is_object($this->_datatype)) { + // Convert objects to strings + $this->_datatype = strval($this->_datatype); + } else { + // Expand shortened URIs (CURIEs) + $this->_datatype = EasyRdf_Namespace::expand($this->_datatype); + } + + // Literals can not have both a language and a datatype + $this->_lang = NULL; + } else { + // Set the datatype based on the subclass + $class = get_class($this); + if (isset(self::$_classMap[$class])) { + $this->_datatype = self::$_classMap[$class]; + $this->_lang = NULL; + } + } + + // Cast value to string + settype($this->_value, 'string'); + } + + /** Returns the value of the literal. + * + * @return string Value of this literal. + */ + public function getValue() + { + return $this->_value; + } + + /** Returns the full datatype URI of the literal. + * + * @return string Datatype URI of this literal. + */ + public function getDatatypeUri() + { + return $this->_datatype; + } + + /** Returns the shortened datatype URI of the literal. + * + * @return string Datatype of this literal (e.g. xsd:integer). + */ + public function getDatatype() + { + if ($this->_datatype) { + return EasyRdf_Namespace::shorten($this->_datatype); + } else { + return NULL; + } + } + + /** Returns the language of the literal. + * + * @return string Language of this literal. + */ + public function getLang() + { + return $this->_lang; + } + + /** Returns the properties of the literal as an associative array + * + * For example: + * array('type' => 'literal', 'value' => 'string value') + * + * @return array The properties of the literal + */ + public function toArray() + { + $array = array( + 'type' => 'literal', + 'value' => $this->_value + ); + + if ($this->_datatype) + $array['datatype'] = $this->_datatype; + + if ($this->_lang) + $array['lang'] = $this->_lang; + + return $array; + } + + /** Magic method to return the value of a literal as a string + * + * @return string The value of the literal + */ + public function __toString() + { + return isset($this->_value) ? $this->_value : ''; + } + + /** Return pretty-print view of the literal + * + * @param bool $html Set to true to format the dump using HTML + * @param string $color The colour of the text + * @return string + */ + public function dumpValue($html=true, $color='black') + { + return EasyRdf_Utils::dumpLiteralValue($this, $html, $color); + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Boolean.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Boolean.php new file mode 100644 index 0000000..becade3 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Boolean.php @@ -0,0 +1,95 @@ +_value) === 'true' or $this->_value === '1'; + } + + /** Return true if the value of the literal is 'true' or '1' + * + * @return bool + */ + public function isTrue() + { + return strtolower($this->_value) === 'true' or $this->_value === '1'; + } + + /** Return true if the value of the literal is 'false' or '0' + * + * @return bool + */ + public function isFalse() + { + return strtolower($this->_value) === 'false' or $this->_value === '0'; + } +} + +EasyRdf_Literal::setDatatypeMapping('xsd:boolean', 'EasyRdf_Literal_Boolean'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Date.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Date.php new file mode 100644 index 0000000..4127bf8 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Date.php @@ -0,0 +1,135 @@ +format('Y-m-d'); + } + + parent::__construct($value, null, $datatype); + } + + /** Parses a string using DateTime and creates a new literal + * + * Example: + * $date = EasyRdf_Literal_Date::parse('1 January 2011'); + * + * @see DateTime + * @param string $value The date to parse + * @return object EasyRdf_Literal_Date + */ + public static function parse($value) + { + $value = new DateTime($value); + return new EasyRdf_Literal_Date($value); + } + + /** Returns the date as a PHP DateTime object + * + * @see DateTime::format + * @param string $format + * @return string + */ + public function getValue() + { + return new DateTime($this->_value); + } + + /** Returns date formatted according to given format + * + * @see DateTime::format + * @param string $format + * @return string + */ + public function format($format) + { + return $this->getValue()->format($format); + } + + /** A full integer representation of the year, 4 digits + * + * @return integer + */ + public function year() + { + return (int)$this->format('Y'); + } + + /** Integer representation of the month + * + * @return integer + */ + public function month() + { + return (int)$this->format('m'); + } + + /** Integer representation of the day of the month + * + * @return integer + */ + public function day() + { + return (int)$this->format('d'); + } +} + +EasyRdf_Literal::setDatatypeMapping('xsd:date', 'EasyRdf_Literal_Date'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/DateTime.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/DateTime.php new file mode 100644 index 0000000..2971f47 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/DateTime.php @@ -0,0 +1,114 @@ +format(DateTime::ISO8601); + $value = preg_replace('/[\+\-]00(\:?)00$/', 'Z', $iso); + } + + EasyRdf_Literal::__construct($value, null, $datatype); + } + + /** Parses a string using DateTime and creates a new literal + * + * Example: + * $dt = EasyRdf_Literal_DateTime::parse('Mon 18 Jul 2011 18:45:43 BST'); + * + * @see DateTime + * @param string $value The date and time to parse + * @return object EasyRdf_Literal_DateTime + */ + public static function parse($value) + { + $value = new DateTime($value); + return new EasyRdf_Literal_DateTime($value); + } + + /** 24-hour format of the hour as an integer + * + * @return integer + */ + public function hour() + { + return (int)$this->format('H'); + } + + /** The minutes pasts the hour as an integer + * + * @return integer + */ + public function min() + { + return (int)$this->format('i'); + } + + /** The seconds pasts the minute as an integer + * + * @return integer + */ + public function sec() + { + return (int)$this->format('s'); + } +} + +EasyRdf_Literal::setDatatypeMapping('xsd:dateTime', 'EasyRdf_Literal_DateTime'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Decimal.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Decimal.php new file mode 100644 index 0000000..00fceb3 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Decimal.php @@ -0,0 +1,71 @@ +_value; + } +} + +EasyRdf_Literal::setDatatypeMapping('xsd:decimal', 'EasyRdf_Literal_Decimal'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/HexBinary.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/HexBinary.php new file mode 100644 index 0000000..e015f93 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/HexBinary.php @@ -0,0 +1,92 @@ +_value); + } +} + +EasyRdf_Literal::setDatatypeMapping('xsd:hexBinary', 'EasyRdf_Literal_HexBinary'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Integer.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Integer.php new file mode 100644 index 0000000..c607b64 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Literal/Integer.php @@ -0,0 +1,71 @@ +_value; + } +} + +EasyRdf_Literal::setDatatypeMapping('xsd:integer', 'EasyRdf_Literal_Integer'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Namespace.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Namespace.php new file mode 100644 index 0000000..edcb8af --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Namespace.php @@ -0,0 +1,280 @@ + 'http://purl.org/ontology/bibo/', + 'cc' => 'http://creativecommons.org/ns#', + 'cert' => 'http://www.w3.org/ns/auth/cert#', + 'dc' => 'http://purl.org/dc/terms/', + 'dc11' => 'http://purl.org/dc/elements/1.1/', + 'doap' => 'http://usefulinc.com/ns/doap#', + 'exif' => 'http://www.w3.org/2003/12/exif/ns#', + 'foaf' => 'http://xmlns.com/foaf/0.1/', + 'geo' => 'http://www.w3.org/2003/01/geo/wgs84_pos#', + 'og' => 'http://ogp.me/ns#', + 'owl' => 'http://www.w3.org/2002/07/owl#', + 'rdf' => 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', + 'rdfa' => 'http://www.w3.org/ns/rdfa#', + 'rdfs' => 'http://www.w3.org/2000/01/rdf-schema#', + 'rss' => 'http://purl.org/rss/1.0/', + 'sioc' => 'http://rdfs.org/sioc/ns#', + 'skos' => 'http://www.w3.org/2004/02/skos/core#', + 'synd' => 'http://purl.org/rss/1.0/modules/syndication/', + 'wot' => 'http://xmlns.com/wot/0.1/', + 'xhtml' => 'http://www.w3.org/1999/xhtml/vocab#', + 'xsd' => 'http://www.w3.org/2001/XMLSchema#' + ); + + /** Counter for numbering anonymous namespaces */ + private static $_anonymousNamespaceCount = 0; + + /** + * Return all the namespaces registered + * + * @return array Associative array of all the namespaces. + */ + public static function namespaces() + { + return self::$_namespaces; + } + + /** + * Return a namespace given its prefix. + * + * @param string $prefix The namespace prefix (eg 'foaf') + * @return string The namespace URI (eg 'http://xmlns.com/foaf/0.1/') + */ + public static function get($prefix) + { + if (!is_string($prefix) or $prefix === null or $prefix === '') { + throw new InvalidArgumentException( + "\$prefix should be a string and cannot be null or empty" + ); + } + + if (preg_match('/\W/', $prefix)) { + throw new InvalidArgumentException( + "\$prefix should only contain alpha-numeric characters" + ); + } + + $prefix = strtolower($prefix); + if (array_key_exists($prefix, self::$_namespaces)) { + return self::$_namespaces[$prefix]; + } else { + return null; + } + } + + /** + * Register a new namespace. + * + * @param string $prefix The namespace prefix (eg 'foaf') + * @param string $long The namespace URI (eg 'http://xmlns.com/foaf/0.1/') + */ + public static function set($prefix, $long) + { + if (!is_string($prefix) or $prefix === null or $prefix === '') { + throw new InvalidArgumentException( + "\$prefix should be a string and cannot be null or empty" + ); + } + + if (preg_match('/\W/', $prefix)) { + throw new InvalidArgumentException( + "\$prefix should only contain alpha-numeric characters" + ); + } + + if (!is_string($long) or $long === null or $long === '') { + throw new InvalidArgumentException( + "\$long should be a string and cannot be null or empty" + ); + } + + $prefix = strtolower($prefix); + self::$_namespaces[$prefix] = $long; + } + + /** + * Delete an existing namespace. + * + * @param string $prefix The namespace prefix (eg 'foaf') + */ + public static function delete($prefix) + { + if (!is_string($prefix) or $prefix === null or $prefix === '') { + throw new InvalidArgumentException( + "\$prefix should be a string and cannot be null or empty" + ); + } + + $prefix = strtolower($prefix); + if (isset(self::$_namespaces[$prefix])) { + unset(self::$_namespaces[$prefix]); + } + } + + /** + * Delete the anonymous namespaces and reset the counter to 0 + */ + public static function reset() + { + while (self::$_anonymousNamespaceCount > 0) { + self::delete('ns'.(self::$_anonymousNamespaceCount-1)); + self::$_anonymousNamespaceCount--; + } + } + + /** + * Try and breakup a URI into a prefix and local part + * + * If $createNamespace is true, and the URI isn't part of an existing + * namespace, then EasyRdf will attempt to create a new namespace and + * return the name of the new prefix (for example 'ns0', 'term'). + * + * If it isn't possible to split the URI, then null will be returned. + * + * @param string $uri The full URI (eg 'http://xmlns.com/foaf/0.1/name') + * @param bool $createNamespace If true, a new namespace will be created + * @return array The split URI (eg 'foaf', 'name') or null + */ + public static function splitUri($uri, $createNamespace=false) + { + if ($uri === null or $uri === '') { + throw new InvalidArgumentException( + "\$uri cannot be null or empty" + ); + } + + if (is_object($uri) and ($uri instanceof EasyRdf_Resource)) { + $uri = $uri->getUri(); + } else if (!is_string($uri)) { + throw new InvalidArgumentException( + "\$uri should be a string or EasyRdf_Resource" + ); + } + + foreach (self::$_namespaces as $prefix => $long) { + if (substr($uri, 0, strlen($long)) == $long) { + return array($prefix, substr($uri, strlen($long))); + } + } + + if ($createNamespace) { + // Try and create a new namespace + # FIXME: check the valid characters for an XML element name + if (preg_match("/^(.+?)([\w\-]+)$/", $uri, $matches)) { + $prefix = "ns".(self::$_anonymousNamespaceCount++); + self::set($prefix, $matches[1]); + return array($prefix, $matches[2]); + } + } + + return null; + } + + /** + * Return the prefix namespace that a URI belongs to. + * + * @param string $uri A full URI (eg 'http://xmlns.com/foaf/0.1/name') + * @return string The prefix namespace that it is a part of(eg 'foaf') + */ + public static function prefixOfUri($uri) + { + if ($parts = self::splitUri($uri)) { + return $parts[0]; + } + } + + /** + * Shorten a URI by substituting in the namespace prefix. + * + * If $createNamespace is true, and the URI isn't part of an existing + * namespace, then EasyRdf will attempt to create a new namespace and + * use that namespace to shorten the URI (for example ns0:term). + * + * If it isn't possible to shorten the URI, then null will be returned. + * + * @param string $uri The full URI (eg 'http://xmlns.com/foaf/0.1/name') + * @param bool $createNamespace If true, a new namespace will be created + * @return string The shortened URI (eg 'foaf:name') or null + */ + public static function shorten($uri, $createNamespace=false) + { + if ($parts = self::splitUri($uri, $createNamespace)) { + return implode(':', $parts); + } + } + + /** + * Expand a shortened URI (qname) back into a full URI. + * + * If it isn't possible to expand the qname, for example if the namespace + * isn't registered, then the original string will be returned. + * + * @param string $shortUri The short URI (eg 'foaf:name') + * @return string The full URI (eg 'http://xmlns.com/foaf/0.1/name') + */ + public static function expand($shortUri) + { + if (!is_string($shortUri) or $shortUri === null or $shortUri === '') { + throw new InvalidArgumentException( + "\$shortUri should be a string and cannot be null or empty" + ); + } + + if (preg_match("/^(\w+?):([\w\-]+)$/", $shortUri, $matches)) { + $long = self::get($matches[1]); + if ($long) { + return $long . $matches[2]; + } + } + return $shortUri; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/ParsedUri.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/ParsedUri.php new file mode 100644 index 0000000..f7fe7d7 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/ParsedUri.php @@ -0,0 +1,332 @@ +_scheme = isset($matches[2]) ? $matches[2] : ''; + } + if (!empty($matches[3])) { + $this->_authority = isset($matches[4]) ? $matches[4] : ''; + } + $this->_path = isset($matches[5]) ? $matches[5] : ''; + if (!empty($matches[6])) { + $this->_query = isset($matches[7]) ? $matches[7] : ''; + } + if (!empty($matches[8])) { + $this->_fragment = isset($matches[9]) ? $matches[9] : ''; + } + } + } else if (is_array($uri)) { + $this->_scheme = isset($uri['scheme']) ? $uri['scheme'] : NULL; + $this->_authority = isset($uri['authority']) ? $uri['authority'] : NULL; + $this->_path = isset($uri['path']) ? $uri['path'] : NULL; + $this->_query = isset($uri['query']) ? $uri['query'] : NULL; + $this->_fragment = isset($uri['fragment']) ? $uri['fragment'] : NULL; + } + } + + + /** Returns true if this is an absolute (complete) URI + * @return boolean + */ + public function isAbsolute() + { + return $this->_scheme !== NULL; + } + + /** Returns true if this is an relative (partial) URI + * @return boolean + */ + public function isRelative() + { + return $this->_scheme === NULL; + } + + /** Returns the scheme of the URI (e.g. http) + * @return string + */ + public function getScheme() + { + return $this->_scheme; + } + + /** Sets the scheme of the URI (e.g. http) + * @param string $scheme The new value for the scheme of the URI + */ + public function setScheme($scheme) + { + $this->_scheme = $scheme; + } + + /** Returns the authority of the URI (e.g. www.example.com:8080) + * @return string + */ + public function getAuthority() + { + return $this->_authority; + } + + /** Sets the authority of the URI (e.g. www.example.com:8080) + * @param string $authority The new value for the authority component of the URI + */ + public function setAuthority($authority) + { + $this->_authority = $authority; + } + + /** Returns the path of the URI (e.g. /foo/bar) + * @return string + */ + public function getPath() + { + return $this->_path; + } + + /** Set the path of the URI (e.g. /foo/bar) + * @param string $path The new value for the path component of the URI + */ + public function setPath($path) + { + $this->_path = $path; + } + + /** Returns the query string part of the URI (e.g. foo=bar) + * @return string + */ + public function getQuery() + { + return $this->_query; + } + + /** Set the query string of the URI (e.g. foo=bar) + * @param string $query The new value for the query string component of the URI + */ + public function setQuery($query) + { + $this->_query = $query; + } + + /** Returns the fragment part of the URI (i.e. after the #) + * @return string + */ + public function getFragment() + { + return $this->_fragment; + } + + /** Set the fragment of the URI (i.e. after the #) + * @param string $fragment The new value for the fragment component of the URI + */ + public function setFragment($fragment) + { + $this->_fragment = $fragment; + } + + + /** + * Normalises the path of this URI if it has one. Normalising a path means + * that any unnecessary '.' and '..' segments are removed. For example, the + * URI http://example.com/a/b/../c/./d would be normalised to + * http://example.com/a/c/d + * + * @return object EasyRdf_ParsedUri + */ + public function normalise() + { + if (empty($this->_path)) + return $this; + + // Remove ./ from the start + if (substr($this->_path, 0, 2) == './') { + // Remove both characters + $this->_path = substr($this->_path, 2); + } + + // Remove /. from the end + if (substr($this->_path, -2) == '/.') { + // Remove only the last dot, not the slash! + $this->_path = substr($this->_path, 0, -1); + } + + if (substr($this->_path, -3) == '/..') { + $this->_path .= '/'; + } + + // Split the path into its segments + $segments = explode('/', $this->_path); + $newSegments = array(); + + // Remove all unnecessary '.' and '..' segments + foreach ($segments as $segment) { + if ($segment == '..') { + // Remove the previous part of the path + $count = count($newSegments); + if ($count > 0 && $newSegments[$count-1]) + array_pop($newSegments); + } else if ($segment == '.') { + // Ignore + continue; + } else { + array_push($newSegments, $segment); + } + } + + // Construct the new normalised path + $this->_path = implode($newSegments, '/'); + + // Allow easy chaining of methods + return $this; + } + + /** + * Resolves a relative URI using this URI as the base URI. + */ + public function resolve($relUri) + { + // If it is a string, then convert it to a parsed object + if (is_string($relUri)) { + $relUri = new EasyRdf_ParsedUri($relUri); + } + + // This code is based on the pseudocode in section 5.2.2 of RFC3986 + $target = new EasyRdf_ParsedUri(); + if ($relUri->_scheme) { + $target->_scheme = $relUri->_scheme; + $target->_authority = $relUri->_authority; + $target->_path = $relUri->_path; + $target->_query = $relUri->_query; + } else { + if ($relUri->_authority) { + $target->_authority = $relUri->_authority; + $target->_path = $relUri->_path; + $target->_query = $relUri->_query; + } else { + if (empty($relUri->_path)) { + $target->_path = $this->_path; + if ($relUri->_query) { + $target->_query = $relUri->_query; + } else { + $target->_query = $this->_query; + } + } else { + if (substr($relUri->_path, 0, 1) == '/') { + $target->_path = $relUri->_path; + } else { + $path = $this->_path; + $lastSlash = strrpos($path, '/'); + if ($lastSlash !== false) { + $path = substr($path, 0, $lastSlash + 1); + } else { + $path = '/'; + } + + $target->_path .= $path . $relUri->_path; + } + $target->_query = $relUri->_query; + } + $target->_authority = $this->_authority; + } + $target->_scheme = $this->_scheme; + } + + $target->_fragment = $relUri->_fragment; + + $target->normalise(); + + return $target; + } + + /** Convert the parsed URI back into a string + * + * @return string The URI as a string + */ + public function toString() + { + $str = ''; + if ($this->_scheme !== NULL) + $str .= $this->_scheme . ':'; + if ($this->_authority !== NULL) + $str .= '//' . $this->_authority; + $str .= $this->_path; + if ($this->_query !== NULL) + $str .= '?' . $this->_query; + if ($this->_fragment !== NULL) + $str .= '#' . $this->_fragment; + return $str; + } + + /** Magic method to convert the URI, when casted, back to a string + * + * @return string The URI as a string + */ + public function __toString() + { + return $this->toString(); + } + +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser.php new file mode 100644 index 0000000..5b15055 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser.php @@ -0,0 +1,150 @@ +_bnodeMap[$name])) { + $this->_bnodeMap[$name] = $this->_graph->newBNodeId(); + } + return $this->_bnodeMap[$name]; + } + + /** + * Delete the bnode mapping - to be called at the start of a new parse + * @ignore + */ + protected function resetBnodeMap() + { + $this->_bnodeMap = array(); + } + + /** + * Check, cleanup parameters and prepare for parsing + * @ignore + */ + protected function checkParseParams($graph, $data, $format, $baseUri) + { + if ($graph == null or !is_object($graph) or + !($graph instanceof EasyRdf_Graph)) { + throw new InvalidArgumentException( + "\$graph should be an EasyRdf_Graph object and cannot be null" + ); + } else { + $this->_graph = $graph; + } + + if ($format == null or $format == '') { + throw new InvalidArgumentException( + "\$format cannot be null or empty" + ); + } else if (is_object($format) and $format instanceof EasyRdf_Format) { + $this->_format = $format = $format->getName(); + } else if (!is_string($format)) { + throw new InvalidArgumentException( + "\$format should be a string or an EasyRdf_Format object" + ); + } else { + $this->_format = $format; + } + + if ($baseUri) { + if (!is_string($baseUri)) { + throw new InvalidArgumentException( + "\$baseUri should be a string" + ); + } else { + $this->_baseUri = new EasyRdf_ParsedUri($baseUri); + } + } else { + $this->_baseUri = null; + } + + // Prepare for parsing + $this->resetBnodeMap(); + $this->_tripleCount = 0; + } + + /** + * Sub-classes must follow this protocol + * @ignore + */ + public function parse($graph, $data, $format, $baseUri) + { + throw new EasyRdf_Exception( + "This method should be overridden by sub-classes." + ); + } + + /** + * Add a triple to the current graph, and keep count of the number of triples + * @ignore + */ + protected function addTriple($resource, $property, $value) + { + $count = $this->_graph->add($resource, $property, $value); + $this->_tripleCount += $count; + return $count; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Arc.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Arc.php new file mode 100644 index 0000000..fb928d5 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Arc.php @@ -0,0 +1,97 @@ + 'RDFXML', + 'turtle' => 'Turtle', + 'ntriples' => 'Turtle', + 'rdfa' => 'SemHTML', + ); + + /** + * Constructor + * + * @return object EasyRdf_Parser_Arc + */ + public function __construct() + { + require_once 'arc/ARC2.php'; + } + + /** + * Parse an RDF document into an EasyRdf_Graph + * + * @param object EasyRdf_Graph $graph the graph to load the data into + * @param string $data the RDF document data + * @param string $format the format of the input data + * @param string $baseUri the base URI of the data being parsed + * @return integer The number of triples added to the graph + */ + public function parse($graph, $data, $format, $baseUri) + { + parent::checkParseParams($graph, $data, $format, $baseUri); + + if (array_key_exists($format, self::$_supportedTypes)) { + $className = self::$_supportedTypes[$format]; + } else { + throw new EasyRdf_Exception( + "EasyRdf_Parser_Arc does not support: $format" + ); + } + + $parser = ARC2::getParser($className); + if ($parser) { + $parser->parse($baseUri, $data); + $rdfphp = $parser->getSimpleIndex(false); + return parent::parse($graph, $rdfphp, 'php', $baseUri); + } else { + throw new EasyRdf_Exception( + "ARC2 failed to get a $className parser." + ); + } + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Json.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Json.php new file mode 100644 index 0000000..1437e01 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Json.php @@ -0,0 +1,156 @@ +_jsonLastErrorExists = function_exists('json_last_error'); + } + + /** Return the last JSON parser error as a string + * + * If json_last_error() is not available a generic message will be returned. + * + * @ignore + */ + protected function _jsonLastErrorString() + { + if ($this->_jsonLastErrorExists) { + switch (json_last_error()) { + case JSON_ERROR_NONE: + return null; + case JSON_ERROR_DEPTH: + return "JSON Parse error: the maximum stack depth has been exceeded"; + case JSON_ERROR_STATE_MISMATCH: + return "JSON Parse error: invalid or malformed JSON"; + case JSON_ERROR_CTRL_CHAR: + return "JSON Parse error: control character error, possibly incorrectly encoded"; + case JSON_ERROR_SYNTAX: + return "JSON Parse syntax error"; + case JSON_ERROR_UTF8: + return "JSON Parse error: malformed UTF-8 characters, possibly incorrectly encoded"; + default: + return "JSON Parse error: unknown"; + } + } else { + return "JSON Parse error"; + } + } + + /** Parse the triple-centric JSON format, as output by libraptor + * + * http://librdf.org/raptor/api/serializer-json.html + * + * @ignore + */ + protected function _parseJsonTriples($data, $baseUri) + { + foreach ($data['triples'] as $triple) { + if ($triple['subject']['type'] == 'bnode') { + $subject = $this->remapBnode($triple['subject']['value']); + } else { + $subject = $triple['subject']['value']; + } + + $predicate = $triple['predicate']['value']; + + if ($triple['object']['type'] == 'bnode') { + $object = array( + 'type' => 'bnode', + 'value' => $this->remapBnode($triple['object']['value']) + ); + } else { + $object = $triple['object']; + } + + $this->addTriple($subject, $predicate, $object); + } + + return $this->_tripleCount; + } + + /** + * Parse RDF/JSON into an EasyRdf_Graph + * + * @param object EasyRdf_Graph $graph the graph to load the data into + * @param string $data the RDF document data + * @param string $format the format of the input data + * @param string $baseUri the base URI of the data being parsed + * @return integer The number of triples added to the graph + */ + public function parse($graph, $data, $format, $baseUri) + { + $this->checkParseParams($graph, $data, $format, $baseUri); + + if ($format != 'json') { + throw new EasyRdf_Exception( + "EasyRdf_Parser_Json does not support: $format" + ); + } + + $decoded = @json_decode(strval($data), true); + if ($decoded === null) { + throw new EasyRdf_Exception( + $this->_jsonLastErrorString() + ); + } + + if (array_key_exists('triples', $decoded)) { + return $this->_parseJsonTriples($decoded, $baseUri); + } else { + return parent::parse($graph, $decoded, 'php', $baseUri); + } + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Ntriples.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Ntriples.php new file mode 100644 index 0000000..e881a4e --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Ntriples.php @@ -0,0 +1,196 @@ + chr(0x09), + 'b' => chr(0x08), + 'n' => chr(0x0A), + 'r' => chr(0x0D), + 'f' => chr(0x0C), + '\"' => chr(0x22), + '\'' => chr(0x27) + ); + foreach ($mappings as $in => $out) { + $str = preg_replace('/\x5c([' . $in . '])/', $out, $str); + } + + if (stripos($str, '\u') === FALSE) + return $str; + + while (preg_match('/\\\(U)([0-9A-F]{8})/', $str, $matches) || + preg_match('/\\\(u)([0-9A-F]{4})/', $str, $matches)) { + $no = hexdec($matches[2]); + if ($no < 128) + $char = chr($no); + else if ($no < 2048) + $char = chr(($no >> 6) + 192) . + chr(($no & 63) + 128); + else if ($no < 65536) + $char = chr(($no >> 12) + 224) . + chr((($no >> 6) & 63) + 128) . + chr(($no & 63) + 128); + else if ($no < 2097152) + $char = chr(($no >> 18) + 240) . + chr((($no >> 12) & 63) + 128) . + chr((($no >> 6) & 63) + 128) . + chr(($no & 63) + 128); + else + $char= ''; + $str = str_replace('\\' . $matches[1] . $matches[2], $char, $str); + } + return $str; + } + + /** + * @ignore + */ + protected function parseNtriplesSubject($sub) + { + if (preg_match('/<([^<>]+)>/', $sub, $matches)) { + return $this->unescapeString($matches[1]); + } else if (preg_match('/_:([A-Za-z0-9]*)/', $sub, $matches)) { + if (empty($matches[1])) { + return $this->_graph->newBNodeId(); + } else { + $nodeid = $this->unescapeString($matches[1]); + return $this->remapBnode($nodeid); + } + } else { + throw new EasyRdf_Exception( + "Failed to parse subject: $sub" + ); + } + } + + /** + * @ignore + */ + protected function parseNtriplesObject($obj) + { + if (preg_match('/"(.+)"\^\^<([^<>]+)>/', $obj, $matches)) { + return array( + 'type' => 'literal', + 'value' => $this->unescapeString($matches[1]), + 'datatype' => $this->unescapeString($matches[2]) + ); + } else if (preg_match('/"(.+)"@([\w\-]+)/', $obj, $matches)) { + return array( + 'type' => 'literal', + 'value' => $this->unescapeString($matches[1]), + 'lang' => $this->unescapeString($matches[2]) + ); + } else if (preg_match('/"(.*)"/', $obj, $matches)) { + return array('type' => 'literal', 'value' => $this->unescapeString($matches[1])); + } else if (preg_match('/<([^<>]+)>/', $obj, $matches)) { + return array('type' => 'uri', 'value' => $matches[1]); + } else if (preg_match('/_:([A-Za-z0-9]*)/', $obj, $matches)) { + if (empty($matches[1])) { + return array( + 'type' => 'bnode', + 'value' => $this->_graph->newBNodeId() + ); + } else { + $nodeid = $this->unescapeString($matches[1]); + return array( + 'type' => 'bnode', + 'value' => $this->remapBnode($nodeid) + ); + } + } else { + throw new EasyRdf_Exception( + "Failed to parse object: $obj" + ); + } + } + + /** + * Parse an N-Triples document into an EasyRdf_Graph + * + * @param object EasyRdf_Graph $graph the graph to load the data into + * @param string $data the RDF document data + * @param string $format the format of the input data + * @param string $baseUri the base URI of the data being parsed + * @return integer The number of triples added to the graph + */ + public function parse($graph, $data, $format, $baseUri) + { + parent::checkParseParams($graph, $data, $format, $baseUri); + + if ($format != 'ntriples') { + throw new EasyRdf_Exception( + "EasyRdf_Parser_Ntriples does not support: $format" + ); + } + + $lines = preg_split("/[\r\n]+/", strval($data)); + foreach ($lines as $line) { + if (preg_match("/^\s*#/", $line)) { + continue; + } else if (preg_match("/(.+)\s+<([^<>]+)>\s+(.+)\s*\./", $line, $matches)) { + $this->addTriple( + $this->parseNtriplesSubject($matches[1]), + $this->unescapeString($matches[2]), + $this->parseNtriplesObject($matches[3]) + ); + } + } + + return $this->_tripleCount; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Rapper.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Rapper.php new file mode 100644 index 0000000..0671b74 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Rapper.php @@ -0,0 +1,103 @@ +/dev/null", $output, $status); + if ($status != 0) { + throw new EasyRdf_Exception( + "Failed to execute the command '$rapperCmd': $result" + ); + } else if (version_compare($result, self::MINIMUM_RAPPER_VERSION) < 0) { + throw new EasyRdf_Exception( + "Version ".self::MINIMUM_RAPPER_VERSION." or higher of rapper is required." + ); + } else { + $this->_rapperCmd = $rapperCmd; + } + } + + /** + * Parse an RDF document into an EasyRdf_Graph + * + * @param object EasyRdf_Graph $graph the graph to load the data into + * @param string $data the RDF document data + * @param string $format the format of the input data + * @param string $baseUri the base URI of the data being parsed + * @return integer The number of triples added to the graph + */ + public function parse($graph, $data, $format, $baseUri) + { + parent::checkParseParams($graph, $data, $format, $baseUri); + + $json = EasyRdf_Utils::execCommandPipe( + $this->_rapperCmd, + array( + '--quiet', + '--input', $format, + '--output', 'json', + '--ignore-errors', + '--input-uri', $baseUri, + '--output-uri', '-', '-' + ), + $data + ); + + // Parse in the JSON + return parent::parse($graph, $json, 'json', $baseUri); + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/RdfPhp.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/RdfPhp.php new file mode 100644 index 0000000..7b4f776 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/RdfPhp.php @@ -0,0 +1,100 @@ +checkParseParams($graph, $data, $format, $baseUri); + + if ($format != 'php') { + throw new EasyRdf_Exception( + "EasyRdf_Parser_RdfPhp does not support: $format" + ); + } + + foreach ($data as $subject => $properties) { + if (substr($subject, 0, 2) === '_:') { + $subject = $this->remapBnode($subject); + } elseif (preg_match('/^\w+$/', $subject)) { + # Cope with invalid RDF/JSON serialisations that + # put the node name in, without the _: prefix + # (such as net.fortytwo.sesametools.rdfjson) + $subject = $this->remapBnode($subject); + } + + foreach ($properties as $property => $objects) { + foreach ($objects as $object) { + if ($object['type'] === 'bnode') { + $object['value'] = $this->remapBnode($object['value']); + } + $this->addTriple($subject, $property, $object); + } + } + } + + return $this->_tripleCount; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/RdfXml.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/RdfXml.php new file mode 100644 index 0000000..781d8a5 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/RdfXml.php @@ -0,0 +1,773 @@ +_graph = $graph; + $this->_state = 0; + $this->_xLang = null; + $this->_xBase = new EasyRdf_ParsedUri($base); + $this->_xml = 'http://www.w3.org/XML/1998/namespace'; + $this->_rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'; + $this->_nsp = array($this->_xml => 'xml', $this->_rdf => 'rdf'); + $this->_sStack = array(); + $this->_sCount = 0; + } + + /** @ignore */ + protected function initXMLParser() + { + if (!isset($this->_xmlParser)) { + $parser = xml_parser_create_ns('UTF-8', ''); + xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 0); + xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); + xml_set_element_handler($parser, 'startElementHandler', 'endElementHandler'); + xml_set_character_data_handler($parser, 'cdataHandler'); + xml_set_start_namespace_decl_handler($parser, 'newNamespaceHandler'); + xml_set_object($parser, $this); + $this->_xmlParser = $parser; + } + } + + /** @ignore */ + protected function pushS(&$s) + { + $s['pos'] = $this->_sCount; + $this->_sStack[$this->_sCount] = $s; + $this->_sCount++; + } + + /** @ignore */ + protected function popS() + { + $r = array(); + $this->_sCount--; + for ($i = 0, $iMax = $this->_sCount; $i < $iMax; $i++) { + $r[$i] = $this->_sStack[$i]; + } + $this->_sStack = $r; + } + + /** @ignore */ + protected function updateS($s) + { + $this->_sStack[$s['pos']] = $s; + } + + /** @ignore */ + protected function getParentS() + { + if ($this->_sCount && isset($this->_sStack[$this->_sCount - 1])) { + return $this->_sStack[$this->_sCount - 1]; + } else { + return false; + } + } + + /** @ignore */ + protected function getParentXBase() + { + if ($p = $this->getParentS()) { + if (isset($p['p_x_base']) && $p['p_x_base']) { + return $p['p_x_base']; + } else if (isset($p['x_base'])) { + return $p['x_base']; + } else { + return ''; + } + } else { + return $this->_xBase; + } + } + + /** @ignore */ + protected function getParentXLang() + { + if ($p = $this->getParentS()) { + if (isset($p['p_x_lang']) && $p['p_x_lang']) { + return $p['p_x_lang']; + } else if (isset($p['x_lang'])) { + return $p['x_lang']; + } else { + return null; + } + } else { + return $this->_xLang; + } + } + + /** @ignore */ + protected function splitURI($v) + { + /* auto-splitting on / or # */ + if (preg_match('/^(.*[\/\#])([^\/\#]+)$/', $v, $m)) return array($m[1], $m[2]); + /* auto-splitting on last special char, e.g. urn:foo:bar */ + if (preg_match('/^(.*[\:\/])([^\:\/]+)$/', $v, $m)) return array($m[1], $m[2]); + return array($v, ''); + } + + /** @ignore */ + protected function add($s, $p, $o, $sType, $oType, $oDatatype = null, $oLang = null) + { + $this->addTriple( + $s, $p, + array( + 'type' => $oType, + 'value' => $o, + 'lang' => $oLang, + 'datatype' => $oDatatype + ) + ); + } + + /** @ignore */ + protected function reify($t, $s, $p, $o, $sType, $oType, $oDatatype=null, $oLang=null) + { + $this->add($t, $this->_rdf.'type', $this->_rdf.'Statement', 'uri', 'uri'); + $this->add($t, $this->_rdf.'subject', $s, 'uri', $sType); + $this->add($t, $this->_rdf.'predicate', $p, 'uri', 'uri'); + $this->add($t, $this->_rdf.'object', $o, 'uri', $oType, $oDatatype, $oLang); + } + + /** @ignore */ + protected function startElementHandler($p, $t, $a) + { + switch($this->_state) { + case 0: + return $this->startState0($t, $a); + case 1: + return $this->startState1($t, $a); + case 2: + return $this->startState2($t, $a); + case 4: + return $this->startState4($t, $a); + case 5: + return $this->startState5($t, $a); + case 6: + return $this->startState6($t, $a); + default: + throw new EasyRdf_Exception( + 'startElementHandler() called at state ' . $this->_state . ' in '.$t + ); + } + } + + /** @ignore */ + protected function endElementHandler($p, $t) + { + switch($this->_state){ + case 1: + return $this->endState1($t); + case 2: + return $this->endState2($t); + case 3: + return $this->endState3($t); + case 4: + return $this->endState4($t); + case 5: + return $this->endState5($t); + case 6: + return $this->endState6($t); + default: + throw new EasyRdf_Exception( + 'endElementHandler() called at state ' . $this->_state . ' in '.$t + ); + } + } + + /** @ignore */ + protected function cdataHandler($p, $d) + { + switch($this->_state){ + case 4: + return $this->cdataState4($d); + case 6: + return $this->cdataState6($d); + default: + return false; + } + } + + /** @ignore */ + protected function newNamespaceHandler($p, $prf, $uri) + { + $this->_nsp[$uri] = isset($this->_nsp[$uri]) ? $this->_nsp[$uri] : $prf; + } + + /** @ignore */ + protected function startState0($t, $a) + { + $this->_state = 1; + if ($t !== $this->_rdf.'RDF') { + $this->startState1($t, $a); + } + } + + /** @ignore */ + protected function startState1($t, $a) + { + $s = array( + 'x_base' => $this->getParentXBase(), + 'x_lang' => $this->getParentXLang(), + 'li_count' => 0, + ); + + if (isset($a[$this->_xml.'base'])) { + $s['x_base'] = $this->_xBase->resolve($a[$this->_xml.'base']); + } + + if (isset($a[$this->_xml.'lang'])) { + $s['x_lang'] = $a[$this->_xml.'lang']; + } + + /* ID */ + if (isset($a[$this->_rdf.'ID'])) { + $s['type'] = 'uri'; + $s['value'] = $s['x_base']->resolve('#'.$a[$this->_rdf.'ID']); + /* about */ + } elseif (isset($a[$this->_rdf.'about'])) { + $s['type'] = 'uri'; + $s['value'] = $s['x_base']->resolve($a[$this->_rdf.'about']); + /* bnode */ + } else { + $s['type'] = 'bnode'; + if (isset($a[$this->_rdf.'nodeID'])) { + $s['value'] = $this->remapBnode($a[$this->_rdf.'nodeID']); + } else { + $s['value'] = $this->_graph->newBNodeId(); + } + } + + /* sub-node */ + if ($this->_state === 4) { + $supS = $this->getParentS(); + /* new collection */ + if (isset($supS['o_is_coll']) && $supS['o_is_coll']) { + $coll = array( + 'type' => 'bnode', + 'value' => $this->_graph->newBNodeId(), + 'is_coll' => true, + 'x_base' => $s['x_base'], + 'x_lang' => $s['x_lang'] + ); + $this->add($supS['value'], $supS['p'], $coll['value'], $supS['type'], $coll['type']); + $this->add($coll['value'], $this->_rdf.'first', $s['value'], $coll['type'], $s['type']); + $this->pushS($coll); + + /* new entry in existing coll */ + } elseif (isset($supS['is_coll']) && $supS['is_coll']) { + $coll = array( + 'type' => 'bnode', + 'value' => $this->_graph->newBNodeId(), + 'is_coll' => true, + 'x_base' => $s['x_base'], + 'x_lang' => $s['x_lang'] + ); + $this->add($supS['value'], $this->_rdf.'rest', $coll['value'], $supS['type'], $coll['type']); + $this->add($coll['value'], $this->_rdf.'first', $s['value'], $coll['type'], $s['type']); + $this->pushS($coll); + /* normal sub-node */ + } elseif (isset($supS['p']) && $supS['p']) { + $this->add($supS['value'], $supS['p'], $s['value'], $supS['type'], $s['type']); + } + } + /* typed node */ + if ($t !== $this->_rdf.'Description') { + $this->add($s['value'], $this->_rdf.'type', $t, $s['type'], 'uri'); + } + /* (additional) typing attr */ + if (isset($a[$this->_rdf.'type'])) { + $this->add($s['value'], $this->_rdf.'type', $a[$this->_rdf.'type'], $s['type'], 'uri'); + } + + /* Seq|Bag|Alt */ +// if (in_array($t, array($this->_rdf.'Seq', $this->_rdf.'Bag', $this->_rdf.'Alt'))) { +// # FIXME: what is this? +// $s['is_con'] = true; +// } + + /* any other attrs (skip rdf and xml, except rdf:_, rdf:value, rdf:Seq) */ + foreach ($a as $k => $v) { + if (((strpos($k, $this->_xml) === false) && (strpos($k, $this->_rdf) === false)) || + preg_match('/(\_[0-9]+|value|Seq|Bag|Alt|Statement|Property|List)$/', $k)) { + if (strpos($k, ':')) { + $this->add($s['value'], $k, $v, $s['type'], 'literal', null, $s['x_lang']); + } + } + } + $this->pushS($s); + $this->_state = 2; + } + + /** @ignore */ + protected function startState2($t, $a) + { + $s = $this->getParentS(); + foreach (array('p_x_base', 'p_x_lang', 'p_id', 'o_is_coll') as $k) { + unset($s[$k]); + } + /* base */ + if (isset($a[$this->_xml.'base'])) { + $s['p_x_base'] = $s['x_base']->resolve($a[$this->_xml.'base']); + } + $b = isset($s['p_x_base']) && $s['p_x_base'] ? $s['p_x_base'] : $s['x_base']; + /* lang */ + if (isset($a[$this->_xml.'lang'])) { + $s['p_x_lang'] = $a[$this->_xml.'lang']; + } + $l = isset($s['p_x_lang']) && $s['p_x_lang'] ? $s['p_x_lang'] : $s['x_lang']; + /* adjust li */ + if ($t === $this->_rdf.'li') { + $s['li_count']++; + $t = $this->_rdf.'_'.$s['li_count']; + } + /* set p */ + $s['p'] = $t; + /* reification */ + if (isset($a[$this->_rdf.'ID'])) { + $s['p_id'] = $a[$this->_rdf.'ID']; + } + $o = array('value' => null, 'type' => null, 'x_base' => $b, 'x_lang' => $l); + /* resource/rdf:resource */ + if (isset($a['resource'])) { + $a[$this->_rdf.'resource'] = $a['resource']; + unset($a['resource']); + } + if (isset($a[$this->_rdf.'resource'])) { + $o['type'] = 'uri'; + $o['value'] = $b->resolve($a[$this->_rdf.'resource']); + $this->add($s['value'], $s['p'], $o['value'], $s['type'], $o['type']); + /* type */ + if (isset($a[$this->_rdf.'type'])) { + $this->add( + $o['value'], $this->_rdf.'type', + $a[$this->_rdf.'type'], + 'uri', 'uri' + ); + } + /* reification */ + if (isset($s['p_id'])) { + $this->reify( + $b->resolve('#'.$s['p_id']), + $s['value'], $s['p'], $o['value'], + $s['type'], $o['type'] + ); + unset($s['p_id']); + } + $this->_state = 3; + /* named bnode */ + } elseif (isset($a[$this->_rdf.'nodeID'])) { + $o['value'] = $this->remapBnode($a[$this->_rdf.'nodeID']); + $o['type'] = 'bnode'; + $this->add($s['value'], $s['p'], $o['value'], $s['type'], $o['type']); + $this->_state = 3; + /* reification */ + if (isset($s['p_id'])) { + $this->reify( + $b->resolve('#'.$s['p_id']), + $s['value'], $s['p'], $o['value'], + $s['type'], $o['type'] + ); + } + /* parseType */ + } elseif (isset($a[$this->_rdf.'parseType'])) { + if ($a[$this->_rdf.'parseType'] === 'Literal') { + $s['o_xml_level'] = 0; + $s['o_xml_data'] = ''; + $s['p_xml_literal_level'] = 0; + $s['ns'] = array(); + $this->_state = 6; + } elseif ($a[$this->_rdf.'parseType'] === 'Resource') { + $o['value'] = $this->_graph->newBNodeId(); + $o['type'] = 'bnode'; + $o['hasClosingTag'] = 0; + $this->add($s['value'], $s['p'], $o['value'], $s['type'], $o['type']); + $this->pushS($o); + /* reification */ + if (isset($s['p_id'])) { + $this->reify( + $b->resolve('#'.$s['p_id']), + $s['value'], $s['p'], $o['value'], + $s['type'], $o['type'] + ); + unset($s['p_id']); + } + $this->_state = 2; + } elseif ($a[$this->_rdf.'parseType'] === 'Collection') { + $s['o_is_coll'] = true; + $this->_state = 4; + } + /* sub-node or literal */ + } else { + $s['o_cdata'] = ''; + if (isset($a[$this->_rdf.'datatype'])) { + $s['o_datatype'] = $a[$this->_rdf.'datatype']; + } + $this->_state = 4; + } + /* any other attrs (skip rdf and xml) */ + foreach ($a as $k => $v) { + if (((strpos($k, $this->_xml) === false) && + (strpos($k, $this->_rdf) === false)) || + preg_match('/(\_[0-9]+|value)$/', $k)) { + if (strpos($k, ':')) { + if (!$o['value']) { + $o['value'] = $this->_graph->newBNodeId(); + $o['type'] = 'bnode'; + $this->add($s['value'], $s['p'], $o['value'], $s['type'], $o['type']); + } + /* reification */ + if (isset($s['p_id'])) { + $this->reify( + $b->resolve('#'.$s['p_id']), + $s['value'], $s['p'], $o['value'], + $s['type'], $o['type'] + ); + unset($s['p_id']); + } + $this->add($o['value'], $k, $v, $o['type'], 'literal'); + $this->_state = 3; + } + } + } + $this->updateS($s); + } + + /** @ignore */ + protected function startState4($t, $a) + { + return $this->startState1($t, $a); + } + + /** @ignore */ + protected function startState5($t, $a) + { + $this->_state = 4; + return $this->startState4($t, $a); + } + + /** @ignore */ + protected function startState6($t, $a) + { + $s = $this->getParentS(); + $data = isset($s['o_xml_data']) ? $s['o_xml_data'] : ''; + $ns = isset($s['ns']) ? $s['ns'] : array(); + $parts = $this->splitURI($t); + if (count($parts) === 1) { + $data .= '<'.$t; + } else { + $nsUri = $parts[0]; + $name = $parts[1]; + if (!isset($this->_nsp[$nsUri])) { + foreach ($this->_nsp as $tmp1 => $tmp2) { + if (strpos($t, $tmp1) === 0) { + $nsUri = $tmp1; + $name = substr($t, strlen($tmp1)); + break; + } + } + } + + $nsp = isset($this->_nsp[$nsUri]) ? $this->_nsp[$nsUri] : ''; + $data .= $nsp ? '<' . $nsp . ':' . $name : '<' . $name; + /* ns */ + if (!isset($ns[$nsp.'='.$nsUri]) || !$ns[$nsp.'='.$nsUri]) { + $data .= $nsp ? ' xmlns:'.$nsp.'="'.$nsUri.'"' : ' xmlns="'.$nsUri.'"'; + $ns[$nsp.'='.$nsUri] = true; + $s['ns'] = $ns; + } + } + foreach ($a as $k => $v) { + $parts = $this->splitURI($k); + if (count($parts) === 1) { + $data .= ' '.$k.'="'.$v.'"'; + } else { + $nsUri = $parts[0]; + $name = $parts[1]; + $nsp = isset($this->_nsp[$nsUri]) ? $this->_nsp[$nsUri] : ''; + $data .= $nsp ? ' '.$nsp.':'.$name.'="'.$v.'"' : ' '.$name.'="'.$v.'"' ; + } + } + $data .= '>'; + $s['o_xml_data'] = $data; + $s['o_xml_level'] = isset($s['o_xml_level']) ? $s['o_xml_level'] + 1 : 1; + if ($t == $s['p']) {/* xml container prop */ + $s['p_xml_literal_level'] = isset($s['p_xml_literal_level']) ? $s['p_xml_literal_level'] + 1 : 1; + } + $this->updateS($s); + } + + /** @ignore */ + protected function endState1($t) + { + /* end of doc */ + $this->_state = 0; + } + + /** @ignore */ + protected function endState2($t) + { + /* expecting a prop, getting a close */ + if ($s = $this->getParentS()) { + $hasClosingTag = (isset($s['hasClosingTag']) && !$s['hasClosingTag']) ? 0 : 1; + $this->popS(); + $this->_state = 5; + if ($s = $this->getParentS()) { + /* new s */ + if (!isset($s['p']) || !$s['p']) { + /* p close after collection|parseType=Resource|node close after p close */ + $this->_state = $this->_sCount ? 4 : 1; + if (!$hasClosingTag) { + $this->_state = 2; + } + } elseif (!$hasClosingTag) { + $this->_state = 2; + } + } + } + } + + /** @ignore */ + protected function endState3($t) + { + /* p close */ + $this->_state = 2; + } + + /** @ignore */ + protected function endState4($t) + { + /* empty p | pClose after cdata | pClose after collection */ + if ($s = $this->getParentS()) { + $b = isset($s['p_x_base']) && $s['p_x_base'] ? + $s['p_x_base'] : (isset($s['x_base']) ? $s['x_base'] : ''); + if (isset($s['is_coll']) && $s['is_coll']) { + $this->add($s['value'], $this->_rdf.'rest', $this->_rdf.'nil', $s['type'], 'uri'); + /* back to collection start */ + while ((!isset($s['p']) || ($s['p'] != $t))) { + $subS = $s; + $this->popS(); + $s = $this->getParentS(); + } + /* reification */ + if (isset($s['p_id']) && $s['p_id']) { + $this->reify( + $b->resolve('#'.$s['p_id']), + $s['value'], $s['p'], $subS['value'], + $s['type'], $subS['type'] + ); + } + unset($s['p']); + $this->updateS($s); + } else { + $dt = isset($s['o_datatype']) ? $s['o_datatype'] : null; + $l = isset($s['p_x_lang']) && $s['p_x_lang'] ? + $s['p_x_lang'] : (isset($s['x_lang']) ? $s['x_lang'] : null); + $o = array('type' => 'literal', 'value' => $s['o_cdata']); + $this->add( + $s['value'], $s['p'], + $o['value'], $s['type'], + $o['type'], $dt, $l + ); + /* reification */ + if (isset($s['p_id']) && $s['p_id']) { + $this->reify( + $b->resolve('#'.$s['p_id']), + $s['value'], $s['p'], + $o['value'], $s['type'], + $o['type'], $dt, $l + ); + } + unset($s['o_cdata']); + unset($s['o_datatype']); + unset($s['p']); + $this->updateS($s); + } + $this->_state = 2; + } + } + + /** @ignore */ + protected function endState5($t) + { + /* p close */ + if ($s = $this->getParentS()) { + unset($s['p']); + $this->updateS($s); + $this->_state = 2; + } + } + + /** @ignore */ + protected function endState6($t) + { + if ($s = $this->getParentS()) { + $l = isset($s['p_x_lang']) && $s['p_x_lang'] ? + $s['p_x_lang'] : + (isset($s['x_lang']) ? $s['x_lang'] : null); + $data = $s['o_xml_data']; + $level = $s['o_xml_level']; + if ($level === 0) { + /* pClose */ + $this->add( + $s['value'], $s['p'], + trim($data, ' '), $s['type'], + 'literal', $this->_rdf.'XMLLiteral', $l + ); + unset($s['o_xml_data']); + $this->_state = 2; + } else { + $parts = $this->splitURI($t); + if (count($parts) == 1) { + $data .= ''; + } else { + $nsUri = $parts[0]; + $name = $parts[1]; + if (!isset($this->_nsp[$nsUri])) { + foreach ($this->_nsp as $tmp1 => $tmp2) { + if (strpos($t, $tmp1) === 0) { + $nsUri = $tmp1; + $name = substr($t, strlen($tmp1)); + break; + } + } + } + $nsp = isset($this->_nsp[$nsUri]) ? $this->_nsp[$nsUri] : ''; + $data .= $nsp ? '' : ''; + } + $s['o_xml_data'] = $data; + $s['o_xml_level'] = $level - 1; + if ($t == $s['p']) { + /* xml container prop */ + $s['p_xml_literal_level']--; + } + } + $this->updateS($s); + } + } + + /** @ignore */ + protected function cdataState4($d) + { + if ($s = $this->getParentS()) { + $s['o_cdata'] = isset($s['o_cdata']) ? $s['o_cdata'] . $d : $d; + $this->updateS($s); + } + } + + /** @ignore */ + protected function cdataState6($d) + { + if ($s = $this->getParentS()) { + if (isset($s['o_xml_data']) || preg_match("/[\n\r]/", $d) || trim($d)) { + $d = htmlspecialchars($d, ENT_NOQUOTES); + $s['o_xml_data'] = isset($s['o_xml_data']) ? $s['o_xml_data'] . $d : $d; + } + $this->updateS($s); + } + } + + /** + * Parse an RDF/XML document into an EasyRdf_Graph + * + * @param object EasyRdf_Graph $graph the graph to load the data into + * @param string $data the RDF document data + * @param string $format the format of the input data + * @param string $baseUri the base URI of the data being parsed + * @return integer The number of triples added to the graph + */ + public function parse($graph, $data, $format, $baseUri) + { + parent::checkParseParams($graph, $data, $format, $baseUri); + + if ($format != 'rdfxml') { + throw new EasyRdf_Exception( + "EasyRdf_Parser_RdfXml does not support: $format" + ); + } + + $this->init($graph, $baseUri); + $this->resetBnodeMap(); + + /* xml parser */ + $this->initXMLParser(); + + /* parse */ + if (!xml_parse($this->_xmlParser, $data, false)) { + throw new EasyRdf_Exception( + 'XML error: "' . xml_error_string(xml_get_error_code($this->_xmlParser)) . + '" at line ' . xml_get_current_line_number($this->_xmlParser) + ); + } + + xml_parser_free($this->_xmlParser); + + return $this->_tripleCount; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Redland.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Redland.php new file mode 100644 index 0000000..5af9b4d --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Redland.php @@ -0,0 +1,249 @@ +remapBnode( + librdf_node_get_blank_identifier($node) + ); + } else { + throw new EasyRdf_Exception("Unsupported type: ".$type); + } + } + + /** + * Convert a node into an associate array + * @ignore + */ + protected function nodeToArray($node) + { + $object = array(); + $object['type'] = EasyRdf_Parser_Redland::nodeTypeString($node); + if ($object['type'] == 'uri') { + $object['value'] = EasyRdf_Parser_Redland::nodeUriString($node); + } else if ($object['type'] == 'bnode') { + $object['value'] = '_:'.librdf_node_get_blank_identifier($node); + } else if ($object['type'] == 'literal') { + $object['value'] = librdf_node_get_literal_value($node); + $lang = librdf_node_get_literal_value_language($node); + if ($lang) { + $object['lang'] = $lang; + } + $datatype = librdf_node_get_literal_value_datatype_uri($node); + if ($datatype) { + $object['datatype'] = librdf_uri_to_string($datatype); + } + } else { + throw new EasyRdf_Exception("Unsupported type: ".$object['type']); + } + return $object; + } + + /** + * Return the number of errors during parsing + * @ignore + */ + protected function parserErrorCount($parser) + { + $errorUri = librdf_new_uri( + $this->_world, self::LIBRDF_PARSER_FEATURE_ERROR_COUNT + ); + $errorNode = librdf_parser_get_feature($parser, $errorUri); + $errorCount = librdf_node_get_literal_value($errorNode); + librdf_free_uri($errorUri); + return $errorCount; + } + + /** + * Constructor + * + * @return object EasyRdf_Parser_Redland + */ + public function __construct() + { + if (extension_loaded('redland')) { + $this->_world = librdf_php_get_world(); + if (!$this->_world) { + throw new EasyRdf_Exception( + "Failed to initialise librdf world." + ); + } + } else { + throw new EasyRdf_Exception( + "Redland PHP extension is not available." + ); + } + } + + /** + * Parse an RDF document into an EasyRdf_Graph + * + * @param object EasyRdf_Graph $graph the graph to load the data into + * @param string $data the RDF document data + * @param string $format the format of the input data + * @param string $baseUri the base URI of the data being parsed + * @return integer The number of triples added to the graph + */ + public function parse($graph, $data, $format, $baseUri) + { + parent::checkParseParams($graph, $data, $format, $baseUri); + + $parser = librdf_new_parser($this->_world, $format, null, null); + if (!$parser) { + throw new EasyRdf_Exception( + "Failed to create librdf_parser of type: $format" + ); + } + + $rdfUri = librdf_new_uri($this->_world, $baseUri); + if (!$rdfUri) { + throw new EasyRdf_Exception( + "Failed to create librdf_uri from: $baseUri" + ); + } + + $stream = librdf_parser_parse_string_as_stream( + $parser, $data, $rdfUri + ); + if (!$stream) { + throw new EasyRdf_Exception( + "Failed to parse RDF stream for: $rdfUri" + ); + } + + do { + $statement = librdf_stream_get_object($stream); + if ($statement) { + $subject = EasyRdf_Parser_Redland::nodeUriString( + librdf_statement_get_subject($statement) + ); + $predicate = EasyRdf_Parser_Redland::nodeUriString( + librdf_statement_get_predicate($statement) + ); + $object = EasyRdf_Parser_Redland::nodeToArray( + librdf_statement_get_object($statement) + ); + + $this->addTriple($subject, $predicate, $object); + } + } while (!librdf_stream_next($stream)); + + $errorCount = $this->parserErrorCount($parser); + if ($errorCount) { + throw new EasyRdf_Exception("$errorCount errors while parsing."); + } + + librdf_free_uri($rdfUri); + librdf_free_stream($stream); + librdf_free_parser($parser); + + return $this->_tripleCount; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Turtle.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Turtle.php new file mode 100644 index 0000000..46e6fa1 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Parser/Turtle.php @@ -0,0 +1,1134 @@ +_data = $data; + $this->_len = strlen($data); + $this->_pos = 0; + + $this->_namespaces = array(); + $this->_subject = NULL; + $this->_predicate = NULL; + $this->_object = NULL; + + $this->resetBnodeMap(); + + $c = $this->skipWSC(); + while ($c != -1) { + $this->parseStatement(); + $c = $this->skipWSC(); + } + + return $this->_tripleCount; + } + + + /** + * Parse a statement [2] + * @ignore + */ + protected function parseStatement() + { + $c = $this->peek(); + if ($c == '@') { + $this->parseDirective(); + $this->skipWSC(); + $this->verifyCharacter($this->read(), "."); + } else { + $this->parseTriples(); + $this->skipWSC(); + $this->verifyCharacter($this->read(), "."); + } + } + + /** + * Parse a directive [3] + * @ignore + */ + protected function parseDirective() + { + // Verify that the first characters form the string "prefix" + $this->verifyCharacter($this->read(), "@"); + + $directive = ''; + + $c = $this->read(); + while ($c != -1 && !self::isWhitespace($c)) { + $directive .= $c; + $c = $this->read(); + } + + if ($directive == "prefix") { + $this->parsePrefixID(); + } else if ($directive == "base") { + $this->parseBase(); + } else if (strlen($directive) == 0) { + throw new EasyRdf_Exception( + "Turtle Parse Error: directive name is missing, expected @prefix or @base" + ); + } else { + throw new EasyRdf_Exception( + "Turtle Parse Error: unknown directive \"@$directive\"" + ); + } + } + + /** + * Parse a prefixID [4] + * @ignore + */ + protected function parsePrefixID() + { + $this->skipWSC(); + + // Read prefix ID (e.g. "rdf:" or ":") + $prefixID = ''; + + while (true) { + $c = $this->read(); + if ($c == ':') { + $this->unread($c); + break; + } else if (self::isWhitespace($c)) { + break; + } else if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading prefix id" + ); + } + + $prefixID .= $c; + } + + $this->skipWSC(); + $this->verifyCharacter($this->read(), ":"); + $this->skipWSC(); + + // Read the namespace URI + $namespace = $this->parseURI(); + + // Store local namespace mapping + $this->_namespaces[$prefixID] = $namespace['value']; + } + + /** + * Parse base [5] + * @ignore + */ + protected function parseBase() + { + $this->skipWSC(); + + $baseUri = $this->parseURI(); + $this->_baseUri = new EasyRdf_ParsedUri($baseUri['value']); + } + + /** + * Parse triples [6] + * @ignore + */ + protected function parseTriples() + { + $this->parseSubject(); + $this->skipWSC(); + $this->parsePredicateObjectList(); + + $this->_subject = NULL; + $this->_predicate = NULL; + $this->_object = NULL; + } + + /** + * Parse a predicateObjectList [7] + * @ignore + */ + protected function parsePredicateObjectList() + { + $this->_predicate = $this->parsePredicate(); + + $this->skipWSC(); + $this->parseObjectList(); + + while ($this->skipWSC() == ';') { + $this->read(); + + $c = $this->skipWSC(); + + if ($c == '.' || $c == ']') { + break; + } + + $this->_predicate = $this->parsePredicate(); + + $this->skipWSC(); + + $this->parseObjectList(); + } + } + + /** + * Parse a objectList [8] + * @ignore + */ + protected function parseObjectList() + { + $this->parseObject(); + + while ($this->skipWSC() == ',') { + $this->read(); + $this->skipWSC(); + $this->parseObject(); + } + } + + /** + * Parse a subject [10] + * @ignore + */ + protected function parseSubject() + { + $c = $this->peek(); + if ($c == '(') { + $this->_subject = $this->parseCollection(); + } else if ($c == '[') { + $this->_subject = $this->parseImplicitBlank(); + } else { + $value = $this->parseValue(); + + if ($value['type'] == 'uri' or $value['type'] == 'bnode') { + $this->_subject = $value; + } else { + throw new EasyRdf_Exception( + "Turtle Parse Error: illegal subject type: ".$value['type'] + ); + } + } + } + + /** + * Parse a predicate [11] + * @ignore + */ + protected function parsePredicate() + { + // Check if the short-cut 'a' is used + $c1 = $this->read(); + + if ($c1 == 'a') { + $c2 = $this->read(); + + if (self::isWhitespace($c2)) { + // Short-cut is used, return the rdf:type URI + return array( + 'type' => 'uri', + 'value' => EasyRdf_Namespace::get('rdf') . 'type' + ); + } + + // Short-cut is not used, unread all characters + $this->unread($c2); + } + $this->unread($c1); + + // Predicate is a normal resource + $predicate = $this->parseValue(); + if ($predicate['type'] == 'uri') { + return $predicate; + } else { + throw new EasyRdf_Exception( + "Turtle Parse Error: Illegal predicate value: " . $predicate + ); + } + } + + /** + * Parse a object [12] + * @ignore + */ + protected function parseObject() + { + $c = $this->peek(); + + if ($c == '(') { + $this->_object = $this->parseCollection(); + } else if ($c == '[') { + $this->_object = $this->parseImplicitBlank(); + } else { + $this->_object = $this->parseValue(); + } + + $this->addTriple( + $this->_subject['value'], + $this->_predicate['value'], + $this->_object + ); + } + + /** + * Parses a blankNodePropertyList [15] + * + * This method parses the token [] + * and predicateObjectLists that are surrounded by square brackets. + * + * @ignore + */ + protected function parseImplicitBlank() + { + $this->verifyCharacter($this->read(), "["); + + $bnode = array( + 'type' => 'bnode', + 'value' => $this->_graph->newBNodeId() + ); + + $c = $this->read(); + if ($c != ']') { + $this->unread($c); + + // Remember current subject and predicate + $oldSubject = $this->_subject; + $oldPredicate = $this->_predicate; + + // generated bNode becomes subject + $this->_subject = $bnode; + + // Enter recursion with nested predicate-object list + $this->skipWSC(); + + $this->parsePredicateObjectList(); + + $this->skipWSC(); + + // Read closing bracket + $this->verifyCharacter($this->read(), "]"); + + // Restore previous subject and predicate + $this->_subject = $oldSubject; + $this->_predicate = $oldPredicate; + } + + return $bnode; + } + + /** + * Parses a collection [16], e.g: ( item1 item2 item3 ) + * @ignore + */ + protected function parseCollection() + { + $this->verifyCharacter($this->read(), "("); + + $c = $this->skipWSC(); + if ($c == ')') { + // Empty list + $this->read(); + return array( + 'type' => 'uri', + 'value' => EasyRdf_Namespace::get('rdf') . 'nil' + ); + } else { + $listRoot = array( + 'type' => 'bnode', + 'value' => $this->_graph->newBNodeId() + ); + + // Remember current subject and predicate + $oldSubject = $this->_subject; + $oldPredicate = $this->_predicate; + + // generated bNode becomes subject, predicate becomes rdf:first + $this->_subject = $listRoot; + $this->_predicate = array( + 'type' => 'uri', + 'value' => EasyRdf_Namespace::get('rdf') . 'first' + ); + + $this->parseObject(); + $bNode = $listRoot; + + while ($this->skipWSC() != ')') { + // Create another list node and link it to the previous + $newNode = array( + 'type' => 'bnode', + 'value' => $this->_graph->newBNodeId() + ); + + $this->addTriple( + $bNode['value'], + EasyRdf_Namespace::get('rdf') . 'rest', + $newNode + ); + + // New node becomes the current + $this->_subject = $bNode = $newNode; + + $this->parseObject(); + } + + // Skip ')' + $this->read(); + + // Close the list + $this->addTriple( + $bNode['value'], + EasyRdf_Namespace::get('rdf') . 'rest', + array( + 'type' => 'uri', + 'value' => EasyRdf_Namespace::get('rdf') . 'nil' + ) + ); + + // Restore previous subject and predicate + $this->_subject = $oldSubject; + $this->_predicate = $oldPredicate; + + return $listRoot; + } + } + + /** + * Parses an RDF value. This method parses uriref, qname, node ID, quoted + * literal, integer, double and boolean. + * @ignore + */ + protected function parseValue() + { + $c = $this->peek(); + + if ($c == '<') { + // uriref, e.g. + return $this->parseURI(); + } else if ($c == ':' || self::isPrefixStartChar($c)) { + // qname or boolean + return $this->parseQNameOrBoolean(); + } else if ($c == '_') { + // node ID, e.g. _:n1 + return $this->parseNodeID(); + } else if ($c == '"' or $c == "'") { + // quoted literal, e.g. "foo" or """foo""" or 'foo' or '''foo''' + return $this->parseQuotedLiteral($c); + } else if (ctype_digit($c) || $c == '.' || $c == '+' || $c == '-') { + // integer or double, e.g. 123 or 1.2e3 + return $this->parseNumber(); + } else if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading value" + ); + } else { + throw new EasyRdf_Exception( + "Turtle Parse Error: expected an RDF value here, found '$c'" + ); + } + } + + /** + * Parses a quoted string, optionally followed by a language tag or datatype. + * @param string $quote The type of quote to use (either ' or ") + * @ignore + */ + protected function parseQuotedLiteral($quote) + { + $label = $this->parseQuotedString($quote); + + // Check for presence of a language tag or datatype + $c = $this->peek(); + + if ($c == '@') { + $this->read(); + + // Read language + $lang = ''; + $c = $this->read(); + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading language" + ); + } elseif (!self::isLanguageStartChar($c)) { + throw new EasyRdf_Exception( + "Turtle Parse Error: expected a letter, found '$c'" + ); + } + + $lang .= $c; + + $c = $this->read(); + while (self::isLanguageChar($c)) { + $lang .= $c; + $c = $this->read(); + } + + $this->unread($c); + + return array( + 'type' => 'literal', + 'value' => $label, + 'lang' => $lang + ); + } else if ($c == '^') { + $this->read(); + + // next character should be another '^' + $this->verifyCharacter($this->read(), "^"); + + // Read datatype + $datatype = $this->parseValue(); + if ($datatype['type'] == 'uri') { + return array( + 'type' => 'literal', + 'value' => $label, + 'datatype' => $datatype['value'] + ); + } else { + throw new EasyRdf_Exception( + "Turtle Parse Error: illegal datatype value: $datatype" + ); + } + } else { + return array( + 'type' => 'literal', + 'value' => $label + ); + } + } + + /** + * Parses a quoted string, which is either a "normal string" or a """long string""". + * @param string $quote The type of quote to use (either ' or ") + * @ignore + */ + protected function parseQuotedString($quote) + { + $result = NULL; + + // First character should be ' or " + $this->verifyCharacter($this->read(), $quote); + + // Check for long-string, which starts and ends with three double quotes + $c2 = $this->read(); + $c3 = $this->read(); + + if ($c2 == $quote && $c3 == $quote) { + // Long string + $result = $this->parseLongString($quote); + } else { + // Normal string + $this->unread($c3); + $this->unread($c2); + + $result = $this->parseString($quote); + } + + // Unescape any escape sequences + return $this->unescapeString($result); + } + + /** + * Parses a "normal string". This method assumes that the first double quote + * has already been parsed. + * @param string $quote The type of quote to use (either ' or ") + * @ignore + */ + protected function parseString($quote) + { + $str = ''; + + while (true) { + $c = $this->read(); + + if ($c == $quote) { + break; + } else if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading string" + ); + } + + $str .= $c; + + if ($c == '\\') { + // This escapes the next character, which might be a ' or a " + $c = $this->read(); + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading string" + ); + } + $str .= $c; + } + } + + return $str; + } + + /** + * Parses a """long string""". This method assumes that the first three + * double quotes have already been parsed. + * @param string $quote The type of quote to use (either ' or ") + * @ignore + */ + protected function parseLongString($quote) + { + $str = ''; + $doubleQuoteCount = 0; + + while ($doubleQuoteCount < 3) { + $c = $this->read(); + + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading long string" + ); + } else if ($c == $quote) { + $doubleQuoteCount++; + } else { + $doubleQuoteCount = 0; + } + + $str .= $c; + + if ($c == '\\') { + // This escapes the next character, which might be a ' or " + $c = $this->read(); + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading long string" + ); + } + $str .= $c; + } + } + + return substr($str, 0, -3); + } + + /** + * Parses a numeric value, either of type integer, decimal or double + * @ignore + */ + protected function parseNumber() + { + $value = ''; + $datatype = EasyRdf_Namespace::get('xsd').'integer'; + + $c = $this->read(); + + // read optional sign character + if ($c == '+' || $c == '-') { + $value .= $c; + $c = $this->read(); + } + + while (ctype_digit($c)) { + $value .= $c; + $c = $this->read(); + } + + if ($c == '.' || $c == 'e' || $c == 'E') { + // We're parsing a decimal or a double + $datatype = EasyRdf_Namespace::get('xsd').'decimal'; + + // read optional fractional digits + if ($c == '.') { + $value .= $c; + $c = $this->read(); + while (ctype_digit($c)) { + $value .= $c; + $c = $this->read(); + } + + if (strlen($value) == 1) { + // We've only parsed a '.' + throw new EasyRdf_Exception( + "Turtle Parse Error: object for statement missing" + ); + } + } else { + if (strlen($value) == 0) { + // We've only parsed an 'e' or 'E' + throw new EasyRdf_Exception( + "Turtle Parse Error: object for statement missing" + ); + } + } + + // read optional exponent + if ($c == 'e' || $c == 'E') { + $datatype = EasyRdf_Namespace::get('xsd').'double'; + $value .= $c; + + $c = $this->read(); + if ($c == '+' || $c == '-') { + $value .= $c; + $c = $this->read(); + } + + if (!ctype_digit($c)) { + throw new EasyRdf_Exception( + "Turtle Parse Error: Exponent value missing" + ); + } + + $value .= $c; + + $c = $this->read(); + while (ctype_digit($c)) { + $value .= $c; + $c = $this->read(); + } + } + } + + // Unread last character, it isn't part of the number + $this->unread($c); + + // Return result as a typed literal + return array( + 'type' => 'literal', + 'value' => $value, + 'datatype' => $datatype + ); + } + + /** + * Parses a URI / IRI + * @ignore + */ + protected function parseURI() + { + $uri = ''; + + // First character should be '<' + $this->verifyCharacter($this->read(), "<"); + + // Read up to the next '>' character + while (true) { + $c = $this->read(); + + if ($c == '>') { + break; + } else if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading URI" + ); + } + + $uri .= $c; + + if ($c == '\\') { + // This escapes the next character, which might be a '>' + $c = $this->read(); + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading URI" + ); + } + $uri .= $c; + } + } + + // Unescape any escape sequences + $uri = $this->unescapeString($uri); + + return array( + 'type' => 'uri', + 'value' => $this->resolve($uri) + ); + } + + /** + * Parses qnames and boolean values, which have equivalent starting + * characters. + * @ignore + */ + protected function parseQNameOrBoolean() + { + // First character should be a ':' or a letter + $c = $this->read(); + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while readying value" + ); + } + if ($c != ':' && !self::isPrefixStartChar($c)) { + throw new EasyRdf_Exception( + "Turtle Parse Error: expected a ':' or a letter, found '$c'" + ); + } + + $namespace = NULL; + + if ($c == ':') { + // qname using default namespace + $namespace = $this->_namespaces[""]; + if ($namespace == NULL) { + throw new EasyRdf_Exception( + "Turtle Parse Error: default namespace used but not defined" + ); + } + } else { + // $c is the first letter of the prefix + $prefix = $c; + + $c = $this->read(); + while (self::isPrefixChar($c)) { + $prefix .= $c; + $c = $this->read(); + } + + if ($c != ':') { + // prefix may actually be a boolean value + $value = $prefix; + + if ($value == "true" || $value == "false") { + return array( + 'type' => 'literal', + 'value' => $value, + 'datatype' => EasyRdf_Namespace::get('xsd') . 'boolean' + ); + } + } + + $this->verifyCharacter($c, ":"); + + if (isset($this->_namespaces[$prefix])) { + $namespace = $this->_namespaces[$prefix]; + } else { + throw new EasyRdf_Exception( + "Turtle Parse Error: namespace prefix '$prefix' used but not defined" + ); + } + } + + // $c == ':', read optional local name + $localName = ''; + $c = $this->read(); + if (self::isNameStartChar($c)) { + $localName .= $c; + + $c = $this->read(); + while (self::isNameChar($c)) { + $localName .= $c; + $c = $this->read(); + } + } + + // Unread last character + $this->unread($c); + + // Note: namespace has already been resolved + return array( + 'type' => 'uri', + 'value' => $namespace . $localName + ); + } + + /** + * Parses a blank node ID, e.g: _:node1 + * @ignore + */ + protected function parseNodeID() + { + // Node ID should start with "_:" + $this->verifyCharacter($this->read(), "_"); + $this->verifyCharacter($this->read(), ":"); + + // Read the node ID + $c = $this->read(); + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file while reading node id" + ); + } else if (!self::isNameStartChar($c)) { + throw new EasyRdf_Exception( + "Turtle Parse Error: expected a letter, found '$c'" + ); + } + + // Read all following letter and numbers, they are part of the name + $name = $c; + $c = $this->read(); + while (self::isNameChar($c)) { + $name .= $c; + $c = $this->read(); + } + + $this->unread($c); + + return array( + 'type' => 'bnode', + 'value' => $this->remapBnode($name) + ); + } + + protected function resolve($uri) + { + if ($this->_baseUri) { + return $this->_baseUri->resolve($uri)->toString(); + } else { + return $uri; + } + } + + /** + * Verifies that the supplied character $c is one of the expected + * characters specified in $expected. This method will throw a + * exception if this is not the case. + * @ignore + */ + protected function verifyCharacter($c, $expected) + { + if ($c == -1) { + throw new EasyRdf_Exception( + "Turtle Parse Error: unexpected end of file" + ); + } else if (strpbrk($c, $expected) === FALSE) { + $msg = 'expected '; + for ($i = 0; $i < strlen($expected); $i++) { + if ($i > 0) { + $msg .= " or "; + } + $msg .= '\''.$expected[$i].'\''; + } + $msg .= ", found '$c'"; + + throw new EasyRdf_Exception("Turtle Parse Error: $msg"); + } + } + + /** + * Skip through whitespace and comments + * @ignore + */ + protected function skipWSC() + { + $c = $this->read(); + while (self::isWhitespace($c) || $c == '#') { + if ($c == '#') { + $this->skipLine(); + } + + $c = $this->read(); + } + + $this->unread($c); + return $c; + } + + /** + * Consumes characters from reader until the first EOL has been read. + * @ignore + */ + protected function skipLine() + { + $c = $this->read(); + while ($c != -1 && $c != "\r" && $c != "\n") { + $c = $this->read(); + } + + // c is equal to -1, \r or \n. + // In case c is equal to \r, we should also read a following \n. + if ($c == "\r") { + $c = $this->read(); + if ($c != "\n") { + $this->unread($c); + } + } + } + + /** + * Read a single character from the input buffer. + * Returns -1 when the end of the file is reached. + * @ignore + */ + protected function read() + { + if ($this->_pos < $this->_len) { + $c = $this->_data[$this->_pos]; + $this->_pos++; + return $c; + } else { + return -1; + } + } + + /** + * Gets the next character to be returned by read() + * without removing it from the input buffer. + * @ignore + */ + protected function peek() + { + if ($this->_pos < $this->_len) { + return $this->_data[$this->_pos]; + } else { + return -1; + } + } + + + /** + * Steps back, restoring the previous character read() to the input buffer + * @ignore + */ + protected function unread() + { + if ($this->_pos > 0) { + $this->_pos--; + } else { + throw new EasyRdf_Exception("Turtle Parse Error: unread error"); + } + } + + /** + * Returns true if $c is a whitespace character + * @ignore + */ + public static function isWhitespace($c) + { + // Whitespace character are space, tab, newline and carriage return: + return $c == " " || $c == "\t" || $c == "\r" || $c == "\n"; + } + + /** @ignore */ + public static function isPrefixStartChar($c) + { + $o = ord($c); + return + $o >= 0x41 && $o <= 0x5a || # A-Z + $o >= 0x61 && $o <= 0x7a || # a-z + $o >= 0x00C0 && $o <= 0x00D6 || + $o >= 0x00D8 && $o <= 0x00F6 || + $o >= 0x00F8 && $o <= 0x02FF || + $o >= 0x0370 && $o <= 0x037D || + $o >= 0x037F && $o <= 0x1FFF || + $o >= 0x200C && $o <= 0x200D || + $o >= 0x2070 && $o <= 0x218F || + $o >= 0x2C00 && $o <= 0x2FEF || + $o >= 0x3001 && $o <= 0xD7FF || + $o >= 0xF900 && $o <= 0xFDCF || + $o >= 0xFDF0 && $o <= 0xFFFD || + $o >= 0x10000 && $o <= 0xEFFFF; + } + + /** @ignore */ + public static function isNameStartChar($c) + { + return $c == '_' || self::isPrefixStartChar($c); + } + + /** @ignore */ + public static function isNameChar($c) + { + $o = ord($c); + return + self::isNameStartChar($c) || + $c == '-' || + $o >= 0x30 && $o <= 0x39 || # numeric + $o == 0x00B7 || + $o >= 0x0300 && $o <= 0x036F || + $o >= 0x203F && $o <= 0x2040; + } + + /** @ignore */ + public static function isPrefixChar($c) + { + return self::isNameChar($c); + } + + /** @ignore */ + public static function isLanguageStartChar($c) + { + $o = ord($c); + return + $o >= 0x41 && $o <= 0x5a || + $o >= 0x61 && $o <= 0x7a; + } + + /** @ignore */ + public static function isLanguageChar($c) + { + $o = ord($c); + return + $o >= 0x41 && $o <= 0x5a || # A-Z + $o >= 0x61 && $o <= 0x7a || # a-z + $o >= 0x30 && $o <= 0x39 || # 0-9 + $c == '-'; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Resource.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Resource.php new file mode 100644 index 0000000..8a5a6b0 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Resource.php @@ -0,0 +1,627 @@ +resource('http://www.example.com/'); + * + */ + public function __construct($uri, $graph=null) + { + if (!is_string($uri) or $uri == null or $uri == '') { + throw new InvalidArgumentException( + "\$uri should be a string and cannot be null or empty" + ); + } + + $this->_uri = $uri; + + # Check that $graph is an EasyRdf_Graph object + if (is_object($graph) and $graph instanceof EasyRdf_Graph) { + $this->_graph = $graph; + } else if (!is_null($graph)) { + throw new InvalidArgumentException( + "\$graph should be an EasyRdf_Graph object" + ); + } + } + + /** Returns the URI for the resource. + * + * @return string URI of this resource. + */ + public function getUri() + { + return $this->_uri; + } + + /** Check to see if a resource is a blank node. + * + * @return bool True if this resource is a blank node. + */ + public function isBnode() + { + if (substr($this->_uri, 0, 2) == '_:') { + return true; + } else { + return false; + } + } + + /** Get the identifier for a blank node + * + * Returns null if the resource is not a blank node. + * + * @return string The identifer for the bnode + */ + public function getNodeId() + { + if (substr($this->_uri, 0, 2) == '_:') { + return substr($this->_uri, 2); + } else { + return null; + } + } + + /** Get a the prefix of the namespace that this resource is part of + * + * This method will return null the resource isn't part of any + * registered namespace. + * + * @return string The namespace prefix of the resource (e.g. foaf) + */ + public function prefix() + { + return EasyRdf_Namespace::prefixOfUri($this->_uri); + } + + /** Get a shortened version of the resources URI. + * + * This method will return the full URI if the resource isn't part of any + * registered namespace. + * + * @return string The shortened URI of this resource (e.g. foaf:name) + */ + public function shorten() + { + return EasyRdf_Namespace::shorten($this->_uri); + } + + /** Gets the local name of the URI of this resource + * + * The local name is defined as the part of the URI string + * after the last occurrence of the '#', ':' or '/' character. + * + * @return string The local name + */ + public function localName() + { + if (preg_match("|([^#:/]+)$|", $this->_uri, $matches)) { + return $matches[1]; + } + } + + /** Parse the URI of the resource and return as a ParsedUri object + * + * @return EasyRdf_ParsedUri + */ + public function parseUri() + { + return new EasyRdf_ParsedUri($this->_uri); + } + + /** Generates an HTML anchor tag, linking to this resource. + * + * If no text is given, then the URI also uses as the link text. + * + * @param string $text Text for the link. + * @param array $options Associative array of attributes for the anchor tag + * @return string The HTML link string + */ + public function htmlLink($text=NULL, $options=array()) + { + $options = array_merge(array('href' => $this->_uri), $options); + if ($text === NULL) + $text = $this->_uri; + + $html = " $value) { + $html .= " ".htmlspecialchars($key)."=\"". + htmlspecialchars($value)."\""; + } + $html .= ">".htmlspecialchars($text).""; + + return $html; + } + + /** Returns the properties of the resource as an associative array + * + * For example: + * array('type' => 'uri', 'value' => 'http://www.example.com/') + * + * @return array The properties of the resource + */ + public function toArray() + { + if ($this->isBnode()) + return array('type' => 'bnode', 'value' => $this->_uri); + else + return array('type' => 'uri', 'value' => $this->_uri); + } + + /** Return pretty-print view of the resource + * + * @param bool $html Set to true to format the dump using HTML + * @param string $color The colour of the text + * @return string + */ + public function dumpValue($html=true, $color='blue') + { + return EasyRdf_Utils::dumpResourceValue($this, $html, $color); + } + + /** Magic method to return URI of resource when casted to string + * + * @return string The URI of the resource + */ + public function __toString() + { + return $this->_uri; + } + + + + /** Throw can exception if the resource does not belong to a graph + * @ignore + */ + protected function checkHasGraph() + { + if (!$this->_graph) { + throw new EasyRdf_Exception( + "EasyRdf_Resource is not part of a graph." + ); + } + } + + /** Perform a load (download of remote URI) of the resource into the graph + * + * The document type is optional but should be specified if it + * can't be guessed or got from the HTTP headers. + * + * @param string $format Optional format of the data (eg. rdfxml) + */ + public function load($format=null) + { + $this->checkHasGraph(); + return $this->_graph->load($this->_uri, $format); + } + + /** Delete a property (or optionally just a specific value) + * + * @param string $property The name of the property (e.g. foaf:name) + * @param object $value The value to delete (null to delete all values) + * @return null + */ + public function delete($property, $value=null) + { + $this->checkHasGraph(); + return $this->_graph->delete($this->_uri, $property, $value); + } + + /** Add values to for a property of the resource + * + * Example: + * $resource->add('prefix:property', 'value'); + * + * @param mixed $resource The resource to add data to + * @param mixed $property The property name + * @param mixed $value The value for the property + * @return integer The number of values added (1 or 0) + */ + public function add($property, $value) + { + $this->checkHasGraph(); + return $this->_graph->add($this->_uri, $property, $value); + } + + /** Add a literal value as a property of the resource + * + * The value can either be a single value or an array of values. + * + * Example: + * $resource->add('dc:title', 'Title of Page'); + * + * @param mixed $property The property name + * @param mixed $value The value or values for the property + * @param string $lang The language of the literal + * @return integer The number of values added + */ + public function addLiteral($property, $values, $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->addLiteral($this->_uri, $property, $values, $lang); + } + + /** Add a resource as a property of the resource + * + * Example: + * $bob->add('foaf:knows', 'http://example.com/alice'); + * + * @param mixed $property The property name + * @param mixed $resource2 The resource to be value of the property + * @return integer The number of values added (1 or 0) + */ + public function addResource($property, $values) + { + $this->checkHasGraph(); + return $this->_graph->addResource($this->_uri, $property, $values); + } + + /** Set value for a property + * + * The new value(s) will replace the existing values for the property. + * The name of the property should be a string. + * If you set a property to null or an empty array, then the property + * will be deleted. + * + * @param string $property The name of the property (e.g. foaf:name) + * @param mixed $value The value for the property. + * @return integer The number of values added (1 or 0) + */ + public function set($property, $value) + { + $this->checkHasGraph(); + return $this->_graph->set($this->_uri, $property, $value); + } + + /** Get a single value for a property + * + * If multiple values are set for a property then the value returned + * may be arbitrary. + * + * If $property is an array, then the first item in the array that matches + * a property that exists is returned. + * + * This method will return null if the property does not exist. + * + * @param string|array $property The name of the property (e.g. foaf:name) + * @param string $lang The language to filter by (e.g. en) + * @return mixed A value associated with the property + */ + public function get($property, $type=null, $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->get($this->_uri, $property, $type, $lang); + } + + /** Get a single literal value for a property of the resource + * + * If multiple values are set for a property then the value returned + * may be arbitrary. + * + * This method will return null if there is not literal value for the + * property. + * + * @param string $resource The URI of the resource (e.g. http://example.com/joe#me) + * @param string|array $property The name of the property (e.g. foaf:name) + * @param string $lang The language to filter by (e.g. en) + * @return object EasyRdf_Literal Literal value associated with the property + */ + public function getLiteral($property, $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->get($this->_uri, $property, 'literal', $lang); + } + + /** Get a single resource value for a property of the resource + * + * If multiple values are set for a property then the value returned + * may be arbitrary. + * + * This method will return null if there is not resource for the + * property. + * + * @param string|array $property The name of the property (e.g. foaf:name) + * @return object EasyRdf_Resource Resource associated with the property + */ + public function getResource($property) + { + $this->checkHasGraph(); + return $this->_graph->get($this->_uri, $property, 'resource'); + } + + /** Get all values for a property + * + * This method will return an empty array if the property does not exist. + * + * @param string $property The name of the property (e.g. foaf:name) + * @param string $type The type of value to filter by (e.g. literal) + * @param string $lang The language to filter by (e.g. en) + * @return array An array of values associated with the property + */ + public function all($property, $type=null, $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->all($this->_uri, $property, $type, $lang); + } + + /** Get all literal values for a property of the resource + * + * This method will return an empty array if the resource does not + * has any literal values for that property. + * + * @param string $property The name of the property (e.g. foaf:name) + * @param string $lang The language to filter by (e.g. en) + * @return array An array of values associated with the property + */ + public function allLiterals($property, $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->all($this->_uri, $property, 'literal', $lang); + } + + /** Get all resources for a property of the resource + * + * This method will return an empty array if the resource does not + * has any resources for that property. + * + * @param string $property The name of the property (e.g. foaf:name) + * @return array An array of values associated with the property + */ + public function allResources($property) + { + $this->checkHasGraph(); + return $this->_graph->all($this->_uri, $property, 'resource'); + } + + /** Count the number of values for a property of a resource + * + * This method will return 0 if the property does not exist. + * + * @param string $property The name of the property (e.g. foaf:name) + * @param string $type The type of value to filter by (e.g. literal) + * @param string $lang The language to filter by (e.g. en) + * @return integer The number of values associated with the property + */ + public function count($property, $type=null, $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->count($this->_uri, $property, $type, $lang); + } + + /** Concatenate all values for a property into a string. + * + * The default is to join the values together with a space character. + * This method will return an empty string if the property does not exist. + * + * @param string $property The name of the property (e.g. foaf:name) + * @param string $glue The string to glue the values together with. + * @param string $lang The language to filter by (e.g. en) + * @return string Concatenation of all the values. + */ + public function join($property, $glue=' ', $lang=null) + { + $this->checkHasGraph(); + return $this->_graph->join($this->_uri, $property, $glue, $lang); + } + + /** Get a list of the full URIs for the properties of this resource. + * + * This method will return an empty array if the resource has no properties. + * + * @return array Array of full URIs + */ + public function propertyUris() + { + $this->checkHasGraph(); + return $this->_graph->propertyUris($this->_uri); + } + + /** Get a list of all the shortened property names (qnames) for a resource. + * + * This method will return an empty array if the resource has no properties. + * + * @return array Array of shortened URIs + */ + public function properties() + { + $this->checkHasGraph(); + return $this->_graph->properties($this->_uri); + } + + /** Get a list of the full URIs for the properties that point to this resource. + * + * @return array Array of full property URIs + */ + public function reversePropertyUris() + { + $this->checkHasGraph(); + return $this->_graph->reversePropertyUris($this->_uri); + } + + /** Check to see if a property exists for this resource. + * + * This method will return true if the property exists. + * + * @param string $property The name of the property (e.g. foaf:gender) + * @return bool True if value the property exists. + */ + public function hasProperty($property) + { + $this->checkHasGraph(); + return $this->_graph->hasProperty($this->_uri, $property); + } + + /** Get a list of types for a resource. + * + * The types will each be a shortened URI as a string. + * This method will return an empty array if the resource has no types. + * + * @return array All types assocated with the resource (e.g. foaf:Person) + */ + public function types() + { + $this->checkHasGraph(); + return $this->_graph->types($this->_uri); + } + + /** Get a single type for a resource. + * + * The type will be a shortened URI as a string. + * If the resource has multiple types then the type returned + * may be arbitrary. + * This method will return null if the resource has no type. + * + * @return string A type assocated with the resource (e.g. foaf:Person) + */ + public function type() + { + $this->checkHasGraph(); + return $this->_graph->type($this->_uri); + } + + /** Get a single type for a resource, as a resource. + * + * The type will be returned as an EasyRdf_Resource. + * If the resource has multiple types then the type returned + * may be arbitrary. + * This method will return null if the resource has no type. + * + * @return EasyRdf_Resource A type assocated with the resource. + */ + public function typeAsResource() + { + return $this->_graph->typeAsResource($this->_uri); + } + + /** Check if a resource is of the specified type + * + * @param string $type The type to check (e.g. foaf:Person) + * @return boolean True if resource is of specified type. + */ + public function is_a($type) + { + $this->checkHasGraph(); + return $this->_graph->is_a($this->_uri, $type); + } + + /** Add one or more rdf:type properties to the resource + * + * @param string $type The new type (e.g. foaf:Person) + * @return integer The number of types added + */ + public function addType($types) + { + $this->checkHasGraph(); + return $this->_graph->addType($this->_uri, $types); + } + + /** Change the rdf:type property for the resource + * + * Note that the PHP class of the resource will not change. + * + * @param string $type The new type (e.g. foaf:Person) + * @return integer The number of types added + */ + public function setType($type) + { + $this->checkHasGraph(); + return $this->_graph->setType($this->_uri, $type); + } + + /** Get the primary topic of this resource. + * + * Returns null if no primary topic is available. + * + * @return EasyRdf_Resource The primary topic of this resource. + */ + public function primaryTopic() + { + $this->checkHasGraph(); + return $this->_graph->primaryTopic($this->_uri); + } + + /** Get a human readable label for this resource + * + * This method will check a number of properties for the resource + * (in the order: skos:prefLabel, rdfs:label, foaf:name, dc:title) + * and return an approriate first that is available. If no label + * is available then it will return null. + * + * @return string A label for the resource. + */ + public function label($lang=null) + { + $this->checkHasGraph(); + return $this->_graph->label($this->_uri, $lang); + } + + /** Return a human readable view of the resource and its properties + * + * This method is intended to be a debugging aid and will + * print a resource and its properties. + * + * @param bool $html Set to true to format the dump using HTML + * @return string + */ + public function dump($html=true) + { + $this->checkHasGraph(); + return $this->_graph->dumpResource($this->_uri, $html); + } +} + diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser.php new file mode 100644 index 0000000..024b3df --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser.php @@ -0,0 +1,115 @@ +_prefixes[$prefix] = true; + } + + /** + * Check and cleanup parameters passed to serialise() method + * @ignore + */ + protected function checkSerialiseParams(&$graph, &$format) + { + if ($graph == null or !is_object($graph) or + get_class($graph) != 'EasyRdf_Graph') { + throw new InvalidArgumentException( + "\$graph should be an EasyRdf_Graph object and cannot be null" + ); + } + + if ($format == null or $format == '') { + throw new InvalidArgumentException( + "\$format cannot be null or empty" + ); + } else if (is_object($format) and + get_class($format) == 'EasyRdf_Format') { + $format = $format->getName(); + } else if (!is_string($format)) { + throw new InvalidArgumentException( + "\$format should be a string or an EasyRdf_Format object" + ); + } + } + + /** + * Protected method to get the number of reverse properties for a resource + * If a resource only has a single property, the number of values for that + * property is returned instead. + * @ignore + */ + protected function reversePropertyCount($resource) + { + $properties = $resource->reversePropertyUris(); + $count = count($properties); + if ($count == 1) { + $property = $properties[0]; + return $resource->count("^<$property>"); + } else { + return $count; + } + } + + /** + * Sub-classes must follow this protocol + * @ignore + */ + public function serialise($graph, $format) + { + throw new EasyRdf_Exception( + "This method should be overridden by sub-classes." + ); + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Arc.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Arc.php new file mode 100644 index 0000000..8a932fd --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Arc.php @@ -0,0 +1,97 @@ + 'RDFXML', + 'turtle' => 'Turtle', + 'ntriples' => 'NTriples', + 'posh' => 'POSHRDF' + ); + + /** + * Constructor + * + * @return object EasyRdf_Serialiser_Arc + */ + public function __construct() + { + require_once 'arc/ARC2.php'; + } + + /** + * Serialise an EasyRdf_Graph into RDF format of choice. + * + * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. + * @param string $format The name of the format to convert to. + * @return string The RDF in the new desired format. + */ + public function serialise($graph, $format) + { + parent::checkSerialiseParams($graph, $format); + + if (array_key_exists($format, self::$_supportedTypes)) { + $className = self::$_supportedTypes[$format]; + } else { + throw new EasyRdf_Exception( + "EasyRdf_Serialiser_Arc does not support: $format" + ); + } + + $serialiser = ARC2::getSer($className); + if ($serialiser) { + return $serialiser->getSerializedIndex( + parent::serialise($graph, 'php') + ); + } else { + throw new EasyRdf_Exception( + "ARC2 failed to get a $className serialiser." + ); + } + } +} + +EasyRdf_Format::register('posh', 'poshRDF'); diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/GraphViz.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/GraphViz.php new file mode 100644 index 0000000..1f94a2b --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/GraphViz.php @@ -0,0 +1,378 @@ + 'utf-8'); + + /** + * Constructor + * + * @return object EasyRdf_Serialiser_GraphViz + */ + public function __construct() + { + } + + /** + * Set the path to the GraphViz 'dot' command + * + * Default is to search PATH for the command 'dot'. + * + * @param string $cmd The path to the 'dot' command. + * @return object EasyRdf_Serialiser_GraphViz + */ + public function setDotCommand($cmd) + { + $this->_dotCommand = $cmd; + return $this; + } + + /** + * Get the path to the GraphViz 'dot' command + * + * The default value is simply 'dot' + * + * @return string The path to the 'dot' command. + */ + public function getDotCommand() + { + return $this->_dotCommand; + } + + /** + * Turn on/off the option to display labels instead of URIs. + * + * When this option is turned on, then labels for resources will + * be displayed instead of the full URI of a resource. This makes + * it simpler to create friendly diagrams that non-technical people + * can understand. + * + * This option is turned off by default. + * + * @param bool $useLabels A boolean value to turn labels on and off + * @return object EasyRdf_Serialiser_GraphViz + */ + public function setUseLabels($useLabels) + { + $this->_useLabels = $useLabels; + return $this; + } + + /** + * Get the state of the use labels option + * + * @return bool The current state of the use labels option + */ + public function getUseLabels() + { + return $this->_useLabels; + } + + /** + * Turn on/off the option to only display nodes and edges with labels + * + * When this option is turned on, then only nodes (resources and literals) + * and edges (properties) will only be displayed if they have a label. You + * can use this option, to create concise, diagrams of your data, rather than + * the RDF. + * + * This option is turned off by default. + * + * @param bool $useLabels A boolean value to enable/display only labelled items + * @return object EasyRdf_Serialiser_GraphViz + */ + public function setOnlyLabelled($onlyLabelled) + { + $this->_onlyLabelled = $onlyLabelled; + return $this; + } + + /** + * Get the state of the only Only Labelled option + * + * @return bool The current state of the Only Labelled option + */ + public function getOnlyLabelled() + { + return $this->_onlyLabelled; + } + + /** + * Set an attribute on the GraphViz graph + * + * Example: + * $serialiser->setAttribute('rotate', 90); + * + * See the GraphViz tool documentation for information about the + * available attributes. + * + * @param string $name The name of the attribute + * @param string $value The value for the attribute + * @return object EasyRdf_Serialiser_GraphViz + */ + public function setAttribute($name, $value) + { + $this->_attributes[$name] = $value; + return $this; + } + + /** + * Get an attribute of the GraphViz graph + * + * @param string $name Attribute name + * @return string The value of the graph attribute + */ + public function getAttribute($name) + { + return $this->_attributes[$name]; + } + + /** + * Convert an EasyRdf object into a GraphViz node identifier + * + * @ignore + */ + protected function nodeName($entity) + { + if ($entity instanceof EasyRdf_Resource) { + if ($entity->isBnode()) { + return "B".$entity->getUri(); + } else { + return "R".$entity->getUri(); + } + } else { + return "L".$entity; + } + } + + /** + * Internal function to escape a string into DOT safe syntax + * + * @ignore + */ + protected function escape($input) + { + if (preg_match('/^([a-z_][a-z_0-9]*|-?(\.[0-9]+|[0-9]+(\.[0-9]*)?))$/i', $input)) { + return $input; + } else { + return '"'.str_replace( + array("\r\n", "\n", "\r", '"'), + array('\n', '\n', '\n', '\"'), + $input + ).'"'; + } + } + + /** + * Internal function to escape an associate array of attributes and + * turns it into a DOT notation string + * + * @ignore + */ + protected function escapeAttributes($array) + { + $items = ''; + foreach ($array as $k => $v) { + $items[] = $this->escape($k).'='.$this->escape($v); + } + return '['.implode(',', $items).']'; + } + + /** + * Internal function to create dot syntax line for either a node or an edge + * + * @ignore + */ + protected function serialiseRow($node1, $node2=null, $attributes=array()) + { + $result = ' '.$this->escape($node1); + if ($node2) + $result .= ' -> '.$this->escape($node2); + if (count($attributes)) + $result .= ' '.$this->escapeAttributes($attributes); + return $result.";\n"; + } + + /** + * Internal function to serialise an EasyRdf_Graph into a DOT formatted string + * + * @ignore + */ + protected function serialiseDot($graph) + { + $result = "digraph {\n"; + + // Write the graph attributes + foreach ($this->_attributes as $k => $v) { + $result .= ' '.$this->escape($k).'='.$this->escape($v).";\n"; + } + + // Go through each of the properties and write the edges + $nodes = array(); + $result .= "\n // Edges\n"; + foreach ($graph->resources() as $resource) { + $name1 = $this->nodeName($resource); + foreach ($resource->propertyUris() as $property) { + $label = null; + if ($this->_useLabels) + $label = $graph->resource($property)->label(); + if ($label === null) { + if ($this->_onlyLabelled == true) + continue; + else + $label = EasyRdf_Namespace::shorten($property); + } + foreach ($resource->all("<$property>") as $value) { + $name2 = $this->nodeName($value); + $nodes[$name1] = $resource; + $nodes[$name2] = $value; + $result .= $this->serialiseRow( + $name1, $name2, + array('label' => $label) + ); + } + } + } + + ksort($nodes); + + $result .= "\n // Nodes\n"; + foreach ($nodes as $name => $node) { + $type = substr($name, 0, 1); + $label = ''; + if ($type == 'R') { + if ($this->_useLabels) + $label = $node->label(); + if (!$label) + $label = $node->shorten(); + if (!$label) + $label = $node->getURI(); + $result .= $this->serialiseRow( + $name, null, + array( + 'URL' => $node->getURI(), + 'label' => $label, + 'shape' => 'ellipse', + 'color' => 'blue' + ) + ); + } elseif ($type == 'B') { + if ($this->_useLabels) + $label = $node->label(); + $result .= $this->serialiseRow( + $name, null, + array( + 'label' => $label, + 'shape' => 'circle', + 'color' => 'green' + ) + ); + } else { + $result .= $this->serialiseRow( + $name, null, + array( + 'label' => strval($node), + 'shape' => 'record', + ) + ); + } + + } + + $result .= "}\n"; + + return $result; + } + + /** + * Internal function to render a graph into an image + * + * @ignore + */ + public function renderImage($graph, $format='png') + { + $dot = $this->serialiseDot($graph); + + return EasyRdf_Utils::execCommandPipe( + $this->_dotCommand, array("-T$format"), $dot + ); + } + + /** + * Serialise an EasyRdf_Graph into a GraphViz dot document. + * + * Supported output format names: dot, gif, png, svg + * + * @param string $graph An EasyRdf_Graph object. + * @param string $format The name of the format to convert to. + * @return string The RDF in the new desired format. + */ + public function serialise($graph, $format) + { + parent::checkSerialiseParams($graph, $format); + + switch($format) { + case 'dot': + return $this->serialiseDot($graph); + case 'png': + case 'gif': + case 'svg': + return $this->renderImage($graph, $format); + default: + throw new EasyRdf_Exception( + "EasyRdf_Serialiser_GraphViz does not support: $format" + ); + } + } + +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Json.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Json.php new file mode 100644 index 0000000..d2bc15e --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Json.php @@ -0,0 +1,70 @@ +_escChars[$c])) { + $this->_escChars[$c] = $this->escapedChar($c); + } + $result .= $this->_escChars[$c]; + } + return $result; + } + + /** + * @ignore + */ + protected function unicodeCharNo($c) + { + $cUtf = utf8_encode($c); + $bl = strlen($cUtf); /* binary length */ + $r = 0; + switch ($bl) { + case 1: /* 0####### (0-127) */ + $r = ord($cUtf); + break; + case 2: /* 110##### 10###### = 192+x 128+x */ + $r = ((ord($cUtf[0]) - 192) * 64) + + (ord($cUtf[1]) - 128); + break; + case 3: /* 1110#### 10###### 10###### = 224+x 128+x 128+x */ + $r = ((ord($cUtf[0]) - 224) * 4096) + + ((ord($cUtf[1]) - 128) * 64) + + (ord($cUtf[2]) - 128); + break; + case 4: /* 1111#### 10###### 10###### 10###### = 240+x 128+x 128+x 128+x */ + $r = ((ord($cUtf[0]) - 240) * 262144) + + ((ord($cUtf[1]) - 128) * 4096) + + ((ord($cUtf[2]) - 128) * 64) + + (ord($cUtf[3]) - 128); + break; + } + return $r; + } + + /** + * @ignore + */ + protected function escapedChar($c) + { + $no = $this->unicodeCharNo($c); + + /* see http://www.w3.org/TR/rdf-testcases/#ntrip_strings */ + if ($no < 9) return "\\u" . sprintf('%04X', $no); /* #x0-#x8 (0-8) */ + if ($no == 9) return '\t'; /* #x9 (9) */ + if ($no == 10) return '\n'; /* #xA (10) */ + if ($no < 13) return "\\u" . sprintf('%04X', $no); /* #xB-#xC (11-12) */ + if ($no == 13) return '\r'; /* #xD (13) */ + if ($no < 32) return "\\u" . sprintf('%04X', $no); /* #xE-#x1F (14-31) */ + if ($no < 34) return $c; /* #x20-#x21 (32-33) */ + if ($no == 34) return '\"'; /* #x22 (34) */ + if ($no < 92) return $c; /* #x23-#x5B (35-91) */ + if ($no == 92) return '\\'; /* #x5C (92) */ + if ($no < 127) return $c; /* #x5D-#x7E (93-126) */ + if ($no < 65536) return "\\u" . sprintf('%04X', $no); /* #x7F-#xFFFF (128-65535) */ + if ($no < 1114112) return "\\U" . sprintf('%08X', $no); /* #x10000-#x10FFFF (65536-1114111) */ + return ''; /* not defined => ignore */ + } + + /** + * @ignore + */ + protected function ntriplesResource($res) + { + $escaped = $this->escapeString($res); + if (substr($res, 0, 2) == '_:') { + return $escaped; + } else { + return "<$escaped>"; + } + } + + /** + * @ignore + */ + protected function ntriplesValue($value) + { + if ($value['type'] == 'uri' or $value['type'] == 'bnode') { + return $this->ntriplesResource($value['value']); + } else if ($value['type'] == 'literal') { + $escaped = $this->escapeString($value['value']); + if (isset($value['lang'])) { + $lang = $this->escapeString($value['lang']); + return '"' . $escaped . '"' . '@' . $lang; + } else if (isset($value['datatype'])) { + $datatype = $this->escapeString($value['datatype']); + return '"' . $escaped . '"' . "^^<$datatype>"; + } else { + return '"' . $escaped . '"'; + } + } else { + throw new EasyRdf_Exception( + "Unable to serialise object to ntriples: ".$value['type'] + ); + } + } + + /** + * Serialise an EasyRdf_Graph into N-Triples + * + * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. + * @param string $format The name of the format to convert to. + * @return string The RDF in the new desired format. + */ + public function serialise($graph, $format) + { + parent::checkSerialiseParams($graph, $format); + + if ($format == 'ntriples') { + $nt = ''; + foreach ($graph->toArray() as $resource => $properties) { + foreach ($properties as $property => $values) { + foreach ($values as $value) { + $nt .= $this->ntriplesResource($resource)." "; + $nt .= "<" . $this->escapeString($property) . "> "; + $nt .= $this->ntriplesValue($value)." .\n"; + } + } + } + return $nt; + } else { + throw new EasyRdf_Exception( + "EasyRdf_Serialiser_Ntriples does not support: $format" + ); + } + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Rapper.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Rapper.php new file mode 100644 index 0000000..9ae8a16 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Rapper.php @@ -0,0 +1,98 @@ +/dev/null", $output, $status); + if ($status != 0) { + throw new EasyRdf_Exception( + "Failed to execute the command '$rapperCmd': $result" + ); + } else { + $this->_rapperCmd = $rapperCmd; + } + } + + /** + * Serialise an EasyRdf_Graph to the RDF format of choice. + * + * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. + * @param string $format The name of the format to convert to. + * @return string The RDF in the new desired format. + */ + public function serialise($graph, $format) + { + parent::checkSerialiseParams($graph, $format); + + $ntriples = parent::serialise($graph, 'ntriples'); + + // Hack to produce more concise RDF/XML + if ($format == 'rdfxml') $format = 'rdfxml-abbrev'; + + return EasyRdf_Utils::execCommandPipe( + $this->_rapperCmd, + array( + '--quiet', + '--input', 'ntriples', + '--output', $format, + '-', 'unknown://' + ), + $ntriples + ); + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/RdfPhp.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/RdfPhp.php new file mode 100644 index 0000000..e6a8647 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/RdfPhp.php @@ -0,0 +1,71 @@ +toArray(); + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/RdfXml.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/RdfXml.php new file mode 100644 index 0000000..7e01b1f --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/RdfXml.php @@ -0,0 +1,217 @@ +propertyUris()); + $rpcount = $this->reversePropertyCount($obj); + $alreadyOutput = isset($this->_outputtedResources[$obj->getUri()]); + + $tag = "$indent<$property"; + if ($obj->isBNode()) { + if ($alreadyOutput or $rpcount > 1 or $pcount == 0) { + $tag .= " rdf:nodeID=\"".htmlspecialchars($obj->getNodeId()).'"'; + } + } else { + if ($alreadyOutput or $rpcount != 1 or $pcount == 0) { + $tag .= " rdf:resource=\"".htmlspecialchars($obj->getURI()).'"'; + } + } + + if ($alreadyOutput == false and $rpcount == 1 and $pcount > 0) { + $xml = $this->rdfxmlResource($obj, false, $depth+1); + if ($xml) { + return "$tag>$xml$indent\n\n"; + } else { + return ''; + } + } else { + return $tag."/>\n"; + } + + } else if (is_object($obj) and $obj instanceof EasyRdf_Literal) { + $atrributes = ""; + $datatype = $obj->getDatatypeUri(); + if ($datatype) { + if ($datatype == self::RDF_XML_LITERAL) { + $atrributes .= " rdf:parseType=\"Literal\""; + $value = strval($obj); + } else { + $datatype = htmlspecialchars($datatype); + $atrributes .= " rdf:datatype=\"$datatype\""; + } + } elseif ($obj->getLang()) { + $atrributes .= ' xml:lang="'. + htmlspecialchars($obj->getLang()).'"'; + } + + // Escape the value + if (!isset($value)) { + $value = htmlspecialchars(strval($obj)); + } + + return "$indent<$property$atrributes>$value\n"; + } else { + throw new EasyRdf_Exception( + "Unable to serialise object to xml: ".getType($obj) + ); + } + } + + /** + * Protected method to serialise a whole resource and its properties + * @ignore + */ + protected function rdfxmlResource($res, $showNodeId, $depth=1) + { + // Keep track of the resources we have already serialised + if (isset($this->_outputtedResources[$res->getUri()])) { + return ''; + } else { + $this->_outputtedResources[$res->getUri()] = true; + } + + // If the resource has no properties - don't serialise it + $properties = $res->propertyUris(); + if (count($properties) == 0) + return ''; + + $type = $res->type(); + if ($type) { + $this->addPrefix($type); + } else { + $type = 'rdf:Description'; + } + + $indent = str_repeat(' ', $depth); + $xml = "\n$indent<$type"; + if ($res->isBNode()) { + if ($showNodeId) { + $xml .= ' rdf:nodeID="'.htmlspecialchars($res->getNodeId()).'"'; + } + } else { + $xml .= ' rdf:about="'.htmlspecialchars($res->getUri()).'"'; + } + $xml .= ">\n"; + + foreach ($properties as $property) { + $short = EasyRdf_Namespace::shorten($property, true); + if ($short) { + $this->addPrefix($short); + $objects = $res->all("<$property>"); + if ($short == 'rdf:type') + array_shift($objects); + foreach ($objects as $object) { + $xml .= $this->rdfxmlObject($short, $object, $depth+1); + } + } else { + throw new EasyRdf_Exception( + "It is not possible to serialse the property ". + "'$property' to RDF/XML." + ); + } + } + $xml .= "$indent\n"; + + return $xml; + } + + + /** + * Method to serialise an EasyRdf_Graph to RDF/XML + * + * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. + * @param string $format The name of the format to convert to. + * @return string The RDF in the new desired format. + */ + public function serialise($graph, $format) + { + parent::checkSerialiseParams($graph, $format); + + if ($format != 'rdfxml') { + throw new EasyRdf_Exception( + "EasyRdf_Serialiser_RdfXml does not support: $format" + ); + } + + // store of namespaces to be appended to the rdf:RDF tag + $this->_prefixes = array('rdf' => true); + + // store of the resource URIs we have serialised + $this->_outputtedResources = array(); + + $xml = ''; + foreach ($graph->resources() as $resource) { + $xml .= $this->rdfxmlResource($resource, true, 1); + } + + // iterate through namepsaces array prefix and output a string. + $namespaceStr = ''; + foreach ($this->_prefixes as $prefix => $count) { + $url = EasyRdf_Namespace::get($prefix); + if (strlen($namespaceStr)) { + $namespaceStr .= "\n "; + } + $namespaceStr .= ' xmlns:'.$prefix.'="'.htmlspecialchars($url).'"'; + } + + return "\n". + "\n" . $xml . "\n\n"; + } + +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Turtle.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Turtle.php new file mode 100644 index 0000000..aa18fef --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Serialiser/Turtle.php @@ -0,0 +1,263 @@ +isBnode()) { + return $resource->getUri(); + } else { + $short = $resource->shorten(); + if ($short) { + $this->addPrefix($short); + return $short; + } else { + $uri = str_replace('>', '\\>', $resource); + return "<$resource>"; + } + } + } + + /** + * @ignore + */ + protected function quotedString($value) + { + if (preg_match("/[\t\n\r]/", $value)) { + $escaped = str_replace(array('\\', '"""'), array('\\\\', '\\"""'), $value); + return '"""'.$escaped.'"""'; + } else { + $escaped = str_replace(array('\\', '"'), array('\\\\', '\\"'), $value); + return '"'.$escaped.'"'; + } + } + + /** + * @ignore + */ + protected function serialiseObject($object) + { + if ($object instanceof EasyRdf_Resource) { + return $this->serialiseResource($object); + } else { + $value = strval($object); + $quoted = $this->quotedString($value); + + if ($datatype = $object->getDatatypeUri()) { + $short = EasyRdf_Namespace::shorten($datatype, true); + if ($short) { + $this->addPrefix($short); + if ($short == 'xsd:integer') { + return sprintf('%d', $value); + } else if ($short == 'xsd:decimal') { + return sprintf('%g', $value); + } else if ($short == 'xsd:double') { + return sprintf('%e', $value); + } else if ($short == 'xsd:boolean') { + return sprintf('%s', $value ? 'true' : 'false'); + } else { + return sprintf('%s^^%s', $quoted, $short); + } + } else { + $datatypeUri = str_replace('>', '\\>', $datatype); + return sprintf('%s^^<%s>', $quoted, $datatypeUri); + } + } else if ($lang = $object->getLang()) { + return $quoted . '@' . $lang; + } else { + return $quoted; + } + } + } + + /** + * Protected method to serialise the properties of a resource + * @ignore + */ + protected function serialiseProperties($res, $depth=1) + { + $properties = $res->propertyUris(); + $indent = str_repeat(' ', ($depth*2)-1); + + $turtle = ''; + if (count($properties) > 1) { + $turtle .= "\n$indent"; + } + + $pCount = 0; + foreach ($properties as $property) { + $short = EasyRdf_Namespace::shorten($property, true); + if ($short) { + if ($short == 'rdf:type') { + $pStr = 'a'; + } else { + $this->addPrefix($short); + $pStr = $short; + } + } else { + $pStr = '<'.str_replace('>', '\\>', $property).'>'; + } + + if ($pCount) { + $turtle .= " ;\n$indent"; + } + + $turtle .= ' ' . $pStr; + + $oCount = 0; + foreach ($res->all("<$property>") as $object) { + if ($oCount) + $turtle .= ','; + + if ($object instanceof EasyRdf_Resource and $object->isBnode()) { + $id = $object->getNodeId(); + $rpcount = $this->reversePropertyCount($object); + if ($rpcount <= 1 and !isset($this->_outputtedBnodes[$id])) { + // Nested unlabelled Blank Node + $this->_outputtedBnodes[$id] = true; + $turtle .= ' ['; + $turtle .= $this->serialiseProperties($object, $depth+1); + $turtle .= ' ]'; + } else { + // Multiple properties pointing to this blank node + $turtle .= ' ' . $this->serialiseObject($object); + } + } else { + $turtle .= ' ' . $this->serialiseObject($object); + } + $oCount++; + } + $pCount++; + } + + if ($depth == 1) { + $turtle .= " ."; + if ($pCount > 1) + $turtle .= "\n"; + } elseif ($pCount > 1) { + $turtle .= "\n" . str_repeat(' ', (($depth-1)*2)-1); + } + + return $turtle; + } + + /** + * @ignore + */ + protected function serialisePrefixes() + { + $turtle = ''; + foreach ($this->_prefixes as $prefix => $count) { + $url = EasyRdf_Namespace::get($prefix); + $turtle .= "@prefix $prefix: <$url> .\n"; + } + return $turtle; + } + + /** + * Serialise an EasyRdf_Graph to Turtle. + * + * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. + * @param string $format The name of the format to convert to. + * @return string The RDF in the new desired format. + */ + public function serialise($graph, $format) + { + parent::checkSerialiseParams($graph, $format); + + if ($format != 'turtle' and $format != 'n3') { + throw new EasyRdf_Exception( + "EasyRdf_Serialiser_Turtle does not support: $format" + ); + } + + $this->_prefixes = array(); + $this->_outputtedBnodes = array(); + + $turtle = ''; + foreach ($graph->resources() as $resource) { + // If the resource has no properties - don't serialise it + $properties = $resource->propertyUris(); + if (count($properties) == 0) + continue; + + if ($resource->isBnode()) { + $id = $resource->getNodeId(); + $rpcount = $this->reversePropertyCount($resource); + if (isset($this->_outputtedBnodes[$id])) { + // Already been serialised + continue; + } else { + $this->_outputtedBnodes[$id] = true; + if ($rpcount == 0) { + $turtle .= '[]'; + } else { + $turtle .= $this->serialiseResource($resource); + } + } + } else { + $turtle .= $this->serialiseResource($resource); + } + + $turtle .= $this->serialiseProperties($resource); + $turtle .= "\n"; + } + + if (count($this->_prefixes)) { + return $this->serialisePrefixes() . "\n" . $turtle; + } else { + return $turtle; + } + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Sparql/Client.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Sparql/Client.php new file mode 100644 index 0000000..0b8f008 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Sparql/Client.php @@ -0,0 +1,134 @@ +_uri = $uri; + } + + /** Get the URI of the SPARQL endpoint + * + * @return string The URI of the SPARQL endpoint + */ + public function getUri() + { + return $this->_uri; + } + + /** Make a query to the SPARQL endpoint + * + * SELECT and ASK queries will return an object of type + * EasyRdf_Sparql_Result. + * + * CONSTRUCT and DESCRIBE queries will return an object + * of type EasyRdf_Graph. + * + * @param string $query The query string to be executed + * @return object EasyRdf_Sparql_Result|EasyRdf_Graph Result of the query. + */ + public function query($query) + { + # Add namespaces to the queryString + $prefixes = ''; + foreach (EasyRdf_Namespace::namespaces() as $prefix => $uri) { + if (strpos($query, "$prefix:") !== false and + strpos($query, "PREFIX $prefix:") === false) { + $prefixes .= "PREFIX $prefix: <$uri>\n"; + } + } + + $client = EasyRdf_Http::getDefaultHttpClient(); + $client->resetParameters(); + $client->setUri($this->_uri); + $client->setMethod('GET'); + + $accept = EasyRdf_Format::getHttpAcceptHeader( + array( + 'application/sparql-results+json' => 1.0, + 'application/sparql-results+xml' => 0.8 + ) + ); + $client->setHeaders('Accept', $accept); + $client->setParameterGet('query', $prefixes . $query); + + $response = $client->request(); + if ($response->isSuccessful()) { + list($type, $params) = EasyRdf_Utils::parseMimeType( + $response->getHeader('Content-Type') + ); + if (strpos($type, 'application/sparql-results') === 0) { + return new EasyRdf_Sparql_Result($response->getBody(), $type); + } else { + return new EasyRdf_Graph($this->_uri, $response->getBody(), $type); + } + } else { + throw new EasyRdf_Exception( + "HTTP request for SPARQL query failed: ".$response->getBody() + ); + } + } + + /** Magic method to return URI of the SPARQL endpoint when casted to string + * + * @return string The URI of the SPARQL endpoint + */ + public function __toString() + { + return $this->_uri == null ? '' : $this->_uri; + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/Sparql/Result.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Sparql/Result.php new file mode 100644 index 0000000..2b591d4 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/Sparql/Result.php @@ -0,0 +1,380 @@ +_parseXml($data); + } else if ($mimeType == 'application/sparql-results+json') { + return $this->_parseJson($data); + } else { + throw new EasyRdf_Exception( + "Unsupported SPARQL Query Results format: $mimeType" + ); + } + } + + /** Get the query result type (boolean/bindings) + * + * ASK queries return a result of type 'boolean'. + * SELECT query return a result of type 'bindings'. + * + * @return string The query result type. + */ + public function getType() + { + return $this->_type; + } + + /** Return the boolean value of the query result + * + * If the query was of type boolean then this method will + * return either true or false. If the query was of some other + * type then this method will return null. + * + * @return boolean The result of the query. + */ + public function getBoolean() + { + return $this->_boolean; + } + + /** Return true if the result of the query was true. + * + * @return boolean True if the query result was true. + */ + public function isTrue() + { + return $this->_boolean == true; + } + + /** Return false if the result of the query was false. + * + * @return boolean True if the query result was false. + */ + public function isFalse() + { + return $this->_boolean == false; + } + + /** Return the number of fields in a query result of type bindings. + * + * @return integer The number of fields. + */ + public function numFields() + { + return count($this->_fields); + } + + /** Return the number of rows in a query result of type bindings. + * + * @return integer The number of rows. + */ + public function numRows() + { + return count($this); + } + + /** Get the field names in a query result of type bindings. + * + * @return array The names of the fields in the result. + */ + public function getFields() + { + return $this->_fields; + } + + /** Return a human readable view of the query result. + * + * This method is intended to be a debugging aid and will + * return a pretty-print view of the query result. + * + * @param bool $html Set to true to format the dump using HTML + */ + public function dump($html=true) + { + if ($this->_type == 'bindings') { + $result = ''; + if ($html) { + $result .= ""; + $result .= ""; + foreach ($this->_fields as $field) { + $result .= ""; + } + $result .= ""; + foreach ($this as $row) { + $result .= ""; + foreach ($this->_fields as $field) { + $result .= ""; + } + $result .= ""; + } + $result .= "
    ". + "?$field
    ". + $row->$field->dumpValue($html)."
    "; + } else { + // First calculate the width of each comment + $colWidths = array(); + foreach ($this->_fields as $field) { + $colWidths[$field] = strlen($field); + } + + $textData = array(); + foreach ($this as $row) { + $textRow = array(); + foreach ($row as $k => $v) { + $textRow[$k] = $v->dumpValue(false); + $width = strlen($textRow[$k]); + if ($colWidths[$k] < $width) { + $colWidths[$k] = $width; + } + } + $textData[] = $textRow; + } + + // Create a horizontal rule + $hr = "+"; + foreach ($colWidths as $k => $v) { + $hr .= "-".str_repeat('-', $v).'-+'; + } + + // Output the field names + $result .= "$hr\n|"; + foreach ($this->_fields as $field) { + $result .= ' '.str_pad("?$field", $colWidths[$field]).' |'; + } + + // Output each of the rows + $result .= "\n$hr\n"; + foreach ($textData as $textRow) { + $result .= '|'; + foreach ($textRow as $k => $v) { + $result .= ' '.str_pad($v, $colWidths[$k]).' |'; + } + $result .= "\n"; + } + $result .= "$hr\n"; + + } + return $result; + } else if ($this->_type == 'boolean') { + $str = ($this->_boolean ? 'true' : 'false'); + if ($html) { + return "

    Result: $str

    "; + } else { + return "Result: $str"; + } + } else { + throw new EasyRdf_Exception( + "Failed to dump SPARQL Query Results format, unknown type: ". $this->_type + ); + } + } + + /** Create a new EasyRdf_Resource or EasyRdf_Literal depending + * on the type of data passed in. + * + * @ignore + */ + protected function _newTerm($data) + { + switch($data['type']) { + case 'bnode': + return new EasyRdf_Resource('_:'.$data['value']); + case 'uri': + return new EasyRdf_Resource($data['value']); + case 'literal': + case 'typed-literal': + return EasyRdf_Literal::create($data); + default: + throw new EasyRdf_Exception( + "Failed to parse SPARQL Query Results format, unknown term type: ". + $data['type'] + ); + } + } + + /** Parse a SPARQL result in the XML format into the object. + * + * @ignore + */ + protected function _parseXml($data) + { + $doc = new DOMDocument(); + $doc->loadXML($data); + + # Check for valid root node. + if ($doc->hasChildNodes() == false or + $doc->childNodes->length != 1 or + $doc->firstChild->nodeName != 'sparql' or + $doc->firstChild->namespaceURI != self::SPARQL_XML_RESULTS_NS) { + throw new EasyRdf_Exception( + "Incorrect root node in SPARQL XML Query Results format" + ); + } + + # Is it the result of an ASK query? + $boolean = $doc->getElementsByTagName('boolean'); + if ($boolean->length) { + $this->_type = 'boolean'; + $value = $boolean->item(0)->nodeValue; + $this->_boolean = $value == 'true' ? true : false; + return; + } + + # Get a list of variables from the header + $head = $doc->getElementsByTagName('head'); + if ($head->length) { + $variables = $head->item(0)->getElementsByTagName('variable'); + foreach ($variables as $variable) { + $this->_fields[] = $variable->getAttribute('name'); + } + } + + # Is it the result of a SELECT query? + $resultstag = $doc->getElementsByTagName('results'); + if ($resultstag->length) { + $this->_type = 'bindings'; + $results = $resultstag->item(0)->getElementsByTagName('result'); + foreach ($results as $result) { + $bindings = $result->getElementsByTagName('binding'); + $t = new stdClass(); + foreach ($bindings as $binding) { + $key = $binding->getAttribute('name'); + foreach ($binding->childNodes as $node) { + if ($node->nodeType != XML_ELEMENT_NODE) + continue; + $t->$key = $this->_newTerm( + array( + 'type' => $node->nodeName, + 'value' => $node->nodeValue, + 'lang' => $node->getAttribute('xml:lang'), + 'datatype' => $node->getAttribute('datatype') + ) + ); + break; + } + } + $this[] = $t; + } + return $this; + } + + throw new EasyRdf_Exception( + "Failed to parse SPARQL XML Query Results format" + ); + } + + /** Parse a SPARQL result in the JSON format into the object. + * + * @ignore + */ + protected function _parseJson($data) + { + // Decode JSON to an array + $data = json_decode($data, true); + + if (isset($data['boolean'])) { + $this->_type = 'boolean'; + $this->_boolean = $data['boolean']; + } else if (isset($data['results'])) { + $this->_type = 'bindings'; + if (isset($data['head']['vars'])) { + $this->_fields = $data['head']['vars']; + } + + foreach ($data['results']['bindings'] as $row) { + $t = new stdClass(); + foreach ($row as $key => $value) { + $t->$key = $this->_newTerm($value); + } + $this[] = $t; + } + } else { + throw new EasyRdf_Exception( + "Failed to parse SPARQL JSON Query Results format" + ); + } + } + + /** Magic method to return value of the result to string + * + * If this is a boolean result then it will return 'true' or 'false'. + * If it is a bindings type, then it will dump as a text based table. + * + * @return string A string representation of the result. + */ + public function __toString() + { + if ($this->_type == 'boolean') { + return $this->_boolean ? 'true' : 'false'; + } else { + return $this->dump(false); + } + } +} diff --git a/wp-content/plugins/wp-linked-data/lib/EasyRdf/TypeMapper.php b/wp-content/plugins/wp-linked-data/lib/EasyRdf/TypeMapper.php new file mode 100644 index 0000000..a6f4619 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/lib/EasyRdf/TypeMapper.php @@ -0,0 +1,116 @@ +$short"; + } else { + return "$escaped"; + } + } else { + if ($short) { + return $short; + } else { + return $resource; + } + } + } + + /** Return pretty-print view of a literal + * + * This method is mainly intended for internal use and is used by + * EasyRdf_Graph and EasyRdf_Sparql_Result to format a literal + * for display. + * + * @param mixed $resource An EasyRdf_Literal object or an associative array + * @param bool $html Set to true to format the dump using HTML + * @param string $color The colour of the text + * @return string + */ + public static function dumpLiteralValue($literal, $html=true, $color='black') + { + if (is_object($literal)) { + $literal = $literal->toArray(); + } else if (!is_array($literal)) { + $literal = array('value' => $literal); + } + + $text = '"'.$literal['value'].'"'; + if (isset($literal['lang'])) { + $text .= '@' . $literal['lang']; + } + if (isset($literal['datatype'])) { + $datatype = EasyRdf_Namespace::shorten($literal['datatype']); + $text .= "^^$datatype"; + } + + if ($html) { + return "". + htmlentities($text, ENT_COMPAT, "UTF-8"). + ""; + } else { + return $text; + } + } + + /** Clean up and split a mime-type up into its parts + * + * @param string $mimeType A MIME Type, optionally with parameters + * @return array $type, $parameters + */ + public static function parseMimeType($mimeType) + { + $parts = explode(';', strtolower($mimeType)); + $type = trim(array_shift($parts)); + $params = array(); + foreach ($parts as $part) { + if (preg_match("/^\s*(\w+)\s*=\s*(.+?)\s*$/", $part, $matches)) { + $params[$matches[1]] = $matches[2]; + } + } + return array($type, $params); + } + + /** Execute a command as a pipe + * + * The proc_open() function is used to open a pipe to a + * a command line process, writing $input to STDIN, returning STDOUT + * and throwing an exception if anything is written to STDERR or the + * process returns non-zero. + * + * @param string $command The command to execute + * @param array $args Optional list of arguments to pass to the command + * @param string $input Optional buffer to send to the command + * @param string $dir Path to directory to run command in (defaults to /tmp) + * @return string The result of the command, printed to STDOUT + */ + public static function execCommandPipe($command, $args=null, $input=null, $dir=null) + { + $descriptorspec = array( + 0 => array('pipe', 'r'), + 1 => array('pipe', 'w'), + 2 => array('pipe', 'w') + ); + + // Use the system tmp directory by default + if (!$dir) { + $dir = sys_get_temp_dir(); + } + + if (is_array($args)) { + $fullCommand = implode( + ' ', array_map('escapeshellcmd', array_merge(array($command), $args)) + ); + } else { + $fullCommand = escapeshellcmd($command); + if ($args) + $fullCommand .= ' '.escapeshellcmd($args); + } + + $process = proc_open( + $fullCommand, $descriptorspec, $pipes, $dir + ); + + if (is_resource($process)) { + // $pipes now looks like this: + // 0 => writeable handle connected to child stdin + // 1 => readable handle connected to child stdout + // 2 => readable handle connected to child stderr + + if ($input) + fwrite($pipes[0], $input); + fclose($pipes[0]); + + $output = stream_get_contents($pipes[1]); + fclose($pipes[1]); + $error = stream_get_contents($pipes[2]); + fclose($pipes[2]); + + // It is important that you close any pipes before calling + // proc_close in order to avoid a deadlock + $returnValue = proc_close($process); + if ($returnValue) { + throw new EasyRdf_Exception( + "Error while executing command $command: ".$error + ); + } + } else { + throw new EasyRdf_Exception( + "Failed to execute command $command" + ); + } + + return $output; + } +} diff --git a/wp-content/plugins/wp-linked-data/model/RsaPublicKey.php b/wp-content/plugins/wp-linked-data/model/RsaPublicKey.php new file mode 100644 index 0000000..1494f58 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/model/RsaPublicKey.php @@ -0,0 +1,23 @@ +exponent = $exponent; + $this->modulus = $modulus; + } + + public function getExponent () { + return $this->exponent; + } + + public function getModulus() { + return $this->modulus; + } + +} diff --git a/wp-content/plugins/wp-linked-data/rdf/RdfBuilder.php b/wp-content/plugins/wp-linked-data/rdf/RdfBuilder.php new file mode 100644 index 0000000..d02d094 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/rdf/RdfBuilder.php @@ -0,0 +1,139 @@ +webIdService = $webIdService; + } + + public function buildGraph ($queriedObject, $wpQuery) { + $graph = new \EasyRdf_Graph(); + if (!$queriedObject) { + return $this->buildGraphForBlog ($graph, $wpQuery); + } + if ($queriedObject) { + if ($queriedObject instanceof \WP_User) { + return $this->buildGraphForUser ($graph, $queriedObject, $wpQuery); + } + if ($queriedObject instanceof \WP_Post) { + return $this->buildGraphForPost ($graph, $queriedObject); + } + } + return $this->buildGraphForAllPostsInQuery ($graph, $wpQuery); + } + + private function buildGraphForAllPostsInQuery ($graph, $wpQuery) { + while ($wpQuery->have_posts ()) { + $wpQuery->next_post (); + $post = $wpQuery->post; + $this->buildGraphForPost ($graph, $post); + } + return $graph; + } + + private function buildGraphForPost ($graph, $post) { + $type = $this->getRdfTypeForPost ($post); + $post_uri = $this->getPostUri ($post); + $post_resource = $graph->resource ($post_uri, $type); + + $post_resource->set ('dc:title', $post->post_title); + $post_resource->set ('sioc:content', strip_tags($post->post_content)); + $post_resource->set ('dc:modified', \EasyRdf_Literal_Date::parse($post->post_modified)); + $post_resource->set ('dc:created', \EasyRdf_Literal_Date::parse($post->post_date)); + + $author = get_userdata ($post->post_author); + $accountUri = $this->webIdService->getAccountUri ($author); + $accountResource = $graph->resource ($accountUri, 'sioc:UserAccount'); + $accountResource->set ('sioc:name', $author->display_name); + $post_resource->set ('sioc:has_creator', $accountResource); + + $blogUri = $this->getBlogUri (); + $blogResource = $graph->resource ($blogUri, 'sioct:Weblog'); + $post_resource->set ('sioc:has_container', $blogResource); + + return $graph; + } + + private function getPostUri ($post) { + return untrailingslashit (get_permalink ($post->ID)) . '#it'; + } + + private function getRdfTypeForPost ($queriedObject) { + if ($queriedObject->post_type == 'post') { + return 'sioct:BlogPost'; + } + return 'sioc:Item'; + } + + private function buildGraphForUser ($graph, $user, $wpQuery) { + $author_uri = $this->webIdService->getWebIdOf ($user); + $account_uri = $this->webIdService->getAccountUri ($user); + $author_resource = $graph->resource ($author_uri, 'foaf:Person'); + $account_resource = $graph->resource ($account_uri, 'sioc:UserAccount'); + + $author_resource->set ('foaf:name', $user->display_name ?: null); + $author_resource->set ('foaf:givenName', $user->user_firstname ?: null); + $author_resource->set ('foaf:familyName', $user->user_lastname ?: null); + $author_resource->set ('foaf:nick', $user->nickname ?: null); + $author_resource->set ('bio:olb', $user->user_description ?: null); + $author_resource->set ('foaf:account', $account_resource); + + $account_resource->set ('sioc:name', $user->display_name ?: null); + $account_resource->set ('sioc:account_of', $author_resource); + + $this->addRsaPublicKey ($user, $graph, $author_resource); + $this->addAdditionalRdf ($user, $graph); + + $this->linkAllPosts ($wpQuery, $graph, $account_resource, 'sioc:creator_of'); + return $graph; + } + + private function addRsaPublicKey ($user, $graph, $author_resource) { + $rsaPublicKey = $this->webIdService->getRsaPublicKey ($user); + if ($rsaPublicKey) { + $key_resource = $graph->newBNode ('cert:RSAPublicKey'); + $key_resource->set ('cert:exponent', new \EasyRdf_Literal_Integer($rsaPublicKey->getExponent ())); + $key_resource->set ('cert:modulus', new \EasyRdf_Literal_HexBinary($rsaPublicKey->getModulus ())); + $author_resource->set ('cert:key', $key_resource); + } + } + + private function addAdditionalRdf ($user, $graph) { + $rdf = get_the_author_meta ('additionalRdf', $user->ID); + if (!empty($rdf)) { + $graph->parse ($rdf); + } + } + + private function linkAllPosts ($wpQuery, $graph, $resourceToLink, $property) { + while ($wpQuery->have_posts ()) { + $wpQuery->next_post (); + $post = $wpQuery->post; + $post_uri = $this->getPostUri ($post); + $post_resource = $graph->resource ($post_uri, 'sioct:BlogPost'); + $post_resource->set ('dc:title', $post->post_title); + $resourceToLink->add ($property, $post_resource); + } + } + + private function buildGraphForBlog ($graph, $wpQuery) { + $blogUri = $this->getBlogUri (); + $blogResource = $graph->resource ($blogUri, 'sioct:Weblog'); + $blogResource->set ('rdfs:label', get_bloginfo('name') ?: null); + $blogResource->set ('rdfs:comment', get_bloginfo('description') ?: null); + $this->linkAllPosts ($wpQuery, $graph, $blogResource, 'sioc:container_of'); + return $graph; + } + + private function getBlogUri () { + return site_url () . '#it'; + } + +} \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/rdf/RdfPrinter.php b/wp-content/plugins/wp-linked-data/rdf/RdfPrinter.php new file mode 100644 index 0000000..d5d6ede --- /dev/null +++ b/wp-content/plugins/wp-linked-data/rdf/RdfPrinter.php @@ -0,0 +1,29 @@ +addContentTypeHeader ($rdf_format); + $data = $graph->serialise ($rdf_format); + if (!is_scalar ($data)) { + $data = var_export ($data, true); + } + print $data; + } + + private function addContentTypeHeader ($rdfFormat) { + $mimeType = RdfType::getMimeType($rdfFormat); + header ('Content-Type: ' . $mimeType); + } + +} diff --git a/wp-content/plugins/wp-linked-data/rdf/RdfType.php b/wp-content/plugins/wp-linked-data/rdf/RdfType.php new file mode 100644 index 0000000..8f003ae --- /dev/null +++ b/wp-content/plugins/wp-linked-data/rdf/RdfType.php @@ -0,0 +1,39 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/readme.txt b/wp-content/plugins/wp-linked-data/readme.txt new file mode 100644 index 0000000..3948fed --- /dev/null +++ b/wp-content/plugins/wp-linked-data/readme.txt @@ -0,0 +1,84 @@ +=== wp-linked-data === +Contributors: aveltens +Author URI: http://me.desone.org/person/aveltens#me +Tags: linked data, rdf, semantic web, webid +Requires at least: 3.5.1 +Tested up to: 3.5.1 +Stable tag: trunk +License: GPLv3 +License URI: http://www.gnu.org/licenses/gpl-3.0 + +Publishes blog post & author data as Linked Data. + +== Description == + +The plugin publishes Linked Data about your blog contents and helps you hosting or connecting your WebID. + += Linked Data = + +Turtle and RDF/XML documents can be retrieved performing a HTTP GET request with an appropriate HTTP-Accept-Header set. Blog posts and pages are identified by their original document URI appended by the fragment identifier #it. + +E.g. if a blog post ist available at http://example.org/2013/04/my-first-blog-post, the post itself (as an "abstract thing") is identified by http://example.org/2013/04/my-first-blog-post#it + +You may use curl to retrieve Linked Data, e.g.: + +curl -H 'Accept: text/turtle' http://example.org/2013/04/my-first-blog-post#it + +An author, as a person, is per default identified by the author page URI appended by the fragment identifier #me. + +E.g. if the authors page is http://example.org/author/alice, the person Alice is identified by http://example.org/author/alice#me + +You may try curl again, to retrieve a FOAF-Profile: + +curl -H 'Accept: text/turtle' http://example.org/author/alice#me + +Instead of using WordPress to host the FOAF-Profile, you are able to link your existing WebID to your WordPress account. (See next section) + += WebID = + +The Plugin adds a WebID section to the user profile screen in the admin backend. (Note: The section is only available, when editing _your own_ profile). + +**WebID Location** + +You can choose, where your WebID is hosted: + +1. Locally hosted WebID: The WebID is hosted within your wordpress blog at http://[your-domain]/author/[your-username]#me +2. Custom WebID: You may enter whatever your WebID URI is and your WordPress account will be linked to it. + +Whatever option you choose, your wordpress account will always be identified as "http://[your-domain]\>/author/[your-username]>#account". The option only affects, how you, as a person, will be identified. + +If you do not have a WebID yet, choose the first option, or get a WebID at http://my-profile.eu. More Information about WebID: http://webid.info/ + +**RSA Public Key** + +You may enter the exponent and modulus of the public key of your WebID certificate. This will allow you to use your WordPress WebID for authentication elsewhere on the web. The wp-linked-data plugin is not yet capable of creating WebID certificates, so you will have to create the certificate with another tool (e.g. openssl) and enter the data into this section afterwards. + +**Additional RDF** + +You may enter any RDF triples as RDF/XML, Turtle or N3. The triples will occur in the RDF representation of your WordPress profile document at at http://[your-domain]/author/[your-username] + +== Installation == + +Just copy the contents of this directory to wp-content/plugins/wp-linked-data directory of your WordPress installation and then activate the plugin from plugins page. + +At least PHP 5.3.0 is required to use this plugin. + +It is recommended that you install the pecl_http PHP extension (http://pecl.php.net/package/pecl_http). The plugin will work without it, but only with a simplified, inaccurate content negotiation. + +== Changelog == + += 0.3 = +* choose between locally hosted WebID and custom WebID +* add RSA public key to your profile +* add custom RDF triples to your profile document + += 0.2 = +* distinguish users (persons) and their user accounts +* use sioc:creator_of instead of foaf:publications +* replaced inexistent dc:content by sioc:content (plain text) for blog post content +* added sioc:Weblog resource for the blog itself + += 0.1 = +* puplishing blog post metadata as linked data +* publishing FOAF profiles for blog authors +* content negotiation supporting Turtle and RDF/XML format diff --git a/wp-content/plugins/wp-linked-data/request/ContentNegotiation.php b/wp-content/plugins/wp-linked-data/request/ContentNegotiation.php new file mode 100644 index 0000000..a65b0d9 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/request/ContentNegotiation.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/request/PeclHttpContentNegotiation.php b/wp-content/plugins/wp-linked-data/request/PeclHttpContentNegotiation.php new file mode 100644 index 0000000..495d649 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/request/PeclHttpContentNegotiation.php @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/request/RequestInterceptor.php b/wp-content/plugins/wp-linked-data/request/RequestInterceptor.php new file mode 100644 index 0000000..3109361 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/request/RequestInterceptor.php @@ -0,0 +1,45 @@ +contentNegotiation = $contentNegotiation; + $this->rdfBuilder = $rdfBuilder; + $this->rdfPrinter = $rdfPrinter; + } + + /** + * Intercepts the current HTTP request and serves an RDF document + * if the content negotiation results in a supported RDF format + */ + public function intercept () { + $rdf_format = ($this->contentNegotiation->negotiateRdfContentType ($_SERVER['HTTP_ACCEPT'])); + if ($rdf_format != null) { + global $wp_query; + $graph = $this->rdfBuilder->buildGraph (get_queried_object (), $wp_query); + $this->rdfPrinter->printGraph ($graph, $rdf_format); + exit; + } + } + + +} diff --git a/wp-content/plugins/wp-linked-data/request/SimplifiedContentNegotiation.php b/wp-content/plugins/wp-linked-data/request/SimplifiedContentNegotiation.php new file mode 100644 index 0000000..0499015 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/request/SimplifiedContentNegotiation.php @@ -0,0 +1,27 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/service/UserProfileWebIdService.php b/wp-content/plugins/wp-linked-data/service/UserProfileWebIdService.php new file mode 100644 index 0000000..c78951d --- /dev/null +++ b/wp-content/plugins/wp-linked-data/service/UserProfileWebIdService.php @@ -0,0 +1,47 @@ +ID) == WebIdService::CUSTOM_WEB_ID; + } + + public function getWebIdOf ($user) { + if ($this->hasUserCustomWebId($user)) { + return esc_attr (get_the_author_meta ('webId', $user->ID)); + } else { + return $this->getLocalWebId ($user); + } + } + + public function getLocalWebId ($user) { + return $this->getUserDocumentUri ($user) . '#me'; + } + + public function getAccountUri ($user) { + return $this->getUserDocumentUri ($user) . '#account'; + } + + public function getUserDocumentUri ($user) { + return untrailingslashit (get_author_posts_url ($user->ID)); + } + + public function getRsaPublicKey ($user) { + $exponent = esc_attr (get_the_author_meta ('publicKeyExponent', $user->ID)); + $modulus = esc_attr (get_the_author_meta ('publicKeyModulus', $user->ID)); + if (empty($exponent) || empty($modulus)) { + return null; + } + return new RsaPublicKey($exponent, $modulus); + } +} + +?> \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/service/WebIdService.php b/wp-content/plugins/wp-linked-data/service/WebIdService.php new file mode 100644 index 0000000..53ca81c --- /dev/null +++ b/wp-content/plugins/wp-linked-data/service/WebIdService.php @@ -0,0 +1,55 @@ + \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/view/webId.html b/wp-content/plugins/wp-linked-data/view/webId.html new file mode 100644 index 0000000..ce61a30 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/view/webId.html @@ -0,0 +1,72 @@ +

    Web ID

    + + + + + + + + + + + + + + + + +
    +
    + webIdService->hasUserCustomWebId($user) ? '' : 'checked="checked"') ?> + /> +
    + Let wordpress host your WebID at the above URI.
    + + webIdService->hasUserCustomWebId($user) ? 'checked="checked"' : '') ?> + /> + + +
    + Enter your Web ID if you have one elsewhere. (Get a Web ID) +
    +
    + + +
    Generate a WebID certificate and enter your public key data here, to use your + WordPress WebID profile for authentication on the Web +
    +
    +
    +
    + The exponent of your RSA public key
    + +
    + The modulus of your RSA public key in hex binary +
    +
    + + +
    Insert any RDF triples you would like to add to your local profile document at webIdService->getUserDocumentUri($user)) ?> +
    +
    +
    + Enter valid Turtle, N3 or RDF/XML
    +
    \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/wp-linked-data-initialize.php b/wp-content/plugins/wp-linked-data/wp-linked-data-initialize.php new file mode 100644 index 0000000..6935d9a --- /dev/null +++ b/wp-content/plugins/wp-linked-data/wp-linked-data-initialize.php @@ -0,0 +1,44 @@ +registerRdfNamespaces (); + $this->webIdService = new \org\desone\wordpress\wpLinkedData\UserProfileWebIdService(); + $contentNegotiation = $this->getSupportedContentNegotiation (); + $rdfBuilder = new \org\desone\wordpress\wpLinkedData\RdfBuilder($this->webIdService); + $rdfPrinter = new \org\desone\wordpress\wpLinkedData\RdfPrinter(); + $interceptor = new \org\desone\wordpress\wpLinkedData\RequestInterceptor( + $contentNegotiation, $rdfBuilder, $rdfPrinter + ); + return $interceptor; + } + + function getUserProfileController () { + return new \org\desone\wordpress\wpLinkedData\UserProfileController($this->webIdService); + } + + private function registerRdfNamespaces () { + EasyRdf_Namespace::set ('bio', 'http://purl.org/vocab/bio/0.1/'); + EasyRdf_Namespace::set ('sioct', 'http://rdfs.org/sioc/types#'); + } + + private function getSupportedContentNegotiation () { + if (self::isPeclHttpInstalled ()) { + return new \org\desone\wordpress\wpLinkedData\PeclHttpContentNegotiation(); + } else { + return new \org\desone\wordpress\wpLinkedData\SimplifiedContentNegotiation(); + } + } + + public static function isPeclHttpInstalled () { + return in_array ('http', get_loaded_extensions ()); + } + + } +} else { + exit ('Class WpLinkedDataInitializer already exists'); +} \ No newline at end of file diff --git a/wp-content/plugins/wp-linked-data/wp-linked-data.php b/wp-content/plugins/wp-linked-data/wp-linked-data.php new file mode 100644 index 0000000..d2a2ea9 --- /dev/null +++ b/wp-content/plugins/wp-linked-data/wp-linked-data.php @@ -0,0 +1,80 @@ +='); +} + +if (phpVersionSupported()) { + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'wp-linked-data-initialize.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'request/SimplifiedContentNegotiation.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'request/PeclHttpContentNegotiation.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'request/RequestInterceptor.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'rdf/RdfBuilder.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'rdf/RdfPrinter.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'lib/EasyRdf.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'controller/UserProfileController.php'); + require_once(WP_LINKED_DATA_PLUGIN_DIR_PATH . 'service/UserProfileWebIdService.php'); +} + +if (!class_exists ('WpLinkedData')) { + class WpLinkedData { + + function WpLinkedData ($wpLinkedDataInitializer) { + register_activation_hook (__FILE__, array(&$this, 'onPluginActivation')); + if (phpVersionSupported()) { + add_action('admin_init', array(&$this, 'showWarningIfPeclHttpMissing')); + + $interceptor = $wpLinkedDataInitializer->initialize (); + add_action ('wp', array(&$interceptor, 'intercept')); + + $userProfileController = $wpLinkedDataInitializer->getUserProfileController (); + add_action ('show_user_profile', array(&$userProfileController, 'renderWebIdSection')); + add_action ('personal_options_update', array(&$userProfileController, 'saveWebIdData')); + } + } + + static function onPluginActivation () { + if (phpVersionSupported ()) { + if (!WpLinkedDataInitializer::isPeclHttpInstalled ()) { + add_option ('show_pecl_http_missing_warning', true); + + } + } else { + deactivate_plugins (__FILE__); + wp_die (wp_sprintf ('%1s: ' . __ ('Sorry, This plugin has taken a bold step in requiring PHP 5.3.0+. Your server is currently running PHP %2s, Please bug your host to upgrade to a recent version of PHP which is less bug-prone.', 'wp-linked-data'), __FILE__, PHP_VERSION)); + } + } + + static function showWarningIfPeclHttpMissing() { + if(get_option ('show_pecl_http_missing_warning', false)) { + delete_option('show_pecl_http_missing_warning'); + add_action('admin_notices', create_function('', 'echo + \'

    Warning: The PHP extension pecl_http is missing. wp-linked-data will work without it, but fall back to a simple, inaccurate HTTP content negotiation. It is recommended to install the pecl_http extension

    \';')); + } + } + + } +} else { + exit ('Class WpLinkedData already exists'); +} + +// initialization of namespaces classes is done in a separated initializer class +// to allow old php versions to display a proper error message instead of crashing +$wpLinkedDataInitializer = null; +if (phpVersionSupported()) { + $wpLinkedDataInitializer = new WpLinkedDataInitializer(); +} +new WpLinkedData($wpLinkedDataInitializer); + +?> \ No newline at end of file diff --git a/wp-content/sunrise.php b/wp-content/sunrise.php new file mode 100644 index 0000000..07a7248 --- /dev/null +++ b/wp-content/sunrise.php @@ -0,0 +1,37 @@ +dmtable = $wpdb->base_prefix . 'domain_mapping'; +$dm_domain = $wpdb->escape( $_SERVER[ 'HTTP_HOST' ] ); + +if( ( $nowww = preg_replace( '|^www\.|', '', $dm_domain ) ) != $dm_domain ) + $where = $wpdb->prepare( 'domain IN (%s,%s)', $dm_domain, $nowww ); +else + $where = $wpdb->prepare( 'domain = %s', $dm_domain ); + +$wpdb->suppress_errors(); +$domain_mapping_id = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->dmtable} WHERE {$where} ORDER BY CHAR_LENGTH(domain) DESC LIMIT 1" ); +$wpdb->suppress_errors( false ); +if( $domain_mapping_id ) { + $current_blog = $wpdb->get_row("SELECT * FROM {$wpdb->blogs} WHERE blog_id = '$domain_mapping_id' LIMIT 1"); + $current_blog->domain = $_SERVER[ 'HTTP_HOST' ]; + $current_blog->path = '/'; + $blog_id = $domain_mapping_id; + $site_id = $current_blog->site_id; + + define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] ); + + $current_site = $wpdb->get_row( "SELECT * from {$wpdb->site} WHERE id = '{$current_blog->site_id}' LIMIT 0,1" ); + $current_site->blog_id = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->blogs} WHERE domain='{$current_site->domain}' AND path='{$current_site->path}'" ); + if( function_exists( 'get_current_site_name' ) ) + $current_site = get_current_site_name( $current_site ); + + define( 'DOMAIN_MAPPING', 1 ); +} +?> diff --git a/wp-content/themes/index.php b/wp-content/themes/index.php new file mode 100644 index 0000000..4e6c07c --- /dev/null +++ b/wp-content/themes/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/facebook-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/facebook-icon.png new file mode 100644 index 0000000..4e11d7b Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/facebook-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/foursquare-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/foursquare-icon.png new file mode 100644 index 0000000..fd2ae65 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/foursquare-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/googleplus-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/googleplus-icon.png new file mode 100644 index 0000000..3f80d10 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/googleplus-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/instagram-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/instagram-icon.png new file mode 100644 index 0000000..8b23cf1 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/instagram-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/linkedin-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/linkedin-icon.png new file mode 100644 index 0000000..88d22a8 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/linkedin-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/pinterest-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/pinterest-icon.png new file mode 100644 index 0000000..e8ddb7d Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/pinterest-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/rss-feed-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/rss-feed-icon.png new file mode 100644 index 0000000..ca8d3cd Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/rss-feed-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/stumble-upon-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/stumble-upon-icon.png new file mode 100644 index 0000000..a001984 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/stumble-upon-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/twitter-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/twitter-icon.png new file mode 100644 index 0000000..0fcebb3 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/twitter-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/vimeo-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/vimeo-icon.png new file mode 100644 index 0000000..2502bcd Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/vimeo-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/yelp-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/yelp-icon.png new file mode 100644 index 0000000..4f127c2 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/yelp-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/icons/youtube-icon.png b/wp-content/themes/responsive-childtheme-master/core/icons/youtube-icon.png new file mode 100644 index 0000000..c6bd511 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/icons/youtube-icon.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/images/default-logo.png b/wp-content/themes/responsive-childtheme-master/core/images/default-logo.png new file mode 100644 index 0000000..da4d463 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/images/default-logo.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/images/featured-image.png b/wp-content/themes/responsive-childtheme-master/core/images/featured-image.png new file mode 100644 index 0000000..4716c4e Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/images/featured-image.png differ diff --git a/wp-content/themes/responsive-childtheme-master/core/images/ie7-fix.gif b/wp-content/themes/responsive-childtheme-master/core/images/ie7-fix.gif new file mode 100644 index 0000000..d7ed1a5 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/images/ie7-fix.gif differ diff --git a/wp-content/themes/responsive-childtheme-master/core/images/select-icons.png b/wp-content/themes/responsive-childtheme-master/core/images/select-icons.png new file mode 100644 index 0000000..d5ad627 Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/core/images/select-icons.png differ diff --git a/wp-content/themes/responsive-childtheme-master/functions.php b/wp-content/themes/responsive-childtheme-master/functions.php new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/responsive-childtheme-master/license.txt b/wp-content/themes/responsive-childtheme-master/license.txt new file mode 100644 index 0000000..20d40b6 --- /dev/null +++ b/wp-content/themes/responsive-childtheme-master/license.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU 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. But first, please read +. \ No newline at end of file diff --git a/wp-content/themes/responsive-childtheme-master/rtl.css b/wp-content/themes/responsive-childtheme-master/rtl.css new file mode 100644 index 0000000..e69de29 diff --git a/wp-content/themes/responsive-childtheme-master/screenshot.png b/wp-content/themes/responsive-childtheme-master/screenshot.png new file mode 100644 index 0000000..ca90c3a Binary files /dev/null and b/wp-content/themes/responsive-childtheme-master/screenshot.png differ diff --git a/wp-content/themes/responsive-childtheme-master/style.css b/wp-content/themes/responsive-childtheme-master/style.css new file mode 100644 index 0000000..4735740 --- /dev/null +++ b/wp-content/themes/responsive-childtheme-master/style.css @@ -0,0 +1,35 @@ +/* +Theme Name: Responsive Child Theme +Theme URI: http://cyberchimps.com/guide/child-theme-example/ +Description: Responsive Child Theme +Template: responsive +Version: 1.0.0 +Author: CyberChimps +Author URI: https://cyberchimps.com/ +License: GNU General Public License +License URI: license.txt + +*/ + +/* =Start From Here +-------------------------------------------------------------- */ + + + + + + + + + + + + + + + + + + + +/*The last 29 days of the month are the hardest."- Nikola Tesla*/ \ No newline at end of file diff --git a/wp-content/themes/responsive/404.php b/wp-content/themes/responsive/404.php new file mode 100644 index 0000000..d966d54 --- /dev/null +++ b/wp-content/themes/responsive/404.php @@ -0,0 +1,45 @@ + + + +
    + + +
    + + +
    + + + +
    + + + +
    + + + +
    + + diff --git a/wp-content/themes/responsive/archive.php b/wp-content/themes/responsive/archive.php new file mode 100644 index 0000000..b76f78a --- /dev/null +++ b/wp-content/themes/responsive/archive.php @@ -0,0 +1,71 @@ + + +
    + + + + + + + + +
    > + + + + +
    + + + 'alignleft' ) ); ?> + + + + '' ) ); ?> +
    + + + + + +
    + + + + +
    + + + diff --git a/wp-content/themes/responsive/blog-excerpt.php b/wp-content/themes/responsive/blog-excerpt.php new file mode 100644 index 0000000..0b0a6a8 --- /dev/null +++ b/wp-content/themes/responsive/blog-excerpt.php @@ -0,0 +1,99 @@ + + +
    + + + + 'post', 'paged' => $paged ) ); + $temp_query = $wp_query; + $wp_query = null; + $wp_query = $blog_query; + + if( $blog_query->have_posts() ) : + + while( $blog_query->have_posts() ) : $blog_query->the_post(); + ?> + + +
    > + + + + +
    + + + + + + + '' ) ); ?> +
    + + + + + +
    + + + max_num_pages > 1 ) : + ?> + + + +
    + + + diff --git a/wp-content/themes/responsive/blog.php b/wp-content/themes/responsive/blog.php new file mode 100644 index 0000000..f09dfef --- /dev/null +++ b/wp-content/themes/responsive/blog.php @@ -0,0 +1,102 @@ + + +
    + + + + 'post', 'paged' => $paged ) ); + $temp_query = $wp_query; + $wp_query = null; + $wp_query = $blog_query; + + if( $blog_query->have_posts() ) : + + while( $blog_query->have_posts() ) : $blog_query->the_post(); + ?> + + +
    > + + + + +
    + + + + + + + '' ) ); ?> +
    + + + + + +
    + + + max_num_pages > 1 ) : + ?> + + + +
    + + + diff --git a/wp-content/themes/responsive/changelog.txt b/wp-content/themes/responsive/changelog.txt new file mode 100644 index 0000000..8e001f3 --- /dev/null +++ b/wp-content/themes/responsive/changelog.txt @@ -0,0 +1,832 @@ +Changelog Legend: +---- + +[+] = Added +[*] = Changed +[^] = Moved +[=] = No Changes +[x] = Deleted +[!] = Bugs + +(02/13/14) - Improvements - Version 1.9.5.1 + +[!] Fixed widget bug + +(02/09/14) - Improvements - Version 1.9.5.0 + +[+] Added support for minified css version +[*] Restructured CSS files - moved styles to core/css/ +[*] Dispaly plugin install notification only on theme.php +[*] Customized theme activation notice +[^] Moved sidebar functions in functions-sidebar.php + +---- + +(02/02/14) - Improvements - Version 1.9.4.9 + +[+] Updated to new social icon function + +---- + +(01/28/14) - Improvements - Version 1.9.4.7-8 + +[*] Allow for gallery image size can be defined +[!] Fixed disabling breadcrumbs + +---- + +(01/19/14) - Improvements - Version 1.9.4.6 + +[*] Improved Responsive Breadcrumbs +[+] Added support for Breadcrumb NavXT, Breadcrum Trail and Yoast SEO +breadcrumbs. + +---- + +(01/12/14) - Improvements - Version 1.9.4.5 + +[*] Made Theme Options responsive +[*] Update coyright to 2014 +[x] Removed old code in header.php + +---- + +(01/07/14) - Improvements - Version 1.9.4.4 + +[+] Added improved support gallery images +[x] Removed old tags + +---- + +(12/22/13) - Improvements - Version 1.9.4.3 + +[+] Allow switching minified scripts with SCRIPT_DEBUG +[x] Removed code for Backward Compatibility of WP 3.4 +[*] Improved responsive_widget_menu_class as suggested by markoheijnen +[*] Allow Stylesheet version update automatically. +[!] Fix disabling breadcrumbs + +---- + +(12/15/13) - Improvements - Version 1.9.4.2 + +[+] Made search form accessible +[*] Updated screenshot to 880x660px +[*] Moved breadcrumb check from template to functions.php +[*] Updated responsive.pot +[*] Updated links from themeid.com to cyberchimps.com + +---- + +(12/08/13) - Improvements - Version 1.9.4.1 + +[+] Added `featured-content` id to front-page. +[*] Updated Welsh, Russian and Greek translations. +[!] Fixed the footer widget with adding fit class to third widget. +[x] Removed duplicated theme options titles. +[x] Removed old mobile menu css. + +---- + +(11/29/13) - Improvements - Version 1.9.4.0 + +[+] Added front page setting notification to reading settings. +[+] Added support for paragraphs for the front page areas. +[*] Update German Translation. +[!] Fix placeholder + IE8 + The Event Calendar issue. +[*] Improve mobile menu title. + +---- + +(10/28/13) - Improvements - Version 1.9.3.9 + +[+] Added footer widget area. +[+] Added Id's to home widgets. +[+] Added h3 tags to widgets. +[x] Removed 100% width from input form fields. +[*] Plugin notification is made to be displayed only to admin. +[*] Updated language files. +[!] Fixed if else structure. +[!] Fixed Image map area. +[*] Widgets - Added better descriptions. + +---- + +(10/04/13) - Improvements - Version 1.9.3.8 + +http://cyberchimps.com/guide/update-1-9-3-8/ + +[*] Spaces for indentation have been swapped out for tabs in the code. +[!] Fixed javascript bug that was preventing other javascripts from working correctly. + +---- + +(09/26/13) - Improvements - Version 1.9.3.7 + +http://cyberchimps.com/guide/update-1-9-3-7/ + +[*] Set up icon links with new responsive_child_uri() function. +[+] Added function responsive_free_get_option() to get value of individual free option. +[+] Added title to blog post page. +[x] Removed trailing blank spaces. +[+] Added editor option type for Content area and Featured content options. + +---- + +(08/21/13) - Improvements - Version 1.9.3.6 + +http://cyberchimps.com/guide/update-1-9-3-6/ + +[+] Themes page to appearance menu +[!] Fixed support and forum links. +[^] Moved plugin from theme to wordpress plugin repo. +[+] Added ability to add classes to options. +[*] Allowed call to action update without home content. + +---- + +(08/06/13) - Improvements - Version 1.9.3.5 + +http://cyberchimps.com/guide/update-1-9-3-5/ + +[+] Added rtl css support. +[+] Added cyberchimps logo to footer. +[+] Added option class to define theme options. +[+] Added support for companion plugin. +[*] Changed post title tag of blog post from h1 to h2. +[x] Removed google-site-verification etc as per WP rules. +[!] Fixed css loading sequence. +[!] Fixed customizer redirection issue. + +---- + +(07/22/13) - Improvements - Version 1.9.3.4 + +http://cyberchimps.com/guide/update-1-9-3-4/ + +[+] Allow pinch to zoom +[+] Close mobile menu by clicking anywhere on the page +[+] Add waring when reseting options to defaults +[+] Translation can be loaded from the the WordPress language folder or child theme +[*] Update Translations +[*] Allow pinch to zoom +[*] Improvments for loading of title for mobile menu +[*] Support for jQuery 1.9 +[!] RTL Sub-Header Menu fix +[!] Fix errors on image atachment page +[!] Fix breadcrumb errors + +---- + +(06/18/13) - Improvements - Version 1.9.3.3 + +http://themeid.com/docs/update-1-9-3-3/ + +[+] Upgrade bar +[+] Breadcrumb class to single breadcrumb +[+] Utility classes +[+] Created core folder +[*] Function exists responsive_wp_title +[*] Mobile menu set height removed for pages with longer title +[*] Link to http://www.quirksmode.org/blog/archives/2013/06/devicepixelrati.html +[^] Buttons and info box lower +[^] Parent style enqueue +[^] Media queries into the core +[x] Old menu styles +[x] ie7 compatibility text from style.css +[x] Print css h1 page breaks + +---- + +(05/07/13) - Improvements - Version 1.9.3.2 + +http://themeid.com/docs/update-1-9-3-2/ + +[!] Multiple fixes for the menu mobile menu +[!] Fix blog templates to change layout + +---- + +(04/24/13) - Improvements - Version 1.9.3.1 + +http://themeid.com/docs/update-1-9-3-1/ + +[!] Multiple fixes for the menu mobile menu +[!] Fix custom front page for Polylang +[!] Fix title when using All in One SEO plugin +[+] Add support for hatom-entry: entry title and updated +[x] Removed link from title in single posts + +---- + +(04/02/13) - Improvements - Version 1.9.3 +[*] Update pot +[!] Fix navigation on blog templates when set as front page + +---- + +(04/02/13) - Improvements - Version 1.9.2 +[*] Correct homelink in breadcrumbs +[*] Static page margin +[*] New way to set front page from theme options +[+] New mobile menu + +---- + +(03/24/2013) - Bug Fixes - Version 1.9.1 + +[!] Readded - Title Tag while AIOSEOP not activated. +[!] Fix hover effect on the parent item when dropdown is hovered on for IE +[!] Fix older posts link for blog templates +[!] Breadcrumbs on blog + +---- + +(03/19/2013) - Major Improvemnts - Version 1.9.0 + +[+] Layout templates for posts +[+] Default layout templates for Pages, Posts and blog page +[+] Added theme templates for code that is used in multiple files +[+] Added class for the title on the archiv page +[+] Add css for support for responsive html5 video +[+] Basic WPML and Polylang styling +[+] Hover effect on the parent item when dropdown is hovered on +[*] Basic support for WooCommerce 2.0 +[*] Updated breadcrumbs code +[*] Change the way setting the custom home page. Now conforms with WordPress default reading setting +[*] Improved theme options default settings +[*] Improve translations +[*] Language updates for: + - responsive.pot + - Slovak + - Japanese + - Slovenian + - German + - German Formal + - French + - Russian + - Catalan + - Dutch + - Danish + - Portuguese, Brazil + - Serbian +[!] Hide mobile menu on landing page template +[!] RTL menu fixs + +---- + +(02/04/2013) - Minor Bug Release - Version 1.8.9.2/3 + +[!] TinyNav [object] +[^] MS filter is back in. + +---- + +(02/03/2013) - Maintenance and Minor Bug Release - Version 1.8.9.1 + +[!] Title Tag while AIOSEOP not activated. +[!] SB Holder for landing page templates. + +---- + +(02/03/2013) - Maintenance and Minor Bug Release - Version 1.8.9 + +[x] IE filters for buttons. This also removes the conflict with + video plugins. (props Ulrich Pogson) + +[*] FitVids [object] removal. (props Ulrich Pogson) + @see: https://github.com/davatron5000/FitVids.js/pull/90 + +[+] Functions to check whether or not All in One SEO and WordPress + SEO are activated. In: /includes/functions.php and header.php + for WP SEO. If AIOSEOP, we will remove the Responsive's wp_title + filter. And use wp_title() only for WP SEO. Pretty nice stuff. + +[*] Theme Options info buttons. Changed "Donate Now" to more visible + blue color and removed Responsive classes. + +---- + +(01/27/2013) - Maintenance and Minor Bug Release - Version 1.8.8 + +[!] SelectBox for Android and iPhone +[*] SelectBox style.css improvements +[*] quirksmode.org link fix +[*] Support link for style.css +[x] Arabic language duplicates +[+] Hindi language + +---- + +(01/06/2013) - Improvements - Version 1.8.7 + +---- +Please see: http://themeid.com/forum/topic/4780/responsive-version-187/ +---- +[*] Copyright date change to 2013 +[+] New and improved Responsive menu style updates in: + - /js/responsive-scripts.js + - /js/responsive-plugins.js + - style.css + - rtl.css +[*] Language updates for: + - responsive.pot + - Italian + - Dutch + - Estonian +[+] SEO Improvements + - Highly recommended wp_title filter added in functions.php + -- http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title + -- http://yoast.com/wordpress-themes-page-title/ +[+] Unique function class for custom menus in widgets + +---- + +(12/23/2012) - Maintenance and Improvements - Version 1.8.6 +[+] Localization + - responsive.pot + - Languages improvements + - New Languages (40 total) + - Arabic + - Estonian + - Hindi + - Korean + - Turkish + +[+] If statement for breadcrumb lists and code formatting +[+] Breadcrumb lists to Blog and Blog Excerpt Template +[*] CSS Improvements +[*] Twitter Icon to comply with https://twitter.com/logo guidelines +[*] New screenshot.png for Retina displays + +---- + +(12/09/2012) - Maintenance and Improvements - Version 1.8.4.1 +[!] Sidebar Half Page - rtl.css + +---- + +(11/25/2012) - Maintenance and Improvements - Version 1.8.4 +[*] blog-excerpt.php Template now uses a default sidebar +[*] content-sidebar-page.php Template is now the only + Template where right sidebar is assigned to. +[*] IE9+ Conditionals +[x] IE6 Conditionals +[+] IE Conditionals to target non-ie browsers. +[+] FitVids support for YouTube's "privacy-enhanced" mode. +[+] Border Radius and improvements for Author's Box. +[!]
     code fix
    +
    +----
    +
    +(11/14/2012) - Maintenance and Improvements - Version 1.8.3
    +[*] TinyNav Update - https://github.com/viljamis/TinyNav.js
    +[*] CSS Fix for TinyNav on the landing page template
    +
    +----
    +
    +(11/07/2012) - Maintenance and Improvements - Version 1.8.2
    +[*] Localization Improvements
    +[*] TinyNav Update
    +[*] CSS Improvements
    +
    +(10/11/2012) - IE Fix - Version 1.8.0.1
    +[!] IE Current Page Item Fix
    +
    +----
    +
    +(10/09/2012) - Maintenance and Improvements - Version 1.8.0
    +[*] W3C Markup Validation
    +[!] Android Squares in Menus
    +[*] All New CSS Button Gradients
    +[*] New Default Logo
    +[*] New TinyNav Background
    +[*] New Screenshot
    +[*] CSS Improvements
    +
    +----
    +
    +(09/30/2012) - Quick Bug Fixes - Version 1.7.9.1
    +[!] Partial Localization
    +[!] Top Widget Form
    +[!] Error 404 Forms
    +[x] (temporary) Previously added 4 languages
    +	- Indonesian
    +	- Welsh
    +	- Turkish
    +	- Romanian	
    +----
    +
    +(09/27/2012) - Maintenance and Improvements - Version 1.7.9
    +[*] Localization and Languages
    +    - Global Localization Improvements
    +	- New responsive.pot re-generated
    +	- New Languages (32 total):
    +	- Indonesian
    +	- Welsh
    +	- Turkish
    +	- Romanian
    +[*] style.css
    +    - Pretty Indentation
    +	- Better Form Responsiveness
    +[!] style.css
    +    - 
    + - IE7 dropdown menu +[x] + - #widgets ID from top-widget not needed + - X-UA-Compatible from header.php not needed +[+] W3C Markup Validation +[+] RTL Support + +---- + + +(09/09/2012) - Maintenance and Improvements - Version 1.7.8 +[*] Language Revisions + - responsive.pot + - Japanese + - Finish + - Lithuanian +[*] Script Updates +[*] style.css + - IE image fixes + - pre code improvements + - general improvements and clean-ups +[x] no-title, substituted with dates only +[+] Retina (HiDPI) Display Support + - Media Queries +[+] TinyNav - page/post select box intends +[+] Top Widget + +---- + +(08/27/2012) - IE7 Bug Fix - Version 1.7.7 +[+] Theme Options, support links hook +[+] New Languages + - Czech + - Hungarian + - Greek +[*] responsive.pot +[*] tinynav.js jQuery 1.8.0 compatibility + +(08/21/2012) - IE7 Bug Fix - Version 1.7.6 +[!] widget clearfix + +---- + +(08/19/2012) - Maintenance and Improvements - Version 1.7.5 +[+] Shortcode support for home and featured areas +[+] Colophon widget (on-demand) +[x] style.css + - Table blocks for 480px + - Margins for old widgets +[*] style.css + - Description +[x] Old action hook +[*] Modernizr 2.6.1 (update) + + +(08/06/2012) - Improvements - Version 1.7.3/4 +[+] WooCommerce Compatible +[+] New Languages + - Japanese + - Chinese (Taiwan) +[*] responsive.pot +[*] style.css for WooCommerce Compatibility + +---- + +(07/19/2012) - Improvements - Version 1.7.2 +[+] Multilingual Ready (wmpl.org) +[+] style.css + - b,i,iframe,embed and object + +---- + +(07/09/2012) - Improvements and Maintenance - Version 1.7.0/1 +[+] New Languages + - Chinese + - Dutch + - Finish + - Icelandic +[*] responsive.pot +[+] class for all post titles +[+] post navigation links +[*] global CSS improvements +[+] Theme Options support links + +---- + +(07/02/2012) - Footer Bug Fix - Version 1.6.8/9 +[!] footer items did not align properly + while there was no menu or icons + +(07/01/2012) - Improvements, Maintenance - Version 1.6.8 +[+] New Languages + - Russian + - Lithuanian + - Danish + - Slovenian +[!] Yelp icon +[*] CSS page load improvements +[*] Icons optimizations +[+] FitVids support for HTTPS +[!] IE7 JS tinynav +[*] Dummy content revisions + +---- + +(06/24/2012) - Bug fix - Version 1.6.7 +[!] Unformatted form fields +[+] Polish Language + +---- + +(06/24/2012) - Improvements - Version 1.6.6 +[+] missing social icons added in previous version +[!] tinynav.js + +---- + +(06/23/2012) - Improvements - Version 1.6.3/4/5 +[+] Theme Options +[+] Serbian and Persian languages +[+] New media queries 240 and 320 +[x] JS Dev removal of duplicates +[+] Tinynav CSS +[+] Icons Yelp, Vimeo and foursquare +[*] FitVids support for Wistia +[!] Missing select image +[+] Placing back modernizer.js DEV + +---- + +(06/11/2012) +[*] Improvement in Theme Options +[*] Tinynav to show Home instead of Navigation + +---- + +(06/08/2012) - Maintenance - Version 1.6.0/1 +[!] /includes/version.php +[!] fallback_cb for all but main menu +[!] admin-head-callback < 3.4 +[*] code beautifying + +---- + +(06/07/2012) - Maintenance - Version 1.5.9 +[x] Theme Option redirect upon activation +[*] /includes/version.php 3.4 compatibility +[*] Theme Option name < 3.4 compatibility +[+] menu hover color +[+] antialiased CSS +[x] body background image CSS +[+] minimized responsive menu + +---- + +(06/03/2012) - Version 1.5.8 +[!] missing search query from search.php + +---- + +(06/02/2012) - Version 1.5.6/7 +[*] all* language updates +[+] new languages + - Croatian + - Serbian (Latin) +[+] featured image support for archive.php +[+] overflow auto for blockquote +[*] improved search.php + +---- + +(05/26/2012) - Version 1.5.4/5 +[+] new languages + - Bulgarian + - Norwegian +[*] all* language updates +[+] direct script access disallowed +[*] featured-image.png +[*] screenshot.png +[x] Google Font removed for non-English + language compatibility +[+] all* "Helvetica Neue", Helvetica, Arial, sans-serif; +[*] search.php text +[*] all* not found arrows +[x] breadcrumbs for search.php +[*] reduced font-size in theme-options.css +[*] more precise responsive grids +[*] style.css maintenance + +---- + +(05/17/2012) - Version 1.5.3 +[+] new languages + - Malay + - Catalan + - Spanish +[*] CSS tutorial link changed to + https://developer.mozilla.org/en/CSS + +---- + +(05/13/2012) - Quick Bug Fixes Version 1.5.2 +[*] comment counts in comments.php +[*] help-links in /includes/theme-options.php +[+] new .pot generated +[+] new languages + - Swedish +[*] CSS buttons + +---- + +(05/10/2012) - Bug Fixes/Maintenance Version 1.5.1 +[!] missing textdomain in + - comments.php + - home.php (CTA button) + - /includes/functions.php + - /includes/theme-options.php +[!] function prefix missmatch in + - /includes/functions.php +[+] new .pot generated +[*] new German language generated +[+] new languages + - Portuguese + - French + - Italian +[*] screenshot.png + +---- + +(05/01/2012) - Maintenance Version 1.5.0 +[+] missing textdomain for 'powered by' footer.php +[*] featured-image DIV end (comment only) home.php +[+] Instagram and Pinterest icons +[+] custom styles in Theme Options +[+] German translation +[*] theme-options.css + +---- + +(04/24/2012) - Bug Fixes/Maintenance Version 1.4.8/9 +[!] dropdown menu clear background +[!] no breadcrumb chevron on page levels +[+] Class for breadcrumb lists CSS +[+] form-allowed-tags element +[*] search.php post-meta rearrangement +[*] default logo +[*] featured image +[*] localization +[*] reset input class CSS + + +(04/21/2012) - Bug Fix +[!] Breadcrumb List chevron was not displaying + correctly on Windows based systems + +---- + +(04/18/2012) - Maintenance Version 1.4.5/6 +[!] social icons px fix +[+] WP 3.4 add_theme_support('custom-background') w/backward compatibilities +[+] WP 3.4 add_theme_support('custom-header') w/backward compatibilities +[+] new breadcrumb lists +[*] featured-image.png +[*] screenshot.png + +---- + +(04/14/2012) - Maintenance Version 1.4.4 +[!] blog.php and blog-excerpt.php while frontpage fix +[+] image dimensions for social icons +[-] image dimension for social icons CSS +[*] PHP sidebar-left headings +[x] unnecessary theme options functions.php +[x] sub-header-menu border-radius + +---- + +(04/05/2012) - Maintenance Version 1.4.2/3 +[x] widgets ul styles CSS +[*] widgets a padding CSS +[^] widgets ul styles to widget-wrapper and widget-wrapper-left +[!] widgets were breaking styles CSS/functions.php +[!] main menu current_page_item CSS +[*] margins for widget titles CSS +[!] featured-title line-height CSS +[*] featured-subtitle padding CSS +[+] clearfix to widget-wrapper +[+] footer a color CSS +[+] post-data a color CSS and font-weight +[+] comment-meta font-size CSS +[x] global links underline +[*] Theme description in style.css +[*] headimg background-repeat none /includes/functions.php +[*] read-more font-weight CSS +[+] widget-wrapper DIV to all default sidebars + +---- + +(04/01/2012) - Maintenance Version 1.4.0/1 +[x] ul children for better CSS efficiency +[x] ul widget a color +[x] form div margins +[+] ID/class for all widgetized areas +[*] author-meta margins +[*] WP-Core image alignments +[*] top-menu CSS +[*] featured div comments +[!] extra ; in .address CSS +[+] word-wrap to all p's and headings CSS +[x] paddings for global a's CSS +[+] margin-bottom for site-description CSS +[+] font-weight for site-name CSS +[x] header search-box CSS +[x] featured-button CSS +[*] jQuery version in theme-options.php +[x] border in pre CSS +[*] blockquote's CSS +[*] author-meta CSS + +---- + +(03/27/2012) - Maintenance Version 1.3.8 +[*] description typo in style.css +[+] link color in style.css for better visibility +[*] load_theme_textdomain in /includes/functions.php + +---- + +(03/22/2012) - Maintenance Version 1.3.6 +[x] #widgets #s padding in style.css +[+] bbPress breadcrumb compatibility patch by Dan Smith keystonedatabase.com +[+] localization support + +---- + +(03/21/2012) - Maintenance Version 1.3.4 +[!] #widgets p border bug +[x] #widgets p +[+] .textwidget for demo only +[x] .widget-title, .widget-title-home h3 height:23px +[!] Responsive videos + +---- + +(03/17/2012) - Maintenance Version 1.3.2 +[+] jquery.fitvids.js for responsive videos +[*] respond.js for responsive videos +[^] CSS featured to featured Content +[+] Additional JS authors added +[*] CSS featured-image +[*] comments_popup_link search.php +[*] CSS heading word-wrap:break-word +[*] CSS aligncenter margins +[*] sitemap.php +[+] CSS pre margin +[*] comments cite +[*] CSS forms +[*] posts_per_page=-1 sitemap.php + +---- + +(03/15/2012) - Version 1.3.1 +[+] CSS formatting +[x] the_excerpt + +---- + +(03/15/2012) - Version 1.3.0 +[!] Prefix inconstancy for comment reply function +[+] wp_enqueue_scripts instead of wp_print_scripts +[+] wp_enqueue_style for Google Fonts replaced with a static link +[+] translation function in: + - comments.php + - functions.php + - home.php + - sidebar-home.php + - sidebar-gallery.php + - single.php + - search.php +[+] wp_filter_post_kses changed to esc_url_raw in theme-options.php +[+] CTA references changed to Call to Action followed + by option renaming for the same in theme-option.php + and home.php +[+] class for home #widgets +[^] titles just after #widgets +[^] widget-title-home h3 in .widget-title +[x] widget-title-home h3 a +[*] read more +[x] gallery-meta +[+] CSS source formatting +[+] social-icons center align for responsive layout +[x] post thumbnail CSS +[+] See more to Read more in all files +[+] global $more; $more = 0; for pages with _excerpt + +---- + +(03/12/2012) +Initial Release \ No newline at end of file diff --git a/wp-content/themes/responsive/comments.php b/wp-content/themes/responsive/comments.php new file mode 100644 index 0000000..62e225d --- /dev/null +++ b/wp-content/themes/responsive/comments.php @@ -0,0 +1,96 @@ + + +

    + + + + +
    + ' . get_the_title() . '' ); + ?> +
    + + 1 && get_option( 'page_comments' ) ) : ?> + + + +
      + +
    + + 1 && get_option( 'page_comments' ) ) : ?> + + + + + + + + + +
    + +
      + ' ); ?> +
    + + + + + + + '

    ' . ' ' . ( $req ? '*' : '' ) . + '

    ', + 'email' => '', + 'url' => '

    ' . + '

    ', + ); + + $defaults = array( 'fields' => apply_filters( 'comment_form_default_fields', $fields ) ); + + comment_form( $defaults ); + ?> + + + diff --git a/wp-content/themes/responsive/content-sidebar-half-page.php b/wp-content/themes/responsive/content-sidebar-half-page.php new file mode 100644 index 0000000..e12297b --- /dev/null +++ b/wp-content/themes/responsive/content-sidebar-half-page.php @@ -0,0 +1,71 @@ + + +
    + + + + + + + + +
    > + + + + +
    + + '' ) ); ?> +
    + + + + + +
    + + + + + + + + +
    + + + diff --git a/wp-content/themes/responsive/content-sidebar-page.php b/wp-content/themes/responsive/content-sidebar-page.php new file mode 100644 index 0000000..5807ea9 --- /dev/null +++ b/wp-content/themes/responsive/content-sidebar-page.php @@ -0,0 +1,71 @@ + + +
    + + + + + + + + +
    > + + + + +
    + + '' ) ); ?> +
    + + + + + +
    + + + + + + + + +
    + + + diff --git a/wp-content/themes/responsive/core/Gruntfile.js b/wp-content/themes/responsive/core/Gruntfile.js new file mode 100644 index 0000000..00de4b6 --- /dev/null +++ b/wp-content/themes/responsive/core/Gruntfile.js @@ -0,0 +1,20 @@ +module.exports = function(grunt) { + + grunt.initConfig({ + cssmin: { + add_banner: { + options: { + //banner: '/* Theme Name: Responsive Author: CyberChimps.com Version: 1.9.4.9 Text Domain: responsive */' + }, + files: { + 'css/style.min.css': ['css/style.css', 'css/responsive.css'] + } + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-cssmin'); + + //grunt.registerTask('default', ['jshint', 'qunit', 'concat', 'uglify']); + +} diff --git a/wp-content/themes/responsive/core/README.md b/wp-content/themes/responsive/core/README.md new file mode 100644 index 0000000..d279699 --- /dev/null +++ b/wp-content/themes/responsive/core/README.md @@ -0,0 +1,4 @@ +responsivecore +============== + +Core files and functions for the responsive theme diff --git a/wp-content/themes/responsive/core/css/responsive.css b/wp-content/themes/responsive/core/css/responsive.css new file mode 100644 index 0000000..f4137bd --- /dev/null +++ b/wp-content/themes/responsive/core/css/responsive.css @@ -0,0 +1,397 @@ +/* =Responsive (Mobile) Design +-------------------------------------------------------------- */ + +@media screen and (max-width: 980px) { + + body { + } + + .grid, + .grid-right { + float: none; + } + + .copyright, + .scroll-top, + .powered { + float: left; + } + + #featured-image .fluid-width-video-wrapper { + margin: 20px 0 0 0; + } + + .front-page #widgets { + margin-top: 40px; + } + + .top-widget, + .front-page .top-widget { + margin-top: 0 !important; + } + + .hide-desktop { + display: block; + } + + .show-desktop { + display: none; + } + + .hide-980 { + display: none; + } + + .show-980 { + display: block; + } + +} + +@media screen and (max-width: 650px) { + + body { + } + + #logo { + float: none; + margin: 0; + text-align: center; + } + + .grid, + .grid-right { + float: none; + } + + #featured-image .fluid-width-video-wrapper { + margin: 20px 0 0 0; + } + + .top-widget { + float: none; + margin: 0 auto 10px auto; + position: relative; + text-align: center; + width: auto; + } + + .top-widget .widget-title h3 { + text-align: center; + } + + .js .sub-header-menu { + display: none; + } + + .js .main-nav { + position: relative; + background-color: #585858; + background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#3d3d3d)); + background-image: -webkit-linear-gradient(top, #585858, #3d3d3d); + background-image: -moz-linear-gradient(top, #585858, #3d3d3d); + background-image: -ms-linear-gradient(top, #585858, #3d3d3d); + background-image: -o-linear-gradient(top, #585858, #3d3d3d); + background-image: linear-gradient(top, #585858, #3d3d3d); + clear: both; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d); + margin: 0 auto; + } + + .js .main-nav .menu { + display: none; + position: absolute; + width: 100%; + top: 30px; + z-index: 1000; + } + + .js .main-nav .menu ul { + margin-top: 1px; + } + + .js .main-nav .menu li { + float: none; + background-color: #ffffff; + border: none; + } + + .js .main-nav .menu li a { + color: #444444; + font-size: 13px; + font-weight: normal; + height: 45px; + line-height: 45px; + padding: 0 15px; + border: none; + border-bottom: 1px solid #f5f5f5; + text-shadow: none; + text-align: left; + cursor: pointer; + } + + .js .main-nav .menu li.current_page_item, + .js .menu .current_page_item a, + .js .menu .current-menu-item a { + background-color: #f5f5f5; + } + + .js .main-nav .menu li li:hover { + background: none !important; + } + + .js .main-nav .menu li li a { + position: relative; + padding: 0 10px 0 30px; + } + + .js .main-nav .menu li li li a { + position: relative; + padding: 0 10px 0 40px; + } + + .js .main-nav .menu li a:hover, + .js .main-nav .menu li li a:hover { + background-image: none; + filter: none; + background-color: #f5f5f5 !important; + } + + .js .main-nav .menu li li a::before { + content: '\2013'; + position: absolute; + top: 0; + left: 20px; + } + + .js .main-nav .menu li li li a::before { + content: '\2013'; + position: absolute; + top: 0; + left: 20px; + } + + .js .main-nav .menu li li li a::after { + content: '\2013'; + position: absolute; + top: 0; + left: 30px; + } + + .js .main-nav .menu li ul { + position: static; + visibility: visible; + background-color: #ffffff; + } + + .js .main-nav .menu ul { + min-width: 0; + } + + .js .main-nav #responsive_current_menu_item { + display: block; + padding: 5px 40px 5px 10px; + color: #ffffff; + font-weight: 700; + cursor: pointer; + } + + .js .main-nav a#responsive_menu_button { + position: absolute; + display: block; + top: 0; + left: 100%; + height: 30px; + width: 23px; + margin-left: -30px; + background: url('../images/select-icons.png') 0 5px no-repeat; + cursor: pointer; + } + + .js .main-nav a#responsive_menu_button.responsive-toggle-open { + background: url('../images/select-icons.png') 0 -46px no-repeat; + } + + .top-menu, + .footer-menu li { + float: none; + font-size: 11px; + text-align: center; + } + + #author-meta { + padding: 20px; + } + + #wrapper .gallery .gallery-item { + max-width: 100%; + } + + .hide-650 { + display: none; + } + + .show-650 { + display: block; + } + + .hide-mobile { + display: none; + } + + #footer { + text-align: center; + } + + #footer .social-icons { + padding-bottom: 10px; + text-align: center; + } +} + +@media screen and (max-width: 480px) { + + body { + } + + #logo { + float: none; + text-align: center; + } + + .grid, + .grid-right { + float: none; + } + + #featured-image .fluid-width-video-wrapper { + margin: 20px 0 0 0; + } + + .featured-title { + font-size: 40px; + padding: 40px 20px 0 20px + } + + .featured-subtitle { + font-size: 24px; + } + + .navigation .next, + .navigation .previous { + display: block; + margin: 0 auto; + text-align: center; + } + + .menu ul, + .menu li, + .top-menu, + .footer-menu li, + .sub-header-menu li { + float: none; + text-align: center; + text-rendering: optimizeSpeed; + } + + #wrapper .gallery .gallery-item { + float: none; + } + + .hide-480 { + display: none; + } + + .show-480 { + display: block; + } + + #footer { + text-align: center; + } + + #footer .social-icons { + text-align: center; + } +} + +@media screen and (max-width: 320px) { + + body { + } + + #featured p { + font-size: 12px; + line-height: 1.5em; + } + + .featured-title { + font-size: 35px; + } + + .featured-subtitle { + font-size: 15px; + } + + .call-to-action a.button { + font-size: 14px; + padding: 7px 17px; + } + + .hide-320 { + display: none; + } + + .show-320 { + display: block; + } +} + +@media screen and (max-width: 240px) { + + body { + } + + #featured p { + font-size: 11px; + line-height: 1.5em; + } + + .featured-title { + font-size: 20px; + } + + .featured-subtitle { + font-size: 11px; + } + + .call-to-action a.button { + font-size: 12px; + padding: 5px 15px; + } + + .top-widget area, + .top-widget select, + .top-widget textarea, + .top-widget input[type="text"], + .top-widget input[type="password"], + .top-widget input[type="email"] { + width: 75%; + } + + .widget-title h3, + .widget-title-home h3 { + font-size: 14px; + height: 13px; + line-height: 13px; + text-align: left; + } + + .hide-240 { + display: none; + } + + .show-240 { + display: block; + } +} diff --git a/wp-content/themes/responsive/core/css/style.css b/wp-content/themes/responsive/core/css/style.css new file mode 100644 index 0000000..b6442ca --- /dev/null +++ b/wp-content/themes/responsive/core/css/style.css @@ -0,0 +1,2763 @@ +/* CSS Rules: Sorted alphabetically for better organization. */ + +/* =Reset CSS (v2.0) http://meyerweb.com/eric/tools/css/reset/ +-------------------------------------------------------------- */ +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { + border: 0; + font-size: 100%; + font: inherit; + margin: 0; + padding: 0; + vertical-align: baseline; +} + +/*HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { + display: block; +} + +body { + line-height: 1; +} + +ol, ul { + list-style: none; +} + +blockquote, q { + quotes: none; +} + +blockquote:before, blockquote:after, q:before, q:after { + content: ''; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +button, input, select, textarea { + font-size: 100%; + overflow: visible; + margin: 0; + vertical-align: baseline; + width: auto; +} + +textarea { + overflow: auto; + vertical-align: text-top; +} + +/* =Horizontal Rule +-------------------------------------------------------------- */ +hr { + background: #dddddd; + border: none; + clear: both; + color: #dddddd; + float: none; + height: 1px; + width: 100%; +} + +hr.space { + background: #ffffff; + color: #ffffff; +} + +/* =Base +-------------------------------------------------------------- */ +html { + height: 100%; +} + +body { + -moz-font-smoothing: antialiased; + -webkit-font-smoothing: antialiased; + background: #efefef; + color: #555555; + font-family: Arial, Helvetica, sans-serif; + font-size: 14px; + font-smoothing: antialiased; + line-height: 1.5em; + text-rendering: optimizeLegibility; +} + +/* =Typography +-------------------------------------------------------------- */ +p { + word-wrap: break-word; +} + +i, +em, +dfn, +cite { + font-style: italic; +} + +tt, +var, +pre, +kbd, +samp, +code { + font-family: monospace, serif; + font-style: normal; +} + +b, +strong { + font-weight: 700; +} + +pre { + -moz-box-sizing: border-box; + -moz-border-radius: 2px; + -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-border-radius: 2px; + -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + -webkit-box-sizing: border-box; + box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + box-sizing: border-box; + background: #f4f4f4; + border: 1px solid #aaaaaa; + border-bottom-color: #cccccc; + border-radius: 2px; + height: auto; + margin: 0; + outline: none; + padding: 6px 10px; + vertical-align: middle; + width: 100%; + word-wrap: break-word; + white-space: pre-wrap; +} + +del { + color: #555555; + text-decoration: line-through; +} + +ins, +dfn { + border-bottom: 1px solid #cccccc; +} + +sup, +sub, +small { + font-size: 85%; +} + +abbr, +acronym { + font-size: 85%; + letter-spacing: .1em; + text-transform: uppercase; +} + +a abbr, +a acronym { + border: none; +} + +dfn[title], +abbr[title], +acronym[title] { + border-bottom: 1px solid #cccccc; + cursor: help; +} + +sup { + vertical-align: super; +} + +sub { + vertical-align: sub; +} + +/* =Responsive 12 Column Grid + http://demos.cyberchimps.com/responsivepro/responsive-grid/ +-------------------------------------------------------------- */ +.grid { + float: left; + margin-bottom: 2.127659574468%; + padding-top: 0; +} + +.grid-right { + float: right; + margin-bottom: 2.127659574468%; + padding-top: 0; +} + +.col-60, +.col-140, +.col-220, +.col-300, +.col-380, +.col-460, +.col-540, +.col-620, +.col-700, +.col-780, +.col-860 { + display: inline; + margin-right: 2.127659574468%; +} + +.col-60 { + width: 6.382978723404%; +} + +.col-140 { + width: 14.893617021277%; +} + +.col-220 { + width: 23.404255319149%; +} + +.col-300 { + width: 31.914893617021%; +} + +.col-380 { + width: 40.425531914894%; +} + +.col-460 { + width: 48.936170212766%; +} + +.col-540 { + width: 57.446808510638%; +} + +.col-620 { + width: 65.957446808511%; +} + +.col-700 { + width: 74.468085106383%; +} + +.col-780 { + width: 82.978723404255%; +} + +.col-860 { + width: 91.489361702128%; +} + +.col-940 { + width: 100%; +} + +.fit { + margin-left: 0 !important; + margin-right: 0 !important; +} + +/* =Visibility +-------------------------------------------------------------- */ +.hidden { + visibility: hidden; +} + +.visible { + visibility: visible; +} + +.none { + display: none; +} + +.hide-desktop { + display: none; +} + +.show-desktop { + display: block; +} + +/* =Responsive Images +-------------------------------------------------------------- */ +img { + -ms-interpolation-mode: bicubic; + border: 0; + height: auto; + max-width: 100%; + vertical-align: middle; +} + +.ie8 img { + height: auto; + width: auto\9; +} + +.ie8 img.size-large { + max-width: 60%; + width: auto; +} + +/* =Responsive Videos +-------------------------------------------------------------- */ +video { + width: 100%; + max-width: 100%; + height: auto; +} + +/* =Responsive Embeds/Objects +-------------------------------------------------------------- */ +embed, +object { + max-width: 100%; +} + +svg:not(:root) { + overflow: hidden; +} + +/* =Links +-------------------------------------------------------------- */ +a { + color: #0066cc; + font-weight: 400; + text-decoration: none; +} + +a:hover, +a:focus, +a:active { + color: #444444; + outline: 0; + text-decoration: none; +} + +::selection { + background: #999999; + color: #ffffff; + text-shadow: none; +} + +/* =Forms +-------------------------------------------------------------- */ +label { + display: inline-block; + font-weight: 700; + padding: 2px 0; +} + +legend { + padding: 2px 5px; +} + +fieldset { + border: 1px solid #cccccc; + margin: 0 0 1.5em; + padding: 1em 2em; +} + +select, +input[type="text"], +input[type="password"], +input[type="email"] { + -moz-box-sizing: border-box; + -moz-border-radius: 2px; + -webkit-box-sizing: border-box; + -webkit-border-radius: 2px; + -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + background-color: #ffffff; + box-sizing: border-box; + border: 1px solid #aaaaaa; + border-bottom-color: #cccccc; + border-radius: 2px; + cursor: text; + margin: 0; + outline: none; + padding: 6px 8px; + vertical-align: middle; + max-width: 100%; +} + +select { + height: auto; + max-width: 100%; +} + +area, +textarea { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + -webkit-border-radius: 2px; + -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + background-color: #ffffff; + box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.2); + box-sizing: border-box; + border: 1px solid #aaaaaa; + border-bottom-color: #cccccc; + border-radius: 2px; + height: auto; + overflow: auto; + margin: 0; + outline: none; + padding: 8px 10px; + max-width: 100%; +} + +map area { + padding: 0px; + border: 0px; +} + +input, +select { + cursor: pointer; +} + +area:focus, +input:focus, +textarea:focus { + border: 1px solid #66ccff; +} + +input[type='text'], +input[type='password'] { + cursor: text; +} + +/* =IE Forms +-------------------------------------------------------------- */ +.ie7 area, +.ie7 select, +.ie7 textarea, +.ie7 input[type="text"], +.ie7 input[type="password"], +.ie7 input[type="email"] { + width: 96%; +} + +/* =IE6 Notice +-------------------------------------------------------------- */ +.msie-box { + background-color: #f9edbe; + border: 1px solid #f0c36d; + color: #212121; + display: block; + margin: 0 auto; + max-width: 960px; + padding: 10px; + position: absolute; + top: 60px; + text-align: center; + width: 100%; +} + +.msie-box a { + color: #212121; +} + +/* =Tables +-------------------------------------------------------------- */ +th, +td, +table { + border: 1px solid #dddddd; +} + +table { + border-collapse: collapse; + width: 100%; +} + +/* =Lists +-------------------------------------------------------------- */ +ul { + list-style-type: disc; + margin: 0; + padding: 0; +} + +ol { + line-height: 22px; + list-style-position: outside; + list-style-type: decimal; + margin: 0; + padding: 0; +} + +dt { + font-weight: 400; +} + +/* =Blockquote +-------------------------------------------------------------- */ +blockquote { + background: #f9f9f9; + border: none; + border-left: 4px solid #d6d6d6; + margin: 20px; + overflow: auto; + padding: 0 0 10px 12px; +} + +blockquote p { + font-family: 'Georgia', 'Times New Roman', Times, serif; + font-style: italic; + font-size: 18px; + line-height: 26px; +} + +/* =Headings +-------------------------------------------------------------- */ +h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + font-weight: 700; + line-height: 1.0em; + word-wrap: break-word; +} + +h1 { + font-size: 2.625em; /* = 42px */ + margin-bottom: .5em; + margin-top: .5em; +} + +h2 { + font-size: 2.250em; /* = 36px */ + margin-bottom: .75em; + margin-top: .75em; +} + +h3 { + font-size: 1.875em; /* = 30px */ + margin-bottom: .857em; + margin-top: .857em; +} + +h4 { + font-size: 1.500em; /* = 24px */ + margin-bottom: 1em; + margin-top: 1em; +} + +h5 { + font-size: 1.125em; /* = 18px */ + margin-bottom: 1.125em; + margin-top: 1.125em; +} + +h6 { + font-size: 1.000em; /* = 16px */ + margin-bottom: 1.285em; + margin-top: 1.285em; +} + +/* =Margins & Paddings +-------------------------------------------------------------- */ +p, +hr, +dl, +pre, +form, +table, +address, +blockquote { + margin: 1.6em 0; +} + +th, td { + padding: .8em; +} + +caption { + padding-bottom: .8em; +} + +blockquote { + padding: 0 1em; +} + +blockquote:first-child { + margin: .8em 0; +} + +fieldset { + margin: 1.6em 0; + padding: 0 1em 1em; +} + +legend { + padding-left: .8em; + padding-right: .8em; +} + +legend+* { + margin-top: 1em; +} + +input, +textarea { + padding: .3em .4em .15em; +} + +select { + padding: .1em .2em 0; +} + +option { + padding: 0 .4em; +} + +dt { + margin-bottom: .4em; + margin-top: .8em; +} + +ul { + list-style-type: disc; +} + +ol { + list-style-type: decimal; +} + +ul, +ol { + margin: 0 1.5em 1.5em 0; + padding-left: 2.0em; +} + +li ul, +li ol { + margin: 0; +} + +form div { + margin-bottom: .8em; +} + +/* =Globals +-------------------------------------------------------------- */ +#container { + margin: 0 auto; + max-width: 960px; + padding: 0px 25px; +} + +#wrapper { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + background-color: #ffffff; + border: 1px solid #e5e5e5; + border-radius: 4px; + clear: both; + margin: 20px auto 20px auto; + padding: 0 20px 20px 20px; + position: relative; +} + +.front-page #wrapper { + background-color: transparent; + border: none; + margin: 20px auto 20px auto; + padding: 0; +} + +#header { + margin: 0; +} + +#footer { + clear: both; + margin: 0 auto; + max-width: 960px; + padding: 0 25px 0 25px; +} + +#footer-wrapper { + margin: 0; + padding: 0; +} + +/* =Header +-------------------------------------------------------------- */ +#logo { + float: left; + margin: 0; +} + +.site-name { + display: block; + font-size: 2.063em; /* = 33px */ + line-height: 1.0em; + padding-top: 20px; +} + +.site-name a { + color: #333333; + font-weight: 700; +} + +.site-description { + color: #afafaf; + display: block; + font-size: 0.875em; /* = 14px */ + margin: 10px 0; +} + +/* =Content +-------------------------------------------------------------- */ +#content { + margin-top: 40px; + margin-bottom: 20px; +} + +#content-full { + margin-top: 40px; + margin-bottom: 20px; +} + +#content-blog { + margin-top: 40px; + margin-bottom: 20px; +} + +#content-images { + margin-bottom: 20px; +} + +#content-search { + margin-bottom: 20px; + margin-top: 20px; +} + +#content-archive { + margin-top: 40px; + margin-bottom: 20px; +} + +#content-sitemap { + margin-top: 40px; + margin-bottom: 20px; +} + +#content-sitemap a { + font-size: 12px; +} + +#content .sticky { + clear: both; +} + +#content .sticky p { +} + +/* =Templates (Landing Page) +-------------------------------------------------------------- */ +.page-template-landing-page-php .menu, +.page-template-landing-page-php .top-menu, +.page-template-landing-page-php .main-nav, +.page-template-landing-page-php .footer-menu, +.page-template-landing-page-php .sub-header-menu { + display: none; +} + +/* =Author Meta (Author's Box) +-------------------------------------------------------------- */ +#author-meta { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background: #f9f9f9; + border: 1px solid #d6d6d6; + border-radius: 4px; + clear: both; + display: block; + margin: 30px 0 40px 0; + padding: 10px; + overflow: hidden; +} + +#author-meta img { + float: left; + padding: 10px 15px 0 5px; +} + +#author-meta p { + margin: 0; + padding: 5px; +} + +#author-meta .about-author { + font-weight: 700; + margin: 10px 0 0 0; +} + +/* =Featured Content +-------------------------------------------------------------- */ +#featured { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-color: #ffffff; + border: 1px solid #e5e5e5; + border-radius: 4px; + padding-bottom: 40px; + width: 99.893617021277%; +} + +#featured p { + font-size: 18px; + font-weight: 200; + line-height: 27px; + padding: 0 40px 0 40px; + text-align: center; +} + +#featured-image { + margin: 40px 0 0 0; +} + +#featured-image .fluid-width-video-wrapper { + margin-left: -20px; +} + +.featured-image img { + margin-top: 44px; +} + +/* =Post +-------------------------------------------------------------- */ +.comments-link { + font-size: 12px; +} + +#cancel-comment-reply-link { + color: #990000; +} + +.post-data { + clear: both; + font-size: 12px; + font-weight: 700; + margin-top: 20px; +} + +.post-data a { + color: #111111; +} + +.post-entry { + clear: both; +} + +.post-meta { + clear: both; + color: #9f9f9f; + font-size: 12px; + margin-bottom: 10px; +} + +.post-edit { + clear: both; + display: block; + font-size: 12px; + margin: 1.5em 0; +} + +.post-search-terms { + clear: both; +} + +.read-more { + clear: both; + font-weight: 700; +} + +.attachment-entry { + clear: both; + text-align: center; +} + +/* =bbPress + bbPress has its own breadcrumb lists +-------------------------------------------------------------- */ +.bbPress .breadcrumb-list { + display: none; +} + +/* =Symbols +-------------------------------------------------------------- */ +.ellipsis { + color: #aaaaaa; + font-size: 18px; + margin-left: 5px; +} + +.form-allowed-tags { + display: none; + font-size: 10px; +} + +/* =Widgets +-------------------------------------------------------------- */ +.widget-wrapper { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + background-color: #f9f9f9; + border: 1px solid #e5e5e5; + border-radius: 4px; + margin: 0 0 20px; + padding: 20px; +} + +.widget-wrapper select, +.widget-wrapper input[type="text"], +.widget-wrapper input[type="password"], +.widget-wrapper input[type="email"] { + width: 75%; +} + +#widgets { + margin-top: 40px; +} + +#widgets a { + display: inline-block; + margin: 0; + padding: 0; + text-decoration: none; +} + +#widgets form { + margin: 0; +} + +#widgets ul, +#widgets ol { + padding: 0 0 0 20px; +} + +#widgets ul li a { + display: inline; + text-decoration: none; +} + +#widgets .widget-title img { + float: right; + height: 11px; + position: relative; + top: 4px; + width: 11px; +} + +#widgets .rss-date { + line-height: 18px; + padding: 6px 12px; +} + +#widgets .rssSummary { + padding: 10px; +} + +#widgets cite { + font-style: normal; + line-height: 18px; + padding: 6px 12px; +} + +#widgets .tagcloud, +#widgets .textwidget { + display: block; + line-height: 1.5em; + margin: 0; + word-wrap: break-word; +} + +#widgets .textwidget a { + display: inline; +} + +#widgets ul .children { + padding: 0 0 0 10px; +} + +#widgets .author { + font-weight: 700; + padding-top: 4px; +} + +.widget_archive select, #cat { + display: block; + margin: 0 15px 0 0; +} + +#colophon-widget ul { +} + +.colophon-widget { + background: none; + min-height: 0; +} + +.colophon-widget select, +.colophon-widget input[type="text"], +.colophon-widget input[type="password"], +.colophon-widget input[type="email"] { + width: 100%; +} + +#top-widget { +} + +.top-widget { + background: none; + border: none; + clear: right; + float: right; + min-height: 0; + padding: 0 3px 0 0; + text-align: right; + width: 45%; +} + +.top-widget ul { + padding: 0; +} + +.top-widget select, +.top-widget input[type="text"], +.top-widget input[type="password"], +.top-widget input[type="email"] { + width: auto; +} + +.top-widget #searchform { + margin: 0; +} + +/* =Titles +-------------------------------------------------------------- */ +.featured-title { + font-size: 60px; + letter-spacing: -1px; + margin: 0; + padding-top: 40px; + text-align: center; +} + +.featured-subtitle { + padding: 0 10px; + text-align: center; +} + +.widget-title h3, +.widget-title-home h3 { + display: block; + font-size: 24px; + font-weight: 700; + line-height: 23px; + margin: 0; + padding: 0 0 20px 0; + text-align: left; +} + +.top-widget .widget-title h3 { + font-size: 14px; + padding: 0; + text-align: right; +} + +.widget-title a { + border-bottom: none; + padding: 0 !important; +} + +.title-404 { + color: #993333; +} + +/* =404 Page +-------------------------------------------------------------- */ +.error404 select, +.error404 input[type="text"], +.error404 input[type="password"], +.error404 input[type="email"] { + width: auto; +} + +/* =Accessibility +-------------------------------------------------------------- */ +.screen-reader-text{ + position: absolute !important; + clip: rect(1px, 1px, 1px, 1px); +} + +/* =Top Menu +-------------------------------------------------------------- */ +.top-menu { + float: right; + margin: 10px 0; + padding: 0; +} + +.top-menu li { + display: inline; + list-style-type: none; +} + +.top-menu li a { + border-left: 1px solid #cccccc; + color: #333333; + font-size: 11px; + padding: 0 4px 0 8px; +} + +.top-menu > li:first-child > a { + border-left: none; +} + +.top-menu li a:hover { + color: #333333; +} + +/* =Header Menu (Primary) +-------------------------------------------------------------- */ +.menu { + background-color: #585858; + background-image: -webkit-gradient(linear, left top, left bottom, from(#585858), to(#3d3d3d)); + background-image: -webkit-linear-gradient(top, #585858, #3d3d3d); + background-image: -moz-linear-gradient(top, #585858, #3d3d3d); + background-image: -ms-linear-gradient(top, #585858, #3d3d3d); + background-image: -o-linear-gradient(top, #585858, #3d3d3d); + background-image: linear-gradient(top, #585858, #3d3d3d); + clear: both; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d); + margin: 0 auto; +} + +.main-nav { + clear: both; +} + +.menu, +.menu ul { + display: block; + list-style-type: none; + margin: 0; + padding: 0; +} + +.menu li { + border: 0; + display: block; + float: left; + margin: 0; + padding: 0; + position: relative; + z-index: 5; +} + +.menu li:hover { + white-space: normal; + z-index: 10000; +} + +.menu li li { + float: none; +} + +.menu ul { + left: 0; + position: absolute; + top: 0; + visibility: hidden; + z-index: 10; +} + +.menu li:hover > ul { + top: 100%; + visibility: visible; +} + +.menu li li:hover > ul { + left: 100%; + top: 0; +} + +.menu:after, +.menu ul:after { + clear: both; + content: '.'; + display: block; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.menu, +.menu ul { + min-height: 0; +} + +.menu ul, +.menu ul ul { + margin: 0; + padding: 0; +} + +.menu ul li a:hover, +.menu li li a:hover { + color: #484848; + text-decoration: none; +} + +.menu ul { + margin-top: 1px; + min-width: 15em; + width: auto; +} + +.menu a { + border-left: 1px solid #585858; + color: #ffffff; + cursor: pointer; + display: block; + font-size: 13px; + font-weight: 700; + height: 45px; + line-height: 45px; + margin: 0; + padding: 0 0.9em; + position: relative; + text-decoration: none; + text-shadow: 0 -1px 0 #000000; + white-space: nowrap; +} + +.menu a:hover { + background-color: #808080; + background-image: -webkit-gradient(linear, left top, left bottom, from(#808080), to(#363636)); + background-image: -webkit-linear-gradient(top, #808080, #363636); + background-image: -moz-linear-gradient(top, #808080, #363636); + background-image: -ms-linear-gradient(top, #808080, #363636); + background-image: -o-linear-gradient(top, #808080, #363636); + background-image: linear-gradient(top, #808080, #363636); + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#808080, endColorstr=#363636); +} + +ul.menu > li:hover { + background-color: #363636; + color: #ffffff; +} + +.menu .current_page_item a, +.menu .current-menu-item a { + background-color: #343434; +} + +.front-page .menu .current_page_item a { + background: none; + background-color: transparent; + background-image: none; + filter: none; +} + +.menu li li { + background: #ffffff; + background-image: none; + border: 1px solid #e5e5e5; + color: #444444; + filter: none; + margin: -1px 0 1px 0; + width: auto; +} + +.menu li li a { + background: transparent !important; + border: none; + color: #444444; + font-size: 12px; + font-weight: 400; + height: auto; + height: 20px; + line-height: 20px; + padding: 5px 10px; + text-shadow: none; + white-space: nowrap; +} + +.menu li li a:hover { + background: #f5f5f5 !important; + background-image: none; + border: none; + color: #444444; + filter: none; +} + +.menu li li:hover { + background: #f5f5f5 !important; + filter: none; +} + +.menu ul > li + li { + border-top: 0; +} + +.menu li li:hover > ul { + left: 100%; + top: 0; +} + +.menu > li:first-child > a { + border-left: none; +} + +.menu a#responsive_menu_button { + display: none; +} + +.main-nav #responsive_current_menu_item { + display: none; +} + +/*.js .main-nav .menu {*/ +/*display: block;*/ +/*}*/ + +/* =Primary Main Menu IE Fixes +-------------------------------------------------------------- */ +.ie7 .menu ul { + background: url(core/images/ie7-fix.gif) repeat; +} + +.ie7 .menu li li a { + min-width: 100%; +} + +/* =Sub-Header Menu +-------------------------------------------------------------- */ +.sub-header-menu { + background-color: #ffffff; + border: 1px solid #e5e5e5; + border-top: none; + clear: both; + margin: 0 auto; +} + +.sub-header-menu, +.sub-header-menu ul { + display: block; + list-style-type: none; + margin: 0; + padding: 0; +} + +.sub-header-menu li { + border: 0; + display: block; + float: left; + margin: 0; + padding: 0; + position: relative; + z-index: 5; +} + +.sub-header-menu li:hover { + white-space: normal; + z-index: 10000; +} + +.sub-header-menu li li { + float: none; +} + +.sub-header-menu ul { + left: 0; + position: absolute; + top: 0; + visibility: hidden; + z-index: 10; +} + +.sub-header-menu li:hover > ul { + top: 100%; + visibility: visible; +} + +.sub-header-menu li li:hover > ul { + left: 100%; + top: 0; +} + +.sub-header-menu:after, +.sub-header-menu ul:after { + clear: both; + content: '.'; + display: block; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.sub-header-menu, +.sub-header-menu ul { + min-height: 0; +} + +.sub-header-menu ul, +.sub-header-menu ul ul { + margin: 0; + padding: 0; +} + +.sub-header-menu ul li a:hover, +.sub-header-menu li li a:hover { + color: #484848; + text-decoration: none; +} + +.sub-header-menu ul { + margin-top: 1px; + min-width: 15em; + width: auto; +} + +.sub-header-menu a { + border-left: 1px solid #e5e5e5; + color: #333333; + cursor: pointer; + display: block; + font-size: 12px; + font-weight: 400; + height: 35px; + line-height: 35px; + margin: 0; + padding: 0 0.9em; + position: relative; + text-decoration: none; + text-shadow: none; +} + +.sub-header-menu a:hover { + -moz-background-clip: padding-box; + -webkit-background-clip: padding-box; + background-color: #f9f9f9; + background-clip: padding-box; +} + +.sub-header-menu .current_page_item a, +.sub-header-menu .current-menu-item a { + background-color: #f9f9f9; +} + +.sub-header-menu li li { + background: #ffffff; + background-image: none; + border: 1px solid #e5e5e5; + color: #444444; + filter: none; + margin: -1px 0 1px 0; + width: auto; +} + +.sub-header-menu li li a { + border: none; + color: #444444; + font-size: 12px; + font-weight: 400; + height: auto; + height: 20px; + line-height: 20px; + padding: 5px 10px; + text-shadow: none; +} + +.sub-header-menu li li a:hover { + background: #f9f9f9; + background-image: none; + border: none; + color: #444444; + filter: none; +} + +.sub-header-menu ul > li + li { + border-top: 0; +} + +.sub-header-menu li li:hover > ul { + left: 100%; + top: 0; +} + +.sub-header-menu > li:first-child > a { + border-left: none; +} + +.sub-header-menu ul.children a, +.sub-header-menu .current_page_ancestor, +.sub-header-menu .current_page_ancestor ul a { + background: none; + background-image: none; + filter: none; +} + +/* =Sub Header Menu IE Fixes +-------------------------------------------------------------- */ +.ie7 .sub-header-menu ul { + background: url(core/images/ie7-fix.gif) repeat; +} + +.ie7 .sub-header-menu li li a { + min-width: 100%; +} + +/* =Footer Menu +-------------------------------------------------------------- */ +.footer-menu { + margin-left: 0; + padding: 0; +} + +.footer-menu li { + display: inline; + list-style-type: none; +} + +.footer-menu li a { + border-left: 1px solid #cccccc; + color: #333333; + padding: 0 8px; +} + +.footer-menu li a:hover { + color: #222222; +} + +.footer-menu > li:first-child > a { + border-left: none; + padding: 0 8px 0 0; +} + +/* =Navigation +-------------------------------------------------------------- */ +.navigation { + color: #111111; + display: block; + font-size: 13px; + height: 28px; + line-height: 28px; + margin: 20px 0; + padding: 0 5px; +} + +.navigation a { + color: #aaaaaa; + padding: 4px 10px; +} + +.navigation a:hover { + color: #111111; + text-decoration: none; +} + +.navigation .previous { + float: left; +} + +.navigation .next { + float: right; +} + +.navigation .bracket { + font-size: 36px; +} + +/* =Pagination (pages) +-------------------------------------------------------------- */ +.pagination { + clear: both; + display: block; + font-size: 16px; + font-weight: 700; + margin: 10px 0; + padding: 5px 0; +} + +.pagination a { + text-decoration: none; +} + +/* =Breadcrumb Lists +-------------------------------------------------------------- */ +.breadcrumb-list { + font-size: 12px; +} + +/* =Comments +-------------------------------------------------------------- */ +#commentform { + margin: 0; +} + +.commentlist { + border-bottom: 1px solid #e5e5e5; + list-style: none; + margin: 0; + padding: 0; +} + +.commentlist ol { + list-style: decimal; +} + +.commentlist li { + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + background-color: #ffffff; + border-radius: 4px; + margin: 0; +} + +.commentlist .bypostauthor { +} + +.commentlist li cite { + color: #111111; + font-size: 1.1em; + font-style: normal; + font-weight: 400; +} + +.commentlist li.alt { + background: #f9f9f9; +} + +.commentlist .children { + list-style: none; + margin-left: 10px; + padding: 10px; +} + +.commentlist .avatar { + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + float: left; + margin-right: 10px; + padding: 0; + vertical-align: middle; +} + +.comment-author .fn { +} + +.comment-author .says { + color: #999999; +} + +.comment-body .comment-meta { + color: #999999; + display: inline-block; + margin: 0; + padding: 0; + text-align: left; +} + +.comment-body .comment-meta a { + font-size: 11px; +} + +.comment-body { + clear: both; + padding: 10px; +} + +.comment-body p { + clear: both; +} + +.comment-body .reply { +} + +.pingback, .trackback { + list-style: none; + margin: 20px 0; +} + +.pingback cite, +.trackback cite { + font-style: normal; +} + +#pings, +#comments { + text-align: left; +} + +#respond { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + background-color: #eaeaea; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eaeaea)); + background-image: -webkit-linear-gradient(top, #ffffff, #eaeaea); + background-image: -moz-linear-gradient(top, #ffffff, #eaeaea); + background-image: -ms-linear-gradient(top, #ffffff, #eaeaea); + background-image: -o-linear-gradient(top, #ffffff, #eaeaea); + background-image: linear-gradient(top, #ffffff, #eaeaea); + border: 1px solid #cccccc; + border-bottom-color: #aaaaaa; + border-radius: 4px; + clear: both; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#eaeaea); + margin-top: 15px; + padding: 10px 20px 50px; +} + +#respond label { + display: inline; +} + +.reply { + margin: 10px 0; +} + +.comment-form-url input, +.comment-form-email input, +.comment-form-author input, +.comment-form-comment textarea { + display: block; + width: 100%; +} + +.nocomments { + color: #999999; + font-size: .9em; + text-align: center; +} + +/* Gallery */ +.gallery br[style] { + clear: none!important; +} + +.gallery br:nth-last-child(1) { + clear: both!important; +} + +/* Normal */ +.gallery-columns-1 .gallery-item { + max-width: 600px; +} + +.gallery-columns-2 .gallery-item { + max-width: 300px; +} + +.gallery-columns-3 .gallery-item { + max-width: 200px; +} + +.gallery-columns-4 .gallery-item { + max-width: 150px; +} + +.gallery-columns-5 .gallery-item { + max-width: 120px; +} + +.gallery-columns-6 .gallery-item { + max-width: 100px; +} + +.gallery-columns-7 .gallery-item { + max-width: 85px; +} +.gallery-columns-8 .gallery-item { + max-width: 75px; +} + +.gallery-columns-9 .gallery-item { + max-width: 66px; +} + +/* Full Width */ +.page-template-full-width-page-php .gallery-columns-1 .gallery-item, +.page-template-landing-page.php .gallery-columns-1 .gallery-item { + max-width: 900px; +} + +.page-template-full-width-page-php .gallery-columns-2 .gallery-item, +.page-template-landing-page.php .gallery-columns-2 .gallery-item { + max-width: 450px; +} + +.page-template-full-width-page-php .gallery-columns-3 .gallery-item, +.page-template-landing-page.php .gallery-columns-3 .gallery-item { + max-width: 300px; +} + +.page-template-full-width-page-php .gallery-columns-4 .gallery-item, +.page-template-landing-page.php .gallery-columns-4 .gallery-item { + max-width: 225px; +} + +.page-template-full-width-page-php .gallery-columns-5 .gallery-item, +.page-template-landing-page.php .gallery-columns-5.gallery-item { + max-width: 180px; +} + +.page-template-full-width-page-php .gallery-columns-6 .gallery-item, +.page-template-landing-page.php .gallery-columns-6 .gallery-item { + max-width: 150px; +} + +.page-template-full-width-page-php .gallery-columns-7 .gallery-item, +.page-template-landing-page.php .gallery-columns-7 .gallery-item { + max-width: 125px; +} + +.page-template-full-width-page-php .gallery-columns-8 .gallery-item, +.page-template-landing-page.php .gallery-columns-8 .gallery-item { + max-width: 112.5px; +} + +.page-template-full-width-page-php .gallery-columns-9 .gallery-item, +.page-template-landing-page.php .gallery-columns-9 .gallery-item { + max-width: 100px; +} + +/* =WordPress Core +-------------------------------------------------------------- */ +.alignnone { + margin: 5px 20px 20px 0; +} + +.aligncenter, +div.aligncenter { + display: block; + margin: 5px auto 20px auto; +} + +.alignright { + float: right; + margin: 5px 0 20px 20px; +} + +.alignleft { + float: left; + margin: 5px 20px 20px 0; +} + +.aligncenter { + display: block; + margin: 5px auto; +} + +a img.alignright { + float: right; + margin: 5px 0 20px 20px; +} + +a img.alignnone { + margin: 5px 20px 20px 0; +} + +a img.alignleft { + float: left; + margin: 5px 20px 20px 0; +} + +a img.aligncenter { + display: block; + margin-left: auto; + margin-right: auto; +} + +.wp-caption { + background: #f9f9f9; + border: 1px solid #f0f0f0; + max-width: 96%; + padding: 13px 10px 10px 10px; + text-align: center; +} + +.wp-caption.alignnone { + margin: 5px 20px 20px 0; +} + +.wp-caption.alignleft { + margin: 5px 20px 20px 0; +} + +.wp-caption.alignright { + margin: 5px 0 20px 20px; +} + +.wp-caption img { + border: 0 none; + height: auto; + margin: 0; + max-width: 98.5%; + padding: 0; + width: auto; +} + +.wp-caption p.wp-caption-text { + font-size: 12px; + line-height: 1.5em; + margin: 0; + padding: 10px; +} + +img.wp-smiley { + vertical-align: middle; +} + +/* =WordPress Gallery +-------------------------------------------------------------- */ +.gallery { + margin: 0 auto 18px; +} + +.gallery .gallery-item { + float: left; + margin-top: 0; + text-align: center; + max-width: 155px; +} + +.gallery img { + border: 1px solid #dddddd; +} + +.gallery .gallery-caption { + font-size: 12px; + margin: 0 0 12px; +} + +.gallery dl { + margin: 0; +} + +.gallery br+br { + display: none; +} + +.attachment-gallery img { + background: #ffffff; + border: 1px solid #f0f0f0; + display: block; + height: auto; + margin: 15px auto; + max-width: 96%; + padding: 5px; + width: auto; +} + +.gallery-meta .iso, +.gallery-meta .camera, +.gallery-meta .shutter, +.gallery-meta .aperture, +.gallery-meta .full-size, +.gallery-meta .focal-length { + display: block; +} + +/* =Post Thumbnails +-------------------------------------------------------------- */ +img.wp-post-image, +img.attachment-full, +img.attachment-large, +img.attachment-medium, +img.attachment-thumbnail { + display: block; + margin: 15px auto; + width: auto; +} + +/* =Buttons +-------------------------------------------------------------- */ +a.button, +input[type='reset'], +input[type='button'], +input[type='submit'] { + -moz-border-radius: 2px; + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset; + -webkit-border-radius: 2px; + background-color: #f9f9f9; /* Alabaster */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1)); + background-image: -webkit-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: -ms-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: -o-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: linear-gradient(top, #f9f9f9, #f1f1f1); + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset; + border: 1px solid #dddddd; + border-radius: 2px; + color: #333333; + cursor: pointer; + display: inline-block; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1); + font-size: 14px; + font-weight: 700; + line-height: 20px; + margin: 0; + padding: 4px 10px; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; + vertical-align: middle; + white-space: nowrap; +} + +a.button:hover, +input[type='reset']:hover, +input[type='button']:hover, +input[type='submit']:hover { + -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset; + -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset; + background-color: #ffffff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#f1f1f1)); + background-image: -webkit-linear-gradient(top, #ffffff, #f1f1f1); + background-image: -moz-linear-gradient(top, #ffffff, #f1f1f1); + background-image: -ms-linear-gradient(top, #ffffff, #f1f1f1); + background-image: -o-linear-gradient(top, #ffffff, #f1f1f1); + background-image: linear-gradient(top, #ffffff, #f1f1f1); + border: 1px solid #dddddd; + box-shadow: 0 1px 0 rgba(255, 255, 255, 0.3) inset; + color: #333333; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#f1f1f1); +} + +a.button:active, +input[type='reset']:active, +input[type='button']:active, +input[type='submit']:active { + -moz-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1); + -webkit-box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1); + background-color: #f9f9f9; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f9f9f9), to(#f1f1f1)); + background-image: -webkit-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: -moz-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: -ms-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: -o-linear-gradient(top, #f9f9f9, #f1f1f1); + background-image: linear-gradient(top, #f9f9f9, #f1f1f1); + box-shadow: 0 1px 0 #ffffff, inset 0 1px 1px rgba(0, 0, 0, 0.1); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1); +} + +/* =Buttons (Call to Action) +-------------------------------------------------------------- */ +.call-to-action { + text-align: center; +} + +.call-to-action a.button { + font-size: 24px; + padding: 15px 35px; +} + +.call-to-action a.button:hover { + text-decoration: none; +} + +.ie7 .call-to-action a.button { + padding: 11px 35px 19px 35px; +} + +/* =Buttons (Sizes) +-------------------------------------------------------------- */ +.small a.button { + font-size: 10px; + padding: 3px 6px; +} + +.medium a.button { + font-size: 16px; + padding: 8px 16px; +} + +.large a.button { + font-size: 18px; + padding: 10px 35px; +} + +.xlarge a.button { + font-size: 24px; + padding: 12px 55px; +} + +/* =Buttons (Colors) +-------------------------------------------------------------- */ +a.blue { + background-color: #1874cd; /* Dodger Blue */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#4f9eea), to(#1874cd)); + background-image: -webkit-linear-gradient(top, #4f9eea, #1874cd); + background-image: -moz-linear-gradient(top, #4f9eea, #1874cd); + background-image: -ms-linear-gradient(top, #4f9eea, #1874cd); + background-image: -o-linear-gradient(top, #4f9eea, #1874cd); + background-image: linear-gradient(top, #4f9eea, #1874cd); + border: 1px solid #115290; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd); + text-shadow: 0 -1px 0 #115290; +} + +a.blue:hover { + background-color: #7db7f0; + background-image: -webkit-gradient(linear, left top, left bottom, from(#7db7f0), to(#1874cd)); + background-image: -webkit-linear-gradient(top, #7db7f0, #1874cd); + background-image: -moz-linear-gradient(top, #7db7f0, #1874cd); + background-image: -ms-linear-gradient(top, #7db7f0, #1874cd); + background-image: -o-linear-gradient(top, #7db7f0, #1874cd); + background-image: linear-gradient(top, #7db7f0, #1874cd); + border: 1px solid #115290; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7db7f0, endColorstr=#1874cd); + text-shadow: 0 -1px 0 #115290; +} + +a.red { + background-color: #cd0000; /* Red 4 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#ff2323), to(#cd0000)); + background-image: -webkit-linear-gradient(top, #ff2323, #cd0000); + background-image: -moz-linear-gradient(top, #ff2323, #cd0000); + background-image: -ms-linear-gradient(top, #ff2323, #cd0000); + background-image: -o-linear-gradient(top, #ff2323, #cd0000); + background-image: linear-gradient(top, #ff2323, #cd0000); + border: 1px solid #890000; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff2323, endColorstr=#cd0000); + text-shadow: 0 -1px 0 #890000; +} + +a.red:hover { + background-color: #ff5656; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ff5656), to(#cd0000)); + background-image: -webkit-linear-gradient(top, #ff5656, #cd0000); + background-image: -moz-linear-gradient(top, #ff5656, #cd0000); + background-image: -ms-linear-gradient(top, #ff5656, #cd0000); + background-image: -o-linear-gradient(top, #ff5656, #cd0000); + background-image: linear-gradient(top, #ff5656, #cd0000); + border: 1px solid #890000; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff5656, endColorstr=#cd0000); + text-shadow: 0 -1px 0 #890000; +} + +a.orange { + background-color: #ff7f00; /* Dark Orange 1 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffaa55), to(#ff7f00)); + background-image: -webkit-linear-gradient(top, #ffaa55, #ff7f00); + background-image: -moz-linear-gradient(top, #ffaa55, #ff7f00); + background-image: -ms-linear-gradient(top, #ffaa55, #ff7f00); + background-image: -o-linear-gradient(top, #ffaa55, #ff7f00); + background-image: linear-gradient(top, #ffaa55, #ff7f00); + border: 1px solid #bb5d00; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffaa55, endColorstr=#ff7f00); + text-shadow: 0 -1px 0 #bb5d00; +} + +a.orange:hover { + background-color: #ffc388; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffc388), to(#ff7f00)); + background-image: -webkit-linear-gradient(top, #ffc388, #ff7f00); + background-image: -moz-linear-gradient(top, #ffc388, #ff7f00); + background-image: -ms-linear-gradient(top, #ffc388, #ff7f00); + background-image: -o-linear-gradient(top, #ffc388, #ff7f00); + background-image: linear-gradient(top, #ffc388, #ff7f00); + border: 1px solid #bb5d00; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffc388, endColorstr=#ff7f00); + text-shadow: 0 -1px 0 #bb5d00; +} + +a.yellow { + background-color: #ecca06; /* Yellow Gold */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff2aa), to(#ffd700)); + background-image: -webkit-linear-gradient(top, #fff2aa, #ffd700); + background-image: -moz-linear-gradient(top, #fff2aa, #ffd700); + background-image: -ms-linear-gradient(top, #fff2aa, #ffd700); + background-image: -o-linear-gradient(top, #fff2aa, #ffd700); + background-image: linear-gradient(top, #fff2aa, #ffd700); + border: 1px solid #bb9e00; + color: #161300; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fff2aa, endColorstr=#ffd700); + text-shadow: 0 1px 0 #ffffff; +} + +a.yellow:hover { + background-color: #fffadd; + background-image: -webkit-gradient(linear, left top, left bottom, from(#fffadd), to(#ffd700)); + background-image: -webkit-linear-gradient(top, #fffadd, #ffd700); + background-image: -moz-linear-gradient(top, #fffadd, #ffd700); + background-image: -ms-linear-gradient(top, #fffadd, #ffd700); + background-image: -o-linear-gradient(top, #fffadd, #ffd700); + background-image: linear-gradient(top, #fffadd, #ffd700); + border: 1px solid #bb9e00; + color: #161300; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#fffadd, endColorstr=#ffd700); + text-shadow: 0 1px 0 #ffffff; +} + +a.green { + background-color: #2e8b57; /* Sea Green 4 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#4bc380), to(#2e8b57)); + background-image: -webkit-linear-gradient(top, #4bc380, #2e8b57); + background-image: -moz-linear-gradient(top, #4bc380, #2e8b57); + background-image: -ms-linear-gradient(top, #4bc380, #2e8b57); + background-image: -o-linear-gradient(top, #4bc380, #2e8b57); + background-image: linear-gradient(top, #4bc380, #2e8b57); + border: 1px solid #1d5837; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4bc380, endColorstr=#2e8b57); + text-shadow: 0 -1px 0 #1d5837; +} + +a.green:hover { + background-color: #71d09b; + background-image: -webkit-gradient(linear, left top, left bottom, from(#71d09b), to(#2e8b57)); + background-image: -webkit-linear-gradient(top, #71d09b, #2e8b57); + background-image: -moz-linear-gradient(top, #71d09b, #2e8b57); + background-image: -ms-linear-gradient(top, #71d09b, #2e8b57); + background-image: -o-linear-gradient(top, #71d09b, #2e8b57); + background-image: linear-gradient(top, #71d09b, #2e8b57); + border: 1px solid #1d5837; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#71d09b, endColorstr=#2e8b57); + text-shadow: 0 -1px 0 #1d5837; +} + +a.olive { + background-color: #838b83; /* Honey Dew 4 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#e0e000), to(#838b83)); + background-image: -webkit-linear-gradient(top, #afb4af, #838b83); + background-image: -moz-linear-gradient(top, #afb4af, #838b83); + background-image: -ms-linear-gradient(top, #afb4af, #838b83); + background-image: -o-linear-gradient(top, #afb4af, #838b83); + background-image: linear-gradient(top, #afb4af, #838b83); + border: 1px solid #626862; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#afb4af, endColorstr=#838b83); + text-shadow: 0 -1px 0 #626862; +} + +a.olive:hover { + background-color: #c9cdc9; + background-image: -webkit-gradient(linear, left top, left bottom, from(#c9cdc9), to(#838b83)); + background-image: -webkit-linear-gradient(top, #c9cdc9, #838b83); + background-image: -moz-linear-gradient(top, #c9cdc9, #838b83); + background-image: -ms-linear-gradient(top, #c9cdc9, #838b83); + background-image: -o-linear-gradient(top, #c9cdc9, #838b83); + background-image: linear-gradient(top, #c9cdc9, #838b83); + border: 1px solid #626862; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#c9cdc9, endColorstr=#838b83); + text-shadow: 0 -1px 0 #626862; +} + +a.purple { + background-color: #5d478b; /* Medium Purple 4 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#8771b6), to(#5d478b)); + background-image: -webkit-linear-gradient(top, #8771b6, #5d478b); + background-image: -moz-linear-gradient(top, #8771b6, #5d478b); + background-image: -ms-linear-gradient(top, #8771b6, #5d478b); + background-image: -o-linear-gradient(top, #8771b6, #5d478b); + background-image: linear-gradient(top, #8771b6, #5d478b); + border: 1px solid #3f305e; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#8771b6, endColorstr=#5d478b); + text-shadow: 0 -1px 0 #3f305e; +} + +a.purple:hover { + background-color: #a492c8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#a492c8), to(#5d478b)); + background-image: -webkit-linear-gradient(top, #a492c8, #5d478b); + background-image: -moz-linear-gradient(top, #a492c8, #5d478b); + background-image: -ms-linear-gradient(top, #a492c8, #5d478b); + background-image: -o-linear-gradient(top, #a492c8, #5d478b); + background-image: linear-gradient(top, #a492c8, #5d478b); + border: 1px solid #3f305e; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#a492c8, endColorstr=#5d478b); + text-shadow: 0 -1px 0 #3f305e; +} + +a.pink { + background-color: #cd1076; /* Deep Pink 3 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#f042a0), to(#cd1076)); + background-image: -webkit-linear-gradient(top, #f042a0, #cd1076); + background-image: -moz-linear-gradient(top, #f042a0, #cd1076); + background-image: -ms-linear-gradient(top, #f042a0, #cd1076); + background-image: -o-linear-gradient(top, #f042a0, #cd1076); + background-image: linear-gradient(top, #f042a0, #cd1076); + border: 1px solid #8e0b52; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f042a0, endColorstr=#cd1076); + text-shadow: 0 -1px 0 #8e0b52; +} + +a.pink:hover { + background-color: #f471b8; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f471b8), to(#cd1076)); + background-image: -webkit-linear-gradient(top, #f471b8, #cd1076); + background-image: -moz-linear-gradient(top, #f471b8, #cd1076); + background-image: -ms-linear-gradient(top, #f471b8, #cd1076); + background-image: -o-linear-gradient(top, #f471b8, #cd1076); + background-image: linear-gradient(top, #f471b8, #cd1076); + border: 1px solid #8e0b52; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f471b8, endColorstr=#cd1076); + text-shadow: 0 -1px 0 #8e0b52; +} + +a.brick { + background-color: #b22222; /* Fire Brick */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4c4c), to(#b22222)); + background-image: -webkit-linear-gradient(top, #dd4c4c, #b22222); + background-image: -moz-linear-gradient(top, #dd4c4c, #b22222); + background-image: -ms-linear-gradient(top, #dd4c4c, #b22222); + background-image: -o-linear-gradient(top, #dd4c4c, #b22222); + background-image: linear-gradient(top, #dd4c4c, #b22222); + border: 1px solid #791717; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#dd4c4c, endColorstr=#b22222); + text-shadow: 0 -1px 0 #791717; +} + +a.brick:hover { + background-color: #e57777; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e57777), to(#b22222)); + background-image: -webkit-linear-gradient(top, #e57777, #b22222); + background-image: -moz-linear-gradient(top, #e57777, #b22222); + background-image: -ms-linear-gradient(top, #e57777, #b22222); + background-image: -o-linear-gradient(top, #e57777, #b22222); + background-image: linear-gradient(top, #e57777, #b22222); + border: 1px solid #791717; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#e57777, endColorstr=#b22222); + text-shadow: 0 -1px 0 #791717; +} + +a.gold { + background-color: #8b6508; /* Dark Golden Rod 4 */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#db9f0d), to(#8b6508)); + background-image: -webkit-linear-gradient(top, #db9f0d, #8b6508); + background-image: -moz-linear-gradient(top, #db9f0d, #8b6508); + background-image: -ms-linear-gradient(top, #db9f0d, #8b6508); + background-image: -o-linear-gradient(top, #db9f0d, #8b6508); + background-image: linear-gradient(top, #db9f0d, #8b6508); + border: 1px solid #6b4e06; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#db9f0d, endColorstr=#8b6508); + text-shadow: 0 -1px 0 #6b4e06; +} + +a.gold:hover { + background-color: #f3b828; + background-image: -webkit-gradient(linear, left top, left bottom, from(#f3b828), to(#8b6508)); + background-image: -webkit-linear-gradient(top, #f3b828, #8b6508); + background-image: -moz-linear-gradient(top, #f3b828, #8b6508); + background-image: -ms-linear-gradient(top, #f3b828, #8b6508); + background-image: -o-linear-gradient(top, #f3b828, #8b6508); + background-image: linear-gradient(top, #f3b828, #8b6508); + border: 1px solid #6b4e06; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#f3b828, endColorstr=#8b6508); + text-shadow: 0 -1px 0 #6b4e06; +} + +a.brown { + background-color: #8b4513; /* Saddle Brown */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#d66a1d), to(#8b4513)); + background-image: -webkit-linear-gradient(top, #d66a1d, #8b4513); + background-image: -moz-linear-gradient(top, #d66a1d, #8b4513); + background-image: -ms-linear-gradient(top, #d66a1d, #8b4513); + background-image: -o-linear-gradient(top, #d66a1d, #8b4513); + background-image: linear-gradient(top, #d66a1d, #8b4513); + border: 1px solid #4f270b; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d66a1d, endColorstr=#8b4513); + text-shadow: 0 -1px 0 #4f270b; +} + +a.brown:hover { + background-color: #8b4513; + background-image: -webkit-gradient(linear, left top, left bottom, from(#e58541), to(#8b4513)); + background-image: -webkit-linear-gradient(top, #e58541, #8b4513); + background-image: -moz-linear-gradient(top, #e58541, #8b4513); + background-image: -ms-linear-gradient(top, #e58541, #8b4513); + background-image: -o-linear-gradient(top, #e58541, #8b4513); + background-image: linear-gradient(top, #e58541, #8b4513); + border: 1px solid #4f270b; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#e58541, endColorstr=#8b4513); + text-shadow: 0 -1px 0 #4f270b; +} + +a.silver { + background-color: #c0c0c0; /* Silver */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#eaeaea), to(#c0c0c0)); + background-image: -webkit-linear-gradient(top, #eaeaea, #c0c0c0); + background-image: -moz-linear-gradient(top, #eaeaea, #c0c0c0); + background-image: -ms-linear-gradient(top, #eaeaea, #c0c0c0); + background-image: -o-linear-gradient(top, #eaeaea, #c0c0c0); + background-image: linear-gradient(top, #eaeaea, #c0c0c0); + border: 1px solid #9e9e9e; + color: #444444; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#eaeaea, endColorstr=#c0c0c0); + text-shadow: 0 1px 0 #ffffff; +} + +a.silver:hover { + background-color: #ffffff; + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#c0c0c0)); + background-image: -webkit-linear-gradient(top, #ffffff, #c0c0c0); + background-image: -moz-linear-gradient(top, #ffffff, #c0c0c0); + background-image: -ms-linear-gradient(top, #ffffff, #c0c0c0); + background-image: -o-linear-gradient(top, #ffffff, #c0c0c0); + background-image: linear-gradient(top, #ffffff, #c0c0c0); + border: 1px solid #9e9e9e; + color: #444444; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#c0c0c0); + text-shadow: 0 1px 0 #ffffff; +} + +a.gray { + background-color: #696969; /* Dim Gray */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#939393), to(#696969)); + background-image: -webkit-linear-gradient(top, #939393, #696969); + background-image: -moz-linear-gradient(top, #939393, #696969); + background-image: -ms-linear-gradient(top, #939393, #696969); + background-image: -o-linear-gradient(top, #939393, #696969); + background-image: linear-gradient(top, #939393, #696969); + border: 1px solid #474747; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#939393, endColorstr=#696969); + text-shadow: 0 -1px 0 #474747; +} + +a.gray:hover { + background-color: #adadad; + background-image: -webkit-gradient(linear, left top, left bottom, from(#adadad), to(#696969)); + background-image: -webkit-linear-gradient(top, #adadad, #696969); + background-image: -moz-linear-gradient(top, #adadad, #696969); + background-image: -ms-linear-gradient(top, #adadad, #696969); + background-image: -o-linear-gradient(top, #adadad, #696969); + background-image: linear-gradient(top, #adadad, #696969); + border: 1px solid #474747; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#adadad, endColorstr=#696969); + text-shadow: 0 -1px 0 #474747; +} + +a.black { + background-color: #080808; /* Black */ + background-image: -webkit-gradient(linear, left top, left bottom, from(#323232), to(#080808)); + background-image: -webkit-linear-gradient(top, #323232, #080808); + background-image: -moz-linear-gradient(top, #323232, #080808); + background-image: -ms-linear-gradient(top, #323232, #080808); + background-image: -o-linear-gradient(top, #323232, #080808); + background-image: linear-gradient(top, #323232, #080808); + border: 1px solid #000000; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#323232, endColorstr=#080808); + text-shadow: 0 -1px 0 #000000; +} + +a.black:hover { + background-color: #4c4c4c; + background-image: -webkit-gradient(linear, left top, left bottom, from(#4c4c4c), to(#080808)); + background-image: -webkit-linear-gradient(top, #4c4c4c, #080808); + background-image: -moz-linear-gradient(top, #4c4c4c, #080808); + background-image: -ms-linear-gradient(top, #4c4c4c, #080808); + background-image: -o-linear-gradient(top, #4c4c4c, #080808); + background-image: linear-gradient(top, #4c4c4c, #080808); + border: 1px solid #000000; + color: #ffffff; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c, endColorstr=#080808); + text-shadow: 0 -1px 0 #000000; +} + +/* =Info Boxes +-------------------------------------------------------------- */ +.info-box { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + display: block; + margin: 20px 0; + padding: 15px; + text-align: left; +} + +.alert { + background-color: #faebeb; + border: 1px solid #dc7070; + color: #212121; +} + +.address { + background-color: #f6f5ef; + border: 1px solid #cdc9a5; + color: #212121; +} + +.notice { + background-color: #fbf9e9; + border: 1px solid #e3cf57; + color: #212121; +} + +.success { + background-color: #f9fde8; + border: 1px solid #a2bc13; + color: #212121; +} + +.download { + background-color: #fff4e5; + border: 1px solid #ff9912; + color: #212121; +} + +.information { + background-color: #eef3f6; + border: 1px solid #6ca6cd; + color: #212121; +} + +.required { + color: #d5243f; +} + +/* =WooCommerce +-------------------------------------------------------------- */ +#breadcrumb { + padding: 40px 0 0 0; +} + +#breadcrumb a { + color: #0066cc; + font-size: 12px; + font-weight: 400; +} + +#breadcrumb a:hover { + color: #444444; + text-decoration: none; +} + +#content-woocommerce { + margin-top: 40px; + margin-bottom: 20px; +} + +.products ul, ul.products { + margin-top: 40px; +} + +.cart-collaterals .shipping_calculator { + width: 100%; +} + +table.shop_table { +} + +table.cart td.actions .coupon .input-text, +table.cart td.actions .coupon .input-text { + cursor: text; +} + +/* =WPML +-------------------------------------------------------------- */ +.icl_languages_selector { + float: right; + text-align: left +} + +.rtl .icl_languages_selector { + float: left; + text-align: right +} + +@media screen and (max-width: 650px) { + .icl_languages_selector, + .rtl .icl_languages_selector { + float: none; + } +} + +/* =Polylang +-------------------------------------------------------------- */ +.widget_polylang li { + display: inline; + list-style-type: none; +} + +/* =Footer +-------------------------------------------------------------- */ +#footer { + font-size: 11px; + line-height: 1.5em; +} + +#footer a { + color: #333333; + font-weight: 400; +} + +#footer a:hover { + color: #444444; +} + +#footer-wrapper .grid.col-940 { + margin: 0; +} + +.scroll-top { + text-align: center; +} + +.copyright { + text-align: left; +} + +.powered { + text-align: right; +} + +#footer_widget .col-300:nth-child(3n+3) { + margin-right: 0; +} + +/* =Social Icons +-------------------------------------------------------------- */ +#footer .social-icons { + list-style: none; + line-height: normal; + padding: 0; + margin: 0; + text-align: right; +} + +#footer .rss-icon, +#footer .yelp-icon, +#footer .vimeo-icon, +#footer .youtube-icon, +#footer .twitter-icon, +#footer .facebook-icon, +#footer .linkedin-icon, +#footer .rss-feed-icon, +#footer .instagram-icon, +#footer .pinterest-icon, +#footer .foursquare-icon, +#footer .googleplus-icon, +#footer .google-plus-icon, +#footer .stumbleupon-icon, +#footer .stumble-upon-icon { + display: inline; + margin: 1px; + padding-left: 3px; +} + +/* =Alignments Extras +-------------------------------------------------------------- */ +.left { + float: left; +} + +.right { + float: right; +} + +.center { + text-align: center; +} + +/* =Clearfix +-------------------------------------------------------------- */ +.clearfix:after, +.clearfix:before, +#container:after, +#container:before, +.widget-wrapper:after, +.widget-wrapper:before { + content: ' '; + display: table; +} + +.clearfix:after, +#container:after, +.widget-wrapper:after { + clear: both; +} + +.ie7 .clearfix, +.ie7 #container, +.ie7 .widget-wrapper { + zoom: 1; +} + +.clear { + clear: both; +} + +/* =Begin bidirectionality settings (do not change) +-------------------------------------------------------------- */ +BDO[DIR="ltr"] { + direction: ltr; + unicode-bidi: bidi-override; +} + +BDO[DIR="rtl"] { + direction: rtl; + unicode-bidi: bidi-override; +} + +[DIR="ltr"] { + direction: ltr; + unicode-bidi: embed; +} + +[DIR="rtl"] { + direction: rtl; + unicode-bidi: embed; +} + +/* =Media Print + If you're working on a Child Theme, make sure that all + media queries are included in your style.css +-------------------------------------------------------------- */ +@media print { + + h1, h2, h3, h4, h5, h6 { + page-break-after: avoid; + } + + ul, ol, dl { + page-break-before: avoid; + } +} + +/* Retina (HiDPI) Display + http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html +-------------------------------------------------------------- */ +@media only screen and (-moz-min-device-pixel-ratio:1.5), only screen and (-o-min-device-pixel-ratio:3/2), only screen and (-webkit-min-device-pixel-ratio:1.5), only screen and (min-device-pixel-ratio:1.5) { + + body { + } +} + +/*The last 29 days of the month are the hardest."- Nikola Tesla*/ diff --git a/wp-content/themes/responsive/core/css/style.min.css b/wp-content/themes/responsive/core/css/style.min.css new file mode 100644 index 0000000..ebcea3a --- /dev/null +++ b/wp-content/themes/responsive/core/css/style.min.css @@ -0,0 +1 @@ +a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font:inherit;margin:0;padding:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-spacing:0}button,input,select,textarea{font-size:100%;overflow:visible;margin:0;vertical-align:baseline;width:auto}textarea{vertical-align:text-top}hr{background:#ddd;border:0;clear:both;color:#ddd;float:none;height:1px;width:100%}hr.space{background:#fff;color:#fff}html{height:100%}body{-moz-font-smoothing:antialiased;-webkit-font-smoothing:antialiased;background:#efefef;color:#555;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-smoothing:antialiased;line-height:1.5em;text-rendering:optimizeLegibility}p{word-wrap:break-word}cite,dfn,em,i{font-style:italic}code,kbd,pre,samp,tt,var{font-family:monospace,serif;font-style:normal}b,strong{font-weight:700}pre{-moz-box-sizing:border-box;-moz-border-radius:2px;-moz-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);-webkit-border-radius:2px;-webkit-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);-webkit-box-sizing:border-box;box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);box-sizing:border-box;background:#f4f4f4;border:1px solid #aaa;border-bottom-color:#ccc;border-radius:2px;height:auto;outline:0;padding:6px 10px;vertical-align:middle;width:100%;word-wrap:break-word;white-space:pre-wrap}del{color:#555;text-decoration:line-through}dfn,ins{border-bottom:1px solid #ccc}small,sub,sup{font-size:85%}abbr,acronym{font-size:85%;letter-spacing:.1em;text-transform:uppercase}a abbr,a acronym{border:0}abbr[title],acronym[title],dfn[title]{border-bottom:1px solid #ccc;cursor:help}sup{vertical-align:super}sub{vertical-align:sub}.grid{float:left;margin-bottom:2.127659574468%;padding-top:0}.grid-right{float:right;margin-bottom:2.127659574468%;padding-top:0}.col-140,.col-220,.col-300,.col-380,.col-460,.col-540,.col-60,.col-620,.col-700,.col-780,.col-860{display:inline;margin-right:2.127659574468%}.col-60{width:6.382978723404%}.col-140{width:14.893617021277%}.col-220{width:23.404255319149%}.col-300{width:31.914893617021%}.col-380{width:40.425531914894%}.col-460{width:48.936170212766%}.col-540{width:57.446808510638%}.col-620{width:65.957446808511%}.col-700{width:74.468085106383%}.col-780{width:82.978723404255%}.col-860{width:91.489361702128%}.col-940{width:100%}.fit{margin-left:0!important;margin-right:0!important}.hidden{visibility:hidden}.visible{visibility:visible}.hide-desktop,.none{display:none}.show-desktop{display:block}img{-ms-interpolation-mode:bicubic;border:0;height:auto;max-width:100%;vertical-align:middle}.ie8 img{height:auto;width:auto\9}.ie8 img.size-large{max-width:60%;width:auto}video{width:100%;max-width:100%;height:auto}embed,object{max-width:100%}svg:not(:root){overflow:hidden}a{color:#06c;font-weight:400;text-decoration:none}a:active,a:focus,a:hover{color:#444;outline:0;text-decoration:none}::selection{background:#999;color:#fff;text-shadow:none}label{display:inline-block;font-weight:700;padding:2px 0}legend{padding:2px 5px}fieldset{border:1px solid #ccc}input[type=email],input[type=password],input[type=text],select{-moz-box-sizing:border-box;-moz-border-radius:2px;-webkit-box-sizing:border-box;-webkit-border-radius:2px;-webkit-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);background-color:#fff;box-sizing:border-box;border:1px solid #aaa;border-bottom-color:#ccc;border-radius:2px;cursor:text;margin:0;outline:0;padding:6px 8px;vertical-align:middle;max-width:100%}select{height:auto;max-width:100%}area,textarea{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;-webkit-border-radius:2px;-webkit-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);background-color:#fff;box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.2);box-sizing:border-box;border:1px solid #aaa;border-bottom-color:#ccc;border-radius:2px;height:auto;overflow:auto;margin:0;outline:0;padding:8px 10px;max-width:100%}map area{padding:0;border:0}input,select{cursor:pointer}area:focus,input:focus,textarea:focus{border:1px solid #6cf}input[type=password],input[type=text]{cursor:text}.ie7 area,.ie7 input[type=email],.ie7 input[type=password],.ie7 input[type=text],.ie7 select,.ie7 textarea{width:96%}.msie-box{background-color:#f9edbe;border:1px solid #f0c36d;color:#212121;display:block;margin:0 auto;max-width:960px;padding:10px;position:absolute;top:60px;text-align:center;width:100%}.msie-box a{color:#212121}table,td,th{border:1px solid #ddd}table{border-collapse:collapse;width:100%}ul{padding:0}ol{line-height:22px;list-style-position:outside;padding:0}dt{font-weight:400}blockquote{background:#f9f9f9;border:0;border-left:4px solid #d6d6d6;overflow:auto}blockquote p{font-family:Georgia,'Times New Roman',Times,serif;font-style:italic;font-size:18px;line-height:26px}h1,h1 a,h2,h2 a,h3,h3 a,h4,h4 a,h5,h5 a,h6,h6 a{font-weight:700;line-height:1em;word-wrap:break-word}h1{font-size:2.625em;margin-bottom:.5em;margin-top:.5em}h2{font-size:2.25em;margin-bottom:.75em;margin-top:.75em}h3{font-size:1.875em;margin-bottom:.857em;margin-top:.857em}h4{font-size:1.5em;margin-bottom:1em;margin-top:1em}h5{font-size:1.125em;margin-bottom:1.125em;margin-top:1.125em}h6{font-size:1em;margin-bottom:1.285em;margin-top:1.285em}address,blockquote,dl,form,hr,p,pre,table{margin:1.6em 0}td,th{padding:.8em}caption{padding-bottom:.8em}blockquote{padding:0 1em}blockquote:first-child{margin:.8em 0}fieldset{margin:1.6em 0;padding:0 1em 1em}legend{padding-left:.8em;padding-right:.8em}legend+*{margin-top:1em}input,textarea{padding:.3em .4em .15em}select{padding:.1em .2em 0}option{padding:0 .4em}dt{margin-bottom:.4em;margin-top:.8em}ul{list-style-type:disc}ol{list-style-type:decimal}ol,ul{margin:0 1.5em 1.5em 0;padding-left:2em}li ol,li ul{margin:0}form div{margin-bottom:.8em}#container{margin:0 auto;max-width:960px;padding:0 25px}#wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;background-color:#fff;border:1px solid #e5e5e5;border-radius:4px;clear:both;margin:20px auto;padding:0 20px 20px;position:relative}.front-page #wrapper{background-color:transparent;border:0;margin:20px auto;padding:0}#header{margin:0}#footer{clear:both;margin:0 auto;max-width:960px;padding:0 25px}#footer-wrapper{margin:0;padding:0}#logo{float:left;margin:0}.site-name{display:block;font-size:2.063em;line-height:1em;padding-top:20px}.site-name a{color:#333;font-weight:700}.site-description{color:#afafaf;display:block;font-size:.875em;margin:10px 0}#content,#content-blog,#content-full{margin-top:40px;margin-bottom:20px}#content-images{margin-bottom:20px}#content-search{margin-bottom:20px;margin-top:20px}#content-archive,#content-sitemap{margin-top:40px;margin-bottom:20px}#content-sitemap a{font-size:12px}#content .sticky{clear:both}.page-template-landing-page-php .footer-menu,.page-template-landing-page-php .main-nav,.page-template-landing-page-php .menu,.page-template-landing-page-php .sub-header-menu,.page-template-landing-page-php .top-menu{display:none}#author-meta{-moz-border-radius:4px;-webkit-border-radius:4px;background:#f9f9f9;border:1px solid #d6d6d6;border-radius:4px;clear:both;display:block;margin:30px 0 40px;padding:10px;overflow:hidden}#author-meta img{float:left;padding:10px 15px 0 5px}#author-meta p{margin:0;padding:5px}#author-meta .about-author{font-weight:700;margin:10px 0 0}#featured{-moz-border-radius:4px;-webkit-border-radius:4px;background-color:#fff;border:1px solid #e5e5e5;border-radius:4px;padding-bottom:40px;width:99.893617021277%}#featured p{font-size:18px;font-weight:200;line-height:27px;padding:0 40px;text-align:center}#featured-image{margin:40px 0 0}#featured-image .fluid-width-video-wrapper{margin-left:-20px}.featured-image img{margin-top:44px}.comments-link{font-size:12px}#cancel-comment-reply-link{color:#900}.post-data{clear:both;font-size:12px;font-weight:700;margin-top:20px}.post-data a{color:#111}.post-entry{clear:both}.post-meta{clear:both;color:#9f9f9f;font-size:12px;margin-bottom:10px}.post-edit{clear:both;display:block;font-size:12px;margin:1.5em 0}.post-search-terms{clear:both}.read-more{clear:both;font-weight:700}.attachment-entry{clear:both;text-align:center}.bbPress .breadcrumb-list{display:none}.ellipsis{color:#aaa;font-size:18px;margin-left:5px}.form-allowed-tags{display:none;font-size:10px}.widget-wrapper{-webkit-border-radius:4px;-moz-border-radius:4px;background-color:#f9f9f9;border:1px solid #e5e5e5;border-radius:4px;margin:0 0 20px;padding:20px}.widget-wrapper input[type=email],.widget-wrapper input[type=password],.widget-wrapper input[type=text],.widget-wrapper select{width:75%}#widgets{margin-top:40px}#widgets a{display:inline-block;margin:0;padding:0;text-decoration:none}#widgets form{margin:0}#widgets ol,#widgets ul{padding:0 0 0 20px}#widgets ul li a{display:inline;text-decoration:none}#widgets .widget-title img{float:right;height:11px;position:relative;top:4px;width:11px}#widgets .rss-date{line-height:18px;padding:6px 12px}#widgets .rssSummary{padding:10px}#widgets cite{font-style:normal;line-height:18px;padding:6px 12px}#widgets .tagcloud,#widgets .textwidget{display:block;line-height:1.5em;margin:0;word-wrap:break-word}#widgets .textwidget a{display:inline}#widgets ul .children{padding:0 0 0 10px}#widgets .author{font-weight:700;padding-top:4px}#cat,.widget_archive select{display:block;margin:0 15px 0 0}.colophon-widget{background:0 0;min-height:0}.colophon-widget input[type=email],.colophon-widget input[type=password],.colophon-widget input[type=text],.colophon-widget select{width:100%}.top-widget{background:0 0;border:0;clear:right;float:right;min-height:0;padding:0 3px 0 0;text-align:right;width:45%}.top-widget ul{padding:0}.top-widget input[type=email],.top-widget input[type=password],.top-widget input[type=text],.top-widget select{width:auto}.top-widget #searchform{margin:0}.featured-title{font-size:60px;letter-spacing:-1px;margin:0;padding-top:40px;text-align:center}.featured-subtitle{padding:0 10px;text-align:center}.widget-title h3,.widget-title-home h3{display:block;font-size:24px;font-weight:700;line-height:23px;margin:0;padding:0 0 20px;text-align:left}.top-widget .widget-title h3{font-size:14px;padding:0;text-align:right}.widget-title a{border-bottom:0;padding:0!important}.title-404{color:#933}.error404 input[type=email],.error404 input[type=password],.error404 input[type=text],.error404 select{width:auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px)}.top-menu{float:right;margin:10px 0;padding:0}.top-menu li{display:inline;list-style-type:none}.top-menu li a{border-left:1px solid #ccc;color:#333;font-size:11px;padding:0 4px 0 8px}.top-menu>li:first-child>a{border-left:0}.top-menu li a:hover{color:#333}.menu{background-color:#585858;background-image:-webkit-gradient(linear,left top,left bottom,from(#585858),to(#3d3d3d));background-image:-webkit-linear-gradient(top,#585858,#3d3d3d);background-image:-moz-linear-gradient(top,#585858,#3d3d3d);background-image:-ms-linear-gradient(top,#585858,#3d3d3d);background-image:-o-linear-gradient(top,#585858,#3d3d3d);background-image:linear-gradient(top,#585858,#3d3d3d);clear:both;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d)}.main-nav{clear:both}.menu,.menu ul{display:block;list-style-type:none;margin:0;padding:0}.menu li{border:0;display:block;float:left;margin:0;padding:0;position:relative;z-index:5}.menu li:hover{white-space:normal;z-index:10000}.menu li li{float:none}.menu ul{left:0;position:absolute;top:0;visibility:hidden;z-index:10}.menu li:hover>ul{top:100%;visibility:visible}.menu ul:after,.menu:after{clear:both;content:'.';display:block;height:0;overflow:hidden;visibility:hidden}.menu,.menu ul{min-height:0}.menu ul,.menu ul ul{margin:0;padding:0}.menu li li a:hover,.menu ul li a:hover{color:#484848;text-decoration:none}.menu ul{margin-top:1px;min-width:15em;width:auto}.menu a{border-left:1px solid #585858;color:#fff;cursor:pointer;display:block;font-size:13px;font-weight:700;height:45px;line-height:45px;margin:0;padding:0 .9em;position:relative;text-decoration:none;text-shadow:0 -1px 0 #000;white-space:nowrap}.menu a:hover{background-color:gray;background-image:-webkit-gradient(linear,left top,left bottom,from(gray),to(#363636));background-image:-webkit-linear-gradient(top,gray,#363636);background-image:-moz-linear-gradient(top,gray,#363636);background-image:-ms-linear-gradient(top,gray,#363636);background-image:-o-linear-gradient(top,gray,#363636);background-image:linear-gradient(top,gray,#363636);color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#808080, endColorstr=#363636)}ul.menu>li:hover{background-color:#363636;color:#fff}.menu .current-menu-item a,.menu .current_page_item a{background-color:#343434}.front-page .menu .current_page_item a{background:0 0;background-color:transparent;background-image:none;filter:none}.menu li li{background:#fff;background-image:none;border:1px solid #e5e5e5;color:#444;filter:none;margin:-1px 0 1px 0;width:auto}.menu li li a{background:transparent!important;border:0;color:#444;font-size:12px;font-weight:400;height:auto;height:20px;line-height:20px;padding:5px 10px;text-shadow:none;white-space:nowrap}.menu li li a:hover{background:#f5f5f5!important;background-image:none;border:0;color:#444;filter:none}.menu li li:hover{background:#f5f5f5!important;filter:none}.menu ul>li+li{border-top:0}.menu li li:hover>ul{left:100%;top:0}.menu>li:first-child>a{border-left:0}.main-nav #responsive_current_menu_item,.menu a#responsive_menu_button{display:none}.ie7 .menu ul{background:url(core/images/ie7-fix.gif) repeat}.ie7 .menu li li a{min-width:100%}.sub-header-menu{background-color:#fff;border:1px solid #e5e5e5;border-top:0;clear:both}.sub-header-menu,.sub-header-menu ul{display:block;list-style-type:none;margin:0;padding:0}.sub-header-menu li{border:0;display:block;float:left;margin:0;padding:0;position:relative;z-index:5}.sub-header-menu li:hover{white-space:normal;z-index:10000}.sub-header-menu li li{float:none}.sub-header-menu ul{left:0;position:absolute;top:0;visibility:hidden;z-index:10}.sub-header-menu li:hover>ul{top:100%;visibility:visible}.sub-header-menu ul:after,.sub-header-menu:after{clear:both;content:'.';display:block;height:0;overflow:hidden;visibility:hidden}.sub-header-menu,.sub-header-menu ul{min-height:0}.sub-header-menu ul,.sub-header-menu ul ul{margin:0;padding:0}.sub-header-menu li li a:hover,.sub-header-menu ul li a:hover{color:#484848;text-decoration:none}.sub-header-menu ul{margin-top:1px;min-width:15em;width:auto}.sub-header-menu a{border-left:1px solid #e5e5e5;color:#333;cursor:pointer;display:block;font-size:12px;font-weight:400;height:35px;line-height:35px;margin:0;padding:0 .9em;position:relative;text-decoration:none;text-shadow:none}.sub-header-menu a:hover{-moz-background-clip:padding-box;-webkit-background-clip:padding-box;background-color:#f9f9f9;background-clip:padding-box}.sub-header-menu .current-menu-item a,.sub-header-menu .current_page_item a{background-color:#f9f9f9}.sub-header-menu li li{background:#fff;background-image:none;border:1px solid #e5e5e5;color:#444;filter:none;margin:-1px 0 1px 0;width:auto}.sub-header-menu li li a{border:0;color:#444;font-size:12px;font-weight:400;height:auto;height:20px;line-height:20px;padding:5px 10px;text-shadow:none}.sub-header-menu li li a:hover{background:#f9f9f9;background-image:none;border:0;color:#444;filter:none}.sub-header-menu ul>li+li{border-top:0}.sub-header-menu li li:hover>ul{left:100%;top:0}.sub-header-menu>li:first-child>a{border-left:0}.sub-header-menu .current_page_ancestor,.sub-header-menu .current_page_ancestor ul a,.sub-header-menu ul.children a{background:0 0;background-image:none;filter:none}.ie7 .sub-header-menu ul{background:url(core/images/ie7-fix.gif) repeat}.ie7 .sub-header-menu li li a{min-width:100%}.footer-menu{margin-left:0;padding:0}.footer-menu li{display:inline;list-style-type:none}.footer-menu li a{border-left:1px solid #ccc;color:#333;padding:0 8px}.footer-menu li a:hover{color:#222}.footer-menu>li:first-child>a{border-left:0;padding:0 8px 0 0}.navigation{color:#111;display:block;font-size:13px;height:28px;line-height:28px;margin:20px 0;padding:0 5px}.navigation a{color:#aaa;padding:4px 10px}.navigation a:hover{color:#111;text-decoration:none}.navigation .previous{float:left}.navigation .next{float:right}.navigation .bracket{font-size:36px}.pagination{clear:both;display:block;font-size:16px;font-weight:700;margin:10px 0;padding:5px 0}.pagination a{text-decoration:none}.breadcrumb-list{font-size:12px}#commentform{margin:0}.commentlist{border-bottom:1px solid #e5e5e5;list-style:none;margin:0;padding:0}.commentlist ol{list-style:decimal}.commentlist li{-webkit-border-radius:4px;-moz-border-radius:4px;background-color:#fff;border-radius:4px;margin:0}.commentlist li cite{color:#111;font-size:1.1em;font-style:normal;font-weight:400}.commentlist li.alt{background:#f9f9f9}.commentlist .children{list-style:none;margin-left:10px;padding:10px}.commentlist .avatar{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;float:left;margin-right:10px;padding:0;vertical-align:middle}.comment-author .says{color:#999}.comment-body .comment-meta{color:#999;display:inline-block;margin:0;padding:0;text-align:left}.comment-body .comment-meta a{font-size:11px}.comment-body{clear:both;padding:10px}.comment-body p{clear:both}.pingback,.trackback{list-style:none;margin:20px 0}.pingback cite,.trackback cite{font-style:normal}#comments,#pings{text-align:left}#respond{-moz-border-radius:4px;-webkit-border-radius:4px;background-color:#eaeaea;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#eaeaea));background-image:-webkit-linear-gradient(top,#fff,#eaeaea);background-image:-moz-linear-gradient(top,#fff,#eaeaea);background-image:-ms-linear-gradient(top,#fff,#eaeaea);background-image:-o-linear-gradient(top,#fff,#eaeaea);background-image:linear-gradient(top,#fff,#eaeaea);border:1px solid #ccc;border-bottom-color:#aaa;border-radius:4px;clear:both;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#eaeaea);margin-top:15px;padding:10px 20px 50px}#respond label{display:inline}.reply{margin:10px 0}.comment-form-author input,.comment-form-comment textarea,.comment-form-email input,.comment-form-url input{display:block;width:100%}.nocomments{color:#999;font-size:.9em;text-align:center}.gallery br[style]{clear:none!important}.gallery br:nth-last-child(1){clear:both!important}.gallery-columns-1 .gallery-item{max-width:600px}.gallery-columns-2 .gallery-item{max-width:300px}.gallery-columns-3 .gallery-item{max-width:200px}.gallery-columns-4 .gallery-item{max-width:150px}.gallery-columns-5 .gallery-item{max-width:120px}.gallery-columns-6 .gallery-item{max-width:100px}.gallery-columns-7 .gallery-item{max-width:85px}.gallery-columns-8 .gallery-item{max-width:75px}.gallery-columns-9 .gallery-item{max-width:66px}.page-template-full-width-page-php .gallery-columns-1 .gallery-item,.page-template-landing-page.php .gallery-columns-1 .gallery-item{max-width:900px}.page-template-full-width-page-php .gallery-columns-2 .gallery-item,.page-template-landing-page.php .gallery-columns-2 .gallery-item{max-width:450px}.page-template-full-width-page-php .gallery-columns-3 .gallery-item,.page-template-landing-page.php .gallery-columns-3 .gallery-item{max-width:300px}.page-template-full-width-page-php .gallery-columns-4 .gallery-item,.page-template-landing-page.php .gallery-columns-4 .gallery-item{max-width:225px}.page-template-full-width-page-php .gallery-columns-5 .gallery-item,.page-template-landing-page.php .gallery-columns-5.gallery-item{max-width:180px}.page-template-full-width-page-php .gallery-columns-6 .gallery-item,.page-template-landing-page.php .gallery-columns-6 .gallery-item{max-width:150px}.page-template-full-width-page-php .gallery-columns-7 .gallery-item,.page-template-landing-page.php .gallery-columns-7 .gallery-item{max-width:125px}.page-template-full-width-page-php .gallery-columns-8 .gallery-item,.page-template-landing-page.php .gallery-columns-8 .gallery-item{max-width:112.5px}.page-template-full-width-page-php .gallery-columns-9 .gallery-item,.page-template-landing-page.php .gallery-columns-9 .gallery-item{max-width:100px}.alignnone{margin:5px 20px 20px 0}.aligncenter,div.aligncenter{display:block;margin:5px auto 20px}.alignright{float:right;margin:5px 0 20px 20px}.alignleft{float:left;margin:5px 20px 20px 0}.aligncenter{display:block;margin:5px auto}a img.alignright{float:right;margin:5px 0 20px 20px}a img.alignnone{margin:5px 20px 20px 0}a img.alignleft{float:left;margin:5px 20px 20px 0}a img.aligncenter{display:block;margin-left:auto;margin-right:auto}.wp-caption{background:#f9f9f9;border:1px solid #f0f0f0;max-width:96%;padding:13px 10px 10px;text-align:center}.wp-caption.alignleft,.wp-caption.alignnone{margin:5px 20px 20px 0}.wp-caption.alignright{margin:5px 0 20px 20px}.wp-caption img{border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto}.wp-caption p.wp-caption-text{font-size:12px;line-height:1.5em;margin:0;padding:10px}img.wp-smiley{vertical-align:middle}.gallery{margin:0 auto 18px}.gallery .gallery-item{float:left;margin-top:0;text-align:center;max-width:155px}.gallery img{border:1px solid #ddd}.gallery .gallery-caption{font-size:12px;margin:0 0 12px}.gallery dl{margin:0}.gallery br+br{display:none}.attachment-gallery img{background:#fff;border:1px solid #f0f0f0;display:block;height:auto;margin:15px auto;max-width:96%;padding:5px;width:auto}.gallery-meta .aperture,.gallery-meta .camera,.gallery-meta .focal-length,.gallery-meta .full-size,.gallery-meta .iso,.gallery-meta .shutter{display:block}img.attachment-full,img.attachment-large,img.attachment-medium,img.attachment-thumbnail,img.wp-post-image{display:block;margin:15px auto;width:auto}a.button,input[type=button],input[type=reset],input[type=submit]{-moz-border-radius:2px;-moz-box-shadow:0 1px 0 rgba(255,255,255,.3) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3) inset;-webkit-border-radius:2px;background-color:#f9f9f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f1f1f1));background-image:-webkit-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:-moz-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:-ms-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:-o-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:linear-gradient(top,#f9f9f9,#f1f1f1);box-shadow:0 1px 0 rgba(255,255,255,.3) inset;border:1px solid #ddd;border-radius:2px;color:#333;cursor:pointer;display:inline-block;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1);font-size:14px;font-weight:700;line-height:20px;margin:0;padding:4px 10px;text-decoration:none;text-shadow:0 1px 0 #fff;vertical-align:middle;white-space:nowrap}a.button:hover,input[type=button]:hover,input[type=reset]:hover,input[type=submit]:hover{-moz-box-shadow:0 1px 0 rgba(255,255,255,.3) inset;-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3) inset;background-color:#fff;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f1f1f1));background-image:-webkit-linear-gradient(top,#fff,#f1f1f1);background-image:-moz-linear-gradient(top,#fff,#f1f1f1);background-image:-ms-linear-gradient(top,#fff,#f1f1f1);background-image:-o-linear-gradient(top,#fff,#f1f1f1);background-image:linear-gradient(top,#fff,#f1f1f1);border:1px solid #ddd;box-shadow:0 1px 0 rgba(255,255,255,.3) inset;color:#333;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#f1f1f1)}a.button:active,input[type=button]:active,input[type=reset]:active,input[type=submit]:active{-moz-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.1);-webkit-box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.1);background-color:#f9f9f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#f9f9f9),to(#f1f1f1));background-image:-webkit-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:-moz-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:-ms-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:-o-linear-gradient(top,#f9f9f9,#f1f1f1);background-image:linear-gradient(top,#f9f9f9,#f1f1f1);box-shadow:0 1px 0 #fff,inset 0 1px 1px rgba(0,0,0,.1);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#f9f9f9, endColorstr=#f1f1f1)}.call-to-action{text-align:center}.call-to-action a.button{font-size:24px;padding:15px 35px}.call-to-action a.button:hover{text-decoration:none}.ie7 .call-to-action a.button{padding:11px 35px 19px}.small a.button{font-size:10px;padding:3px 6px}.medium a.button{font-size:16px;padding:8px 16px}.large a.button{font-size:18px;padding:10px 35px}.xlarge a.button{font-size:24px;padding:12px 55px}a.blue{background-color:#1874cd;background-image:-webkit-gradient(linear,left top,left bottom,from(#4f9eea),to(#1874cd));background-image:-webkit-linear-gradient(top,#4f9eea,#1874cd);background-image:-moz-linear-gradient(top,#4f9eea,#1874cd);background-image:-ms-linear-gradient(top,#4f9eea,#1874cd);background-image:-o-linear-gradient(top,#4f9eea,#1874cd);background-image:linear-gradient(top,#4f9eea,#1874cd);border:1px solid #115290;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4f9eea, endColorstr=#1874cd);text-shadow:0 -1px 0 #115290}a.blue:hover{background-color:#7db7f0;background-image:-webkit-gradient(linear,left top,left bottom,from(#7db7f0),to(#1874cd));background-image:-webkit-linear-gradient(top,#7db7f0,#1874cd);background-image:-moz-linear-gradient(top,#7db7f0,#1874cd);background-image:-ms-linear-gradient(top,#7db7f0,#1874cd);background-image:-o-linear-gradient(top,#7db7f0,#1874cd);background-image:linear-gradient(top,#7db7f0,#1874cd);border:1px solid #115290;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7db7f0, endColorstr=#1874cd);text-shadow:0 -1px 0 #115290}a.red{background-color:#cd0000;background-image:-webkit-gradient(linear,left top,left bottom,from(#ff2323),to(#cd0000));background-image:-webkit-linear-gradient(top,#ff2323,#cd0000);background-image:-moz-linear-gradient(top,#ff2323,#cd0000);background-image:-ms-linear-gradient(top,#ff2323,#cd0000);background-image:-o-linear-gradient(top,#ff2323,#cd0000);background-image:linear-gradient(top,#ff2323,#cd0000);border:1px solid #890000;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff2323, endColorstr=#cd0000);text-shadow:0 -1px 0 #890000}a.red:hover{background-color:#ff5656;background-image:-webkit-gradient(linear,left top,left bottom,from(#ff5656),to(#cd0000));background-image:-webkit-linear-gradient(top,#ff5656,#cd0000);background-image:-moz-linear-gradient(top,#ff5656,#cd0000);background-image:-ms-linear-gradient(top,#ff5656,#cd0000);background-image:-o-linear-gradient(top,#ff5656,#cd0000);background-image:linear-gradient(top,#ff5656,#cd0000);border:1px solid #890000;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff5656, endColorstr=#cd0000);text-shadow:0 -1px 0 #890000}a.orange{background-color:#ff7f00;background-image:-webkit-gradient(linear,left top,left bottom,from(#fa5),to(#ff7f00));background-image:-webkit-linear-gradient(top,#fa5,#ff7f00);background-image:-moz-linear-gradient(top,#fa5,#ff7f00);background-image:-ms-linear-gradient(top,#fa5,#ff7f00);background-image:-o-linear-gradient(top,#fa5,#ff7f00);background-image:linear-gradient(top,#fa5,#ff7f00);border:1px solid #bb5d00;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffaa55, endColorstr=#ff7f00);text-shadow:0 -1px 0 #bb5d00}a.orange:hover{background-color:#ffc388;background-image:-webkit-gradient(linear,left top,left bottom,from(#ffc388),to(#ff7f00));background-image:-webkit-linear-gradient(top,#ffc388,#ff7f00);background-image:-moz-linear-gradient(top,#ffc388,#ff7f00);background-image:-ms-linear-gradient(top,#ffc388,#ff7f00);background-image:-o-linear-gradient(top,#ffc388,#ff7f00);background-image:linear-gradient(top,#ffc388,#ff7f00);border:1px solid #bb5d00;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffc388, endColorstr=#ff7f00);text-shadow:0 -1px 0 #bb5d00}a.yellow{background-color:#ecca06;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff2aa),to(gold));background-image:-webkit-linear-gradient(top,#fff2aa,gold);background-image:-moz-linear-gradient(top,#fff2aa,gold);background-image:-ms-linear-gradient(top,#fff2aa,gold);background-image:-o-linear-gradient(top,#fff2aa,gold);background-image:linear-gradient(top,#fff2aa,gold);border:1px solid #bb9e00;color:#161300;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#fff2aa, endColorstr=#ffd700);text-shadow:0 1px 0 #fff}a.yellow:hover{background-color:#fffadd;background-image:-webkit-gradient(linear,left top,left bottom,from(#fffadd),to(gold));background-image:-webkit-linear-gradient(top,#fffadd,gold);background-image:-moz-linear-gradient(top,#fffadd,gold);background-image:-ms-linear-gradient(top,#fffadd,gold);background-image:-o-linear-gradient(top,#fffadd,gold);background-image:linear-gradient(top,#fffadd,gold);border:1px solid #bb9e00;color:#161300;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#fffadd, endColorstr=#ffd700);text-shadow:0 1px 0 #fff}a.green{background-color:#2e8b57;background-image:-webkit-gradient(linear,left top,left bottom,from(#4bc380),to(#2e8b57));background-image:-webkit-linear-gradient(top,#4bc380,#2e8b57);background-image:-moz-linear-gradient(top,#4bc380,#2e8b57);background-image:-ms-linear-gradient(top,#4bc380,#2e8b57);background-image:-o-linear-gradient(top,#4bc380,#2e8b57);background-image:linear-gradient(top,#4bc380,#2e8b57);border:1px solid #1d5837;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4bc380, endColorstr=#2e8b57);text-shadow:0 -1px 0 #1d5837}a.green:hover{background-color:#71d09b;background-image:-webkit-gradient(linear,left top,left bottom,from(#71d09b),to(#2e8b57));background-image:-webkit-linear-gradient(top,#71d09b,#2e8b57);background-image:-moz-linear-gradient(top,#71d09b,#2e8b57);background-image:-ms-linear-gradient(top,#71d09b,#2e8b57);background-image:-o-linear-gradient(top,#71d09b,#2e8b57);background-image:linear-gradient(top,#71d09b,#2e8b57);border:1px solid #1d5837;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#71d09b, endColorstr=#2e8b57);text-shadow:0 -1px 0 #1d5837}a.olive{background-color:#838b83;background-image:-webkit-gradient(linear,left top,left bottom,from(#e0e000),to(#838b83));background-image:-webkit-linear-gradient(top,#afb4af,#838b83);background-image:-moz-linear-gradient(top,#afb4af,#838b83);background-image:-ms-linear-gradient(top,#afb4af,#838b83);background-image:-o-linear-gradient(top,#afb4af,#838b83);background-image:linear-gradient(top,#afb4af,#838b83);border:1px solid #626862;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#afb4af, endColorstr=#838b83);text-shadow:0 -1px 0 #626862}a.olive:hover{background-color:#c9cdc9;background-image:-webkit-gradient(linear,left top,left bottom,from(#c9cdc9),to(#838b83));background-image:-webkit-linear-gradient(top,#c9cdc9,#838b83);background-image:-moz-linear-gradient(top,#c9cdc9,#838b83);background-image:-ms-linear-gradient(top,#c9cdc9,#838b83);background-image:-o-linear-gradient(top,#c9cdc9,#838b83);background-image:linear-gradient(top,#c9cdc9,#838b83);border:1px solid #626862;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#c9cdc9, endColorstr=#838b83);text-shadow:0 -1px 0 #626862}a.purple{background-color:#5d478b;background-image:-webkit-gradient(linear,left top,left bottom,from(#8771b6),to(#5d478b));background-image:-webkit-linear-gradient(top,#8771b6,#5d478b);background-image:-moz-linear-gradient(top,#8771b6,#5d478b);background-image:-ms-linear-gradient(top,#8771b6,#5d478b);background-image:-o-linear-gradient(top,#8771b6,#5d478b);background-image:linear-gradient(top,#8771b6,#5d478b);border:1px solid #3f305e;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#8771b6, endColorstr=#5d478b);text-shadow:0 -1px 0 #3f305e}a.purple:hover{background-color:#a492c8;background-image:-webkit-gradient(linear,left top,left bottom,from(#a492c8),to(#5d478b));background-image:-webkit-linear-gradient(top,#a492c8,#5d478b);background-image:-moz-linear-gradient(top,#a492c8,#5d478b);background-image:-ms-linear-gradient(top,#a492c8,#5d478b);background-image:-o-linear-gradient(top,#a492c8,#5d478b);background-image:linear-gradient(top,#a492c8,#5d478b);border:1px solid #3f305e;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#a492c8, endColorstr=#5d478b);text-shadow:0 -1px 0 #3f305e}a.pink{background-color:#cd1076;background-image:-webkit-gradient(linear,left top,left bottom,from(#f042a0),to(#cd1076));background-image:-webkit-linear-gradient(top,#f042a0,#cd1076);background-image:-moz-linear-gradient(top,#f042a0,#cd1076);background-image:-ms-linear-gradient(top,#f042a0,#cd1076);background-image:-o-linear-gradient(top,#f042a0,#cd1076);background-image:linear-gradient(top,#f042a0,#cd1076);border:1px solid #8e0b52;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#f042a0, endColorstr=#cd1076);text-shadow:0 -1px 0 #8e0b52}a.pink:hover{background-color:#f471b8;background-image:-webkit-gradient(linear,left top,left bottom,from(#f471b8),to(#cd1076));background-image:-webkit-linear-gradient(top,#f471b8,#cd1076);background-image:-moz-linear-gradient(top,#f471b8,#cd1076);background-image:-ms-linear-gradient(top,#f471b8,#cd1076);background-image:-o-linear-gradient(top,#f471b8,#cd1076);background-image:linear-gradient(top,#f471b8,#cd1076);border:1px solid #8e0b52;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#f471b8, endColorstr=#cd1076);text-shadow:0 -1px 0 #8e0b52}a.brick{background-color:#b22222;background-image:-webkit-gradient(linear,left top,left bottom,from(#dd4c4c),to(#b22222));background-image:-webkit-linear-gradient(top,#dd4c4c,#b22222);background-image:-moz-linear-gradient(top,#dd4c4c,#b22222);background-image:-ms-linear-gradient(top,#dd4c4c,#b22222);background-image:-o-linear-gradient(top,#dd4c4c,#b22222);background-image:linear-gradient(top,#dd4c4c,#b22222);border:1px solid #791717;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#dd4c4c, endColorstr=#b22222);text-shadow:0 -1px 0 #791717}a.brick:hover{background-color:#e57777;background-image:-webkit-gradient(linear,left top,left bottom,from(#e57777),to(#b22222));background-image:-webkit-linear-gradient(top,#e57777,#b22222);background-image:-moz-linear-gradient(top,#e57777,#b22222);background-image:-ms-linear-gradient(top,#e57777,#b22222);background-image:-o-linear-gradient(top,#e57777,#b22222);background-image:linear-gradient(top,#e57777,#b22222);border:1px solid #791717;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#e57777, endColorstr=#b22222);text-shadow:0 -1px 0 #791717}a.gold{background-color:#8b6508;background-image:-webkit-gradient(linear,left top,left bottom,from(#db9f0d),to(#8b6508));background-image:-webkit-linear-gradient(top,#db9f0d,#8b6508);background-image:-moz-linear-gradient(top,#db9f0d,#8b6508);background-image:-ms-linear-gradient(top,#db9f0d,#8b6508);background-image:-o-linear-gradient(top,#db9f0d,#8b6508);background-image:linear-gradient(top,#db9f0d,#8b6508);border:1px solid #6b4e06;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#db9f0d, endColorstr=#8b6508);text-shadow:0 -1px 0 #6b4e06}a.gold:hover{background-color:#f3b828;background-image:-webkit-gradient(linear,left top,left bottom,from(#f3b828),to(#8b6508));background-image:-webkit-linear-gradient(top,#f3b828,#8b6508);background-image:-moz-linear-gradient(top,#f3b828,#8b6508);background-image:-ms-linear-gradient(top,#f3b828,#8b6508);background-image:-o-linear-gradient(top,#f3b828,#8b6508);background-image:linear-gradient(top,#f3b828,#8b6508);border:1px solid #6b4e06;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#f3b828, endColorstr=#8b6508);text-shadow:0 -1px 0 #6b4e06}a.brown{background-color:#8b4513;background-image:-webkit-gradient(linear,left top,left bottom,from(#d66a1d),to(#8b4513));background-image:-webkit-linear-gradient(top,#d66a1d,#8b4513);background-image:-moz-linear-gradient(top,#d66a1d,#8b4513);background-image:-ms-linear-gradient(top,#d66a1d,#8b4513);background-image:-o-linear-gradient(top,#d66a1d,#8b4513);background-image:linear-gradient(top,#d66a1d,#8b4513);border:1px solid #4f270b;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#d66a1d, endColorstr=#8b4513);text-shadow:0 -1px 0 #4f270b}a.brown:hover{background-color:#8b4513;background-image:-webkit-gradient(linear,left top,left bottom,from(#e58541),to(#8b4513));background-image:-webkit-linear-gradient(top,#e58541,#8b4513);background-image:-moz-linear-gradient(top,#e58541,#8b4513);background-image:-ms-linear-gradient(top,#e58541,#8b4513);background-image:-o-linear-gradient(top,#e58541,#8b4513);background-image:linear-gradient(top,#e58541,#8b4513);border:1px solid #4f270b;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#e58541, endColorstr=#8b4513);text-shadow:0 -1px 0 #4f270b}a.silver{background-color:silver;background-image:-webkit-gradient(linear,left top,left bottom,from(#eaeaea),to(silver));background-image:-webkit-linear-gradient(top,#eaeaea,silver);background-image:-moz-linear-gradient(top,#eaeaea,silver);background-image:-ms-linear-gradient(top,#eaeaea,silver);background-image:-o-linear-gradient(top,#eaeaea,silver);background-image:linear-gradient(top,#eaeaea,silver);border:1px solid #9e9e9e;color:#444;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#eaeaea, endColorstr=#c0c0c0);text-shadow:0 1px 0 #fff}a.silver:hover{background-color:#fff;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(silver));background-image:-webkit-linear-gradient(top,#fff,silver);background-image:-moz-linear-gradient(top,#fff,silver);background-image:-ms-linear-gradient(top,#fff,silver);background-image:-o-linear-gradient(top,#fff,silver);background-image:linear-gradient(top,#fff,silver);border:1px solid #9e9e9e;color:#444;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffffff, endColorstr=#c0c0c0);text-shadow:0 1px 0 #fff}a.gray{background-color:#696969;background-image:-webkit-gradient(linear,left top,left bottom,from(#939393),to(#696969));background-image:-webkit-linear-gradient(top,#939393,#696969);background-image:-moz-linear-gradient(top,#939393,#696969);background-image:-ms-linear-gradient(top,#939393,#696969);background-image:-o-linear-gradient(top,#939393,#696969);background-image:linear-gradient(top,#939393,#696969);border:1px solid #474747;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#939393, endColorstr=#696969);text-shadow:0 -1px 0 #474747}a.gray:hover{background-color:#adadad;background-image:-webkit-gradient(linear,left top,left bottom,from(#adadad),to(#696969));background-image:-webkit-linear-gradient(top,#adadad,#696969);background-image:-moz-linear-gradient(top,#adadad,#696969);background-image:-ms-linear-gradient(top,#adadad,#696969);background-image:-o-linear-gradient(top,#adadad,#696969);background-image:linear-gradient(top,#adadad,#696969);border:1px solid #474747;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#adadad, endColorstr=#696969);text-shadow:0 -1px 0 #474747}a.black{background-color:#080808;background-image:-webkit-gradient(linear,left top,left bottom,from(#323232),to(#080808));background-image:-webkit-linear-gradient(top,#323232,#080808);background-image:-moz-linear-gradient(top,#323232,#080808);background-image:-ms-linear-gradient(top,#323232,#080808);background-image:-o-linear-gradient(top,#323232,#080808);background-image:linear-gradient(top,#323232,#080808);border:1px solid #000;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#323232, endColorstr=#080808);text-shadow:0 -1px 0 #000}a.black:hover{background-color:#4c4c4c;background-image:-webkit-gradient(linear,left top,left bottom,from(#4c4c4c),to(#080808));background-image:-webkit-linear-gradient(top,#4c4c4c,#080808);background-image:-moz-linear-gradient(top,#4c4c4c,#080808);background-image:-ms-linear-gradient(top,#4c4c4c,#080808);background-image:-o-linear-gradient(top,#4c4c4c,#080808);background-image:linear-gradient(top,#4c4c4c,#080808);border:1px solid #000;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c, endColorstr=#080808);text-shadow:0 -1px 0 #000}.info-box{-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;display:block;margin:20px 0;padding:15px;text-align:left}.alert{background-color:#faebeb;border:1px solid #dc7070;color:#212121}.address{background-color:#f6f5ef;border:1px solid #cdc9a5;color:#212121}.notice{background-color:#fbf9e9;border:1px solid #e3cf57;color:#212121}.success{background-color:#f9fde8;border:1px solid #a2bc13;color:#212121}.download{background-color:#fff4e5;border:1px solid #ff9912;color:#212121}.information{background-color:#eef3f6;border:1px solid #6ca6cd;color:#212121}.required{color:#d5243f}#breadcrumb{padding:40px 0 0}#breadcrumb a{color:#06c;font-size:12px;font-weight:400}#breadcrumb a:hover{color:#444;text-decoration:none}#content-woocommerce{margin-top:40px;margin-bottom:20px}.products ul,ul.products{margin-top:40px}.cart-collaterals .shipping_calculator{width:100%}table.cart td.actions .coupon .input-text{cursor:text}.icl_languages_selector{float:right;text-align:left}.rtl .icl_languages_selector{float:left;text-align:right}@media screen and (max-width:650px){.icl_languages_selector,.rtl .icl_languages_selector{float:none}}.widget_polylang li{display:inline;list-style-type:none}#footer{font-size:11px;line-height:1.5em}#footer a{color:#333;font-weight:400}#footer a:hover{color:#444}#footer-wrapper .grid.col-940{margin:0}.scroll-top{text-align:center}.copyright{text-align:left}.powered{text-align:right}#footer_widget .col-300:nth-child(3n+3){margin-right:0}#footer .social-icons{list-style:none;line-height:normal;padding:0;margin:0;text-align:right}#footer .facebook-icon,#footer .foursquare-icon,#footer .google-plus-icon,#footer .googleplus-icon,#footer .instagram-icon,#footer .linkedin-icon,#footer .pinterest-icon,#footer .rss-feed-icon,#footer .rss-icon,#footer .stumble-upon-icon,#footer .stumbleupon-icon,#footer .twitter-icon,#footer .vimeo-icon,#footer .yelp-icon,#footer .youtube-icon{display:inline;margin:1px;padding-left:3px}.left{float:left}.right{float:right}.center{text-align:center}#container:after,#container:before,.clearfix:after,.clearfix:before,.widget-wrapper:after,.widget-wrapper:before{content:' ';display:table}#container:after,.clearfix:after,.widget-wrapper:after{clear:both}.ie7 #container,.ie7 .clearfix,.ie7 .widget-wrapper{zoom:1}.clear{clear:both}BDO[DIR=ltr]{direction:ltr;unicode-bidi:bidi-override}BDO[DIR=rtl]{direction:rtl;unicode-bidi:bidi-override}[DIR=ltr]{direction:ltr;unicode-bidi:embed}[DIR=rtl]{direction:rtl;unicode-bidi:embed}@media print{h1,h2,h3,h4,h5,h6{page-break-after:avoid}dl,ol,ul{page-break-before:avoid}}@media screen and (max-width:980px){.grid,.grid-right{float:none}.copyright,.powered,.scroll-top{float:left}#featured-image .fluid-width-video-wrapper{margin:20px 0 0}.front-page #widgets{margin-top:40px}.front-page .top-widget,.top-widget{margin-top:0!important}.hide-desktop{display:block}.hide-980,.show-desktop{display:none}.show-980{display:block}}@media screen and (max-width:650px){#logo{float:none;margin:0;text-align:center}.grid,.grid-right{float:none}#featured-image .fluid-width-video-wrapper{margin:20px 0 0}.top-widget{float:none;margin:0 auto 10px;position:relative;text-align:center;width:auto}.top-widget .widget-title h3{text-align:center}.js .sub-header-menu{display:none}.js .main-nav{position:relative;background-color:#585858;background-image:-webkit-gradient(linear,left top,left bottom,from(#585858),to(#3d3d3d));background-image:-webkit-linear-gradient(top,#585858,#3d3d3d);background-image:-moz-linear-gradient(top,#585858,#3d3d3d);background-image:-ms-linear-gradient(top,#585858,#3d3d3d);background-image:-o-linear-gradient(top,#585858,#3d3d3d);background-image:linear-gradient(top,#585858,#3d3d3d);clear:both;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#585858, endColorstr=#3d3d3d);margin:0 auto}.js .main-nav .menu{display:none;position:absolute;width:100%;top:30px;z-index:1000}.js .main-nav .menu ul{margin-top:1px}.js .main-nav .menu li{float:none;background-color:#fff;border:0}.js .main-nav .menu li a{color:#444;font-size:13px;font-weight:400;height:45px;line-height:45px;padding:0 15px;border:0;border-bottom:1px solid #f5f5f5;text-shadow:none;text-align:left;cursor:pointer}.js .main-nav .menu li.current_page_item,.js .menu .current-menu-item a,.js .menu .current_page_item a{background-color:#f5f5f5}.js .main-nav .menu li li:hover{background:none!important}.js .main-nav .menu li li a{position:relative;padding:0 10px 0 30px}.js .main-nav .menu li li li a{position:relative;padding:0 10px 0 40px}.js .main-nav .menu li a:hover,.js .main-nav .menu li li a:hover{background-image:none;filter:none;background-color:#f5f5f5!important}.js .main-nav .menu li li a::before,.js .main-nav .menu li li li a::before{content:'\2013';position:absolute;top:0;left:20px}.js .main-nav .menu li li li a::after{content:'\2013';position:absolute;top:0;left:30px}.js .main-nav .menu li ul{position:static;visibility:visible;background-color:#fff}.js .main-nav .menu ul{min-width:0}.js .main-nav #responsive_current_menu_item{display:block;padding:5px 40px 5px 10px;color:#fff;font-weight:700;cursor:pointer}.js .main-nav a#responsive_menu_button{position:absolute;display:block;top:0;left:100%;height:30px;width:23px;margin-left:-30px;background:url(../images/select-icons.png) 0 5px no-repeat;cursor:pointer}.js .main-nav a#responsive_menu_button.responsive-toggle-open{background:url(../images/select-icons.png) 0 -46px no-repeat}.footer-menu li,.top-menu{float:none;font-size:11px;text-align:center}#author-meta{padding:20px}#wrapper .gallery .gallery-item{max-width:100%}.hide-650{display:none}.show-650{display:block}.hide-mobile{display:none}#footer{text-align:center}#footer .social-icons{padding-bottom:10px;text-align:center}}@media screen and (max-width:480px){#logo{float:none;text-align:center}.grid,.grid-right{float:none}#featured-image .fluid-width-video-wrapper{margin:20px 0 0}.featured-title{font-size:40px;padding:40px 20px 0}.featured-subtitle{font-size:24px}.navigation .next,.navigation .previous{display:block;margin:0 auto;text-align:center}.footer-menu li,.menu li,.menu ul,.sub-header-menu li,.top-menu{float:none;text-align:center;text-rendering:optimizeSpeed}#wrapper .gallery .gallery-item{float:none}.hide-480{display:none}.show-480{display:block}#footer,#footer .social-icons{text-align:center}}@media screen and (max-width:320px){#featured p{font-size:12px;line-height:1.5em}.featured-title{font-size:35px}.featured-subtitle{font-size:15px}.call-to-action a.button{font-size:14px;padding:7px 17px}.hide-320{display:none}.show-320{display:block}}@media screen and (max-width:240px){#featured p{font-size:11px;line-height:1.5em}.featured-title{font-size:20px}.featured-subtitle{font-size:11px}.call-to-action a.button{font-size:12px;padding:5px 15px}.top-widget area,.top-widget input[type=email],.top-widget input[type=password],.top-widget input[type=text],.top-widget select,.top-widget textarea{width:75%}.widget-title h3,.widget-title-home h3{font-size:14px;height:13px;line-height:13px;text-align:left}.hide-240{display:none}.show-240{display:block}} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/icons/facebook-icon.png b/wp-content/themes/responsive/core/icons/facebook-icon.png new file mode 100644 index 0000000..4e11d7b Binary files /dev/null and b/wp-content/themes/responsive/core/icons/facebook-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/foursquare-icon.png b/wp-content/themes/responsive/core/icons/foursquare-icon.png new file mode 100644 index 0000000..fd2ae65 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/foursquare-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/googleplus-icon.png b/wp-content/themes/responsive/core/icons/googleplus-icon.png new file mode 100644 index 0000000..3f80d10 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/googleplus-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/instagram-icon.png b/wp-content/themes/responsive/core/icons/instagram-icon.png new file mode 100644 index 0000000..8b23cf1 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/instagram-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/linkedin-icon.png b/wp-content/themes/responsive/core/icons/linkedin-icon.png new file mode 100644 index 0000000..88d22a8 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/linkedin-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/pinterest-icon.png b/wp-content/themes/responsive/core/icons/pinterest-icon.png new file mode 100644 index 0000000..e8ddb7d Binary files /dev/null and b/wp-content/themes/responsive/core/icons/pinterest-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/rss-feed-icon.png b/wp-content/themes/responsive/core/icons/rss-feed-icon.png new file mode 100644 index 0000000..ca8d3cd Binary files /dev/null and b/wp-content/themes/responsive/core/icons/rss-feed-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/rss-icon.png b/wp-content/themes/responsive/core/icons/rss-icon.png new file mode 100644 index 0000000..ca8d3cd Binary files /dev/null and b/wp-content/themes/responsive/core/icons/rss-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/stumble-upon-icon.png b/wp-content/themes/responsive/core/icons/stumble-upon-icon.png new file mode 100644 index 0000000..a001984 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/stumble-upon-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/stumbleupon-icon.png b/wp-content/themes/responsive/core/icons/stumbleupon-icon.png new file mode 100644 index 0000000..a001984 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/stumbleupon-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/twitter-icon.png b/wp-content/themes/responsive/core/icons/twitter-icon.png new file mode 100644 index 0000000..0fcebb3 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/twitter-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/vimeo-icon.png b/wp-content/themes/responsive/core/icons/vimeo-icon.png new file mode 100644 index 0000000..2502bcd Binary files /dev/null and b/wp-content/themes/responsive/core/icons/vimeo-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/yelp-icon.png b/wp-content/themes/responsive/core/icons/yelp-icon.png new file mode 100644 index 0000000..4f127c2 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/yelp-icon.png differ diff --git a/wp-content/themes/responsive/core/icons/youtube-icon.png b/wp-content/themes/responsive/core/icons/youtube-icon.png new file mode 100644 index 0000000..c6bd511 Binary files /dev/null and b/wp-content/themes/responsive/core/icons/youtube-icon.png differ diff --git a/wp-content/themes/responsive/core/images/achimps.png b/wp-content/themes/responsive/core/images/achimps.png new file mode 100644 index 0000000..d325bcb Binary files /dev/null and b/wp-content/themes/responsive/core/images/achimps.png differ diff --git a/wp-content/themes/responsive/core/images/default-logo.png b/wp-content/themes/responsive/core/images/default-logo.png new file mode 100644 index 0000000..da4d463 Binary files /dev/null and b/wp-content/themes/responsive/core/images/default-logo.png differ diff --git a/wp-content/themes/responsive/core/images/featured-image.png b/wp-content/themes/responsive/core/images/featured-image.png new file mode 100644 index 0000000..4716c4e Binary files /dev/null and b/wp-content/themes/responsive/core/images/featured-image.png differ diff --git a/wp-content/themes/responsive/core/images/ie7-fix.gif b/wp-content/themes/responsive/core/images/ie7-fix.gif new file mode 100644 index 0000000..d7ed1a5 Binary files /dev/null and b/wp-content/themes/responsive/core/images/ie7-fix.gif differ diff --git a/wp-content/themes/responsive/core/images/select-icons.png b/wp-content/themes/responsive/core/images/select-icons.png new file mode 100644 index 0000000..d5ad627 Binary files /dev/null and b/wp-content/themes/responsive/core/images/select-icons.png differ diff --git a/wp-content/themes/responsive/core/includes/classes/Responsive_Options.php b/wp-content/themes/responsive/core/includes/classes/Responsive_Options.php new file mode 100644 index 0000000..929c9a2 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/classes/Responsive_Options.php @@ -0,0 +1,318 @@ +sections = $sections; + $this->options = $options; + $this->responsive_options = get_option( 'responsive_theme_options' ); + // Set confirmaton text for restore default option as attributes of submit_button(). + $this->attributes['onclick'] = 'return confirm("' . __( 'Do you want to restore? \nAll theme settings will be lost! \nClick OK to Restore.', 'responsive' ) . '")'; + } + + /** + * Displays the options, called from class instance + * + * Loops through sections array + * + * @return string + */ + public function render_display() { + $html = ''; + foreach( $this->sections as $section ) { + $sub = $this->options[$section['id']]; + $this->container( $section['title'], $sub ); + } + } + + /** + * Creates main sections title and container + * + * Loops through the options array + * + * @param $title string + * @param $sub array + * + * @return string + */ + protected function container( $title, $sub ) { + + echo '

    ' . esc_html( $title ) . '

    +
    +
    '; + foreach( $sub as $opt ) { + echo $this->sub_heading( $this->parse_args( $opt ) ); + echo $this->section( $this->parse_args( $opt ) ); + } + + echo $this->save(); + echo '
    '; + + } + + /** + * Creates the title section for each option input + * + * @param $title string + * @param $subtitle string + * + * @return string + */ + protected function sub_heading( $args ) { + + // If width is not set or it's not set to full then go ahead and create default layout + if( !isset( $args['width'] ) || $args['width'] != 'full' ) { + echo '
    '; + + echo $args['title']; + + echo $args['subtitle']; + + echo '
    '; + + } + } + + /** + * Creates option section with inputs + * + * Calls option type + * + * @param $options array + * + * @return string + */ + protected function section( $options ) { + + // If the width is not set to full then create normal grid size, otherwise create full width + echo ( !isset( $options['width'] ) || $options['width'] != 'full' ) ? '
    ' : '
    '; + + echo self::$options['type']( $options ); + + echo '
    '; + + } + + /** + * Creates text input + * + * @param $args array + * + * @return string + */ + protected function text( $args ) { + + extract( $args ); + + $value = ( !empty( $this->responsive_options[$id] ) ) ? ( $this->responsive_options[$id] ) : ''; + + $html = ' + '; + + return $html; + } + + /** + * Creates textarea input + * + * @param $args array + * + * @return string + */ + protected function textarea( $args ) { + + extract( $args ); + + $class[] = 'large-text'; + $classes = implode( ' ', $class ); + + $value = ( !empty( $this->responsive_options[$id] ) ) ? $this->responsive_options[$id] : ''; + + $html = '

    ' . esc_html( $heading ) . '

    + + '; + + return $html; + } + + /** + * Creates select dropdown input + * + * Loops through options + * + * @param $args array + * + * @return string + */ + protected function select( $args ) { + + extract( $args ); + + $html = ''; + + return $html; + + } + + /** + * Creates checkbox input + * + * @param $args array + * + * @return string + */ + protected function checkbox( $args ) { + + extract( $args ); + + $checked = ( isset( $this->responsive_options[$id] ) ) ? checked( '1', esc_attr( $this->responsive_options[$id] ), false ) : checked( 0, 1 ); + + $html = ' + '; + + return $html; + } + + /** + * Creates description only. No input + */ + protected function description( $args ) { + + extract( $args ); + + $html = '

    ' . wp_kses_post( $description ) . '

    '; + + return $html; + } + + /** + * Creates save, reset and upgrade buttons + * + * @return string + */ + protected function save() { + echo '
    +

    + ' . get_submit_button( __( 'Save Options', 'responsive' ), 'primary', 'responsive_theme_options[submit]', false ) . + get_submit_button( __( 'Restore Defaults', 'responsive' ), 'secondary', 'responsive_theme_options[reset]', false, $this->attributes ) . ' + ' . __( 'Upgrade', 'responsive' ) . ' +

    +
    '; + + } + + /** + * Default layouts static function + * + * @return array + */ + public static function valid_layouts() { + $layouts = array( + 'content-sidebar-page' => __( 'Content/Sidebar', 'responsive' ), + 'sidebar-content-page' => __( 'Sidebar/Content', 'responsive' ), + 'content-sidebar-half-page' => __( 'Content/Sidebar Half Page', 'responsive' ), + 'sidebar-content-half-page' => __( 'Sidebar/Content Half Page', 'responsive' ), + 'full-width-page' => __( 'Full Width Page (no sidebar)', 'responsive' ) + ); + + return apply_filters( 'responsive_valid_layouts', $layouts ); + } + + /** + * Makes sure that every option has all the required args + * + * @param $args array + * + * @return array + */ + protected function parse_args( $args ) { + $default_args = array( + 'title' => '', + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => '', + 'class' => array(), + 'description' => '', + 'placeholder' => '', + 'options' => array() + ); + + $result = array_merge( $default_args, $args ); + + return $result; + } + + /** + * Creates editor input + * + * @param $args array + * + * @return string + */ + protected function editor( $args ) { + + extract( $args ); + + $class[] = 'large-text'; + $classes = implode( ' ', $class ); + + $value = ( !empty( $this->responsive_options[$id] ) ) ? $this->responsive_options[$id] : ''; + + $editor_settings = array( + 'textarea_name' => 'responsive_theme_options[' . $id . ']', + 'media_buttons' => true, + 'tinymce' => array( 'plugins' => 'wordpress' ), + 'editor_class' => esc_attr( $classes ) + ); + + echo '
    '; + echo '

    ' . esc_html( $heading ) . '

    '; + + wp_editor( $value, 'responsive_theme_options[' . $id . ']', $editor_settings ); + echo ''; + echo '
    '; + } +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/classes/class-tgm-plugin-activation.php b/wp-content/themes/responsive/core/includes/classes/class-tgm-plugin-activation.php new file mode 100644 index 0000000..3af1f61 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/classes/class-tgm-plugin-activation.php @@ -0,0 +1,2184 @@ + + * @author Gary Jones + * @copyright Copyright (c) 2012, Thomas Griffin + * @license http://opensource.org/licenses/gpl-2.0.php GPL v2 or later + * @link https://github.com/thomasgriffin/TGM-Plugin-Activation + */ + +/* + Copyright 2012 Thomas Griffin (email : thomas@thomasgriffinmedia.com) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 3, as + published by the Free Software Foundation. + + 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 St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +if( !class_exists( 'TGM_Plugin_Activation' ) ) { + /** + * Automatic plugin installation and activation library. + * + * Creates a way to automatically install and activate plugins from within themes. + * The plugins can be either pre-packaged, downloaded from the WordPress + * Plugin Repository or downloaded from a private repository. + * + * @since 1.0.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGM_Plugin_Activation { + + /** + * Holds a copy of itself, so it can be referenced by the class name. + * + * @since 1.0.0 + * + * @var TGM_Plugin_Activation + */ + static $instance; + + /** + * Holds arrays of plugin details. + * + * @since 1.0.0 + * + * @var array + */ + public $plugins = array(); + + /** + * Parent menu slug for plugins page. + * + * @since 2.2.0 + * + * @var string Parent menu slug. Defaults to 'themes.php'. + */ + public $parent_menu_slug = 'themes.php'; + + /** + * Parent URL slug for URL references. + * + * This is useful if you want to place the custom plugins page as a + * submenu item under a custom parent menu. + * + * @since 2.2.0 + * + * @var string Parent URL slug. Defaults to 'themes.php'. + */ + public $parent_url_slug = 'themes.php'; + + /** + * Name of the querystring argument for the admin page. + * + * @since 1.0.0 + * + * @var string + */ + public $menu = 'install-required-plugins'; + + /** + * Default absolute path to folder containing pre-packaged plugin zip files. + * + * @since 2.0.0 + * + * @var string Absolute path prefix to packaged zip file location. Default is empty string. + */ + public $default_path = ''; + + /** + * Flag to show admin notices or not. + * + * @since 2.1.0 + * + * @var boolean + */ + public $has_notices = true; + + /** + * Flag to set automatic activation of plugins. Off by default. + * + * @since 2.2.0 + * + * @var boolean + */ + public $is_automatic = false; + + /** + * Optional message to display before the plugins table. + * + * @since 2.2.0 + * + * @var string Message filtered by wp_kses_post(). Default is empty string. + */ + public $message = ''; + + /** + * Holds configurable array of strings. + * + * Default values are added in the constructor. + * + * @since 2.0.0 + * + * @var array + */ + public $strings = array(); + + /** + * Adds a reference of this object to $instance, populates default strings, + * does the tgmpa_init action hook, and hooks in the interactions to init. + * + * @since 1.0.0 + * + * @see TGM_Plugin_Activation::init() + */ + public function __construct() { + + self::$instance =& $this; + + $this->strings = array( + 'page_title' => __( 'Install Required Plugins', 'tgmpa' ), + 'menu_title' => __( 'Install Plugins', 'tgmpa' ), + 'installing' => __( 'Installing Plugin: %s', 'tgmpa' ), + 'oops' => __( 'Something went wrong.', 'tgmpa' ), + 'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), + 'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ), + 'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), + 'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ), + 'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ), + 'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), + 'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ), + 'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), + 'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ), + 'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ), + 'return' => __( 'Return to Required Plugins Installer', 'tgmpa' ), + 'dashboard' => __( 'Return to the dashboard', 'tgmpa' ), + 'plugin_activated' => __( 'Plugin activated successfully.', 'tgmpa' ), + 'activated_successfully' => __( 'The following plugin was activated successfully:', 'tgmpa' ), + 'complete' => __( 'All plugins installed and activated successfully. %1$s', 'tgmpa' ), + 'dismiss' => __( 'Dismiss this notice', 'tgmpa' ), + ); + + /** Announce that the class is ready, and pass the object (for advanced use) */ + do_action_ref_array( 'tgmpa_init', array( &$this ) ); + + /** When the rest of WP has loaded, kick-start the rest of the class */ + add_action( 'init', array( &$this, 'init' ) ); + + } + + /** + * Initialise the interactions between this class and WordPress. + * + * Hooks in three new methods for the class: admin_menu, notices and styles. + * + * @since 2.0.0 + * + * @see TGM_Plugin_Activation::admin_menu() + * @see TGM_Plugin_Activation::notices() + * @see TGM_Plugin_Activation::styles() + */ + public function init() { + + do_action( 'tgmpa_register' ); + /** After this point, the plugins should be registered and the configuration set */ + + /** Proceed only if we have plugins to handle */ + if( $this->plugins ) { + $sorted = array(); // Prepare variable for sorting + + foreach( $this->plugins as $plugin ) { + $sorted[] = $plugin['name']; + } + + array_multisort( $sorted, SORT_ASC, $this->plugins ); // Sort plugins alphabetically by name + + add_action( 'admin_menu', array( &$this, 'admin_menu' ) ); + add_action( 'admin_head', array( &$this, 'dismiss' ) ); + add_filter( 'install_plugin_complete_actions', array( &$this, 'actions' ) ); + + /** Load admin bar in the header to remove flash when installing plugins */ + if( $this->is_tgmpa_page() ) { + remove_action( 'wp_footer', 'wp_admin_bar_render', 1000 ); + remove_action( 'admin_footer', 'wp_admin_bar_render', 1000 ); + add_action( 'wp_head', 'wp_admin_bar_render', 1000 ); + add_action( 'admin_head', 'wp_admin_bar_render', 1000 ); + } + + if( $this->has_notices ) { + add_action( 'admin_notices', array( &$this, 'notices' ) ); + add_action( 'admin_init', array( &$this, 'admin_init' ), 1 ); + add_action( 'admin_enqueue_scripts', array( &$this, 'thickbox' ) ); + add_action( 'switch_theme', array( &$this, 'update_dismiss' ) ); + } + + /** Setup the force activation hook */ + foreach( $this->plugins as $plugin ) { + if( isset( $plugin['force_activation'] ) && true === $plugin['force_activation'] ) { + add_action( 'admin_init', array( &$this, 'force_activation' ) ); + break; + } + } + + /** Setup the force deactivation hook */ + foreach( $this->plugins as $plugin ) { + if( isset( $plugin['force_deactivation'] ) && true === $plugin['force_deactivation'] ) { + add_action( 'switch_theme', array( &$this, 'force_deactivation' ) ); + break; + } + } + } + + } + + /** + * Handles calls to show plugin information via links in the notices. + * + * We get the links in the admin notices to point to the TGMPA page, rather + * than the typical plugin-install.php file, so we can prepare everything + * beforehand. + * + * WP doesn't make it easy to show the plugin information in the thickbox - + * here we have to require a file that includes a function that does the + * main work of displaying it, enqueue some styles, set up some globals and + * finally call that function before exiting. + * + * Down right easy once you know how... + * + * @since 2.1.0 + * + * @global string $tab Used as iframe div class names, helps with styling + * @global string $body_id Used as the iframe body ID, helps with styling + * @return null Returns early if not the TGMPA page. + */ + public function admin_init() { + + if( !$this->is_tgmpa_page() ) { + return; + } + + if( isset( $_REQUEST['tab'] ) && 'plugin-information' == $_REQUEST['tab'] ) { + require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; // Need for install_plugin_information() + + wp_enqueue_style( 'plugin-install' ); + + global $tab, $body_id; + $body_id = $tab = 'plugin-information'; + + install_plugin_information(); + + exit; + } + + } + + /** + * Enqueues thickbox scripts/styles for plugin info. + * + * Thickbox is not automatically included on all admin pages, so we must + * manually enqueue it for those pages. + * + * Thickbox is only loaded if the user has not dismissed the admin + * notice or if there are any plugins left to install and activate. + * + * @since 2.1.0 + */ + public function thickbox() { + + if( !get_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice', true ) ) { + add_thickbox(); + } + + } + + /** + * Adds submenu page under 'Appearance' tab. + * + * This method adds the submenu page letting users know that a required + * plugin needs to be installed. + * + * This page disappears once the plugin has been installed and activated. + * + * @since 1.0.0 + * + * @see TGM_Plugin_Activation::init() + * @see TGM_Plugin_Activation::install_plugins_page() + */ + public function admin_menu() { + + // Make sure privileges are correct to see the page + if( !current_user_can( 'install_plugins' ) ) { + return; + } + + $this->populate_file_path(); + + foreach( $this->plugins as $plugin ) { + if( !is_plugin_active( $plugin['file_path'] ) ) { + add_theme_page( + $this->strings['page_title'], // Page title + $this->strings['menu_title'], // Menu title + 'edit_theme_options', // Capability + $this->menu, // Menu slug + array( &$this, 'install_plugins_page' ) // Callback + ); + break; + } + } + + } + + /** + * Echoes plugin installation form. + * + * This method is the callback for the admin_menu method function. + * This displays the admin page and form area where the user can select to install and activate the plugin. + * + * @since 1.0.0 + * + * @return null Aborts early if we're processing a plugin installation action + */ + public function install_plugins_page() { + + /** Store new instance of plugin table in object */ + $plugin_table = new TGMPA_List_Table; + + /** Return early if processing a plugin installation action */ + if( isset( $_POST[sanitize_key( 'action' )] ) && 'tgmpa-bulk-install' == $_POST[sanitize_key( 'action' )] && $plugin_table->process_bulk_actions() || $this->do_plugin_install() ) { + return; + } + + ?> +
    + + +

    + prepare_items(); ?> + + message ) ) { + _e( wp_kses_post( $this->message ), 'tgmpa' ); + } ?> + +
    + + display(); ?> +
    + +
    + $this->menu, + 'plugin' => $plugin['slug'], + 'plugin_name' => $plugin['name'], + 'plugin_source' => $plugin['source'], + 'tgmpa-install' => 'install-plugin', + ), + admin_url( $this->parent_url_slug ) + ), + 'tgmpa-install' + ); + $method = ''; // Leave blank so WP_Filesystem can populate it as necessary + $fields = array( sanitize_key( 'tgmpa-install' ) ); // Extra fields to pass to WP_Filesystem + + if( false === ( $creds = request_filesystem_credentials( $url, $method, false, false, $fields ) ) ) { + return true; + } + + if( !WP_Filesystem( $creds ) ) { + request_filesystem_credentials( $url, $method, true, false, $fields ); // Setup WP_Filesystem + return true; + } + + require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; // Need for plugins_api + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; // Need for upgrade classes + + /** Set plugin source to WordPress API link if available */ + if( isset( $plugin['source'] ) && 'repo' == $plugin['source'] ) { + $api = plugins_api( 'plugin_information', array( 'slug' => $plugin['slug'], 'fields' => array( 'sections' => false ) ) ); + + if( is_wp_error( $api ) ) { + wp_die( $this->strings['oops'] . var_dump( $api ) ); + } + + if( isset( $api->download_link ) ) { + $plugin['source'] = $api->download_link; + } + } + + /** Set type, based on whether the source starts with http:// or https:// */ + $type = preg_match( '|^http(s)?://|', $plugin['source'] ) ? 'web' : 'upload'; + + /** Prep variables for Plugin_Installer_Skin class */ + $title = sprintf( $this->strings['installing'], $plugin['name'] ); + $url = add_query_arg( array( 'action' => 'install-plugin', 'plugin' => $plugin['slug'] ), 'update.php' ); + if( isset( $_GET['from'] ) ) { + $url .= add_query_arg( 'from', urlencode( stripslashes( $_GET['from'] ) ), $url ); + } + + $nonce = 'install-plugin_' . $plugin['slug']; + + /** Prefix a default path to pre-packaged plugins */ + $source = ( 'upload' == $type ) ? $this->default_path . $plugin['source'] : $plugin['source']; + + /** Create a new instance of Plugin_Upgrader */ + $upgrader = new Plugin_Upgrader( $skin = new Plugin_Installer_Skin( compact( 'type', 'title', 'url', 'nonce', 'plugin', 'api' ) ) ); + + /** Perform the action and install the plugin from the $source urldecode() */ + $upgrader->install( $source ); + + /** Flush plugins cache so we can make sure that the installed plugins list is always up to date */ + wp_cache_flush(); + + /** Only activate plugins if the config option is set to true */ + if( $this->is_automatic ) { + $plugin_activate = $upgrader->plugin_info(); // Grab the plugin info from the Plugin_Upgrader method + $activate = activate_plugin( $plugin_activate ); // Activate the plugin + $this->populate_file_path(); // Re-populate the file path now that the plugin has been installed and activated + + if( is_wp_error( $activate ) ) { + echo '

    ' . $activate->get_error_message() . '

    '; + echo '

    ' . $this->strings['return'] . '

    '; + + return true; // End it here if there is an error with automatic activation + } + else { + echo '

    ' . $this->strings['plugin_activated'] . '

    '; + } + } + + /** Display message based on if all plugins are now active or not */ + $complete = array(); + foreach( $this->plugins as $plugin ) { + if( !is_plugin_active( $plugin['file_path'] ) ) { + echo '

    ' . $this->strings['return'] . '

    '; + $complete[] = $plugin; + break; + } + /** Nothing to store */ + else { + $complete[] = ''; + } + } + + /** Filter out any empty entries */ + $complete = array_filter( $complete ); + + /** All plugins are active, so we display the complete string and hide the plugin menu */ + if( empty( $complete ) ) { + echo '

    ' . sprintf( $this->strings['complete'], '' . $this->strings['domain'] . '' ) . '

    '; + echo ''; + } + + return true; + } + /** Checks for actions from hover links to process the activation */ + elseif( isset( $_GET[sanitize_key( 'plugin' )] ) && ( isset( $_GET[sanitize_key( 'tgmpa-activate' )] ) && 'activate-plugin' == $_GET[sanitize_key( 'tgmpa-activate' )] ) ) { + check_admin_referer( 'tgmpa-activate', 'tgmpa-activate-nonce' ); + + /** Populate $plugin array with necessary information */ + $plugin['name'] = $_GET[sanitize_key( 'plugin_name' )]; + $plugin['slug'] = $_GET[sanitize_key( 'plugin' )]; + $plugin['source'] = $_GET[sanitize_key( 'plugin_source' )]; + + $plugin_data = get_plugins( '/' . $plugin['slug'] ); // Retrieve all plugins + $plugin_file = array_keys( $plugin_data ); // Retrieve all plugin files from installed plugins + $plugin_to_activate = $plugin['slug'] . '/' . $plugin_file[0]; // Match plugin slug with appropriate plugin file + $activate = activate_plugin( $plugin_to_activate ); // Activate the plugin + + if( is_wp_error( $activate ) ) { + echo '

    ' . $activate->get_error_message() . '

    '; + echo '

    ' . $this->strings['return'] . '

    '; + + return true; // End it here if there is an error with activation + } + else { + /** Make sure message doesn't display again if bulk activation is performed immediately after a single activation */ + if( !isset( $_POST[sanitize_key( 'action' )] ) ) { + $msg = $this->strings['activated_successfully'] . ' ' . $plugin['name'] . ''; + echo '

    ' . $msg . '

    '; + } + } + } + + return false; + + } + + /** + * Echoes required plugin notice. + * + * Outputs a message telling users that a specific plugin is required for + * their theme. If appropriate, it includes a link to the form page where + * users can install and activate the plugin. + * + * @since 1.0.0 + * + * @global object $current_screen + * @return null Returns early if we're on the Install page + */ + public function notices() { + + global $current_screen; + + /** Remove nag on the install page */ + if( $this->is_tgmpa_page() ) { + return; + } + + $installed_plugins = get_plugins(); // Retrieve a list of all the plugins + $this->populate_file_path(); + + $message = array(); // Store the messages in an array to be outputted after plugins have looped through + $install_link = false; // Set to false, change to true in loop if conditions exist, used for action link 'install' + $install_link_count = 0; // Used to determine plurality of install action link text + $activate_link = false; // Set to false, change to true in loop if conditions exist, used for action link 'activate' + $activate_link_count = 0; // Used to determine plurality of activate action link text + + foreach( $this->plugins as $plugin ) { + /** If the plugin is installed and active, check for minimum version argument before moving forward */ + if( is_plugin_active( $plugin['file_path'] ) ) { + /** A minimum version has been specified */ + if( isset( $plugin['version'] ) ) { + if( isset( $installed_plugins[$plugin['file_path']]['Version'] ) ) { + /** If the current version is less than the minimum required version, we display a message */ + if( version_compare( $installed_plugins[$plugin['file_path']]['Version'], $plugin['version'], '<' ) ) { + if( current_user_can( 'install_plugins' ) ) { + $message['notice_ask_to_update'][] = $plugin['name']; + } + else { + $message['notice_cannot_update'][] = $plugin['name']; + } + } + } + /** Can't find the plugin, so iterate to the next condition */ + else { + continue; + } + } + /** No minimum version specified, so iterate over the plugin */ + else { + continue; + } + } + + /** Not installed */ + if( !isset( $installed_plugins[$plugin['file_path']] ) ) { + $install_link = true; // We need to display the 'install' action link + $install_link_count++; // Increment the install link count + if( current_user_can( 'install_plugins' ) ) { + if( $plugin['required'] ) { + $message['notice_can_install_required'][] = $plugin['name']; + } + /** This plugin is only recommended */ + else { + $message['notice_can_install_recommended'][] = $plugin['name']; + } + } + /** Need higher privileges to install the plugin */ + else { + $message['notice_cannot_install'][] = $plugin['name']; + } + } + /** Installed but not active */ + elseif( is_plugin_inactive( $plugin['file_path'] ) ) { + $activate_link = true; // We need to display the 'activate' action link + $activate_link_count++; // Increment the activate link count + if( current_user_can( 'activate_plugins' ) ) { + if( ( isset( $plugin['required'] ) ) && ( $plugin['required'] ) ) { + $message['notice_can_activate_required'][] = $plugin['name']; + } + /** This plugin is only recommended */ + else { + $message['notice_can_activate_recommended'][] = $plugin['name']; + } + } + /** Need higher privileges to activate the plugin */ + else { + $message['notice_cannot_activate'][] = $plugin['name']; + } + } + } + + /** Only process the nag messages if the user has not dismissed them already */ + if( !get_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice', true ) ) { + /** If we have notices to display, we move forward */ + if( !empty( $message ) ) { + krsort( $message ); // Sort messages + $rendered = ''; // Display all nag messages as strings + + /** Grab all plugin names */ + foreach( $message as $type => $plugin_groups ) { + $linked_plugin_groups = array(); + + /** Count number of plugins in each message group to calculate singular/plural message */ + $count = count( $plugin_groups ); + + /** Loop through the plugin names to make the ones pulled from the .org repo linked */ + foreach( $plugin_groups as $plugin_group_single_name ) { + $external_url = $this->_get_plugin_data_from_name( $plugin_group_single_name, 'external_url' ); + $source = $this->_get_plugin_data_from_name( $plugin_group_single_name, 'source' ); + + if( $external_url && preg_match( '|^http(s)?://|', $external_url ) ) { + $linked_plugin_groups[] = '' . $plugin_group_single_name . ''; + } + elseif( !$source || preg_match( '|^http://wordpress.org/extend/plugins/|', $source ) ) { + $url = add_query_arg( + array( + 'tab' => 'plugin-information', + 'plugin' => $this->_get_plugin_data_from_name( $plugin_group_single_name ), + 'TB_iframe' => 'true', + 'width' => '640', + 'height' => '500', + ), + admin_url( 'plugin-install.php' ) + ); + + $linked_plugin_groups[] = '' . $plugin_group_single_name . ''; + } + else { + $linked_plugin_groups[] = $plugin_group_single_name; // No hyperlink + } + + if( isset( $linked_plugin_groups ) && (array)$linked_plugin_groups ) { + $plugin_groups = $linked_plugin_groups; + } + } + + $last_plugin = array_pop( $plugin_groups ); // Pop off last name to prep for readability + $imploded = empty( $plugin_groups ) ? '' . $last_plugin . '' : '' . ( implode( ', ', $plugin_groups ) . ' and ' . $last_plugin . '' ); + + $rendered .= '

    ' . sprintf( translate_nooped_plural( $this->strings[$type], $count, 'tgmpa' ), $imploded, $count ) . '

    '; // All messages now stored + } + + /** Setup variables to determine if action links are needed */ + $show_install_link = $install_link ? '' . translate_nooped_plural( $this->strings['install_link'], $install_link_count, 'tgmpa' ) . '' : ''; + $show_activate_link = $activate_link ? '' . translate_nooped_plural( $this->strings['activate_link'], $activate_link_count, 'tgmpa' ) . '' : ''; + + /** Define all of the action links */ + $action_links = apply_filters( + 'tgmpa_notice_action_links', + array( + 'install' => ( current_user_can( 'install_plugins' ) ) ? $show_install_link : '', + 'activate' => ( current_user_can( 'activate_plugins' ) ) ? $show_activate_link : '', + 'dismiss' => '' . $this->strings['dismiss'] . '', + ) + ); + + $action_links = array_filter( $action_links ); // Remove any empty array items + if( $action_links ) { + $rendered .= '

    ' . implode( ' | ', $action_links ) . '

    '; + } + + /** Register the nag messages and prepare them to be processed */ + if( isset( $this->strings['nag_type'] ) ) { + add_settings_error( 'tgmpa', 'tgmpa', $rendered, sanitize_html_class( strtolower( $this->strings['nag_type'] ), 'updated' ) ); + } + else { + add_settings_error( 'tgmpa', 'tgmpa', $rendered, 'updated' ); + } + } + } + + /** Admin options pages already output settings_errors, so this is to avoid duplication */ + if( 'options-general' !== $current_screen->parent_base ) { + settings_errors( 'tgmpa' ); + } + + } + + /** + * Add dismissable admin notices. + * + * Appends a link to the admin nag messages. If clicked, the admin notice disappears and no longer is visible to users. + * + * @since 2.1.0 + */ + public function dismiss() { + + if( isset( $_GET[sanitize_key( 'tgmpa-dismiss' )] ) ) { + update_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice', 1 ); + } + + } + + /** + * Add individual plugin to our collection of plugins. + * + * If the required keys are not set, the plugin is not added. + * + * @since 2.0.0 + * + * @param array $plugin Array of plugin arguments. + */ + public function register( $plugin ) { + + if( !isset( $plugin['slug'] ) || !isset( $plugin['name'] ) ) { + return; + } + + $this->plugins[] = $plugin; + + } + + /** + * Amend default configuration settings. + * + * @since 2.0.0 + * + * @param array $config + */ + public function config( $config ) { + + $keys = array( 'default_path', 'parent_menu_slug', 'parent_url_slug', 'domain', 'has_notices', 'menu', 'is_automatic', 'message', 'strings' ); + + foreach( $keys as $key ) { + if( isset( $config[$key] ) ) { + if( is_array( $config[$key] ) ) { + foreach( $config[$key] as $subkey => $value ) { + $this->{$key}[$subkey] = $value; + } + } + else { + $this->$key = $config[$key]; + } + } + } + + } + + /** + * Amend action link after plugin installation. + * + * @since 2.0.0 + * + * @param array $install_actions Existing array of actions + * + * @return array Amended array of actions + */ + public function actions( $install_actions ) { + + /** Remove action links on the TGMPA install page */ + if( $this->is_tgmpa_page() ) { + return false; + } + + return $install_actions; + + } + + /** + * Set file_path key for each installed plugin. + * + * @since 2.1.0 + */ + public function populate_file_path() { + + /** Add file_path key for all plugins */ + foreach( $this->plugins as $plugin => $values ) { + $this->plugins[$plugin]['file_path'] = $this->_get_plugin_basename_from_slug( $values['slug'] ); + } + + } + + /** + * Helper function to extract the file path of the plugin file from the + * plugin slug, if the plugin is installed. + * + * @since 2.0.0 + * + * @param string $slug Plugin slug (typically folder name) as provided by the developer + * + * @return string Either file path for plugin if installed, or just the plugin slug + */ + protected function _get_plugin_basename_from_slug( $slug ) { + + $keys = array_keys( get_plugins() ); + + foreach( $keys as $key ) { + if( preg_match( '|^' . $slug . '|', $key ) ) { + return $key; + } + } + + return $slug; + + } + + /** + * Retrieve plugin data, given the plugin name. + * + * Loops through the registered plugins looking for $name. If it finds it, + * it returns the $data from that plugin. Otherwise, returns false. + * + * @since 2.1.0 + * + * @param string $name Name of the plugin, as it was registered + * @param string $data Optional. Array key of plugin data to return. Default is slug + * + * @return string|boolean Plugin slug if found, false otherwise. + */ + protected function _get_plugin_data_from_name( $name, $data = 'slug' ) { + + foreach( $this->plugins as $plugin => $values ) { + if( $name == $values['name'] && isset( $values[$data] ) ) { + return $values[$data]; + } + } + + return false; + + } + + /** + * Determine if we're on the TGMPA Install page. + * + * We use $current_screen when it is available, and a slightly less ideal + * conditional when it isn't (like when displaying the plugin information + * thickbox). + * + * @since 2.1.0 + * + * @global object $current_screen + * @return boolean True when on the TGMPA page, false otherwise. + */ + protected function is_tgmpa_page() { + + global $current_screen; + + if( !is_null( $current_screen ) && $this->parent_menu_slug == $current_screen->parent_file && isset( $_GET['page'] ) && $this->menu === $_GET['page'] ) { + return true; + } + + if( isset( $_GET['page'] ) && $this->menu === $_GET['page'] ) { + return true; + } + + return false; + + } + + /** + * Delete dismissable nag option when theme is switched. + * + * This ensures that the user is again reminded via nag of required + * and/or recommended plugins if they re-activate the theme. + * + * @since 2.1.1 + */ + public function update_dismiss() { + + delete_user_meta( get_current_user_id(), 'tgmpa_dismissed_notice' ); + + } + + /** + * Forces plugin activation if the parameter 'force_activation' is + * set to true. + * + * This allows theme authors to specify certain plugins that must be + * active at all times while using the current theme. + * + * Please take special care when using this parameter as it has the + * potential to be harmful if not used correctly. Setting this parameter + * to true will not allow the specified plugin to be deactivated unless + * the user switches themes. + * + * @since 2.2.0 + */ + public function force_activation() { + + /** Set file_path parameter for any installed plugins */ + $this->populate_file_path(); + + $installed_plugins = get_plugins(); + + foreach( $this->plugins as $plugin ) { + /** Oops, plugin isn't there so iterate to next condition */ + if( isset( $plugin['force_activation'] ) && $plugin['force_activation'] && !isset( $installed_plugins[$plugin['file_path']] ) ) { + continue; + } + /** There we go, activate the plugin */ + elseif( isset( $plugin['force_activation'] ) && $plugin['force_activation'] && is_plugin_inactive( $plugin['file_path'] ) ) { + activate_plugin( $plugin['file_path'] ); + } + } + + } + + /** + * Forces plugin deactivation if the parameter 'force_deactivation' + * is set to true. + * + * This allows theme authors to specify certain plugins that must be + * deactived upon switching from the current theme to another. + * + * Please take special care when using this parameter as it has the + * potential to be harmful if not used correctly. + * + * @since 2.2.0 + */ + public function force_deactivation() { + + /** Set file_path parameter for any installed plugins */ + $this->populate_file_path(); + + foreach( $this->plugins as $plugin ) { + /** Only proceed forward if the paramter is set to true and plugin is active */ + if( isset( $plugin['force_deactivation'] ) && $plugin['force_deactivation'] && is_plugin_active( $plugin['file_path'] ) ) { + deactivate_plugins( $plugin['file_path'] ); + } + } + + } + + } +} + +/** Create a new instance of the class */ +new TGM_Plugin_Activation; + +if( !function_exists( 'tgmpa' ) ) { + /** + * Helper function to register a collection of required plugins. + * + * @since 2.0.0 + * @api + * + * @param array $plugins An array of plugin arrays + * @param array $config Optional. An array of configuration values + */ + function tgmpa( $plugins, $config = array() ) { + + foreach( $plugins as $plugin ) { + TGM_Plugin_Activation::$instance->register( $plugin ); + } + + if( $config ) { + TGM_Plugin_Activation::$instance->config( $config ); + } + + } +} + +/** + * WP_List_Table isn't always available. If it isn't available, + * we load it here. + * + * @since 2.2.0 + */ +if( !class_exists( 'WP_List_Table' ) ) { + require_once( ABSPATH . 'wp-admin/includes/class-wp-list-table.php' ); +} + +if( !class_exists( 'TGMPA_List_Table' ) ) { + /** + * List table class for handling plugins. + * + * Extends the WP_List_Table class to provide a future-compatible + * way of listing out all required/recommended plugins. + * + * Gives users an interface similar to the Plugin Administration + * area with similar (albeit stripped down) capabilities. + * + * This class also allows for the bulk install of plugins. + * + * @since 2.2.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGMPA_List_Table extends WP_List_Table { + + /** + * References parent constructor and sets defaults for class. + * + * The constructor also grabs a copy of $instance from the TGMPA class + * and stores it in the global object TGM_Plugin_Activation::$instance. + * + * @since 2.2.0 + * + * @global unknown $status + * @global string $page + */ + public function __construct() { + + global $status, $page; + + parent::__construct( + array( + 'singular' => 'plugin', + 'plural' => 'plugins', + 'ajax' => false, + ) + ); + + } + + /** + * Gathers and renames all of our plugin information to be used by + * WP_List_Table to create our table. + * + * @since 2.2.0 + * + * @return array $table_data Information for use in table + */ + protected function _gather_plugin_data() { + + /** Load thickbox for plugin links */ + TGM_Plugin_Activation::$instance->admin_init(); + TGM_Plugin_Activation::$instance->thickbox(); + + /** Prep variables for use and grab list of all installed plugins */ + $table_data = array(); + $i = 0; + $installed_plugins = get_plugins(); + + foreach( TGM_Plugin_Activation::$instance->plugins as $plugin ) { + if( is_plugin_active( $plugin['file_path'] ) ) { + continue; + } // No need to display plugins if they are installed and activated + + $table_data[$i]['sanitized_plugin'] = $plugin['name']; + $table_data[$i]['slug'] = $this->_get_plugin_data_from_name( $plugin['name'] ); + + $external_url = $this->_get_plugin_data_from_name( $plugin['name'], 'external_url' ); + $source = $this->_get_plugin_data_from_name( $plugin['name'], 'source' ); + + if( $external_url && preg_match( '|^http(s)?://|', $external_url ) ) { + $table_data[$i]['plugin'] = '' . $plugin['name'] . ''; + } + elseif( !$source || preg_match( '|^http://wordpress.org/extend/plugins/|', $source ) ) { + $url = add_query_arg( + array( + 'tab' => 'plugin-information', + 'plugin' => $this->_get_plugin_data_from_name( $plugin['name'] ), + 'TB_iframe' => 'true', + 'width' => '640', + 'height' => '500', + ), + admin_url( 'plugin-install.php' ) + ); + + $table_data[$i]['plugin'] = '' . $plugin['name'] . ''; + } + else { + $table_data[$i]['plugin'] = '' . $plugin['name'] . ''; // No hyperlink + } + + if( isset( $table_data[$i]['plugin'] ) && (array)$table_data[$i]['plugin'] ) { + $plugin['name'] = $table_data[$i]['plugin']; + } + + if( isset( $plugin['external_url'] ) ) { + /** The plugin is linked to an external source */ + $table_data[$i]['source'] = __( 'External Link', 'tgmpa' ); + } + elseif( isset( $plugin['source'] ) ) { + /** The plugin must be from a private repository */ + if( preg_match( '|^http(s)?://|', $plugin['source'] ) ) { + $table_data[$i]['source'] = __( 'Private Repository', 'tgmpa' ); + } + /** The plugin is pre-packaged with the theme */ + else { + $table_data[$i]['source'] = __( 'Pre-Packaged', 'tgmpa' ); + } + } + /** The plugin is from the WordPress repository */ + else { + $table_data[$i]['source'] = __( 'WordPress Repository', 'tgmpa' ); + } + + $table_data[$i]['type'] = $plugin['required'] ? __( 'Required', 'tgmpa' ) : __( 'Recommended', 'tgmpa' ); + + if( !isset( $installed_plugins[$plugin['file_path']] ) ) { + $table_data[$i]['status'] = sprintf( '%1$s', __( 'Not Installed', 'tgmpa' ) ); + } + elseif( is_plugin_inactive( $plugin['file_path'] ) ) { + $table_data[$i]['status'] = sprintf( '%1$s', __( 'Installed But Not Activated', 'tgmpa' ) ); + } + + $table_data[$i]['file_path'] = $plugin['file_path']; + $table_data[$i]['url'] = isset( $plugin['source'] ) ? $plugin['source'] : 'repo'; + + $i++; + } + + /** Sort plugins by Required/Recommended type and by alphabetical listing within each type */ + $resort = array(); + $req = array(); + $rec = array(); + + /** Grab all the plugin types */ + foreach( $table_data as $plugin ) { + $resort[] = $plugin['type']; + } + + /** Sort each plugin by type */ + foreach( $resort as $type ) { + if( 'Required' == $type ) { + $req[] = $type; + } + else { + $rec[] = $type; + } + } + + /** Sort alphabetically each plugin type array, merge them and then sort in reverse (lists Required plugins first) */ + sort( $req ); + sort( $rec ); + array_merge( $resort, $req, $rec ); + array_multisort( $resort, SORT_DESC, $table_data ); + + return $table_data; + + } + + /** + * Retrieve plugin data, given the plugin name. Taken from the + * TGM_Plugin_Activation class. + * + * Loops through the registered plugins looking for $name. If it finds it, + * it returns the $data from that plugin. Otherwise, returns false. + * + * @since 2.2.0 + * + * @param string $name Name of the plugin, as it was registered + * @param string $data Optional. Array key of plugin data to return. Default is slug + * + * @return string|boolean Plugin slug if found, false otherwise + */ + protected function _get_plugin_data_from_name( $name, $data = 'slug' ) { + + foreach( TGM_Plugin_Activation::$instance->plugins as $plugin => $values ) { + if( $name == $values['name'] && isset( $values[$data] ) ) { + return $values[$data]; + } + } + + return false; + + } + + /** + * Create default columns to display important plugin information + * like type, action and status. + * + * @since 2.2.0 + * + * @param array $item + * @param string $column_name + */ + public function column_default( $item, $column_name ) { + + switch( $column_name ) { + case 'source': + case 'type': + case 'status': + return $item[$column_name]; + } + + } + + /** + * Create default title column along with action links of 'Install' + * and 'Activate'. + * + * @since 2.2.0 + * + * @param array $item + * + * @return string The action hover links + */ + public function column_plugin( $item ) { + + $installed_plugins = get_plugins(); + + /** No need to display any hover links */ + if( is_plugin_active( $item['file_path'] ) ) { + $actions = array(); + } + + /** We need to display the 'Install' hover link */ + if( !isset( $installed_plugins[$item['file_path']] ) ) { + $actions = array( + 'install' => sprintf( + 'Install', + wp_nonce_url( + add_query_arg( + array( + 'page' => TGM_Plugin_Activation::$instance->menu, + 'plugin' => $item['slug'], + 'plugin_name' => $item['sanitized_plugin'], + 'plugin_source' => $item['url'], + 'tgmpa-install' => 'install-plugin', + ), + admin_url( TGM_Plugin_Activation::$instance->parent_url_slug ) + ), + 'tgmpa-install' + ), + $item['sanitized_plugin'] + ), + ); + } + /** We need to display the 'Activate' hover link */ + elseif( is_plugin_inactive( $item['file_path'] ) ) { + $actions = array( + 'activate' => sprintf( + 'Activate', + add_query_arg( + array( + 'page' => TGM_Plugin_Activation::$instance->menu, + 'plugin' => $item['slug'], + 'plugin_name' => $item['sanitized_plugin'], + 'plugin_source' => $item['url'], + 'tgmpa-activate' => 'activate-plugin', + 'tgmpa-activate-nonce' => wp_create_nonce( 'tgmpa-activate' ), + ), + admin_url( TGM_Plugin_Activation::$instance->parent_url_slug ) + ), + $item['sanitized_plugin'] + ), + ); + } + + return sprintf( '%1$s %2$s', $item['plugin'], $this->row_actions( $actions ) ); + + } + + /** + * Required for bulk installing. + * + * Adds a checkbox for each plugin. + * + * @since 2.2.0 + * + * @param array $item + * + * @return string The input checkbox with all necessary info + */ + public function column_cb( $item ) { + + $value = $item['file_path'] . ',' . $item['url'] . ',' . $item['sanitized_plugin']; + + return sprintf( '', $this->_args['singular'], $value, $item['sanitized_plugin'] ); + + } + + /** + * Sets default message within the plugins table if no plugins + * are left for interaction. + * + * Hides the menu item to prevent the user from clicking and + * getting a permissions error. + * + * @since 2.2.0 + */ + public function no_items() { + + printf( __( 'No plugins to install or activate. Return to the Dashboard', 'tgmpa' ), admin_url() ); + echo ''; + + } + + /** + * Output all the column information within the table. + * + * @since 2.2.0 + * + * @return array $columns The column names + */ + public function get_columns() { + + $columns = array( + 'cb' => '', + 'plugin' => __( 'Plugin', 'tgmpa' ), + 'source' => __( 'Source', 'tgmpa' ), + 'type' => __( 'Type', 'tgmpa' ), + 'status' => __( 'Status', 'tgmpa' ) + ); + + return $columns; + + } + + /** + * Defines all types of bulk actions for handling + * registered plugins. + * + * @since 2.2.0 + * + * @return array $actions The bulk actions for the plugin install table + */ + public function get_bulk_actions() { + + $actions = array( + 'tgmpa-bulk-install' => __( 'Install', 'tgmpa' ), + 'tgmpa-bulk-activate' => __( 'Activate', 'tgmpa' ), + ); + + return $actions; + + } + + /** + * Processes bulk installation and activation actions. + * + * The bulk installation process looks either for the $_POST + * information or for the plugin info within the $_GET variable if + * a user has to use WP_Filesystem to enter their credentials. + * + * @since 2.2.0 + */ + public function process_bulk_actions() { + + /** Bulk installation process */ + if( 'tgmpa-bulk-install' === $this->current_action() ) { + check_admin_referer( 'bulk-' . $this->_args['plural'] ); + + /** Prep variables to be populated */ + $plugins_to_install = array(); + $plugin_installs = array(); + $plugin_path = array(); + $plugin_name = array(); + + /** Look first to see if information has been passed via WP_Filesystem */ + if( isset( $_GET[sanitize_key( 'plugins' )] ) ) { + $plugins = explode( ',', stripslashes( $_GET[sanitize_key( 'plugins' )] ) ); + } + /** Looks like the user can use the direct method, take from $_POST */ + elseif( isset( $_POST[sanitize_key( 'plugin' )] ) ) { + $plugins = (array)$_POST[sanitize_key( 'plugin' )]; + } + /** Nothing has been submitted */ + else { + $plugins = array(); + } + + $a = 0; // Incremental variable + + /** Grab information from $_POST if available */ + if( isset( $_POST[sanitize_key( 'plugin' )] ) ) { + foreach( $plugins as $plugin_data ) { + $plugins_to_install[] = explode( ',', $plugin_data ); + } + + foreach( $plugins_to_install as $plugin_data ) { + $plugin_installs[] = $plugin_data[0]; + $plugin_path[] = $plugin_data[1]; + $plugin_name[] = $plugin_data[2]; + } + } + /** Information has been passed via $_GET */ + else { + foreach( $plugins as $key => $value ) { + /** Grab plugin slug for each plugin */ + if( 0 == $key % 3 || 0 == $key ) { + $plugins_to_install[] = $value; + $plugin_installs[] = $value; + } + $a++; + } + } + + /** Look first to see if information has been passed via WP_Filesystem */ + if( isset( $_GET[sanitize_key( 'plugin_paths' )] ) ) { + $plugin_paths = explode( ',', stripslashes( $_GET[sanitize_key( 'plugin_paths' )] ) ); + } + /** Looks like the user doesn't need to enter his FTP creds */ + elseif( isset( $_POST[sanitize_key( 'plugin' )] ) ) { + $plugin_paths = (array)$plugin_path; + } + /** Nothing has been submitted */ + else { + $plugin_paths = array(); + } + + /** Look first to see if information has been passed via WP_Filesystem */ + if( isset( $_GET[sanitize_key( 'plugin_names' )] ) ) { + $plugin_names = explode( ',', stripslashes( $_GET[sanitize_key( 'plugin_names' )] ) ); + } + /** Looks like the user doesn't need to enter his FTP creds */ + elseif( isset( $_POST[sanitize_key( 'plugin' )] ) ) { + $plugin_names = (array)$plugin_name; + } + /** Nothing has been submitted */ + else { + $plugin_names = array(); + } + + $b = 0; // Incremental variable + + /** Loop through plugin slugs and remove already installed plugins from the list */ + foreach( $plugin_installs as $key => $plugin ) { + if( preg_match( '|.php$|', $plugin ) ) { + unset( $plugin_installs[$key] ); + + /** If the plugin path isn't in the $_GET variable, we can unset the corresponding path */ + if( !isset( $_GET[sanitize_key( 'plugin_paths' )] ) ) { + unset( $plugin_paths[$b] ); + } + + /** If the plugin name isn't in the $_GET variable, we can unset the corresponding name */ + if( !isset( $_GET[sanitize_key( 'plugin_names' )] ) ) { + unset( $plugin_names[$b] ); + } + } + $b++; + } + + /** No need to proceed further if we have no plugins to install */ + if( empty( $plugin_installs ) ) { + return false; + } + + /** Reset array indexes in case we removed already installed plugins */ + $plugin_installs = array_values( $plugin_installs ); + $plugin_paths = array_values( $plugin_paths ); + $plugin_names = array_values( $plugin_names ); + + /** If we grabbed our plugin info from $_GET, we need to decode it for use */ + $plugin_installs = array_map( 'urldecode', $plugin_installs ); + $plugin_paths = array_map( 'urldecode', $plugin_paths ); + $plugin_names = array_map( 'urldecode', $plugin_names ); + + /** Pass all necessary information via URL if WP_Filesystem is needed */ + $url = wp_nonce_url( + add_query_arg( + array( + 'page' => TGM_Plugin_Activation::$instance->menu, + 'tgmpa-action' => 'install-selected', + 'plugins' => urlencode( implode( ',', $plugins ) ), + 'plugin_paths' => urlencode( implode( ',', $plugin_paths ) ), + 'plugin_names' => urlencode( implode( ',', $plugin_names ) ), + ), + admin_url( TGM_Plugin_Activation::$instance->parent_url_slug ) + ), + 'bulk-plugins' + ); + $method = ''; // Leave blank so WP_Filesystem can populate it as necessary + $fields = array( sanitize_key( 'action' ), sanitize_key( '_wp_http_referer' ), sanitize_key( '_wpnonce' ) ); // Extra fields to pass to WP_Filesystem + + if( false === ( $creds = request_filesystem_credentials( $url, $method, false, false, $fields ) ) ) { + return true; + } + + if( !WP_Filesystem( $creds ) ) { + request_filesystem_credentials( $url, $method, true, false, $fields ); // Setup WP_Filesystem + return true; + } + + require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; // Need for plugins_api + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; // Need for upgrade classes + + /** Store all information in arrays since we are processing a bulk installation */ + $api = array(); + $sources = array(); + $install_path = array(); + + $c = 0; // Incremental variable + + /** Loop through each plugin to install and try to grab information from WordPress API, if not create 'tgmpa-empty' scalar */ + foreach( $plugin_installs as $plugin ) { + $api[$c] = plugins_api( 'plugin_information', array( 'slug' => $plugin, 'fields' => array( 'sections' => false ) ) ) ? plugins_api( 'plugin_information', array( 'slug' => $plugin, 'fields' => array( 'sections' => false ) ) ) : (object)$api[$c] = 'tgmpa-empty'; + $c++; + } + + if( is_wp_error( $api ) ) { + wp_die( TGM_Plugin_Activation::$instance->strings['oops'] . var_dump( $api ) ); + } + + $d = 0; // Incremental variable + + /** Capture download links from $api or set install link to pre-packaged/private repo */ + foreach( $api as $object ) { + $sources[$d] = isset( $object->download_link ) && 'repo' == $plugin_paths[$d] ? $object->download_link : $plugin_paths[$d]; + $d++; + } + + /** Finally, all the data is prepared to be sent to the installer */ + $url = add_query_arg( array( 'page' => TGM_Plugin_Activation::$instance->menu ), admin_url( TGM_Plugin_Activation::$instance->parent_url_slug ) ); + $nonce = 'bulk-plugins'; + $names = $plugin_names; + + /** Create a new instance of TGM_Bulk_Installer */ + $installer = new TGM_Bulk_Installer( $skin = new TGM_Bulk_Installer_Skin( compact( 'url', 'nonce', 'names' ) ) ); + + /** Wrap the install process with the appropriate HTML */ + echo '
    '; + screen_icon( apply_filters( 'tgmpa_default_screen_icon', 'themes' ) ); + echo '

    ' . esc_html( get_admin_page_title() ) . '

    '; + /** Process the bulk installation submissions */ + $installer->bulk_install( $sources ); + echo '
    '; + + return true; + } + + /** Bulk activation process */ + if( 'tgmpa-bulk-activate' === $this->current_action() ) { + check_admin_referer( 'bulk-' . $this->_args['plural'] ); + + /** Grab plugin data from $_POST */ + $plugins = isset( $_POST[sanitize_key( 'plugin' )] ) ? (array)$_POST[sanitize_key( 'plugin' )] : array(); + $plugins_to_activate = array(); + + /** Split plugin value into array with plugin file path, plugin source and plugin name */ + foreach( $plugins as $i => $plugin ) { + $plugins_to_activate[] = explode( ',', $plugin ); + } + + foreach( $plugins_to_activate as $i => $array ) { + if( !preg_match( '|.php$|', $array[0] ) ) // Plugins that haven't been installed yet won't have the correct file path + { + unset( $plugins_to_activate[$i] ); + } + } + + /** Return early if there are no plugins to activate */ + if( empty( $plugins_to_activate ) ) { + return; + } + + $plugins = array(); + $plugin_names = array(); + + foreach( $plugins_to_activate as $plugin_string ) { + $plugins[] = $plugin_string[0]; + $plugin_names[] = $plugin_string[2]; + } + + $count = count( $plugin_names ); // Count so we can use _n function + $last_plugin = array_pop( $plugin_names ); // Pop off last name to prep for readability + $imploded = empty( $plugin_names ) ? '' . $last_plugin . '' : '' . ( implode( ', ', $plugin_names ) . ' and ' . $last_plugin . '.' ); + + /** Now we are good to go - let's start activating plugins */ + $activate = activate_plugins( $plugins ); + + if( is_wp_error( $activate ) ) { + echo '

    ' . $activate->get_error_message() . '

    '; + } + else { + printf( '

    %1$s %2$s

    ', _n( 'The following plugin was activated successfully:', 'The following plugins were activated successfully:', $count, 'tgmpa' ), $imploded ); + } + + /** Update recently activated plugins option */ + $recent = (array)get_option( 'recently_activated' ); + + foreach( $plugins as $plugin => $time ) { + if( isset( $recent[$plugin] ) ) { + unset( $recent[$plugin] ); + } + } + + update_option( 'recently_activated', $recent ); + + unset( $_POST ); // Reset the $_POST variable in case user wants to perform one action after another + } + } + + /** + * Prepares all of our information to be outputted into a usable table. + * + * @since 2.2.0 + */ + public function prepare_items() { + + $per_page = 100; // Set it high so we shouldn't have to worry about pagination + $columns = $this->get_columns(); // Get all necessary column information + $hidden = array(); // No columns to hide, but we must set as an array + $sortable = array(); // No reason to make sortable columns + $this->_column_headers = array( $columns, $hidden, $sortable ); // Get all necessary column headers + + /** Process our bulk actions here */ + $this->process_bulk_actions(); + + /** Store all of our plugin data into $items array so WP_List_Table can use it */ + $this->items = $this->_gather_plugin_data(); + + } + + } +} + +/** + * The WP_Upgrader file isn't always available. If it isn't available, + * we load it here. + * + * We check to make sure no action or activation keys are set so that WordPress + * doesn't try to re-include the class when processing upgrades or installs outside + * of the class. + * + * @since 2.2.0 + */ +if( !class_exists( 'WP_Upgrader' ) && ( isset( $_GET[sanitize_key( 'page' )] ) && TGM_Plugin_Activation::$instance->menu === $_GET[sanitize_key( 'page' )] ) ) { + require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; + + if( !class_exists( 'TGM_Bulk_Installer' ) ) { + /** + * Installer class to handle bulk plugin installations. + * + * Extends WP_Upgrader and customizes to suit the installation of multiple + * plugins. + * + * @since 2.2.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGM_Bulk_Installer extends WP_Upgrader { + + /** + * Holds result of bulk plugin installation. + * + * @since 2.2.0 + * + * @var string + */ + public $result; + + /** + * Flag to check if bulk installation is occurring or not. + * + * @since 2.2.0 + * + * @var boolean + */ + public $bulk = false; + + /** + * Processes the bulk installation of plugins. + * + * @since 2.2.0 + * + * @param array $packages The plugin sources needed for installation + * + * @return string|boolean Install confirmation messages on success, false on failure + */ + public function bulk_install( $packages ) { + + /** Pass installer skin object and set bulk property to true */ + $this->init(); + $this->bulk = true; + + /** Set install strings and automatic activation strings (if config option is set to true) */ + $this->install_strings(); + if( TGM_Plugin_Activation::$instance->is_automatic ) { + $this->activate_strings(); + } + + /** Run the header string to notify user that the process has begun */ + $this->skin->header(); + + /** Connect to the Filesystem */ + $res = $this->fs_connect( array( WP_CONTENT_DIR, WP_PLUGIN_DIR ) ); + if( !$res ) { + $this->skin->footer(); + + return false; + } + + /** Set the bulk header and prepare results array */ + $this->skin->bulk_header(); + $results = array(); + + /** Get the total number of packages being processed and iterate as each package is successfully installed */ + $this->update_count = count( $packages ); + $this->update_current = 0; + + /** Loop through each plugin and process the installation */ + foreach( $packages as $plugin ) { + $this->update_current++; // Increment counter + + /** Do the plugin install */ + $result = $this->run( + array( + 'package' => $plugin, // The plugin source + 'destination' => WP_PLUGIN_DIR, // The destination dir + 'clear_destination' => false, // Do we want to clear the destination or not? + 'clear_working' => true, // Remove original install file + 'is_multi' => true, // Are we processing multiple installs? + 'hook_extra' => array( 'plugin' => $plugin, ), // Pass plugin source as extra data + ) + ); + + /** Store installation results in result property */ + $results[$plugin] = $this->result; + + /** Prevent credentials auth screen from displaying multiple times */ + if( false === $result ) { + break; + } + } + + /** Pass footer skin strings */ + $this->skin->bulk_footer(); + $this->skin->footer(); + + /** Return our results */ + + return $results; + + } + + /** + * Performs the actual installation of each plugin. + * + * This method also activates the plugin in the automatic flag has been + * set to true for the TGMPA class. + * + * @since 2.2.0 + * + * @param array $options The installation cofig options + * + * @return null/array Return early if error, array of installation data on success + */ + public function run( $options ) { + + /** Default config options */ + $defaults = array( + 'package' => '', + 'destination' => '', + 'clear_destination' => false, + 'clear_working' => true, + 'is_multi' => false, + 'hook_extra' => array(), + ); + + /** Parse default options with config options from $this->bulk_upgrade and extract them */ + $options = wp_parse_args( $options, $defaults ); + extract( $options ); + + /** Connect to the Filesystem */ + $res = $this->fs_connect( array( WP_CONTENT_DIR, $destination ) ); + if( !$res ) { + return false; + } + + /** Return early if there is an error connecting to the Filesystem */ + if( is_wp_error( $res ) ) { + $this->skin->error( $res ); + + return $res; + } + + /** Call $this->header separately if running multiple times */ + if( !$is_multi ) { + $this->skin->header(); + } + + /** Set strings before the package is installed */ + $this->skin->before(); + + /** Download the package (this just returns the filename of the file if the package is a local file) */ + $download = $this->download_package( $package ); + if( is_wp_error( $download ) ) { + $this->skin->error( $download ); + $this->skin->after(); + + return $download; + } + + /** Don't accidentally delete a local file */ + $delete_package = ( $download != $package ); + + /** Unzip file into a temporary working directory */ + $working_dir = $this->unpack_package( $download, $delete_package ); + if( is_wp_error( $working_dir ) ) { + $this->skin->error( $working_dir ); + $this->skin->after(); + + return $working_dir; + } + + /** Install the package into the working directory with all passed config options */ + $result = $this->install_package( + array( + 'source' => $working_dir, + 'destination' => $destination, + 'clear_destination' => $clear_destination, + 'clear_working' => $clear_working, + 'hook_extra' => $hook_extra, + ) + ); + + /** Pass the result of the installation */ + $this->skin->set_result( $result ); + + /** Set correct strings based on results */ + if( is_wp_error( $result ) ) { + $this->skin->error( $result ); + $this->skin->feedback( 'process_failed' ); + } + /** The plugin install is successful */ + else { + $this->skin->feedback( 'process_success' ); + } + + /** Only process the activation of installed plugins if the automatic flag is set to true */ + if( TGM_Plugin_Activation::$instance->is_automatic ) { + /** Flush plugins cache so we can make sure that the installed plugins list is always up to date */ + wp_cache_flush(); + + /** Get the installed plugin file and activate it */ + $plugin_info = $this->plugin_info( $package ); + $activate = activate_plugin( $plugin_info ); + + /** Re-populate the file path now that the plugin has been installed and activated */ + TGM_Plugin_Activation::$instance->populate_file_path(); + + /** Set correct strings based on results */ + if( is_wp_error( $activate ) ) { + $this->skin->error( $activate ); + $this->skin->feedback( 'activation_failed' ); + } + /** The plugin activation is successful */ + else { + $this->skin->feedback( 'activation_success' ); + } + } + + /** Flush plugins cache so we can make sure that the installed plugins list is always up to date */ + wp_cache_flush(); + + /** Set install footer strings */ + $this->skin->after(); + if( !$is_multi ) { + $this->skin->footer(); + } + + return $result; + + } + + /** + * Sets the correct install strings for the installer skin to use. + * + * @since 2.2.0 + */ + public function install_strings() { + + $this->strings['no_package'] = __( 'Install package not available.', 'tgmpa' ); + $this->strings['downloading_package'] = __( 'Downloading install package from %s…', 'tgmpa' ); + $this->strings['unpack_package'] = __( 'Unpacking the package…', 'tgmpa' ); + $this->strings['installing_package'] = __( 'Installing the plugin…', 'tgmpa' ); + $this->strings['process_failed'] = __( 'Plugin install failed.', 'tgmpa' ); + $this->strings['process_success'] = __( 'Plugin installed successfully.', 'tgmpa' ); + + } + + /** + * Sets the correct activation strings for the installer skin to use. + * + * @since 2.2.0 + */ + public function activate_strings() { + + $this->strings['activation_failed'] = __( 'Plugin activation failed.', 'tgmpa' ); + $this->strings['activation_success'] = __( 'Plugin activated successfully.', 'tgmpa' ); + + } + + /** + * Grabs the plugin file from an installed plugin. + * + * @since 2.2.0 + * + * @return string|boolean Return plugin file on success, false on failure + */ + public function plugin_info() { + + /** Return false if installation result isn't an array or the destination name isn't set */ + if( !is_array( $this->result ) ) { + return false; + } + if( empty( $this->result['destination_name'] ) ) { + return false; + } + + /** Get the installed plugin file or return false if it isn't set */ + $plugin = get_plugins( '/' . $this->result['destination_name'] ); + if( empty( $plugin ) ) { + return false; + } + + /** Assume the requested plugin is the first in the list */ + $pluginfiles = array_keys( $plugin ); + + return $this->result['destination_name'] . '/' . $pluginfiles[0]; + + } + + } + } + + if( !class_exists( 'TGM_Bulk_Installer_Skin' ) ) { + /** + * Installer skin to set strings for the bulk plugin installations.. + * + * Extends Bulk_Upgrader_Skin and customizes to suit the installation of multiple + * plugins. + * + * @since 2.2.0 + * + * @package TGM-Plugin-Activation + * @author Thomas Griffin + * @author Gary Jones + */ + class TGM_Bulk_Installer_Skin extends Bulk_Upgrader_Skin { + + /** + * Holds plugin info for each individual plugin installation. + * + * @since 2.2.0 + * + * @var array + */ + public $plugin_info = array(); + + /** + * Holds names of plugins that are undergoing bulk installations. + * + * @since 2.2.0 + * + * @var array + */ + public $plugin_names = array(); + + /** + * Integer to use for iteration through each plugin installation. + * + * @since 2.2.0 + * + * @var integer + */ + public $i = 0; + + /** + * Constructor. Parses default args with new ones and extracts them for use. + * + * @since 2.2.0 + * + * @param array $args Arguments to pass for use within the class + */ + public function __construct( $args = array() ) { + + /** Parse default and new args */ + $defaults = array( 'url' => '', 'nonce' => '', 'names' => array() ); + $args = wp_parse_args( $args, $defaults ); + + /** Set plugin names to $this->plugin_names property */ + $this->plugin_names = $args['names']; + + /** Extract the new args */ + parent::__construct( $args ); + + } + + /** + * Sets install skin strings for each individual plugin. + * + * Checks to see if the automatic activation flag is set and uses the + * the proper strings accordingly. + * + * @since 2.2.0 + */ + public function add_strings() { + + /** Automatic activation strings */ + if( TGM_Plugin_Activation::$instance->is_automatic ) { + $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation and activation process is starting. This process may take a while on some hosts, so please be patient.', 'tgmpa' ); + $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed and activated successfully.', 'tgmpa' ) . ' ' . __( 'Show Details', 'tgmpa' ) . '.'; + $this->upgrader->strings['skin_upgrade_end'] = __( 'All installations and activations have been completed.', 'tgmpa' ); + $this->upgrader->strings['skin_before_update_header'] = __( 'Installing and Activating Plugin %1$s (%2$d/%3$d)', 'tgmpa' ); + } + /** Default installation strings */ + else { + $this->upgrader->strings['skin_upgrade_start'] = __( 'The installation process is starting. This process may take a while on some hosts, so please be patient.', 'tgmpa' ); + $this->upgrader->strings['skin_update_failed_error'] = __( 'An error occurred while installing %1$s: %2$s.', 'tgmpa' ); + $this->upgrader->strings['skin_update_failed'] = __( 'The installation of %1$s failed.', 'tgmpa' ); + $this->upgrader->strings['skin_update_successful'] = __( '%1$s installed successfully.', 'tgmpa' ) . ' ' . __( 'Show Details', 'tgmpa' ) . '.'; + $this->upgrader->strings['skin_upgrade_end'] = __( 'All installations have been completed.', 'tgmpa' ); + $this->upgrader->strings['skin_before_update_header'] = __( 'Installing Plugin %1$s (%2$d/%3$d)', 'tgmpa' ); + } + + } + + /** + * Outputs the header strings and necessary JS before each plugin installation. + * + * @since 2.2.0 + */ + public function before( $title = '' ) { + + /** We are currently in the plugin installation loop, so set to true */ + $this->in_loop = true; + + printf( '

    ' . $this->upgrader->strings['skin_before_update_header'] . '

    ', $this->plugin_names[$this->i], $this->upgrader->update_current, $this->upgrader->update_count ); + echo ''; + echo '

    '; + + /** Flush header output buffer */ + $this->before_flush_output(); + + } + + /** + * Outputs the footer strings and necessary JS after each plugin installation. + * + * Checks for any errors and outputs them if they exist, else output + * success strings. + * + * @since 2.2.0 + */ + public function after( $title = '' ) { + + /** Close install strings */ + echo '

    '; + + /** Output error strings if an error has occurred */ + if( $this->error || !$this->result ) { + if( $this->error ) { + echo '

    ' . sprintf( $this->upgrader->strings['skin_update_failed_error'], $this->plugin_names[$this->i], $this->error ) . '

    '; + } + else { + echo '

    ' . sprintf( $this->upgrader->strings['skin_update_failed'], $this->plugin_names[$this->i] ) . '

    '; + } + + echo ''; + } + + /** If the result is set and there are no errors, success! */ + if( !empty( $this->result ) && !is_wp_error( $this->result ) ) { + echo '

    ' . sprintf( $this->upgrader->strings['skin_update_successful'], $this->plugin_names[$this->i], 'jQuery(\'#progress-' . esc_js( $this->upgrader->update_current ) . '\').toggle();jQuery(\'span\', this).toggle(); return false;' ) . '

    '; + echo ''; + } + + /** Set in_loop and error to false and flush footer output buffer */ + $this->reset(); + $this->after_flush_output(); + + } + + /** + * Outputs links after bulk plugin installation is complete. + * + * @since 2.2.0 + */ + public function bulk_footer() { + + /** Serve up the string to say installations (and possibly activations) are complete */ + parent::bulk_footer(); + + /** Flush plugins cache so we can make sure that the installed plugins list is always up to date */ + wp_cache_flush(); + + /** Display message based on if all plugins are now active or not */ + $complete = array(); + foreach( TGM_Plugin_Activation::$instance->plugins as $plugin ) { + if( !is_plugin_active( $plugin['file_path'] ) ) { + echo '

    ' . TGM_Plugin_Activation::$instance->strings['return'] . '

    '; + $complete[] = $plugin; + break; + } + /** Nothing to store */ + else { + $complete[] = ''; + } + } + + /** Filter out any empty entries */ + $complete = array_filter( $complete ); + + /** All plugins are active, so we display the complete string and hide the menu to protect users */ + if( empty( $complete ) ) { + echo '

    ' . sprintf( TGM_Plugin_Activation::$instance->strings['complete'], '' . __( 'Return to the Dashboard', 'tgmpa' ) . '' ) . '

    '; + echo ''; + } + + } + + /** + * Flush header output buffer. + * + * @since 2.2.0 + */ + public function before_flush_output() { + + wp_ob_end_flush_all(); + flush(); + + } + + /** + * Flush footer output buffer and iterate $this->i to make sure the + * installation strings reference the correct plugin. + * + * @since 2.2.0 + */ + public function after_flush_output() { + + wp_ob_end_flush_all(); + flush(); + $this->i++; + + } + + } + } +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/functions-install.php b/wp-content/themes/responsive/core/includes/functions-install.php new file mode 100644 index 0000000..d9197f8 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/functions-install.php @@ -0,0 +1,60 @@ +

    '; + $my_theme = wp_get_theme(); + if ( isset( $_GET['previewed'] ) ) { + $return .= sprintf( __( 'Settings saved and %s activated successfully.' ), $my_theme->get( 'Name' ) ); + } else { + $return .= sprintf( __( '%s activated successfully.' ), $my_theme->get( 'Name' ) ); + } + $return .= ' ' . __( 'Visit site', 'responsive' ) . '

    '; + //$return .= '

    ' . __( 'Customize', 'responsive' ) . ''; + $return .= ' ' . __( 'Theme Options', 'responsive' ) . ''; + $return .= ' ' . __( 'Help', 'responsive' ) . ''; + $return .= '

    '; + echo $return; + } +} +add_action( 'admin_notices', 'responsive_activation_notice' ); + +/* + * Hide core theme activation message. + * + * @since 1.9.5.0 + */ +function responsive_admin_css() { ?> + + __( 'Main Sidebar', 'responsive' ), + 'description' => __( 'Area 1 - sidebar.php - Displays on Default, Blog, Blog Excerpt page templates', 'responsive' ), + 'id' => 'main-sidebar', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Right Sidebar', 'responsive' ), + 'description' => __( 'Area 2 - sidebar-right.php - Displays on Content/Sidebar page templates', 'responsive' ), + 'id' => 'right-sidebar', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Left Sidebar', 'responsive' ), + 'description' => __( 'Area 3 - sidebar-left.php - Displays on Sidebar/Content page templates', 'responsive' ), + 'id' => 'left-sidebar', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Left Sidebar Half Page', 'responsive' ), + 'description' => __( 'Area 4 - sidebar-left-half.php - Displays on Sidebar Half Page/Content page templates', 'responsive' ), + 'id' => 'left-sidebar-half', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Right Sidebar Half Page', 'responsive' ), + 'description' => __( 'Area 5 - sidebar-right-half.php - Displays on Content/Sidebar Half Page page templates', 'responsive' ), + 'id' => 'right-sidebar-half', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Home Widget 1', 'responsive' ), + 'description' => __( 'Area 6 - sidebar-home.php - Displays on the Home Page', 'responsive' ), + 'id' => 'home-widget-1', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Home Widget 2', 'responsive' ), + 'description' => __( 'Area 7 - sidebar-home.php - Displays on the Home Page', 'responsive' ), + 'id' => 'home-widget-2', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Home Widget 3', 'responsive' ), + 'description' => __( 'Area 8 - sidebar-home.php - Displays on the Home Page', 'responsive' ), + 'id' => 'home-widget-3', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Gallery Sidebar', 'responsive' ), + 'description' => __( 'Area 9 - sidebar-gallery.php - Displays on the page after an image has been clicked in a Gallery', 'responsive' ), + 'id' => 'gallery-widget', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Colophon Widget', 'responsive' ), + 'description' => __( 'Area 10 - sidebar-colophon.php, 100% width Footer widgets', 'responsive' ), + 'id' => 'colophon-widget', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Top Widget', 'responsive' ), + 'description' => __( 'Area 11 - sidebar-top.php - Displays on the right of the header', 'responsive' ), + 'id' => 'top-widget', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); + + register_sidebar( array( + 'name' => __( 'Footer Widget', 'responsive' ), + 'description' => __( 'Area 12 - sidebar-footer.php - Maximum of 3 widgets per row', 'responsive' ), + 'id' => 'footer-widget', + 'before_title' => '

    ', + 'after_title' => '

    ', + 'before_widget' => '
    ', + 'after_widget' => '
    ' + ) ); +} + +add_action( 'widgets_init', 'responsive_widgets_init' ); + +/* Add fit class to third footer widget */ +function responsive_footer_widgets( $params ) { + + global $footer_widget_num; //Our widget counter variable + + //Check if we are displaying "Footer Sidebar" + if ( $params[0]['id'] == 'footer-widget' ) { + $footer_widget_num++; + $divider = 3; //This is number of widgets that should fit in one row + + //If it's third widget, add last class to it + if ( $footer_widget_num % $divider == 0 ) { + $class = 'class="fit '; + $params[0]['before_widget'] = str_replace( 'class="', $class, $params[0]['before_widget'] ); + } + + } + + return $params; +} + +add_filter( 'dynamic_sidebar_params', 'responsive_footer_widgets' ); diff --git a/wp-content/themes/responsive/core/includes/functions-update.php b/wp-content/themes/responsive/core/includes/functions-update.php new file mode 100644 index 0000000..3770be6 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/functions-update.php @@ -0,0 +1,25 @@ + + false, + 'cta_button' => false, + 'minified_css' => false, + 'front_page' => 1, + 'home_headline' => null, + 'home_subheadline' => null, + 'home_content_area' => null, + 'cta_text' => null, + 'cta_url' => null, + 'featured_content' => null, + 'google_site_verification' => '', + 'bing_site_verification' => '', + 'yahoo_site_verification' => '', + 'site_statistics_tracker' => '', + 'twitter_uid' => '', + 'facebook_uid' => '', + 'linkedin_uid' => '', + 'youtube_uid' => '', + 'stumble_uid' => '', + 'rss_uid' => '', + 'google_plus_uid' => '', + 'instagram_uid' => '', + 'pinterest_uid' => '', + 'yelp_uid' => '', + 'vimeo_uid' => '', + 'foursquare_uid' => '', + 'responsive_inline_css' => '', + 'responsive_inline_js_head' => '', + 'responsive_inline_css_js_footer' => '', + 'static_page_layout_default' => 'content-sidebar-page', + 'single_post_layout_default' => 'content-sidebar-page', + 'blog_posts_index_layout_default' => 'content-sidebar-page', + ); + + return apply_filters( 'responsive_option_defaults', $defaults ); +} + +/** + * Helps file locations in child themes. If the file is not being overwritten by the child theme then + * return the parent theme location of the file. Great for images. + * + * @param $dir string directory + * + * @return string complete uri + */ +function responsive_child_uri( $dir ) { + if ( is_child_theme() ) { + $directory = get_stylesheet_directory() . $dir; + $test = is_file( $directory ); + if ( is_file( $directory ) ) { + $file = get_stylesheet_directory_uri() . $dir; + } else { + $file = get_template_directory_uri() . $dir; + } + } else { + $file = get_template_directory_uri() . $dir; + } + + return $file; +} + +/** + * Fire up the engines boys and girls let's start theme setup. + */ +add_action( 'after_setup_theme', 'responsive_setup' ); + +if ( !function_exists( 'responsive_setup' ) ): + + function responsive_setup() { + + global $content_width; + + $template_directory = get_template_directory(); + + /** + * Global content width. + */ + if ( !isset( $content_width ) ) { + $content_width = 550; + } + + /** + * Responsive is now available for translations. + * The translation files are in the /languages/ directory. + * Translations are pulled from the WordPress default lanaguge folder + * then from the child theme and then lastly from the parent theme. + * @see http://codex.wordpress.org/Function_Reference/load_theme_textdomain + */ + + $domain = 'responsive'; + + load_theme_textdomain( $domain, WP_LANG_DIR . '/responsive/' ); + load_theme_textdomain( $domain, get_stylesheet_directory() . '/languages/' ); + load_theme_textdomain( $domain, get_template_directory() . '/languages/' ); + + /** + * Add callback for custom TinyMCE editor stylesheets. (editor-style.css) + * @see http://codex.wordpress.org/Function_Reference/add_editor_style + */ + add_editor_style(); + + /** + * This feature enables post and comment RSS feed links to head. + * @see http://codex.wordpress.org/Function_Reference/add_theme_support#Feed_Links + */ + add_theme_support( 'automatic-feed-links' ); + + /** + * This feature enables post-thumbnail support for a theme. + * @see http://codex.wordpress.org/Function_Reference/add_theme_support#Post_Thumbnails + */ + add_theme_support( 'post-thumbnails' ); + + /** + * This feature enables woocommerce support for a theme. + * @see http://www.woothemes.com/2013/02/last-call-for-testing-woocommerce-2-0-coming-march-4th/ + */ + add_theme_support( 'woocommerce' ); + + /** + * This feature enables custom-menus support for a theme. + * @see http://codex.wordpress.org/Function_Reference/register_nav_menus + */ + register_nav_menus( array( + 'top-menu' => __( 'Top Menu', 'responsive' ), + 'header-menu' => __( 'Header Menu', 'responsive' ), + 'sub-header-menu' => __( 'Sub-Header Menu', 'responsive' ), + 'footer-menu' => __( 'Footer Menu', 'responsive' ) + ) + ); + + add_theme_support( 'custom-background' ); + + add_theme_support( 'custom-header', array( + // Header image default + 'default-image' => get_template_directory_uri() . '/core/images/default-logo.png', + // Header text display default + 'header-text' => false, + // Header image flex width + 'flex-width' => true, + // Header image width (in pixels) + 'width' => 300, + // Header image flex height + 'flex-height' => true, + // Header image height (in pixels) + 'height' => 100, + // Admin header style callback + 'admin-head-callback' => 'responsive_admin_header_style' + ) ); + + // gets included in the admin header + function responsive_admin_header_style() { + ?> + 0, + 'sort_column' => 'menu_order, post_title', + 'menu_class' => 'menu', + 'include' => '', + 'exclude' => '', + 'echo' => false, + 'show_home' => true, + 'link_before' => '', + 'link_after' => '' + ); + $pages = wp_page_menu( $args ); + $prepend = ''; + $output = $prepend . $pages . $append; + echo $output; +} + +/** + * This function removes .menu class from custom menus + * in widgets only and fallback's on default widget lists + * and assigns new unique class called .menu-widget + * + * Marko Heijnen Contribution + * + */ +class responsive_widget_menu_class { + public function __construct() { + add_action( 'widget_display_callback', array( $this, 'menu_different_class' ), 10, 2 ); + } + + public function menu_different_class( $settings, $widget ) { + if ( $widget instanceof WP_Nav_Menu_Widget ) { + add_filter( 'wp_nav_menu_args', array( $this, 'wp_nav_menu_args' ) ); + } + + return $settings; + } + + public function wp_nav_menu_args( $args ) { + remove_filter( 'wp_nav_menu_args', array( $this, 'wp_nav_menu_args' ) ); + + if ( 'menu' == $args['menu_class'] ) { + $args['menu_class'] = apply_filters( 'responsive_menu_widget_class', 'menu_widget' ); + } + + return $args; + } +} + +$GLOBALS['nav_menu_widget_classname'] = new responsive_widget_menu_class(); + +/** + * Removes div from wp_page_menu() and replace with ul. + */ +function responsive_wp_page_menu( $page_markup ) { + preg_match( '/^
    /i', $page_markup, $matches ); + $divclass = $matches[1]; + $replace = array( '
    ', '
    ' ); + $new_markup = str_replace( $replace, '', $page_markup ); + $new_markup = preg_replace( '/^
      /i', '
        ', $new_markup ); + + return $new_markup; +} + +add_filter( 'wp_page_menu', 'responsive_wp_page_menu' ); + +/** + * wp_title() Filter for better SEO. + * + * Adopted from Twenty Twelve + * @see http://codex.wordpress.org/Plugin_API/Filter_Reference/wp_title + * + */ +if ( !function_exists( 'responsive_wp_title' ) && !defined( 'AIOSEOP_VERSION' ) ) : + + function responsive_wp_title( $title, $sep ) { + global $page, $paged; + + if ( is_feed() ) { + return $title; + } + + // Add the site name. + $title .= get_bloginfo( 'name' ); + + // Add the site description for the home/front page. + $site_description = get_bloginfo( 'description', 'display' ); + if ( $site_description && ( is_home() || is_front_page() ) ) { + $title .= " $sep $site_description"; + } + + // Add a page number if necessary. + if ( $paged >= 2 || $page >= 2 ) { + $title .= " $sep " . sprintf( __( 'Page %s', 'responsive' ), max( $paged, $page ) ); + } + + return $title; + } + + add_filter( 'wp_title', 'responsive_wp_title', 10, 2 ); + +endif; + +/** + * Filter 'get_comments_number' + * + * Filter 'get_comments_number' to display correct + * number of comments (count only comments, not + * trackbacks/pingbacks) + * + * Chip Bennett Contribution + */ +function responsive_comment_count( $count ) { + if ( !is_admin() ) { + global $id; + $comments = get_comments( 'status=approve&post_id=' . $id ); + $comments_by_type = separate_comments( $comments ); + + return count( $comments_by_type['comment'] ); + } else { + return $count; + } +} + +add_filter( 'get_comments_number', 'responsive_comment_count', 0 ); + +/** + * wp_list_comments() Pings Callback + * + * wp_list_comments() Callback function for + * Pings (Trackbacks/Pingbacks) + */ +function responsive_comment_list_pings( $comment ) { + $GLOBALS['comment'] = $comment; + ?> +
      • id="li-comment-">
      • +' . __( 'Read more ›', 'responsive' ) . '
    '; +} + +/** + * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and responsive_read_more_link(). + */ +function responsive_auto_excerpt_more( $more ) { + return '' . responsive_read_more(); +} + +add_filter( 'excerpt_more', 'responsive_auto_excerpt_more' ); + +/** + * Adds a pretty "Read more" link to custom post excerpts. + */ +function responsive_custom_excerpt_more( $output ) { + if ( has_excerpt() && !is_attachment() ) { + $output .= responsive_read_more(); + } + + return $output; +} + +add_filter( 'get_the_excerpt', 'responsive_custom_excerpt_more' ); + +/** + * This function removes inline styles set by WordPress gallery. + */ +function responsive_remove_gallery_css( $css ) { + return preg_replace( "##s", '', $css ); +} + +add_filter( 'gallery_style', 'responsive_remove_gallery_css' ); + +/** + * This function removes default styles set by WordPress recent comments widget. + */ +function responsive_remove_recent_comments_style() { + global $wp_widget_factory; + if ( isset( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'] ) ) { + remove_action( 'wp_head', array( $wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style' ) ); + } +} + +add_action( 'widgets_init', 'responsive_remove_recent_comments_style' ); + +/** + * This function prints post meta data. + * + * Ulrich Pogson Contribution + * + */ +if ( !function_exists( 'responsive_post_meta_data' ) ) : + + function responsive_post_meta_data() { + printf( __( 'Posted on %2$s by %4$s', 'responsive' ), + 'meta-prep meta-prep-author posted', + sprintf( '%3$s', + esc_url( get_permalink() ), + esc_attr( get_the_time() ), + esc_html( get_the_date() ) + ), + 'byline', + sprintf( '%3$s', + get_author_posts_url( get_the_author_meta( 'ID' ) ), + sprintf( esc_attr__( 'View all posts by %s', 'responsive' ), get_the_author() ), + esc_attr( get_the_author() ) + ) + ); + } +endif; + +/** + * This function removes WordPress generated category and tag atributes. + * For W3C validation purposes only. + * + */ +function responsive_category_rel_removal( $output ) { + $output = str_replace( ' rel="category tag"', '', $output ); + + return $output; +} + +add_filter( 'wp_list_categories', 'responsive_category_rel_removal' ); +add_filter( 'the_category', 'responsive_category_rel_removal' ); + +/** + * Breadcrumb Lists + * Load the plugin from the plugin that is installed. + * + */ +function get_responsive_breadcrumb_lists() { + $responsive_options = get_option( 'responsive_theme_options' ); + if ( 1 == $responsive_options['breadcrumb'] ) { + return; + } elseif ( function_exists( 'bcn_display' ) ) { + bcn_display(); + } elseif ( function_exists( 'breadcrumb_trail' ) ) { + breadcrumb_trail(); + } elseif ( function_exists( 'yoast_breadcrumb' ) ) { + yoast_breadcrumb( '' ); + } elseif ( ! is_search() ) { + responsive_breadcrumb_lists(); + } +} + +/** + * Breadcrumb Lists + * Allows visitors to quickly navigate back to a previous section or the root page. + * + * Adopted from Dimox + * + */ +if ( !function_exists( 'responsive_breadcrumb_lists' ) ) { + + function responsive_breadcrumb_lists() { + + /* === OPTIONS === */ + $text['home'] = __( 'Home', 'responsive' ); // text for the 'Home' link + $text['category'] = __( 'Archive for %s', 'responsive' ); // text for a category page + $text['search'] = __( 'Search results for: %s', 'responsive' ); // text for a search results page + $text['tag'] = __( 'Posts tagged %s', 'responsive' ); // text for a tag page + $text['author'] = __( 'View all posts by %s', 'responsive' ); // text for an author page + $text['404'] = __( 'Error 404', 'responsive' ); // text for the 404 page + + $show['current'] = 1; // 1 - show current post/page title in breadcrumbs, 0 - don't show + $show['home'] = 0; // 1 - show breadcrumbs on the homepage, 0 - don't show + + $delimiter = ' '; // delimiter between crumbs + $before = ''; // tag before the current crumb + $after = ''; // tag after the current crumb + /* === END OF OPTIONS === */ + + $home_link = home_url( '/' ); + $before_link = ''; + $after_link = ''; + $link_att = ' rel="v:url" property="v:title"'; + $link = $before_link . '%2$s' . $after_link; + + $post = get_queried_object(); + $parent_id = isset( $post->post_parent ) ? $post->post_parent : ''; + + $html_output = ''; + + if ( is_front_page() ) { + if ( 1 == $show['home'] ) { + $html_output .= ''; + } + + } else { + $html_output .= ''; + + } + + echo $html_output; + + } // end responsive_breadcrumb_lists + +} + +/** + * A safe way of adding stylesheets to a WordPress generated page. + */ +if ( !function_exists( 'responsive_css' ) ) { + + function responsive_css() { + $theme = wp_get_theme(); + $responsive = wp_get_theme( 'responsive' ); + $responsive_options = get_option( 'responsive_theme_options' ); + if ( 1 == $responsive_options['minified_css'] ) { + wp_enqueue_style( 'responsive-style', get_template_directory_uri() . '/core/css/style.min.css', false, $responsive['Version'] ); + } else { + wp_enqueue_style( 'responsive-style', get_template_directory_uri() . '/core/css/style.css', false, $responsive['Version'] ); + wp_enqueue_style( 'responsive-media-queries', get_template_directory_uri() . '/core/css/responsive.css', false, $responsive['Version'] ); + } + + if ( is_rtl() ) { + wp_enqueue_style( 'responsive-rtl-style', get_template_directory_uri() . '/rtl.css', false, $responsive['Version'] ); + } + if ( is_child_theme() ) { + wp_enqueue_style( 'responsive-child-style', get_stylesheet_uri(), false, $theme['Version'] ); + } + } + +} +add_action( 'wp_enqueue_scripts', 'responsive_css' ); + +/** + * A safe way of adding JavaScripts to a WordPress generated page. + */ +if ( !function_exists( 'responsive_js' ) ) { + + function responsive_js() { + $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; + $directory = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? 'js-dev' : 'js'; + $template_directory_uri = get_template_directory_uri(); + + // JS at the bottom for fast page loading. + // except for Modernizr which enables HTML5 elements & feature detects. + wp_enqueue_script( 'modernizr', $template_directory_uri . '/core/' . $directory . '/responsive-modernizr' . $suffix . '.js', array( 'jquery' ), '2.6.1', false ); + wp_enqueue_script( 'responsive-scripts', $template_directory_uri . '/core/' . $directory . '/responsive-scripts' . $suffix . '.js', array( 'jquery' ), '1.2.5', true ); + if ( !wp_script_is( 'tribe-placeholder' ) ) { + wp_enqueue_script( 'jquery-placeholder', $template_directory_uri . '/core/' . $directory . '/jquery.placeholder' . $suffix . '.js', array( 'jquery' ), '2.0.7', true ); + } + } + +} +add_action( 'wp_enqueue_scripts', 'responsive_js' ); + +/** + * A comment reply. + */ +function responsive_enqueue_comment_reply() { + if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { + wp_enqueue_script( 'comment-reply' ); + } +} + +add_action( 'wp_enqueue_scripts', 'responsive_enqueue_comment_reply' ); + +/** + * Theme options upgrade bar + */ +function responsive_upgrade_bar() { + ?> + +
    +

    CyberChimps + Responsive Pro ' + ); ?> +

    + + +
    + + + +
    +
    + + + + + + + + + + + + + + + + +
    +
    + + 'Responsive Add Ons', // The plugin name + 'slug' => 'responsive-add-ons', // The plugin slug (typically the folder name) + 'required' => false + ) + ); + + // Change this to your theme text domain, used for internationalising strings + $theme_text_domain = 'responsive'; + + /** + * Array of configuration settings. Amend each line as needed. + * If you want the default strings to be available under your own theme domain, + * leave the strings uncommented. + * Some of the strings are added into a sprintf, so see the comments at the + * end of each line for what each argument will be. + */ + + $config = array( + 'domain' => $theme_text_domain, // Text domain - likely want to be the same as your theme. + 'default_path' => '', // Default absolute path to pre-packaged plugins + 'parent_menu_slug' => 'themes.php', // Default parent menu slug + 'parent_url_slug' => 'themes.php', // Default parent URL slug + 'menu' => 'install-responsive-addons', // Menu slug + 'has_notices' => true, // Show admin notices or not + 'is_automatic' => true, // Automatically activate plugins after installation or not + 'message' => '', // Message to output right before the plugins table + 'strings' => array( + 'page_title' => __( 'Responsive Add Features', $theme_text_domain ), + 'menu_title' => __( 'Activate Add Ons', $theme_text_domain ), + 'installing' => __( 'Installing Plugin: %s', $theme_text_domain ), // %1$s = plugin name + 'oops' => __( 'Something went wrong with the plugin API.', $theme_text_domain ), + 'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), // %1$s = plugin name(s) + 'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ), // %1$s = plugin name(s) + 'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), // %1$s = plugin name(s) + 'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s) + 'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s) + 'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), // %1$s = plugin name(s) + 'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ), // %1$s = plugin name(s) + 'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), // %1$s = plugin name(s) + 'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ), + 'activate_link' => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ), + 'return' => __( 'Return to Required Plugins Installer', $theme_text_domain ), + 'plugin_activated' => __( 'Plugin activated successfully.', $theme_text_domain ), + 'complete' => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ) // %1$s = dashboard link + ) + ); + + global $pagenow; + // Add plugin notification only if the current user is admin and on theme.php + if ( current_user_can( 'manage_options' ) && 'themes.php' == $pagenow ) { + tgmpa( $plugins, $config ); + } + +} +add_action( 'tgmpa_register', 'responsive_install_plugins' ); + +/* + * Add notification to Reading Settings page to notify if Custom Front Page is enabled. + * + * @since 1.9.4.0 + */ +function responsive_front_page_reading_notice() { + $screen = get_current_screen(); + $responsive_options = responsive_get_options(); + if ( 'options-reading' == $screen->id ) { + $html = '
    '; + if ( 1 == $responsive_options['front_page'] ) { + $html .= '

    ' . sprintf( __( 'The Custom Front Page is enabled. You can disable it in the theme settings.', 'responsive' ), admin_url( 'themes.php?page=theme_options' ) ) . '

    '; + } else { + $html .= '

    ' . sprintf( __( 'The Custom Front Page is disabled. You can enable it in the theme settings.', 'responsive' ), admin_url( 'themes.php?page=theme_options' ) ) . '

    '; + } + $html .= '
    '; + echo $html; + } +} + +add_action( 'admin_notices', 'responsive_front_page_reading_notice' ); + +/** + * Use shortcode_atts_gallery filter to add new defaults to the WordPress gallery shortcode. + * Allows user input in the post gallery shortcode. + * + */ +function responsive_gallery_atts( $out, $pairs, $atts ) { + + $full_width = is_page_template( 'full-width-page.php' ) || is_page_template( 'landing-page.php' ); + + // Check if the size attribute has been set, if so use it and skip the responsive sizes + if ( array_key_exists( 'size', $atts ) ) { + $size = $atts['size']; + } else { + + if ( $full_width ) { + switch ( $out['columns'] ) { + case 1: + $size = 'responsive-900'; //900 + break; + case 2: + $size = 'responsive-450'; //450 + break; + case 3: + $size = 'responsive-300'; //300 + break; + case 4: + $size = 'responsive-200'; //225 + break; + case 5: + $size = 'responsive-200'; //180 + break; + case 6: + $size = 'responsive-150'; //150 + break; + case 7: + $size = 'responsive-150'; //125 + break; + case 8: + $size = 'responsive-150'; //112 + break; + case 9: + $size = 'responsive-100'; //100 + break; + } + } else { + switch ( $out['columns'] ) { + case 1: + $size = 'responsive-600'; //600 + break; + case 2: + $size = 'responsive-300'; //300 + break; + case 3: + $size = 'responsive-200'; //200 + break; + case 4: + $size = 'responsive-150'; //150 + break; + case 5: + $size = 'responsive-150'; //120 + break; + case 6: + $size = 'responsive-100'; //100 + break; + case 7: + $size = 'responsive-100'; //85 + break; + case 8: + $size = 'responsive-100'; //75 + break; + case 9: + $size = 'responsive-100'; //66 + break; + } + } + + } + + $atts = shortcode_atts( + array( + 'size' => $size, + ), + $atts + ); + + $out['size'] = $atts['size']; + + return $out; + +} + +add_filter( 'shortcode_atts_gallery', 'responsive_gallery_atts', 10, 3 ); + +/* + * Create image sizes for the galley + */ +add_image_size( 'responsive-100', 100, 9999 ); +add_image_size( 'responsive-150', 150, 9999 ); +add_image_size( 'responsive-200', 200, 9999 ); +add_image_size( 'responsive-300', 300, 9999 ); +add_image_size( 'responsive-450', 450, 9999 ); +add_image_size( 'responsive-600', 600, 9999 ); +add_image_size( 'responsive-900', 900, 9999 ); + +/* + * Get social icons. + * + * @since 1.9.4.9 + */ +function responsive_get_social_icons() { + + $responsive_options = responsive_get_options(); + + $sites = array ( + 'twitter' => __( 'Twitter', 'responsive' ), + 'facebook' => __( 'Facebook', 'responsive' ), + 'linkedin' => __( 'LinkedIn', 'responsive' ), + 'youtube' => __( 'YouTube', 'responsive' ), + 'stumbleupon' => __( 'StumbleUpon', 'responsive' ), + 'rss' => __( 'RSS Feed', 'responsive' ), + 'googleplus' => __( 'Google+', 'responsive' ), + 'instagram' => __( 'Instagram', 'responsive' ), + 'pinterest' => __( 'Pinterest', 'responsive' ), + 'yelp' => __( 'Yelp!', 'responsive' ), + 'vimeo' => __( 'Vimeo', 'responsive' ), + 'foursquare' => __( 'foursquare', 'responsive' ), + ); + + $html = ''; + + return $html; + +} diff --git a/wp-content/themes/responsive/core/includes/hooks.php b/wp-content/themes/responsive/core/includes/hooks.php new file mode 100644 index 0000000..685ba95 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/hooks.php @@ -0,0 +1,290 @@ + tag + * + * @see header.php + */ +function responsive_container() { + do_action( 'responsive_container' ); +} + +/** + * Just after closing
    + * + * @see footer.php + */ +function responsive_container_end() { + do_action( 'responsive_container_end' ); + tha_footer_before(); +} + +/** + * Just after opening
    + * + * @see header.php + */ +function responsive_header() { + do_action( 'responsive_header' ); + tha_header_before(); +} + +/** + * Just after opening + * + * @see header.php + */ +function responsive_header_end() { + do_action( 'responsive_header_end' ); + tha_header_after(); +} + +/** + * Just before opening
    + * + * @see header.php + */ +function responsive_wrapper() { + do_action( 'responsive_wrapper' ); + tha_content_before(); +} + +/** + * Just after opening
    + * + * @see header.php + */ +function responsive_wrapper_top() { + do_action( 'responsive_wrapper_top' ); + tha_content_top(); +} + +/** + * Just after opening
    + * + * @see header.php + */ +function responsive_in_wrapper() { + do_action( 'responsive_in_wrapper' ); +} + +/** + * Just before closing
    + * + * @see header.php + */ +function responsive_wrapper_bottom() { + do_action( 'responsive_wrapper_bottom' ); + tha_content_bottom(); +} + +/** + * Just after closing
    + * + * @see header.php + */ +function responsive_wrapper_end() { + do_action( 'responsive_wrapper_end' ); + tha_content_after(); +} + +/** Just before
    + * + * @see index.php + */ +function responsive_entry_before() { + do_action( 'responsive_entry_before' ); + tha_entry_before(); +} + +/** Just after
    + * + * @see index.php + */ +function responsive_entry_top() { + do_action( 'responsive_entry_top' ); + tha_entry_top(); +} + +/** Just before
    + * + * @see index.php + */ +function responsive_entry_bottom() { + do_action( 'responsive_entry_bottom' ); + tha_entry_bottom(); +} + +/** Just after
    + * + * @see index.php + */ +function responsive_entry_after() { + do_action( 'responsive_entry_after' ); + tha_entry_after(); +} + +/** Just before comments_template() + * + * @see index.php + */ +function responsive_comments_before() { + do_action( 'responsive_comments_before' ); + tha_comments_before(); +} + +/** Just after comments_template() + * + * @see index.php + */ +function responsive_comments_after() { + do_action( 'responsive_comments_after' ); + tha_comments_after(); +} + +/** + * Just before opening
    + * + * @see sidebar.php + */ +function responsive_widgets_before() { + do_action( 'responsive_widgets_before' ); + tha_sidebars_before(); +} + +/** + * Just after opening
    + * + * @see sidebar.php + */ +function responsive_widgets() { + do_action( 'responsive_widgets' ); + tha_sidebar_top(); +} + +/** + * Just before closing
    + * + * @see sidebar.php + */ +function responsive_widgets_end() { + do_action( 'responsive_widgets_end' ); + tha_sidebar_bottom(); +} + +/** + * Just after closing
    + * + * @see sidebar.php + */ +function responsive_widgets_after() { + do_action( 'responsive_widgets_after' ); + tha_sidebars_after(); +} + +/** + * Just after opening + * + * @see footer.php + */ +function responsive_footer_bottom() { + do_action( 'responsive_footer_bottom' ); + tha_footer_bottom(); +} + +/** + * Just after closing
    + * + * @see footer.php + */ +function responsive_footer_after() { + do_action( 'responsive_footer_after' ); + tha_footer_after(); +} + +/** + * Theme Options + * + * @see theme-options.php + */ +function responsive_theme_options() { + do_action( 'responsive_theme_options' ); +} + +/** + * WooCommerce + * + * Unhook/Hook the WooCommerce Wrappers + */ +remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 ); +remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 ); + +add_action( 'woocommerce_before_main_content', 'responsive_woocommerce_wrapper', 10 ); +add_action( 'woocommerce_after_main_content', 'responsive_woocommerce_wrapper_end', 10 ); + +function responsive_woocommerce_wrapper() { + echo '
    '; +} + +function responsive_woocommerce_wrapper_end() { + echo '
    '; +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/images/arrow-dark.png b/wp-content/themes/responsive/core/includes/images/arrow-dark.png new file mode 100644 index 0000000..44343a2 Binary files /dev/null and b/wp-content/themes/responsive/core/includes/images/arrow-dark.png differ diff --git a/wp-content/themes/responsive/core/includes/images/arrow-light.png b/wp-content/themes/responsive/core/includes/images/arrow-light.png new file mode 100644 index 0000000..6750c15 Binary files /dev/null and b/wp-content/themes/responsive/core/includes/images/arrow-light.png differ diff --git a/wp-content/themes/responsive/core/includes/images/arrows-dark.png b/wp-content/themes/responsive/core/includes/images/arrows-dark.png new file mode 100644 index 0000000..29f814d Binary files /dev/null and b/wp-content/themes/responsive/core/includes/images/arrows-dark.png differ diff --git a/wp-content/themes/responsive/core/includes/images/chimp.png b/wp-content/themes/responsive/core/includes/images/chimp.png new file mode 100644 index 0000000..72212b8 Binary files /dev/null and b/wp-content/themes/responsive/core/includes/images/chimp.png differ diff --git a/wp-content/themes/responsive/core/includes/post-custom-meta.php b/wp-content/themes/responsive/core/includes/post-custom-meta.php new file mode 100644 index 0000000..9689aca --- /dev/null +++ b/wp-content/themes/responsive/core/includes/post-custom-meta.php @@ -0,0 +1,260 @@ +ID, '_responsive_layout', true ) ? get_post_meta( $post->ID, '_responsive_layout', true ) : 'default' ); + $layout_meta = ( array_key_exists( $layout_meta_value, $valid_layouts ) ? $layout_meta_value : 'default' ); + } + /* Static pages */ + if( is_page() ) { + $page_template = get_post_meta( $post->ID, '_wp_page_template', true ); + /* If custom page template is defined, use it first */ + if( 'default' != $page_template ) { + if( in_array( $page_template, array( 'blog.php', 'blog-excerpt.php' ) ) ) { + $layout = $responsive_options['blog_posts_index_layout_default']; + } + else { + $layout = $responsive_options['static_page_layout_default']; + } + } + /* Else, if post custom meta is set, use it */ + elseif( 'default' != $layout_meta ) { + $layout = $layout_meta; + } + /* Else, use the default */ + else { + $layout = $responsive_options['static_page_layout_default']; + } + + } + /* Single blog posts */ + else { + if( is_single() ) { + /* If post custom meta is set, use it */ + if( 'default' != $layout_meta ) { + $layout = $layout_meta; + } + /* Else, use the default */ + else { + $layout = $responsive_options['single_post_layout_default']; + } + + } + /* Posts index */ + elseif( is_home() || is_archive() || is_search() ) { + $layout = $responsive_options['blog_posts_index_layout_default']; + } + /* Fallback */ + else { + $layout = 'default'; + } + + } + + return apply_filters( 'responsive_get_layout', $layout ); +} + +/** + * Get valid layouts + */ +function responsive_get_valid_layouts() { + $layouts = array( + 'content-sidebar-page' => __( 'Content/Sidebar', 'responsive' ), + 'sidebar-content-page' => __( 'Sidebar/Content', 'responsive' ), + 'content-sidebar-half-page' => __( 'Content/Sidebar Half Page', 'responsive' ), + 'sidebar-content-half-page' => __( 'Sidebar/Content Half Page', 'responsive' ), + 'full-width-page' => __( 'Full Width Page (no sidebar)', 'responsive' ) + ); + + return apply_filters( 'responsive_valid_layouts', $layouts ); +} + +/** + * Add Layout Meta Box + * + * @link http://codex.wordpress.org/Function_Reference/_2 __() + * @link http://codex.wordpress.org/Function_Reference/add_meta_box add_meta_box() + */ +function responsive_add_layout_meta_box( $post ) { + global $post, $wp_meta_boxes; + + $context = apply_filters( 'responsive_layout_meta_box_context', 'side' ); // 'normal', 'side', 'advanced' + $priority = apply_filters( 'responsive_layout_meta_box_priority', 'default' ); // 'high', 'core', 'low', 'default' + + add_meta_box( + 'responsive_layout', __( 'Layout', 'responsive' ), 'responsive_layout_meta_box', 'post', $context, $priority + ); +} + +// Hook meta boxes into 'add_meta_boxes' +add_action( 'add_meta_boxes', 'responsive_add_layout_meta_box' ); + +/** + * Define Layout Meta Box + * + * Define the markup for the meta box + * for the "layout" post custom meta + * data. The metabox will consist of + * radio selection options for "default" + * and each defined, valid layout + * option for single blog posts or + * static pages, depending on the + * context. + * + * @uses responsive_get_option_parameters() Defined in \functions\options.php + * @uses checked() + * @uses get_post_custom() + */ +function responsive_layout_meta_box() { + global $post; + $custom = ( get_post_custom( $post->ID ) ? get_post_custom( $post->ID ) : false ); + $layout = ( isset( $custom['_responsive_layout'][0] ) ? $custom['_responsive_layout'][0] : 'default' ); + $valid_layouts = responsive_get_valid_layouts(); + ?> +

    + value="default"/> +
    + $name ) { ?> + value=""/> +
    + +

    +ID, '_responsive_layout', $layout ); +} + +// Hook the save layout post custom meta data into +// publish_{post-type}, draft_{post-type}, and future_{post-type} +add_action( 'publish_post', 'responsive_save_layout_post_metadata' ); +add_action( 'publish_page', 'responsive_save_layout_post_metadata' ); +add_action( 'draft_post', 'responsive_save_layout_post_metadata' ); +add_action( 'draft_page', 'responsive_save_layout_post_metadata' ); +add_action( 'future_post', 'responsive_save_layout_post_metadata' ); +add_action( 'future_page', 'responsive_save_layout_post_metadata' ); \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/tha-theme-hooks.php b/wp-content/themes/responsive/core/includes/tha-theme-hooks.php new file mode 100644 index 0000000..6775da0 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/tha-theme-hooks.php @@ -0,0 +1,227 @@ + + * // Declare support for all hook types + * add_theme_support( 'tha_hooks', array( 'all' ) ); + * + * // Declare support for certain hook types only + * add_theme_support( 'tha_hooks', array( 'header', 'content', 'footer' ) ); + *
    + */ +add_theme_support( 'tha_hooks', array( + + /** + * As a Theme developer, use the 'all' parameter, to declare support for all + * hook types. + * Please make sure you then actually reference all the hooks in this file, + * Plugin developers depend on it! + */ + 'all', + + /** + * Themes can also choose to only support certain hook types. + * Please make sure you then actually reference all the hooks in this type + * family. + * + * When the 'all' parameter was set, specific hook types do not need to be + * added explicitly. + */ + 'head', + 'header', + 'content', + 'entry', + 'comments', + 'sidebars', + 'sidebar', + 'footer', + + /** + * If/when WordPress Core implements similar methodology, Themes and Plugins + * will be able to check whether the version of THA supplied by the theme + * supports Core hooks. + */ +// 'core' +) ); + +/** + * Determines, whether the specific hook type is actually supported. + * + * Plugin developers should always check for the support of a specific + * hook type before hooking a callback function to a hook of this type. + * + * Example: + * + * if ( current_theme_supports( 'tha_hooks', 'header' ) ) + * add_action( 'tha_head_top', 'prefix_header_top' ); + * + * + * @param bool $bool true + * @param array $args The hook type being checked + * @param array $registered All registered hook types + * + * @return bool + */ +function tha_current_theme_supports( $bool, $args, $registered ) { + return in_array( $args[0], $registered[0] ) || in_array( 'all', $registered[0] ); +} + +add_filter( 'current_theme_supports-tha_hooks', 'tha_current_theme_supports', 10, 3 ); + +/** + * HTML hooks + * + * $tha_supports[] = 'head'; + */ +function tha_head_top() { + do_action( 'tha_head_top' ); +} + +function tha_head_bottom() { + do_action( 'tha_head_bottom' ); +} + +/** + * Semantic
    hooks + * + * $tha_supports[] = 'header'; + */ +function tha_header_before() { + do_action( 'tha_header_before' ); +} + +function tha_header_after() { + do_action( 'tha_header_after' ); +} + +function tha_header_top() { + do_action( 'tha_header_top' ); +} + +function tha_header_bottom() { + do_action( 'tha_header_bottom' ); +} + +/** + * Semantic hooks + * + * $tha_supports[] = 'content'; + */ +function tha_content_before() { + do_action( 'tha_content_before' ); +} + +function tha_content_after() { + do_action( 'tha_content_after' ); +} + +function tha_content_top() { + do_action( 'tha_content_top' ); +} + +function tha_content_bottom() { + do_action( 'tha_content_bottom' ); +} + +/** + * Semantic hooks + * + * $tha_supports[] = 'entry'; + */ +function tha_entry_before() { + do_action( 'tha_entry_before' ); +} + +function tha_entry_after() { + do_action( 'tha_entry_after' ); +} + +function tha_entry_top() { + do_action( 'tha_entry_top' ); +} + +function tha_entry_bottom() { + do_action( 'tha_entry_bottom' ); +} + +/** + * Comments block hooks + * + * $tha_supports[] = 'comments'; + */ +function tha_comments_before() { + do_action( 'tha_comments_before' ); +} + +function tha_comments_after() { + do_action( 'tha_comments_after' ); +} + +/** + * Semantic hooks + * + * $tha_supports[] = 'sidebar'; + */ +function tha_sidebars_before() { + do_action( 'tha_sidebars_before' ); +} + +function tha_sidebars_after() { + do_action( 'tha_sidebars_after' ); +} + +function tha_sidebar_top() { + do_action( 'tha_sidebar_top' ); +} + +function tha_sidebar_bottom() { + do_action( 'tha_sidebar_bottom' ); +} + +/** + * Semantic
    hooks + * + * $tha_supports[] = 'footer'; + */ +function tha_footer_before() { + do_action( 'tha_footer_before' ); +} + +function tha_footer_after() { + do_action( 'tha_footer_after' ); +} + +function tha_footer_top() { + do_action( 'tha_footer_top' ); +} + +function tha_footer_bottom() { + do_action( 'tha_footer_bottom' ); +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/theme-options.css b/wp-content/themes/responsive/core/includes/theme-options.css new file mode 100644 index 0000000..b328c93 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/theme-options.css @@ -0,0 +1,481 @@ +/* =Responsive 12 Column Grid + http://themeid.com/responsive-grid/ +-------------------------------------------------------------- */ + +.grid { + float: left; + margin-bottom: 2.127659574468%; + padding-top: 0; +} + +.grid-right { + float: right; + margin-bottom: 2.127659574468%; + padding-top: 0; +} + +.col-60, +.col-140, +.col-220, +.col-300, +.col-380, +.col-460, +.col-540, +.col-620, +.col-700, +.col-780, +.col-860 { + float: left; + margin-right: 2.127659574468%; +} + +.col-60 { + width: 6.382978723404%; +} + +.col-140 { + width: 14.893617021277%; +} + +.col-220 { + width: 23.404255319149%; +} + +.col-300 { + width: 31.914893617021%; +} + +.col-380 { + width: 40.425531914894%; +} + +.col-460 { + width: 48.936170212766%; +} + +.col-540 { + width: 57.446808510638%; +} + +.col-620 { + width: 65.957446808511%; +} + +.col-700 { + width: 74.468085106383%; +} + +.col-780 { + width: 82.978723404255%; +} + +.col-860 { + width: 91.489361702128%; +} + +.col-940 { + width: 100%; +} + +/* Clear new lines */ +.col-300 { + clear: left; +} + +.fit { + margin-left: 0 !important; + margin-right: 0 !important; +} + +#rwd { + max-width: 980px; +} + +h3.rwd-toggle { + float: left; + position: relative; + width: 98%; + height: 34px; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + box-shadow: inset 0 1px 0 #ffffff; + padding: 0; + margin: 20px 0 0 0; + border: 3px solid #dfdfdf; + background: #f5f5f5; + background-image: -webkit-gradient(linear, left bottom, left top, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(bottom, #f5f5f5, #f9f9f9); + background-image: -moz-linear-gradient(bottom, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(bottom, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to top, #f5f5f5, #f9f9f9); + line-height: 34px; + font-size: 15px; + font-weight: normal; + text-indent: 10px; +} + +h3.rwd-toggle a { + background: url(images/arrow-light.png) 99% 50% no-repeat; + color: #464646; + font-family: Georgia, "Times New Roman", "Bitstream Charter", Times, serif; + text-decoration: none; + display: block; + text-shadow: 0 1px 0 #ffffff; +} + +h3.rwd-toggle a:hover { + background: url(images/arrow-dark.png) 99% 50% no-repeat; + color: #444444; +} + +h3.active { + background-position: left bottom; +} + +h3.rwd-toggle .option-arrow { + height: 10px; + width: 10px; + position: absolute; + top: 50%; + left: 100%; + margin-top: -5px; + margin-left: -30px; +} + +h4.sub-title { + float: left; + width: 100%; +} + +.rwd-container { + width: 98%; + -webkit-border-bottom-right-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-bottomright: 3px; + -moz-border-radius-bottomleft: 3px; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; + margin: 0; + padding: 20px 0 0 0; + border: 3px solid #dfdfdf; + border-top: none; + background: #fcfcfc; + overflow: hidden; + font-size: 12px; + clear: both; + color: #333333; +} + +.rwd-container .rwd-block { + padding: 20px; +} + +.rwd-container .rwd-block .rwd-section { + float: left; + clear: left; + width: 100%; + margin-bottom: 15px; +} + +.rwd-container .rwd-block input[type=text] { + width: 100%; +} + +div.updated { +} + +/* ==================================== Hide container immediately if js is available ================================================== */ + +.js .rwd-container { + display: none; +} + +/* Set max width to 768px to match WP */ +@media screen and (max-width:768px) { + .col-300 { + width: 40.425531914894%; + } + + .col-300.select { + width: 100%; + } + + .col-620 { + width: 57.446808510638%; + } + + .col-620.select { + width: 100%; + margin-bottom: 10px; + } + + .col-300.media-upload { + width: 100%; + } + + .col-460.media-upload { + width: 65.957446808511%; + } + + .col-140.media-upload { + width: 31.914893617021%; + } +} + +@media screen and (max-width:480px) { + .col-300 { + width: 100%; + margin: 10px 0; + } + + .col-620 { + width: 100%; + margin: 10px 0; + } +} + +/* ==================================== FORM ELEMENTS ================================================== */ + +.rwd-block button.upload { + clear: left; + float: right; + margin: 10px 0; +} + +.plugin-check { + position: relative; + margin-bottom: 25px; +} + +.plugin-check a { + padding-left: 50px; +} + +.plugins-icon { + position: absolute; + top: -50%; + left: 0; +} + +/* ==================================== MEDIA UPLOAD ================================================== */ + +.upload-image { + max-width: 100%; + height: auto; +} + +/* ==================================== TABS ================================================== */ + +#header-links-wrapper { + margin-top: 20px; + margin-bottom: 0; +} + +#header-links-wrapper .header-links a.button { + height: auto; + color: #ffffff; + padding: 5px 15px; + margin-right: 5px; + margin-bottom: 10px; + background: none; + background-color: #333333; + border-color: transparent; + box-shadow: none; + text-shadow: none; + line-height: 1.5em; +} + +#header-links-wrapper .header-links a.button:hover { + background-color: #0074a2; +} + +/* media call set at 768px to match WP */ +@media screen and (max-width:768px) { + +} + +/* =Inline CSS +-------------------------------------------------------------- */ +.inline-css { + background: #f9f9f9; + font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; + outline: none; +} + +/* =Help Links +-------------------------------------------------------------- */ +.help-links { + border-top: 1px solid #dddddd; + display: block; + font-size: 12px; + margin-top: 10px; + padding-top: 10px; +} + +/* =Extra Links +-------------------------------------------------------------- */ +.extra-links { + float: right; + margin-right: 5px; +} + +/* =Info Boxes +-------------------------------------------------------------- */ +#info-box-wrapper { + margin-bottom: 0; +} + +.info-box { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + display: block; + margin: 20px 0 10px 0; + padding: 15px 10px; + text-align: left; +} + +.alert { + background-color: #faebeb; + border: 1px solid #dc7070; + color: #212121; +} + +.address { + background-color: #f6f5ef; + border: 1px solid #cdc9a5; + color: #212121; +} + +.notice { + background-color: #fbf9e9; + border: 1px solid #e3cf57; + color: #212121; +} + +.success { + background-color: #f9fde8; + border: 1px solid #a2bc13; + color: #212121; +} + +.download { + background-color: #fff4e5; + border: 1px solid #ff9912; + color: #212121; +} + +.information { + background-color: #eef3f6; + border: 1px solid #6ca6cd; + color: #212121; +} + +.required { + color: #d5243f; +} + +ul.error-list { + margin-left: 20px; +} + +.tinymce-editor iframe { + min-height: 300px; +} + +/* =RTL CSS +-------------------------------------------------------------- */ +.rtl .grid { + float: right; + margin-bottom: 2.083%; + padding-top: 0; +} + +.rtl .col-60, .rtl .col-140, .rtl .col-220, .rtl .col-300, .rtl .col-380, .rtl .col-460, .rtl .col-540, .rtl .col-620, .rtl .col-700, .rtl .col-780, .rtl .col-860 { + margin-right: 0; + margin-left: 2.12766%; +} + +.rtl h3.rwd-toggle { + padding: 0 10px 0 0; + float: right; +} + +.rtl h3.rwd-toggle a { + background: url(images/arrow-light.png) 1% 50% no-repeat; +} + +.rtl h3.rwd-toggle a:hover { + background: url(images/arrow-dark.png) 1% 50% no-repeat; +} + +.rtl .info-box { + text-align: right; +} + +/*************** Upgrade bar ****************/ + +.upgrade-callout { + background: #81c7ef; + padding: 0 10px 10px 10px; + margin-top: 10px; + font-size: 1.5em; + border: 1px solid #5ba9d3; + -webkit-border-radius: 3px; + border-radius: 3px; + overflow: hidden; +} + +.upgrade-callout p { + color: #ffffff; + text-align: center; + line-height: 1.4em; + font-weight: bold; + margin: 5px 0 0; +} + +.upgrade-callout p img { + position: relative; + top: 10px; + left: 0; + margin-right: 5px; +} + +.upgrade-callout a:link { + color: #006da8; +} + +.upgrade-callout a:visited { + color: #006da8; +} + +.upgrade-callout a:hover { + color: #0085cf; +} + +.upgrade-callout div.social-container { + position: relative; + left: 50%; + height: 20px; + margin-top: 10px; + margin-left: -100px; +} + +.upgrade-callout div.social { + float: left; +} + +.upgrade-callout div.social .twitter-follow-button { + height: 21px !important; +} + +.upgrade-callout div.social:last-child { + margin-left: 10px; +} + +/*************** Extra Option Classes *****************/ + +.site-tracker { + height: 150px; +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/theme-options.js b/wp-content/themes/responsive/core/includes/theme-options.js new file mode 100644 index 0000000..1d311d0 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/theme-options.js @@ -0,0 +1,19 @@ +// JavaScript Document +jQuery(document).ready(function ($) { + + $(".rwd-container").hide(); + + $("h3.rwd-toggle").click(function () { + $(this).toggleClass("active").next().slideToggle("fast"); + return false; //Prevent the browser jump to the link anchor + }); + +}); +jQuery(document).ready(function ($) { + setTimeout(function () { + $(".fade").fadeOut("slow", function () { + $(".fade").remove(); + }); + + }, 2000); +}); \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/theme-options.php b/wp-content/themes/responsive/core/includes/theme-options.php new file mode 100644 index 0000000..d6862e4 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/theme-options.php @@ -0,0 +1,567 @@ +' . "\n"; + echo '' . "\n"; + } +} + +add_action( 'wp_head', 'responsive_inline_css', 110 ); + +function responsive_inline_js_head() { + global $responsive_options; + if( !empty( $responsive_options['responsive_inline_js_head'] ) ) { + echo '' . "\n"; + echo $responsive_options['responsive_inline_js_head']; + echo "\n"; + } +} + +add_action( 'wp_head', 'responsive_inline_js_head' ); + +function responsive_inline_js_footer() { + global $responsive_options; + if( !empty( $responsive_options['responsive_inline_js_footer'] ) ) { + echo '' . "\n"; + echo $responsive_options['responsive_inline_js_footer']; + echo "\n"; + } +} + +add_action( 'wp_footer', 'responsive_inline_js_footer' ); + +/** + * Create the options page + */ +function responsive_theme_options_do_page() { + + if( !isset( $_REQUEST['settings-updated'] ) ) { + $_REQUEST['settings-updated'] = false; + } + + // Set confirmaton text for restore default option as attributes of submit_button(). + $attributes['onclick'] = 'return confirm("' . __( 'Do you want to restore? \nAll theme settings will be lost! \nClick OK to Restore.', 'responsive' ) . '")'; + ?> + +
    + + " . $theme_name . " " . __( 'Theme Options', 'responsive' ) . ""; ?> + + + +

    + + + + + __( 'Theme Elements', 'responsive' ), + 'id' => 'theme_elements' + ), + + array( + 'title' => __( 'Logo Upload', 'responsive' ), + 'id' => 'logo_upload' + ), + array( + 'title' => __( 'Home Page', 'responsive' ), + 'id' => 'home_page' + ) + , + array( + 'title' => __( 'Default Layouts', 'responsive' ), + 'id' => 'layouts' + ), + array( + 'title' => __( 'Social Icons', 'responsive' ), + 'id' => 'social' + ), + array( + 'title' => __( 'CSS Styles', 'responsive' ), + 'id' => 'css' + ), + array( + 'title' => __( 'Scripts', 'responsive' ), + 'id' => 'scripts' + ) + + ) + + ); + + /** + * Creates and array of options that get added to the relevant sections + * + * @key This must match the id of the section you want the options to appear in + * + * @title Title on the left hand side of the options + * @subtitle Displays underneath main title on left hand side + * @heading Right hand side above input + * @type The type of input e.g. text, textarea, checkbox + * @id The options id + * @description Instructions on what to enter in input + * @placeholder The placeholder for text and textarea + * @options array used by select dropdown lists + */ + $options = apply_filters( 'responsive_options_filter', array( + 'theme_elements' => array( + array( + 'title' => __( 'Disable breadcrumb list?', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'checkbox', + 'id' => 'breadcrumb', + 'description' => __( 'check to disable', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Disable Call to Action Button?', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'checkbox', + 'id' => 'cta_button', + 'description' => __( 'check to disable', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Enable minified css?', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'checkbox', + 'id' => 'minified_css', + 'description' => __( 'check to enable', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Blog Title Toggle', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'checkbox', + 'id' => 'blog_post_title_toggle', + 'description' => '' + ), + array( + 'title' => __( 'Title Text', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'blog_post_title_text', + 'description' => '', + 'placeholder' => __( 'Blog', 'responsive' ) + ) + ), + 'logo_upload' => array( + array( + 'title' => __( 'Custom Header', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'description', + 'id' => '', + 'description' => __( 'Need to replace or remove default logo?', 'responsive' ) . sprintf( __( ' Click here.', 'responsive' ), + admin_url( 'themes.php?page=custom-header' ) ), + 'placeholder' => '' + ) + ), + 'home_page' => array( + array( + 'title' => __( 'Enable Custom Front Page', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'checkbox', + 'id' => 'front_page', + 'description' => sprintf( __( 'Overrides the WordPress %1sfront page option%2s', 'responsive' ), '', '' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Headline', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'home_headline', + 'description' => __( 'Enter your headline', 'responsive' ), + 'placeholder' => __( 'Hello, World!', 'responsive' ) + ), + array( + 'title' => __( 'Subheadline', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'home_subheadline', + 'description' => __( 'Enter your subheadline', 'responsive' ), + 'placeholder' => __( 'Your H2 subheadline here', 'responsive' ) + ), + array( + 'title' => __( 'Content Area', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'editor', + 'id' => 'home_content_area', + 'description' => __( 'Enter your content', 'responsive' ), + 'placeholder' => __( 'Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like.', 'responsive' ) + ), + array( + 'title' => __( 'Call to Action (URL)', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'cta_url', + 'description' => __( 'Enter your call to action URL', 'responsive' ), + 'placeholder' => '#nogo' + ), + array( + 'title' => __( 'Call to Action (Text)', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'cta_text', + 'description' => __( 'Enter your call to action text', 'responsive' ), + 'placeholder' => __( 'Call to Action', 'responsive' ) + ), + array( + 'title' => __( 'Featured Content', 'responsive' ), + 'subtitle' => '' . + __( 'See Docs', 'responsive' ) . '', + 'heading' => '', + 'type' => 'editor', + 'id' => 'featured_content', + 'description' => __( 'Paste your shortcode, video or image source', 'responsive' ), + 'placeholder' => "" + ) + + ), + 'layouts' => array( + array( + 'title' => __( 'Default Static Page Layout', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'select', + 'id' => 'static_page_layout_default', + 'description' => '', + 'placeholder' => '', + 'options' => Responsive_Options::valid_layouts() + ), + array( + 'title' => __( 'Default Single Blog Post Layout', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'select', + 'id' => 'single_post_layout_default', + 'description' => '', + 'placeholder' => '', + 'options' => Responsive_Options::valid_layouts() + ), + array( + 'title' => __( 'Default Blog Posts Index Layout', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'select', + 'id' => 'blog_posts_index_layout_default', + 'description' => '', + 'placeholder' => '', + 'options' => Responsive_Options::valid_layouts() + ) + + ), + 'social' => array( + array( + 'title' => __( 'Twitter', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'twitter_uid', + 'description' => __( 'Enter your Twitter URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Facebook', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'facebook_uid', + 'description' => __( 'Enter your Facebook URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'LinkedIn', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'linkedin_uid', + 'description' => __( 'Enter your LinkedIn URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'YouTube', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'youtube_uid', + 'description' => __( 'Enter your YouTube URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'StumbleUpon', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'stumble_uid', + 'description' => __( 'Enter your StumbleUpon URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'RSS Feed', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'rss_uid', + 'description' => __( 'Enter your RSS Feed URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Google+', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'google_plus_uid', + 'description' => __( 'Enter your Google+ URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Instagram', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'instagram_uid', + 'description' => __( 'Enter your Instagram URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Pinterest', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'pinterest_uid', + 'description' => __( 'Enter your Pinterest URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Yelp!', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'yelp_uid', + 'description' => __( 'Enter your Yelp! URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'Vimeo', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'vimeo_uid', + 'description' => __( 'Enter your Vimeo URL', 'responsive' ), + 'placeholder' => '' + ), + array( + 'title' => __( 'foursquare', 'responsive' ), + 'subtitle' => '', + 'heading' => '', + 'type' => 'text', + 'id' => 'foursquare_uid', + 'description' => __( 'Enter your foursquare URL', 'responsive' ), + 'placeholder' => '' + ) + + ), + 'css' => array( + array( + 'title' => __( 'Custom CSS Styles', 'responsive' ), + 'subtitle' => '' . __( 'CSS Tutorial', 'responsive' ) . '', + 'heading' => '', + 'type' => 'textarea', + 'id' => 'responsive_inline_css', + 'description' => __( 'Enter your custom CSS styles.', 'responsive' ), + 'placeholder' => '' + ) + ), + 'scripts' => array( + array( + 'title' => __( 'Custom Scripts for Header and Footer', 'responsive' ), + 'subtitle' => '' . __( 'Quick Tutorial', 'responsive' ) . '', + 'heading' => __( 'Embeds to header.php ↓', 'responsive' ), + 'type' => 'textarea', + 'id' => 'responsive_inline_js_head', + 'description' => __( 'Enter your custom header script.', 'responsive' ), + 'placeholder' => '' + ), array( + 'title' => '', + 'subtitle' => '', + 'heading' => __( 'Embeds to footer.php ↓', 'responsive' ), + 'type' => 'textarea', + 'id' => 'responsive_inline_js_footer', + 'description' => __( 'Enter your custom footer script.', 'responsive' ), + 'placeholder' => '' + ) + + ) + ) + + ); + if( class_exists( 'Responsive_Pro_Options' ) ) { + $display = new Responsive_Pro_Options( $sections, $options ); + } + else { + $display = new Responsive_Options( $sections, $options ); + } + + ?> +
    + + + +
    + render_display(); + ?> +
    + +
    +
    + li { + margin-left: 30px; + } + + .row-fluid .thumbnails { + margin-left: 0; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + + .row:after { + clear: both; + } + + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + + .span12 { + width: 724px; + } + + .span11 { + width: 662px; + } + + .span10 { + width: 600px; + } + + .span9 { + width: 538px; + } + + .span8 { + width: 476px; + } + + .span7 { + width: 414px; + } + + .span6 { + width: 352px; + } + + .span5 { + width: 290px; + } + + .span4 { + width: 228px; + } + + .span3 { + width: 166px; + } + + .span2 { + width: 104px; + } + + .span1 { + width: 42px; + } + + .offset12 { + margin-left: 764px; + } + + .offset11 { + margin-left: 702px; + } + + .offset10 { + margin-left: 640px; + } + + .offset9 { + margin-left: 578px; + } + + .offset8 { + margin-left: 516px; + } + + .offset7 { + margin-left: 454px; + } + + .offset6 { + margin-left: 392px; + } + + .offset5 { + margin-left: 330px; + } + + .offset4 { + margin-left: 268px; + } + + .offset3 { + margin-left: 206px; + } + + .offset2 { + margin-left: 144px; + } + + .offset1 { + margin-left: 82px; + } + + .row-fluid { + width: 100%; + *zoom: 1; + } + + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + + .row-fluid:after { + clear: both; + } + + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.7624309392265194%; + } + + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + + input, + textarea, + .uneditable-input { + margin-left: 0; + } + + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/upsell/bootstrap/css/bootstrap.css b/wp-content/themes/responsive/core/includes/upsell/bootstrap/css/bootstrap.css new file mode 100644 index 0000000..3c55a78 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/upsell/bootstrap/css/bootstrap.css @@ -0,0 +1,6050 @@ +/*! + * Bootstrap v2.2.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +audio:not([controls]) { + display: none; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +a:focus { + outline: thin dotted #333333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +a:hover, +a:active { + outline: 0; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + width: auto\9; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +#map_canvas img, +.google-maps img { + max-width: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; + line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +label, +select, +button, +input[type="button"], +input[type="reset"], +input[type="submit"], +input[type="radio"], +input[type="checkbox"] { + cursor: pointer; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +@media print { + * { + color: #000000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + + a, + a:visited { + text-decoration: underline; + } + + a[href]:after { + content: " (" attr(href) ")"; + } + + abbr[title]:after { + content: " (" attr(title) ")"; + } + + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + + pre, + blockquote { + border: 1px solid #999999; + page-break-inside: avoid; + } + + thead { + display: table-header-group; + } + + tr, + img { + page-break-inside: avoid; + } + + img { + max-width: 100% !important; + } + + @page { + margin: 0.5cm; + } + + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + + h2, + h3 { + page-break-after: avoid; + } +} + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 20px; + color: #333333; + background-color: #ffffff; +} + +a { + color: #0088cc; + text-decoration: none; +} + +a:hover { + color: #005580; + text-decoration: underline; +} + +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.img-polaroid { + padding: 4px; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} + +.row { + margin-left: -20px; + *zoom: 1; +} + +.row:before, +.row:after { + display: table; + line-height: 0; + content: ""; +} + +.row:after { + clear: both; +} + +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.span12 { + width: 940px; +} + +.span11 { + width: 860px; +} + +.span10 { + width: 780px; +} + +.span9 { + width: 700px; +} + +.span8 { + width: 620px; +} + +.span7 { + width: 540px; +} + +.span6 { + width: 460px; +} + +.span5 { + width: 380px; +} + +.span4 { + width: 300px; +} + +.span3 { + width: 220px; +} + +.span2 { + width: 140px; +} + +.span1 { + width: 60px; +} + +.offset12 { + margin-left: 980px; +} + +.offset11 { + margin-left: 900px; +} + +.offset10 { + margin-left: 820px; +} + +.offset9 { + margin-left: 740px; +} + +.offset8 { + margin-left: 660px; +} + +.offset7 { + margin-left: 580px; +} + +.offset6 { + margin-left: 500px; +} + +.offset5 { + margin-left: 420px; +} + +.offset4 { + margin-left: 340px; +} + +.offset3 { + margin-left: 260px; +} + +.offset2 { + margin-left: 180px; +} + +.offset1 { + margin-left: 100px; +} + +.row-fluid { + width: 100%; + *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.row-fluid:after { + clear: both; +} + +.row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.127659574468085%; +} + +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} + +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} + +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} + +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} + +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} + +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} + +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} + +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} + +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} + +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} + +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} + +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} + +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} + +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} + +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} + +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} + +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} + +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} + +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} + +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} + +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} + +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} + +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} + +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} + +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} + +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} + +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} + +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} + +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} + +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} + +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} + +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} + +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} + +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} + +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} + +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} + +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} + +.container:before, +.container:after { + display: table; + line-height: 0; + content: ""; +} + +.container:after { + clear: both; +} + +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} + +.container-fluid:before, +.container-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.container-fluid:after { + clear: both; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +small { + font-size: 85%; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +cite { + font-style: normal; +} + +.muted { + color: #999999; +} + +a.muted:hover { + color: #808080; +} + +.text-warning { + color: #c09853; +} + +a.text-warning:hover { + color: #a47e3c; +} + +.text-error { + color: #b94a48; +} + +a.text-error:hover { + color: #953b39; +} + +.text-info { + color: #3a87ad; +} + +a.text-info:hover { + color: #2d6987; +} + +.text-success { + color: #468847; +} + +a.text-success:hover { + color: #356635; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 10px 0; + font-family: inherit; + font-weight: bold; + line-height: 20px; + color: inherit; + text-rendering: optimizelegibility; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + line-height: 40px; +} + +h1 { + font-size: 38.5px; +} + +h2 { + font-size: 31.5px; +} + +h3 { + font-size: 24.5px; +} + +h4 { + font-size: 17.5px; +} + +h5 { + font-size: 14px; +} + +h6 { + font-size: 11.9px; +} + +h1 small { + font-size: 24.5px; +} + +h2 small { + font-size: 17.5px; +} + +h3 small { + font-size: 14px; +} + +h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 20px 0 30px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + padding: 0; + margin: 0 0 10px 25px; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} + +li { + line-height: 20px; +} + +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +ul.inline, +ol.inline { + margin-left: 0; + list-style: none; +} + +ul.inline > li, +ol.inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 20px; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 10px; +} + +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + +.dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dl-horizontal dd { + margin-left: 180px; +} + +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + margin-bottom: 0; + font-size: 16px; + font-weight: 300; + line-height: 25px; +} + +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} + +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +code { + padding: 2px 4px; + color: #dd1144; + white-space: nowrap; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +form { + margin: 0 0 20px; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +legend small { + font-size: 15px; + color: #999999; +} + +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} + +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label { + display: block; + margin-bottom: 5px; +} + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 10px; + font-size: 14px; + line-height: 20px; + color: #555555; + vertical-align: middle; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +input, +textarea, +.uneditable-input { + width: 206px; +} + +textarea { + height: auto; +} + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; +} + +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 30px; +} + +select { + width: 220px; + background-color: #ffffff; + border: 1px solid #cccccc; +} + +select[multiple], +select[size] { + height: auto; +} + +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.uneditable-input, +.uneditable-textarea { + color: #999999; + cursor: not-allowed; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +.uneditable-textarea { + width: auto; + height: auto; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +.radio, +.checkbox { + min-height: 20px; + padding-left: 20px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +.input-medium { + width: 150px; +} + +.input-large { + width: 210px; +} + +.input-xlarge { + width: 270px; +} + +.input-xxlarge { + width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { + float: left; +} + +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +.control-group.warning .control-label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.control-group.error .control-label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.control-group.success .control-label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.control-group.info .control-label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} + +.form-actions:before, +.form-actions:after { + display: table; + line-height: 0; + content: ""; +} + +.form-actions:after { + clear: both; +} + +.help-block, +.help-inline { + color: #595959; +} + +.help-block { + display: block; + margin-bottom: 10px; +} + +.help-inline { + display: inline-block; + *display: inline; + padding-left: 5px; + vertical-align: middle; + *zoom: 1; +} + +.input-append, +.input-prepend { + margin-bottom: 5px; + font-size: 0; + white-space: nowrap; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input, +.input-append .dropdown-menu, +.input-prepend .dropdown-menu { + font-size: 14px; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: top; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #cccccc; +} + +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn, +.input-append .btn-group > .dropdown-toggle, +.input-prepend .btn-group > .dropdown-toggle { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-append input + .btn-group .btn:last-child, +.input-append select + .btn-group .btn:last-child, +.input-append .uneditable-input + .btn-group .btn:last-child { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-append .add-on, +.input-append .btn, +.input-append .btn-group { + margin-left: -1px; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child, +.input-append .btn-group:last-child > .dropdown-toggle { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-prepend.input-append input + .btn-group .btn, +.input-prepend.input-append select + .btn-group .btn, +.input-prepend.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; +} + +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + margin-bottom: 0; + vertical-align: middle; + *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +.control-group { + margin-bottom: 10px; +} + +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + line-height: 0; + content: ""; +} + +.form-horizontal .control-group:after { + clear: both; +} + +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} + +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.form-horizontal .controls:first-child { + *padding-left: 180px; +} + +.form-horizontal .help-block { + margin-bottom: 0; +} + +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block, +.form-horizontal .uneditable-input + .help-block, +.form-horizontal .input-prepend + .help-block, +.form-horizontal .input-append + .help-block { + margin-top: 10px; +} + +.form-horizontal .form-actions { + padding-left: 180px; +} + +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table th { + font-weight: bold; +} + +.table thead th { + vertical-align: bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} + +.table-bordered thead:first-child tr:first-child > th:first-child, +.table-bordered tbody:first-child tr:first-child > td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child > th:last-child, +.table-bordered tbody:first-child tr:first-child > td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child > th:first-child, +.table-bordered tbody:last-child tr:last-child > td:first-child, +.table-bordered tfoot:last-child tr:last-child > td:first-child { + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child > th:last-child, +.table-bordered tbody:last-child tr:last-child > td:last-child, +.table-bordered tfoot:last-child tr:last-child > td:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; +} + +.table-bordered tfoot + tbody:last-child tr:last-child td:first-child { + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; +} + +.table-bordered tfoot + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; +} + +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-striped tbody > tr:nth-child(odd) > td, +.table-striped tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover tbody tr:hover td, +.table-hover tbody tr:hover th { + background-color: #f5f5f5; +} + +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { + display: table-cell; + float: none; + margin-left: 0; +} + +.table td.span1, +.table th.span1 { + float: none; + width: 44px; + margin-left: 0; +} + +.table td.span2, +.table th.span2 { + float: none; + width: 124px; + margin-left: 0; +} + +.table td.span3, +.table th.span3 { + float: none; + width: 204px; + margin-left: 0; +} + +.table td.span4, +.table th.span4 { + float: none; + width: 284px; + margin-left: 0; +} + +.table td.span5, +.table th.span5 { + float: none; + width: 364px; + margin-left: 0; +} + +.table td.span6, +.table th.span6 { + float: none; + width: 444px; + margin-left: 0; +} + +.table td.span7, +.table th.span7 { + float: none; + width: 524px; + margin-left: 0; +} + +.table td.span8, +.table th.span8 { + float: none; + width: 604px; + margin-left: 0; +} + +.table td.span9, +.table th.span9 { + float: none; + width: 684px; + margin-left: 0; +} + +.table td.span10, +.table th.span10 { + float: none; + width: 764px; + margin-left: 0; +} + +.table td.span11, +.table th.span11 { + float: none; + width: 844px; + margin-left: 0; +} + +.table td.span12, +.table th.span12 { + float: none; + width: 924px; + margin-left: 0; +} + +.table tbody tr.success td { + background-color: #dff0d8; +} + +.table tbody tr.error td { + background-color: #f2dede; +} + +.table tbody tr.warning td { + background-color: #fcf8e3; +} + +.table tbody tr.info td { + background-color: #d9edf7; +} + +.table-hover tbody tr.success:hover td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover td { + background-color: #c4e3f3; +} + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + margin-top: 1px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../img/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; +} + +/* White icons with optional class, or on hover/active states of certain elements */ + +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: url("../img/glyphicons-halflings-white.png"); +} + +.icon-glass { + background-position: 0 0; +} + +.icon-music { + background-position: -24px 0; +} + +.icon-search { + background-position: -48px 0; +} + +.icon-envelope { + background-position: -72px 0; +} + +.icon-heart { + background-position: -96px 0; +} + +.icon-star { + background-position: -120px 0; +} + +.icon-star-empty { + background-position: -144px 0; +} + +.icon-user { + background-position: -168px 0; +} + +.icon-film { + background-position: -192px 0; +} + +.icon-th-large { + background-position: -216px 0; +} + +.icon-th { + background-position: -240px 0; +} + +.icon-th-list { + background-position: -264px 0; +} + +.icon-ok { + background-position: -288px 0; +} + +.icon-remove { + background-position: -312px 0; +} + +.icon-zoom-in { + background-position: -336px 0; +} + +.icon-zoom-out { + background-position: -360px 0; +} + +.icon-off { + background-position: -384px 0; +} + +.icon-signal { + background-position: -408px 0; +} + +.icon-cog { + background-position: -432px 0; +} + +.icon-trash { + background-position: -456px 0; +} + +.icon-home { + background-position: 0 -24px; +} + +.icon-file { + background-position: -24px -24px; +} + +.icon-time { + background-position: -48px -24px; +} + +.icon-road { + background-position: -72px -24px; +} + +.icon-download-alt { + background-position: -96px -24px; +} + +.icon-download { + background-position: -120px -24px; +} + +.icon-upload { + background-position: -144px -24px; +} + +.icon-inbox { + background-position: -168px -24px; +} + +.icon-play-circle { + background-position: -192px -24px; +} + +.icon-repeat { + background-position: -216px -24px; +} + +.icon-refresh { + background-position: -240px -24px; +} + +.icon-list-alt { + background-position: -264px -24px; +} + +.icon-lock { + background-position: -287px -24px; +} + +.icon-flag { + background-position: -312px -24px; +} + +.icon-headphones { + background-position: -336px -24px; +} + +.icon-volume-off { + background-position: -360px -24px; +} + +.icon-volume-down { + background-position: -384px -24px; +} + +.icon-volume-up { + background-position: -408px -24px; +} + +.icon-qrcode { + background-position: -432px -24px; +} + +.icon-barcode { + background-position: -456px -24px; +} + +.icon-tag { + background-position: 0 -48px; +} + +.icon-tags { + background-position: -25px -48px; +} + +.icon-book { + background-position: -48px -48px; +} + +.icon-bookmark { + background-position: -72px -48px; +} + +.icon-print { + background-position: -96px -48px; +} + +.icon-camera { + background-position: -120px -48px; +} + +.icon-font { + background-position: -144px -48px; +} + +.icon-bold { + background-position: -167px -48px; +} + +.icon-italic { + background-position: -192px -48px; +} + +.icon-text-height { + background-position: -216px -48px; +} + +.icon-text-width { + background-position: -240px -48px; +} + +.icon-align-left { + background-position: -264px -48px; +} + +.icon-align-center { + background-position: -288px -48px; +} + +.icon-align-right { + background-position: -312px -48px; +} + +.icon-align-justify { + background-position: -336px -48px; +} + +.icon-list { + background-position: -360px -48px; +} + +.icon-indent-left { + background-position: -384px -48px; +} + +.icon-indent-right { + background-position: -408px -48px; +} + +.icon-facetime-video { + background-position: -432px -48px; +} + +.icon-picture { + background-position: -456px -48px; +} + +.icon-pencil { + background-position: 0 -72px; +} + +.icon-map-marker { + background-position: -24px -72px; +} + +.icon-adjust { + background-position: -48px -72px; +} + +.icon-tint { + background-position: -72px -72px; +} + +.icon-edit { + background-position: -96px -72px; +} + +.icon-share { + background-position: -120px -72px; +} + +.icon-check { + background-position: -144px -72px; +} + +.icon-move { + background-position: -168px -72px; +} + +.icon-step-backward { + background-position: -192px -72px; +} + +.icon-fast-backward { + background-position: -216px -72px; +} + +.icon-backward { + background-position: -240px -72px; +} + +.icon-play { + background-position: -264px -72px; +} + +.icon-pause { + background-position: -288px -72px; +} + +.icon-stop { + background-position: -312px -72px; +} + +.icon-forward { + background-position: -336px -72px; +} + +.icon-fast-forward { + background-position: -360px -72px; +} + +.icon-step-forward { + background-position: -384px -72px; +} + +.icon-eject { + background-position: -408px -72px; +} + +.icon-chevron-left { + background-position: -432px -72px; +} + +.icon-chevron-right { + background-position: -456px -72px; +} + +.icon-plus-sign { + background-position: 0 -96px; +} + +.icon-minus-sign { + background-position: -24px -96px; +} + +.icon-remove-sign { + background-position: -48px -96px; +} + +.icon-ok-sign { + background-position: -72px -96px; +} + +.icon-question-sign { + background-position: -96px -96px; +} + +.icon-info-sign { + background-position: -120px -96px; +} + +.icon-screenshot { + background-position: -144px -96px; +} + +.icon-remove-circle { + background-position: -168px -96px; +} + +.icon-ok-circle { + background-position: -192px -96px; +} + +.icon-ban-circle { + background-position: -216px -96px; +} + +.icon-arrow-left { + background-position: -240px -96px; +} + +.icon-arrow-right { + background-position: -264px -96px; +} + +.icon-arrow-up { + background-position: -289px -96px; +} + +.icon-arrow-down { + background-position: -312px -96px; +} + +.icon-share-alt { + background-position: -336px -96px; +} + +.icon-resize-full { + background-position: -360px -96px; +} + +.icon-resize-small { + background-position: -384px -96px; +} + +.icon-plus { + background-position: -408px -96px; +} + +.icon-minus { + background-position: -433px -96px; +} + +.icon-asterisk { + background-position: -456px -96px; +} + +.icon-exclamation-sign { + background-position: 0 -120px; +} + +.icon-gift { + background-position: -24px -120px; +} + +.icon-leaf { + background-position: -48px -120px; +} + +.icon-fire { + background-position: -72px -120px; +} + +.icon-eye-open { + background-position: -96px -120px; +} + +.icon-eye-close { + background-position: -120px -120px; +} + +.icon-warning-sign { + background-position: -144px -120px; +} + +.icon-plane { + background-position: -168px -120px; +} + +.icon-calendar { + background-position: -192px -120px; +} + +.icon-random { + width: 16px; + background-position: -216px -120px; +} + +.icon-comment { + background-position: -240px -120px; +} + +.icon-magnet { + background-position: -264px -120px; +} + +.icon-chevron-up { + background-position: -288px -120px; +} + +.icon-chevron-down { + background-position: -313px -119px; +} + +.icon-retweet { + background-position: -336px -120px; +} + +.icon-shopping-cart { + background-position: -360px -120px; +} + +.icon-folder-close { + background-position: -384px -120px; +} + +.icon-folder-open { + width: 16px; + background-position: -408px -120px; +} + +.icon-resize-vertical { + background-position: -432px -119px; +} + +.icon-resize-horizontal { + background-position: -456px -118px; +} + +.icon-hdd { + background-position: 0 -144px; +} + +.icon-bullhorn { + background-position: -24px -144px; +} + +.icon-bell { + background-position: -48px -144px; +} + +.icon-certificate { + background-position: -72px -144px; +} + +.icon-thumbs-up { + background-position: -96px -144px; +} + +.icon-thumbs-down { + background-position: -120px -144px; +} + +.icon-hand-right { + background-position: -144px -144px; +} + +.icon-hand-left { + background-position: -168px -144px; +} + +.icon-hand-up { + background-position: -192px -144px; +} + +.icon-hand-down { + background-position: -216px -144px; +} + +.icon-circle-arrow-right { + background-position: -240px -144px; +} + +.icon-circle-arrow-left { + background-position: -264px -144px; +} + +.icon-circle-arrow-up { + background-position: -288px -144px; +} + +.icon-circle-arrow-down { + background-position: -312px -144px; +} + +.icon-globe { + background-position: -336px -144px; +} + +.icon-wrench { + background-position: -360px -144px; +} + +.icon-tasks { + background-position: -384px -144px; +} + +.icon-filter { + background-position: -408px -144px; +} + +.icon-briefcase { + background-position: -432px -144px; +} + +.icon-fullscreen { + background-position: -456px -144px; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.dropdown-menu li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: #ffffff; + text-decoration: none; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + outline: 0; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover { + color: #999999; +} + +.dropdown-menu .disabled > a:hover { + text-decoration: none; + cursor: default; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open { + *z-index: 1000; +} + +.open > .dropdown-menu { + display: block; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} + +.dropup .dropdown-submenu > .dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} + +.dropdown-submenu > a:after { + display: block; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-color: transparent; + border-left-color: #cccccc; + border-style: solid; + border-width: 5px 0 5px 5px; + content: " "; +} + +.dropdown-submenu:hover > a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.dropdown .dropdown-menu .nav-header { + padding-right: 20px; + padding-left: 20px; +} + +.typeahead { + z-index: 1051; + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #dddddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.collapse.in { + height: auto; +} + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.btn { + display: inline-block; + *display: inline; + padding: 4px 12px; + margin-bottom: 0; + *margin-left: .3em; + font-size: 14px; + line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + *background-color: #e6e6e6; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #bbbbbb; + *border: 0; + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { + background-color: #cccccc \9; +} + +.btn:first-child { + *margin-left: 0; +} + +.btn:hover { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} + +.btn:focus { + outline: thin dotted #333333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn.active, +.btn:active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-large { + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { + margin-top: 4px; +} + +.btn-small { + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { + margin-top: 0; +} + +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} + +.btn-mini { + padding: 0 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +.btn { + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); +} + +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + *background-color: #0044cc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} + +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} + +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + *background-color: #f89406; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} + +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} + +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + *background-color: #51a351; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-repeat: repeat-x; + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} + +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + *background-color: #2f96b4; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} + +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + *background-color: #222222; + background-image: -moz-linear-gradient(top, #444444, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-repeat: repeat-x; + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-link { + color: #0088cc; + cursor: pointer; + border-color: transparent; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-link:hover { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover { + color: #333333; + text-decoration: none; +} + +.btn-group { + position: relative; + display: inline-block; + *display: inline; + *margin-left: .3em; + font-size: 0; + white-space: nowrap; + vertical-align: middle; + *zoom: 1; +} + +.btn-group:first-child { + *margin-left: 0; +} + +.btn-group + .btn-group { + margin-left: 5px; +} + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; + font-size: 0; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group > .btn + .btn { + margin-left: -1px; +} + +.btn-group > .btn, +.btn-group > .dropdown-menu, +.btn-group > .popover { + font-size: 14px; +} + +.btn-group > .btn-mini { + font-size: 10.5px; +} + +.btn-group > .btn-small { + font-size: 11.9px; +} + +.btn-group > .btn-large { + font-size: 17.5px; +} + +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group > .btn + .dropdown-toggle { + *padding-top: 5px; + padding-right: 8px; + *padding-bottom: 5px; + padding-left: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group > .btn-mini + .dropdown-toggle { + *padding-top: 2px; + padding-right: 5px; + *padding-bottom: 2px; + padding-left: 5px; +} + +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group > .btn-large + .dropdown-toggle { + *padding-top: 7px; + padding-right: 12px; + *padding-bottom: 7px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +.btn-mini .caret, +.btn-small .caret, +.btn-large .caret { + margin-top: 6px; +} + +.btn-large .caret { + border-top-width: 5px; + border-right-width: 5px; + border-left-width: 5px; +} + +.dropup .btn-large .caret { + border-bottom-width: 5px; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-group-vertical > .btn { + display: block; + float: none; + max-width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group-vertical > .btn + .btn { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.btn-group-vertical > .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.btn-group-vertical > .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +.btn-group-vertical > .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert, +.alert h4 { + color: #c09853; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success h4 { + color: #468847; +} + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info h4 { + color: #3a87ad; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +.alert-block p + p { + margin-top: 5px; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav > li > a { + display: block; +} + +.nav > li > a:hover { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li > a > img { + max-width: none; +} + +.nav > .pull-right { + float: right; +} + +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +.nav li + .nav-header { + margin-top: 9px; +} + +.nav-list { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 0; +} + +.nav-list > li > a, +.nav-list .nav-header { + margin-right: -15px; + margin-left: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list > li > a { + padding: 3px 15px; +} + +.nav-list > .active > a, +.nav-list > .active > a:hover { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + margin-right: 2px; +} + +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { + *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + line-height: 0; + content: ""; +} + +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +.nav-tabs > li, +.nav-pills > li { + float: left; +} + +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +.nav-tabs { + border-bottom: 1px solid #dddddd; +} + +.nav-tabs > li { + margin-bottom: -1px; +} + +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; +} + +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.nav-pills > .active > a, +.nav-pills > .active > a:hover { + color: #ffffff; + background-color: #0088cc; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li > a { + margin-right: 0; +} + +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +.nav-tabs.nav-stacked > li > a { + border: 1px solid #dddddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; +} + +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.nav-tabs.nav-stacked > li > a:hover { + z-index: 2; + border-color: #dddddd; +} + +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} + +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.nav .dropdown-toggle .caret { + margin-top: 6px; + border-top-color: #0088cc; + border-bottom-color: #0088cc; +} + +.nav .dropdown-toggle:hover .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ + +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +.nav .active .dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.nav > .dropdown.active > a:hover { + cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} + +.tabs-stacked .open > a:hover { + border-color: #999999; +} + +.tabbable { + *zoom: 1; +} + +.tabbable:before, +.tabbable:after { + display: table; + line-height: 0; + content: ""; +} + +.tabbable:after { + clear: both; +} + +.tab-content { + overflow: auto; +} + +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.tabs-below > .nav-tabs { + border-top: 1px solid #dddddd; +} + +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} + +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.tabs-below > .nav-tabs > li > a:hover { + border-top-color: #dddddd; + border-bottom-color: transparent; +} + +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { + border-color: transparent #dddddd #dddddd #dddddd; +} + +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} + +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #dddddd; +} + +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.tabs-left > .nav-tabs > li > a:hover { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { + border-color: #dddddd transparent #dddddd #dddddd; + *border-right-color: #ffffff; +} + +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #dddddd; +} + +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.tabs-right > .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { + border-color: #dddddd #dddddd #dddddd transparent; + *border-left-color: #ffffff; +} + +.nav > .disabled > a { + color: #999999; +} + +.nav > .disabled > a:hover { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.navbar { + *position: relative; + *z-index: 2; + margin-bottom: 20px; + overflow: visible; +} + +.navbar-inner { + min-height: 40px; + padding-right: 20px; + padding-left: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + +.navbar .container { + width: auto; +} + +.nav-collapse.collapse { + height: auto; + overflow: visible; +} + +.navbar .brand { + display: block; + float: left; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .brand:hover { + text-decoration: none; +} + +.navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #777777; +} + +.navbar-link { + color: #777777; +} + +.navbar-link:hover { + color: #333333; +} + +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-right: 1px solid #ffffff; + border-left: 1px solid #f2f2f2; +} + +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn { + margin-top: 0; +} + +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-form:after { + clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 5px; + white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} + +.navbar-search .search-query { + padding: 4px 14px; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.navbar-static-top { + position: static; + margin-bottom: 0; +} + +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-right: 0; + padding-left: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +.navbar .nav > li { + float: left; +} + +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + color: #333333; + text-decoration: none; + background-color: transparent; +} + +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-right: 5px; + margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + *background-color: #e5e5e5; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + +.navbar .nav > li > .dropdown-menu:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #cccccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.navbar .nav > li > .dropdown-menu:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + top: auto; + bottom: -7px; + border-top: 7px solid #cccccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + top: auto; + bottom: -6px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.navbar .nav li.dropdown > a:hover .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + color: #555555; + background-color: #e5e5e5; +} + +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + right: 12px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + right: 13px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + right: 100%; + left: auto; + margin-right: -1px; + margin-left: 0; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + border-color: #252525; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); +} + +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar-inverse .brand:hover, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; +} + +.navbar-inverse .brand { + color: #999999; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.navbar-inverse .divider-vertical { + border-right-color: #222222; + border-left-color: #111111; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .nav li.dropdown > a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + outline: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + *background-color: #040404; + background-image: -moz-linear-gradient(top, #151515, #040404); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-repeat: repeat-x; + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} + +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} + +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; + *display: inline; + text-shadow: 0 1px 0 #ffffff; + *zoom: 1; +} + +.breadcrumb > li > .divider { + padding: 0 5px; + color: #cccccc; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + margin: 20px 0; +} + +.pagination ul { + display: inline-block; + *display: inline; + margin-bottom: 0; + margin-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *zoom: 1; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination ul > li { + display: inline; +} + +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 4px 12px; + line-height: 20px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} + +.pagination ul > li > a:hover, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: #f5f5f5; +} + +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} + +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover { + color: #999999; + cursor: default; + background-color: transparent; +} + +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.pagination-centered { + text-align: center; +} + +.pagination-right { + text-align: right; +} + +.pagination-large ul > li > a, +.pagination-large ul > li > span { + padding: 11px 19px; + font-size: 17.5px; +} + +.pagination-large ul > li:first-child > a, +.pagination-large ul > li:first-child > span { + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.pagination-large ul > li:last-child > a, +.pagination-large ul > li:last-child > span { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.pagination-mini ul > li:first-child > a, +.pagination-small ul > li:first-child > a, +.pagination-mini ul > li:first-child > span, +.pagination-small ul > li:first-child > span { + -webkit-border-bottom-left-radius: 3px; + border-bottom-left-radius: 3px; + -webkit-border-top-left-radius: 3px; + border-top-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-topleft: 3px; +} + +.pagination-mini ul > li:last-child > a, +.pagination-small ul > li:last-child > a, +.pagination-mini ul > li:last-child > span, +.pagination-small ul > li:last-child > span { + -webkit-border-top-right-radius: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; +} + +.pagination-small ul > li > a, +.pagination-small ul > li > span { + padding: 2px 10px; + font-size: 11.9px; +} + +.pagination-mini ul > li > a, +.pagination-mini ul > li > span { + padding: 0 6px; + font-size: 10.5px; +} + +.pager { + margin: 20px 0; + text-align: center; + list-style: none; + *zoom: 1; +} + +.pager:before, +.pager:after { + display: table; + line-height: 0; + content: ""; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.pager li > a:hover { + text-decoration: none; + background-color: #f5f5f5; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > span { + color: #999999; + cursor: default; + background-color: #ffffff; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.modal { + position: fixed; + top: 10%; + left: 50%; + z-index: 1050; + width: 560px; + margin-left: -280px; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999999; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} + +.modal.fade { + top: -25%; + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; +} + +.modal.fade.in { + top: 10%; +} + +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eeeeee; +} + +.modal-header .close { + margin-top: 2px; +} + +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +.modal-body { + position: relative; + max-height: 400px; + padding: 15px; + overflow-y: auto; +} + +.modal-form { + margin-bottom: 0; +} + +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + line-height: 0; + content: ""; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + padding: 5px; + font-size: 11px; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.tooltip.top { + margin-top: -3px; +} + +.tooltip.right { + margin-left: 3px; +} + +.tooltip.bottom { + margin-top: 3px; +} + +.tooltip.left { + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + width: 236px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; +} + +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { + display: table; + line-height: 0; + content: ""; +} + +.thumbnails:after { + clear: both; +} + +.row-fluid .thumbnails { + margin-left: 0; +} + +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #dddddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +a.thumbnail:hover { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail > img { + display: block; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media .pull-left { + margin-right: 10px; +} + +.media .pull-right { + margin-left: 10px; +} + +.media-list { + margin-left: 0; + list-style: none; +} + +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; +} + +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.badge { + padding-right: 9px; + padding-left: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} + +.label:empty, +.badge:empty { + display: none; +} + +a.label:hover, +a.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress .bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} + +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} + +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { + margin-bottom: 20px; +} + +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.accordion-heading { + border-bottom: 0; +} + +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +.accordion-toggle { + cursor: pointer; +} + +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img { + display: block; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.right { + right: 15px; + left: auto; +} + +.carousel-control:hover { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-caption { + position: absolute; + right: 0; + bottom: 0; + left: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { + line-height: 20px; + color: #ffffff; +} + +.carousel-caption h4 { + margin: 0 0 5px; +} + +.carousel-caption p { + margin-bottom: 0; +} + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + color: inherit; +} + +.hero-unit li { + line-height: 30px; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.hide { + display: none; +} + +.show { + display: block; +} + +.invisible { + visibility: hidden; +} + +.affix { + position: fixed; +} diff --git a/wp-content/themes/responsive/core/includes/upsell/bootstrap/css/cyberchimps-responsive.css b/wp-content/themes/responsive/core/includes/upsell/bootstrap/css/cyberchimps-responsive.css new file mode 100644 index 0000000..046a232 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/upsell/bootstrap/css/cyberchimps-responsive.css @@ -0,0 +1,363 @@ +/* BootStrap responsive calls separated from rest of style sheet to help non-responsive layouts */ +@media (max-width: 979px) { + body { + padding-top: 0; + } + + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + + .navbar-fixed-top { + margin-bottom: 20px; + } + + .navbar-fixed-bottom { + margin-top: 20px; + } + + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + + .navbar .container { + width: auto; + padding: 0; + } + + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + + .nav-collapse { + clear: both; + } + + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + + .nav-collapse .nav > li { + float: none; + } + + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + + .nav-collapse .nav > .divider-vertical { + display: none; + } + + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: #f2f2f2; + } + + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } + + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:hover { + background-color: #111111; + } + + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: none; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + + .nav-collapse .open > .dropdown-menu { + display: block; + } + + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + + .nav-collapse .dropdown-menu .divider { + display: none; + } + + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + + .navbar .btn-navbar { + display: block; + } + + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} + +@media (max-width: 767px) { + body { + padding-right: 20px; + padding-left: 20px; + } + + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + + .container-fluid { + padding: 0; + } + + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + + .dl-horizontal dd { + margin-left: 0; + } + + .container { + width: auto; + } + + .row-fluid { + width: 100%; + } + + .row, + .thumbnails { + margin-left: 0; + } + + .thumbnails > li { + float: none; + margin-left: 0; + } + + [class*="span"], + .uneditable-input[class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .row-fluid [class*="offset"]:first-child { + margin-left: 0; + } + + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + + .modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + + .modal.fade { + top: -100px; + } + + .modal.fade.in { + top: 20px; + } +} + +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + + .page-header h1 small { + display: block; + line-height: 20px; + } + + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #cccccc; + } + + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + + .form-horizontal .controls { + margin-left: 0; + } + + .form-horizontal .control-list { + padding-top: 0; + } + + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + + .media .pull-left, + .media .pull-right { + display: block; + float: none; + margin-bottom: 10px; + } + + .media-object { + margin-right: 0; + margin-left: 0; + } + + .modal { + top: 10px; + right: 10px; + left: 10px; + } + + .modal-header .close { + padding: 10px; + margin: -10px; + } + + .carousel-caption { + position: static; + } +} \ No newline at end of file diff --git a/wp-content/themes/responsive/core/includes/upsell/bootstrap/js/bootstrap.min.js b/wp-content/themes/responsive/core/includes/upsell/bootstrap/js/bootstrap.min.js new file mode 100644 index 0000000..3a42d66 --- /dev/null +++ b/wp-content/themes/responsive/core/includes/upsell/bootstrap/js/bootstrap.min.js @@ -0,0 +1,988 @@ +/*! + * Bootstrap.js by @fat & @mdo + * Copyright 2012 Twitter, Inc. + * http://www.apache.org/licenses/LICENSE-2.0.txt + */ +!function (e) { + "use strict"; + e(function () { + e.support.transition = function () { + var e = function () { + var e = document.createElement("bootstrap"), t = {WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend"}, n; + for (n in t) { + if (e.style[n] !== undefined) { + return t[n] + } + } + }(); + return e && {end: e} + }() + }) +}(window.jQuery); +!function (e) { + "use strict"; + var t = '[data-dismiss="alert"]', n = function (n) { + e(n).on("click", t, this.close) + }; + n.prototype.close = function (t) { + function s() { + i.trigger("closed").remove() + } + + var n = e(this), r = n.attr("data-target"), i; + if (!r) { + r = n.attr("href"); + r = r && r.replace(/.*(?=#[^\s]*$)/, "") + } + i = e(r); + t && t.preventDefault(); + i.length || (i = n.hasClass("alert") ? n : n.parent()); + i.trigger(t = e.Event("close")); + if (t.isDefaultPrevented())return; + i.removeClass("in"); + e.support.transition && i.hasClass("fade") ? i.on(e.support.transition.end, s) : s() + }; + var r = e.fn.alert; + e.fn.alert = function (t) { + return this.each(function () { + var r = e(this), i = r.data("alert"); + if (!i)r.data("alert", i = new n(this)); + if (typeof t == "string")i[t].call(r) + }) + }; + e.fn.alert.Constructor = n; + e.fn.alert.noConflict = function () { + e.fn.alert = r; + return this + }; + e(document).on("click.alert.data-api", t, n.prototype.close) +}(window.jQuery); +!function (e) { + "use strict"; + var t = function (t, n) { + this.$element = e(t); + this.options = e.extend({}, e.fn.button.defaults, n) + }; + t.prototype.setState = function (e) { + var t = "disabled", n = this.$element, r = n.data(), i = n.is("input") ? "val" : "html"; + e = e + "Text"; + r.resetText || n.data("resetText", n[i]()); + n[i](r[e] || this.options[e]); + setTimeout(function () { + e == "loadingText" ? n.addClass(t).attr(t, t) : n.removeClass(t).removeAttr(t) + }, 0) + }; + t.prototype.toggle = function () { + var e = this.$element.closest('[data-toggle="buttons-radio"]'); + e && e.find(".active").removeClass("active"); + this.$element.toggleClass("active") + }; + var n = e.fn.button; + e.fn.button = function (n) { + return this.each(function () { + var r = e(this), i = r.data("button"), s = typeof n == "object" && n; + if (!i)r.data("button", i = new t(this, s)); + if (n == "toggle")i.toggle(); else if (n)i.setState(n) + }) + }; + e.fn.button.defaults = {loadingText: "loading..."}; + e.fn.button.Constructor = t; + e.fn.button.noConflict = function () { + e.fn.button = n; + return this + }; + e(document).on("click.button.data-api", "[data-toggle^=button]", function (t) { + var n = e(t.target); + if (!n.hasClass("btn"))n = n.closest(".btn"); + n.button("toggle") + }) +}(window.jQuery); +!function (e) { + "use strict"; + var t = function (t, n) { + this.$element = e(t); + this.options = n; + this.options.pause == "hover" && this.$element.on("mouseenter", e.proxy(this.pause, this)).on("mouseleave", e.proxy(this.cycle, this)) + }; + t.prototype = {cycle: function (t) { + if (!t)this.paused = false; + this.options.interval && !this.paused && (this.interval = setInterval(e.proxy(this.next, this), this.options.interval)); + return this + }, to: function (t) { + var n = this.$element.find(".item.active"), r = n.parent().children(), i = r.index(n), s = this; + if (t > r.length - 1 || t < 0)return; + if (this.sliding) { + return this.$element.one("slid", function () { + s.to(t) + }) + } + if (i == t) { + return this.pause().cycle() + } + return this.slide(t > i ? "next" : "prev", e(r[t])) + }, pause: function (t) { + if (!t)this.paused = true; + if (this.$element.find(".next, .prev").length && e.support.transition.end) { + this.$element.trigger(e.support.transition.end); + this.cycle() + } + clearInterval(this.interval); + this.interval = null; + return this + }, next: function () { + if (this.sliding)return; + return this.slide("next") + }, prev: function () { + if (this.sliding)return; + return this.slide("prev") + }, slide: function (t, n) { + if (!e.support.transition && this.$element.hasClass("slide")) { + this.$element.find(".item").stop(true, true) + } + var r = this.$element.find(".item.active"), i = n || r[t](), s = this.interval, o = t == "next" ? "left" : "right", u = t == "next" ? "first" : "last", a = this, f; + this.sliding = true; + s && this.pause(); + i = i.length ? i : this.$element.find(".item")[u](); + f = e.Event("slide", {relatedTarget: i[0]}); + if (i.hasClass("active"))return; + if (e.support.transition && this.$element.hasClass("slide")) { + this.$element.trigger(f); + if (f.isDefaultPrevented())return; + i.addClass(t); + i[0].offsetWidth; + r.addClass(o); + i.addClass(o); + this.$element.one(e.support.transition.end, function () { + i.removeClass([t, o].join(" ")).addClass("active"); + r.removeClass(["active", o].join(" ")); + a.sliding = false; + setTimeout(function () { + a.$element.trigger("slid") + }, 0) + }) + } else if (!e.support.transition && this.$element.hasClass("slide")) { + this.$element.trigger(f); + if (f.isDefaultPrevented())return; + r.animate({left: o == "right" ? "100%" : "-100%"}, 600, function () { + r.removeClass("active"); + a.sliding = false; + setTimeout(function () { + a.$element.trigger("slid") + }, 0) + }); + i.addClass(t).css({left: o == "right" ? "-100%" : "100%"}).animate({left: "0"}, 600, function () { + i.removeClass(t).addClass("active") + }) + } else { + this.$element.trigger(f); + if (f.isDefaultPrevented())return; + r.removeClass("active"); + i.addClass("active"); + this.sliding = false; + this.$element.trigger("slid") + } + s && this.cycle(); + return this + }}; + var n = e.fn.carousel; + e.fn.carousel = function (n) { + return this.each(function () { + var r = e(this), i = r.data("carousel"), s = e.extend({}, e.fn.carousel.defaults, typeof n == "object" && n), o = typeof n == "string" ? n : s.slide; + if (!i)r.data("carousel", i = new t(this, s)); + if (typeof n == "number")i.to(n); else if (o)i[o](); else if (s.interval)i.cycle() + }) + }; + e.fn.carousel.defaults = {interval: 5e3, pause: "hover"}; + e.fn.carousel.Constructor = t; + e.fn.carousel.noConflict = function () { + e.fn.carousel = n; + return this + }; + e(document).on("click.carousel.data-api", "[data-slide]", function (t) { + var n = e(this), r, i = e(n.attr("data-target") || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, "")), s = e.extend({}, i.data(), n.data()); + i.carousel(s); + t.preventDefault() + }) +}(window.jQuery); +!function (e) { + "use strict"; + var t = function (t, n) { + this.$element = e(t); + this.options = e.extend({}, e.fn.collapse.defaults, n); + if (this.options.parent) { + this.$parent = e(this.options.parent) + } + this.options.toggle && this.toggle() + }; + t.prototype = {constructor: t, dimension: function () { + var e = this.$element.hasClass("width"); + return e ? "width" : "height" + }, show: function () { + var t, n, r, i; + if (this.transitioning)return; + t = this.dimension(); + n = e.camelCase(["scroll", t].join("-")); + r = this.$parent && this.$parent.find("> .accordion-group > .in"); + if (r && r.length) { + i = r.data("collapse"); + if (i && i.transitioning)return; + r.collapse("hide"); + i || r.data("collapse", null) + } + this.$element[t](0); + this.transition("addClass", e.Event("show"), "shown"); + e.support.transition && this.$element[t](this.$element[0][n]) + }, hide: function () { + var t; + if (this.transitioning)return; + t = this.dimension(); + this.reset(this.$element[t]()); + this.transition("removeClass", e.Event("hide"), "hidden"); + this.$element[t](0) + }, reset: function (e) { + var t = this.dimension(); + this.$element.removeClass("collapse")[t](e || "auto")[0].offsetWidth; + this.$element[e !== null ? "addClass" : "removeClass"]("collapse"); + return this + }, transition: function (t, n, r) { + var i = this, s = function () { + if (n.type == "show")i.reset(); + i.transitioning = 0; + i.$element.trigger(r) + }; + this.$element.trigger(n); + if (n.isDefaultPrevented())return; + this.transitioning = 1; + this.$element[t]("in"); + e.support.transition && this.$element.hasClass("collapse") ? this.$element.one(e.support.transition.end, s) : s() + }, toggle: function () { + this[this.$element.hasClass("in") ? "hide" : "show"]() + }}; + var n = e.fn.collapse; + e.fn.collapse = function (n) { + return this.each(function () { + var r = e(this), i = r.data("collapse"), s = typeof n == "object" && n; + if (!i)r.data("collapse", i = new t(this, s)); + if (typeof n == "string")i[n]() + }) + }; + e.fn.collapse.defaults = {toggle: true}; + e.fn.collapse.Constructor = t; + e.fn.collapse.noConflict = function () { + e.fn.collapse = n; + return this + }; + e(document).on("click.collapse.data-api", "[data-toggle=collapse]", function (t) { + var n = e(this), r, i = n.attr("data-target") || t.preventDefault() || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, ""), s = e(i).data("collapse") ? "toggle" : n.data(); + n[e(i).hasClass("in") ? "addClass" : "removeClass"]("collapsed"); + e(i).collapse(s) + }) +}(window.jQuery); +!function (e) { + "use strict"; + function r() { + e(t).each(function () { + i(e(this)).removeClass("open") + }) + } + + function i(t) { + var n = t.attr("data-target"), r; + if (!n) { + n = t.attr("href"); + n = n && /#/.test(n) && n.replace(/.*(?=#[^\s]*$)/, "") + } + r = e(n); + r.length || (r = t.parent()); + return r + } + + var t = "[data-toggle=dropdown]", n = function (t) { + var n = e(t).on("click.dropdown.data-api", this.toggle); + e("html").on("click.dropdown.data-api", function () { + n.parent().removeClass("open") + }) + }; + n.prototype = {constructor: n, toggle: function (t) { + var n = e(this), s, o; + if (n.is(".disabled, :disabled"))return; + s = i(n); + o = s.hasClass("open"); + r(); + if (!o) { + s.toggleClass("open") + } + n.focus(); + return false + }, keydown: function (t) { + var n, r, s, o, u, a; + if (!/(38|40|27)/.test(t.keyCode))return; + n = e(this); + t.preventDefault(); + t.stopPropagation(); + if (n.is(".disabled, :disabled"))return; + o = i(n); + u = o.hasClass("open"); + if (!u || u && t.keyCode == 27)return n.click(); + r = e("[role=menu] li:not(.divider):visible a", o); + if (!r.length)return; + a = r.index(r.filter(":focus")); + if (t.keyCode == 38 && a > 0)a--; + if (t.keyCode == 40 && a < r.length - 1)a++; + if (!~a)a = 0; + r.eq(a).focus() + }}; + var s = e.fn.dropdown; + e.fn.dropdown = function (t) { + return this.each(function () { + var r = e(this), i = r.data("dropdown"); + if (!i)r.data("dropdown", i = new n(this)); + if (typeof t == "string")i[t].call(r) + }) + }; + e.fn.dropdown.Constructor = n; + e.fn.dropdown.noConflict = function () { + e.fn.dropdown = s; + return this + }; + e(document).on("click.dropdown.data-api touchstart.dropdown.data-api", r).on("click.dropdown touchstart.dropdown.data-api", ".dropdown form",function (e) { + e.stopPropagation() + }).on("touchstart.dropdown.data-api", ".dropdown-menu",function (e) { + e.stopPropagation() + }).on("click.dropdown.data-api touchstart.dropdown.data-api", t, n.prototype.toggle).on("keydown.dropdown.data-api touchstart.dropdown.data-api", t + ", [role=menu]", n.prototype.keydown) +}(window.jQuery); +!function (e) { + "use strict"; + var t = function (t, n) { + this.options = n; + this.$element = e(t).delegate('[data-dismiss="modal"]', "click.dismiss.modal", e.proxy(this.hide, this)); + this.options.remote && this.$element.find(".modal-body").load(this.options.remote) + }; + t.prototype = {constructor: t, toggle: function () { + return this[!this.isShown ? "show" : "hide"]() + }, show: function () { + var t = this, n = e.Event("show"); + this.$element.trigger(n); + if (this.isShown || n.isDefaultPrevented())return; + this.isShown = true; + this.escape(); + this.backdrop(function () { + var n = e.support.transition && t.$element.hasClass("fade"); + if (!t.$element.parent().length) { + t.$element.appendTo(document.body) + } + t.$element.show(); + if (n) { + t.$element[0].offsetWidth + } + t.$element.addClass("in").attr("aria-hidden", false); + t.enforceFocus(); + n ? t.$element.one(e.support.transition.end, function () { + t.$element.focus().trigger("shown") + }) : t.$element.focus().trigger("shown") + }) + }, hide: function (t) { + t && t.preventDefault(); + var n = this; + t = e.Event("hide"); + this.$element.trigger(t); + if (!this.isShown || t.isDefaultPrevented())return; + this.isShown = false; + this.escape(); + e(document).off("focusin.modal"); + this.$element.removeClass("in").attr("aria-hidden", true); + e.support.transition && this.$element.hasClass("fade") ? this.hideWithTransition() : this.hideModal() + }, enforceFocus: function () { + var t = this; + e(document).on("focusin.modal", function (e) { + if (t.$element[0] !== e.target && !t.$element.has(e.target).length) { + t.$element.focus() + } + }) + }, escape: function () { + var e = this; + if (this.isShown && this.options.keyboard) { + this.$element.on("keyup.dismiss.modal", function (t) { + t.which == 27 && e.hide() + }) + } else if (!this.isShown) { + this.$element.off("keyup.dismiss.modal") + } + }, hideWithTransition: function () { + var t = this, n = setTimeout(function () { + t.$element.off(e.support.transition.end); + t.hideModal() + }, 500); + this.$element.one(e.support.transition.end, function () { + clearTimeout(n); + t.hideModal() + }) + }, hideModal: function (e) { + this.$element.hide().trigger("hidden"); + this.backdrop() + }, removeBackdrop: function () { + this.$backdrop.remove(); + this.$backdrop = null + }, backdrop: function (t) { + var n = this, r = this.$element.hasClass("fade") ? "fade" : ""; + if (this.isShown && this.options.backdrop) { + var i = e.support.transition && r; + this.$backdrop = e(' + +
    + + + + + + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/front-page.php b/wp-content/themes/responsive/front-page.php new file mode 100644 index 0000000..a2d50bc --- /dev/null +++ b/wp-content/themes/responsive/front-page.php @@ -0,0 +1,125 @@ + + + + + diff --git a/wp-content/themes/responsive/full-width-page.php b/wp-content/themes/responsive/full-width-page.php new file mode 100644 index 0000000..2f603eb --- /dev/null +++ b/wp-content/themes/responsive/full-width-page.php @@ -0,0 +1,70 @@ + + +
    + + + + + + + + +
    > + + + + +
    + + '' ) ); ?> +
    + + + + + +
    + + + + + + + + +
    + + diff --git a/wp-content/themes/responsive/functions.php b/wp-content/themes/responsive/functions.php new file mode 100644 index 0000000..573805f --- /dev/null +++ b/wp-content/themes/responsive/functions.php @@ -0,0 +1,40 @@ + \ No newline at end of file diff --git a/wp-content/themes/responsive/header.php b/wp-content/themes/responsive/header.php new file mode 100644 index 0000000..4d496e6 --- /dev/null +++ b/wp-content/themes/responsive/header.php @@ -0,0 +1,115 @@ + + + + + + + +> + + + + + + <?php wp_title( '|', true, 'right' ); ?> + + + + + + + +> + + +
    + + + + + + +
    + + \ No newline at end of file diff --git a/wp-content/themes/responsive/home.php b/wp-content/themes/responsive/home.php new file mode 100644 index 0000000..c2b9c8f --- /dev/null +++ b/wp-content/themes/responsive/home.php @@ -0,0 +1,79 @@ + + +
    + + + +

    + + + + + + + + + +
    > + + + + +
    + + + + + + + '' ) ); ?> +
    + + + + + +
    + + + + +
    + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/image.php b/wp-content/themes/responsive/image.php new file mode 100644 index 0000000..6c87cf4 --- /dev/null +++ b/wp-content/themes/responsive/image.php @@ -0,0 +1,99 @@ + + + +
    + + + + + + +
    > + +

    + +

    post_parent ); ?> +

    + + + + +
    + ID, 'large' ); ?> + post_excerpt ) ) { + the_excerpt(); + } ?> + + '' ) ); ?> +
    + + + + + + +
    + ' ); ?> + +
    + + +
    + + +
    + + + + + + + + +
    + + + diff --git a/wp-content/themes/responsive/index.php b/wp-content/themes/responsive/index.php new file mode 100644 index 0000000..93e9177 --- /dev/null +++ b/wp-content/themes/responsive/index.php @@ -0,0 +1,73 @@ + + +
    + + + + + + +
    > + + + + +
    + + + + + + + '' ) ); ?> +
    + + + + + +
    + + + + + + + + +
    + + + diff --git a/wp-content/themes/responsive/landing-page.php b/wp-content/themes/responsive/landing-page.php new file mode 100644 index 0000000..69f524a --- /dev/null +++ b/wp-content/themes/responsive/landing-page.php @@ -0,0 +1,64 @@ + + +
    + + + + + + +
    > + + +

    + +
    + + '' ) ); ?> +
    + + + + + +
    + + + + +
    + + diff --git a/wp-content/themes/responsive/languages/ar.mo b/wp-content/themes/responsive/languages/ar.mo new file mode 100644 index 0000000..2256262 Binary files /dev/null and b/wp-content/themes/responsive/languages/ar.mo differ diff --git a/wp-content/themes/responsive/languages/ar.po b/wp-content/themes/responsive/languages/ar.po new file mode 100644 index 0000000..f76d342 --- /dev/null +++ b/wp-content/themes/responsive/languages/ar.po @@ -0,0 +1,877 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:35 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Arabic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=6; plural=n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "صÙحات:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ تدوينات أقدم" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "تدوينات أحدث ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "المزيد ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "هذه التدوينة محمية بكلمة مرور، أدخل كلمة المرور لعرض التعليقات." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ تعليقات أقدم" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "تعليقات أحدث ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "أوامر بينج / الارتباطات المرجعية" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s من أجل \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "الاسم" + +#: comments.php +msgid "E-mail" +msgstr "البريد الإلكتروني" + +#: comments.php +msgid "Website" +msgstr "الموقع" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "الانتقال إلى أعلى الصÙحة" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "قالب Responsive" + +#: footer.php +msgid "powered by" +msgstr "تدعمه" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://ar.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "وردبريس" + +#: image.php +msgid "‹ Return to" +msgstr "‹ العودة إلى" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "لا توجد تعليقات ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "تعليق واحد ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% تعليقات ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s تعليق على “%2$s”" +msgstr[1] "تعليق واحد على “%2$s”" +msgstr[2] "تعليقان على “%2$s”" +msgstr[3] "%1$s تعليقات على “%2$s”" +msgstr[4] "%1$s تعليق على “%2$s”" +msgstr[5] "%1$s تعليق على “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "الوسوم:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "داخل %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "تحرير" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Ù…ÙÙ†ÙŽ الغريب رؤيتك لهذه الصÙحة!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "الصÙحة المطلوبة غير موجودة، إستخدم المقترحات أدناه." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "بإمكانك العودة إلى %s ØŒ أو إستخدام خاصية البحث للحصول على الصÙحة المطلوبة." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "الرئيسية" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← الرئيسية" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "الأرشي٠اليومي: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "الأرشي٠الشهري: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "الأرشي٠السنوي: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "أرشي٠المدونة" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "البحث عن %s لم يطابق أي محتوى." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "رابط دائم لـ %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "نتائج البحث عن: %s" + +#: searchform.php +msgid "search here …" +msgstr "إبحث هنا …" + +#: searchform.php +msgid "Go" +msgstr "بحث" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "معلومات الصورة" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "الحجم الكامل:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Ùتحة العدسة: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "البعد البؤري:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "مم" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "آيزو:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "المغلاق:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "الكاميرا :" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "بالأرشيÙ" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "مربع الرئيسية الأول " + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "هنا مربع الصÙحة الرئيسية الأول ØŒ لتحريره يرجى الدخول إلى المظهر > المربعات الجانبية، ومن ثم اختر سادس مربع من جهة الأعلى ÙÙŠ المنطقة السادسة. والعنوان أيضاً قابل للتحرير من \"المربعات الجانبية\"." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "مربع الرئيسية الثاني" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "هنا مربع الصÙحة الرئيسية الثاني ØŒ لتحريره يرجى الدخول إلى المظهر > المربعات الجانبية، ومن ثم اختر سابع مربع من جهة الأعلى ÙÙŠ المنطقة السابعة. والعنوان أيضاً قابل للتحرير من \"المربعات الجانبية\"." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "مربع الرئيسية الثالث" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "هنا مربع الصÙحة الرئيسية الثالث ØŒ لتحريره يرجى الدخول إلى المظهر > المربعات الجانبية، ومن ثم اختر ثامن مربع من جهة الأعلى ÙÙŠ المنطقة الثامنة. والعنوان أيضاً قابل للتحرير من \"المربعات الجانبية\"." + +#: single.php +msgid "About" +msgstr "من نحن" + +#: sitemap.php +msgid "Categories" +msgstr "التصنيÙات" + +#: sitemap.php +msgid "Latest Posts" +msgstr "آخر التدوينات" + +#: sitemap.php +msgid "Pages" +msgstr "صÙحات" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "القائمة العليا" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "قائمة الهيدر (الترويسة)" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "قائمة الهيدر (الترويسة) الثانوية" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "قائمة ذيل الصÙحة (Ùوتر)" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "نشرت ÙÙ‰ %2$s بيد %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "عرض جميع تدوينات %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "أرشي٠%s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "تدوينات تحت وسم %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "خطأ 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "مزيد من القوالب" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "معرض أمثلة" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "القائمة الجانبية الرئيسية" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "المنطقة الأولى - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "القائمة الجانبية اليمنى" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "المنطقة الثانية - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "القائمة الجانبية اليسرى" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "المنطقة الثالثة - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "القائمة الجانبية اليسرى بنص٠الصÙحة" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "المنطقة الرابعة - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "القائمة الجانبية اليمنى بنص٠الصÙحة" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "المنطقة الخامسة - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "المنطقة السادسة - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "المنطقة السابعة - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr " المنطقة الثامنة - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "قائمة عارض الصور" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "المنطقة التاسعة - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "مربع خاتم الإصدار" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "المنطقة العاشرة - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "مربع الأعلى" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "المنطقة الحادية عشر - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "أهلاً بالعالَم!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "هنا عنوانك الÙرعي!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "بإمكانك تعديل العنوان الرئيسي، والعنوان الÙرعي، وهذه المساحة، من خلال المظهر > خيارات القالب. كذلك الحال مع زر \"إبدأ العمل\"Ø› بإمكانك تعديل الصورة الظاهرة، وبإمكانك إستبدالها بمقطع Ùيديو من اليوتيوب إذا أردت." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "ابدأ العمل!" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "خيارات القالب" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "تم Ø­Ùظ الخيارات" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "عناصر القالب" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "تعطيل قوائم مسار التنقل؟" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "إنقر للتعطيل" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "تعطيل زر \"إبدأ العمل\"ØŸ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Ø­Ùظ الإعدادات" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "رÙع الشعار" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "تخصيص الهيدر (الترويسة)" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "بحاجة لتغيير صورة اللوجو الإÙتراضية أو حذÙها؟" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "انقر هنا." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "الصÙحة الرئيسية" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "عنوان رئيسى" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "أدخل العنوان الرئيسي" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "عنوان ثانوي" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "أدخل العنوان الثانوي" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "منطقة المحتوى" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "اكتب محتوى الرئيسية" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "رابط ابدأ العمل" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "أدخل رابطاً (URL) لزر \"إبدأ العمل\"" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "نص \"ابدأ العمل\"" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "إدخل النص المراد عرضه بدلاً من \"إبدأ العمل\"" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "المحتوى المميز" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "شاهد الشرح" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "الصق كوداً مختصراً أو مصدراً Ù„Ùيديو أو لصورة" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "الأدوات الإدارية" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "تحقق Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "أدخل رقم حسابك ÙÙŠ جوجل ( أرقام Ùقط )" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "تحقق Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "أدخل رقم حسابك ÙÙŠ بينج ( أرقام Ùقط )" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "تحقق Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "أدخل رقم حسابك ÙÙŠ ياهو ( أرقام Ùقط )" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "تتبع إحصائيات الموقع" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "دعه Ùارغاً؛ إن كنت تعتمد ÙÙŠ الإدارة على إحدى الإضاÙات." + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics أو StatCounter أو غيرهما أو كلاهما." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "أيقونات المواقع الإجتماعية" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "أدخل رابط Twitter الخاص بك" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "أدخل رابط Facebook الخاص بك" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "أدخل رابط LinkedIn الخاص بك" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "أدخل رابط قناة الـ YouTube الخاصة بك" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "أدخل رابط StumbleUpon الخاص بك" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "تغذية RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "أدخل رابط تغذية RSS الخاص بك." + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "أدخل رابط Google+ الخاص بك" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "أدخل رابط Instagram الخاص بك" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "أدخل رابط Pinterest الخاص بك" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "أدخل رابط Yelp! الخاص بك" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "أدخل رابط Vimeo الخاص بك" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "أدخل رابط foursquare الخاص بك" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "أنماط CSS خاصة" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/es/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "دروس CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "أدخل كود الـ CSS الخاص بك" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "نصوص برمجية خاصة" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "نصوص برمجية لرأس الصÙحة أو الذيل." + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "دورة تعليمية سريعة" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "تضمينات ÙÙŠ header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "ضع نصاً برمجياً لتخصيص رأس الصÙحة" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "تضمينات ÙÙŠ footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "ضع نصاً برمجياً لتخصيص ذيل الصÙحة" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/bg_BG.mo b/wp-content/themes/responsive/languages/bg_BG.mo new file mode 100644 index 0000000..4bbeea2 Binary files /dev/null and b/wp-content/themes/responsive/languages/bg_BG.mo differ diff --git a/wp-content/themes/responsive/languages/bg_BG.po b/wp-content/themes/responsive/languages/bg_BG.po new file mode 100644 index 0000000..5735f84 --- /dev/null +++ b/wp-content/themes/responsive/languages/bg_BG.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:35 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Bulgarian, Bulgaria\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Страници:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ По-Ñтари публикации" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "По-нови публикации ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Прочетете повече ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Тази Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ðµ защитена Ñ Ð¿Ð°Ñ€Ð¾Ð»Ð°. Въведете паролата, за да видите коментарите." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ По-Ñтари коментари" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "По-нови коментари ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Обратни връзки" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s за \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Име" + +#: comments.php +msgid "E-mail" +msgstr "Е-адреÑ" + +#: comments.php +msgid "Website" +msgstr "УебÑайт" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "към началото" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "задвижвана от" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://bg.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Обратно към" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "ÐÑма коментари ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 коментар ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% коментара ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Един коментар по “%2$sâ€" +msgstr[1] "%1$s коментара по “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "С етикет:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Публикувано в %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Редактиране" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Ñтранно е, че попаднахте тук!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Без паника, можем да Ñе Ñправим заедно. Вижте опциите тук." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Може да Ñе върнете към %s или да потърÑите Ñтраницата, коÑто иÑкате" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Ðачало" + +#: loop-no-posts.php +msgid "← Home" +msgstr "↠Ðачало" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Ðрхив за дата: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Ðрхив за меÑец: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ðрхив за година: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Ðрхиви на блога" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "ТърÑенето за %s не откри ÑъвпадениÑ" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "ПоÑтоÑнна връзка към %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Резултати от Ñ‚ÑŠÑ€Ñенето на: %s" + +#: searchform.php +msgid "search here …" +msgstr "Ñ‚ÑŠÑ€Ñене..." + +#: searchform.php +msgid "Go" +msgstr "ОК" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñнимката" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Размер на файла:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Бленда: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "ФокуÑно разÑтоÑние:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "мм" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "СкороÑÑ‚ на затвора:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Модел на фотоапарата:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Ð’ архив" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Ðачална джаджа 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Това е първата джаджа в началната Ñтраница. За да Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð°Ñ‚Ðµ отворете Външен вид > Джаджи и изберете шеÑта облаÑÑ‚, наречена \"Ðачална джаджа 1\". Заглавието Ñъщо може да Ñе редактира." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Ðачална джаджа 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Това е втората джаджа в началната Ñтраница. За да Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð°Ñ‚Ðµ отворете Външен вид > Джаджи и изберете Ñедма облаÑÑ‚, наречена \"Ðачална джаджа 2\". Заглавието Ñъщо може да Ñе редактира." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Ðачална джаджа 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Това е третата джаджа в началната Ñтраница. За да Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð°Ñ‚Ðµ отворете Външен вид > Джаджи и изберете оÑма облаÑÑ‚, наречена \"Ðачална джаджа 3\". Заглавието Ñъщо може да Ñе редактира." + +#: single.php +msgid "About" +msgstr "ОтноÑно" + +#: sitemap.php +msgid "Categories" +msgstr "Категории" + +#: sitemap.php +msgid "Latest Posts" +msgstr "ПоÑледни публикации" + +#: sitemap.php +msgid "Pages" +msgstr "Страници" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Горно меню" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Заглавно меню" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Подзаглавно меню" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Меню във фуутъра" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Публикувано на %2$s от %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Преглед на вÑички публикации от %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Ðрхив за %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Публикации Ñ ÐµÑ‚Ð¸ÐºÐµÑ‚ %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Грешка 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Още теми" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "ДемонÑтрациÑ" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Главна Ñтранична лента" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Първа облаÑÑ‚ - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "ДÑÑна Ñтранична лента" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Втора облаÑÑ‚ - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "ЛÑва Ñтранична лента" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Трета облаÑÑ‚ - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "ЛÑва лента на половин Ñтраница" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Четвърта облаÑÑ‚ - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "ДÑÑна лента на половин Ñтраница" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Пета облаÑÑ‚ - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "ШеÑта облаÑÑ‚ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Седма облаÑÑ‚ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "ОÑма облаÑÑ‚ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Странична лента \"ГалериÑ\"" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Девета облаÑÑ‚ - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Здравей ÑвÑÑ‚" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Ð2 подзаглавие" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Заглавието, подзаглавието и това Ñъдържание могат да Ñе редактират от наÑтройките на темата. Също както и бутонът ДейÑтвие и връзката към него. Картинката отдÑÑно може да бъде Ñнимка или видео от YouTube примерно." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "ДейÑтвие" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "ÐаÑтройки на темата" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "ÐаÑтройките Ñа запиÑани" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Елементи на темата" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Изключване на Breadcrumb навигациÑта?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Отбележете, за да изключите" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Изключване на бутон ДейÑтвие?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Запазване на наÑтройките" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Качване на лого" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "СменÑем хедър" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Ðко иÑкате да Ñмените или премахнете Ñтандартното лого" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "натиÑнете тук." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Ðачална Ñтраница" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Заглавие" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Въведете заглавие" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Подзаглавие" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Въведете подзаглавие" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ОблаÑÑ‚ за Ñъдържание" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Въведете Ñъдържание" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "ДейÑтвие (уеб адреÑ)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Уеб Ð°Ð´Ñ€ÐµÑ Ð·Ð° бутон ДейÑтвие" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "ДейÑтвие (текÑÑ‚)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Въведете текÑÑ‚ за бутона" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Избрано Ñъдържание" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Вижте документациÑта" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ИнÑтрументи за уебмаÑтери" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Въведете Ñамо номера (Google ID)" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Въведете Ñамо номера (Bing ID)" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Въведете Ñамо номера (Yahoo ID)" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Скрипт за ÑтатиÑтиÑтика" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ОÑтавете полето празно ако използвате плъгин за вашите инÑтрументи" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter или вÑеки друг подобен." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Социални мрежи" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви в Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви във Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви в LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви в YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви в StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "ЕмиÑÐ¸Ñ RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° RSS емиÑиÑта" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Google+ профила Ви" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Instagram профила Ви" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° Pinterest профила Ви" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви в Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви във Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "ÐÐ´Ñ€ÐµÑ Ð½Ð° профила Ви във foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "ПотребителÑки CSS Ñтилове" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "ОбÑÑнение на CSS (на английÑки)" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Въведете вашите CSS промени" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/ca.mo b/wp-content/themes/responsive/languages/ca.mo new file mode 100644 index 0000000..e4a03d4 Binary files /dev/null and b/wp-content/themes/responsive/languages/ca.mo differ diff --git a/wp-content/themes/responsive/languages/ca.po b/wp-content/themes/responsive/languages/ca.po new file mode 100644 index 0000000..b861934 --- /dev/null +++ b/wp-content/themes/responsive/languages/ca.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:34 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Catalan\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Pàgines:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Publicacions més antigues" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Publicacions més noves ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Llegir més ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Aquesta publicació està protegida per contrasenya. Introdueix la contrasenya per veure els comentaris." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Comentaris més antics" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Comentaris més nous ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Retroenllaços" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s per a \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nom" + +#: comments.php +msgid "E-mail" +msgstr "Correu electrònic" + +#: comments.php +msgid "Website" +msgstr "Lloc web" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "vés cap amunt" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "funciona amb" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://ca.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Torna a" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Sense comentaris ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 comentari ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% comentaris ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Un comentari a “%2$s”" +msgstr[1] "%1$s comentaris a “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Etiquetat amb:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publicat a %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Edita" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Que estrany que ens trobem aquí!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "No t'espantis, ens espavilarem. Vegem les opcions a continuació." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Pots tornar a l' %s o cercar el que estàs buscant." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Inici" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Inici" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arxius diaris: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arxius mensuals: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arxius anuals: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arxius del blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "La teva cerca per a %s no ha obtingut cap resultat." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Enllaç permanent a %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Resultats de la cerca per a: %s" + +#: searchform.php +msgid "search here …" +msgstr "cerca aquí …" + +#: searchform.php +msgid "Go" +msgstr "Vés" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informació de la imatge" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Mida completa:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Obertura: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Distància focal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Obturador:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Càmera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "A l'arxiu" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Ginys de l'inici 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Aquesta és la capsa del teu primer giny de l'inici. Per editar-lo, vés a Aparença > Ginys i escull el sisè giny des de dalt, a la sisena àrea, anomenat Giny de l'inici 1. El títol també es pot administrar des dels ginys." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Ginys de l'inici 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Aquesta és la capsa del teu segon giny de l'inici. Per editar-lo, vés a Aparença > Ginys i escull el setè giny des de dalt, a la setena àrea, anomenat Giny de l'inici 2. El títol també es pot administrar des dels ginys." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Ginys de l'inici 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Aquesta és la capsa del teu tercer giny de l'inici. Per editar-lo, vés a Aparença > Ginys i escull el vuitè giny des de dalt, a la vuitena àrea, anomenat Giny de l'inici 3. El títol també es pot administrar des dels ginys." + +#: single.php +msgid "About" +msgstr "Quant a" + +#: sitemap.php +msgid "Categories" +msgstr "Categories" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Últimes publicacions" + +#: sitemap.php +msgid "Pages" +msgstr "Pàgines" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menú superior" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menú de la capçalera" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Menú de la subcapçalera" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menú del peu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Pàgina %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publicat el %2$s per %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Mostra totes les publicacions de %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arxiu de %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Publicacions etiquetades amb %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Error 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Més temes" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Mostra de dissenys" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Barra lateral principal" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Àrea 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Barra lateral de la dreta" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Àrea 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Barra lateral de l'esquerra" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Àrea 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Barra lateral de l'esquerra a mitja pàgina" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Àrea 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Barra lateral de la dreta a mitja pàgina" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Àrea 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Àrea 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Àrea 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Àrea 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Barra lateral de la galeria" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Àrea 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Ginys de colofó" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Àrea 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Ginys superiors" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Àrea 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (publicacions completes)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog resumit (sols els resums)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Contingut/Lateral" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Lateral/Contingut" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Contingut/Lateral mitja pàgina" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Lateral/Contingut mitja pàgina" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Pàgina completa (sense lateral)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Pàgina d'aterratge (sense menú)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa del lloc" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Distribució" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Per defecte" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hola, món!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "La teva capçalera H2 aquí" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "El títol, subtítol i aquest mateix contingut són editables des de les Opcions del tema. El botó de crida a l'acció i el seu enllaç també. La imatge de la dreta pot ser una imatge o fins i tot un vídeo de YouTube si vols." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Crida a l'acció" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opcions del tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "S'han desat les opcions" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elements del tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Desactiva els fils d'Ariadna" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Marca per deshabilitar" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Desactiva el botó de crida a l'acció" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Desa les opcions" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Recuperar la configuració per defecte" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Carrega un logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Capçalera personalitzada" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Necessites reemplaçar o eliminar el logo per defecte?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Fes clic aquí." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Pàgina d'inici" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Títol" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Introdueix el títol" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subtítol" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Introdueix el subtítol" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Àrea de contingut" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Introdueix el contingut" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Crida a l'acció (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Introdueix l'URL de crida a l'acció" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Crida a l'acció (text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Introdueix el text de crida a l'acció" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Contingut destacat" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Vegeu la documentació" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Enganxa el teu codi curt, vídeo o recurs d'imatge" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Distribució per defecte" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Distribució per defecte de la pàgina estàtica" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Distribució per defecte d'una entrada del blog" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Distribució per defecte de l'índex del blog" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Eines per a desenvolupadors web" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verificació de lloc del Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Només l'identificador de Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verificació de lloc del Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Només l'identificador de Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verificació de lloc del Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Només l'identificador de Yahoo" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Rastrejador d'estadístiques del lloc" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deixa-ho en blanc si hi ha una extensió que s'encarrega de les eines de desenvolupador" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, qualsevol altre o tots ells." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Icones socials" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Introdueix la teva URL del Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Introdueix la teva URL del Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Introdueix la teva URL del LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Introdueix la teva URL del YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Introdueix la teva URL del StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Font RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Introdueix l'URL de la teva font RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Introdueix la teva URL del Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Introdueix la teva URL de l'Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Introdueix la teva URL del Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Introdueix la teva URL del Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Introdueix la teva URL del Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Introdueix la teva URL del foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Estils CSS personalitzats" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/ca/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial de CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Introdueix els teus estils CSS personalitzats." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Scripts personalitzats" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Scripts personalitzats per a la capçalera i el peu" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutorial ràpid" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "S'incrusta a header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Introdueix el teu script personalitzat per a la capçalera" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "S'incrusta a footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Introdueix el teu script personalitzat per al peu" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/cs_CZ.mo b/wp-content/themes/responsive/languages/cs_CZ.mo new file mode 100644 index 0000000..3c95da0 Binary files /dev/null and b/wp-content/themes/responsive/languages/cs_CZ.mo differ diff --git a/wp-content/themes/responsive/languages/cs_CZ.po b/wp-content/themes/responsive/languages/cs_CZ.po new file mode 100644 index 0000000..be3d009 --- /dev/null +++ b/wp-content/themes/responsive/languages/cs_CZ.po @@ -0,0 +1,874 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:33 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Czech, Czech Republic\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Stránky" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Starší příspÄ›vky" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "NovÄ›jší příspÄ›vky ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Číst dále ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Tento příspÄ›vek je zaheslován." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Starší komentáře" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "NovÄ›jší komentáře ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s pro \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Jméno" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Web" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "Skrolovat nahoru" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://cs.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Vrátit se do" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Žádné komentáře ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 komentář ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% komentáře ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Jeden komentář “%2$sâ€" +msgstr[1] "%1$s komentáře “%2$sâ€" +msgstr[2] "%1$s komentářů “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "OznaÄeno s:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "OznaÄeno v %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Upravit" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 - Zvláštní pocit, settat se zde s vámi!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Zachovejte klid, to zvládneme. Podívejme se na možnosti, které máme." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Můžete se vrátit %s nebo hledat stránku, kterou jste hledali." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Domů" + +#: loop-no-posts.php +msgid "← Home" +msgstr "Domů" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Denní archiv %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MÄ›síÄní archiv %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "RoÄní archiv %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archiv Blogu" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "VaÅ¡e hledání %s Nenalezeno" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Trvalý odkaz %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Výsledky hledání pro: %s" + +#: searchform.php +msgid "search here …" +msgstr "hledat zde …" + +#: searchform.php +msgid "Go" +msgstr "Hledat" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informace o obrázku" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Původní velikost:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Aperture: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Ohnisková vzdálenost:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Shutter:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Fotoaparát:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "V Archivu" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Homepage Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area six called Home Widget 1. Title is also manageable from widgets as well." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Homepage Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area seven called Home Widget 2. Title is also manageable from widgets as well." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Homepage Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area eight called Home Widget 3. Title is also manageable from widgets as well." + +#: single.php +msgid "About" +msgstr "O" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorie" + +#: sitemap.php +msgid "Latest Posts" +msgstr "NejnovÄ›jší příspÄ›vky" + +#: sitemap.php +msgid "Pages" +msgstr "Stránky" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Hlavní menu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Horní menu" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Pod-horní menu" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Footer menu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Strana %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publikováno %2$s uživatelem %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Zobrazit vÅ¡echny příspÄ›vky %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archiv pro %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "OznaÄené příspÄ›vky %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Chyba 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Více Å¡ablon" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Ukázky" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Main Sidebar" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Oblast 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Postranní panel vpravo" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Oblast 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Postranní panel vlevo" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Oblast 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Levý panel Half Page" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Oblast 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Pravý panel Half Page" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Oblast 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Oblast 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Oblast 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Oblast 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Panel Galerie" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Oblast 9 Area Eight - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget Tiráž" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "postranni-tiraz.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Horní widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Plocha 11 - sidebar-top.oho" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (plný výpis)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog Perex (shrnutí)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Obsah/Postranní pás" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Postranní pás/Obsah" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Rozložení stránky" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Výchozí" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Ahoj vÅ¡ichni!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "H2 nadpis" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Klikni zde!!!" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Nastavení Å ablony" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Nastavení bylo uloženo." + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Prvky Å¡ablony" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Deaktivovat seznam Breadcrump? " + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "ZakliknÄ›te pro deaktivaci" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Deaktivovat akÄní tlaÄítko" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Uložit nastavení" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Obnovit výchozí" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Nahrání loga" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Vlastní záhlaví" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "PotÅ™ebuje nahradit nebo smazat logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "KliknÄ›te zde." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Hlavní stránka" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Nadpis" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Vložte nadpis" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Podnadpis" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Vložte podnadpis" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Oblast textu" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Vložte text" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "AkÄní tlaÄítko (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Vložte URL akÄního tlaÄítka" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Text AkÄního tlaÄítka" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Vložte text akÄního tlaÄítka" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Featured Content" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Zobrazit Dokumenty" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Vložte shortcode, video nebo cestu k obrázku" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Výchozí rozložení" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Nastroje pro webmastery" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Ověření stránky Googlem" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Vložte jen Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Ověření stránky Bingem" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Vložte jen Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Ověření stránky Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Vložte jen Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "NávÅ¡tÄ›vnost stránky" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Nechte prázdné pokud používáte jiné pluginy" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sociální ikony" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Vložte Twitter URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Vložte Facebook URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Vložte LinkedIn URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Vložte Youtube URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Vložte StumbleUpon URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS kanál" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Vložte RSS URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Vložte Google+ URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Vložte Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Vložte Pinterest URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "YELP!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Vložte YELP URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Vložte Vimeo URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Vložte foursquare URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Vlastní CSS Styl" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS návod" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Vložte vlastní CSS styl" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Vlastní skripty" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Vlastní skripty pro HlaviÄku a PatiÄku" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "StruÄný průvodce" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Vložené prvky do header.php" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Vložte vlastní skript do HlaviÄky" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Vložte vlastní skript do footer.php" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Vložte vlastní skript do PatiÄky" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/cy.mo b/wp-content/themes/responsive/languages/cy.mo new file mode 100644 index 0000000..a25f8d6 Binary files /dev/null and b/wp-content/themes/responsive/languages/cy.mo differ diff --git a/wp-content/themes/responsive/languages/cy.po b/wp-content/themes/responsive/languages/cy.po new file mode 100644 index 0000000..9b7fc0a --- /dev/null +++ b/wp-content/themes/responsive/languages/cy.po @@ -0,0 +1,854 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Welsh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Tudalennau:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Postiadau hÅ·n" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Postiadau mwy diweddar ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Darllen mwy ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Mae cyfrinair ar y post hwn. Mewnbynnwch y cyfrinair er mwyn gweld unrhyw sylwadau." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Sylwadau hÅ·n" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Sylwadau mwy diweddar ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pingiau/ Ôl-lwybrau" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s ar gyfer \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Enw" + +#: comments.php +msgid "E-mail" +msgstr "E-bost" + +#: comments.php +msgid "Website" +msgstr "Gwefan" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "sgrolio i'r brig" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "pwerir gan" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://cy.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Dychwelyd at" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Dim Sylwadau ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Sylw ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Sylw ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Un sylw ar “%2$s”" +msgstr[1] "Dau sylw ar “%2$s”" +msgstr[2] "%1$s sylw ar “%2$s”" +msgstr[3] "%1$s sylw ar “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Tagiwyd:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Postiwyd yn %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Golygu" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Wel, helo!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Paid becso, nawn ni ffeindio ein ffordd rhywsut. Gad i ni edrych ar ein dewisiadau fan hyn." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Gallwch ddychwelyd %s neu edrych am y dudalen roeddech chi eisiau" + +msgid "Home" +msgstr "Hafan" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Adref" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Archifau Dyddiol: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Archifau Misol: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Archifau Blynyddol: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archifau Blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Eich chwiliad ar gyfer %s na wnaeth cydfynd ag unrhyw gofnod" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Dolen Barhaol i %s" + +msgid "Search results for: %s" +msgstr "Canlyniadau chwilio ar gyfer: %s" + +#: searchform.php +msgid "search here …" +msgstr "chwilio yma …" + +#: searchform.php +msgid "Go" +msgstr "Ewch" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Gwybodaeth y Delwedd" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Maint Llawn:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Agorfa: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Hyd Ffocal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Mwgwd:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Camera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Yn yr Archif" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Teclyn Cartref 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Dyma blwch teclyn gyntaf eich hafan. I'w olygu, ewch i Appearance > Widgets a dewiswch y 6ed teclyn o'r brig yn ardal chwech a enwir yn Teclyn Hafan 1. Gellir hefyd newid y teitl o'r fan honno." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Teclyn Cartref 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Dyma ail flwch teclyn eich hafan. I'w olygu, ewch i Appearance > Widgets a dewiswch y 7fed teclyn o'r brig yn ardal chwech a enwir yn Teclyn Hafan 2. Gellir hefyd newid y teitl o'r fan honno." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Teclyn Cartref 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Dyma trydydd blwch teclyn eich hafan. I'w olygu, ewch i Appearance > Widgets a dewiswch yr 8fed teclyn o'r brig yn ardal chwech a enwir yn Teclyn Hafan 3. Gellir hefyd newid y teitl o'r fan honno." + +#: single.php +msgid "About" +msgstr "Amdan" + +#: sitemap.php +msgid "Categories" +msgstr "Categorïau" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Postiau Diweddar" + +#: sitemap.php +msgid "Pages" +msgstr "Tudalennau" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Prif Ddewislen" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Dewislen y Pennawd" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Dewislen yr Is-Bennawd" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Dewislen y Troedyn" + +msgid "Page %s" +msgstr "Tudalen %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Postiwyd ar %2$s gan %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Gweld pob postiad gan %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archif ar gyfer %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Postiau a dagiwyd %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Gwall 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Mwy o Themâu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Arddangosfa" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Prif Far Ochr" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Ardal Un - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Bar Ochr Dde" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Ardal Dau - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Bar Ochr Chwith" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Ardal Tri - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Bar Ochr Chwith Hanner-Tudalen" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Ardal Pedwar - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Bar Ochr Dde Hanner-Tudalen" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Ardal Pump - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Ardal Chwech - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Ardal Saith - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Ardal Wyth - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Bar Ochr Galeri" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Ardal Naw - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Teclyn Colophon" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Ardal Deg - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Teclyn ar y Brig" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Ardal Deuddeg - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +msgid "Sitemap" +msgstr "Map o'r safle" + +msgid "Layout" +msgstr "Cynllun" + +msgid "Default" +msgstr "Diofyn" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Helo, Fyd!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Eich is-bennawd H2 yma" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Gallwch olygu eich teitl, is-deitl a'r cynnwys hwn o ddewisiadau'r Thema, a hefyd y botwm Galw Ynghyd a'r lleoliad pen ei daith. Gall y ddelwedd ar y dde fod yn ddelwedd wahanol neu hyd yn oed fideo YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Galw Ynghyd" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Dewisiadau'r Thema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Arbedwyd eich Dewisiadau" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elfennau'r Thema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Analluogi Rhestrau Briwsion" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Ticio i analluogi" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Analluogi'r Botwm Galw Ynghyd?" + +msgid "Save Options" +msgstr "Cadw Dewisiadau" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Uwchlwytho Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Pennyn Dewisol" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "A oes angen newid neu dynnu'r logo rhagosodedig?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Cliciwch yma." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Tudalen Gartref" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Pennawd" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Mewnbynnwch eich pennawd" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Is-bennawd" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Mewnbynnwch eich is-bennawd" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Ardal Gynnwys" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Mewnbynnwch eich cynnwys" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Galw Ynghyd (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Mewnbynnwch eich URL galw ynghyd" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Galw Ynghyd (Testun)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Mewnbynnwch eich testun galw ynghyd" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Cynnwys Blaenllaw" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Gweld Dogfennau" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Gludwch eich côd byr, fideo neu ffynhonnell eich delwedd" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Offer y Gwefeistr" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Dilysu Safle Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Mewnbynnwch eich rhif adnabod Google yn unig" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Dilysu Safle Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Mewnbynnwch eich rhif adnabod Bing yn unig" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Dilysu Safle Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Mewnbynnwch eich rhif adnabod Yahoo yn unig" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Traciwr Ystadegau'r Safle" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Gadewch yn wag os yw ategyn yn delio ag offer gwefeistroli" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, unrhywbeth arall neu bob un ohonynt." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Eiconau Cymdeithasol" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Mewnbynnwch eich URL Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Mewnbynnwch eich URL Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Mewnbynnwch eich URL LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Mewnbynnwch eich URL YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Mewnbynnwch eich URL StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Ffrwd RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Mewnbynnwch URL eich Ffrwd RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Mewnbynnwch eich URL Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Mewnbynnwch eich URL Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Mewnbynnwch eich URL Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Mewnbynnwch eich URL Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Mewnbynnwch eich URL Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Mewnbynnwch eich URL foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Arddulliau CSS Dewisol" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tiwtorial CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Mewnbynnwch eich arddulliau CSS dewisol." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Sgriptiau Dewisol" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Sgriptiau Dewsiol ar gyfer y Pennyn a'r Troedyn" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tiwtorial Cyflym" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Gosodwyd yn header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Mewnbynnwch eich sgript pennyn dewisedig." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Gosodwyd yn footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Mewnbynnwch eich sgript troedyn dewisedig." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +msgid "Instructions" +msgstr "Cyfarwyddiadau" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +msgid "Translate" +msgstr "Cyfieithu" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/da_DK.mo b/wp-content/themes/responsive/languages/da_DK.mo new file mode 100644 index 0000000..4305f4d Binary files /dev/null and b/wp-content/themes/responsive/languages/da_DK.mo differ diff --git a/wp-content/themes/responsive/languages/da_DK.po b/wp-content/themes/responsive/languages/da_DK.po new file mode 100644 index 0000000..0323831 --- /dev/null +++ b/wp-content/themes/responsive/languages/da_DK.po @@ -0,0 +1,823 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-08-31 12:01:16 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Danish, Denmark\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Sider:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Ældre artikler" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nyere artikler ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Læs mere ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Artiklen er beskyttet af kodeord. Indtast kodeordet for at se kommentarerne." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Ældre kommentarer" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nyere kommentarer ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s for \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Navn" + +#: comments.php +msgid "E-mail" +msgstr "Email" + +#: comments.php +msgid "Website" +msgstr "Hjemmeside" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "Til toppen" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive-tema" + +#: footer.php +msgid "powered by" +msgstr "pÃ¥" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://da.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Tilbage til" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Ingen kommentarer ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 kommentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% kommentarer ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ingen kommentarer til “%2$s”" +msgstr[1] "En kommentar til “%2$s”" +msgstr[2] "%1$s kommentarer til “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Mærker:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Udgivet i %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Rediger" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404-fejl!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Desværre blev indholdet ikke fundet. Prøv igen." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Du kan vende tilbage %s eller søge efter siden, du ledte efter." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Forside" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Hjem" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dagligt arkiv: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MÃ¥nedligt arkiv: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ã…rligt arkiv: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog-arkiv" + +msgid "Your search for %s did not match any entries." +msgstr "Din søgning efter %s matchede ikke noget indhold." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Permanent link til %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Søgeresultater for: %s" + +#: searchform.php +msgid "search here …" +msgstr "søg her …" + +#: searchform.php +msgid "Go" +msgstr "GÃ¥" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Billedinformation" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Fuld opløsning:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Blænde: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brændvidde:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Shutter:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "I arkiv" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Hjemmewidget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Dette er din første widget boks pÃ¥ forsiden. For at redigere den skal du gÃ¥ til Udseende> Widgets og vælge den 6. Widget fra toppen i omrÃ¥de seks kaldet Hjem Widget 1. Titlen kan ogsÃ¥ ændres." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Hjemmewidget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Dette er din anden widget boks pÃ¥ forsiden. For at redigere den skal du gÃ¥ til Udseende> Widgets og vælge den 7. Widget fra toppen i omrÃ¥de seks kaldet Hjem Widget 2. Titlen kan ogsÃ¥ ændres." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Hjemmewidget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Dette er din trejde widget boks pÃ¥ forsiden. For at redigere den skal du gÃ¥ til Udseende> Widgets og vælge den 8. Widget fra toppen i omrÃ¥de seks kaldet Hjem Widget 3. Titlen kan ogsÃ¥ ændres." + +#: single.php +msgid "About" +msgstr "Om" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorier" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Nyeste artikler" + +#: sitemap.php +msgid "Pages" +msgstr "Sider" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Topmenu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Header-menu" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Subheader-menu" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Footer-menu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Side %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Udgivet den %2$s af %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Se alle artikler af %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arkiv for %s" + +msgid "Posts tagged %s" +msgstr "Artikler med mærket %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Fejl 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Flere temaer" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Fremvisning" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Hovedpanel" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "OmrÃ¥de 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Højre panel" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "OmrÃ¥de 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Venstre panel" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "OmrÃ¥de 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Venstre panel - Halv side" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "OmrÃ¥de 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Højre panel - Halv side" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "OmrÃ¥de 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "OmrÃ¥de 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "OmrÃ¥de 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "OmrÃ¥de 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galleri-panel" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "OmrÃ¥de 9 - sidebar-gallery.php" + +msgid "Colophon Widget" +msgstr "Kolofon-widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "OmrÃ¥de 10 - sidebar-colophon.php" + +msgid "Top Widget" +msgstr "Topwidget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "OmrÃ¥de 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (hele artikler)" + +msgid "Blog Excerpt (summary)" +msgstr "Bloguddrag (sammendrag)" + +msgid "Content/Sidebar" +msgstr "Indhold/Panel" + +msgid "Sidebar/Content" +msgstr "Panel/Indhold" + +msgid "Content/Sidebar Half Page" +msgstr "Indhold/Panel halv side" + +msgid "Sidebar/Content Half Page" +msgstr "Panel/Indhold halv side" + +msgid "Full Width Page (no sidebar)" +msgstr "Fuld sidebrede (intet panel)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Start side (ingen menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Sitemap" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Layout" + +msgid "Default" +msgstr "Standard" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hej Verden!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Din H2-overskrift her" + +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Din titel, undertitel og indholdet er redigerbar fra Temafunktioner. Billedet i den højre side kan være et billede eller endda en YouTube-video, hvis du ønsker." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Klik her" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Temafunktioner" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Indstillinger er gemt" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Layout-elementer" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Deaktiver vist sti? (breadcrumbs)" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Klik for at deaktivere" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Deaktiver 'Klik her'-knap" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Gem indstillinger" + +msgid "Restore Defaults" +msgstr "Gendan standarder" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logo-upload" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Brugerdefineret header" + +msgid "Need to replace or remove default logo?" +msgstr "Vil du ændre eller fjerne standard-logoet?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klik her." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Forside" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Titel" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Indtast din titel" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Undertitel" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Indtast undertitel" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Indhold" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Indtast dit indhold" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Klik her (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Indtast 'Klik her'-URL" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "'Klik her' (Tekst)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Indtast teksten til 'Klik her'" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Fremhævet indhold" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Se dokumentationen" + +msgid "Paste your shortcode, video or image source" +msgstr "Indsæt din shortcode-, video- eller billedekilde" + +msgid "Default Layouts" +msgstr "Standard-layouts" + +msgid "Default Static Page Layout" +msgstr "Standard statisk side-layout" + +msgid "Default Single Blog Post Layout" +msgstr "Standard enkelt-blogindlæg-layout" + +msgid "Default Blog Posts Index Layout" +msgstr "Standard blogindlæg-indeks-layout" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Webmaster-værktøjer" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Webstedsbekræftelse" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Indtast dit Google ID-nummer" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Webstedsbekræftelse" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Indtast dit Bing ID-nummer" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Webstedsbekræftelse" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Indtast dit Yahoo ID-nummer" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Opsamling af sidestatistik" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Feltet skal være blankt, hvis 'webmaster tools'-plugin er installeret" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, en af dem eller alle." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sociale ikoner" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Indtast din Twitter-URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Indtast din Facebook-URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Indtast din LinkedIn-URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Indtast din YouTube-URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Indtast din StumbleUpon-URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS-feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Indtast din RSS-feed-URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Indtast din Google+-URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Indtast din Instagram-URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Indtast din Pinterest-URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +msgid "Enter your Yelp! URL" +msgstr "Indtast din Yelp!-URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +msgid "Enter your Vimeo URL" +msgstr "Indtast din Vimeo-URL" + +msgid "foursquare" +msgstr "Foursquare" + +msgid "Enter your foursquare URL" +msgstr "Indtast din foursquare-URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Brugerdefinerede CSS-styles" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CCS-vejledning" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Indtast brugerdefineret CSS." + +msgid "Custom Scripts" +msgstr "Brugerdefinerede scripts" + +msgid "Custom Scripts for Header and Footer" +msgstr "Brugerdefinerede scripts for header og footer" + +msgid "Quick Tutorial" +msgstr "Kort vejledning" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Indsæt i header.php ↓" + +msgid "Enter your custom header script." +msgstr "Indtast dit brugerdefinerede header-script." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Indsæt i footer.php ↓" + +msgid "Enter your custom footer script." +msgstr "Indtast dit brugerdefinerede footer-script." + +msgid "Enable Custom Front Page" +msgstr "Aktivér brugerdefineret forside" + +msgid "Help" +msgstr "Hjælp" + +msgid "Instructions" +msgstr "Instruktioner" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Tilsidesætter WordPress %1sforsideindstillinger%2s" + +msgid "Translate" +msgstr "Overæt" + +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Velkommen til %1$s! Opgrader til %2$s i dag." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/de_DE.mo b/wp-content/themes/responsive/languages/de_DE.mo new file mode 100644 index 0000000..d96b453 Binary files /dev/null and b/wp-content/themes/responsive/languages/de_DE.mo differ diff --git a/wp-content/themes/responsive/languages/de_DE.po b/wp-content/themes/responsive/languages/de_DE.po new file mode 100644 index 0000000..f308aac --- /dev/null +++ b/wp-content/themes/responsive/languages/de_DE.po @@ -0,0 +1,871 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: German, Germany\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Seiten:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Ältere Beiträge" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Neuere Beiträge ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Weiterlesen ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Dieser Beitrag ist Passwortgeschützt. Bitte gib dein Passwort ein, um alle Kommentare zu sehen." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Ältere Kommentare" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Neuere Kommentare ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s für \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Name" + +#: comments.php +msgid "E-mail" +msgstr "E-Mail" + +#: comments.php +msgid "Website" +msgstr "Webseite" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "hochscrollen" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://de.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Zurück zu" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Keine Kommentare ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Kommentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Kommentare ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ein Kommentar auf “%2$s”" +msgstr[1] "%1$s Kommentare auf “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Getagged mit:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Veröffentlicht unter %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Bearbeiten" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Wow, nicht gedacht dich hier zu sehen." + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Keine Panik, wir schaffen das. Sehen wir uns an, was du tun kannst." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Du kannst zurückkehren %s oder suchst du die Seite die du gesucht hast" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Startseite" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Sartseite" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Tagesarchive: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Monatsarchive: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Jahresarchive: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog-Archive" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Deine Suche für %s gab kein Ergebnis." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Permanenter Link zu %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Suchergebnisse für: %s" + +#: searchform.php +msgid "search here …" +msgstr "Hier suchen..." + +#: searchform.php +msgid "Go" +msgstr "Los" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Bildinformationen" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "In voller Größe:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Blende: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brennweite:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Verschlusszeit:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Im Archiv" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Startseite Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Dies ist dein erstes Startseite Widget-Kästchen. Um diesen Text zu bearbeiten, gehe zu Designs > Widgets > Startseite Widget 1. Benutze ein Text-Widget. Titel ist auch Einstellbar." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Startseite Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Dies ist dein zweites Startseite Widget-Kästchen. Um diesen Text zu bearbeiten, gehe zu Designs > Widgets > Startseite Widget 2. Benutze ein Text-Widget. Titel ist auch Einstellbar." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Startseite Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Dies ist dein drittes Startseite Widget-Kästchen. Um diesen Text zu bearbeiten, gehe zu Designs > Widgets > Startseite Widget 3. Benutze ein Text-Widget. Titel ist auch Einstellbar." + +#: single.php +msgid "About" +msgstr "Ãœber" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorien" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Neueste Beiträge" + +#: sitemap.php +msgid "Pages" +msgstr "Seiten" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Top-Menü" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Kopfzeilenmenü" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Unterkopfzeilenmenü" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Fußzeilenmenü" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Seite %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Veröffentlicht am %2$s von %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Zeige alle Beiträge von %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archiv für %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Beiträge getagged %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Fehler 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Weitere Themes" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Vorzeigeprojekte" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Hauptsidebar" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Fläche 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Sidebar rechts" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Fläche 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Sidebar links" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Fläche 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Linke Sidebar Halbe Seite" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Fläche 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Rechte Sidebar Halbe Seite" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Fläche 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Fläche 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Fläche 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Fläche 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Sidebargalerie" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Fläche 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Kolophon Widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Fläche 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Top Widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Fläche 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (ganze Beiträge)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog Auszug (Zusammenfassung)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Inhalt/Sidebar" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Sidebar/Inhalt" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Inhalt/Sidebar Halbe Siete" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Sidebar/Inhalt Halbe Seite" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Volle Breite Seite (kein Sidebar)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Landeseite (kein Menü)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Sitemap" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Layout" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Standard" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hallo Welt!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Deine Unterschlagzeile hier" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Dein Titel, Untertitel und auch dieser Inhalt ist von den Theme-Options aus änderbar. Der Call-to-Action Knopf und sein Ziel-link auch. Das Element auf der rechten Seite kann auch ein Bild oder YouTube-Video sein falls du möchtest." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Call-to-Action" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Theme-Einstellungen" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Einstellungen gespeichert" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elemente des Theme" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Navigationsleisten deaktivieren?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Zum Deaktivieren klicken" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Call-to-Action Knopf deaktivieren?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Einstellungen speichern" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Standardeinstellungen wiederherstellen" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logo hochladen" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Individuelle Kopfzeile" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Standardlogo ersetzen oder entfernen?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Hier klicken." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Startseite" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Schlagzeile" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Deine Schlagzeile eingeben" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Unterschlagzeile" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Deine Unterschlagzeile eingeben" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Inhaltsbereich" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Dein Inhalt eingeben" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Call-to-Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Deine Call-to-Action URL eingeben" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Call-to-Action (Text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Dein Call-to-Action Text eingeben" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Vorgestellter Inhalt" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Siehe Dokumente" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Dein Shortcode,Video- oder Bildquelle einfügen" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Standard Layouts" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Standard Statische Seitenlayout" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Standard Einzel Blogbeitragslayout" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Standard Blogbeiträge Ãœbersichtslayout" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Webmaster-Tools" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Website Verifikation" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Nur Google ID-Nummer eingeben" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Website Verifikation" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Nur Bing ID-Nummer eingeben" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Website Verifikation" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Nur Yahoo ID-Nummer eingeben" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Website-Statistik Tracker" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Leer lassen, wenn ein Plugin deine Webmaster-Tools verwaltet" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, etc." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Social Icons" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Twitter URL eingeben" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Facebook URL eingeben" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "LinkedIn URL eingeben" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "YouTube URL eingeben" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "StumbleUpon URL eingeben" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "RSS Feed URL eingeben" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google +" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Google+ URL eingeben" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Instagram URL eingeben" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Pinterest URL eingeben" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Deine Yelp! URL eingeben" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Deine Vimeo URL eingeben" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Deine foursquare URL eingeben" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Individuelles Stylesheet" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/de/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS Tutorial" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Dein individuelles Stylesheet eingeben" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Individuelle Skripts" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Individuelle Skripts für Kopf- und Fußzeilen" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Kurze Anleitung" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "In header.php einbetten ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Dein individuelles Kopfzeilen Skript eingeben" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "In footer.php einbetten ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Dein individuelles Fußzeilen Skript eingeben" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "Benutzerdefinierten Startseite aktivieren" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Hilfe" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "Anleitung" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Ãœberschreibt die WordPress %1sStartseite Option%2s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "Ãœbersetzen" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Willkommen bei %1$s! Upgrade auf %2$s heute." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/de_DE_sie.mo b/wp-content/themes/responsive/languages/de_DE_sie.mo new file mode 100644 index 0000000..8fd90be Binary files /dev/null and b/wp-content/themes/responsive/languages/de_DE_sie.mo differ diff --git a/wp-content/themes/responsive/languages/de_DE_sie.po b/wp-content/themes/responsive/languages/de_DE_sie.po new file mode 100644 index 0000000..80e60b1 --- /dev/null +++ b/wp-content/themes/responsive/languages/de_DE_sie.po @@ -0,0 +1,871 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:36 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: German Germany (Formal)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Seiten" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Ältere Beiträge" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Neuere Beiträge ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Weiterlesen ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Dieser Beitrag ist passwortgeschützt. Um Kommentare anschauen zu können müssen Sie das Passwort angeben." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Ältere Kommentare" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Neuere Kommentare ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s für \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Name" + +#: comments.php +msgid "E-mail" +msgstr "E-Mail" + +#: comments.php +msgid "Website" +msgstr "Website" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "hochscrollen" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://de.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Zurück zu" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Keine Kommentare ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Kommentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Kommentare ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ein Kommentar auf “%2$s”" +msgstr[1] "%1$s Kommentare auf “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Getagged mit:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Veröffentlicht unter %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Bearbeiten" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Wow, nicht gedacht Sie hier zu sehen." + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Keine Panik, wir schaffen das. Sehen wir uns an, was Sie tun können." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Sie können zurückkehren %s oder suchen Sie die Seite die Sie gesucht haben." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Startseite" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Startseite" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Archiv für den Tag %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Archiv für den Monat %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Archiv für das Jahr %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog-Archive" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Ihre Suche für %s gab kein Ergebnis." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Permanenter Link zu %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Suchergebnisse für: %s" + +#: searchform.php +msgid "search here …" +msgstr "Hier suchen..." + +#: searchform.php +msgid "Go" +msgstr "Los" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Bildinformationen" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Vollständige Größe:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Blende: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brennweite:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Verschlusszeit:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Im Archiv" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Startseite Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Dies ist Ihr erstes Startseite Widget-Kästchen. Um diesen Text zu bearbeiten, gehe zu Designs > Widgets > Startseite Widget 1. Benutze ein Text-Widget. Titel ist auch Einstellbar." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Startseite Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Dies ist Ihr zweites Startseite Widget-Kästchen. Um diesen Text zu bearbeiten, gehe zu Designs > Widgets > Startseite Widget 2. Benutze ein Text-Widget. Titel ist auch Einstellbar." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Startseite Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Dies ist Ihr drittes Startseite Widget-Kästchen. Um diesen Text zu bearbeiten, gehe zu Designs > Widgets > Startseite Widget 3. Benutze ein Text-Widget. Titel ist auch Einstellbar." + +#: single.php +msgid "About" +msgstr "Ãœber" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorien" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Neueste Beiträge" + +#: sitemap.php +msgid "Pages" +msgstr "Seiten" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Topmenu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Kopfzeilenmenü" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Unterkopfzeilenmenü" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Fußzeilenmenü" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Seite %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Veröffentlicht am %2$s von %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Zeige alle Beiträge von %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archiv für %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Beiträge getagged %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Fehler 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Weitere Themes" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Vorzeigeprojekte" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Hauptsidebar" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Fläche 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Sidebar rechts" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Fläche 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Sidebar links" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Fläche 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Linke Sidebar Halbe Seite" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Fläche 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Rechte Sidebar Halbe Seite" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Fläche 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Fläche 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Fläche 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Fläche 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Sidebargalerie" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Fläche 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Kolophon Widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Fläche 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Top Widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Fläche 12 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (ganze Beiträge)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog Auszug (Zusammenfassung)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Inhalt/Sidebar" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Sidebar/Inhalt" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Inhalt/Sidebar Halbe Siete" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Sidebar/Inhalt Halbe Seite" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Volle Breite Seite (kein Sidebar)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Landeseite (kein Menü)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Sitemap" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Layout" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Standard" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hallo Welt!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Ihre Unterschlagzeile hier" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Ihr Titel, Untertitel und auch dieser Inhalt ist von den Theme-Options aus änderbar. Der Call-to-Action Knopf und sein Ziel-link auch. Das Element auf der rechten Seite kann auch ein Bild oder YouTube-Video sein falls Sie möchten." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Call-to-Action" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Theme-Einstellungen" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Einstellungen gespeichert" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elemente des Theme" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Navigationsleisten deaktivieren?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Zum Deaktivieren klicken" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Call-to-Action Knopf deaktivieren?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Einstellungen speichern" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Standardeinstellungen wiederherstellen" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logo hochladen" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Personalisierter Header" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Standardlogo ersetzen oder entfernen?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Hier klicken." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Startseite" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Ãœberschrift" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Ihre Schlagzeile eingeben" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Unterüberschfit" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Ihre Unterschlagzeile eingeben" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Inhaltsbereich" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Ihr Inhalt eingeben" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Call-to-Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Ihre Call-to-Action URL eingeben" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Call-to-Action (Text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Ihr Call-to-Action Text eingeben" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Vorgestellter Inhalt" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Siehe Dokumente" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Ihr Shortcode,Video- oder Bildquelle einfügen" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Standard Layouts" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Standard Statische Seitenlayout" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Standard Einzel Blogbeitragslayout" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Standard Blogbeiträge Ãœbersichtslayout" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Webmaster-Tools" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Website Verifikation" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Nur Google ID-Nummer eingeben" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Website Verifikation" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Nur Bing ID-Nummer eingeben" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Website Verifikation" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Nur Yahoo ID-Nummer eingeben" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Website-Statistik Tracker" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Leer lassen, wenn ein Plugin Ihre Webmaster-Tools verwaltet" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, etc." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Social Icons" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Twitter URL eingeben" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Facebook URL eingeben" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "LinkedIn URL eingeben" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "YouTube URL eingeben" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "StumbleUpon URL eingeben" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS-Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "RSS Feed URL eingeben" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Google+ URL eingeben" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Instagram URL eingeben" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Pinterest URL eingeben" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Ihre Yelp! URL eingeben" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Ihre Vimeo URL eingeben" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Ihre foursquare URL eingeben" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Individuelles Stylesheet" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/de/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS Tutorial" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Ihr individuelles Stylesheet eingeben" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Individuelle Skripts" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Individuelle Skripts für Kopf- und Fußzeilen" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Kurze Anleitung" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "In header.php einbetten ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Ihre individuelles Kopfzeilen Skript eingeben" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "In footer.php einbetten ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Ihre individuelles Fußzeilen Skript eingeben" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "Benutzerdefinierten Startseite aktivieren" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Hilfe" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "Anleitung" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Ãœberschreibt die WordPress %1sStartseite Option%2s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "Ãœbersetzen" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Willkommen bei %1$s! Upgrade auf %2$s heute." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/el.mo b/wp-content/themes/responsive/languages/el.mo new file mode 100644 index 0000000..ad63275 Binary files /dev/null and b/wp-content/themes/responsive/languages/el.mo differ diff --git a/wp-content/themes/responsive/languages/el.po b/wp-content/themes/responsive/languages/el.po new file mode 100644 index 0000000..3149dd1 --- /dev/null +++ b/wp-content/themes/responsive/languages/el.po @@ -0,0 +1,839 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-03-13 23:03+0100\n" +"Last-Translator: Ulrich Pogson \n" +"Language-Team: Greek, Greece\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.5.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: home.php page.php landing-page.php index.php image.php full-width-page.php +#: content-sidebar-page.php content-sidebar-half-page.php blog.php +#: blog-excerpt.php archive.php search.php sidebar-content-half-page.php +#: sidebar-content-page.php single.php sitemap.php +msgid "Pages:" +msgstr "Σελίδες:" + +#: loop-nav.php blog.php blog-excerpt.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "‹ Older posts" +msgstr "‹ ΠαλαιότεÏα άÏθÏα" + +#: loop-nav.php blog.php blog-excerpt.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Newer posts ›" +msgstr "ΠÏόσφατα άÏθÏα ›" + +#: home.php page.php landing-page.php index.php full-width-page.php +#: content-sidebar-page.php content-sidebar-half-page.php blog.php image.php +#: sidebar-content-half-page.php sidebar-content-page.php single.php +#: includes/functions.php +msgid "Read more ›" +msgstr "ΠεÏισσότεÏα ›" + +#: comments.php +msgid "" +"This post is password protected. Enter the password to view any comments." +msgstr "" +"ΆÏθÏο με συνθηματικό. ΠληκτÏολόγησε το συνθηματικό για να δεις τα σχόλια." + +#: comments.php +msgid "‹ Older comments" +msgstr "‹ ΠαλαιότεÏα σχόλια" + +#: comments.php +msgid "Newer comments ›" +msgstr "ÎεότεÏα σχόλια ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s για \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Όνομα" + +#: comments.php +msgid "E-mail" +msgstr "ΔιεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου" + +#: comments.php +msgid "Website" +msgstr "Ιστοσελίδα" + +#: footer.php +msgid "©" +msgstr "αντιγÏαφή" + +#: footer.php +msgid "scroll to top" +msgstr "πίσω στην κοÏυφή" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "κατασκευασμένο με" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ ΕπιστÏοφή στην" + +#: post-meta.php post-meta-page.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Δεν υπάÏχουν σχόλια ↓" + +#: post-meta.php post-meta-page.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Σχόλιο ↓" + +#: post-meta.php post-meta-page.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Σχόλια ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ένα σχόλιο στο “%2$s”" +msgstr[1] "%1$s σχόλια στα “%2$s”" + +#: post-data.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Με ετικέτα:" + +#: post-data.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "ΔημοσιεÏτηκε στο %s" + +#: post-data.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php sitemap.php +msgid "Edit" +msgstr "ΕπεξεÏγασία" + +#: loop-no-posts.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Πώς κι από δω;..." + +#: loop-no-posts.php sidebar-content-half-page.php sidebar-content-page.php +#: image.php +msgid "" +"Don't panic, we'll get through this together. Let's explore our " +"options here." +msgstr "" +"Μην πανικοβάλλεσαι, θα το ξεπεÏάσουμε μαζί. Ας δοÏμε τι επιλογές έχουμε." + +#: loop-no-posts.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "You can return %s or search for the page you were looking for." +msgstr "" +"ΜποÏείς να επιστÏέψεις στην %s η να αναζητήσεις τη σελίδα που σε ενδιαφέÏει" + +#: loop-no-posts.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php includes/functions.php +msgid "Home" +msgstr "ΑÏχή" + +#: loop-no-posts.php image.php sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "← Home" +msgstr "← ΑÏχή" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "ΗμεÏήσια αÏχεία: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Μηνιαία αÏχεία: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ετήσια αÏχεία: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "ΑÏχεία ιστολογίου" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Η αναζήτησή σας για %s δεν ταιÏιάζει με καμία καταχώÏηση" + +#: post-meta.php sitemap.php +msgid "Permanent Link to %s" +msgstr "ΣταθεÏός σÏνδεσμος Ï€Ïος %s" + +#: includes/functions.php search.php +msgid "Search results for: %s" +msgstr "Αποτελέσματα Αναζήτησης για: %s" + +#: searchform.php +msgid "search here …" +msgstr "Αναζήτηση εδώ …" + +#: searchform.php +msgid "Go" +msgstr "Μετάβαση" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "ΠληÏοφοÏίες Εικόνας" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "ΠλήÏες Μέγεθος" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "ΔιάφÏαγμα: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Εστιακό Μήκος:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "χλστ." + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "ΤαχÏτητα" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "ΚάμεÏα" + +#: sidebar.php sidebar-right.php sidebar-right-half.php sidebar-left.php +#: sidebar-left-half.php sidebar-half-left.php +msgid "In Archive" +msgstr "Στο ΑÏχείο" + +#: sidebar-home.php includes/functions.php +msgid "Home Widget 1" +msgstr "ΑÏχική Μονάδα 1" + +#: sidebar-home.php +msgid "" +"This is your first home widget box. To edit please go to Appearance > " +"Widgets and choose 6th widget from the top in area 6 called Home Widget 1. " +"Title is also manageable from widgets as well." +msgstr "" +"Αυτή είναι η Ï€Ïώτη μονάδα (widget) της αÏχικής σελίδας. Για να την " +"επεξεÏγαστείς πήγαινε Εμφάνιση > Μονάδες και επίλεξε την 6η μονάδα από την " +"κοÏυφή που λέγεται ΑÏχική Μονάδα 1. Στις μονάδες μποÏείς επίσης να " +"διαχειÏιστείς τον τίτλο." + +#: sidebar-home.php includes/functions.php +msgid "Home Widget 2" +msgstr "ΑÏχική Μονάδα 2" + +#: sidebar-home.php +msgid "" +"This is your second home widget box. To edit please go to Appearance > " +"Widgets and choose 7th widget from the top in area 7 called Home Widget 2. " +"Title is also manageable from widgets as well." +msgstr "" +"Αυτή είναι η δεÏτεÏη μονάδα (widget) της αÏχικής σελίδας. Για να την " +"επεξεÏγαστείς πήγαινε Εμφάνιση > Μονάδες και επίλεξε την 7η μονάδα από την " +"κοÏυφή, που λέγεται ΑÏχική Μονάδα 2. Στις μονάδες μποÏείς επίσης να " +"διαχειÏιστείς τον τίτλο." + +#: sidebar-home.php includes/functions.php +msgid "Home Widget 3" +msgstr "ΑÏχική Μονάδα 3" + +#: sidebar-home.php +msgid "" +"This is your third home widget box. To edit please go to Appearance > " +"Widgets and choose 8th widget from the top in area 8 called Home Widget 3. " +"Title is also manageable from widgets as well." +msgstr "" +"Αυτή είναι η Ï„Ïίτη μονάδα (widget) της αÏχικής σελίδας. Για να την " +"επεξεÏγαστείς πήγαινε Εμφάνιση > Μονάδες και επίλεξε την 8η μονάδα από την " +"κοÏυφή, που λέγεται ΑÏχική Μονάδα 3. Στις μονάδες μποÏείς επίσης να " +"διαχειÏιστείς τον τίτλο." + +#: single.php +msgid "About" +msgstr "ΠεÏί" + +#: sitemap.php +msgid "Categories" +msgstr "ΚατηγοÏίες" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Τελευταίες ΔημοσιεÏσεις" + +#: sitemap.php +msgid "Pages" +msgstr "Σελίδες" + +#: includes/functions.php +msgid "Top Menu" +msgstr "ÎœÎµÎ½Î¿Ï ÎšÎ¿Ïυφής" + +#: includes/functions.php +msgid "Header Menu" +msgstr "ÎœÎµÎ½Î¿Ï ÎšÎµÏ†Î±Î»Î¯Î´Î±Ï‚" + +#: includes/functions.php +msgid "Sub-Header Menu" +msgstr "ÎœÎµÎ½Î¿Ï Î¥Ï€Î¿ÎºÎµÏ†Î±Î»Î¯Î´Î±Ï‚" + +#: includes/functions.php +msgid "Footer Menu" +msgstr "ÎœÎµÎ½Î¿Ï Î¥Ï€Î¿ÏƒÎ­Î»Î¹Î´Î¿Ï…" + +#: includes/functions.php +msgid "Page %s" +msgstr "" + +#: includes/functions.php +msgid "" +"Posted on %2$s by " +"%4$s" +msgstr "" +"ΔημοσιεÏτηκε στις %2$s από " +"%4$s" + +#: includes/functions.php +msgid "View all posts by %s" +msgstr "ΠÏοβολή όλων των άÏθÏων του %s" + +#: includes/functions.php +msgid "Archive for %s" +msgstr "ΑÏχείο για %s" + +#: includes/functions.php +msgid "Posts tagged %s" +msgstr "ΆÏθÏα με ετικέτα %s" + +#: includes/functions.php +msgid "Error 404" +msgstr "Σφάλμα 404 " + +#: includes/functions.php +msgid "Page" +msgstr "Σελίδα" + +#: includes/functions.php +msgid "http://themeid.com/support/" +msgstr "http://themeid.com/support/" + +#: includes/functions.php +msgid "Theme Support" +msgstr "ΥποστήÏιξης για το Θέμα" + +#: includes/functions.php +msgid "http://themeid.com/themes/" +msgstr "http://themeid.com/themes/" + +#: includes/functions.php +msgid "More Themes" +msgstr "ΠεÏισσότεÏα Θέματα" + +#: includes/functions.php +msgid "http://themeid.com/showcase/" +msgstr "http://themeid.com/showcase/" + +#: includes/functions.php +msgid "Showcase" +msgstr "Sites που χÏησιμοποιοÏν το θέμα μας" + +#: includes/functions.php +msgid "http://themeid.com/donate/" +msgstr "http://themeid.com/donate/" + +#: includes/functions.php +msgid "Donate Now" +msgstr "ΔώÏισε Ï„ÏŽÏα" + +#: includes/functions.php +msgid "Main Sidebar" +msgstr "ΚυÏίως Πάνελ" + +#: includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "ΠεÏιοχή Ένα - sidebar.php" + +#: includes/functions.php +msgid "Right Sidebar" +msgstr "Δεξί Πάνελ" + +#: includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "ΠεÏιοχή ΔÏο - sidebar-right.php" + +#: includes/functions.php +msgid "Left Sidebar" +msgstr "ΑÏιστεÏÏŒ Πάνελ" + +#: includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "ΠεÏιοχή ΤÏία - sidebar-left.php" + +#: includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "ΑÏιστεÏÏŒ Πάνελ Μισής Σελίδας" + +#: includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "ΠεÏιοχή ΤέσσεÏα - sidebar-left-half.php" + +#: includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Δεξί Πάνελ Μισής Σελίδας" + +#: includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "ΠεÏιοχή Πέντε - sidebar-right-half.php" + +#: includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "ΠεÏιοχή Έξι - sidebar-home.php" + +#: includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "ΠεÏιοχή Εφτά - sidebar-home.php" + +#: includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "ΠεÏιοχή Οχτώ - sidebar-home.php" + +#: includes/functions.php +msgid "Gallery Sidebar" +msgstr "Πάνελ ΓκαλεÏί" + +#: includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "ΠεÏιοχή Εννέα - sidebar-gallery.php" + +#: includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: includes/functions.php +msgid "Top Widget" +msgstr "" + +#: includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: includes/theme-options.php +msgid "Hello, World!" +msgstr "Γεια σου Κόσμε!" + +#: includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Εδώ βάλτε τον υπότιτλο H2" + +#: includes/theme-options.php +msgid "" +"Your title, subtitle and this very content is editable from Theme Option. " +"Call to Action button and its destination link as well. Image on your right " +"can be an image or even YouTube video if you like." +msgstr "" +"ΜποÏείς να επεξεÏγαστείς τον τίτλο, τον υπότιτλο και το πεÏιεχόμενο, όπως " +"επίσης το κουμπί Κάλεσμα σε ΔÏάση από το Î¼ÎµÎ½Î¿Ï Î•Ï€Î¹Î»Î¿Î³Î­Ï‚ Θέματος. Το γÏαφικό " +"στα δεξιά μποÏεί να είναι μια εικόνα ή ακόμα ένα βίντεο του Youtube αν " +"Ï€Ïοτιμάς." + +#: includes/theme-options.php +msgid "Call to Action" +msgstr "Κάλεσμα σε ΔÏάση" + +#: includes/theme-options.php +msgid "Theme Options" +msgstr "Επιλογές Θέματος" + +#: includes/theme-options.php +msgid "Options Saved" +msgstr "Οι Ïυθμίσεις αποθηκεÏτηκαν" + +#: includes/theme-options.php +msgid "Theme Elements" +msgstr "Στοιχεία θέματος" + +#: includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "ΑπενεÏγοποίηση λιστών ιχνηλάτησης (breadcrumb)" + +#: includes/theme-options.php +msgid "Check to disable" +msgstr "Επιλογή για απενεÏγοποίηση" + +#: includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ΑπενεÏγοποίηση ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï ÎšÎ¬Î»ÎµÏƒÎ¼Î± σε ΔÏάση;" + +#: includes/theme-options.php +msgid "Save Options" +msgstr "Αποθήκευση Ρυθμίσεων" + +#: includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: includes/theme-options.php +msgid "Logo Upload" +msgstr "ΜεταφόÏτωση Λογότυπου" + +#: includes/theme-options.php +msgid "Custom Header" +msgstr "ΠÏοσαÏμοσμένη Κεφαλίδα" + +#: includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Θες να αντικαταστήσεις ή να απομακÏÏνεις το Ï€Ïοεπιλεγμένο λογότυπο;" + +#: includes/theme-options.php +msgid "Click here." +msgstr "Κάνε κλικ εδώ." + +#: includes/theme-options.php +msgid "Home Page" +msgstr "ΑÏχική Σελίδα" + +#: includes/theme-options.php +msgid "Headline" +msgstr "Επικεφαλίδα" + +#: includes/theme-options.php +msgid "Enter your headline" +msgstr "ΣυμπλήÏωσε την επικεφαλίδα σου" + +#: includes/theme-options.php +msgid "Subheadline" +msgstr "Υποεπικεφαλίδα" + +#: includes/theme-options.php +msgid "Enter your subheadline" +msgstr "ΣυμπλήÏωσε την υποεπικεφαλίδα σου" + +#: includes/theme-options.php +msgid "Content Area" +msgstr "ΠεÏιοχή πεÏιεχομένου" + +#: includes/theme-options.php +msgid "Enter your content" +msgstr "ΣυμπλήÏωσε το πεÏιεχόμενο σου" + +#: includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Κάλεσμα σε ΔÏάση (URL)" + +#: includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Βάλε τη διεÏθυνση URL για το Κάλεσμα σε ΔÏάση" + +#: includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Κάλεσμα σε ΔÏάση (Κείμενο)" + +#: includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Βάλε το κείμενο για το κουμπί Κάλεσμα σε ΔÏάση" + +#: includes/theme-options.php +msgid "Featured Content" +msgstr "ΠεÏιεχόμενο σε έμφαση" + +#: includes/theme-options.php +msgid "See Docs" +msgstr "Βλ. ΈγγÏαφα" + +#: includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ΕÏγαλεία ΔιαχειÏιστή" + +#: includes/theme-options.php +msgid "Google Site Verification" +msgstr "Επαλήθευση Google Site" + +#: includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Google" + +#: includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Επαλήθευση Bing Site" + +#: includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Bing" + +#: includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Επαλήθευση Yahoo! Site" + +#: includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Yahoo!" + +#: includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Ανιχνευτής στατιστικών του site" + +#: includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" +"Άφησέ το κενό αν έχεις κάποιο Ï€Ïόσθετο (plugin) που διαχειÏίζεται τα " +"εÏγαλεία διαχειÏιστή" + +#: includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, κάποιο άλλο ή όλα μαζί." + +#: includes/theme-options.php +msgid "Social Icons" +msgstr "Εικονίδια κοινωνικής δικτÏωσης" + +#: includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "ΣυμπλήÏωσε το URL σου του Twitter" + +#: includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "ΣυμπλήÏωσε το URL σου του Facebook" + +#: includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "ΣυμπλήÏωσε το URL σου του LinkedIn" + +#: includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "ΣυμπλήÏωσε το URL σου του YouTube" + +#: includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "ΣυμπλήÏωσε το URL σου του StumbleUpon" + +#: includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "ΣυμπλήÏωσε το URL σου του RSS Feed" + +#: includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "ΣυμπλήÏωσε το URL σου του Google+" + +#: includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "ΣυμπλήÏωσε το URL σου του Instagram" + +#: includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "ΣυμπλήÏωσε το URL σου του Pinterest" + +#: includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "ΣυμπλήÏωσε το URL σου του Yelp!" + +#: includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "ΣυμπλήÏωσε το URL σου του Vimeo" + +#: includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "ΣυμπλήÏωσε το URL σου του foursquare" + +#: includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "ΠÏοσαÏμοσμένα στυλ CSS" + +#: includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Βοήθημα CSS" + +#: includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "ΚαταχώÏησε τα δικά σου Ï€ÏοσαÏμοσμένα στυλ CSS" + +#: includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: includes/theme-options.php +msgid "http://codex.wordpress.org/Using_Javascript" +msgstr "" + +#: includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" diff --git a/wp-content/themes/responsive/languages/el_GR.mo b/wp-content/themes/responsive/languages/el_GR.mo new file mode 100644 index 0000000..bafa3a0 Binary files /dev/null and b/wp-content/themes/responsive/languages/el_GR.mo differ diff --git a/wp-content/themes/responsive/languages/el_GR.po b/wp-content/themes/responsive/languages/el_GR.po new file mode 100644 index 0000000..0b5ea52 --- /dev/null +++ b/wp-content/themes/responsive/languages/el_GR.po @@ -0,0 +1,814 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Greek, Greece\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Σελίδες:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ ΠαλαιότεÏα άÏθÏα" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "ΠÏόσφατα άÏθÏα ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "ΠεÏισσότεÏα ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Το άÏθÏο είναι Ï€Ïοστατευμένο με συνθηματικό. ΠληκτÏολόγησε το συνθηματικό, για να δεις τα σχόλια." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ ΠαλαιότεÏα σχόλια" + +msgid "Newer comments ›" +msgstr "ΠÏόσφατα σχόλια ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s για \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Όνομα" + +msgid "E-mail" +msgstr "E-mail" + +msgid "Website" +msgstr "Ιστότοπος" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "πίσω στην κοÏυφή" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +msgid "powered by" +msgstr "με τη δÏναμη τοÏ" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ ΕπιστÏοφή στην" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Δεν υπάÏχουν σχόλια ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Σχόλιο ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Σχόλια ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ένα σχόλιο στο “%2$s”" +msgstr[1] "%1$s σχόλια στα “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Με ετικέτα:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "ΔημοσιεÏτηκε στο %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "ΕπεξεÏγασία" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Πώς κι από δω;..." + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Μην πανικοβάλλεσαι, θα το ξεπεÏάσουμε μαζί. Ας δοÏμε τι επιλογές έχουμε." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "ΜποÏείς να επιστÏέψεις στην %s ή να αναζητήσεις τη σελίδα που σε ενδιαφέÏει." + +msgid "Home" +msgstr "ΑÏχική" + +msgid "← Home" +msgstr "← ΑÏχική" + +msgid "Daily Archives: %s" +msgstr "ΗμεÏήσια ΑÏχειοθήκη: %s" + +msgid "Monthly Archives: %s" +msgstr "Μηνιαία ΑÏχειοθήκη: %s" + +msgid "Yearly Archives: %s" +msgstr "Ετήσια ΑÏχειοθήκη: %s" + +msgid "Blog Archives" +msgstr "ΑÏχειοθήκη Ιστολογίου" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Η αναζήτησή σας για %s δεν ταιÏιάζει με καμία καταχώÏηση." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Μόνιμος σÏνδεσμος Ï€Ïος %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Αποτελέσματα Αναζήτησης για: %s" + +#: searchform.php +msgid "search here …" +msgstr "Αναζήτηση εδώ …" + +#: searchform.php +msgid "Go" +msgstr "Μετάβαση" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "ΠληÏοφοÏίες Εικόνας" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "ΠλήÏες Μέγεθος:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "ΔιάφÏαγμα: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Εστιακό Μήκος:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "χλστ." + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "ΤαχÏτητα:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "ΚάμεÏα:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Στο ΑÏχείο" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "ΑÏχική Μονάδα 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Αυτή είναι η Ï€Ïώτη μονάδα (widget) της αÏχικής σελίδας. Για να την επεξεÏγαστείς πήγαινε Εμφάνιση > Μονάδες και επίλεξε την 6η μονάδα από την κοÏυφή που λέγεται ΑÏχική Μονάδα 1. Στις μονάδες μποÏείς επίσης να διαχειÏιστείς τον τίτλο." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "ΑÏχική Μονάδα 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Αυτή είναι η δεÏτεÏη μονάδα (widget) της αÏχικής σελίδας. Για να την επεξεÏγαστείς πήγαινε Εμφάνιση > Μονάδες και επίλεξε την 7η μονάδα από την κοÏυφή, που λέγεται ΑÏχική Μονάδα 2. Στις μονάδες μποÏείς επίσης να διαχειÏιστείς τον τίτλο." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "ΑÏχική Μονάδα 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Αυτή είναι η Ï„Ïίτη μονάδα (widget) της αÏχικής σελίδας. Για να την επεξεÏγαστείς πήγαινε Εμφάνιση > Μονάδες και επίλεξε την 8η μονάδα από την κοÏυφή, που λέγεται ΑÏχική Μονάδα 3. Στις μονάδες μποÏείς επίσης να διαχειÏιστείς τον τίτλο." + +#: single.php +msgid "About" +msgstr "ΠεÏί" + +#: sitemap.php +msgid "Categories" +msgstr "ΚατηγοÏίες" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Τελευταίες ΔημοσιεÏσεις" + +#: sitemap.php +msgid "Pages" +msgstr "Σελίδες" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "ÎœÎµÎ½Î¿Ï ÎšÎ¿Ïυφής" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "ÎœÎµÎ½Î¿Ï ÎšÎµÏ†Î±Î»Î¯Î´Î±Ï‚" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "ÎœÎµÎ½Î¿Ï Î¥Ï€Î¿ÎºÎµÏ†Î±Î»Î¯Î´Î±Ï‚" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "ÎœÎµÎ½Î¿Ï Î¥Ï€Î¿ÏƒÎ­Î»Î¹Î´Î¿Ï…" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Σελίδα %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "ΔημοσιεÏτηκε στις %2$s από %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "ΠÏοβολή όλων των άÏθÏων του %s" + +msgid "Archive for %s" +msgstr "ΑÏχειοθήκη για %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "ΆÏθÏα με ετικέτα %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Σφάλμα 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "ΠεÏισσότεÏα Θέματα" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Ιστότοποι που χÏησιμοποιοÏν το θέμα μας" + +msgid "Main Sidebar" +msgstr "ΚÏÏια ΠλευÏική Στήλη" + +msgid "Area 1 - sidebar.php" +msgstr "ΠεÏιοχή 1 - sidebar.php" + +msgid "Right Sidebar" +msgstr "Δεξιά ΠλευÏική Στήλη" + +msgid "Area 2 - sidebar-right.php" +msgstr "ΠεÏιοχή 2 - sidebar-right.php" + +msgid "Left Sidebar" +msgstr "ΑÏιστεÏή ΠλευÏική Στήλη" + +msgid "Area 3 - sidebar-left.php" +msgstr "ΠεÏιοχή 3 - sidebar-left.php" + +msgid "Left Sidebar Half Page" +msgstr "ΑÏιστεÏή ΠλευÏική Στήλη Μισής Σελίδας" + +msgid "Area 4 - sidebar-left-half.php" +msgstr "ΠεÏιοχή 4 - sidebar-left-half.php" + +msgid "Right Sidebar Half Page" +msgstr "Δεξιά ΠλευÏική Στήλη Μισής Σελίδας" + +msgid "Area 5 - sidebar-right-half.php" +msgstr "ΠεÏιοχή 5 - sidebar-right-half.php" + +msgid "Area 6 - sidebar-home.php" +msgstr "ΠεÏιοχή 6 - sidebar-home.php" + +msgid "Area 7 - sidebar-home.php" +msgstr "ΠεÏιοχή 7 - sidebar-home.php" + +msgid "Area 8 - sidebar-home.php" +msgstr "ΠεÏιοχή 8 - sidebar-home.php" + +msgid "Gallery Sidebar" +msgstr "ΠλευÏική Στήλη ΓκαλεÏί" + +msgid "Area 9 - sidebar-gallery.php" +msgstr "ΠεÏιοχή 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Καταληκτική Μονάδα" + +msgid "Area 10 - sidebar-colophon.php" +msgstr "ΠεÏιοχή 10 - sidebar-colophon.php" + +msgid "Top Widget" +msgstr "Μονάδα ΚοÏυφής" + +msgid "Area 11 - sidebar-top.php" +msgstr "ΠεÏιοχή 11 - sidebar-top.php" + +msgid "Blog (full posts)" +msgstr "ΆÏθÏα Ιστολόγιου (πλήÏεις δημοσιεÏσεις)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Αποσπάσματα ΆÏθÏων Ιστολόγιου (πεÏίληψη)" + +msgid "Content/Sidebar" +msgstr "ΠεÏιεχόμενο / ΠλευÏική Στήλη" + +msgid "Sidebar/Content" +msgstr "ΠλευÏική Στήλη / ΠεÏιεχόμενο" + +msgid "Content/Sidebar Half Page" +msgstr "ΠεÏιεχόμενο / ΠλευÏική Στήλη Μισής Σελίδας" + +msgid "Sidebar/Content Half Page" +msgstr "ΠλευÏική Στήλη / ΠεÏιεχόμενο Μισής Σελίδας" + +msgid "Full Width Page (no sidebar)" +msgstr "Πλάτος ΠλήÏους Σελίδας (χωÏίς πλευÏική στήλη)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Καταληκτική σελίδα (χωÏίς μενοÏ)" + +#: sitemap.php +msgid "Sitemap" +msgstr "ΧάÏτης ιστοσελίδας" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Διάταξη" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "ΠÏοεπιλογή" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Γεια σου Κόσμε!" + +msgid "Your H2 subheadline here" +msgstr "Βάλτε εδώ τον υπότιτλο H2" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "ΜποÏείς να επεξεÏγαστείς τον τίτλο, τον υπότιτλο, το πεÏιεχόμενο, όπως επίσης και το κουμπί Κάλεσμα σε ΔÏάση από το Î¼ÎµÎ½Î¿Ï Î•Ï€Î¹Î»Î¿Î³Î­Ï‚ Θέματος. Το γÏαφικό στα δεξιά μποÏεί να είναι μια εικόνα ή ακόμα και βίντεο του Youtube αν Ï€Ïοτιμάς." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Κάλεσμα σε ΔÏάση" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Επιλογές Θέματος" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Οι Ïυθμίσεις αποθηκεÏτηκαν" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Στοιχεία θέματος" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "ΑπενεÏγοποίηση λιστών ιχνηλάτησης; (breadcrumb)" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Επιλογή για απενεÏγοποίηση" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ΑπενεÏγοποίηση ÎºÎ¿Ï…Î¼Ï€Î¹Î¿Ï ÎšÎ¬Î»ÎµÏƒÎ¼Î± σε ΔÏάση;" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Αποθήκευση Ρυθμίσεων" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "ΕπαναφοÏά ΠÏοεπιλογών" + +msgid "Logo Upload" +msgstr "ΜεταφόÏτωση ΛογοτÏπου" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "ΠÏοσαÏμοσμένη Κεφαλίδα" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Θες να αντικαταστήσεις ή να απομακÏÏνεις το Ï€Ïοεπιλεγμένο λογότυπο;" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Κάνε κλικ εδώ." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "ΑÏχική Σελίδα" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Επικεφαλίδα" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "ΣυμπλήÏωσε την επικεφαλίδα σου" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Υποεπικεφαλίδα" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "ΣυμπλήÏωσε την υποεπικεφαλίδα σου" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ΠεÏιοχή ΠεÏιεχομένου" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "ΣυμπλήÏωσε το πεÏιεχόμενο σου" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Κάλεσμα σε ΔÏάση (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Βάλε τη διεÏθυνση URL για το Κάλεσμα σε ΔÏάση" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Κάλεσμα σε ΔÏάση (Κείμενο)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Βάλε το κείμενο για το κουμπί Κάλεσμα σε ΔÏάση" + +msgid "Featured Content" +msgstr "ΠÏοβεβλημένο ΠεÏιεχόμενο" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Βλ. ΈγγÏαφα" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Επικόλληση σÏντομου κωδικοÏ, βίντεο ή Ï€Ïοέλευσης εικόνας" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "ΠÏοεπιλεγμένες Διατάξεις" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "ΠÏοεπιλεγμένη Διάταξη των Στατικών σελίδων" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "ΠÏοεπιλεγμένη Διάταξη των Δημοσιευμένων ΆÏθÏων" + +msgid "Default Blog Posts Index Layout" +msgstr "ΠÏοεπιλεγμένη Διάταξη Καταλόγων των Δημοσιευμένων ΆÏθÏων" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ΕÏγαλεία ΔιαχειÏιστή" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Επαλήθευση Google Site" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Επαλήθευση Bing Site" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Επαλήθευση Yahoo! Site" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Βάλε μόνο τον αÏιθμό σου ταυτοποίησης του Yahoo!" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Ανιχνευτής στατιστικών του site" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Άφησέ το κενό αν έχεις κάποιο Ï€Ïόσθετο (plugin) που διαχειÏίζεται τα εÏγαλεία διαχειÏιστή" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, κάποιο άλλο ή όλα μαζί." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Εικονίδια κοινωνικής δικτÏωσης" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "ΣυμπλήÏωσε το URL σου του Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "ΣυμπλήÏωσε το URL σου του Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "ΣυμπλήÏωσε το URL σου του LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "ΣυμπλήÏωσε το URL σου του YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "ΣυμπλήÏωσε το URL σου του StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "ΣυμπλήÏωσε το URL σου του RSS Feed" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "ΣυμπλήÏωσε το URL σου του Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "ΣυμπλήÏωσε το URL σου του Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "ΣυμπλήÏωσε το URL σου του Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "ΣυμπλήÏωσε το URL σου του Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "ΣυμπλήÏωσε το URL σου του Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "ΣυμπλήÏωσε το URL σου του foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "ΠÏοσαÏμοσμένα στυλ CSS" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Βοήθημα CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "ΚαταχώÏησε τα δικά σου Ï€ÏοσαÏμοσμένα στυλ CSS" + +msgid "Custom Scripts" +msgstr "ΠÏοσαÏμοσμένες Δέσμες ΕνεÏγειών" + +msgid "Custom Scripts for Header and Footer" +msgstr "ΠÏοσαÏμοσμένες Δέσμες ΕνεÏγειών Κεφαλίδας και Υποσέλιδου" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "ΣÏντομη Εκμάθηση" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Ενσωματώσεις σε header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Εισαγάγετε Ï€ÏοσαÏμοσμένες δέσμες ενεÏγειών στην κεφαλίδα." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Ενσωματώσεις σε footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Εισαγάγετε Ï€ÏοσαÏμοσμένες δέσμες ενεÏγειών στο υποσέλιδο." + +msgid "Enable Custom Front Page" +msgstr "ΕνεÏγοποίηση ΠÏοσαÏμοσμένης ΑÏχικής Σελίδας" + +msgid "Help" +msgstr "Βοήθεια" + +msgid "Instructions" +msgstr "Οδηγίες" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "ΠαÏακάμπτει την %1sεπιλογή Ï€Ïώτης σελίδας%2s του WordPress" + +msgid "Translate" +msgstr "ΜετάφÏαση" + +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Καλώς οÏίσατε στο %1$s! Αναβαθμίστε σήμεÏα στο %2$s." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/es_ES.mo b/wp-content/themes/responsive/languages/es_ES.mo new file mode 100644 index 0000000..f74b4a5 Binary files /dev/null and b/wp-content/themes/responsive/languages/es_ES.mo differ diff --git a/wp-content/themes/responsive/languages/es_ES.po b/wp-content/themes/responsive/languages/es_ES.po new file mode 100644 index 0000000..95da0de --- /dev/null +++ b/wp-content/themes/responsive/languages/es_ES.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:29 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Spanish, Spain\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Páginas:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Entradas más antiguas" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Entradas más recientes ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Leer más ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Esta entrada está protegida. Introduce la contraseña para ver los comentarios." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Comentarios más antiguos" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Comentarios más recientes ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s para \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nombre" + +#: comments.php +msgid "E-mail" +msgstr "Correo electrónico" + +#: comments.php +msgid "Website" +msgstr "Sitio web" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "subir" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Funciona con" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://es.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Volver a" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Sin Comentarios ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Comentario ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Comentarios ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Un comentario sobre “%2$sâ€" +msgstr[1] "%1$s comentarios sobre “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Etiquetado con:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publicado en: %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Editar" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Qué raro encontrarnos aquí!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "No te preocupes, vamos a salir de esto juntos. Vamos a explorar nuestras opciones aquí." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Puedes regresar %s o busca la página que necesitabas" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Inicio" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Inicio" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Archivos diarios: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Archivos Mensuales: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Archivo Anual: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archivo del sitio" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Tu búsqueda para %s no ha encontrado ninguna entrada" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Enlace Permanente a %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Resultados de la búsqueda para: %s" + +#: searchform.php +msgid "search here …" +msgstr "buscar aquí..." + +#: searchform.php +msgid "Go" +msgstr "Ir" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Datos de la imagen" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Tamaño completo:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Apertura: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Distancia focal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Obturador:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Cámara:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "En archivo" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Widget 1 de la página inicial" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Este es tu primer widget de la página de inicio. Para editarlo, por favor, vete a Apariencia> Widgets y elige el sexto widget, llamado Widget 1 de la página inicial. Su título también es editable." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Widget 2 de la página inicial" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Este es tu segundo widget de la página de inicio. Para editarlo, por favor, vete a Apariencia> Widgets y elige el séptimo widget, llamado Widget 2 de la página inicial. Su título también es editable." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Widget 3 de la página inicial" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Este es tu tercer widget de la página de inicio. Para editarlo, por favor, vete a Apariencia> Widgets y elige el octavo widget, llamado Widget 3 de la página inicial. Su título también es editable." + +#: single.php +msgid "About" +msgstr "Sobre nosotros" + +#: sitemap.php +msgid "Categories" +msgstr "Categorías" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Últimas entradas" + +#: sitemap.php +msgid "Pages" +msgstr "Páginas" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menú superior" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menú de la cabecera" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Submenú de la cabecera" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menú del pie de página" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Página %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publicado en %2$s por %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Ver todas las entradas de %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archivos de %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Entradas etiquetadas con %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Error 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Más temas" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Escaparate" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Barra lateral principal" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Área uno - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Barra lateral derecha" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Área dos - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Barra lateral izquierda" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Área tres- sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Barra lateral izquierda en media página" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Área cuatro - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Barra lateral derecha en media página" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Área cinco - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Área seis - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Área siete - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Área ocho - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galería en barra lateral" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Área nueve - sidebar-home.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget colofón" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Área diez - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget superior" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Área once - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (publicaciones completas)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog resumido (sólo resúmenes)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Contenido/Lateral" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Lateral/Contenido" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Contenido/Lateral media página" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Lateral/Contenido media página" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Página de ancho completo (sin lateral)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Página de aterrizaje (sin menú)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa del sitio" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Distribución" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Por defecto" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "¡Hola, Mundo!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Subtítulo H2" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Tu título, subtítulo y este contenido son editables en Opciones del tema. El botón Llamada a la acción y su enlace de destino también. La imagen a su derecha puede ser una imagen o un vídeo de YouTube si lo prefieres." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Llamada a la acción" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opciones del tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opciones guardadas" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementos del tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Desactivar ruta breadcrumb?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Seleccionar para desactivarlo" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Desactivar el botón Llamada a la acción?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Guardar opciones" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Restaurar valores por defecto" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Subir logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Personalizar cabecera" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Necesitas sustituir o eliminar el logo predefinido" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Pulsa aquí." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Página de inicio" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Título" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Introduce tu título" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subtítulo" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Introduce tu subtítulo" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Área de contenido" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Introduce tu contenido" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Llamada a la acción (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Introduce la URL para tu Llamada a la acción" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Llamada a la acción (texto)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Introduce el texto para tu Llamada a la acción" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Contenido destacado" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Ver documentación" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Pega el código tu shortcode, vídeo o imagen" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Distribuciones por defecto" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Distribución por defecto de la página estática" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Distribución por defecto de una publicación" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Distribución por defecto del índice del blog" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Herramientas de webmáster" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verificación del sitio en Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Introduce sólo tu número de ID de Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verificación del sitio en Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Introduce sólo tu número de ID de Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verificación del sitio en Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Introduce sólo tu número de ID de Yahoo" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Gestor de estadísticas del sitio" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deja en blanco si un plugin gestiona tus herramientas de webmáster" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, cualquier otro, o todos ellos." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Iconos sociales" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Introduce tu URL de Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Introduce tu URL de Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Introduce tu URL de LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Introduce tu URL de YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Introduce tu URL de StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Canal RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Introduce la URL de tu canal RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Introduce tu URL de Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Introduce tu URL de Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Introduce tu URL de Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Introduce tu URL de Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Introduce tu URL de Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "Foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Introduce tu URL de Foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Estilos CSS personalizados" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/es/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial de CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Introduce tus estilos CSS personalizados" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Scripts personalizados" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Scripts personalizados para la cabecera y el pie de página" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutorial rápido" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Incrustar en header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Introduce el script para tu cabecera personalizada." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Incrustar en footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Introduce el script para tu pie de página personalizado." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/es_MX.mo b/wp-content/themes/responsive/languages/es_MX.mo new file mode 100644 index 0000000..5410747 Binary files /dev/null and b/wp-content/themes/responsive/languages/es_MX.mo differ diff --git a/wp-content/themes/responsive/languages/es_MX.po b/wp-content/themes/responsive/languages/es_MX.po new file mode 100644 index 0000000..cdf4ed0 --- /dev/null +++ b/wp-content/themes/responsive/languages/es_MX.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:27 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Spanish, Mexico\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Páginas" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Entradas más antiguas" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Entradas más recientes ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Leer más ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Esta entrada está protegida. Introduce la contraseña para ver los comentarios." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Comentarios más antiguos" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Comentarios más recientes ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s para \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nombre" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Website" + +#: footer.php +msgid "©" +msgstr "" + +#: footer.php +msgid "scroll to top" +msgstr "subir" + +#: footer.php +msgid "↑" +msgstr "" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "" + +#: footer.php +msgid "Responsive Theme" +msgstr "" + +#: footer.php +msgid "powered by" +msgstr "Funciona con" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "" + +#: footer.php +msgid "WordPress" +msgstr "" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Volver a" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Sin Comentarios ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Comentario ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Comentarios ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Un comentario en “%2$s”" +msgstr[1] "%1$s comentarios en “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Etiqueta(s):" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publicado en: %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Editar" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Qué raro encontrarnos aquí!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "No te preocupes, vamos a salir de esto juntos. Vamos a explorar nuestras opciones aquí." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Puedes regresar %s o busca la página que necesitabas" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Inicio" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Inicio" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Archivos del dí: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Archivos del mes: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Archivo Anual: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archivo del sitio" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Tu búsqueda para %s no ha encontrado ninguna entrada" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Enlace permanente a %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Resultados de la búsqueda para: %s" + +#: searchform.php +msgid "search here …" +msgstr "buscar aquí …" + +#: searchform.php +msgid "Go" +msgstr "Ir" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Datos de la imagen" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Tamaño completo:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Apertura: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Distancia focal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Obturador:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Cámara:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "En archivo" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Widget 1 de la página inicial" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Este es tu primer widget de la página de inicio. Para editarlo, por favor, vete a Apariencia > Widgets y elige el sexto widget, llamado Widget 1 de la página inicial. Su título también es editable." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Widget 2 de la página inicial" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Este es tu segundo widget de la página de inicio. Para editarlo, por favor, vete a Apariencia > Widgets y elige el séptimo widget, llamado Widget 2 de la página inicial. Su título también es editable." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Widget 3 de la página inicial" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Este es tu tercer widget de la página de inicio. Para editarlo, por favor, vete a Apariencia > Widgets y elige el octavo widget, llamado Widget 3 de la página inicial. Su título también es editable." + +#: single.php +msgid "About" +msgstr "Acerca de" + +#: sitemap.php +msgid "Categories" +msgstr "Categorías" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Últimas entradas" + +#: sitemap.php +msgid "Pages" +msgstr "Páginas" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menú superior" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menú de cabecera" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Menú debajo de cabecera" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menú de pie de página" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Página %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publicado en %2$s por %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Ver todas las entradas de %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archivos de %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Entradas etiquetadas con %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Error 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Más temas" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Escaparate" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Barra lateral principal" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Área uno - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Barra lateral derecha" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Área dos - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Barra lateral izquierda" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Área tres- sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Barra lateral izquierda en media página" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Área cuatro - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Barra lateral derecha en media página" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Área cinco - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Área seis - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Área siete - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Área ocho - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galería de barra lateral" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Área nueve - sidebar-home.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget final" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Área diez - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget superior" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Área once - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (publicaciones completas)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog Compacto (sólo resúmenes)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Contenido/Barra Lateral" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Barra Lateral/Contenido" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Contenido/Barra Lateral media página" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Barra Lateral/Contenido media página" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Página de ancho completo (sin barra lateral)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Página de destino (sin menú)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa del sitio" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Distribución" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Predet." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "¡Hola Mundo!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Subtítulo H2" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Tu título, subtítulo y este contenido son editables en Opciones del tema. El botón Realizar una acción y su enlace de destino también. La imagen a la derecha puede ser una imagen o un video de YouTube si lo prefieres." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Realizar una acción" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opciones del tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opciones guardadas" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementos del tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "¿ Desactivar listas del breadcrumb?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Seleccionar para desactivarlo" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "¿ Desactivar el botón de Realizar una acción?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Guardar opciones" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Restaurar valores por defecto" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Subir logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Personalizar cabecera" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "¿ Necesitas sustituir o eliminar el logo predefinido?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Pulsa aquí." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Inicio" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Título" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Introduce tu título" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subtítulo" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Introduce tu subtítulo" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Área de contenido" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Introduce tu contenido" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Realizar una acción (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Introduce la URL para realizar una acción" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Realizar una acción (texto)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Introduce el texto para Realizar una acción" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Contenido destacado" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Ver documentación" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Pega tu shortcode, video o imagen" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Distribuciones por defecto" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Distribución por defecto de la página estática" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Distribución por defecto de una publicación" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Distribución por defecto del índice del blog" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Herramientas para el webmaster" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verificación del sitio en Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Introduce sólo tu número de ID de Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verificación del sitio en Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Introduce sólo tu número de ID de Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verificación del sitio en Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Introduce sólo tu número de ID de Yahoo" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Gestor de estadísticas del sitio" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deja en blanco si un plugin gestiona tus herramientas de webmaster" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, cualquier otro o todos ellos." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Redes sociales" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Introduce tu URL de Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Introduce tu URL de Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Introduce tu URL de LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Introduce tu URL de YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Introduce tu URL de StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Canal RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Introduce la URL de tu canal RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Introduce tu URL de Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Introduce tu URL de Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Introduce tu URL de Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Introduce tu URL de Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Introduce tu URL de Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Introduce tu URL de Foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Estilos CSS personalizados" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/es/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial de CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Introduce tus estilos CSS personalizados" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Scripts personalizados" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Scripts personalizados para la cabecera y el pie de página" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutorial rápido" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Incrustar en header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Introduce el script para tu cabecera personalizada." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Incrustar en footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Introduce el script para tu pie de página personalizado." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/et.mo b/wp-content/themes/responsive/languages/et.mo new file mode 100644 index 0000000..7d18376 Binary files /dev/null and b/wp-content/themes/responsive/languages/et.mo differ diff --git a/wp-content/themes/responsive/languages/et.po b/wp-content/themes/responsive/languages/et.po new file mode 100644 index 0000000..6b36041 --- /dev/null +++ b/wp-content/themes/responsive/languages/et.po @@ -0,0 +1,814 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:27 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Estonian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Leheküljed:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Vanemad postitused" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Uuemad postitused ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Loe veel ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "See postitus on parooliga kaitstud. Sisesta parool, et kommentaare lugeda." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Vanemad kommentaarid" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Uuemad kommentaarid ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/ Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s järgnevaks \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nimi" + +#: comments.php +msgid "E-mail" +msgstr "E-post" + +#: comments.php +msgid "Website" +msgstr "Veebileht" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "keri üles" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Toetaja" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://et.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Pöördu tagasi" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Ei ole kommentaare ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 kommentaar ↓" + +msgid "% Comments ↓" +msgstr "% Kommentaari ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ãœks kommentaar “%2$s”" +msgstr[1] "%1$s kommentaari “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Sildid" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Postitatud %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Muuda" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Tore sind siin trehvata!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ära paanitse, me saame sellest koos jagu. Vaatame, mis meil siin teha annab." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Pöördu tagasi %s või otsi lehekülge" + +msgid "Home" +msgstr "Avaleht" + +msgid "← Home" +msgstr "← Avaleht" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Päeva arhiiv: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Kuu arhiiv: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Aasta arhiiv: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blogi arhiiv" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Otsi %s ei leidnud ühtegi sobivat vastet" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Püsilink %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Otsingutulemused: %s" + +#: searchform.php +msgid "search here …" +msgstr "otsi siin …" + +#: searchform.php +msgid "Go" +msgstr "Mine" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Pildi info" + +msgid "Full Size:" +msgstr "Täissuurus:" + +msgid "Aperture: f/" +msgstr "Ava: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Fookuskaugus" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +msgid "Shutter:" +msgstr "Säriaeg:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kaamera" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Arhiivis" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Kodu vidin 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "See on sinu esimense koduvidina kast. Muutmiseks mine palun Välimus > Vidinad ja vali ülevalt 6-s vidin alas kuus nimega Kodu vidin 2. Ka pealkiri on muudetav vidinatest" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Kodu vidin 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "See on su teine koduvidina kast. Muutmiseks mine palun Välimus > Vidinad ja vali ülevalt 7-s vidin alas seitse nimega Kodu vidin 2. Ka pealkiri on muudetav vidinatest" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Kodu vidin 3" + +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "See on sinu kolmas koduvidina kast. Muutmiseks mine palun Välimus > Vidinad ja vali ülevalt 8-s vidin alas kaheksa nimega Kodu vidin 3. Ka pealkiri on muudetav vidinatest" + +msgid "About" +msgstr "Meist" + +#: sitemap.php +msgid "Categories" +msgstr "Rubriigid" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Viimaseid postitusi" + +#: sitemap.php +msgid "Pages" +msgstr "Leheküljed" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Peamenüü" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Päise menüü" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Alampäise menüü" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Jaluse menüü" + +msgid "Page %s" +msgstr "Leht %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Autor %2$s on %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Vaata kõiki %s postitusi " + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Ahriiv %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Taggitud positused %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Viga 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Rohkem teemasid" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Näidis" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Peamine külgpaan" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Ala üks - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Parem külgpaan" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Ala kaks - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Vasak külgpaan" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Ala kolm - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Vasak külgpaan pool lehekülge" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Ala neli - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Parem külgpaan pool lehekülge" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Ala viis - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Ala kuus - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Ala seitse - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Ala kaheksa - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galerii külgpaan" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Ala üheksa - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Salvesta moodul" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Ala 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Ãœlemine vidin" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Ala 11 - sidebar-top.php" + +msgid "Blog (full posts)" +msgstr "Blogi (täielikud postitused)" + +msgid "Blog Excerpt (summary)" +msgstr "Blogi väljavõtted (kokkuvõtted)" + +msgid "Content/Sidebar" +msgstr "Sisuala/Külgpaan" + +msgid "Sidebar/Content" +msgstr "Külgpaan/sisuala" + +msgid "Content/Sidebar Half Page" +msgstr "Sisuala/Külgpaan pool lehekülge" + +msgid "Sidebar/Content Half Page" +msgstr "Külgpaan/Sisuala pool lehekülge" + +msgid "Full Width Page (no sidebar)" +msgstr "Täies ulatuses leht (ilma külgpaanita)" + +msgid "Landing Page (no menu)" +msgstr "Maadumis leht (mitte menüü)" + +msgid "Sitemap" +msgstr "Sisukaart" + +msgid "Layout" +msgstr "Kavand" + +msgid "Default" +msgstr "Vaikimisi" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Tere, maailm!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Sinu H2 alampealkiri siin" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Pealkiri, alampealkiri ja sisu saad toimetada Teema Valikud alt. \"Kutsu tegutsema\" nupp ja selle taga olev link samuti. Pilt paremal võib olla pilt või näiteks YouTube video." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Kutsu tegutsema" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Teemavalikud" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Salvestatud seaded" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Teema elemendid" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Blokeeri breadcrumbs listid?" + +msgid "Check to disable" +msgstr "Kontrolli, et keelata" + +msgid "Disable Call to Action Button?" +msgstr "Keela \"Kutsu tegutsema\" nupp" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Salvesta võimalused" + +msgid "Restore Defaults" +msgstr "Taasta vaikeväärtused" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logo üleslaadimine" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Kohandatud päis" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Tahad vahetada või eemaldada vaikimisi logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Kliki siia." + +msgid "Home Page" +msgstr "Avaleht" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Pealkiri" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Sisesta oma pealkiri" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Alampealkiri" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Sisesta oma almpealkiri" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Sisuala" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Sisesta oma sisu" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Kutsu tegutsema (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Sisesta \"Kutsu tegutsema\" URL" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Kutsu tegutsema tekst" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Sisesta oma \"Kutsu tegutsema\" tekst" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Esiletoodud sisu" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Vaata dokumente" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Aseta kood, video või pildi allikas" + +msgid "Default Layouts" +msgstr "Vaikimisi kavandid" + +msgid "Default Static Page Layout" +msgstr "Vaikimisi staabiilse lehe kavand" + +msgid "Default Single Blog Post Layout" +msgstr "Vaikimisi üksiku blogi postituse kavand" + +msgid "Default Blog Posts Index Layout" +msgstr "Vaikimise blogi postituste avalehe kavand" + +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google lehe ehtsuse kontroll" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Sisesta oma Google ID number" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing lehe ehtsuse kontroll" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Sisesta oma Bing ID number" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo lehe ehtsuse kontroll" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Sisesta oma Yahoo ID number" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Lehe statistika jälgija" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Jäta tühjaks kui plugin kontrollib sinu veebimeistri tööriistu" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, üks või mõlemad nendest" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sotsiaalmeedia ikoonid" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Sisesta oma Twitteri URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Sisesta oma Facebooki URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Sisesta oma LinkedIn URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Sisesta oma YouTube URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Sisesta oma StumbleUpon URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS voog" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Sisesta oma RSS voo URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Sisesta oma Google+ URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Sisesta oma Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Sisesta oma Pinterest URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Sisesta oma Yelp! URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Sisesta Vimeo URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Sisesta foursquare URL" + +msgid "Custom CSS Styles" +msgstr "Kohandatud CSS stiilid" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS käsiraamat" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Sisesta oma kohandatud CSS stiilid." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Kohandatud skriptid" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Kohandatud skriptid Päisele ja Jalusele" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Kiire abiõpik" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Sisestab header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Sisesta oma kohandatud päise skript" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Sisestab footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Sisesta oma kohandatud jaluse skript" + +msgid "Enable Custom Front Page" +msgstr "Luba kasutada kohandatud Esilehte" + +msgid "Help" +msgstr "Abi" + +msgid "Instructions" +msgstr "Juhised" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Alistab WordPressi % 1sfront lehega %2" + +msgid "Translate" +msgstr "Tõlgi" + +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Tere tulemast %1$s teemasse! Osta endale %2$s juba täna." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/fa_IR.mo b/wp-content/themes/responsive/languages/fa_IR.mo new file mode 100644 index 0000000..43f88a7 Binary files /dev/null and b/wp-content/themes/responsive/languages/fa_IR.mo differ diff --git a/wp-content/themes/responsive/languages/fa_IR.po b/wp-content/themes/responsive/languages/fa_IR.po new file mode 100644 index 0000000..5117b36 --- /dev/null +++ b/wp-content/themes/responsive/languages/fa_IR.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:35 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Persian, Iran\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "برگه‌ها :" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ نوشته‌های قدیمی‌تر" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "نوشته‌های جدیدتر ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "بیشتر بخوانید ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "این نوشته با رمز محاÙظت شده است. رمز را وارد کنید تا بتوانید دیدگاه‌ها را ببنید." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ دیدگاه‌های قدیمی‌تر" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "دیدگاه‌های جدیدتر ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "پینگ/بازتاب" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s برای \"%3$s‎\"" + +#: comments.php +msgid "Name" +msgstr "نام" + +#: comments.php +msgid "E-mail" +msgstr "ایمیل" + +#: comments.php +msgid "Website" +msgstr "وب سایت" + +#: footer.php +msgid "©" +msgstr "© کپی‌رایت" + +#: footer.php +msgid "scroll to top" +msgstr "رÙتن به بالا" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "پوسته‌ی ریسپانسیو" + +#: footer.php +msgid "powered by" +msgstr "با نیروی" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wp-persian.com/" + +#: footer.php +msgid "WordPress" +msgstr "وردپرس Ùارسی" + +#: image.php +msgid "‹ Return to" +msgstr "‹ بازگشت به" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "بدون دیدگاه ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "Û± دیدگاه ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% دیدگاه ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s دیدگاه در “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "با برچسب:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "پست شده در %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "ویرایش" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "Û´Û°Û´ — متأسÙیم شما را اینجا می‌بینیم!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "نترسید! با هم درستش می‌کنیم. بیاین با هم گزینه‌هایی رو Ú©Ù‡ در پیش‌رو دارید بررسی کنیم." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "شما می‌توانید به %s Ùˆ یا صÙحه‌ی مورد نظرتان را جستجو کنید." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "برگهٔ نخست" + +#: loop-no-posts.php +msgid "← Home" +msgstr "→ برگهٔ نخست برگردید" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "بایگانی روزانه: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "بایگانی ماهیانه: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "بایگانی سالیانه: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "بایگانی وبلاگ" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "جستجوی شما برای %s نتیجه‌ای در بر نداشت" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "پیوند یکتا به %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "نتیجهٔ جستجو برای: %s" + +#: searchform.php +msgid "search here …" +msgstr "اینجا جستجو کنید …" + +#: searchform.php +msgid "Go" +msgstr "برو" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "اطلاعات تصویر" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "اندازه اصلی:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "دريچه دياÙراگم: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Ùاصله‌ی کانونی:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "میلیمتر" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ایزو:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "شاتر:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "دوربین:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "در بایگانی" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "ابزارک برگهٔ نخست Û±" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "این جعبه اولین ابزارک برگهٔ نخست شما است. لطÙاً برای تغییر این ابزارک به مسیر نمایش←ابزارک‌ها بروید Ùˆ ششمین ابزارک از بالا به اسم ابزارک برگه‌ نخست Û± را انتخاب کنید. عنوان ابزارک نیز از همان جا قابل تغییر است." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "ابزارک برگهٔ نخست Û²" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "این جعبه دومین ابزارک برگهٔ نخست شما است. لطÙاً برای تغییر این ابزارک به مسیر نمایش&rarrابزارک‌ها بروید Ùˆ ششمین ابزارک از بالا به اسم ابزارک برگه‌ نخست Û² را انتخاب کنید. عنوان ابزارک نیز از همان جا قابل تغییر است." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "ابزارک برگهٔ نخست Û³" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "این جعبه سومین ابزارک برگهٔ نخست شما است. لطÙاً برای تغییر این ابزارک به مسیر نمایش&rarrابزارک‌ها بروید Ùˆ ششمین ابزارک از بالا به اسم ابزارک برگه‌ نخست Û³ را انتخاب کنید. عنوان ابزارک نیز از همان جا قابل تغییر است." + +#: single.php +msgid "About" +msgstr "درباره" + +#: sitemap.php +msgid "Categories" +msgstr "دسته‌ها" + +#: sitemap.php +msgid "Latest Posts" +msgstr "نوشته‌های تازه" + +#: sitemap.php +msgid "Pages" +msgstr "برگه‌ها" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "منوی Ùوقانی" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "منوی سربرگ" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "منوی زیر سربرگ" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "منوی پانوشت" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "ارسال شده در %2$s توسط %4$s‎" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "نمایش تمام نوشته‌های %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "بایگانی برای %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "نوشته‌های با برچسب %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "خطای Û´Û°Û´ " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "پوسته‌های بیشتر" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "ویترین" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "ستون اصلی کناری" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "ناحیه اول - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "ستون‌کناری راست" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "ناحیه دوم - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "ستون‌کناری Ú†Ù¾" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "ناحیه سوم - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "ستون‌کناری Ú†Ù¾ نیم‌صÙحه" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "ناحیه چهارم - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "ستون‌کناری راست نیم‌صÙحه" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "ناحیه پنجم - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "ناحیه ششم - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "ناحیه Ù‡Ùتم - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "ناحیه هشتم - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "ستون‌کناری گالری" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "ناحیه نهم - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "ابزارک ته صÙحه" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "ناحیه دهم - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "ابزارک Ùوقانی" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "ناحیه دوازدهم - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "سلام جهان!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "جای زیر عنوان۲ شما" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "عنوان، زیرعنوان Ùˆ این متن را می‌توانید در قسمت تنظیمات پوسته تغییر دهید. دکمه «Ùراخوانی برای اقدام» Ùˆ لینک‌اش را هم می‌توانید در همان بخش تغییر دهید. تصویر سمت Ú†Ù¾ نیز می‌تواند یک تصویر Ùˆ یا حتی ویدویی در یوتیوب باشد." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Ùراخوانی برای اقدام" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "تنظیمات پوسته" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "تنظیمات ذخیره شد" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "عناصر پوسته" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "غیر Ùعال کردن لیست خرده نان؟" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "برای غیر Ùعال کردن اینجا را تیک بزنید" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "دکمه‌ی «Ùراخوانی برای اقدام» غیر Ùعال شود؟" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "ذخیره تنظیمات" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "بارگذاری لوگو" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "سربرگ دلخواه" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "می‌خواهید لوگوی پیش‌Ùرض را جانشین Ùˆ یا حذ٠کنید؟" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "اینجا کلیک کنید." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "برگهٔ نخست" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "عنوان سربرگ" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "عنوان سربرگ خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "زیر عنوان" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "زیر عنوان خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ناحیه محتوا" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "محتوای خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "«Ùراخوانی برای اقدام» (آدرس)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "آدرس «Ùراخوانی برای اقدام» خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "«Ùراخوانی برای اقدام» (متن)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "متن «Ùراخوانی برای اقدام» خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "محتوای برجسته" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "مستندات را ببنید" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "کد کوتاه، آدرس ویدیو Ùˆ یا تصویر خود را بچسبانید" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ابزارهای مدیریت وب" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "تائید هویت سایت Ú¯ÙˆÚ¯Ù„" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Ùقط شماره ID Ú¯ÙˆÚ¯Ù„ خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "تائید هویت سایت بینگ" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Ùقط شماره ID بینگ خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "تائید هویت سایت یاهو" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Ùقط شماره ID یاهو‌یتان را وارد کنید" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "ردیاب آمار سایت" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "اگر اÙزونه‌ای ابزارهای مدیریت وب شما را اداره می‌کند، اینجا را خالی بگذارید" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "آنالیزگر Ú¯ÙˆÚ¯Ù„ØŒ StatCounterØŒ یا هر کدام دیگر Ùˆ یا همه آن‌ها" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "آیکون‌های اجتماعی" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "توییتر" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "آدرس توییتر خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Ùیس‌بوک" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "آدرس Ùیس‌بوک خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "لینکداین" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "آدرس لینکداین خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "یوتیوب" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "آدرس یوتیوب خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "آدرس StumbleUpon خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "خوراک RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "آدرس خوراک RSS خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Ú¯ÙˆÚ¯Ù„+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "آدرس Ú¯ÙˆÚ¯Ù„+ خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "اینستاگرام" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "آدرس اینستاگرام خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "آدرس Pinterest خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "آدرس Yelp! خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "آدرس Vimeo خود را وارد کنید" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "آدرس foursquare خود را وارد کنید" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "شیوه‌نامه CSS دلخواه" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "خودآموز CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "شیوه‌نامهٔ دلخواه خود را وارد کنید." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "اسکریپت‌های سÙارشی" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "اسکریپت‌های سÙارشی برای سربرگ Ùˆ پانوشت" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "خودآموز سریع" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "در header.php جاسازی Ú©Ù† ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "اسکریپت سربرگ سÙارشی خود را وارد کنید." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "در footer.php جاسازی Ú©Ù† ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "اسکریپت پانوشت سÙارشی خود را وارد کنید." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/fi.mo b/wp-content/themes/responsive/languages/fi.mo new file mode 100644 index 0000000..cd04836 Binary files /dev/null and b/wp-content/themes/responsive/languages/fi.mo differ diff --git a/wp-content/themes/responsive/languages/fi.po b/wp-content/themes/responsive/languages/fi.po new file mode 100644 index 0000000..104c0ef --- /dev/null +++ b/wp-content/themes/responsive/languages/fi.po @@ -0,0 +1,829 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Finnish\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Sivut:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Vanhemmat julkaisut" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Uudemmat julkaisut ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Lue lisää ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Tämä julkaisu on turvattu salasanalla. Syötä salasana nähdäksesi kommentit." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Vanhemmat kommentit" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Uudemmat kommentit ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Yhteydet/Seurannat" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s varten \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nimi" + +#: comments.php +msgid "E-mail" +msgstr "Sähköposti" + +#: comments.php +msgid "Website" +msgstr "Kotisivu" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "vieritä ylös" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "mukana" + +msgid "http://wordpress.org/" +msgstr "http://fi.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Palaa" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Ei kommentteja ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 kommentti ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% kommenttia ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Yksi kommentti kohteessa “%2$sâ€" +msgstr[1] "%1$s kommenttia kohteessa “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Merkitty:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Julkaistu kohteessa %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Muokkaa" + +msgid "404 — Fancy meeting you here!" +msgstr "404 — Hienoa tavata sinut täällä!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ei hätää, selviämme tästä yhdessä. Tutkikaamme vaihtoehtoja." + +msgid "You can return %s or search for the page you were looking for." +msgstr "Voit palata %s tai etsiä hakemaasi sivua" + +msgid "Home" +msgstr "Koti" + +#: loop-no-posts.php +msgid "← Home" +msgstr "↠Alkuun" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arkistot päivittäin: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arkistot kuukausittain: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arkistot vuosittain: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blogiarkistot" + +msgid "Your search for %s did not match any entries." +msgstr "Ei hakuasi %s vastaavia hakutuloksia" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Pysyvä linkki sivulle %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Etsi tuloksia haulle: %s" + +#: searchform.php +msgid "search here …" +msgstr "Etsi tästä ..." + +#: searchform.php +msgid "Go" +msgstr "Mene" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Kuvan tiedot" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Täysi koko:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Aukko: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Polttoväli:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Sulkija:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Arkistossa" + +msgid "Home Widget 1" +msgstr "Koti-Vempain 1" + +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Tämä on ensimmäinen kotivempain-laatikkosi. Muokataksesi mene Ulkoasu > Widgetit ja valitse kuudes widgetti ylhäältä alueella kuusi nimeltään Koti Widgetti 1. Otsikko on myös muokattavissa kohdasta Widgetit." + +msgid "Home Widget 2" +msgstr "Koti-Vempain 2" + +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Tämä on toinen kotivempain-laatikkosi. Muokataksesi mene Ulkoasu > Widgetit ja valitse seitsemäs widgetti ylhäältä alueella seitsemän nimeltään Koti Widgetti 2. Otsikko on myös muokattavissa kohdasta Widgetit." + +msgid "Home Widget 3" +msgstr "Koti-Vempain 3" + +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Tämä on kolmas kotivempain-laatikkosi. Muokataksesi mene Ulkoasu > Widgetit ja valitse kahdeksas widgetti ylhäältä alueella kahdeksan nimeltään Koti Widgetti 3. Otsikko on myös muokattavissa kohdasta Widgetit." + +#: single.php +msgid "About" +msgstr "Tietoa" + +msgid "Categories" +msgstr "Luokat" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Uusimmat julkaisut" + +#: sitemap.php +msgid "Pages" +msgstr "Sivut" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Päävalikko" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Ylätunnistevalikko" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Ylätunnisteen alavalikko" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Alatunnistevalikko" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Julkaistu %2$s Julkaisija %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Näytä kaikki julkaisut henkilöltä %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arkisto %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Merkityt julkaisut %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Virhe 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Lisää teemoja" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Portfolio" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Pää-sivupalkki" + +msgid "Area 1 - sidebar.php" +msgstr "Alue yksi - sivupalkki.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Oikea sivupalkki" + +msgid "Area 2 - sidebar-right.php" +msgstr "Alue kaksi - oikeanpuoleinen sivupalkki.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Vasen sivupalkki" + +msgid "Area 3 - sidebar-left.php" +msgstr "Alue kolme - vasemmanpuoleinen sivupalkki.php" + +msgid "Left Sidebar Half Page" +msgstr "Vasen sivupalkki puolessavälissä sivua" + +msgid "Area 4 - sidebar-left-half.php" +msgstr "Alue neljä - sivupalkki vasen puoli.php" + +msgid "Right Sidebar Half Page" +msgstr "Oikea sivupalkki puolessavälissä sivua" + +msgid "Area 5 - sidebar-right-half.php" +msgstr "Alue viisi - sivupalkki oikea puoli.php" + +msgid "Area 6 - sidebar-home.php" +msgstr "Alue kuusi - sivupalkki-koti.php" + +msgid "Area 7 - sidebar-home.php" +msgstr "Alue seitsemän - sivupalkki-koti.php" + +msgid "Area 8 - sidebar-home.php" +msgstr "Alue kahdeksan - sivupalkki-koti.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Gallerian sivupalkki" + +msgid "Area 9 - sidebar-gallery.php" +msgstr "Alue yhdeksän - sivupalkki-galleria.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Terve, maailma!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "H2-alaotsikkosi tähän" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Otsikkosi, alaotsikkosi ja sisältösi ovat muokattavissa Teeman asetuksissa, kuin myös Call to Action -nappi ja sen osoite. Kuvasi oikealla voi olla valokuva tai jopa YouTube-video jos niin tahdot." + +msgid "Call to Action" +msgstr "Kutsu Toimintaan" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Teeman asetukset" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Asetukset tallennettu" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Teeman osat" + +msgid "Disable Breadcrumb Lists?" +msgstr "Piilota opastelistat?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Valitse estääksesi" + +msgid "Disable Call to Action Button?" +msgstr "Estetäänkö toimintaankutsu-nappi?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Tallenna asetukset" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Lataa logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Mukautettu otsikko" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Haluatko korvata tai poistaa oletuslogon?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klikkaa tästä." + +msgid "Home Page" +msgstr "Kotisivu" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Otsikko" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Syötä otsikko" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Alaotsikko" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Syötä alaotsikko" + +msgid "Content Area" +msgstr "Sisältö-alue" + +msgid "Enter your content" +msgstr "Syötä sisältö" + +msgid "Call to Action (URL)" +msgstr "Toimintaan-kutsu (URL)" + +msgid "Enter your call to action URL" +msgstr "Täytä toimintaan-kutsu URL-linkki" + +msgid "Call to Action (Text)" +msgstr "Toimintaan-kutsu (Teksti)" + +msgid "Enter your call to action text" +msgstr "Syötä Toimintaan-kutsu tekstisi" + +msgid "Featured Content" +msgstr "Suositeltua sisältöä" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Katso dokumenteista" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Ylläpitäjän työkalut" + +msgid "Google Site Verification" +msgstr "Google-sivuston varmennus" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Syötä ainoastaan Google ID -numerosi" + +msgid "Bing Site Verification" +msgstr "Bing-sivuston varmennus" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Syötä ainoastaan Bing ID -numerosi" + +msgid "Yahoo Site Verification" +msgstr "Yahoo-sivuston varmennus" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Syötä ainoastaan Yahoo ID -numerosi" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Sivuston tilastojen seuranta" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Jätä tyhjäksi jos liitännäinen käsittelee ylläpitäjän työkalujasi" + +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, joku muu tai kaikki edelllämainitut." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sosiaaliset kuvakkeet" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Syötä Twitter-sivusi URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Syötä Facebook-sivusi URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Syötä LinkedIn-sivusi URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Syötä YouTube-sivusi URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Syötä StumbleUpon-sivusi URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS-syöte" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Syötä RSS-syötteesi URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Syötä Google+ -sivusi URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Syötä instagram-sivusi URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Syötä Pinterest-sivusi URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Syötä Yelp! -sivusi URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Syötä Vimeo-sivusi URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Syötä forsquare-sivusi URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Mukautetut CSS-tyylit" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "http://www.puolustusvoimat.fi" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS-opastus" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Syötä mukautetut CSS-tyylit." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/fr_FR.mo b/wp-content/themes/responsive/languages/fr_FR.mo new file mode 100644 index 0000000..96800de Binary files /dev/null and b/wp-content/themes/responsive/languages/fr_FR.mo differ diff --git a/wp-content/themes/responsive/languages/fr_FR.po b/wp-content/themes/responsive/languages/fr_FR.po new file mode 100644 index 0000000..69bbc87 --- /dev/null +++ b/wp-content/themes/responsive/languages/fr_FR.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: French, France\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Pages :" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Articles plus anciens" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Articles plus récents ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Lire la suite ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Cet article est protégé par mot de passe. Entrez le mot de passe pour accéder aux commentaires." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Commentaires plus anciens" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Commentaires plus récents ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s pour \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nom" + +#: comments.php +msgid "E-mail" +msgstr "Courriel" + +#: comments.php +msgid "Website" +msgstr "Site Web" + +#: footer.php +msgid "©" +msgstr "" + +#: footer.php +msgid "scroll to top" +msgstr "retour en haut" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "" + +#: footer.php +msgid "Responsive Theme" +msgstr "" + +#: footer.php +msgid "powered by" +msgstr "Propulsé par WordPress" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://fr.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Retour à" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Aucun commentaire ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 commentaire ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% commentaires ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Un commentaire pour “%2$sâ€" +msgstr[1] "%1$s commentaires pour “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Tagués avec :" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publié dans %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Editer" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Heureux de vous voir ici !" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ne paniquez pas, nous allons résoudre cela ensemble. Explorons les options possibles ici." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Vous pouvez revenir en arrière %s ou rechercher la page que vous demandiez" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Accueil" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Accueil" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Archives quotidiennes : %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Archives mensuelles : %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Archives annuelles : %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archives du site" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Votre recherche pour %s ne retourne aucun contenu." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Lien permanent vers %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Résultats de recherche pour %s" + +#: searchform.php +msgid "search here …" +msgstr "chercher ici …" + +#: searchform.php +msgid "Go" +msgstr "Aller" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Information relative à l'image" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Taille originale :" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Ouverture : f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Focale :" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mn" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO :" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Vitesse d'obturation :" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Appareil photo :" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "dans les archives" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Accueil Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Ceci est votre premier widget de page d'accueil. Pour le modifier, allez à Apparence > Widgets et choisissez le 6ème widget appelé Accueil Widget 1. Le titre est également éditable via la page d'administration des widgets." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Accueil Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Ceci est votre second widget de page d'accueil. Pour le modifier, allez à Apparence > Widgets et choisissez le 7ème widget appelé Accueil Widget 2. Le titre est également éditable via la page d'administration des widgets." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Accueil Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Ceci est votre troisième widget de page d'accueil. Pour le modifier, allez à Apparence > Widgets et choisissez le 8ème widget appelé Accueil Widget 3. Le titre est également éditable via la page d'administration des widgets." + +#: single.php +msgid "About" +msgstr "A propos" + +#: sitemap.php +msgid "Categories" +msgstr "Catégories" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Les Derniers Articles" + +#: sitemap.php +msgid "Pages" +msgstr "Pages" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Top Menu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menu Header" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Sous Menu Header" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu de Pied de Page" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Page %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Posté le %2$s par %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Afficher tous les articles par %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archive pour %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Publications taguées %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Erreur 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Plus de thèmes" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Démo" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Colonne principale" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Zone 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Colonne latérale droite" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Zone 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Colonne latérale gauche" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Zone 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Colonne latérale gauche Demi-Page" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Zone 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Colonne latérale droite Demi-Page" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Zone 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Zone 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Zone 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Zone 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Barre latérale Galerie" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Zone 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget Colophon" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Zone 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget supérieur" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Zone 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Résumé" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Contenu de la barre laterale" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Barre laterale/Contenu" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Contenu/ Barre laterale en demi-page" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Barre laterale/ Contenu en demi-page" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Pleine Largeur (sans Barre laterale)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Page d'entrée (sans menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Plan du site" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Mise en Page" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Defaut" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Bonjour tout le monde !" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Votre sous-titre H2 ici" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Votre titre, sous-titre et contenu sont modifiables via les options du thème, ainsi que le bouton Action et son lien. L'image sur votre droite peut être une image ou même une vidéo YouTube si vous le souhaitez." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Appel à Action" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Options du thème" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Options enregistrées" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Eléments du Thème" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Déactiver le chemin de navigation (Breadcrumb) ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Validez pour désactiver" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Désactiver le bouton Appel à action ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Sauvegarder les options" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Rétablir les paramètres par défaut." + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Télécharger le Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "En-tête Personnalisée" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Besoin de remplacer ou de supprimer le logo par défaut ?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Cliquez ici." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Page d'accueil" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Titre" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Saisissez votre titre" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Sous-Titre" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Saisissez votre sous-titre" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Zone Contenu" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Saisissez votre contenu" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Appel à Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Saisissez votre lien pour l'Appel à Action" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Appel à Action (Texte)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Saisissez votre texte pour l'Appel à Action" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Contenu mis en Vedette" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Voir la Documentation" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Collez ici votre shortcode, votre html pour l'image ou la video" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Défaut" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Mise en Page Statique par défaut." + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Mise en Page Simple Blog par défaut" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Mise en Page Articles par défaut." + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Outils Webmaster" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Vérification Google Site" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Saisissez votre identifiant Google (chiffres uniquement)" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Vérification Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Saisissez votre identifiant Bing (chiffres uniquement)" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Vérification du Site avec Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Saisissez votre identifiant Yahoo (chiffres uniquement)" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Code de Tracking pour les statistiques du site" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Laisser vide si des plugins assurent déjà ces fonctions" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, Compteurs, Trackeurs, et autre ..." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Réseaux Sociaux" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Saisissez l'url Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Saisissez l'url Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Saisissez l'url Linkedin" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Saisissez l'url Youtube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Saisissez l'url StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Flux RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Saisissez l'url du Flux RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Saisissez l'url Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Saisissez l'url Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Saisissez l'url Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "A l'Aide !" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "saisissez votre lien d'assistance" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Saisissez votre lien Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Saisissez votre lien Foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "CSS personnalisé" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/fr/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutoriel CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Saisissez vos CSS personnalisés." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Scripts personnalisés" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Scripts personnalisés pour l'entête et le pied de page" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutoriel succinst" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Inclus dans header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Saisissez ici le script personnalisé pour l'entête" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Inclus dans footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Saisissez ici le script personnalisé pour le pied de page" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/fy.mo b/wp-content/themes/responsive/languages/fy.mo new file mode 100644 index 0000000..1e7071c Binary files /dev/null and b/wp-content/themes/responsive/languages/fy.mo differ diff --git a/wp-content/themes/responsive/languages/fy.po b/wp-content/themes/responsive/languages/fy.po new file mode 100644 index 0000000..a2bd1c4 --- /dev/null +++ b/wp-content/themes/responsive/languages/fy.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:38 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Western Frisian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Siden:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "Âldere berjochten" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nijere berjochten" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Lês mear" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "Âldere reaksjes" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nijere reaksjes" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "" + +#: comments.php +msgid "Name" +msgstr "Namme" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Webside" + +#: footer.php +msgid "©" +msgstr "kopiearje" + +#: footer.php +msgid "scroll to top" +msgstr "" + +#: footer.php +msgid "↑" +msgstr "" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "" + +#: footer.php +msgid "Responsive Theme" +msgstr "" + +#: footer.php +msgid "powered by" +msgstr "" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Labele mei:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Pleatst yn %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Bewurkje" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "Leuk dy hjir te sjen!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Thús" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Thús" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "" + +#: loop-header.php +msgid "Blog Archives" +msgstr "" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "" + +#: searchform.php +msgid "search here …" +msgstr "hjir sykje" + +#: searchform.php +msgid "Go" +msgstr "Gean" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Ôfbylding Ynformaasje" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Folsleine Grutte:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "" + +#: sidebar-gallery.php +msgid "mm" +msgstr "" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "" + +#: single.php +msgid "About" +msgstr "" + +#: sitemap.php +msgid "Categories" +msgstr "" + +#: sitemap.php +msgid "Latest Posts" +msgstr "" + +#: sitemap.php +msgid "Pages" +msgstr "Siden" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Guoi, Wrâld!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Opsjes berwarje" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Thússide" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Dyn Twitter Keppeling ynfiere" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Dyn Facebook Keppeling ynfiere" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/he_IL.mo b/wp-content/themes/responsive/languages/he_IL.mo new file mode 100644 index 0000000..cf73d99 Binary files /dev/null and b/wp-content/themes/responsive/languages/he_IL.mo differ diff --git a/wp-content/themes/responsive/languages/he_IL.po b/wp-content/themes/responsive/languages/he_IL.po new file mode 100644 index 0000000..d0c1e1a --- /dev/null +++ b/wp-content/themes/responsive/languages/he_IL.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:30 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Hebrew, Israel\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "דפי×:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ ×¤×•×¡×˜×™× ×§×•×“×ž×™×" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "×¤×•×¡×˜×™× ×—×“×©×™× ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "×§×¨× ×¢×•×“ ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "הפוסט ×”×–×” מוגן בסיסמה. הזן סיסמה כדי לצפות בתגובות." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ תגובות קודמות" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "תגובות חדשות יותר ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "פינגי×/מעקבי קישורי×" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s עבור \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "ש×" + +#: comments.php +msgid "E-mail" +msgstr "דו×ר ×לקטרוני" + +#: comments.php +msgid "Website" +msgstr "×תר" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "גלול לר×ש הדף" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "ערכת העיצוב Responsive " + +#: footer.php +msgid "powered by" +msgstr "מופעל ב×מצעות" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://he.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "וורדפרס" + +#: image.php +msgid "‹ Return to" +msgstr "‹ חזרה ל" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "×ין תגובות ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "תגובה ×חת ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% תגובות ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "תגובה ×חת ב“%2$s”" +msgstr[1] "%1$s תגובות ב“%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "×¢× ×”×ª×’×™×ª:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "נשלח ב %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "עריכה" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — ×יזו מין פגישה!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "בלי פ×ניקה, נעבור ×ת ×–×” יחד. ×‘×•× × ×‘×—×Ÿ ×ילו ×פשרויות עומדות לפנינו." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "ניתן לחזור %s ×ו חפש ×ת הדף שניסית למצו×" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "דף הבית" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← דף הבית" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "×רכיון יומי: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "×רכיון חודשי: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "×רכיון שנתי: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "×רכיון הבלוג" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "החיפוש שלך ×חרי %s ×œ× ×§×™×™×ž×ª רשומה תו×מת" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "קישור קבוע ל%s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "תוצ×ות חיפוש עבור: %s" + +#: searchform.php +msgid "search here …" +msgstr "חפש ×›×ן …" + +#: searchform.php +msgid "Go" +msgstr "סע" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "מידע על התמונה" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "גודל מל×:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "צמצ×: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "×ורך מוקד:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "מ\"מ" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "מהירות תריס:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "מצלמה:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "ב×רכיון" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "ווידג'ט 1 לדף הבית" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "זוהי תיבת הווידג'ט הר×שונה בדף הבית . כדי לערוך יש לגשת למר××”>וידג'×˜×™× ×•×œ×‘×—×•×¨ ×ת הווידג'ט השישי מלמעלה ב×יזור 6. ×”×•× × ×§×¨× ×•×•×™×“×’'ט 1 לדף הבית. ×’× ×”×›×•×ª×¨×ª ניתנת לשינוי מתוך הווידג'טי×." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "ווידג'ט 2 לדף הבית" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "זוהי תיבת הווידג'ט השניה בדף הבית . כדי לערוך יש לגשת למר××”>וידג'×˜×™× ×•×œ×‘×—×•×¨ ×ת הווידג'ט השביעי מלמעלה ב×יזור 7. ×”×•× × ×§×¨× ×•×•×™×“×’'ט 2 לדף הבית. ×’× ×”×›×•×ª×¨×ª ניתנת לשינוי מתוך הווידג'טי×." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "ווידג'ט 3 בדף הבית" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "זוהי תיבת הווידג'ט השלישית בדף הבית . כדי לערוך יש לגשת למר××”>וידג'×˜×™× ×•×œ×‘×—×•×¨ ×ת הווידג'ט השמיני מלמעלה ב×יזור 8. ×”×•× × ×§×¨× ×•×•×™×“×’'ט 3 לדף הבית. ×’× ×”×›×•×ª×¨×ª ניתנת לשינוי מתוך הווידג'טי×." + +#: single.php +msgid "About" +msgstr "×ודות" + +#: sitemap.php +msgid "Categories" +msgstr "קטגוריות" + +#: sitemap.php +msgid "Latest Posts" +msgstr "×¤×•×¡×˜×™× ×חרוני×" + +#: sitemap.php +msgid "Pages" +msgstr "עמודי×" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "תפריט עליון" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "תפריט כותרת עליונה" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "תפריט בתת-כותרת עליונה" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "תפריט בתחתית הדף" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "×¤×•×¨×¡× ×‘ %2$s ×¢\"×™ %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "צפיה בכל ×”×¤×•×¡×˜×™× ×©×œ %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "×רכיון %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "×¤×•×¡×˜×™× ×¢× ×”×ª×’×™×ª %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "שגי××” 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "ערכות עיצוב נוספות" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "תצוגה" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "עמודת צד ר×שית" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "×יזור 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "עמודת צד ימנית" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "×יזור 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "עמודת צד שמ×לית" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "×יזור 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "עמודת צד שמ×לית חצי דף" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "×יזור 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "עמודת צד ימנית חצי דף" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "×יזור 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "×יזור 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "×יזור 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "×יזור 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "עמודת צד בגלריה" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "×יזור 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "ווידג'ט Colophon" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "×יזור 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "ווידג'ט עליון" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "×יזור 12 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "שלו×, עול×!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "והנה כותרת משנית H2" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "הכותרת, כותרת המשנה והתוכן ×”×–×” ממש, ×›×•×œ× × ×™×ª× ×™× ×œ×¢×¨×™×›×” ב×פשרויות התבנית. הדבר נכון ×’× ×œ×’×‘×™ כפתור הקרי××” לפעולה והקישור ×ליו ×”×•× ×ž×•×‘×™×œ. התמונה משמ×ל יכולה להיות תמונה ×ו ×× ×ª×¢×“×™×£ ×פילו סרטון YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "קרי××” לפעולה" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "×פשרויות ערכת עיצוב" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "×”×פשרויות נשמרו" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "×¨×›×™×‘×™× ×©×œ ערכת העיצוב" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "להפוך שובל ×¤×™×¨×•×¨×™× ×œ×œ× ×–×ž×™×Ÿ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "סמנו כדי להפוך ×œ×œ× ×–×ž×™×Ÿ" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "להפוך ×ת כפתור הקרי××” לפעולה ×œ×œ× ×–×ž×™×Ÿ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "שמור ×פשרויות" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "העל×ת לוגו" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "כותרת מות×מת ×ישית" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "רוצה להחליף ×ו להסיר ×ת לוגו ברירת המחדל?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "לחץ ×›×ן." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "דף הבית" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "כותרת" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "הזן כותרת" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "תת כותרת" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "הזן תת כותרת" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "×יזור תוכן" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "הזן תוכן" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "קרי××” לפעולה (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "הזן כתובת URL עבור קרי××” לפעולה" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "קרי××” לפעולה (טקסט)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "הזן טקסט של קרי××” לפעולה" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "תוכן נבחר" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "ר××” תיעוד" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "הדבק Shortcode, ויד×ו ×ו מקור לתמונה" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "כלי מנהל ××ª×¨×™× (Webmaster Tools)" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "×ימות ×תר בגוגל" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "הזינו ×ת מספר ×”-Google ID ×©×œ×›× ×‘×œ×‘×“" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "×ימות ×תר ב-Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "הזינו ×ת מספר ×”-Bing ID ×©×œ×›× ×‘×œ×‘×“" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "×ימות ×תר ב-Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "הזינו ×ת מספר ×”-Yahoo ID ×©×œ×›× ×‘×œ×‘×“" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "מעקב ×חר סטטיסטיקת ×”×תר" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "הש×ירו ריק ×× ×§×™×™× ×ª×•×¡×£ שמנהל ×ת כלי מנהל-×”×תר ×‘×©×‘×™×œ×›× (webmaster tools)" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, כל שרות ×חר ×ו כול×." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "×¡×ž×œ×™× ×—×‘×¨×ª×™×™×" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook‎" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn‎" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube‎" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "פיד RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "הזן ×ת כתובת ×”-URL של פיד ×”-RSS שלך" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+‎" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo‎" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "הזן ×ת כתובת ×”-URL שלך ב-Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare‎" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "הזנת כתובת ×”URL שלך foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "סגנונות CSS מות××ž×™× ×ישית" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "מדריך CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "הזן סגנונות CSS מות××ž×™× ×ישית" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "×¡×§×¨×™×¤×˜×™× ×ž×•×ª××ž×™× ×ישית" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "×¡×§×¨×™×¤×˜×™× ×ž×•×ª××ž×™× ×ישית לכותרת עליונה ותחתונה" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "מדריך מהיר" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "מטמיע ב header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "הזן סקריפט כותרת עליונה מות×× ×ישית." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "מטמיע ב footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "הזן סקריפט כותרת התחתונה מות×× ×ישית." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/hi_IN.mo b/wp-content/themes/responsive/languages/hi_IN.mo new file mode 100644 index 0000000..ec5ff6c Binary files /dev/null and b/wp-content/themes/responsive/languages/hi_IN.mo differ diff --git a/wp-content/themes/responsive/languages/hi_IN.po b/wp-content/themes/responsive/languages/hi_IN.po new file mode 100644 index 0000000..7477655 --- /dev/null +++ b/wp-content/themes/responsive/languages/hi_IN.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Hindi, India\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "पृषà¥à¤ :" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹à¤ªà¥à¤°à¤¾à¤¨à¥‡ चिटà¥à¤ à¥‡ या पोसà¥à¤Ÿ" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "नठ8250चिटà¥à¤ à¥‡ या पोसà¥à¤Ÿ ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "अधिक पà¥à¤¿à¤ ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "यह चिटà¥à¤ à¤¾ कूट शबà¥à¤¦ या पासवरà¥à¤¡ से सà¥à¤°à¤•à¥à¤·à¤¿à¤¤ है ।चिटà¥à¤ à¥‡ को देखने को देखने के लिठकूट शबà¥à¤¦ या पासवरà¥à¤¡ का पà¥à¤°à¤¯à¥‹à¤— करे।" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ पà¥à¤°à¤¾à¤¨à¥‡ टिपà¥à¤ªà¤£à¥€" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "नठटिपà¥à¤ªà¤£à¥€ ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "संदेश-संपà¥à¤°à¥‡à¤·à¤£ के लिये जाà¤à¤šà¥" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s के लिठ\"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "नाम" + +#: comments.php +msgid "E-mail" +msgstr "ईमेल" + +#: comments.php +msgid "Website" +msgstr "वेबसाईट" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "ऊपर जाये" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "वरà¥à¤¡à¤ªà¥à¤°à¥‡à¤¸ शकà¥à¤¤à¤¿à¤šà¤¾à¤²à¤¿à¤¤" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹à¤¯à¤¹à¤¾à¤ लौटे" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "कोई टिपà¥à¤ªà¤£à¥€ नहीं ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 टिपà¥à¤ªà¤£à¥€ ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% टिपà¥à¤ªà¤£à¥€ ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "पर à¤à¤• टिपà¥à¤ªà¤£à¥€ “%2$s”" +msgstr[1] "%1$s पर टिपà¥à¤ªà¤£à¥€ %2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "चिनà¥à¤¹à¤¿à¤¤ है:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "पà¥à¤°à¥‡à¤·à¤¿à¤¤ किया गया %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "परिवरà¥à¤¤à¤¨ करे" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "आशà¥à¤šà¤°à¥à¤¯ आपसे मिलन यहाठइस जगह पर!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "कृपया घबड़ाना नही, हम लोग इसे साथ में समà¤à¥‡à¤‚गे, चलिठहम अपने विकलà¥à¤ª की खोज करते है|" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "या खोज करते है उस पेज की जिसे आप देख रहे थे %s आप यहां लौट सकते है" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "गृह या होम" + +#: loop-no-posts.php +msgid "← Home" +msgstr "←गृह या होम" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "नितà¥à¤¯ संगà¥à¤°à¤¹: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "मासिक संगà¥à¤°à¤¹: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "वारà¥à¤·à¤¿à¤• संगà¥à¤°à¤¹: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "चिटà¥à¤ à¤¾ या बà¥à¤²à¥‰à¤— संगà¥à¤°à¤¹" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "आपकी खोज %s किसी भी पà¥à¤°à¤µà¤¿à¤·à¥à¤Ÿà¤¿à¤¯à¥‹à¤‚ से मेल नहीं खाता" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "सà¥à¤¥à¤¾à¤¯à¥€ समà¥à¤¬à¤¨à¥à¤§ %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "परिणाम खोजने के लिठलिखे %s" + +#: searchform.php +msgid "search here …" +msgstr "यहाठखोजे …" + +#: searchform.php +msgid "Go" +msgstr "जाà¤à¤" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "पà¥à¤°à¤¤à¤¿à¤¬à¤¿à¤‚ब के बारे में" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "पूरा आकार:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "कैमरा" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "फोकल लंबाई" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "किवाड़" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "कैमरा" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "संगà¥à¤°à¤¹ में" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "गृह विजेट 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "यह आपका पहला home widget box है | परिवरà¥à¤¤à¤¨ करने के लिठकृपà¥à¤¯à¤¾ जाये Appearance > Widgets पर और चà¥à¤¨à¥‡ ऊपर से 6th widget, इसे home widget 1 कहते है । यह widget से भी पà¥à¤°à¤¬à¤‚धनीय है ।" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "गृह विजेट 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "यह आपका दूसरा home widget box है | परिवरà¥à¤¤à¤¨ करने के लिठकृपà¥à¤¯à¤¾ जाये Appearance > Widgets पर और चà¥à¤¨à¥‡ ऊपर से 7th widget, इसे home widget 2 कहते है । यह widget से भी पà¥à¤°à¤¬à¤‚धनीय है ।" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "गृह विजेट 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "यह आपका तीसरा home widget box है | परिवरà¥à¤¤à¤¨ करने के लिठकृपà¥à¤¯à¤¾ जाये Appearance > Widgets पर और चà¥à¤¨à¥‡ ऊपर से 8th widget, इसे home widget 3 कहते है । यह widget से भी पà¥à¤°à¤¬à¤‚धनीय है ।" + +#: single.php +msgid "About" +msgstr "परिचय" + +#: sitemap.php +msgid "Categories" +msgstr "शà¥à¤°à¥‡à¤£à¥€" + +#: sitemap.php +msgid "Latest Posts" +msgstr "नवीनतम चिटà¥à¤ à¥‡" + +#: sitemap.php +msgid "Pages" +msgstr "पृषà¥à¤ " + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "टॉप मेनू" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "हैडर मेनू" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "सब-हैडर मेनू" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "फूटर मेनू" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "post किया गया %2$s by %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "सभी चिठà¥à¤ à¥€à¤°à¤¸à¤¾à¤‚ या पोसà¥à¤Ÿ देखे %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "संगà¥à¤°à¤¹ के लिठ%s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "चिटà¥à¤ à¤¾ चिनà¥à¤¹à¤¿à¤¤ है %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "तà¥à¤°à¥à¤Ÿà¤¿ 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "और Theme" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "पà¥à¤°à¤¦à¤°à¥à¤¶à¤¨" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "मà¥à¤–à¥à¤¯ साइडबार" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ à¤à¤• - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "दाया Sidebar" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ दो - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "बाया Sidebar" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ तीन- sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "बाया Sidebar आधा पृषà¥à¤ " + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ चार - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "दाया Sidebar आधा पृषà¥à¤ " + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ पाà¤à¤š - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ छह - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ सात - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ आठ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "चितà¥à¤°à¤¶à¤¾à¤²à¤¾ साइड बार" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ नौ - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "पà¥à¤·à¥à¤ªà¤¿à¤•à¤¾ Widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ दस - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "शीरà¥à¤· Widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "à¤à¤°à¤¿à¤¯à¤¾ बारह - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "सबको नमसà¥à¤•à¤¾à¤°" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "आपका H2 उपशीरà¥à¤·à¤• यहाठहै" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "आपका शीरà¥à¤·à¤•, उपशीरà¥à¤·à¤•,कà¥à¤°à¤¿à¤¯à¤¾ बटन, URL और यह सामगà¥à¤°à¥€ थीम विकलà¥à¤ª से परिवरà¥à¤¤à¤¨ योगà¥à¤¯ है। दायी छवि के सà¥à¤¥à¤¾à¤¨ को आप किसी भी छवि या You Tube Video से बदल सकते है ।" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "कà¥à¤°à¤¿à¤¯à¤¾ बटन" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "थीम विकलà¥à¤ª" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "विकलà¥à¤ªà¥‹à¤‚ को बचाया" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "थीम ततà¥à¤µ" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "बà¥à¤°à¥‡à¤¡à¤•à¥à¤°à¤®à¥à¤¬ लिसà¥à¤Ÿ निषà¥à¤•à¥à¤°à¤¿à¤¯ करना है?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "निषà¥à¤•à¥à¤°à¤¿à¤¯ करने के लिठकà¥à¤²à¤¿à¤• करे" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "कà¥à¤°à¤¿à¤¯à¤¾ बटन को निषà¥à¤•à¥à¤°à¤¿à¤¯ करे" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "सहेजें विकलà¥à¤ª" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "लोगो अपलोड करे" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "कसà¥à¤Ÿà¤® हैडर" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "कà¥à¤¯à¤¾ default logo बदलने की आवशà¥à¤¯à¤•à¤¤à¤¾ है?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Click करे" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "गृह या होम पृषà¥à¤ " + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "शीरà¥à¤·à¤•" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "यहाठअपना शीरà¥à¤·à¤• लिखिà¤" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "उप-शीरà¥à¤·à¤•" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "यहाठअपना उप-शीरà¥à¤·à¤• लिखिà¤" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "विषय-वसà¥à¤¤à¥ à¤à¤°à¤¿à¤¯à¤¾" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "विषय-वसà¥à¤¤à¥ यहाठलिखिà¤" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "कà¥à¤°à¤¿à¤¯à¤¾-बटन (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "यहाठकà¥à¤°à¤¿à¤¯à¤¾-बटन (URL) दीजिये" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "कà¥à¤°à¤¿à¤¯à¤¾-बटन (मूलशबà¥à¤¦)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "यहाठकà¥à¤°à¤¿à¤¯à¤¾-बटन (मूलशबà¥à¤¦) लिखिà¤" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "पà¥à¤°à¤§à¤¾à¤¨ सामगà¥à¤°à¥€" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "लेखà¥à¤¯ पतà¥à¤° देखे" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "कृपà¥à¤¯à¤¾ अपना shortcode, video या छवि यहाठलिखे" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "वेबमासà¥à¤Ÿà¤° टूलà¥à¤¸" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google साइट वेरिफिकेशन" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "अपना Google ID लिखे" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing साइट वेरिफिकेशन" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "अपना Bing ID लिखे" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo साइट वेरिफिकेशन" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "अपना Yahoo ID लिखे" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "साइट आà¤à¤•à¤¡à¤¼à¥‡ की गणना" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "इसको छोड़ सकते है अगर आप किसी पà¥à¤²à¤—इन से वेबमासà¥à¤Ÿà¤° टूलà¥à¤¸ का काम करते है" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, कà¥à¤› और या सभी|" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "सोशल नेटवरà¥à¤• के लोगो" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "अपना Twitter URL लिखे" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "अपना Facebook URL लिखे" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "अपना LinkedIn URL लिखे" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "अपना YouTube URL लिखे" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "अपना StumbleUpon URL लिखे" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "अपना RSS Feed URL लिखे" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "अपना Google+ URL लिखे" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "अपना Instagram URL लिखे" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "अपना Pinterest URL लिखे" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "अपना Yelp! URL लिखे" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "अपना Vimeo URL लिखे" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "अपना foursquare URL लिखे" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "अपनी रूचि के अनà¥à¤¸à¤¾à¤° CSS Styles" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS पà¥à¤°à¤¶à¤¿à¤•à¥à¤·à¤£" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "अपनी रूचि के अनà¥à¤¸à¤¾à¤° CSS Styles यहाठलिखिà¤" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Custom Scripts" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Custom Scripts Header और Footer के लिà¤" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "तà¥à¤µà¤°à¤¿à¤¤ शिकà¥à¤·à¤£" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Embeds to header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "अपने custom header का code लिखे" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Embeds to footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "अपने custom footer का code लिखे" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/hr.mo b/wp-content/themes/responsive/languages/hr.mo new file mode 100644 index 0000000..cf3981b Binary files /dev/null and b/wp-content/themes/responsive/languages/hr.mo differ diff --git a/wp-content/themes/responsive/languages/hr.po b/wp-content/themes/responsive/languages/hr.po new file mode 100644 index 0000000..4369c64 --- /dev/null +++ b/wp-content/themes/responsive/languages/hr.po @@ -0,0 +1,874 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:31 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Croatian, Croatia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Stranice:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Stariji postovi" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Noviji postovi ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "ViÅ¡e ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Ovaj post je zaÅ¡tićen lozinkom. Unesi lozinku da vidiÅ¡ komentare." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Stariji komentari" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Noviji komentari ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pingovi/Trackbackovi" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s za \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Ime" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Webstranica" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "povratak na vrh" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "izraÄ‘eno u" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://hr.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Vrati se" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Nema komentara ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 komentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% komentara ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Jedan komentar u “%2$s”" +msgstr[1] "%1$s komentara u “%2$s”" +msgstr[2] "%1$s komentara u “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Oznaka:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Postano u %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Izmjeni" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Lijepo je vidjeti te ovdje!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Nema mjesta za paniku, zajedno ćemo rijeÅ¡iti problem. Da vidimo, koje su nam opcije." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "MožeÅ¡ se vratiti %s ili potraži stranicu koju želiÅ¡" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "PoÄetna" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← PoÄetna" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dnevna arhiva: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MjeseÄna arhiva: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "GodiÅ¡nja arhiva: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog arhiva" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Pretraga za %s nema podudaranja" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Trajni link na %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Rezultati pretrage za: %s" + +#: searchform.php +msgid "search here …" +msgstr "tražilica …" + +#: searchform.php +msgid "Go" +msgstr "Traži" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Info o fotografiji" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Puna veliÄina:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Otvor objektiva: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "ŽariÅ¡na duljina:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "ZatvaraÄ:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "U Arhivi" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "PoÄetna - widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Ovo je prvi widget box poÄetne. Za izmjenu idi na Izgled > Widgeti i odaberi 6ti widget sa vrha na Å¡estom mjestu koji se zove Home Widget 1. Naslov se može takoÄ‘er mijenjati u widgetima." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "PoÄetna - widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Ovo je drugi widget box poÄetne. Za izmjenu idi na Izgled > Widgeti i odaberi 7mi widget sa vrha na sedmom mjestu koji se zove Home Widget 2. Naslov se može takoÄ‘er mijenjati u widgetima." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "PoÄetna - widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Ovo je treći widget box poÄetne. Za izmjenu idi na Izgled > Widgeti i odaberi 8mi widget sa vrha na osmom mjestu koji se zove Home Widget 3. Naslov se može takoÄ‘er mijenjati u widgetima." + +#: single.php +msgid "About" +msgstr "O nama" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorije" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Posljednji postovi" + +#: sitemap.php +msgid "Pages" +msgstr "Stranice" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Gornji izbornik" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Naslov izbornik" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Podnaslov izbornik" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Footer izbornik" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Stranica: %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Objavljeno %2$s от %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Vidi sve postove od %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arhiv za %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Postovi oznaÄeni sa %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Error 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "ViÅ¡e tema" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Izlog" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Glavni Sidebar" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "PovrÅ¡ina 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Desni sidebar" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "PovrÅ¡ina 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Lijevi sidebar" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "PovrÅ¡ina 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Lijevi sidebar pola stranice" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "PovrÅ¡ina 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Desni sidebar pola stranice" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "PovrÅ¡ina 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "PovrÅ¡ina 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "PovrÅ¡ina 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "PovrÅ¡ina 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galerija sidebar" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "PovrÅ¡ina 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Colophon Widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "PovrÅ¡ina 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Gornji Widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "PovrÅ¡ina 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (cijeli postovi)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog sažetak" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Sadržaj/Sidebar" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Sidebar/Sadržaj" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Sadržaj/Sidebar pola stranice" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Sidebar/Sadržaj pola stranice" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Puna stranica (bez sidebara)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Dolazna page (bez izbornika)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa sajta" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Izgled" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Osnova" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Bok, Zemljani!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "H2 podnaslov ovdje" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Naslov, podnaslov i sadržaj možete izmijeniti u Opcije teme. Tamo se mijenja i Call to Action tipka i njen link. Desna slika može biti slika ili youtube video." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Call to Action" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opcije teme" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opcije spremljene" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementi teme" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Deaktiviraj Breadcrumb Listu?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "OznaÄi za deaktivaciju" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Deaktiviraj Call to Action Button?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Spremi opcije" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Vrati na osnovu" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Upload loga" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Tvoj Header" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "TrebaÅ¡ zamijeniti ili maknuti postavljeni logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klikni ovdje." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "PoÄetna" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Naslov" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "UpiÅ¡i naslov" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Podnaslov" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "UpiÅ¡i podnaslov" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Sadržaj" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "UpiÅ¡i sadržaj" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Call to Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "UpiÅ¡i call to action URL" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Call to Action (Tekst)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "UpiÅ¡i call to action tekst" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Istaknuti sadržaj" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Dokumentacija" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Ubaci svoj shortcode, video ili sliku" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Osnovni izgled" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Osnovni izgled statiÄne stranice" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Osnovni izgled jednog blog posta" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Osnovni izgled indexa blog postova" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Alati za webmastere" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google verifikacija sajta" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Unesi samo Google ID broj" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing verifikacija sajta" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Unesi samo Bing ID broj" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo verifikacija sajta" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Unesi samo Yahoo ID broj" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Statistike sajta" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Ostavi prazno ako ti plugin ureÄ‘uje webmaster tools" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, neke druge ili sve." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Social Ikone" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Tvoj Twitter URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Tvoj Facebook URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Tvoj LinkedIn URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Tvoj YouTube URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Tvoj StumbleUpon URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Tvoj RSS Feed URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Tvoj Google+ URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Tvoj Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Tvoj Pinterest URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Tvoj Yelp! URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Tvoj Vimeo URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Tvoj foursquare URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Poseban CSS stil" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS Tutorijal" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Tvoj CSS Stil" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Dodatne skripte" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Dodatne skripte za zaglavlje i podnožje" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Brzi tutorial" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Dodaje se u header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "UpiÅ¡i skriptu zaglavlja." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Dodaje se u footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "UpiÅ¡i skriptu podnožja." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/hu_HU.mo b/wp-content/themes/responsive/languages/hu_HU.mo new file mode 100644 index 0000000..763d45d Binary files /dev/null and b/wp-content/themes/responsive/languages/hu_HU.mo differ diff --git a/wp-content/themes/responsive/languages/hu_HU.po b/wp-content/themes/responsive/languages/hu_HU.po new file mode 100644 index 0000000..7f3c9bc --- /dev/null +++ b/wp-content/themes/responsive/languages/hu_HU.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-10-27 09:08:06 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Hungarian, Hungary\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Oldal:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Korábbi bejegyzések" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Újabb bejegyzések ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Tovább ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Ez a bejegyzés jelszóval védett! A hozzászólások megtekintéséhez meg kell adni a jelszót." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Régebbi hozzászólások" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Újabb hozzászólások ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Ping/visszakövetés" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s számára \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Név" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Honlap" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "vissza a tetejére" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Webmotor:" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://hu.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Vissza" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Nincs hozzászólás ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 hozzászólás ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% hozzászólás ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s hozzászólás “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Címke:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Kategória: %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Szerkesztés" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Jó, hogy találkoztunk!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ne aggódj, együtt túljutunk ezen is! Nézzük meg, milyen lehetÅ‘ségeink vannak." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Visszatérhetsz %s vagy keresd meg az oldalt, amit szeretnél" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "KezdÅ‘lap" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← KezdÅ‘lap" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "napi bejegyzések: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "%s hónap bejegyzései" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "%s év bejegyzései" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Valamennyi bejegyzés" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "A keresés %s nem talált egyezést egy bejegyzéssel sem." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Ãllandó link ehhez %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Keresés eredménye a következÅ‘ kifejezésre: %s" + +#: searchform.php +msgid "search here …" +msgstr "keresés..." + +#: searchform.php +msgid "Go" +msgstr "mehet" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Képadatok" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Teljes méret:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Rekesz: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Fókusztávolság" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Zár:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Az archívumban" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "KezdÅ‘lap Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Ez az elsÅ‘ fÅ‘oldali widget doboz. Szerkeszteni a Megjelenés > Widgetek menüpont alatt lehet, jobb oldalon felülrÅ‘l a hatodik widget. A widget címét is itt adhatod meg." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "KezdÅ‘lap Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Ez a második fÅ‘oldali widget doboz. Szerkeszteni a Megjelenés > Widgetek menüpont alatt lehet, jobb oldalon felülrÅ‘l a hetedik widget. A widget címét is itt adhatod meg." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "KezdÅ‘lap Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Ez a harmadik fÅ‘oldali widget doboz. Szerkeszteni a Megjelenés > Widgetek menüpont alatt lehet, jobb oldalon felülrÅ‘l a nyolcadik widget. A widget címét is itt adhatod meg." + +#: single.php +msgid "About" +msgstr "Névjegy" + +#: sitemap.php +msgid "Categories" +msgstr "Kategóriák" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Legfrissebb bejegyzések" + +#: sitemap.php +msgid "Pages" +msgstr "Oldalak" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "FelsÅ‘ menü" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Fejléc menü" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Fejléc almenü" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Lábléc menü" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "%s. oldal" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Bejegyezve %2$s SzerzÅ‘ %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "%s összes bejegyzése" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Bejegyezések itt: %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Bejegyzések címkéi %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404-es hiba " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "További témák" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Kirakat" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "FÅ‘ oldalsáv" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "1. terület - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Jobb oldalsáv" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "2. terület - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Bal oldalsáv" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "3. terület - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Bal odalsáv, fél oldal" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "4. terület - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Jobb oldalsáv, fél oldal" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "5. terület - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "6. terület - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "7. terület - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "8. terület - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galéria oldalsáv" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "9. terület - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (teljes bejegyzések)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog kivonat (összegzés)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Tartalom/Oldalsáv" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Oldalsáv/Tartalom" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Teljes szélességű oldal (nincs oldalsáv)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Landing page (nincs menü)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Oldaltérkép" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Elrendezés" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Alapértelmezett" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Helló Világ!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "A H2 alcímed ide jön" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "A cím, az alcím és a tartalom szerkeszthetÅ‘ a téma opcióknál. A \"cselekvésre ösztönzÅ‘ (Call to action)\" gomb felirata és linkje is onnan szerkeszthetÅ‘. A jobb oldali kép lehet kép vagy youtube videó." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Cselekvésre ösztönzés" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Téma beállítások" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Beállítások mentve" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Téma elemek" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Kikapcsolod az útvonalkövetést?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Kattints a kikapcsoláshoz" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Kikapcsolod a \"Cselekvésre ösztönzés (Call to Action)\" gombot?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Beállítások mentése" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Alapértelmezések visszaállítása" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logó feltöltése" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Egyedi fejléc" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Szereretnéd lecserélni, vagy eltávolítani az alapértelmezett logót?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "kattints ide" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "KezdÅ‘oldal" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "FÅ‘cím" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Ãrd ide a fÅ‘címet" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Alcím" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Ãrd ide az alcímet" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Tartalom helye" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Ãrd ide a tartalmat" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Cselekvésre ösztönzés (Call to action) link" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Add meg a cselekvésre ösztönzés (Call to action) linkjét" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Cselekvésre ösztönzés - Call to action (szöveg)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Ãrd ide a cselekvésre ösztönzÅ‘ (Call to action) szöveged" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Kiemelt tartalom" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Lásd a dokumentációt" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Alapértelmezett elrendezés" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Alapértelmezett oldal elrendezés" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Alapértelmezett bejegyzés elrendezés" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Alapértelmezett bejegyzéseket listázó oldal elrendezése" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Webmester eszközök" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google oldal ellenÅ‘rzés" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Add meg a Google ID számod" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing oldal ellenÅ‘rzés" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Add meg a Bing ID számod" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo oldal ellenÅ‘rzés" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Add meg a Yahoo ID számod" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Oldal-statisztika követés" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Hagyd üresen, ha plugin kezeli a webmester eszközöket" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, egyik vagy az összes a felsoroltak közül." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Közösségi oldal ikonok" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Add meg a Twitter profilod linkjét" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Add meg a Facebook profilod linkjét" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Add meg a Linkedin profilod linkjét" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Add meg a YouTube profilod linkjét" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Add meg a StumleUpon profilod linkjét" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS hírfolyam" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Add meg az RSS hírfolyamod linkjét" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Add meg a Google+ profilod linkjét" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Add meg az Instagram profilod linkjét" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Add meg a Pinterest profilod linkjét" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Add meg a Yelp! profilod linkjét" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Add meg a Vimeo profilod linkjét" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Add meg a foursquare profilod linkjét" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Egyedi CSS stílusok" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS segédlet" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Ãrd ide a saját CSS stílusaidat." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Egyéni szkriptek" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Egyéni szkriptek a fejlécbe és láblécbe" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Gyorstalpaló" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Beágyazza a header.php-be ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Ãrd be az egyéni fejléc szkriptedet." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Beágyazza a footer.php-ba ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Ãrd be az egyéni lábléc szkriptedet." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "Egyéni címplap engedélyezése" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Súgó" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "Instrukciók" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Felülírja a WordPress %1skezdÅ‘oldal beállítását%2s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "Fordítás" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Ãœdv a %1$s sablonban! Frissíts még ma a %2$s-ra!" + diff --git a/wp-content/themes/responsive/languages/id_ID.mo b/wp-content/themes/responsive/languages/id_ID.mo new file mode 100644 index 0000000..a503d72 Binary files /dev/null and b/wp-content/themes/responsive/languages/id_ID.mo differ diff --git a/wp-content/themes/responsive/languages/id_ID.po b/wp-content/themes/responsive/languages/id_ID.po new file mode 100644 index 0000000..1eb3240 --- /dev/null +++ b/wp-content/themes/responsive/languages/id_ID.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:30 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Indonesian, Indonesia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Halaman:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Artikel lama" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Artikel baru ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Lanjutkan ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Artikel ini diproteksi dengan password. Masukkan password untuk melihat komentar" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Komentar lama" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Komentar baru ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s untuk \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nama" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Alamat Situs" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "kembali ke atas" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "didukung oleh" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://id.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Kembali ke" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Tidak ada komentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Komentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Komentar ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Satu komentar di “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Dengan label:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Tersimpan di %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Ubah" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Halaman tidak ditemukan" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Jangan panik, Kita selesaikan bersama. Silahkan pelajari opsi-opsi berikut." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Anda bisa kembali %s atau mencari halaman yang anda maksud" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Beranda" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Beranda" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arsip Harian: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arsip Bulanan: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arsip Tahunan: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arsip Blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Pencarian tentang %s tidak ditemukan" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Tautan Permanen ke %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Hasil pencarian tentang: %s" + +#: searchform.php +msgid "search here …" +msgstr "Cari disini …" + +#: searchform.php +msgid "Go" +msgstr "Go" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informasi Gambar" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Ukuran Penuh:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Aperture: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Focal Length:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Shutter:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Di dalam Arsip" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Home Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Ini adalah home widget pertama anda. Untuk mengubah silahkan buka menu Appearance > Widgets dan pilih widget keenam dari atas di area enam yang dinamakan dengan Home Widget 1. Judul juga dapat diatur menggunakan widget." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Home Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Ini adalah home widge kedua anda. Untuk mengubah silahkan buka menu Appearance > Widgets dan pilih widget ketujuh dari atas di area tujuh yang dinamakan dengan Home Widget 2. Judul juga dapat diatur menggunakan widget." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Home Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Ini adalah home widget ketiga anda. Untuk mengubah silahkan buka menu Appearance > Widgets dan pilih widget kedelapan dari atas di area delapan yang dinamakan dengan Home Widget 3. Judul juga dapat diatur menggunakan widget." + +#: single.php +msgid "About" +msgstr "Perihal" + +#: sitemap.php +msgid "Categories" +msgstr "Kategori" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Artikel terbaru" + +#: sitemap.php +msgid "Pages" +msgstr "Halaman" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menu Atas" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Judul menu" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Sub Judul Menu" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Footer Menu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Tersimpan pada %2$s oleh %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Lihat semua artikel oleh %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arsip untuk %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Artikel berlabel %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Error 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Theme Lain" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Showcase" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Sidebar Utama" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Area pertama - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Sidebar Kanan" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Area Dua - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Sidebar Kiri" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Area Tiga - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Sidebar Kiri Setengah Halaman" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Area Empat - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Sidebar Kanan Setengah Halaman" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Area Lima - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Area Enam - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Area Tujuh - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Area Delapan - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galeri Sidebar" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Area Sembilan - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Colophon Widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Area Sepuluh - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Top Widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Area Duabelas - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Halo, Dunia!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Sub Judul H2 tampil disini" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Judul, Sub Judul dan konten ini dapat diubah melalui Opsi Theme. Demikian juga dengan Tombol Call to Action dan link tujuannya. Gambar di sebelah kanan dapat diisi dengan gambar maupun video YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Call to Action" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opsi Theme" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opsi disimpan" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elemen-elemen Theme" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Nonaktifkan Daftar Breadcrumb?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Pilih untuk menonaktifkan" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Nonaktifkan Tombol Call to Action?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Simpan opsi" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Unggah Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Custom Header" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Ingin mengganti atau menghapus logo bawaan?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klik disini." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Halaman Utama" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Judul Utama" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Masukkan Judul Utama" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Sub Judul Utama" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Masukkan Sub Judul Utama" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Area konten" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Masukkan konten anda" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Call to Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Masukkan URL call to action" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Call to Action (Tulisan)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Masukkan tulisan call to action anda" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Konten Terpilih" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Lihat dokumentasi" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Silahkan masukkan kode, video atau alamat gambar anda disini" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Webmaster Tools" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verifikasi Situs Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Masukkan nomor ID Google saja" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verifikasi Situs Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Masukkan nomor ID Bing saja" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verifikasi Situs Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Masukkan nomor ID yahoo saja" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Pencatat Statistik Situs" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Biarkan kosong jika webmaster tools sudah diatur oleh plugin lain" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, atau yang lain." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Ikon Jejaring Sosial" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Masukkan URL Twitter Anda" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Masukkan URL Facebook Anda" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Masukkan URL LinkedIn Anda" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Masukkan URL YouTube Anda" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Masukkan URL StumbleUpon Anda" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Masukkan URL RSS Feed Anda" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Masukkan URL Google+ Anda" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Masukkan URL Instagram Anda" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Masukkan URL Pinterest Anda" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Masukkan URL Yelp! Anda" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Masukkan URL Vimeo Anda" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Masukkan URL foursquare Anda" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Modifikasi CSS Style" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en-US/docs/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Msukkan CSS Style Modifikasi anda" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Script Modifikasi" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Modifikasi script untuk Header dan Footer" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutorial singkat" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Embed di header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Masukkan modifikasi script header anda" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Embed di footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Masukkan modifikasi script footer anda." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/is_IS.mo b/wp-content/themes/responsive/languages/is_IS.mo new file mode 100644 index 0000000..050578b Binary files /dev/null and b/wp-content/themes/responsive/languages/is_IS.mo differ diff --git a/wp-content/themes/responsive/languages/is_IS.po b/wp-content/themes/responsive/languages/is_IS.po new file mode 100644 index 0000000..6d52d1b --- /dev/null +++ b/wp-content/themes/responsive/languages/is_IS.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:35 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Icelandic, Iceland\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Síður:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Eldri færslur" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nýrri færslur ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Lesa meira ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Þessi póstur er varinn með lykilorði. Sláðu inn lykorð til að skoða athugasemdir." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Eldri athugasemdir" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nýrri athugasemdir ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s fyrir \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nafn" + +#: comments.php +msgid "E-mail" +msgstr "Netfang" + +#: comments.php +msgid "Website" +msgstr "Heimasíða" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "Fara upp" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "drifið af" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://is.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Snúa til baka til" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Engar athugasemdir ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "Engar athugasemdir ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% athugasemdir ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Ein athugasemd skráð fyrir “%2$s”" +msgstr[1] "%1$s athugasemdir skráðar fyrir “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Merk með:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Skráð í %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Breyta" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Gott að hitta þig hérna" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ekki örvænta! Við náum þessu saman." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Þú getur snúið til baka %s eða leita að síðu" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Heim" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Heim" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Daglegt safn: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Mánaðarlegt safn: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ãrlegt safn: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog safn" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Þín leit að %s passaði ekki við neinar færslur" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Varanlegur hlekkur til %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Leitarniðurstaða fyrir: %s" + +#: searchform.php +msgid "search here …" +msgstr "leita hérna …" + +#: searchform.php +msgid "Go" +msgstr "Ãfram" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Upplýsingar um mynd" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Full stærð:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Brennihlutfall: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brennivídd:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Hraði:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Myndavél:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "à safni" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Heim aukahlut 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Þetta er fyrsta valboxið þitt. Til þess að breyta því ferðu í Appearance > Widgets og veldu 6. valboxið frá toppi í svæði sex, kallað \"Home Widget 1\". Þú getur einnig breytt fyrirsögninni." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Heim aukahlut 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Þetta er annað valboxið þitt. Til þess að breyta því ferðu í Appearance > Widgets og veldu 7. valboxið frá toppi í svæði sex, kallað \"Home Widget 2\". Þú getur einnig breytt fyrirsögninni." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Heim aukahlut 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Þetta er þriðja valboxið þitt. Til þess að breyta því ferðu í Appearance > Widgets og veldu 8. valboxið frá toppi í svæði sex, kallað \"Home Widget 3\". Þú getur einnig breytt fyrirsögninni." + +#: single.php +msgid "About" +msgstr "Um" + +#: sitemap.php +msgid "Categories" +msgstr "Flokkar" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Seinustu færslur" + +#: sitemap.php +msgid "Pages" +msgstr "Síður" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Top valborði" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Haus valborði" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Undir-haus valborði" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Fót valborði" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Skráð þann %2$s af %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Skoða færslur eftir %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Safn fyrir %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Færslur merktar %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Villa 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Aðal hliðarborði" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Svæði 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Hægri hliðarborði" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Svæði 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Vinstri hliðarborði" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Svæði 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Vinstri hliðarborði - hálf síða" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Svæði 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Hægri hliðarborði - hálf síða" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Svæði 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Svæði 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Svæði 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Svæði 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Myndafn - hliðarborði" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Svæði 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Halló, heimur!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Þín H2 undirfyrirsögn hérna" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Fyrirsögnin þín, undirfyrirsögn og efnið er hægt að breyta í Valmöguleikar Þemu. Einnig Kall til aðgerða hnappur og síðan sem þú vísar á. Myndin til hægri getur verið mynd eða jafnvel YouTube myndband ef þú villt." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Kalla eftir aðgerð" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Valmöguleikar þemu" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Valmöguleikar Vistaðir" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Hlutar þemu" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Gera brauðmola óvirka?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Hakaðu til að gera óvirkt" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Gera Kall til aðgerðar-hnapp óvirkan" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Vista breytingar" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logo upphleðsla" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Breyta haus" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Viltu breyta eða fjarlæga sjálfvalið logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Smelltu hér." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Forsíða" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Fyrirsögn í haus" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Skrifaðu fyrirsögn í haus" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Undirfyrirsögn" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Skrifaðu undirfyrirsögn" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Efnissvæði í haus" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Skrifaðu efnið þitt" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Kall til aðgerða (vefslóð)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Skráðu Kall til aðgerða-vefslóð" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Kall til aðgerða-texti" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Skrifaðu Kall til aðgerða-texta" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Ãhersluefni (mynd)" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Skoða hjálp" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Vefstjóraverkfæri" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Site Staðfesting" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Eingöngu Google ID númer" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Site Staðfesting" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Eingöngu Bing ID númer" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Staðfesting" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Eingöngu Yahoo ID númer" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Kóði til að fylgjast með heimsóknum" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Skildu eftir autt ef viðbót sér um heimsóknartölur" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, einhver eða allir" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Tákn fyrir tengslanetasíður" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Twitter vefslóðin þín" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Facebook vefslóðin þín" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Linkedin vefslóðin þín" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "YouTube vefslóðin þín" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "StumbleUpon vefslóðin þín" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Efnisstraumur" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "RSS vefslóðin þín" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Google+ vefslóðin þín" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Intstagram vefslóðin þín" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Pintrest vefslóðin þín" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Yelp vefslóð" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Vimeo vefslóð" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Foursquare vefslóð" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Sérsniðin CSS stílblöð" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS leiðbeiningar" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Settu sérsniðna CSS stílblaðið þitt hérna." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/it_IT.mo b/wp-content/themes/responsive/languages/it_IT.mo new file mode 100644 index 0000000..18a2dcc Binary files /dev/null and b/wp-content/themes/responsive/languages/it_IT.mo differ diff --git a/wp-content/themes/responsive/languages/it_IT.po b/wp-content/themes/responsive/languages/it_IT.po new file mode 100644 index 0000000..1055161 --- /dev/null +++ b/wp-content/themes/responsive/languages/it_IT.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:39 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Italian, Italy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Pagine:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Articoli più vecchi" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Articoli più nuovi ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Leggi altro ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Questo articolo è protetto da passwod. Inserisci la password per vedere i commenti." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Commenti più vecchi" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Commenti recenti ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s per \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nome" + +#: comments.php +msgid "E-mail" +msgstr "E-Mail" + +#: comments.php +msgid "Website" +msgstr "Sito web" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "vai in alto" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Prodotto da" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://it.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Ritorna a" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Nessun Commento ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Commento ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Commenti ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Un commento su “%2$s”" +msgstr[1] "%1$s commenti su “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Taggato con:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Pubblicato in %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Modifica" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Non hai trovato ciò che cercavi!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Niente panico! Esplora le opzioni che hai a disposizione." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Puoi tornare alla %s o effettuare una ricerca per la pagina che cercavi" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Home" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Home" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Archivio Giornaliero: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Archivi Mensili: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Archivi annuali: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archivi del Blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "La tua ricerca di %s non ha prodotto alcun risultato" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Link Permanente a %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Risultati della ricerca di: %s" + +#: searchform.php +msgid "search here …" +msgstr "ricerca qui …" + +#: searchform.php +msgid "Go" +msgstr "Vai" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informazioni Immagine" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Dimensione intera:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Apertura: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Lunghezza focale:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Otturatore:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Fotocamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "In Archivio" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Posizione 1 del Widget" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Questo è il tuo primo widget box della home. Per modificarlo vai su Aspetto > Widget e scegli il sesto widget dall'alto chiamato Widget Home 1. Potrai modificarne anche il titolo." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Posizione 2 del Widget" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Questo è il tuo secondo widget box della home. Per modificarlo vai su Aspetto > Widget e scegli il settimo widget dall'alto chiamato Widget Home 2. Potrai modificarne anche il titolo." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Posizione 3 del Widget" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Questo è il tuo terzo widget box della home. Per modificarlo vai su Aspetto > Widget e scegli l'ottavo widget dall'alto chiamato Widget Home 3. Potrai modificarne anche il titolo." + +#: single.php +msgid "About" +msgstr "Informazioni su" + +#: sitemap.php +msgid "Categories" +msgstr "Categorie" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Articoli Recenti" + +#: sitemap.php +msgid "Pages" +msgstr "Pagine" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menù superiore" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menù intestazione" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Menu di sottotitolo" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu piè di pagina" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Pagina %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Pubblicato il %2$s da %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Vedi tutti gli articoli di %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archivia per %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Articoli taggati %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Errore 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Altri Temi" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Esempi" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Barra laterale principale" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Area 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Barra laterale destra" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Area 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Barra laterale sinistra" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Area 3 - Barra laterale sinistra.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Barra laterale sinistra Metà Pagina" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Area 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Barra laterale destra Metà Pagina" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Area 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Area 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Area 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Area 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Barra laterale della Galleria" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Area 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Colophon Widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Area 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget in testata" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Area 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (Articoli completi)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Estratto dal blog (riassunto)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Contenuto/Barra laterale" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Barra laterale/contenuto" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Contenuto/ barra laterale a mezza pagina" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Barra laterale/Contenuto a mezza pagina" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Pagina intera (senza barra laterale)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Pagina di destinazione (senza menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mappa del sito" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Aspetto" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Predefinito" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Ciao, Mondo!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Sottotitolo H2 qui" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Il tuo titolo, sottotitolo e il contenuto sono modificabili da Opzioni Tema. Il bottone Richiama un'Azione e la sua destinazione possono essere collegati allo stesso modo. L'immagine alla tua destra può essere un'immagine o un video YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Richiama un'azione" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opzioni Tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opzioni Salvate" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementi Tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Disabilita lista Breadcrumb?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Clicca per disabilitare" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Disabilita il bottone Richiama un'Azione" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Salva Opzioni" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Ripristina predefinito" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Upload del Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Intestazione Personalizzata" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Hai bisogno di modificare o eliminare il logo di default?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Clicca qui." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Pagina iniziale" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Titolo" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Inserisci il titolo" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Sottotitolo" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Inserisci il Sottotitolo" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Contenuto" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Inserisci il tuo contenuto" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Richiama un'Azione (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Inserisci il testo del campo Richiama un'Azione" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Richiama un'Azione (testo)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Inserisci il testo del campo Richiama un'Azione" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Contenuto correlato" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Vedi Documentazione" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Incolla il codice sorgente della tua immagine, video o shortcode" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Aspetto Predefinito" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Aspetto predefinito della pagina statica" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Aspetto predefinito di un singolo articolo del blog" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Aspetto dell'indice del blog predefinito" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Strumenti Webmaster" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verifica Google Site" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Inserisci il tuo Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verifica Bing Site" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Inserisci il tuo Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verifica Yahoo Site" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Inserisci il tuo Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Tracker Statistiche Sito" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Lascia in bianco se utilizzi già dei plugin per gestire gli Strumenti del Webmaster" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, o altri." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Icone Social" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Inserisci il tuo indirizzo Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Inserisci il tuo indirizzo Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Inserisci il tuo indirizzo LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Inserisci il tuo indirizzo YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Inserisci il tuo indirizzo StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Feed RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Inserisci il tuo indirizzo per i Feed RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google +" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Inserisci il tuo indirizzo Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Inserisci il tuo indirizzo Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Inserisci il tuo indirizzo Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Inserisci il tuo indirizzo Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Inserisci il tuo indirizzo Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Inserisci il tuo indirizzo foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Stili CSS personalizzati" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/it/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Guida ai CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Inserisci il tuo stile CSS personalizzato" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Script personalizzati" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Script personalizzati per Header e Footer" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Guida veloce" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Incorpora in header.php" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Inserisci il tuo script personalizzato per l'intestazione" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Incorpora in footer.php" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Inserisci il tuo script personalizzato per il piè di pagina" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "Abilita la prima pagina personalizzata" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Aiuto" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "Istruzioni" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Sovrascrivi le opzion%2s della pagina di copertina di WordPress" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "Traduci" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Benvenuto a %1$s! Passa a %2$s oggi stesso." + diff --git a/wp-content/themes/responsive/languages/ja.mo b/wp-content/themes/responsive/languages/ja.mo new file mode 100644 index 0000000..ae09185 Binary files /dev/null and b/wp-content/themes/responsive/languages/ja.mo differ diff --git a/wp-content/themes/responsive/languages/ja.po b/wp-content/themes/responsive/languages/ja.po new file mode 100644 index 0000000..75136d5 --- /dev/null +++ b/wp-content/themes/responsive/languages/ja.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:31 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Japanese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "ページ:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ å¤ã„投稿" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "æ–°ã—ã„投稿 ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "続ãを読む ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "ã“ã®æŠ•ç¨¿ã¯ãƒ‘スワードã§ä¿è­·ã•ã‚Œã¦ã„ã¾ã™ã€‚コメントを表示ã™ã‚‹ã«ã¯ãƒ‘スワードを入力ã—ã¦ãã ã•ã„。" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ å¤ã„コメント" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "æ–°ã—ã„コメント ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "トラックãƒãƒƒã‚¯ãƒ»ãƒ”ンãƒãƒƒã‚¯" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "\"%3$s\" ã« %1$d %2$s" + +#: comments.php +msgid "Name" +msgstr "åå‰" + +#: comments.php +msgid "E-mail" +msgstr "メールアドレス" + +#: comments.php +msgid "Website" +msgstr "ウェブサイト" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "トップã¸æˆ»ã‚‹" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive テーマ" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://ja.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ 戻る:" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "コメントã¯ã‚ã‚Šã¾ã›ã‚“ ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1件ã®ã‚³ãƒ¡ãƒ³ãƒˆ ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "%件ã®ã‚³ãƒ¡ãƒ³ãƒˆ ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "“%2$s” ã¸ã®1件ã®ã‚³ãƒ¡ãƒ³ãƒˆ" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "ã‚¿ã‚°:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "カテゴリー: %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "編集" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — ãŠæŽ¢ã—ã®ãƒšãƒ¼ã‚¸ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "è½ã¡ç€ã„ã¦ãã ã•ã„ã€å¤§ä¸ˆå¤«ã§ã™ã€‚ä»–ã®ã‚ªãƒ—ションを一緒ã«è€ƒãˆã¦ã¿ã¾ã—ょã†ã€‚" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "%sã«æˆ»ã‚‹ã‹ã€æŽ¢ã—ã¦ã„ãŸãƒšãƒ¼ã‚¸ã‚’検索ã—ã¦ã¿ã¾ã—ょã†" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "ホーム" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← ホーム" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "日別アーカイブ: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "月別アーカイブ: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "年別アーカイブ: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "ブログアーカイブ" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "「%sã€ã«ä¸€è‡´ã™ã‚‹æ¤œç´¢çµæžœãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "%s ã®ãƒ‘ーマリンク" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "検索çµæžœ: %s" + +#: searchform.php +msgid "search here …" +msgstr "検索…" + +#: searchform.php +msgid "Go" +msgstr "Go" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "ç”»åƒæƒ…å ±" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "フルサイズ:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "絞り: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "焦点è·é›¢:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "シャッター:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "カメラ:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "アーカイブ" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "ホームウィジェット 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "1ã¤ç›®ã®ãƒ›ãƒ¼ãƒ ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹ã§ã™ã€‚編集ã™ã‚‹ã«ã¯ã€ã€Œå¤–観 > ウィジェットã€ç”»é¢ã§ä¸Šã‹ã‚‰6ã¤ã‚ã«ã‚る「ホームウィジェット 1ã€ï¼ˆã‚¨ãƒªã‚¢ 6)をé¸ã‚“ã§ãã ã•ã„。ã“ã®ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆå†…ã§ã‚¿ã‚¤ãƒˆãƒ«ã‚‚指定ã§ãã¾ã™ã€‚" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "ホームウィジェット 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "2ã¤ç›®ã®ãƒ›ãƒ¼ãƒ ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹ã§ã™ã€‚編集ã™ã‚‹ã«ã¯ã€ã€Œå¤–観 > ウィジェットã€ç”»é¢ã§ä¸Šã‹ã‚‰7ã¤ã‚ã«ã‚る「ホームウィジェット 2ã€ï¼ˆã‚¨ãƒªã‚¢ 7)をé¸ã‚“ã§ãã ã•ã„。ã“ã®ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆå†…ã§ã‚¿ã‚¤ãƒˆãƒ«ã‚‚指定ã§ãã¾ã™ã€‚" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "ホームウィジェット 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "3ã¤ç›®ã®ãƒ›ãƒ¼ãƒ ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹ã§ã™ã€‚編集ã™ã‚‹ã«ã¯ã€ã€Œå¤–観 > ウィジェットã€ç”»é¢ã§ä¸Šã‹ã‚‰8ã¤ã‚ã«ã‚る「ホームウィジェット 3ã€ï¼ˆã‚¨ãƒªã‚¢ 8)をé¸ã‚“ã§ãã ã•ã„。ã“ã®ã‚¦ã‚£ã‚¸ã‚§ãƒƒãƒˆå†…ã§ã‚¿ã‚¤ãƒˆãƒ«ã‚‚指定ã§ãã¾ã™ã€‚" + +#: single.php +msgid "About" +msgstr "紹介" + +#: sitemap.php +msgid "Categories" +msgstr "カテゴリー" + +#: sitemap.php +msgid "Latest Posts" +msgstr "最新ã®æŠ•ç¨¿" + +#: sitemap.php +msgid "Pages" +msgstr "固定ページ" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "トップメニュー" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "ヘッダーメニュー" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "サブヘッダーメニュー" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "フッターメニュー" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "ページ %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "投稿日: %2$s 作æˆè€…: %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "%s ã®æŠ•ç¨¿ã‚’ã™ã¹ã¦è¡¨ç¤º" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "%s ã®ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "ã‚¿ã‚°ã®ã¤ã„ãŸè¨˜äº‹ %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404 エラー" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "テーマをもã£ã¨è¦‹ã‚‹" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "ショーケース" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "メインサイドãƒãƒ¼" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "エリア 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "å³ã‚µã‚¤ãƒ‰ãƒãƒ¼" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "エリア 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "左サイドãƒãƒ¼" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "エリア 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "左サイドãƒãƒ¼åŠãƒšãƒ¼ã‚¸" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "エリア 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "å³ã‚µã‚¤ãƒ‰ãƒãƒ¼åŠãƒšãƒ¼ã‚¸" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "エリア 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "エリア 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "エリア 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "エリア 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "ギャラリーサイドãƒãƒ¼" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "エリア 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "サイト情報ウィジェット" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "エリア 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "エリア 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "ブログ (全文)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "ブログ抜粋" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "コンテンツ/サイドãƒãƒ¼" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "サイドãƒãƒ¼/コンテンツ" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "コンテンツ/サイドãƒãƒ¼åŠãƒšãƒ¼ã‚¸" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "サイドãƒãƒ¼/コンテンツåŠãƒšãƒ¼ã‚¸" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "全幅ページ (サイドãƒãƒ¼ãªã—)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "ランディングページ (メニューãªã—)" + +#: sitemap.php +msgid "Sitemap" +msgstr "サイトマップ" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "レイアウト" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "デフォルト" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hello, World!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "H2 サブヘッドラインãŒã“ã“ã«è¡¨ç¤ºã•ã‚Œã¾ã™" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "タイトルã€ã‚µãƒ–タイトルã€ã“ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯ãƒ†ãƒ¼ãƒžè¨­å®šã‹ã‚‰ç·¨é›†ã§ãã¾ã™ã€‚アクション喚起ボタンã¨ãƒªãƒ³ã‚¯å…ˆã‚‚åŒæ§˜ã§ã™ã€‚å³å´ã®ç”»åƒã¯ã€ãŠå¥½ã¿ã®ç”»åƒã‚„ YouTube ãªã©ã®å‹•ç”»ã‚’指定ã§ãã¾ã™ã€‚" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "ã„ã¾ã™ã登録ï¼" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "テーマ設定" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "設定をä¿å­˜ã—ã¾ã—ãŸ" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "テーマè¦ç´ " + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "パンããšãƒªã‚¹ãƒˆã‚’éžè¡¨ç¤ºã«ã—ã¾ã™ã‹ ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "éžè¡¨ç¤ºã«ã™ã‚‹å ´åˆã¯ãƒã‚§ãƒƒã‚¯" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "アクション喚起ボタンをéžè¡¨ç¤ºã«ã—ã¾ã™ã‹ ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "設定をä¿å­˜" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "デフォルトã«æˆ»ã™" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "ロゴã®ã‚¢ãƒƒãƒ—ロード" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "カスタムヘッダー" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "デフォルトã®ãƒ­ã‚´ã‚’å·®ã—替ãˆã¾ãŸã¯å‰Šé™¤ã—ã¾ã™ã‹ ?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "ã“ã“をクリック。" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "ホームページ" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "ヘッドライン" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "ヘッドラインを入力" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "サブヘッドライン" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "サブヘッドラインを入力" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "コンテンツエリア" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "コンテンツを入力" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "アクション喚起ボタン (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "アクション喚起ボタンã®ãƒªãƒ³ã‚¯å…ˆ URL を入力" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "アクション喚起ボタン (テキスト)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "アクション喚起ボタンã®ãƒ†ã‚­ã‚¹ãƒˆã‚’入力" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "ãŠã™ã™ã‚コンテンツ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "ドキュメンテーションを見る" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "ショートコードã€å‹•ç”»ã¾ãŸã¯ç”»åƒã®ã‚½ãƒ¼ã‚¹ URL を入力ã—ã¦ãã ã•ã„。" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "デフォルトレイアウト" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "デフォルト固定ページレイアウト" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "デフォルト個別ブログ投稿レイアウト" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "デフォルトブログ投稿一覧ページレイアウト" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ウェブマスターツール" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google サイトèªè¨¼" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Google ID ã®æ•°å­—ã®ã¿ã‚’入力" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing サイトèªè¨¼" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Bing ID ã®æ•°å­—ã®ã¿ã‚’入力" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo サイトèªè¨¼" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Yahoo ID ã®æ•°å­—ã®ã¿ã‚’入力" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "サイト統計トラッカー" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ウェブマスターツールã«å¯¾å¿œã—ãŸãƒ—ラグインを使ã£ã¦ã„ã‚‹å ´åˆã¯ç©ºã«ã—ã¦ãŠã„ã¦ãã ã•ã„" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analyticsã€StatCounterã€ãã®ä»–ã®ã‚³ãƒ¼ãƒ‰" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "ソーシャルアイコン" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Twitter URL を入力" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Facebook URL を入力" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "LinkedIn URL を入力" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "YouTube URL を入力" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "StumbleUpon URL を入力" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS フィード" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "RSS フィード㮠URL を入力" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Google+ URL を入力" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Instagram URL を入力" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Pinterest URL を入力" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Yelp! URL を入力" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Vimeo URL を入力" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Vimeo URL を入力" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "カスタム CSS スタイル" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/ja/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "独自ã®ã‚«ã‚¹ã‚¿ãƒ  CSS スタイルを入力ã—ã¦ãã ã•ã„。" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "カスタムスクリプト" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "ヘッダー・フッター用ã®ã‚«ã‚¹ã‚¿ãƒ ã‚¹ã‚¯ãƒªãƒ—ト" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "クイックãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "header.php ã¸ã®åŸ‹ã‚込㿠↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "カスタムヘッダースクリプトを入力ã—ã¦ãã ã•ã„。" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "footer.php ã¸ã®åŸ‹ã‚込㿠↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "カスタムフッタースクリプトを入力ã—ã¦ãã ã•ã„。" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/kn_IN.mo b/wp-content/themes/responsive/languages/kn_IN.mo new file mode 100644 index 0000000..a20741a Binary files /dev/null and b/wp-content/themes/responsive/languages/kn_IN.mo differ diff --git a/wp-content/themes/responsive/languages/kn_IN.po b/wp-content/themes/responsive/languages/kn_IN.po new file mode 100644 index 0000000..3bc0077 --- /dev/null +++ b/wp-content/themes/responsive/languages/kn_IN.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-09-24 20:18:40 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Kannada, India\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "ಪà³à²Ÿà²—ಳà³:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ ಹಳೆಯ ಲೇಖನಗಳà³" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "ಹೊಸ ಲೇಖನಗಳೠ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "ಮà³à²‚ದೆ ಓದಿ ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "ಈ ಲೇಖನವನà³à²¨à³ ಪಾಸà³à²µà²°à³à²¡à³ ಮೂಲಕ ರಕà³à²·à²¿à²¸à²²à²¾à²—ಿದೆ. ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†à²—ಳನà³à²¨à³ ನೋಡಲೠಪಾಸà³à²µà²°à³à²¡à³ ಒದಗಿಸಿ." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ ಹಳೆಯ ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†à²—ಳೠ" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "ಹೊಸ ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†à²—ಳೠ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "ಪಿಂಗೠಗಳೠ/ ಟà³à²°à³à²¯à²¾à²•à³ ಬà³à²¯à²¾à²•à³ ಗಳà³" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s ಗೆ \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "ಹೆಸರà³" + +#: comments.php +msgid "E-mail" +msgstr "ಇಮೇಲà³" + +#: comments.php +msgid "Website" +msgstr "ಜಾಲತಾಣ" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "ಮೇಲಕà³à²•à³† ಹೋಗಲà³" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "ಇವರಿಂದ ನಡೆಸಲà³à²ªà²¡à³à²¤à³à²¤à²¿à²¦à³†" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ ಗೆ ಹಿಂತಿರà³à²—ಿ" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "ಯಾವà³à²¦à³†à³• ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†à²—ಳಿಲà³à²² ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³† ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†à²—ಳೠ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "“ ಮೇಲೆ %1$s ಪà³à²°à²¤à²¿à²•à³à²°à²¿à²¯à³†à²—ಳà³; %2$s ”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "ಓದà³à²—à³à²°à³à²¤à³ ಅಥವಾ ಟà³à²¯à²¾à²—ೠಮಾಡಲಾಗಿದೆ:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "%s ನಲà³à²²à²¿ ಪà³à²°à²•à²Ÿà²£à³† ಗೊಂಡಿದೆ" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "ಪರಿಷà³à²•à²°à²¿à²¸à²¿" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — ನಿಮà³à²®à²¨à³à²¨à³ ಇಲà³à²²à²¿ ನೋಡಿ ಆಶà³à²šà²°à³à²¯à²µà²¾à²¯à³à²¤à³!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "ದಯವಿಟà³à²Ÿà³ ಹೆದರ ಬೇಡಿ, ನಾವೠಇದರಿಂದ ಒಟà³à²Ÿà²¿à²—ೆ ಹೊರ ಬರà³à²µ. ಇಲà³à²²à²¿ ನಮà³à²® ಆಯà³à²•à³†à²—ಳನà³à²¨à³à²ªà²°à²¿à²¶à³€à²²à²¿à²¸à³à²µ." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "ನೀವೠಹಿಂದಿರà³à²—ಬಹà³à²¦à³ %s ಇಲà³à²²à²µà³†, ನೀವೠಬಯಸಿದ ಪà³à²Ÿ ಹà³à²¡à³à²•à²¬à²¹à³à²¦à³." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "ಮà³à²–ಪà³à²Ÿ" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← ಮà³à²–ಪà³à²Ÿ" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "ದೈನಂದಿನ ಸಂಗà³à²°à²¹à²—ಳà³: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "ಮಾಸಿಕ ಸಂಗà³à²°à²¹à²—ಳà³: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "ವಾರà³à²·à²¿à²• ಸಂಗà³à²°à²¹à²—ಳà³: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "ಬà³à²²à²¾à²—ೠಸಂಗà³à²°à²¹à²—ಳà³" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "ನೀವೠಹà³à²¡à³à²•à²²à³à²ªà²Ÿà³à²Ÿ %s ಯಾವà³à²¦à³†à³• ನಮೂದಿಗೆ ಹೊಂದಿಕೆಯಾಗಲಿಲà³à²²" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "ಶಾಶà³à²µà²¤ ಕೊಂಡಿ (ಲಿಂಕà³): %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "%s : ನ ಹà³à²¡à³à²•à²²à²¾à²¦ ಫಲಿತಾಂಶ" + +#: searchform.php +msgid "search here …" +msgstr "ಇಲà³à²²à²¿ ಹà³à²¡à³à²•à²¿ …" + +#: searchform.php +msgid "Go" +msgstr "ಹೋಗಿ" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "ಚಿತà³à²° ಮಾಹಿತಿ" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "ಪೂರà³à²£ ಗಾತà³à²°à²¦:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "ದà³à²¯à³à²¤à²¿à²°à²‚ಧà³à²° (ಅಪರà³à²šà²°à³): f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "ನಾಭಿದೂರ (ಫೋಕಲೠಲೆಂತà³):" + +#: sidebar-gallery.php +msgid "mm" +msgstr "ಮಿಮೀ" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "à²à²Žà²¸à³à²’:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "ಶಟರà³:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "ಕà³à²¯à²¾à²®à³†à²°à²¾:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "ಹಿಂದಿನ ದಾಖಲೆಗಳà³" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "ಮà³à²–ಪà³à²Ÿ ವಿಡà³à²œà³†à²Ÿà³ 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "ಇದೠನಿಮà³à²® ಮೊದಲ ಮà³à²–ಪà³à²Ÿ ವಿಜೆಟೠಪೆಟà³à²Ÿà²¿à²—ೆ. ಇದನà³à²¨à³ ಪರಿಷà³à²•à²°à²¿à²¸à²²à³ Appearance > Widgets ಗೆ ಹೋಗಿ Home ವಿಜೆಟೠ1 ಎಂಬ ಪà³à²°à²¦à³†à³•à²¶-6ರ ಮೇಲಿನಿಂದ 6ನೆ ವಿಜೆಟೠಅನà³à²¨à³ ಆಯà³à²•à³†à²®à²¾à²¡à²¿. ಶೀರà³à²·à²¿à²•à³†à²¯à²¨à³à²¨à³ ಕೂಡ Widgets ನಲà³à²²à²¿à²¯à³† ನಿರà³à²µà²¹à²£à³† ಮಾಡಬಹà³à²¦à³." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "ಮà³à²–ಪà³à²Ÿ ವಿಡà³à²œà³†à²Ÿà³ 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "ಇದೠನಿಮà³à²® ಎರಡನೆಯ ಮà³à²–ಪà³à²Ÿ ವಿಜೆಟೠಪೆಟà³à²Ÿà²¿à²—ೆ. ಇದನà³à²¨à³ ಪರಿಷà³à²•à²°à²¿à²¸à²²à³ Appearance > Widgets ಗೆ ಹೋಗಿ Home ವಿಜೆಟೠ2 ಎಂಬ ಪà³à²°à²¦à³†à³•à²¶-7ರ ಮೇಲಿನಿಂದ 7ನೆ ವಿಜೆಟೠಅನà³à²¨à³ ಆಯà³à²•à³†à²®à²¾à²¡à²¿. ಶೀರà³à²·à²¿à²•à³†à²¯à²¨à³à²¨à³ ಕೂಡ Widgets ನಲà³à²²à²¿à²¯à³† ನಿರà³à²µà²¹à²£à³† ಮಾಡಬಹà³à²¦à³." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "ಮà³à²–ಪà³à²Ÿ ವಿಡà³à²œà³†à²Ÿà³ 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "ಇದೠನಿಮà³à²® ಮೂರನೆಯ ಮà³à²–ಪà³à²Ÿ ವಿಜೆಟೠಪೆಟà³à²Ÿà²¿à²—ೆ. ಇದನà³à²¨à³ ಪರಿಷà³à²•à²°à²¿à²¸à²²à³ Appearance > Widgets ಗೆ ಹೋಗಿ Home ವಿಜೆಟೠ3 ಎಂಬ ಪà³à²°à²¦à³†à³•à²¶-8ರ ಮೇಲಿನಿಂದ 8ನೆ ವಿಜೆಟೠಅನà³à²¨à³ ಆಯà³à²•à³†à²®à²¾à²¡à²¿. ಶೀರà³à²·à²¿à²•à³†à²¯à²¨à³à²¨à³ ಕೂಡ Widgets ನಲà³à²²à²¿à²¯à³† ನಿರà³à²µà²¹à²£à³† ಮಾಡಬಹà³à²¦à³." + +#: single.php +msgid "About" +msgstr "ನಮà³à²® ಬಗà³à²—ೆ" + +#: sitemap.php +msgid "Categories" +msgstr "ವಿಭಾಗಗಳà³" + +#: sitemap.php +msgid "Latest Posts" +msgstr "ಇತà³à²¤à²¿à³•à²šà²¿à²¨ ಲೆಖನಗಳà³" + +#: sitemap.php +msgid "Pages" +msgstr "ಪà³à²Ÿà²—ಳà³" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "ಮೇಲಿನ ಸಲಹಾಕಾರ(ಮೆನà³)" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "ಶೀರà³à²·à²¿à²•à³† ಸಲಹಾಕಾರ" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "ಉಪಶೀರà³à²·à²¿à²•à³† ಸಲಹಾಕಾರ" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "ಅಡಿಟಿಪà³à²ªà²£à²¿ ಸಲಹಾಕಾರ" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "ಪà³à²Ÿ %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "%2$s ರಂದೠಪೋಸà³à²Ÿà³ ಮಾಡಿದ %4$s ರಿಂದ" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "ಎಲà³à²² ಲೇಖನಗಳನà³à²¨à³(ಪೋಸà³à²Ÿà³ ಗಳನà³à²¨à³) ನೋಡಿ: %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "%s ನ ಸಂಗà³à²°à²¹à²—ಳà³" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "ಓದà³à²—à³à²°à³à²¤à³ ಅಥವಾ ಟà³à²¯à²¾à²—ೠಮಾಡಿದ ಲೇಖನಗಳೠ%s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "ದೋಷ 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "ಇನà³à²¨à²·à³à²Ÿà³ ಥೀಮೠಗಳà³" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "ಪà³à²°à²¦à²°à³à²¶à²¿à²¸à²²à³" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "ಮà³à²–à³à²¯ ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿(ಸೈಡà³à²¬à²¾à²°à³)" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "ಬಲ ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "ಎಡ ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "ಎಡ ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿ ಅರà³à²§ ಪà³à²Ÿ" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "ಬಲ ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿ ಅರà³à²§ ಪà³à²Ÿ" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "ಚಿತà³à²° ಗà³à²¯à²¾à²²à²°à²¿ ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Colophon ವಿಜೆಟà³" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "ಮೇಲಿನ ವಿಜೆಟà³" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "ಪà³à²°à²¦à³†à³•à²¶ 10 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "ಬà³à²²à²¾à²—à³(ಪೂರà³à²¤à²¿ ಲೇಖನ)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "ಬà³à²²à²¾à²—ೠನ ಆಯà³à²¦ ಭಾಗ(ಸಾರಾಂಶ)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "ವಿಷಯ/ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿/ವಿಷಯ" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "ವಿಷಯ/ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿ ಅರà³à²§ ಪà³à²Ÿ" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "ಪಾರà³à²¶à³à²µà²ªà²Ÿà³à²Ÿà²¿/ವಿಷಯ ಅರà³à²§ ಪà³à²Ÿ" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "ಪೂರà³à²£ ಅಗಲದ ಲೇಖನ" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "ಇಳಿದಾಣ (ಸಲಹಾಕಾರವಿಲà³à²²)" + +#: sitemap.php +msgid "Sitemap" +msgstr "ಜಾಲತಾಣ ನಕà³à²·à³†" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "ವಿನà³à²¯à²¾à²¸" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತ" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "ಹೆಲà³à²²à³Š, ಗೆಳಯರೆ!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "ನಿಮà³à²® H2 ಉಪ ಶೀರà³à²·à²¿à²•à³† ಇಲà³à²²à²¿" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "ನಿಮà³à²® ಶೀರà³à²·à²¿à²•à³†, ಉಪಶೀರà³à²·à²¿à²•à³†à²¯à²¨à³à²¨à³ ಮತà³à²¤à³ ಇದೇ ಪà³à²°à²¸à³à²¤à³à²¤ ವಿಷಯವನà³à²¨à³ ಕೂಡ ಥೀಮೠನ ಆಯà³à²•à³†à²—ಳಿಂದ ಪರಿಷà³à²•à²°à²¿à²¸à²¬à²¹à³à²¦à³. ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à³à²µ ಬಟನೠಮತà³à²¤à³ ಅದರ ತಾಣ ಸಹ.ನಿಮà³à²® ಬಲಗಡೆ ಇರà³à²µ ಚಿತà³à²°à²µà³, ನಿಮà³à²® ಬಯಕೆಗೆ ತಕà³à²•à²‚ತೆ ಚಿತà³à²° ಇಲà³à²²à²µà³† YouTube ವೀಡಿಯೊ ಆಗಿರಬಹà³à²¦à³." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à²²à³" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "ಥೀಮೠನ ಆಯà³à²•à³†à²—ಳà³" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "ಉಳಿಸಲಾದ ಆಯà³à²•à³†à²—ಳà³" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "ಥೀಮೠನ ಅಂಶಗಳà³" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "ಬà³à²°à³†à²¡à³à²•à³à²°à²‚ಬೠಅನà³à²¨à³ ನಿಷà³à²•à³à²°à²¿à²¯à²—ೊಳಿಸà³?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "ನಿಷà³à²•à³à²°à²¿à²¯à²—ೊಳಿಸಲೠಆಯà³à²•à³†à²®à²¾à²¡à²¿" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à³à²µ ಬಟನೠಅನà³à²¨à³à²¨à²¿à²·à³à²•à³à²°à²¿à²¯à²—ೊಳಿಸà³?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "ಆಯà³à²•à³†à²—ಳನà³à²¨à³ ಉಳಿಸಿ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತಗಳನà³à²¨à³ ಪà³à²¨à²ƒà²¸à³à²¥à²¾à²ªà²¿à²¸à²²à³" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "ಲಾಂಛನ(ಲೋಗೋ) ಅಪà³à²²à³†à³‚ೕಡೠಮಾಡಿ" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "ಗà³à²°à²¾à²¹à²•à²¿à³•à²•à²°à²¿à²¸à²¿à²¦(ಕಸà³à²Ÿà²®à³) ಶೀರà³à²·à²¿à²•à³†" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತ ಲಾಂಛನವನà³à²¨à³ ತೆಗೆದà³à²¹à²¾à²•à²¿ ಅಥವಾ ಬದಲಾಯಿಸಿ?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "ಇಲà³à²²à²¿ ಕà³à²²à²¿à²•à³ ಮಾಡಿ" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "ಮà³à²–ಪà³à²Ÿ" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "ತಲೆಪಂಕà³à²¤à²¿(ಹೆಡà³à²²à³†à³–ನà³)" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "ನಿಮà³à²® ತಲೆಪಂಕà³à²¤à²¿à²¯à²¨à³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "ಉಪತಲೆಪಂಕà³à²¤à²¿(ಸಬೠಹೆಡà³à²²à³†à³–ನà³)" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "ನಿಮà³à²® ಉಪತಲೆಪಂಕà³à²¤à²¿à²¯à²¨à³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ವಿಷಯದ ಪà³à²°à²¦à³†à³•à²¶" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "ನಿಮà³à²® ವಿಷಯವನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à²¿(URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "ನಿಮà³à²® ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à³à²µ URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à²¿(ಹೇಳಿಕೆ/Text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "ನಿಮà³à²® ಕà³à²°à²® ತೆಗೆದà³à²•à³†à³‚ಳà³à²³à³à²µ ಹೇಳಿಕೆಯನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "ವೈಶಿಷà³à²Ÿà³à²¯à²µà²¾à²¦ ವಿಷಯ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "ದಾಖಲೆಗಳನà³à²¨à³ ನೋಡಿ" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "ನಿಮà³à²® shortcode, ವೀಡಿಯೊ ಅಥವಾ ಚಿತà³à²°à²¦ ಮೂಲವನà³à²¨à³ ಇಲà³à²²à²¿ ಅಂಟಿಸಿ" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತ ವಿನà³à²¯à²¾à²¸à²—ಳà³" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತ ಸà³à²¥à²¾à²¯à²¿ ಪà³à²Ÿ ವಿನà³à²¯à²¾à²¸" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತ à²à²• ಬà³à²²à²¾à²—ೠಲೇಖನ ವಿನà³à²¯à²¾à²¸" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "ಪೂರà³à²µà²¨à²¿à²¯à³†à³‚ೕಜಿತ ಬà³à²²à²¾à²—ೠಲೇಖನದ ಸೂಚà³à²¯à²‚ಕದ ವಿನà³à²¯à²¾à²¸" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ಪರಿಣಿತರ(ವೆಬà³à²®à²¾à²¸à³à²Ÿà²°à³) ಉಪಕರಣಗಳà³" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google ಜಾಲತಾಣ ಪà³à²°à²®à²¾à²£à²¿à³•à²•à²°à²£" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "ನಿಮà³à²® Google ID ಯನà³à²¨à³ ಮಾತà³à²° ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing ಜಾಲತಾಣ ಪà³à²°à²®à²¾à²£à²¿à³•à²•à²°à²£" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "ನಿಮà³à²® Bing ID ಯನà³à²¨à³ ಮಾತà³à²° ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo ಜಾಲತಾಣ ಪà³à²°à²®à²¾à²£à²¿à³•à²•à²°à²£" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "ನಿಮà³à²® Yahoo ID ಯನà³à²¨à³ ಮಾತà³à²° ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "ಜಾಲತಾಣ ಅಂಕಿಅಂಶ ಪತà³à²¤à³†à²¹à²šà³à²šà²²à³" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ನಿಮà³à²® ಪರಿಣಿತರ(ವೆಬà³à²®à²¾à²¸à³à²Ÿà²°à³) ಉಪಕರಣಗಳನà³à²¨à³(Tools) ಪà³à²²à²—à³à²—ಿನà³(plugin) ನಿಭಾಯಿಸà³à²¤à³à²¤à²¦à³†à²¯à²¾à²¦à²°à³†, ಇದನà³à²¨à³ ಖಾಲಿ ಬಿಡಿ" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, ಇತರೆ ಯಾವà³à²¦à²¾à²¦à²°à³ ಅಥವಾ ಎಲà³à²²à²¾" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "ಸಾಮಾಜಿಕ ಲಾಂಛನಗಳà³" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "ನಿಮà³à²® Twitter URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "ನಿಮà³à²® Facebook URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "ನಿಮà³à²® LinkedIn URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "ನಿಮà³à²® YouTube URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "ನಿಮà³à²® StumbleUpon URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "ನಿಮà³à²® RSS Feed URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "ನಿಮà³à²® Google+ URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "ನಿಮà³à²® Instagram URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "ನಿಮà³à²® Pinterest URL ಅನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "ನಿಮà³à²® Yelp! ಜಾಲತಾಣ ವಿಳಾಸವನà³à²¨à³(URL) ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "ನಿಮà³à²® Vimeo ಜಾಲತಾಣ ವಿಳಾಸವನà³à²¨à³(URL) ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "ನಿಮà³à²® foursquare ಜಾಲತಾಣ ವಿಳಾಸವನà³à²¨à³(URL) ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "ಇಚà³à²›à³†à²¯ CSS ಶೈಲಿಗಳà³" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS ತರಬೇತಿ" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "ನಿಮà³à²® ಇಚà³à²›à³†à²¯ CSS ಶೈಲಿಗಳನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "ಇಚà³à²›à³†à²¯ Script ಗಳà³" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "ಶೀರà³à²·à²¿à²•à³† ಮತà³à²¤à³ ಅಡಿಟಿಪà³à²ªà²£à²¿à²—ಳಿಗೆ ಇಚà³à²›à³†à²¯ Script ಗಳà³" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "ತà³à²µà²°à²¿à²¤ ತರಬೇತಿ" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "header.php ಗೆ ಸೇರಿಸಲೠ(Embeds) ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "ನಿಮà³à²® ಇಚà³à²›à³†à²¯ ಶೀರà³à²·à²¿à²•à³† Script ಗಳನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "footer.php ಗೆ ಸೇರಿಸಲà³(Embeds) ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "ನಿಮà³à²® ಇಚà³à²›à³†à²¯ ಅಡಿಟಿಪà³à²ªà²£à²¿ Script ಗಳನà³à²¨à³ ನಮೂದಿಸಿ" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "à²à²šà³à²›à²¿à²• ಮà³à²‚ದಿನ ಪà³à²Ÿà²µà²¨à³à²¨à³ ಸಕà³à²°à²¿à²¯à²—ೊಳಿಸಿ" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "ನೆರವà³" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "ಸೂಚನೆಗಳà³" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "WordPress ನ %1s ಮà³à²‚ದಿನ ಪà³à²Ÿà²¦ ಆಯà³à²•à³†à²—ಳನà³à²¨à³ %2s ಅತಿಕà³à²°à²®à²¿à²¸à³à²¤à³à²¤à²¦à³†" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "ಭಾಷಾಂತರಿಸಿ" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "%1$s ಗೆ ಸà³à²µà²¾à²—ತ! ಇಂದೇ %2$s ಗೆ ನವೀಕರಿಸಿ" + diff --git a/wp-content/themes/responsive/languages/ko_KR.mo b/wp-content/themes/responsive/languages/ko_KR.mo new file mode 100644 index 0000000..b476381 Binary files /dev/null and b/wp-content/themes/responsive/languages/ko_KR.mo differ diff --git a/wp-content/themes/responsive/languages/ko_KR.po b/wp-content/themes/responsive/languages/ko_KR.po new file mode 100644 index 0000000..aaed84c --- /dev/null +++ b/wp-content/themes/responsive/languages/ko_KR.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:31 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Korean, South Korea\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "페ì´ì§€ë“¤ï¼š" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ ì˜¤ëž˜ëœ í¬ìŠ¤íŠ¸" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "새로운 í¬ìŠ¤íŠ¸ ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "ë” ì½ê¸° ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "ì´ ê¸€ì€ ë¹„ë°€ 글입니다. ëŒ“ê¸€ë“¤ì„ ë³´ë ¤ë©´ 비밀 번호를 입력하세요." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ ì´ì „ 댓글들" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "새로운 댓글들 ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s for \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "성명" + +#: comments.php +msgid "E-mail" +msgstr "ì´ë©”ì¼" + +#: comments.php +msgid "Website" +msgstr "웹사ì´íŠ¸" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "위로" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://kr.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ ëŒì•„가기" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "댓글 ì—†ìŒ ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 댓글 ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% 댓글 ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s ì— í•œ ëŒ“ê¸€ì´ ìžˆìŠµë‹ˆë‹¤. “%2$s” 上" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "태그ë¨ï¼š" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "%s ì— ì˜¬ë¦° 글" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "편집" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — 여기서 만나 뵙게 ë˜ì–´ 반갑습니다." + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "ê²ë‚´ì§€ 마세요. ì˜µì…˜ì„ í•œë²ˆ íƒìƒ‰í•´ 봅시다." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "ë˜ëŒì•„가거나 %s ì›í•˜ì‹œëŠ” 페ì´ì§€ë¥¼ 검색해 보세요." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "홈입니다." + +#: loop-no-posts.php +msgid "← Home" +msgstr "← 홈" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "매ì¼ì˜ 보관소: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "매 ë‹¬ì˜ ë³´ê´€ì†Œï¼š %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "매 ë…„ì˜ ë³´ê´€ì†Œï¼š %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "블로그 보관소" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "ì›í•˜ì‹œëŠ” 검색어를 %s ì°¾ì„ ìˆ˜ 없습니다." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "%s ë¡œ 가는 ì˜êµ¬ì ì¸ ë§í¬" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "검색결과: %s" + +#: searchform.php +msgid "search here …" +msgstr "검색" + +#: searchform.php +msgid "Go" +msgstr "가기" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "사진 ì •ë³´" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "최대 í¬ê¸°ï¼š" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "ë Œì¦ˆì˜ êµ¬ê²½ï¼š f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "ì´ˆì  ê¸¸ì´ï¼š" + +#: sidebar-gallery.php +msgid "mm" +msgstr "밀리미터" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "셔터:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "사진기:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "ë³´ê´€ì†Œì— ìžˆìŒ" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "홈 위젯 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "ì´ê²ƒì´ 첫 홈 위젯 ìƒìžìž…니다. 수정하시려면 외모 > 위젯으로 가셔서 위ì—ì„œ 6째 위젯 곧 홈 위젯 1 ë²ˆì„ ì„ íƒí•˜ì„¸ìš”. ì œëª©ì€ ìœ„ì ¯ì—ì„œ 수정할 수 있습니다." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "홈 위젯 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "ì´ê²ƒì´ ë‘ ë²ˆì§¸ 홈 위젯 ìƒìžìž…니다. 수정하시려면 외모 > 위젯으로 가셔서 위ì—ì„œ 7째 위젯 곧 홈 위젯 2 ë²ˆì„ ì„ íƒí•˜ì„¸ìš”. ì œëª©ì€ ìœ„ì ¯ì—ì„œ 수정할 수 있습니다." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "홈 위젯 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "ì´ê²ƒì´ 세 번째 홈 위젯 ìƒìžìž…니다. 수정하시려면 외모 > 위젯으로 가셔서 위ì—ì„œ 8째 위젯 곧 홈 위젯 3 ë²ˆì„ ì„ íƒí•˜ì„¸ìš”. ì œëª©ì€ ìœ„ì ¯ì—ì„œ 수정할 수 있습니다." + +#: single.php +msgid "About" +msgstr "우리 소개" + +#: sitemap.php +msgid "Categories" +msgstr "분류별" + +#: sitemap.php +msgid "Latest Posts" +msgstr "최근 글" + +#: sitemap.php +msgid "Pages" +msgstr "페ì´ì§€" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "ìƒë‹¨ 메뉴" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "í—¤ë” ë©”ë‰´" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "하위 í—¤ë” ë©”ë‰´" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "아래 메뉴" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "글 올린 시간 %2$s 글 ì“´ì´ %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "%s ì˜ ê¸€ ëª¨ë‘ ë³´ê¸°" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "%s 보관소" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "íƒœê·¸ëœ í¬ìŠ¤íŠ¸ %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404 오류 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "테마 ë” ë³´ê¸°" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "진열장" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "주 사ì´ë“œ ë°”" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "1부분 사ì´ë“œë°” - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "우측 사ì´ë“œë°”" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "2부분 사ì´ë“œë°” - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "좌측 사ì´ë“œë°”" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "3부분 사ì´ë“œë°” - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "좌측 측면 해설 ë°˜ 페ì´ì§€" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "4부분 사ì´ë“œë°” - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "우측 사ì´ë“œë°” ë°˜ 페ì´ì§€" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "5부분 사ì´ë“œë°” - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "6부분 사ì´ë“œë°” - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "7부분 사ì´ë“œë°” - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "8부분 사ì´ë“œë°” - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "갤러리 사ì´ë“œ ë°”" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "9부분 사ì´ë“œë°” - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "íŒê¶Œ 위젯" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "10 부분 사ì´ë“œë°” - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "ìƒë‹¨ 위젯" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "11 부분 사ì´ë“œë°” - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "안녕! 세계여!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "H2 부 ì œëª©ì„ ìž…ë ¥í•˜ì„¸ìš”" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "제목, 부제목, 그리고 콘í…츠를 테마 옵션ì—ì„œ 편집할 수 있습니다. ìž‘ì „ 개시 버튼과 ì´ì— 해당하는 ë§í¬ë„ 편집 가능합니다. 오른쪽 ì´ë¯¸ì§€ëŠ” 다른 ì´ë¯¸ì§€ë¡œ êµì²´í•˜ê±°ë‚˜ 유튜브 비디오를 삽입할 수 있습니다." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "ìž‘ì „ 개시" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "테마 옵션" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "옵션 저장" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "테마 구성 요소" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Breadcrumb Lists í•´ì œ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "해제하려면 í´ë¦­" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ìž‘ì „ 개시 버튼 í•´ì œ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "옵션 저장" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "로고 올리기" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "맞춤형 í—¤ë”" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "기본 로고 바꾸거나 삭제하기" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "í´ë¦­í•˜ì„¸ìš”." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "홈 페ì´ì§€" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "헤드ë¼ì¸" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "헤드ë¼ì¸ ìž…ë ¥" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "부제목 헤드ë¼ì¸)" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "부제목 헤드ë¼ì¸ ìž…ë ¥" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ë‚´ìš© 부분" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "ë‚´ìš©ì„ ìž…ë ¥í•˜ì„¸ìš”" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "ìž‘ì „ 개시 (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "ë§í¬ë¥¼ 입력하세요." + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "ë§í¬ í…스트 (Text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "í…스트를 입력하세요." + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "특색 기사" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "See Docs" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "코드, 비디오 í˜¹ì€ ì‚¬ì§„ 소스를 붙여넣으세요." + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "웹 마스터 ë„구" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "구글 ID 숫ìžë§Œ 입력하세요." + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Bing ID 숫ìžë§Œ 입력하세요." + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Yahoo ID 숫ìžë§Œ 입력하세요." + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "사ì´íŠ¸ 통계 추ì (Tracker)" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "플러그ì¸ì´ 웹 마스터 ë„구를 대신한다면 공백으로 놔ë‘세요." + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, 그외 다른 사ì´íŠ¸ 통계 추ì ê¸°" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "소셜 ì•„ì´ì½˜" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "트위터 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "페ì´ìŠ¤ë¶ 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "LinkedIn 주소를 입력하세요" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "유튜브 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "StumbleUpon 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "RSS Feed 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google +" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "구글 플러스 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Instagram 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Pinterest 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Yelp! 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Vimeo 주소를 입력하세요." + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "foursquare 주소를 입력하세요." + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "맞춤 제작한 CSS 스타ì¼" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS 지ë„ì„œ" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "맞춤 제작한 CSS 스타ì¼ì„ 입력하세요." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "맞춤형 웹 스í¬ë¦½íŠ¸" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "í—¤ë”나 웹 페ì´ì§€ 푸터 맞춤형 웹 스í¬ë¦½íŠ¸" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "간단 설명서" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "í—¤ë” ë¶€ë¶„ì— ë°•ì•„ 넣기 ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "웹 페ì´ì§€ í—¤ë” ë¶€ë¶„ì„ ìœ„í•œ 맞춤형 스í¬ë¦½íŠ¸ë¥¼ 입력하세요." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "웹 페ì´ì§€ 하단 ë¶€ë¶„ì— ë°•ì•„ 넣기 ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "웹 페ì´ì§€ 하단 ë¶€ë¶„ì„ ìœ„í•œ 맞춤형 스í¬ë¦½íŠ¸ë¥¼ 입력하세요." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/lt_LT.mo b/wp-content/themes/responsive/languages/lt_LT.mo new file mode 100644 index 0000000..29969f1 Binary files /dev/null and b/wp-content/themes/responsive/languages/lt_LT.mo differ diff --git a/wp-content/themes/responsive/languages/lt_LT.po b/wp-content/themes/responsive/languages/lt_LT.po new file mode 100644 index 0000000..723716c --- /dev/null +++ b/wp-content/themes/responsive/languages/lt_LT.po @@ -0,0 +1,874 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:34 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Lithuanian, Lithuania\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Puslapiai:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Ankstesni skelbimai" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nauji skelbimai ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Skaityti plaÄiau ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Å is skelbimas yra apsaugotas slaptažodžiu. NorÄ—dami pažiÅ«rÄ—ti komentarus įveskite slaptažodį." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Ankstesni komentarai" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nauji komentarai ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pingai/Grįžimo nuorodos" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s kam: \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Vardas" + +#: comments.php +msgid "E-mail" +msgstr "E-paÅ¡tas" + +#: comments.php +msgid "Website" +msgstr "Tinklapis" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "slinkite į viršų" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Å ablonas \"Responsive\"" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Grįžti į" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "NÄ—ra komentarų ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 komentaras ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% komentarų ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Vienas komentaras iÅ¡ “%2$sâ€" +msgstr[1] "%1$s komentarų iÅ¡ “%2$sâ€" +msgstr[2] "%1$s komentarų iÅ¡ “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "PažymÄ—ti:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Skelbta %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Redaguoti" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 - Smagu Jus sutikti Äia!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Nepanikuok, mes kartu tai įveiksim. PanagrinÄ—kime galimus sprendimus." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "JÅ«s galite grįžti %s arba, naudodamiesi paieÅ¡ka, raskite ieÅ¡komÄ… puslapį" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Pradinis" + +#: loop-no-posts.php +msgid "← Home" +msgstr "↠Į pradinį" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dienos archyvas: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MÄ—nesio archyvas: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Metų archyvas: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog'o archyvas" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "JÅ«s ieÅ¡kote %s neatitiko jokių įrašų" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Pastovi nuoroda į %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "%s paieÅ¡kos rezultatai." + +#: searchform.php +msgid "search here …" +msgstr "ieÅ¡kokite Äia …" + +#: searchform.php +msgid "Go" +msgstr "Pirmyn" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Paveiksliuko informacija" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Visas dydis:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Diafragrma: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Fokusavimas:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "IÅ¡laikymas:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Fotoaparatas:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Archyve" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Pradinio Valdiklis Nr.1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "ÄŒia yra JÅ«sų pirmo Pradinio valdiklio sritis. NorÄ—dami paredaguoti praÅ¡ome eiti į IÅ¡vaizda > Valdikliai ir pasirinkti 6-Ä…jį valdiklį nuo virÅ¡aus esantį Å¡eÅ¡toje srityje pavadintoje Pradinio valdiklis Nr.1. Valdiklių pavadinimas taip pat yra redaguojamas." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Pradinio Valdiklis Nr.2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "ÄŒia yra JÅ«sų antro Pradinio valdiklio sritis. NorÄ—dami paredaguoti praÅ¡ome eiti į IÅ¡vaizda > Valdikliai ir pasirinkti 7-Ä…jį valdiklį nuo virÅ¡aus esantį septintoje srityje pavadintoje Pradinio valdiklis Nr.2. Valdiklių pavadinimas taip pat yra redaguojamas." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Pradinio Valdiklis Nr.3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "ÄŒia yra JÅ«sų treÄio Pradinio valdiklio sritis. NorÄ—dami paredaguoti praÅ¡ome eiti į IÅ¡vaizda > Valdikliai ir pasirinkti 8-Ä…jį valdiklį nuo virÅ¡aus esantį aÅ¡tuntoje srityje pavadintoje Pradinio valdiklis Nr.3. Valdiklių pavadinimas taip pat yra redaguojamas." + +#: single.php +msgid "About" +msgstr "Apie" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorijos" + +#: sitemap.php +msgid "Latest Posts" +msgstr "VÄ—liausi skelbimai" + +#: sitemap.php +msgid "Pages" +msgstr "Puslapiai" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "VirÅ¡utinis meniu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "AntraÅ¡tÄ—s meniu" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Sub-antraÅ¡tÄ—s meniu" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "ParaÅ¡tÄ—s meniu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Paskelbta %2$s paskelbÄ— %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "ŽiÅ«rÄ—ti visus skelbimus nuo %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archyvas už %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "PažymÄ—ti skelbimai %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Klaida 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Daugiau Å¡ablonų" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Vitrina" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Pagrindinis Å¡oninis meniu" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Pirma sritis - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "DeÅ¡inys Å¡oninis meniu" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Antra sritis - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Kairysis Å¡oninis meniu" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "TreÄia sritis - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Kairysis Å¡oninis meniu pusÄ— puslapio" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Ketvirta sritis - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "DeÅ¡inysis Å¡oninis meniu pusÄ— puslapio" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Penkta sritis - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Å eÅ¡ta sritis - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Septinta sritis - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "AÅ¡tunta sritis - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galerijos Å¡oninis meniu" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Devinta sritis - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Sveikas, Pasauli!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "JÅ«sų H2 sub-antraÅ¡tÄ— Äia" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "JÅ«sų pavadinimas, sub-pavadinimas ir turinys yra redaguojami Å ablono pasirinktyse. Taip pat Kvietimo veikti mygtukas ir jo paskirties nuoroda. PaveikslÄ—lis deÅ¡inÄ—je gali bÅ«ti paveikslÄ—lis arba net YouTube filmukas, jei to pageidaujate." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Kvietimas veikti" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Å ablono pasirinktys" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Pasirinktys iÅ¡saugotos" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Å ablono elementai" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "IÅ¡jungti Breadcrumb sÄ…raÅ¡us?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "PažymÄ—kite norÄ—dami iÅ¡jungti" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "IÅ¡jungti Kvietimo veikti mygtukÄ…?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Saugojimo pasirinktys" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logotipo įkÄ—limas" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "PasirinktinÄ— AntraÅ¡tÄ—" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Reikia pakeisti ar paÅ¡alinti numatytÄ…jį logotipÄ…?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Spauskite Äia." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Pagrindinis puslapis" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "AntraÅ¡tÄ—" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Ä®veskite savo AntraÅ¡tÄ™" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "PaantraÅ¡tÄ—" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Ä®veskite savo paantraÅ¡tÄ™" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Turinio sritis" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Ä®veskite savo turinį" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Kvietimo veikti (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Ä®veskite Kvietimo veikti URL" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Kvietimo veikti (tekstas)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Ä®veskite Kvietimo veikti tekstÄ…" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Teminis turinys" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "ŽiÅ«rÄ—kite dokumentus" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Tinklapio administratoriaus įrankiai" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google tinklapio tapatumo patikrinimas" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Ä®veskite tik JÅ«sų Google ID numerį" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing tinklapio tapatumo patikrinimas" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Ä®veskite tik JÅ«sų Bing ID numerį" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo tinklapio tapatumo patikrinimas" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Ä®veskite tik JÅ«sų Yahoo ID numerį" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Tinklapio statistikos registratorius" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Palikite tuÅ¡ÄiÄ… jei įskiepis tvarko JÅ«sų tinklapio administratoriaus įrankius" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, bet kuris kitas ar jie visi." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "SocialinÄ—s piktogramos" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Ä®veskite savo Twitter URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Ä®veskite savo Facebook URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Ä®veskite savo LinkedIn URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Ä®veskite savo YouTube URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Ä®veskite savo StumbleUpon URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS srautas" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Ä®veskite savo RSS srauto URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Ä®veskite savo Google URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Ä®veskite savo Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Ä®veskite savo Pinterest URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "PadÄ—kite!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Ä®veskite savo PadÄ—kite! URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Ä®veskite savo Vimeo URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Ä®veskite savo foursquare URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Savi CSS stiliai" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS vadovÄ—lis" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Ä®veskite savo CSS stilius." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/lv.mo b/wp-content/themes/responsive/languages/lv.mo new file mode 100644 index 0000000..86c9623 Binary files /dev/null and b/wp-content/themes/responsive/languages/lv.mo differ diff --git a/wp-content/themes/responsive/languages/lv.po b/wp-content/themes/responsive/languages/lv.po new file mode 100644 index 0000000..1a5056f --- /dev/null +++ b/wp-content/themes/responsive/languages/lv.po @@ -0,0 +1,874 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Latvian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Lapas:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ VecÄki ieraksti" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "JaunÄki ieraksti ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "LasÄ«t vairÄk ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Å is ieraksts ir aizsargÄts ar paroli. Ievadiet paroli, lai apskatÄ«tu pievienotos komentÄrus." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ VecÄki komentÄri" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "JaunÄki komentÄri ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Atsauces" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s par \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "VÄrds" + +#: comments.php +msgid "E-mail" +msgstr "E-pasts" + +#: comments.php +msgid "Website" +msgstr "TÄ«mekļa vietne" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "ritinÄt uz augÅ¡u" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive kažociņš" + +#: footer.php +msgid "powered by" +msgstr "darbina" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://lv.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Atgriezties" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "KomentÄru nav ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 komentÄrs ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% komentÄri ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Nav komentÄru par “%2$s”" +msgstr[1] "%1$s komentÄrs par “%2$s”" +msgstr[2] "%1$s komentÄri par “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "AtzÄ«mÄ“ts ar birkÄm:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "PublicÄ“ts %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Rediģēt" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Interesanti JÅ«s Å¡eit satikt!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Neuztraucieties, mÄ“s atrisinÄsim Å¡o problÄ“mu kopÄ. ApskatÄ«sim Jums piedÄvÄtÄs iespÄ“jas." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "JÅ«s varat doties atpakaļ uz %s vai arÄ« vÄ“lreiz meklÄ“t lapu, kuru mÄ“Ä£inÄjÄt atrast iepriekÅ¡" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "SÄkums" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← SÄkums" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dienas arhÄ«vs: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MÄ“neÅ¡a arhÄ«vs: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Gada arhÄ«vs: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Bloga arhÄ«vs" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "JÅ«su meklÄ“tÄ frÄze %s neatbilda nevienam ierakstam" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "PastÄvÄ«gÄ saite uz %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "MeklÄ“Å¡anas rezultÄti frÄzei: %s" + +#: searchform.php +msgid "search here …" +msgstr "meklÄ“jiet Å¡eit …" + +#: searchform.php +msgid "Go" +msgstr "Aiziet" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "AttÄ“la informÄcija" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Pilns izmÄ“rs:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Diafragmas atvÄ“rums: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Fokusa attÄlums:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Aizvars:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "FotoaparÄts:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "ArhÄ«vs" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "SÄkumlapas logdaļa 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Å Ä« ir JÅ«su pirmÄ sÄkumlapas logdaļas kastÄ«te. Lai to rediģētu Jums jÄdodas uz Dizains > Logdaļas un jÄizvÄ“las sestÄ logdaļa ar nosaukumu SÄkumlapas logdaļa 1. Å ajÄ izvÄ“lnÄ“ varat rediģēt arÄ« logdaļas nosaukumu." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "SÄkumlapas logdaļa 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Å Ä« ir JÅ«su otrÄ sÄkumlapas logdaļas kastÄ«te. Lai to rediģētu Jums jÄdodas uz Dizains > Logdaļas un jÄizvÄ“las septÄ«tÄ logdaļa ar nosaukumu SÄkumlapas logdaļa 2. Å ajÄ izvÄ“lnÄ“ varat rediģēt arÄ« logdaļas nosaukumu." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "SÄkumlapas logdaļa 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Å Ä« ir JÅ«su treÅ¡Ä sÄkumlapas logdaļas kastÄ«te. Lai to rediģētu Jums jÄdodas uz Dizains > Logdaļas un jÄizvÄ“las astotÄ logdaļa ar nosaukumu SÄkumlapas logdaļa 3. Å ajÄ izvÄ“lnÄ“ varat rediģēt arÄ« logdaļas nosaukumu." + +#: single.php +msgid "About" +msgstr "Par" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorijas" + +#: sitemap.php +msgid "Latest Posts" +msgstr "JaunÄkie ieraksti" + +#: sitemap.php +msgid "Pages" +msgstr "Lapas" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "AugÅ¡Ä“jÄ izvÄ“lne" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Galvenes izvÄ“lne" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "ApakÅ¡galvenes izvÄ“lne" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "KÄjenes izvÄ“lne" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "PublicÄ“ts %2$s publicÄ“jis %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "ApskatÄ«t visus %s ierakstus" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "ArhÄ«vs par %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Ar birkÄm atzÄ«mÄ“tie ieraksti %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Kļūda 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "VairÄk kažociņu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "DemonstrÄcija" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "GalvenÄ sÄnjosla" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Laukums 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "LabÄ sÄnjosla" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Laukums 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "KreisÄ sÄnjosla" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Laukums 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "KreisÄ sÄnjosla pusei lapas" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Laukums 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "LabÄ sÄnjosla pusei lapas" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Laukums 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Laukums 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Laukums 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Laukums 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galerijas sÄnjosla" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Laukums 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "AtsauÄu logdaļa" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Laukums 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "AugÅ¡Ä“jÄ logdaļa" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Laukums 12 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Sveika, pasaule!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Tavs H2 apakÅ¡virsraksts" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Tavs virsraksts, apakÅ¡virsraksts un saturs ir pÄrvaldÄms Dizains > Kažociņa iestatÄ«jumi, tÄpat kÄ DarbÄ«bas izsaukuma poga un tÄs saite. TÄpat, pa labi var atrasties gan attÄ“ls, gan YouTube video, ja JÅ«s tÄ vÄ“laties." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "DarbÄ«bas izsaukums" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Kažociņa iestatÄ«jumi" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "IestatÄ«jumi saglabÄti" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Kažociņa elementi" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "AtspÄ“jot atpakaļceļa sarakstus?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "KlikÅ¡Ä·iniet, lai atspÄ“jotu" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "AtspÄ“jot DarbÄ«bas izsaukuma pogu?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "SaglabÄt iestatÄ«jumus" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logotipa augÅ¡upielÄde" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "PielÄgota galvene" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "NepiecieÅ¡ams aizvietot vai noņemt noklusÄ“juma logotipu?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Spiediet Å¡eit." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "SÄkumlapa" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Virsraksts" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Ievadiet virsrakstu" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "ApakÅ¡virsraksts" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Ievadiet apakÅ¡virsrakstu" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Satura laukums" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Ievadiet saturu" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "DarbÄ«bas izsaukums (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Ievadiet darbÄ«bas izsaukuma saiti" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "DarbÄ«bas izsaukums (teksts)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Ievadiet darbÄ«bas izsaukuma tekstu" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Izceltais saturs" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "ApskatÄ«t dokumentÄciju" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "IelÄ«mÄ“jiet savu saÄ«sinÄjuma kodu, video vai attÄ“la avotu" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "TÄ«mekļa pÄrziņa rÄ«ki" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google vietnes verifikÄcija" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Ievadiet tikai savu Google ID numuru" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing vietnes verifikÄcija" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Ievadiet tikai savu Bing ID numuru" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo vietnes verifikÄcija" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Ievadiet tikai savu Yahoo ID numuru" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Vietnes statistikas sekotÄjs" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "AtstÄjiet tukÅ¡u, ja spraudnis apstrÄdÄ JÅ«su tÄ«mekļa pÄrziņa rÄ«kus" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, jebkurÅ¡ cits pakalpojums vai visi pakalpojumi." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "SociÄlo tÄ«klu ikonas" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Ievadiet savu Twitter saiti" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Ievadiet savu Facebook saiti" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Ievadiet savu LinkedIn saiti" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Ievadiet savu YouTube saiti" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Ievadiet savu StumbleUpon saiti" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS barotne" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Ievadiet savu RSS barotnes saiti" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Ievadiet savu Google+ saiti" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Ievadiet savu Instagram saiti" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Ievadiet savu Pinterest saiti" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Ievadiet savu Yelp! saiti" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Ievadiet savu Vimeo saiti" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Ievadiet savu foursquare saiti" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "PielÄgoti CSS stili" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en-US/docs/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS apmÄcÄ«ba" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Ievadiet savus pielÄgotos CSS stilus." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "PielÄgoti skripti" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "PielÄgoti skripti galvenei un kÄjenei" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Īsa apmÄcÄ«ba" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Tiek iekļauts header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Ievadiet savu pielÄgoto galvenes skriptu." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Tiek iekļauts footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Ievadiet savu pielÄgoto kÄjenes skriptu." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/mk_MK.mo b/wp-content/themes/responsive/languages/mk_MK.mo new file mode 100644 index 0000000..a0f1bda Binary files /dev/null and b/wp-content/themes/responsive/languages/mk_MK.mo differ diff --git a/wp-content/themes/responsive/languages/mk_MK.po b/wp-content/themes/responsive/languages/mk_MK.po new file mode 100644 index 0000000..6038a28 --- /dev/null +++ b/wp-content/themes/responsive/languages/mk_MK.po @@ -0,0 +1,825 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-10-18 12:16:01 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Macedonian, Macedonia [FYROM]\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +msgid "Pages:" +msgstr "Страници:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "" + +#: comments.php +msgid "Name" +msgstr "" + +msgid "E-mail" +msgstr "Е-пошта" + +msgid "Website" +msgstr "Веб-Ñтраница" + +#: footer.php +msgid "©" +msgstr "" + +#: footer.php +msgid "scroll to top" +msgstr "" + +#: footer.php +msgid "↑" +msgstr "" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "" + +msgid "Responsive Theme" +msgstr "Responsive тема" + +msgid "powered by" +msgstr "од" + +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "" + +msgid "Tagged with:" +msgstr "Означени Ñо:" + +msgid "Posted in %s" +msgstr "Објавено во %s" + +msgid "Edit" +msgstr "Промени" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "" + +msgid "Home" +msgstr "Почетна" + +#: loop-no-posts.php +msgid "← Home" +msgstr "" + +msgid "Daily Archives: %s" +msgstr "Дневни архиви %s" + +msgid "Monthly Archives: %s" +msgstr "МеÑечни архиви %s" + +msgid "Yearly Archives: %s" +msgstr "Годишни архиви %s" + +msgid "Blog Archives" +msgstr "Блог архиви" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "" + +msgid "Permanent Link to %s" +msgstr "Трајна врÑка до %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "" + +#: searchform.php +msgid "search here …" +msgstr "" + +#: searchform.php +msgid "Go" +msgstr "" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "" + +#: sidebar-gallery.php +msgid "mm" +msgstr "" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "" + +#: single.php +msgid "About" +msgstr "" + +#: sitemap.php +msgid "Categories" +msgstr "" + +#: sitemap.php +msgid "Latest Posts" +msgstr "" + +#: sitemap.php +msgid "Pages" +msgstr "" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "" + +msgid "View all posts by %s" +msgstr "Сите објави од %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +msgid "Hello, World!" +msgstr "Hello, World!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/ms_MY.mo b/wp-content/themes/responsive/languages/ms_MY.mo new file mode 100644 index 0000000..7935a55 Binary files /dev/null and b/wp-content/themes/responsive/languages/ms_MY.mo differ diff --git a/wp-content/themes/responsive/languages/ms_MY.po b/wp-content/themes/responsive/languages/ms_MY.po new file mode 100644 index 0000000..bb8e861 --- /dev/null +++ b/wp-content/themes/responsive/languages/ms_MY.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:35 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Malay, Malaysia (Latin)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Laman:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Artikel terdahulu" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Artikel terkini ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Sambung lagi ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Artikel ini memerlukan kata laluan. Masukkan kata laluan untuk melihat komen." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Komen terdahulu" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Komen terkini ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s untuk \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nama" + +#: comments.php +msgid "E-mail" +msgstr "Emel" + +#: comments.php +msgid "Website" +msgstr "Laman Web" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "pergi ke atas" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "menggunakan" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Pulang ke" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Tiada Komen ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Komen ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Komen ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s komen pada “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Tag:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Diterbitkan dalam %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Ubahsuai" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Laman yang anda kehendaki tidak dijumpai" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Jangan risau. Mari kita buat pilihan lain." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Anda boleh pulang ke %s atau cari laman yang dikehendaki" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Laman Utama" + +#: loop-no-posts.php +msgid "← Home" +msgstr "↠Laman Utama" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arkib Harian: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arkib Bulanan: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arkib Tahunan: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arkib Blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Carian anda untuk %s tidak padan dengan mana-mana artikel" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Pautan Kekal ke %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Keputusan Carian untuk: %s" + +#: searchform.php +msgid "search here …" +msgstr "mulakan carian di sini ..." + +#: searchform.php +msgid "Go" +msgstr "Pergi" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Maklumat Gambar" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Saiz Penuh:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Aperture: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Jarak Fokal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Shutter:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Dalam Arkib" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Widget Laman Utama 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Ini adalah kotak widget pertama anda. Bagi membuat perubahan, sila pergi ke Appearance > Widgets dan pilih widget ke-6 dari atas di kawasan ke-enam yang bertajuk Widget Laman Utama 1. Tajuk kotak ini juga boleh diubah." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Widget Laman Utama 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Ini adalah kotak widget kedua anda. Bagi membuat perubahan, sila pergi ke Appearance > Widgets dan pilih widget ke-7 dari atas di kawasan ke-tujuh yang bertajuk Widget Laman Utama 2. Tajuk kotak ini juga boleh diubah." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Widget Laman Utama 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Ini adalah kotak widget ketiga anda. Bagi membuat perubahan, sila pergi ke Appearance > Widgets dan pilih widget ke-8 dari atas di kawasan ke-lapan yang bertajuk Widget Laman Utama 3. Tajuk kotak ini juga boleh diubah." + +#: single.php +msgid "About" +msgstr "Perihal" + +#: sitemap.php +msgid "Categories" +msgstr "Kategori" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Artikel Terkini" + +#: sitemap.php +msgid "Pages" +msgstr "Laman" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menu Atas" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menu Bahagian Atas" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Menu Bahagian Atas Sekunder" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu Bahagian Bawah" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Diterbitkan pada %2$s oleh %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Lihat semua artikel yang ditulis oleh %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arkib bagi %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Artikel ditag dengan %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Ralat 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Tema-tema Lain" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Pameran" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Sidebar Utama" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Kawasan Satu - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Sidebar Kanan" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Kawasan Dua - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Sidebar Kiri" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Kawasan Tiga - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Sidebar Kiri Separuh Laman" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Kawasan Empat - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Sidebar Kanan Separuh Laman" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Kawasan Lima - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Kawasan Enam - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Kawasan Tujuh - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Kawasan Lapan - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Sidebar Galeri" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Kawasan Sembilan - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget Colophon" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Bahagian Kesepuluh - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget Atas" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Bahagian Keduabelas - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Selamat pagi semua!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Sila tulis sub-tajuk H2 di sini" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Tajuk, sub-tajuk dan kandungan ini boleh diubah dalam Pilihan Tema. Butang Menyeru Bertindak dan desitinasinya juga boleh diubah. Gambar di sebelah kanan ini boleh diganti dengan gambar tersendiri ataupun tayangan YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Menyeru Bertindak" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Pilihan Tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Pilihan telah disimpan" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Unsur-unsur Tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Batalkan \"Breadcrumb Lists\"?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Pilih untuk batalkan" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Batalkan butang Menyeru Bertindak?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Simpan Pilihan" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Muatnaik Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Header tersendiri" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Perlu gantikan atau buang logo asal?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Tekan di sini." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Laman Mula" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Tajuk" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Sila tulis tajuk" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Sub-tajuk" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Sila tulis sub-tajuk anda" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Kawasan isi kandungan" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Tulis isi kandungan anda di sini" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Menyeru Bertindak (destinasi URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Masukkan destinasi URL butang menyeru bertindak" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Menyeru Bertindak (Teks)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Masukkan teks butang menyeru bertindak" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Kandungan Istimewa" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Lihat Dokumen" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Masukkan shortcode, tayangan atau gambar anda" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Alat-alat pengurus laman web" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Pengesahan laman web Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Masukkan nombor ID Google sahaja" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Pengesahan laman web Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Masukkan nombor ID Bing sahaja" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Pengesahan laman web Yahoo!" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Masukkan nombor ID yahoo sahaja" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Penjejak statistik laman web" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Biarkan kosong jika alat-alat pengurus laman web anda dikawal oleh \"plugin\"" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, dan lain-lain." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Ikon Media Sosial" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Sila masukkan URL Twitter anda" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Sila masukkan URL Facebook anda" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Sila masukkan URL LinkedIn anda" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Sila masukkan URL YouTube anda" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Sila masukkan URL StumbleUpon anda" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Capaian RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Sila masukkan URL bagi capaian RSS anda" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Sila masukkan URL Google+ anda" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Sila masukkan URL Instagram anda" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Sila masukkan URL Pinterest anda" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Masukkan URL Yelp! anda" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Masukkan URL Vimeo anda" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Masukkan URL foursquare anda" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Kod CSS tersendiri" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Masukkan kod CSS tersendiri" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Skrip tersendiri" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Skrip tersendiri Bahagian Atas dan Bahagian Bawah" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Bengkel pantas" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Dimasukkan pada header.php &darr" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Masukkan skrip Bahagian Atas tersendiri." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Dimasukkan pada footer.php &darr" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Masukkan skrip Bahagian Bawah tersendiri." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/nb_NO.mo b/wp-content/themes/responsive/languages/nb_NO.mo new file mode 100644 index 0000000..64c11e1 Binary files /dev/null and b/wp-content/themes/responsive/languages/nb_NO.mo differ diff --git a/wp-content/themes/responsive/languages/nb_NO.po b/wp-content/themes/responsive/languages/nb_NO.po new file mode 100644 index 0000000..8b78470 --- /dev/null +++ b/wp-content/themes/responsive/languages/nb_NO.po @@ -0,0 +1,865 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:32 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Norwegian BokmÃ¥l, Norway\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Sider:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Eldre innlegg" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nyere innlegg ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Les mer ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Dette innlegget er passordbeskyttet. Skriv inn passordet for Ã¥ vise kommentarer." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Eldre kommentarer" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nyere kommentarer ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings og/Tilbakesporinger" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s for \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Navn" + +#: comments.php +msgid "E-mail" +msgstr "E-post" + +#: comments.php +msgid "Website" +msgstr "Webside" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "Bla til toppen" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "drevet av" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://nb.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "Tilbake til" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Ingen Kommentarer" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Kommentar" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Kommentarer" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "En kommentar pÃ¥ “%2$sâ€" +msgstr[1] "%1$s kommentarer pÃ¥ “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Merket med:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publisert i %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Rediger" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "Hyggelig Ã¥ treffe pÃ¥ deg her!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ingen grunn til panikk, vi finner ut av dette sammen. La oss se pÃ¥ alternativene." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Du kan gÃ¥ tilbake %s eller søke etter siden du leter etter." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Hjem" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Hjem" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Daglige Arkiver: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MÃ¥nedlige Arkiver: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ã…rsarkiver: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Bloggarkiver" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Ditt søk %s samsvarte ikke med noen oppføringer" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Permanent Lenke til %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Søkeresultat(er) for: %s" + +#: searchform.php +msgid "search here …" +msgstr "søk her" + +#: searchform.php +msgid "Go" +msgstr "GÃ¥" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Bildeinformasjon" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Full størrelse:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr " Blender:f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brennvidde:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Lukker:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "I Arkivet" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Hjem Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Dette er din første hjem-widgetboks. For Ã¥ redigere, gÃ¥ til Utseende > Widgeter og velg den 6. widgeten fra toppen i omrÃ¥de 6, navngitt \"Hjem Widget 1\". Tittelen kan ogsÃ¥ velges direkte fra widgeten." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Hjem Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Dette er din andre hjem-widgetboks. For Ã¥ redigere, gÃ¥ til Utseende > Widgeter og velg den 7. widgeten fra toppen i omrÃ¥de 7, navngitt \"Hjem Widget 2\". Tittelen kan ogsÃ¥ velges direkte fra widgeten." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Hjem Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Dette er din tredje hjem-widgetboks. For Ã¥ redigere, gÃ¥ til Utseende > Widgeter og velg den 8. widgeten fra toppen i omrÃ¥de 8, navngitt \"Hjem Widget 3\". Tittelen kan ogsÃ¥ velges fra widgeten." + +#: single.php +msgid "About" +msgstr "Om" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorier" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Siste innlegg" + +#: sitemap.php +msgid "Pages" +msgstr "Sider" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Toppmeny" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Meny i Sidetopp-omrÃ¥det" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Menyen under toppomrÃ¥det" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Meny i BunnomrÃ¥det" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Side %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publisert %2$s av %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Vis alle innlegg av %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arkiv for %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Innlegg merket med %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404-feil" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Flere Temaer" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Utstilling" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Hovedsidepanel" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "OmrÃ¥de 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Høyre Sidepanel" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "OmrÃ¥de 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Venstre Sidepanel" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "OmrÃ¥de 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Venstre Sidepanel i Halvside" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "OmrÃ¥de 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Høyre sidepanel i Halvside" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "OmrÃ¥de 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "OmrÃ¥de 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "OmrÃ¥de 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "OmrÃ¥de 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galleri i Sidepanel" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "OmrÃ¥de 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Kolofon-widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "OmrÃ¥de 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Topp-widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "OmrÃ¥de 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blogg (Fullstendige innlegg)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Bloggutdrag (Kort beskrivelse)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Innhold/Sidepanel" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Sidepanel/Innhold" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Innhold/Halvsides Sidepanel" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Sidepanel/Halvsides innhold" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Side i Fullbredde (ingen sidepanel)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Landingsside (ingen meny)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Sidekart" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Utformingsoppsett" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Standard" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hei, Verden!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Din H2-underposisjonsoverskrift her" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Tittelen du velger, andre overskrift og dette svært viktige innholdet kan redigeres fra Temainnstillinger, i tillegg til knappen for Handlingsoppfordring og den respektive mÃ¥llenken. Bildet pÃ¥ høyresiden kan være en grafikkfil, eller til og med Youtube om du vil." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Handlingsoppfordring" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Temainnstillinger" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Innstillinger er lagret" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Temaelementer" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Deaktiver navigeringslister?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Kryss av for Ã¥ deaktivere" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Deaktiver Handlingsoppfordring-knappen?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Lagre innstillinger" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Gjenopprett Standardinnstillinger" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Opplasting av Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Egendefinert overskrift" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Vil du bytte ut eller fjerne standardlogoen?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klikk her." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Hovedsiden" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Overskrift" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Skriv inn hovedoverskriften" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Andre overskrift" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Skriv inn andre overskrift" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "InnholdsomrÃ¥det" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Skriv eller lim inn innholdet ditt" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Handlingsoppfordring (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Angi din URL for Handlingsoppfordring" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Handlingsoppfordring (Tekst)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Skriv inn din tekst til Handlingsoppfordring" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Fokusinnhold" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Se Dokumentasjonen" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Lim inn din hurtigkode, video eller bildekilde" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Standard Utformingsoppsett" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Standard utforming for statisk side" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Standard utforming for Enkelt Blogginnlegg" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Standard utformingsoppsett for Oversikt over Blogginnlegg" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Verktøy for nettredaktører" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Nettstedsverifisering" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Angi ditt Google ID-nummer" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Nettstedsverifisering" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Angi kun ditt Bing ID-nummer" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Nettstedsverifisering" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Angi kun ditt Yahoo ID-nummer" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Sporing for statistikk over nettstedet" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Velg blankt om du har et innstikk som hÃ¥ndterer dine webmaster-verktøy" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, hvilken som helst annen - eller alle." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sosiale ikoner" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Angi din Twitter-URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Angi din Facebook-URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Angi din LinkedIn-URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Angi din YouTube-URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Angi din StumbleUpon-URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS-strøm" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Angi URL for RSS-strøm" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Angi din Google+-URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Angi din Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Angi din Pinterest-URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Angi din Yelp!-URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Angi din Vimeo-URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Angi din foursquare-URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Egne CSS-stiler" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "http://no.wikipedia.org/wiki/Cascading_Style_Sheets" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS-veiledning" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Fyll inn egendefinerte CSS-stiler." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Egendefinerte skript" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Egendefinerte skript til Topp- og bunnomrÃ¥de av siden." + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Rask Veiledning" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Innebygd i header.php" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Skriv eller lim inn egendefinert skript" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Bygd inn i footer.php" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Skriv eller lim inn egendefinert skript for bunnomrÃ¥det." + +msgid "Enable Custom Front Page" +msgstr "Aktiver egendefinert fremside" + +msgid "Help" +msgstr "Hjelp" + +msgid "Instructions" +msgstr "Instruksjoner" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +msgid "Translate" +msgstr "Oversett" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/nl_NL.mo b/wp-content/themes/responsive/languages/nl_NL.mo new file mode 100644 index 0000000..ccecd91 Binary files /dev/null and b/wp-content/themes/responsive/languages/nl_NL.mo differ diff --git a/wp-content/themes/responsive/languages/nl_NL.po b/wp-content/themes/responsive/languages/nl_NL.po new file mode 100644 index 0000000..fa643d7 --- /dev/null +++ b/wp-content/themes/responsive/languages/nl_NL.po @@ -0,0 +1,741 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:30 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Dutch, Netherlands\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Pagina's" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Oudere berichten" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nieuwere berichten ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Lees meer ›" + +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Dit bericht is beschermd met een wachtwoord. Voer het wachtwoord in om reacties te zien." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Oudere reacties" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nieuwere reacties ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s op \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Naam" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Website" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "scroll naar boven" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +msgid "Responsive Theme" +msgstr "Responsive thema" + +#: footer.php +msgid "powered by" +msgstr "ondersteund door" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://nl.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Keer terug naar" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Geen Reacties ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Reactie ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Reacties ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "1 Reactie op “%2$s”" +msgstr[1] "%1$s reacties op “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Getagd met" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Geplaatst in %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Bewerken" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Leuk om je hier tegen te komen!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Niet in paniek raken. Laten we kijken wat de mogelijkheden hier zijn." + +msgid "You can return %s or search for the page you were looking for." +msgstr "Je kan teruggaan naar %s of zoeken naar de pagina die je wilde zien." + +msgid "Home" +msgstr "Home" + +msgid "← Home" +msgstr "← Home" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dagelijks archief: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Maandelijks archief: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Jaarlijks archief: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog archief" + +msgid "Your search for %s did not match any entries." +msgstr "Je zoektocht naar %s heeft geen resultaten opgeleverd" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Permanente Link naar %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Zoekresultaten voor: %s" + +#: searchform.php +msgid "search here …" +msgstr "zoek hier …" + +#: searchform.php +msgid "Go" +msgstr "Ga" + +msgid "Image Information" +msgstr "Afbeeldingsinformatie" + +msgid "Full Size:" +msgstr "Volledige grootte" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Opening f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brandpuntafstand" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Sluiter" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Camera" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "In het Archief" + +msgid "Home Widget 1" +msgstr "Home Widget 1" + +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Dit is je eerste home widget box. Om te bewerken ga naar Uiterlijk > Widgets en kies het 6e widget van boven in gebied 6 genaamd Home Widget 1. Titel is ook te bewerken vanuit de widgets." + +msgid "Home Widget 2" +msgstr "Home Widget 2" + +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Dit is je tweede home widget box. Om te bewerken ga naar Uiterlijk > Widgets en kies het 7e widget van boven in gebied 7 genaamd Home Widget 2. Titel is ook te bewerken vanuit de widgets." + +msgid "Home Widget 3" +msgstr "Home Widget 3" + +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Dit is je derde home widget box. Om te bewerken ga naar Uiterlijk > Widgets en kies het 8e widget van boven in gebied 8 genaamd Home Widget 3. Titel is ook te bewerken vanuit de widgets." + +#: single.php +msgid "About" +msgstr "Over" + +#: sitemap.php +msgid "Categories" +msgstr "Categorieën" + +msgid "Latest Posts" +msgstr "Laatste berichten" + +#: sitemap.php +msgid "Pages" +msgstr "Pagina's" + +msgid "Top Menu" +msgstr "Bovenste Menu" + +msgid "Header Menu" +msgstr "Header Menu" + +msgid "Sub-Header Menu" +msgstr "Subheader Menu" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Voettekst Menu" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Pagina %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Geplaatst op %2$s door %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Bekijk alle berichten geplaatst door %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archief voor %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Berichten getagd met %s" + +msgid "Error 404" +msgstr "Fout 404" + +msgid "More Themes" +msgstr "Meer thema's" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Etalage" + +msgid "Main Sidebar" +msgstr "Hoofd zijbalk" + +msgid "Area 1 - sidebar.php" +msgstr "Area 1 - zijbalk.php" + +msgid "Right Sidebar" +msgstr "Zijbalk rechts" + +msgid "Area 2 - sidebar-right.php" +msgstr "Area 2 - zijbalk-rechts.php" + +msgid "Left Sidebar" +msgstr "Zijbalk links" + +msgid "Area 3 - sidebar-left.php" +msgstr "Area 3 - zijbalk-links.php" + +msgid "Left Sidebar Half Page" +msgstr "Zijbalk links halverwege pagina" + +msgid "Area 4 - sidebar-left-half.php" +msgstr "Area 4 - zijbalk-links-helft.php" + +msgid "Right Sidebar Half Page" +msgstr "Zijbalk rechts halverwege pagina" + +msgid "Area 5 - sidebar-right-half.php" +msgstr "Area 5 - zijbalk-rechts-helft.php" + +msgid "Area 6 - sidebar-home.php" +msgstr "Area 6 - zijbalk-home.php" + +msgid "Area 7 - sidebar-home.php" +msgstr "Area 7 - zijbalk-home.php" + +msgid "Area 8 - sidebar-home.php" +msgstr "Area 8 - zijbalk-home.php" + +msgid "Gallery Sidebar" +msgstr "Zijbalk Galerie" + +msgid "Area 9 - sidebar-gallery.php" +msgstr "Area 9 - zijbalk-galerie.php" + +msgid "Colophon Widget" +msgstr "Colofon widget" + +msgid "Area 10 - sidebar-colophon.php" +msgstr "Area 10 - zijbalk-colofon.php" + +msgid "Top Widget" +msgstr "Bovenste widget" + +msgid "Area 11 - sidebar-top.php" +msgstr "Area 11 - zijbalk-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (volledige berichten)" + +msgid "Blog Excerpt (summary)" +msgstr "Blogfragment (samenvatting)" + +msgid "Content/Sidebar" +msgstr "Content/Zijbalk" + +msgid "Sidebar/Content" +msgstr "Zijbalk/Content" + +msgid "Content/Sidebar Half Page" +msgstr "Content/Zijbalk halverwege pagina" + +msgid "Sidebar/Content Half Page" +msgstr "Zijbalk/Content halverwege pagina" + +msgid "Full Width Page (no sidebar)" +msgstr "Pagina op volledige breedte (geen zijbalk)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Landingspagina (geen menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Sitemap" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Layout" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Standaard" + +msgid "Hello, World!" +msgstr "Hallo wereld!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Je H2 subkoptekst hier" + +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Je titel, subtitel en deze content zijn te bewerken vanuit Themakeuze. Net als de Call-to-actionknop en de bijbehorende bestemmingslink. Afbeelding aan de rechterkant kan een afbeelding zijn of zelfs een Youtube-video als je dat wil." + +msgid "Call to Action" +msgstr "Call-to-action" + +msgid "Theme Options" +msgstr "Thema-opties" + +msgid "Options Saved" +msgstr "Opties opgeslagen" + +msgid "Theme Elements" +msgstr "Thema-elementen" + +msgid "Disable Breadcrumb Lists?" +msgstr "Kruimelpad uitschakelen?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Selecteer om uit te schakelen" + +msgid "Disable Call to Action Button?" +msgstr "Call-to-actionknop uitschakelen?" + +msgid "Save Options" +msgstr "Bewaar opties" + +msgid "Restore Defaults" +msgstr "Zet terug naar standaardinstellingen" + +msgid "Logo Upload" +msgstr "Logo uploaden" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Aangepaste Kop" + +msgid "Need to replace or remove default logo?" +msgstr "Wil je het standaard logo vervangen/verwijderen?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klik hier." + +msgid "Home Page" +msgstr "Homepagina" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Koptekst" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Vul je koptekst in" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subkoptekst" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Vul je subkoptekst in" + +msgid "Content Area" +msgstr "Contentblok" + +msgid "Enter your content" +msgstr "Voer je content (tekst e.d.) in" + +msgid "Call to Action (URL)" +msgstr "Call-to-action (URL)" + +msgid "Enter your call to action URL" +msgstr "Voer je actie-URL in" + +msgid "Call to Action (Text)" +msgstr "Call-to-action (tekst)" + +msgid "Enter your call to action text" +msgstr "Voer je call-to-action tekst in" + +msgid "Featured Content" +msgstr "Uitgelichte content" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Zie Docs" + +msgid "Paste your shortcode, video or image source" +msgstr "Plak hier je shortcode, video of afbeeldingsbron" + +msgid "Default Layouts" +msgstr "Standaard layouts" + +msgid "Default Static Page Layout" +msgstr "Standaard layout Statische pagina" + +msgid "Default Single Blog Post Layout" +msgstr "Standaard layout blogpost" + +msgid "Default Blog Posts Index Layout" +msgstr "Standaard layout blogpost-index" + +msgid "Webmaster Tools" +msgstr "Webmaster tools" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Site Verificatie" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Vul alleen je Google ID nummer in" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Site Verificatie" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Vul alleen je Bing ID nummer in" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verificatie" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Vul alleen je Yahoo ID nummer in" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Site Statistieken Tracker" + +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Laat leeg als een plugin je webmaster tools regelt" + +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, een andere of alle" + +msgid "Social Icons" +msgstr "Social media iconen" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +msgid "Enter your Twitter URL" +msgstr "Voer je Twitter URL in" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +msgid "Enter your Facebook URL" +msgstr "Voer je Facebook URL in" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +msgid "Enter your LinkedIn URL" +msgstr "Voer je LinkedIn URL in" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +msgid "Enter your YouTube URL" +msgstr "Voer je YouTube URL in" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +msgid "Enter your StumbleUpon URL" +msgstr "Voer je StumbleUpon URL in" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +msgid "Enter your RSS Feed URL" +msgstr "Voer je RSS Feed URL in" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +msgid "Enter your Google+ URL" +msgstr "Voer je Google+ URL in" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +msgid "Enter your Instagram URL" +msgstr "Voer je Instagram URL in" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +msgid "Enter your Pinterest URL" +msgstr "Voer je Pinterest URL in" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +msgid "Enter your Yelp! URL" +msgstr "Voer je Yelp! URL in" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +msgid "Enter your Vimeo URL" +msgstr "Voer je Vimeo URL in" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +msgid "Enter your foursquare URL" +msgstr "Voer je foursquare URL in" + +msgid "Custom CSS Styles" +msgstr "Aangepaste CSS-stijlen" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/nl/CSS" + +msgid "CSS Tutorial" +msgstr "CSS leerprogramma" + +msgid "Enter your custom CSS styles." +msgstr "Voer je aangepaste CSS-stijlen in" + +msgid "Custom Scripts" +msgstr "Aangepaste scripts" + +msgid "Custom Scripts for Header and Footer" +msgstr "Aangepaste scripts voor Header en Voettekst" + +msgid "Quick Tutorial" +msgstr "Snelle handleiding" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Wordt ingesloten in header.php ↓" + +msgid "Enter your custom header script." +msgstr "Voer je aangepaste headerscript in." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Wordt ingesloten in footer.php ↓" + +msgid "Enter your custom footer script." +msgstr "Vul je aangepaste voettekstscript in." + +msgid "Enable Custom Front Page" +msgstr "Schakel Aangepaste voorpagina in" + +msgid "Help" +msgstr "Help" + +msgid "Instructions" +msgstr "Instructies" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +msgid "Translate" +msgstr "Vertaal" + +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Welkom bij %1$s! Upgrade vandaag nog naar %2$s." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/pl_PL.mo b/wp-content/themes/responsive/languages/pl_PL.mo new file mode 100644 index 0000000..4f574fd Binary files /dev/null and b/wp-content/themes/responsive/languages/pl_PL.mo differ diff --git a/wp-content/themes/responsive/languages/pl_PL.po b/wp-content/themes/responsive/languages/pl_PL.po new file mode 100644 index 0000000..46ddda6 --- /dev/null +++ b/wp-content/themes/responsive/languages/pl_PL.po @@ -0,0 +1,875 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:36 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Polish, Poland\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Stron:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Starsze wpisy" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nowsze wpisy" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Czytaj wiÄ™cej ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Ten wpis jest zabezpieczony hasÅ‚em. Wprowadź je, aby zobaczyć komentarze." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Starsze komentarze" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nowsze komentarze" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pingi/Trackbacki" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s dla \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "ImiÄ™" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Witryna internetowa" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "przewiÅ„ do góry" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Witryna wspierana przez" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://pl.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "Wróć do" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Brak komentarzy ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Komentarz ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Komentarzy ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Jeden komentarz pod “%2$s”" +msgstr[1] "%1$s komentarze pod “%2$s”" +msgstr[2] "%1$s komentarzy pod" +msgstr[3] "%1$s komentarza dla “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Tagi:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Napisano w %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Edytuj" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — MiÅ‚o CiÄ™ tu spotkać!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Nie panikuj, przejdziemy przez to razem. Zobacz jakie masz możliwoÅ›ci." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Możesz wrócić do %s lub wyszukać stronÄ™ której szukasz" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Strona główna" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Strona główna" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dzienne archiwa: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MiesiÄ™czne archiwa: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Roczne archiwa: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archiwa Bloga" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Do zapytania %s nie znaleziono żadnych pasujÄ…cych wpisów" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "BezpoÅ›redni odnoÅ›nik do %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Wyniki wyszukiwania dla zapytania „%s”" + +#: searchform.php +msgid "search here …" +msgstr "wpisz szukanÄ… frazÄ™ …" + +#: searchform.php +msgid "Go" +msgstr "Idź" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informacje o obrazie" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "PeÅ‚ny rozmiar" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "PrzysÅ‚ona: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Ogniskowa:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Czas migawki:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Aparat:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "W archiwum" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Widget 1 - Strona Główna" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "To jest pierwszy widget strony głównej. Aby go edytować, przejdź do menu WyglÄ…d > Widgety, nastÄ™pnie wybierz szósty widget od góry nazwany Home Widget 1. W menu widgetów, możesz także zmienić tytuÅ‚ tego widgeta." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Widget 2 - Strona Główna" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "To jest drugi widget strony głównej. Aby go edytować, przejdź do menu WyglÄ…d > Widgety, nastÄ™pnie wybierz siódmy widget od góry nazwany Home Widget 2. W menu widgetów, możesz także zmienić tytuÅ‚ tego widgeta." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Widget 3 - Strona Główna" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "To jest trzeci widget strony głównej. Aby go edytować, przejdź do menu WyglÄ…d > Widgety, nastÄ™pnie wybierz ósmy widget od góry nazwany Home Widget 3. W menu widgetów, możesz także zmienić tytuÅ‚ tego widgeta." + +#: single.php +msgid "About" +msgstr "O" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorie" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Starsze posty" + +#: sitemap.php +msgid "Pages" +msgstr "Strony" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menu Górne" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menu Nagłówka" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Podmenu Nagłówka" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu Stopki" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Strona %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publikacja %2$s przez %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Zobacz wszystkie wpisy, napisane przez %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archiwum dla %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Posty z tagami %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "BÅ‚Ä…d 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "WiÄ™cej motywów" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Wystawa" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Główny panel boczny" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Obszar pierwszy - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Panel boczny prawy" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Obszar drugi - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Panel boczny lewy" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Obszar trzeci - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Lewy Sidebar PoÅ‚owa Strony" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Obszar czwarty - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Prawy Sidebar PoÅ‚owa Strony" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Obszar piÄ…ty - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Obszar szósty - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Obszar siódmy - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Obszar ósmy - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galeria Sidebar" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Obszar dziewiÄ…ty - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget Kolofon" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Area 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Górny Widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Obszar 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (peÅ‚ne posty)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Fragment Bloga (streszczenie)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Treść/Baner" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Baner/Treść" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Treść/Baner na pół strony" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Baner/Treść na pół strony" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "PeÅ‚na szerokość strony (brak baneru)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Strona lÄ…dowania (bez menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa strony" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "UkÅ‚ad strony" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "DomyÅ›lny" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Witaj, Å›wiecie!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Tekst drugiego nagłówka H2" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Twój tytuÅ‚, podtytuÅ‚ oraz treść możesz edytować w Opcjach Motywu. Przycisk Akcji oraz jego odsyÅ‚acz. Miejsce w prawej części strony głównej może być obrazem lub filmem z YouTuba." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Treść Akcji" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opcje motywu" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opcje zostaÅ‚y zapisane." + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementy motywu" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "WyÅ‚Ä…cz listÄ™ okruszków ?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Kliknij aby wyÅ‚Ä…czyć" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "WyÅ‚Ä…cz przycisk zachÄ™cenia do dziaÅ‚ania (CTA)?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Zapisz Opcje" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Przywróć domyÅ›lne" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Dodaj logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Niestandardowy nagłówek" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Chcesz zmienić lub usunąć domyÅ›lne logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Kliknij tutaj." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Strona główna" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Nagłówek" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Wpisz nagłówek" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "PodtytuÅ‚" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Treść podtytuÅ‚u" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Obszar treÅ›ci" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Wpisz treść" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Adres URL zachÄ™cenia do akcji (CTA)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Wpisz adres URL dla przycisku akcji" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Tekst akcji" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Wpisz tekst Call To Action." + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Promowana zawartość" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Pomoc" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Wklej tutaj swój krótki kod, link do filmiku lub zdjÄ™cia" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "DomyÅ›lny ukÅ‚ad strony" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "DomyÅ›lny statyczny ukÅ‚ad strony" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "DomyÅ›lny ukÅ‚ad pojedynczego postu na blogu" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "DomyÅ›lny ukÅ‚ad indeksu postów na blogu" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "NarzÄ™dzia webmastera" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Weryfikacja strony Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Wpisz tylko swój numer Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Weryfikacja Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Wpisz tylko swój numer Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Wpisz wyÅ‚Ä…cznie swój numer identyfikacyjny Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Kod Å›ledzenia statystyk" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Pozostaw puste, w przypadku gdy plugin obsÅ‚uguje Twoje NarzÄ™dzia Webmastera." + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, cokolwiek innego, albo wszystko" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Ikony spoÅ‚ecznoÅ›ciowe" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Wpisz adres URL Twojego konta Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Wpisz adres URL Twojego konta Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Wpisz adres URL Twojego konta LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Wpisz adres URL Twojego kanaÅ‚u YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Wpisz adres URL Twojego konta StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "KanaÅ‚ RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Wpisz adres URL Twojego kanaÅ‚u RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Wpisz adres Twojego konta Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Wpisz adres Twojego konta Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Wpisz adres Twojego konta Pintresta" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Wpisz adres Twojego konta Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Wpisz adres Twojego konta Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Wpisz adres Twojego konta Foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "WÅ‚asne style CSS" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/pl/docs/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Kurs CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Wpisz Twoje wÅ‚asne style CSS" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Niestandardowe skrypty" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Niestandardowe skrypty dla Nagłówka oraz Stopki" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Szybki samouczek" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Umieść w header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Wprowadź swój niestandardowy skrypt nagłówka" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Umieść w footer.php" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Wprowadź swój niestandardowy skrypt stopki." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/pt_BR.mo b/wp-content/themes/responsive/languages/pt_BR.mo new file mode 100644 index 0000000..0a5ba35 Binary files /dev/null and b/wp-content/themes/responsive/languages/pt_BR.mo differ diff --git a/wp-content/themes/responsive/languages/pt_BR.po b/wp-content/themes/responsive/languages/pt_BR.po new file mode 100644 index 0000000..fc7453f --- /dev/null +++ b/wp-content/themes/responsive/languages/pt_BR.po @@ -0,0 +1,865 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:36 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Portuguese, Brazil\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Páginas:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Posts anteriores" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Posts recentes ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Leia mais ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Este post é protegido por senha. Digite a senha para ver comentários." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Comentários antigos" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Comentários recentes ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s para \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nome" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Site" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "rolar para cima" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "mantido por" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://br.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Voltar para" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Sem comentários ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 comentário ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% comentários ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Um comentário sobre “%2$sâ€" +msgstr[1] "%1$s comentários sobre “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Marcado com:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publicado em %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Editar" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Extravagante encontrar você por aqui!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Não entre em pânico, nós vamos passar por isso juntos. Vamos explorar nossas opções aqui." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Você pode voltar %s ou buscar a página que você estava procurando" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Início" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Início" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arquivos diários: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arquivos mensais: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arquivos anuais: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arquivos de blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Sua pesquisa para %s não encontrou nada" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Link permanente para %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Resultados da pesquisa para: %s" + +#: searchform.php +msgid "search here …" +msgstr "procure aqui …" + +#: searchform.php +msgid "Go" +msgstr "Ir" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informação da imagem" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Tamanho completo:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Abertura: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Comprimento focal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Obturador:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Câmera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Em arquivo" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Página Inicial Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Esta é a sua primeira caixa de widget da página inicial. Para editar acesse Aparência > Widgets e escolha o sexto Widget do topo na área seis chamada Página Inicial Widget 1. Título também é gerenciável a partir dos widgets desta maneira." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Página Inicial Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Esta é a sua segunda caixa de widget da página inicial. Para editar acesse Aparência > Widgets e escolha o sétimo Widget do topo na área sete chamada Página Inicial Widget 2. Título também é gerenciável a partir dos widgets desta maneira." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Página Inicial Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Esta é a sua terceira caixa de widget da página inicial. Para editar acesse Aparência > Widgets e escolha o oitavo Widget do topo na área oito chamada Página Inicial Widget 3. Título também é gerenciável a partir dos widgets desta maneira." + +#: single.php +msgid "About" +msgstr "Sobre" + +#: sitemap.php +msgid "Categories" +msgstr "Categorias" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Últimos posts" + +#: sitemap.php +msgid "Pages" +msgstr "Páginas" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menu do topo" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menu do cabeçalho" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Sub-menu do cabeçalho" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu do rodapé" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "PÁgina %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publicado em %2$s por %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Visualizar todos os posts por %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arquivo para %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Posts marcados com %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Erro 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Mais temas" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Vitrine" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Barra lateral principal" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Área 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Barra lateral direita" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Área 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Barra lateral esquerda" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Área 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Barra lateral esquerda no meio da página" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Área 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Barra lateral direita no meio da página" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Área 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Área 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Área 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Área 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Barra lateral de galeria" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Área 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget de colofão" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Área 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget do topo" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Área 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (posts completos)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Resumos do blog (sumário)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Conteúdo/Barra lateral" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Barra lateral/Conteúdo" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Conteúdo/Barra lateral no meio da página" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Barra lateral/Conteúdo no meio da página" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Página de largura inteira (sem barra lateral)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Página de entrada (sem menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa do site" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Disposição" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Padrão" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Olá, Mundo!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Seu subtítulo H2 aqui" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Seu título, subtítulo e este conteúdo são editáveis em Opções do tema. O botão de Chamada para ação e seu link de destino também. Imagem à sua direita pode ser uma imagem ou até mesmo um vídeo no YouTube, se quiser." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Chamada para ação" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opções do tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opções salvas" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementos do tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Desativar migalhas de pão?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Marque para desativar" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Desativar botão Chamada para ação?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Salvar opções" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Restaurar padrões" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Enviar logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Personalizar cabeçalho" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Precisa substituir ou remover o logotipo padrão?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Clique aqui." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Página inicial" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Título" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Informe seu título" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subtítulo" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Informe seu subtítulo" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Área de conteúdo" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Informe seu conteúdo" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Chamada para ação (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Informe sua URL para sua Chamada para ação" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Chamada para ação (Texto)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Informe seu texto para sua Chamada para ação" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Conteúdo em destaque" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Ver documentos" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Cole a fonte do seu shortcode, vídeo ou imagem" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Disposições padrões" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Disposição padrão de página estática" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Disposição padrão de blog de post único" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Disposição padrão de índice de posts do blog" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Ferramentas do administrador web" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verificação de sites do Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Informe apenas seu número de ID do Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verificação de sites do Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Informe apenas seu número de ID do Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verificação de sites do Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Informe apenas seu número de ID do Yahoo" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Rastreador de estatísticas do site" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deixe em branco se um plugin trata de suas ferramentas do administrador web" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, qualquer outro ou de todos eles." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Ícones sociais" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Informe sua URL do Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Informe sua URL do Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Informe sua URL do LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Informe sua URL do YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Informe sua URL do StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Feed RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Informe sua URL do Feed RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Informe sua URL do Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Informe sua URL do Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Informe sua URL do Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Informe sua URL do Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Informe sua URL do Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Informe sua URL do foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Estilos CSS personalizados" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/pt-BR/docs/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial de CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Entre com seus estilos CSS personalizados." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Scripts personalizados" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Scripts personalizados para cabeçalho e rodapé" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutorial rápido" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Incorporar ao header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Entre com seu script de cabeçalho personalizado." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Incorporar ao footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Entre com seu script de rodapé personalizado." + +msgid "Enable Custom Front Page" +msgstr "Habilitar Página Inicial Personalizada" + +msgid "Help" +msgstr "Ajuda" + +msgid "Instructions" +msgstr "Instruções" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +msgid "Translate" +msgstr "Traduzir" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/pt_PT.mo b/wp-content/themes/responsive/languages/pt_PT.mo new file mode 100644 index 0000000..7a30283 Binary files /dev/null and b/wp-content/themes/responsive/languages/pt_PT.mo differ diff --git a/wp-content/themes/responsive/languages/pt_PT.po b/wp-content/themes/responsive/languages/pt_PT.po new file mode 100644 index 0000000..21e1d9b --- /dev/null +++ b/wp-content/themes/responsive/languages/pt_PT.po @@ -0,0 +1,821 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:33 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Portuguese, Portugal\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Páginas:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Posts mais antigos" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Posts mais recentes ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Ler mais ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Este post é protegido por senha. Insira a senha para ver todos os comentários." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Comentários mais antigos" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Comentários mais recentes ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s para \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nome" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Site" + +#: footer.php +msgid "©" +msgstr "©" + +msgid "scroll to top" +msgstr "Deslocar para cima" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "powered by" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://pt.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Voltar para" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Sem Comentários ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Comentário ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Comentários ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Um comentário sobre “%2$sâ€" +msgstr[1] "%1$s comentários sobre “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Marcados com:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publicado em %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Editar" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Interessante encontrarmo-nos por aqui!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Não entre em pânico, vamos passar por isto juntos. Vamos explorar as nossas opções aqui." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Pode voltar %s ou pesquise pela página que procura" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Início" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Início" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arquivos Diários: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arquivos Mensais: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arquivos Anuais: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arquivos do Blog" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Pesquisa para %s não tem correspondências" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Link Permanente para %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Resultados da Pesquisa para: %s" + +msgid "search here …" +msgstr "Pesquise aqui …" + +#: searchform.php +msgid "Go" +msgstr "Ir" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informações da Imagem" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Tamanho Total:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Abertura: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Distância Focal:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Obturador:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Câmara:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Em Arquivo" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Página Inicial Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Esta é a primeira caixa de widget da página inicial. Para editar aceda Apresentação > Widgets e escolha o sexto Widget do topo na área seis chamada Página Inicial Widget 1. Título também é alterável a partir dos widgets desta maneira." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Página Inicial Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Esta é a segunda caixa de widget da página inicial. Para editar aceda Apresentação > Widgets e escolha o sexto Widget do topo na área seis chamada Página Inicial Widget 1. Título também é alterável a partir dos widgets desta maneira." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Página Inicial Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Esta é a terceira caixa de widget da página inicial. Para editar aceda Apresentação > Widgets e escolha o sexto Widget do topo na área seis chamada Página Inicial Widget 1. Título também é alterável a partir dos widgets desta maneira." + +#: single.php +msgid "About" +msgstr "Sobre" + +#: sitemap.php +msgid "Categories" +msgstr "Categorias" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Últimos Posts" + +#: sitemap.php +msgid "Pages" +msgstr "Páginas" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Menu Superior" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menu do Cabeçalho" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Sub-Menu do Cabeçalho" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu do Rodapé" + +msgid "Page %s" +msgstr "Página %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publicado em %2$s por %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Ver todos os posts de %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archive for %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Artigos marcados com %s" + +msgid "Error 404" +msgstr "Erro 404 - Não foi possível encontrar a postagem/página" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Mais Temas" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Amostra" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Barra lateral principal" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Área Um - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Barra lateral direita" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Área Dois - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Barra lateral esquerda" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Área Três - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Barra lateral esquerda (meia página)" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Área Quatro - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Barra lateral direita (meia página)" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Área Cinco - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Área Seis - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Área Sete - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Área Oito - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Barra lateral de Galeria" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Área Nove - sidebar-gallery.php" + +msgid "Colophon Widget" +msgstr "Widget de colofão" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +msgid "Blog (full posts)" +msgstr "Blog (posts completos)" + +msgid "Blog Excerpt (summary)" +msgstr "Resumos do blog (sumário)" + +msgid "Content/Sidebar" +msgstr "Conteúdo/Barra lateral" + +msgid "Sidebar/Content" +msgstr "Barra lateral/Conteúdo" + +msgid "Content/Sidebar Half Page" +msgstr "Conteúdo/Barra lateral no meio da página" + +msgid "Sidebar/Content Half Page" +msgstr "Barra lateral/Conteúdo no meio da página" + +msgid "Full Width Page (no sidebar)" +msgstr "Página de largura inteira (sem barra lateral)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +msgid "Sitemap" +msgstr "Mapa do site" + +msgid "Layout" +msgstr "Disposição" + +msgid "Default" +msgstr "Padrão" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Olá, Mundo!" + +msgid "Your H2 subheadline here" +msgstr "Um cabeçalho aqui" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "O título, subtítulo e este conteúdo são editáveis nas Opções do Tema. O botão de Chamada para Ação e o seu link de destino também. A imagem à direita pode ser uma imagem ou até mesmo um vídeo no YouTube, se quiser." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Chamada para Ação" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Opções do Tema" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Opções guardadas" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementos do Tema" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Desativar Listas de Trilhos?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Marque para desativar" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Desativar botão Chamada para Ação?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Guardar Opções" + +msgid "Restore Defaults" +msgstr "Restaurar Padrões" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Enviar Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Personalizar Cabeçalho" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Precisa de substituir ou remover o logotipo padrão?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Clique aqui." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Página Inicial" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Título" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Escreva o seu título" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subtítulo" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Escreva o seu subtítulo" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Área do Conteúdo" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Escreva o seu conteúdo" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Chamada para Ação (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Escreva o URL para a Chamada para Ação" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Chamada para Ação (Texto)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Escreva o seu texto para a Chamada para Ação" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Conteúdo em Destaque" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Ver Documentos" + +msgid "Paste your shortcode, video or image source" +msgstr "Cole a fonte do seu shortcode, vídeo ou imagem" + +msgid "Default Layouts" +msgstr "Disposições padrões" + +msgid "Default Static Page Layout" +msgstr "Disposição padrão de página estática" + +msgid "Default Single Blog Post Layout" +msgstr "Padrão unico do blog e do post layout" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Ferramentas do Webmaster" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verificação de Site do Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Escreva apenas o seu número de ID do Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verificação de Site do Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Escreva apenas o seu número de ID do Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verificação de Site do Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Escreva apenas o seu número de ID do Yahoo" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Estatísticas do Site" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Deixe em branco se um plugin trata das suas ferramentas para webmasters" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, qualquer outro ou de todos eles." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Ícones Sociais" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Escreva o seu URL do Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Escreva o seu URL do Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Escreva o seu URL do LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Escreva o seu URL do YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Escreva o seu URL do StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Feed RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Escreva o seu URL do Feed RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Escreva o seu URL do Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Escreva o seu URL do Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Escreva o seu URL do Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Escreva o seu URL do Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Escreva o seu URL do Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Escreva o seu URL do foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Estilos CSS personalizados" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/pt/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial de CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Insira os seus estilos CSS personalizados." + +msgid "Custom Scripts" +msgstr "Scripts personalizados" + +msgid "Custom Scripts for Header and Footer" +msgstr "Scripts personalizados para cabeçalho e rodapé" + +msgid "Quick Tutorial" +msgstr "Tutorial rápido" + +msgid "Embeds to header.php ↓" +msgstr "Incorporar Ao header.php" + +msgid "Enter your custom header script." +msgstr "Entre com seu script de cabeçalho personalizado." + +msgid "Embeds to footer.php ↓" +msgstr "Incorporar ao footer.php" + +msgid "Enter your custom footer script." +msgstr "Entre com seu script de rodapé personalizado." + +msgid "Enable Custom Front Page" +msgstr "Habilitar capa personalizada" + +msgid "Help" +msgstr "Ajuda" + +msgid "Instructions" +msgstr "Instruções" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "Substitui a opção de página do WordPress % 1sfront % 2s" + +msgid "Translate" +msgstr "Traduzir" + +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Bem vindo ao %1$s! Faz o upgrade para o %2$s já hoje!" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/responsive.pot b/wp-content/themes/responsive/languages/responsive.pot new file mode 100644 index 0000000..9988377 --- /dev/null +++ b/wp-content/themes/responsive/languages/responsive.pot @@ -0,0 +1,1048 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-12-15 20:46+0100\n" +"PO-Revision-Date: 2013-12-15 20:47+0100\n" +"Last-Translator: Ulrich Pogson \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-KeywordsList: __;_e;_x;_ex;_n;esc_attr_e;esc_attr__\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SourceCharset: UTF-8\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 1.6.2\n" +"X-Poedit-SearchPath-0: .\n" + +#: archive.php:46 blog-excerpt.php:65 blog.php:68 +#: content-sidebar-half-page.php:42 content-sidebar-page.php:42 +#: full-width-page.php:42 home.php:54 image.php:57 index.php:44 +#: landing-page.php:40 page.php:41 search.php:41 +#: sidebar-content-half-page.php:55 sidebar-content-page.php:55 single.php:54 +#: sitemap.php:67 +msgid "Pages:" +msgstr "" + +#: blog-excerpt.php:81 blog.php:84 loop-nav.php:29 +msgid "‹ Older posts" +msgstr "" + +#: blog-excerpt.php:82 blog.php:85 loop-nav.php:30 +msgid "Newer posts ›" +msgstr "" + +#: blog.php:67 content-sidebar-half-page.php:41 content-sidebar-page.php:41 +#: full-width-page.php:41 home.php:53 image.php:56 index.php:43 +#: landing-page.php:39 page.php:40 sidebar-content-half-page.php:54 +#: sidebar-content-page.php:54 single.php:40 core/includes/functions.php:456 +msgid "Read more ›" +msgstr "" + +#: comments.php:24 +msgid "" +"This post is password protected. Enter the password to view any comments." +msgstr "" + +#: comments.php:32 +#, fuzzy, php-format +msgid "One comment on “%2$s”" +msgstr "One comment on “%2$s”" + +#: comments.php:39 comments.php:52 +msgid "‹ Older comments" +msgstr "" + +#: comments.php:41 comments.php:54 +msgid "Newer comments ›" +msgstr "" + +#: comments.php:66 +msgid "Pings/Trackbacks" +msgstr "" + +#: comments.php:69 +#, php-format +msgid "%1$d %2$s for \"%3$s\"" +msgstr "" + +#: comments.php:82 +msgid "Name" +msgstr "" + +#: comments.php:84 +msgid "E-mail" +msgstr "" + +#: comments.php:86 +msgid "Website" +msgstr "" + +#: footer.php:147 +msgid "©" +msgstr "" + +#: footer.php:153 +msgid "scroll to top" +msgstr "" + +#: footer.php:153 +msgid "↑" +msgstr "" + +#: footer.php:156 +msgid "Responsive Theme" +msgstr "" + +#: footer.php:158 +msgid "powered by" +msgstr "" + +#: footer.php:158 +msgid "WordPress" +msgstr "" + +#: front-page.php:62 core/includes/theme-options.php:243 +msgid "Hello, World!" +msgstr "" + +#: front-page.php:72 core/includes/theme-options.php:252 +msgid "Your H2 subheadline here" +msgstr "" + +#: front-page.php:83 +msgid "" +"Your title, subtitle and this very content is editable from Theme Option. " +"Call to Action button and its destination link as well. Image on your right " +"can be an image\n" +"\t\t\t\t\tor even YouTube video if you like." +msgstr "" + +#: front-page.php:99 core/includes/theme-options.php:279 +msgid "Call to Action" +msgstr "" + +#: image.php:36 +msgid "‹ Return to" +msgstr "" + +#: image.php:45 post-meta-page.php:32 post-meta.php:35 +#: sidebar-content-half-page.php:47 sidebar-content-page.php:47 +msgid "No Comments ↓" +msgstr "" + +#: image.php:45 post-meta-page.php:32 post-meta.php:35 +#: sidebar-content-half-page.php:47 sidebar-content-page.php:47 +msgid "1 Comment ↓" +msgstr "" + +#: image.php:45 post-meta-page.php:32 post-meta.php:35 +#: sidebar-content-half-page.php:47 sidebar-content-page.php:47 +msgid "% Comments ↓" +msgstr "" + +#: image.php:69 post-data.php:26 sidebar-content-half-page.php:61 +#: sidebar-content-page.php:61 +msgid "Tagged with:" +msgstr "" + +#: image.php:70 post-data.php:27 sidebar-content-half-page.php:62 +#: sidebar-content-page.php:62 +#, php-format +msgid "Posted in %s" +msgstr "" + +#: image.php:74 post-data.php:32 sidebar-content-half-page.php:66 +#: sidebar-content-page.php:66 sitemap.php:71 +msgid "Edit" +msgstr "" + +#: loop-header.php:42 +#, php-format +msgid "Daily Archives: %s" +msgstr "" + +#: loop-header.php:44 +#, php-format +msgid "Monthly Archives: %s" +msgstr "" + +#: loop-header.php:46 +#, php-format +msgid "Yearly Archives: %s" +msgstr "" + +#: loop-header.php:48 +msgid "Blog Archives" +msgstr "" + +#: loop-header.php:61 core/includes/functions.php:556 +#, php-format +msgid "Search results for: %s" +msgstr "" + +#: loop-no-posts.php:26 +#, php-format +msgid "Your search for %s did not match any entries." +msgstr "" + +#: loop-no-posts.php:26 +msgid "404 — Fancy meeting you here!" +msgstr "" + +#: loop-no-posts.php:31 +msgid "" +"Don't panic, we'll get through this together. Let's explore our " +"options here." +msgstr "" + +#: loop-no-posts.php:34 +#, php-format +msgid "You can return %s or search for the page you were looking for." +msgstr "" + +#: loop-no-posts.php:37 core/includes/functions.php:554 +msgid "Home" +msgstr "" + +#: loop-no-posts.php:38 +msgid "← Home" +msgstr "" + +#: searchform.php:24 +msgid "Search for:" +msgstr "" + +#: searchform.php:25 +msgid "search here …" +msgstr "" + +#: searchform.php:26 +msgid "Go" +msgstr "" + +#: sidebar-gallery.php:28 +msgid "Image Information" +msgstr "" + +#: sidebar-gallery.php:35 +msgid "Full Size:" +msgstr "" + +#: sidebar-gallery.php:42 +msgid "Aperture: f/" +msgstr "" + +#: sidebar-gallery.php:47 +msgid "Focal Length:" +msgstr "" + +#: sidebar-gallery.php:47 +msgid "mm" +msgstr "" + +#: sidebar-gallery.php:51 +msgid "ISO:" +msgstr "" + +#: sidebar-gallery.php:55 +msgid "Shutter:" +msgstr "" + +#: sidebar-gallery.php:74 +msgid "Camera:" +msgstr "" + +#: sidebar-half-left.php:30 sidebar-left-half.php:30 sidebar-left.php:30 +#: sidebar-right-half.php:30 sidebar-right.php:30 sidebar.php:38 +msgid "In Archive" +msgstr "" + +#: sidebar-home.php:31 core/includes/functions.php:916 +msgid "Home Widget 1" +msgstr "" + +#: sidebar-home.php:33 +msgid "" +"This is your first home widget box. To edit please go to Appearance > " +"Widgets and choose 6th widget from the top in area 6 called Home Widget 1. " +"Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php:48 core/includes/functions.php:926 +msgid "Home Widget 2" +msgstr "" + +#: sidebar-home.php:50 +msgid "" +"This is your second home widget box. To edit please go to Appearance > " +"Widgets and choose 7th widget from the top in area 7 called Home Widget 2. " +"Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php:65 core/includes/functions.php:936 +msgid "Home Widget 3" +msgstr "" + +#: sidebar-home.php:67 +msgid "" +"This is your third home widget box. To edit please go to Appearance > " +"Widgets and choose 8th widget from the top in area 8 called Home Widget 3. " +"Title is also manageable from widgets as well." +msgstr "" + +#: single.php:48 +msgid "About" +msgstr "" + +#: sitemap.php:41 +msgid "Categories" +msgstr "" + +#: sitemap.php:47 +msgid "Latest Posts" +msgstr "" + +#: sitemap.php:52 +#, php-format +msgid "Permanent Link to %s" +msgstr "" + +#: sitemap.php:60 +msgid "Pages" +msgstr "" + +#: core/includes/functions.php:183 +msgid "Top Menu" +msgstr "" + +#: core/includes/functions.php:184 +msgid "Header Menu" +msgstr "" + +#: core/includes/functions.php:185 +msgid "Sub-Header Menu" +msgstr "" + +#: core/includes/functions.php:186 +msgid "Footer Menu" +msgstr "" + +#: core/includes/functions.php:395 core/includes/functions.php:717 +#, php-format +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php:511 +#, php-format +msgid "" +"Posted on %2$s by " +"%4$s" +msgstr "" + +#: core/includes/functions.php:521 core/includes/functions.php:558 +#, php-format +msgid "View all posts by %s" +msgstr "" + +#: core/includes/functions.php:555 +#, php-format +msgid "Archive for %s" +msgstr "" + +#: core/includes/functions.php:557 +#, php-format +msgid "Posts tagged %s" +msgstr "" + +#: core/includes/functions.php:559 +msgid "Error 404" +msgstr "" + +#: core/includes/functions.php:794 +#, php-format +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + +#: core/includes/functions.php:836 core/includes/functions.php:837 +msgid "Instructions" +msgstr "" + +#: core/includes/functions.php:839 core/includes/functions.php:840 +msgid "Help" +msgstr "" + +#: core/includes/functions.php:842 core/includes/functions.php:844 +msgid "Translate" +msgstr "" + +#: core/includes/functions.php:846 core/includes/functions.php:847 +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php:849 core/includes/functions.php:850 +msgid "More Themes" +msgstr "" + +#: core/includes/functions.php:866 +msgid "Main Sidebar" +msgstr "" + +#: core/includes/functions.php:867 +msgid "" +"Area 1 - sidebar.php - Displays on Default, Blog, Blog Excerpt page templates" +msgstr "" + +#: core/includes/functions.php:876 +msgid "Right Sidebar" +msgstr "" + +#: core/includes/functions.php:877 +msgid "Area 2 - sidebar-right.php - Displays on Content/Sidebar page templates" +msgstr "" + +#: core/includes/functions.php:886 +msgid "Left Sidebar" +msgstr "" + +#: core/includes/functions.php:887 +msgid "Area 3 - sidebar-left.php - Displays on Sidebar/Content page templates" +msgstr "" + +#: core/includes/functions.php:896 +msgid "Left Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php:897 +msgid "" +"Area 4 - sidebar-left-half.php - Displays on Sidebar Half Page/Content page " +"templates" +msgstr "" + +#: core/includes/functions.php:906 +msgid "Right Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php:907 +msgid "" +"Area 5 - sidebar-right-half.php - Displays on Content/Sidebar Half Page page " +"templates" +msgstr "" + +#: core/includes/functions.php:917 +msgid "Area 6 - sidebar-home.php - Displays on the Home Page" +msgstr "" + +#: core/includes/functions.php:927 +msgid "Area 7 - sidebar-home.php - Displays on the Home Page" +msgstr "" + +#: core/includes/functions.php:937 +msgid "Area 8 - sidebar-home.php - Displays on the Home Page" +msgstr "" + +#: core/includes/functions.php:946 +msgid "Gallery Sidebar" +msgstr "" + +#: core/includes/functions.php:947 +msgid "" +"Area 9 - sidebar-gallery.php - Displays on the page after an image has been " +"clicked in a Gallery" +msgstr "" + +#: core/includes/functions.php:956 +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php:957 +msgid "Area 10 - sidebar-colophon.php, 100% width Footer widgets" +msgstr "" + +#: core/includes/functions.php:966 +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php:967 +msgid "Area 11 - sidebar-top.php - Displays on the right of the header" +msgstr "" + +#: core/includes/functions.php:976 +msgid "Footer Widget" +msgstr "" + +#: core/includes/functions.php:977 +msgid "Area 12 - sidebar-footer.php - Maximum of 3 widgets per row" +msgstr "" + +#: core/includes/functions.php:1076 +msgid "Responsive Add Features" +msgstr "" + +#: core/includes/functions.php:1077 +msgid "Activate Add Ons" +msgstr "" + +#: core/includes/functions.php:1078 +#: core/includes/classes/class-tgm-plugin-activation.php:157 +#, php-format +msgid "Installing Plugin: %s" +msgstr "" + +#: core/includes/functions.php:1079 +msgid "Something went wrong with the plugin API." +msgstr "" + +#: core/includes/functions.php:1090 +#: core/includes/classes/class-tgm-plugin-activation.php:169 +msgid "Return to Required Plugins Installer" +msgstr "" + +#: core/includes/functions.php:1091 +#: core/includes/classes/class-tgm-plugin-activation.php:171 +#: core/includes/classes/class-tgm-plugin-activation.php:1933 +msgid "Plugin activated successfully." +msgstr "" + +#: core/includes/functions.php:1092 +#, php-format +msgid "All plugins installed and activated successfully. %s" +msgstr "" + +#: core/includes/functions.php:1116 +#, php-format +msgid "" +"The Custom Front Page is enabled. You can disable it in the theme settings." +msgstr "" + +#: core/includes/functions.php:1118 +#, php-format +msgid "" +"The Custom Front Page is disabled. You can enable it in the theme settings." +msgstr "" + +#: core/includes/post-custom-meta.php:165 +#: core/includes/classes/Responsive_Options.php:253 +msgid "Content/Sidebar" +msgstr "" + +#: core/includes/post-custom-meta.php:166 +#: core/includes/classes/Responsive_Options.php:254 +msgid "Sidebar/Content" +msgstr "" + +#: core/includes/post-custom-meta.php:167 +#: core/includes/classes/Responsive_Options.php:255 +msgid "Content/Sidebar Half Page" +msgstr "" + +#: core/includes/post-custom-meta.php:168 +#: core/includes/classes/Responsive_Options.php:256 +msgid "Sidebar/Content Half Page" +msgstr "" + +#: core/includes/post-custom-meta.php:169 +#: core/includes/classes/Responsive_Options.php:257 +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: core/includes/post-custom-meta.php:188 +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php:219 +msgid "Default" +msgstr "" + +#: core/includes/theme-options.php:51 core/includes/theme-options.php:109 +msgid "Theme Options" +msgstr "" + +#: core/includes/theme-options.php:98 +#: core/includes/classes/Responsive_Options.php:38 +msgid "" +"Do you want to restore? \\nAll theme settings will be lost! \\nClick OK to " +"Restore." +msgstr "" + +#: core/includes/theme-options.php:113 +msgid "Options Saved" +msgstr "" + +#: core/includes/theme-options.php:128 +msgid "Theme Elements" +msgstr "" + +#: core/includes/theme-options.php:133 +msgid "Logo Upload" +msgstr "" + +#: core/includes/theme-options.php:137 +msgid "Home Page" +msgstr "" + +#: core/includes/theme-options.php:142 +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php:146 +msgid "Social Icons" +msgstr "" + +#: core/includes/theme-options.php:150 +msgid "CSS Styles" +msgstr "" + +#: core/includes/theme-options.php:154 +msgid "Scripts" +msgstr "" + +#: core/includes/theme-options.php:179 +msgid "Disable breadcrumb list?" +msgstr "" + +#: core/includes/theme-options.php:184 core/includes/theme-options.php:193 +msgid "check to disable" +msgstr "" + +#: core/includes/theme-options.php:188 +msgid "Disable Call to Action Button?" +msgstr "" + +#: core/includes/theme-options.php:197 +msgid "Blog Title Toggle" +msgstr "" + +#: core/includes/theme-options.php:205 +msgid "Title Text" +msgstr "" + +#: core/includes/theme-options.php:211 +msgid "Blog" +msgstr "" + +#: core/includes/theme-options.php:216 +msgid "Custom Header" +msgstr "" + +#: core/includes/theme-options.php:221 +msgid "Need to replace or remove default logo?" +msgstr "" + +#: core/includes/theme-options.php:221 +#, php-format +msgid " Click here." +msgstr "" + +#: core/includes/theme-options.php:228 +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/theme-options.php:233 +#, php-format +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/theme-options.php:237 +msgid "Headline" +msgstr "" + +#: core/includes/theme-options.php:242 +msgid "Enter your headline" +msgstr "" + +#: core/includes/theme-options.php:246 +msgid "Subheadline" +msgstr "" + +#: core/includes/theme-options.php:251 +msgid "Enter your subheadline" +msgstr "" + +#: core/includes/theme-options.php:255 +msgid "Content Area" +msgstr "" + +#: core/includes/theme-options.php:260 +msgid "Enter your content" +msgstr "" + +#: core/includes/theme-options.php:261 +msgid "" +"Your title, subtitle and this very content is editable from Theme Option. " +"Call to Action button and its destination link as well. Image on your right " +"can be an image or even YouTube video if you like." +msgstr "" + +#: core/includes/theme-options.php:264 +msgid "Call to Action (URL)" +msgstr "" + +#: core/includes/theme-options.php:269 +msgid "Enter your call to action URL" +msgstr "" + +#: core/includes/theme-options.php:273 +msgid "Call to Action (Text)" +msgstr "" + +#: core/includes/theme-options.php:278 +msgid "Enter your call to action text" +msgstr "" + +#: core/includes/theme-options.php:282 +msgid "Featured Content" +msgstr "" + +#: core/includes/theme-options.php:283 core/includes/theme-options.php:285 +msgid "See Docs" +msgstr "" + +#: core/includes/theme-options.php:289 +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php:296 +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php:306 +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php:316 +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php:329 +msgid "Twitter" +msgstr "" + +#: core/includes/theme-options.php:334 +msgid "Enter your Twitter URL" +msgstr "" + +#: core/includes/theme-options.php:338 +msgid "Facebook" +msgstr "" + +#: core/includes/theme-options.php:343 +msgid "Enter your Facebook URL" +msgstr "" + +#: core/includes/theme-options.php:347 +msgid "LinkedIn" +msgstr "" + +#: core/includes/theme-options.php:352 +msgid "Enter your LinkedIn URL" +msgstr "" + +#: core/includes/theme-options.php:356 +msgid "YouTube" +msgstr "" + +#: core/includes/theme-options.php:361 +msgid "Enter your YouTube URL" +msgstr "" + +#: core/includes/theme-options.php:365 +msgid "StumbleUpon" +msgstr "" + +#: core/includes/theme-options.php:370 +msgid "Enter your StumbleUpon URL" +msgstr "" + +#: core/includes/theme-options.php:374 +msgid "RSS Feed" +msgstr "" + +#: core/includes/theme-options.php:379 +msgid "Enter your RSS Feed URL" +msgstr "" + +#: core/includes/theme-options.php:383 +msgid "Google+" +msgstr "" + +#: core/includes/theme-options.php:388 +msgid "Enter your Google+ URL" +msgstr "" + +#: core/includes/theme-options.php:392 +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php:397 +msgid "Enter your Instagram URL" +msgstr "" + +#: core/includes/theme-options.php:401 +msgid "Pinterest" +msgstr "" + +#: core/includes/theme-options.php:406 +msgid "Enter your Pinterest URL" +msgstr "" + +#: core/includes/theme-options.php:410 +msgid "Yelp!" +msgstr "" + +#: core/includes/theme-options.php:415 +msgid "Enter your Yelp! URL" +msgstr "" + +#: core/includes/theme-options.php:419 +msgid "Vimeo" +msgstr "" + +#: core/includes/theme-options.php:424 +msgid "Enter your Vimeo URL" +msgstr "" + +#: core/includes/theme-options.php:428 +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php:433 +msgid "Enter your foursquare URL" +msgstr "" + +#: core/includes/theme-options.php:440 +msgid "Custom CSS Styles" +msgstr "" + +#: core/includes/theme-options.php:441 +msgid "CSS Tutorial" +msgstr "" + +#: core/includes/theme-options.php:445 +msgid "Enter your custom CSS styles." +msgstr "" + +#: core/includes/theme-options.php:451 +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php:452 +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php:453 +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php:456 +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php:461 +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php:464 +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:155 +msgid "Install Required Plugins" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:156 +msgid "Install Plugins" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:158 +msgid "Something went wrong." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:170 +msgid "Return to the dashboard" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:172 +#: core/includes/classes/class-tgm-plugin-activation.php:1616 +msgid "The following plugin was activated successfully:" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:173 +#, php-format +msgid "All plugins installed and activated successfully. %1$s" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:174 +msgid "Dismiss this notice" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1129 +msgid "External Link" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1134 +msgid "Private Repository" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1138 +msgid "Pre-Packaged" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1143 +msgid "WordPress Repository" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1146 +msgid "Required" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1146 +msgid "Recommended" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1149 +msgid "Not Installed" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1152 +msgid "Installed But Not Activated" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1333 +#, php-format +msgid "" +"No plugins to install or activate. Return to the Dashboard" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1349 +msgid "Plugin" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1350 +msgid "Source" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1351 +msgid "Type" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1352 +msgid "Status" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1370 +msgid "Install" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1371 +msgid "Activate" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1916 +msgid "Install package not available." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1917 +#, php-format +msgid "Downloading install package from %s…" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1918 +msgid "Unpacking the package…" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1919 +msgid "Installing the plugin…" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1920 +msgid "Plugin install failed." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1921 +msgid "Plugin installed successfully." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:1932 +msgid "Plugin activation failed." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2045 +msgid "" +"The installation and activation process is starting. This process may take a " +"while on some hosts, so please be patient." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2046 +#, php-format +msgid "%1$s installed and activated successfully." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2046 +#: core/includes/classes/class-tgm-plugin-activation.php:2055 +msgid "Show Details" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2046 +#: core/includes/classes/class-tgm-plugin-activation.php:2055 +msgid "Hide Details" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2047 +msgid "All installations and activations have been completed." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2048 +#, php-format +msgid "Installing and Activating Plugin %1$s (%2$d/%3$d)" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2052 +msgid "" +"The installation process is starting. This process may take a while on some " +"hosts, so please be patient." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2053 +#, php-format +msgid "An error occurred while installing %1$s: %2$s." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2054 +#, php-format +msgid "The installation of %1$s failed." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2055 +#, php-format +msgid "%1$s installed successfully." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2056 +msgid "All installations have been completed." +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2057 +#, php-format +msgid "Installing Plugin %1$s (%2$d/%3$d)" +msgstr "" + +#: core/includes/classes/class-tgm-plugin-activation.php:2150 +msgid "Return to the Dashboard" +msgstr "" + +#: core/includes/classes/Responsive_Options.php:238 +msgid "Save Options" +msgstr "" + +#: core/includes/classes/Responsive_Options.php:239 +msgid "Restore Defaults" +msgstr "" + +#: core/includes/classes/Responsive_Options.php:240 +msgid "Upgrade" +msgstr "" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/ro_RO.mo b/wp-content/themes/responsive/languages/ro_RO.mo new file mode 100644 index 0000000..8d3c26a Binary files /dev/null and b/wp-content/themes/responsive/languages/ro_RO.mo differ diff --git a/wp-content/themes/responsive/languages/ro_RO.po b/wp-content/themes/responsive/languages/ro_RO.po new file mode 100644 index 0000000..2967e66 --- /dev/null +++ b/wp-content/themes/responsive/languages/ro_RO.po @@ -0,0 +1,817 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-09-03 09:44:30 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Romanian, Romania\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 == 0) && (n != 0))) ? 2: 1));\n" + +msgid "Pages:" +msgstr "Pagini:" + +msgid "‹ Older posts" +msgstr "Postări anterioare" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Postări noi" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "CiteÈ™te mai mult" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Această postare este protejată cu parolă. Introdu parola pentru a vizualiza comentariile." + +msgid "‹ Older comments" +msgstr "Comentarii anterioare" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Comentarii noi" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Ping-uri/Trackback-uri" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s pentru \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Nume" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +msgid "Website" +msgstr "Pagina web" + +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "defilaÈ›i în susul paginii" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +msgid "Responsive Theme" +msgstr "Tema Responsive" + +msgid "powered by" +msgstr "Rulează pe" + +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "ÃŽntoarce-te la" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Nici un comentariu" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "Un comentariu" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% comentarii" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Nici un comentariu la “%2$s“" +msgstr[1] "Un comentariu la “%2$s“" +msgstr[2] "%1$s comentarii la “%2$s“" +msgstr[3] "%1$s comentarii la “%2$s“" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Etichetat cu:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Postat în %s" + +msgid "Edit" +msgstr "Editare" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Ciudat să te întâlnesc aici!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Nu te panica, Vom trece peste împreună. Hai să luăm în calcul toate opÈ›iunile." + +msgid "You can return %s or search for the page you were looking for." +msgstr "PoÈ›i reveni la %s sau caută pentru pagina pe care o doreÈ™ti." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Acasă" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Acasă" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Arhive zilnice: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Arhive lunare: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Arhive anuale: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arhivele Blog-ului" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Nu există rezultate pentru căutarea după expresia %s" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Legătură permanentă către %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Rezultate căutare pentru: %s" + +msgid "search here …" +msgstr "caută aici …" + +msgid "Go" +msgstr "Start" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "InformaÈ›ii despre imagine" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Mărime completă:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Deschidere:" + +msgid "Focal Length:" +msgstr "Lungime focală:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "ÃŽnchizător:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Cameră:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "ÃŽn arhivă" + +msgid "Home Widget 1" +msgstr "Widget Acasă 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Acesta este widget-ul pentru prima pagina acasă. Pentru a-l edita, navigaÈ›i la Aspect > Widget-uri È™i alegeÈ›i al È™aselea widget de sus in zona numită Widget Acasă 1. Titlul se poate personaliza, de asemenea." + +msgid "Home Widget 2" +msgstr "Widget Acasă 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Acesta este widget-ul pentru a doua pagina acasă. Pentru a-l edita, navigaÈ›i la Aspect > Widget-uri È™i alegeÈ›i al È™aptelea widget de sus in zona numită Widget Acasă 2. Titlul se poate personaliza, de asemenea." + +msgid "Home Widget 3" +msgstr "Widget Acasă 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Acesta este widget-ul pentru a treia pagina acasă. Pentru a-l edita, navigaÈ›i la Aspect > Widget-uri È™i alegeÈ›i al optulea widget de sus in zona numită Widget Acasă 3. Titlul se poate personaliza, de asemenea." + +#: single.php +msgid "About" +msgstr "Despre" + +#: sitemap.php +msgid "Categories" +msgstr "Categorii" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Ultimele articole" + +#: sitemap.php +msgid "Pages" +msgstr "Pagini" + +msgid "Top Menu" +msgstr "Meniu Sus" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Meniu antet" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Meniu sub-antet" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Meniu subsol" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Pagina %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Postat în %2$s de %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Vezi toate postările lui %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arhivă pentru %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Postări etichetate %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Eroare 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Mai multe teme." + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Prezentare" + +msgid "Main Sidebar" +msgstr "Bara laterală principală" + +msgid "Area 1 - sidebar.php" +msgstr "Zona 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Bara laterală - dreapta" + +msgid "Area 2 - sidebar-right.php" +msgstr "Zona 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Bară laterală - stânga" + +msgid "Area 3 - sidebar-left.php" +msgstr "Zona 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Bară laterală - stânga - pe mijlocul paginii" + +msgid "Area 4 - sidebar-left-half.php" +msgstr "Zona 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Bară laterală - dreapta - pe mijlocul paginii" + +msgid "Area 5 - sidebar-right-half.php" +msgstr "Zona 5 - sidebar-right-half.php" + +msgid "Area 6 - sidebar-home.php" +msgstr "Zona 6 - sidebar-home.php" + +msgid "Area 7 - sidebar-home.php" +msgstr "Zona 7 - sidebar-home.php" + +msgid "Area 8 - sidebar-home.php" +msgstr "Zona 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Bară laterală - galerie" + +msgid "Area 9 - sidebar-gallery.php" +msgstr "Zona 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Widget Colophon" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Zona 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Widget Sus" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Zona 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (inregistrări complete)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog Excerpt (sumar)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "ConÈ›inut/Bară laterală" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Bară laterală/ConÈ›inut" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "ConÈ›inut/Bară laterală Jumătate de pagină" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Bară laterală/ConÈ›inut Jumătate de pagină" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Pagină întreagă (fără bară laterală)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Pagină de destinaÈ›ie (fără meniu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Harta site" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Aspect" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Implicit" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Salut, lume!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Subtitlul tău H2 aici" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Titlul, subtitlul si conÈ›inutul sunt editabile din OpÈ›iuni Temă. Butonul È™i destinaÈ›ia de asemenea. Imaginea din dreapta poate fi o imagine sau chiar un video YouTube, daca doriÈ›i." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "AcÈ›ionează" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "OpÈ›iuni È™ablon" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "OpÈ›iunile au fost salvate." + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementele È™ablonului" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "DezactivaÈ›i liste Breadcrumb?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Bifează pentru dezactivare" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Dezactivează butonul AcÈ›ioneaza?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Salvează opÈ›iunile" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Restaurează la implicit" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "ÃŽncarcă Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Antet personalizat" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "AveÈ›i nevoie să inlocuiÈ›i sau să stergeÈ›i logo-ul iniÈ›ial?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Apasă aici." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Pagină de start" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Titlu" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Introdu titlul" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Subtitlu" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Introdu subtitlul" + +msgid "Content Area" +msgstr "Zona de conÈ›inut" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Introdu conÈ›inutul" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "AcÈ›ionează (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Introdu URL-ul pentru acÈ›ionare" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "AcÈ›ionare (Text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Introdu textul pentru acÈ›ionare" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "ConÈ›inut promovat" + +msgid "See Docs" +msgstr "Vezi DocumentaÈ›ie" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "IntroduceÈ›i sursa legăturii scurte, video sau imagine." + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Aspecte implicite" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Aspectul predefinit pentru pagina statică" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Aspectul predefinit pentru pagina unei postări" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Aspectul predefinit pentru pagina postări" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Uneltele Webmaster-ului" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Verificarea de către Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Introdu numărul de ID Google" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Verificarea de către Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Introdu numărul de ID Bing" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Verificarea de către Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Introdu numărul de ID Yahoo" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Statisticile site-ului" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Lasă necompletat dacă modulul controlează instrumentele webmaster-ului" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, altele sau toate dintre ele." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Pictograme ReÈ›ele Sociale" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "IntroduceÈ›i adresa dvs. petru Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "IntroduceÈ›i adresa dvs. pentru Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "IntroduceÈ›i adresa dvs. pentru LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "IntroduceÈ›i adresa dvs. pentru YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "IntroduceÈ›i adresa dvs. pentru StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Flux RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "IntroduceÈ›i adresa fluxului dvs. RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "IntroduceÈ›i adresa dvs. Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "IntroduceÈ›i adresa dvs. Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "IntroduceÈ›i adresa dvs. Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "IntroduceÈ›i adresa dvs. Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "IntroduceÈ›i adresa dvs. Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +msgid "Enter your foursquare URL" +msgstr "IntroduceÈ›i adresa dvs. foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Stiluri CSS personalizate" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Tutorial CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "IntroduceÈ›i stilurile dvs. CSS personalizate" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Script Personalizat" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Scripturi personalizate pentru Antet sau Subsol." + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Tutorial Rapid" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Fixează in header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "IntroduceÈ›i scriptul personalizat pentru antet." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Fixează in footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "IntroduceÈ›i scriptul personalizat pentru subsol." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "Permite prima pagină personalizată" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Ajutor" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "InstrucÅ£iuni" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "ÃŽnlocuieÅŸte opÅ£iunea WordPress %1sfront page option%2s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "Traducere" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Bine aÈ›i venit la %1$s! Upgrade la %2$s astăzi." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/ru_RU.mo b/wp-content/themes/responsive/languages/ru_RU.mo new file mode 100644 index 0000000..a295adc Binary files /dev/null and b/wp-content/themes/responsive/languages/ru_RU.mo differ diff --git a/wp-content/themes/responsive/languages/ru_RU.po b/wp-content/themes/responsive/languages/ru_RU.po new file mode 100644 index 0000000..0b9e524 --- /dev/null +++ b/wp-content/themes/responsive/languages/ru_RU.po @@ -0,0 +1,864 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:34 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Russian, Russia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Страницы:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Старые публикации" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Ðовые публикации ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Подробнее »" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Эта Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ð° паролем. Введите пароль Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Старые комментарии" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Ðовые комментарии ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Пинги/Обратные ÑÑылки" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s Ð´Ð»Ñ \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "ИмÑ" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Сайт" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "прокрутка наверх" + +#: footer.php +msgid "↑" +msgstr "⇧" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Тема Responsive" + +#: footer.php +msgid "powered by" +msgstr "работает на" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://ru.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ ВернутьÑÑ Ð²" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Комментариев нет ⇩" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 комментарий ⇩" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "Комментариев: % ⇩" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Один комментарий на “%2$s”" +msgstr[1] "%1$s ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ð¸Ñ Ð½Ð° “%2$s”" +msgstr[2] "%1$s комментариев на “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Метки:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Опубликовано в %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Редактировать" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Страница не найдена!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Страница, которую Ð’Ñ‹ ищете, не ÑущеÑтвует или проÑто перемещена. Ðе волнуйтеÑÑŒ, раÑÑмотрите предлагаемые варианты." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Ð’Ñ‹ можете вернутьÑÑ Ð² %s или воÑпользоватьÑÑ Ð¿Ð¾Ð¸Ñком и найти нужную Вам Ñтраницу" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Ðачало" + +#: loop-no-posts.php +msgid "← Home" +msgstr "⇦ Ðачало" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Ðрхивы за день: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Ðрхивы за меÑÑц: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ðрхивы за год: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Ðрхивы блога" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Ваш поиÑковый Ð·Ð°Ð¿Ñ€Ð¾Ñ « %s » не нашел ни одной публикаций." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "ПоÑтоÑÐ½Ð½Ð°Ñ ÑÑылка на публикацию: %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Результаты по запроÑу: %s" + +#: searchform.php +msgid "search here …" +msgstr "иÑкать здеÑÑŒ …" + +#: searchform.php +msgid "Go" +msgstr "⏎" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ð± изображении" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Полный размер:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Диафрагма: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "ФокуÑное раÑÑтоÑние:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "мм" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Затвор:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Камера:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Ð’ архиве" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Виджет â„–1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Это окно Вашего виджета â„–1. Ð”Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¹Ð´Ð¸Ñ‚Ðµ по ÑÑылке Внешний вид > Виджеты и выберите 6-й виджет Ñверху Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ Виджет â„–1. Заголовок также изменÑетÑÑ Ð² виджетах." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Виджет â„–2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Это окно Вашего виджета â„–2. Ð”Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¹Ð´Ð¸Ñ‚Ðµ по ÑÑылке Внешний вид > Виджеты и выберите 7-й виджет Ñверху Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ Виджет â„–2. Заголовок также изменÑетÑÑ Ð² виджетах." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Виджет â„–3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Это окно Вашего виджета â„–3. Ð”Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¹Ð´Ð¸Ñ‚Ðµ по ÑÑылке Внешний вид > Виджеты и выберите 8-й виджет Ñверху Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ Виджет â„–3. Заголовок также изменÑетÑÑ Ð² виджетах." + +#: single.php +msgid "About" +msgstr "О наÑ" + +#: sitemap.php +msgid "Categories" +msgstr "Рубрики" + +#: sitemap.php +msgid "Latest Posts" +msgstr "ПоÑледние публикации" + +#: sitemap.php +msgid "Pages" +msgstr "Страницы" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Верхнее меню" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Заголовок меню" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Подзаголовок меню" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Ðижнее меню" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Страница %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Опубликовано %2$s Ðвтор: %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Показать вÑе публикации автора: %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Ðрхив Ð´Ð»Ñ %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Публикации Ñ Ð¼ÐµÑ‚ÐºÐ°Ð¼Ð¸ %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Ошибка 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Другие темы" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Витрина" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "ОÑновной Ñайдбар" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "1-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Сайдбар Ñправа" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "2-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Сайдбар Ñлева" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "3-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Сайдбар Ñлева в полÑтраницы" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "4-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Сайдбар Ñправа в полÑтраницы" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "5-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "6-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "7-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "8-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Сайдбар галереи" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "9-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Ðижний виджет" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "10-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Верхний виджет" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "11-Ñ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Блог (Ð¿Ð¾Ð»Ð½Ð°Ñ ÑтатьÑ)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Блог отрывок (резюме)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Публикации/Сайдбар" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Сайдбар/Публикации" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Публикации/Сайдбар в полÑтраницы" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Сайдбар/Публикации в полÑтраницы" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Страница в полную ширину (без Ñайдбара)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ñтраница (без меню)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Карта Ñайта" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Макет" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "По умолчанию" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Привет, мир!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Ваш <H2> подзаголовок" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Ваш заголовок, подзаголовок и Ñто Ñодержание можно отредактировать в Параметрах темы. Ртакже, кнопку призыва к дейÑтвию и ÑÑылку его назначениÑ. Справа от Ð’Ð°Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть изображение или при желании, видео Ñ YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Призыв к дейÑтвию" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Параметры темы" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Параметры Ñохранены" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Элементы темы" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Отключить ÑпиÑки хлебных крошек?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Отметьте Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Отключить кнопку Призыв к дейÑтвию?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Сохранить параметры" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "ВоÑÑтановить по умолчанию" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Загрузка логотипа" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "СобÑтвенный заголовок" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Хотите заменить или удалить Ñтандартный логотип?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Ðажмите здеÑÑŒ." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Ð“Ð»Ð°Ð²Ð½Ð°Ñ Ñтраница" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Заголовок" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Введите Ñвой заголовок" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Подзаголовок" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Введите Ñвой подзаголовок" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ОблаÑÑ‚ÑŒ ÑодержаниÑ" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Введите Ñвое Ñодержание" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Призыв к дейÑтвию (URL адреÑ)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¸Ð·Ñ‹Ð²Ð° к дейÑтвию" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Привыв к дейÑтвию (ТекÑÑ‚)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Введите Ñвой текÑÑ‚ призыва к дейÑтвию" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "ПопулÑрные публикации" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Cм. документацию" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Ð’Ñтавьте Ñвой шорткод, иÑточник на видео или изображение" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Макеты по умолчанию" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Макет ÑтатичеÑкой Ñтраницы по умолчанию" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Макет одной Ñтатьи блога по умолчанию" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Макет главной Ñтатьи блога по умолчанию" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ИнÑтрументы веб-маÑтера" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Подтверждение Ñайта в Google" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Введите только номер Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Подтверждение Ñайта в Bing" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Введите только номер Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Подтверждение Ñайта в Yahoo" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Введите только номер Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "СтатиÑтика отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñайта" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ОÑтавьте пуÑтым, еÑли инÑтрументы вебмаÑтера обрабатывает плагин" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, любой другой или вÑе они." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Социальные иконки" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS канал" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ RSS канала" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Введите Ñвой URL Ð°Ð´Ñ€ÐµÑ Ð² foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "СобÑтвенные CSS Ñтили" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "http://htmlbook.ru/css" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Учебник CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Введите Ñвои ÑобÑтвенные CSS Ñтили. " + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "СобÑтвенные Ñкрипты" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "СобÑтвенные Ñкрипты Ð´Ð»Ñ ÑˆÐ°Ð¿ÐºÐ¸ и подвала" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Краткое руководÑтво" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Ð’ÑтраиваетÑÑ Ð² header.php ⇩" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Введите Ñвои ÑобÑтвенные Ñкрипты в шапке." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Ð’ÑтраиваетÑÑ Ð² footer.php ⇩" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Введите Ваши ÑобÑтвенные Ñкрипты в подвале." + +msgid "Enable Custom Front Page" +msgstr "Включить пользовательÑкую главную Ñтраницу" + +msgid "Help" +msgstr "Помощь" + +msgid "Instructions" +msgstr "ИнÑтрукции" + +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "ПереопределÑет %1sпараметр главной Ñтраницы%2s WordPress" + +msgid "Translate" +msgstr "ПеревеÑти" + +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Добро пожаловать в %1$s! ОбновитеÑÑŒ ÑÐµÐ³Ð¾Ð´Ð½Ñ Ð´Ð¾ %2$s." \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/sk_SK.mo b/wp-content/themes/responsive/languages/sk_SK.mo new file mode 100644 index 0000000..0323217 Binary files /dev/null and b/wp-content/themes/responsive/languages/sk_SK.mo differ diff --git a/wp-content/themes/responsive/languages/sk_SK.po b/wp-content/themes/responsive/languages/sk_SK.po new file mode 100644 index 0000000..2d12648 --- /dev/null +++ b/wp-content/themes/responsive/languages/sk_SK.po @@ -0,0 +1,874 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:31 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Slovak, Slovakia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : (n >= 2 && n <= 4) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Stránky:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ StarÅ¡ie Älánky" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "NovÅ¡ie Älánky ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Celý Älánok ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Tento Älánok je chránený heslom. Zadajte prosím heslo na sprístupnenie komentárov." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ StarÅ¡ie komentáre" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "NovÅ¡ie komentáre ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Ping-y/Trackback-y" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s pre \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Meno" + +#: comments.php +msgid "E-mail" +msgstr "Email" + +#: comments.php +msgid "Website" +msgstr "Web stránka" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "prejsÅ¥ na zaÄiatok" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Téma Responsive" + +#: footer.php +msgid "powered by" +msgstr "na technológii" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Naspäť na" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Žiadne komentáre ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 komentár ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% komentáre ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Jeden komentár pre “%2$s”" +msgstr[1] "%1$s komentáre pre “%2$s”" +msgstr[2] "%1$s komentárov pre “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "OznaÄené s:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Uverejnené v %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "UpraviÅ¥" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 - Stránka neexistuje" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "NepanikáriÅ¥, prejdeme to spolu. Prejdi si nastavenia." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Môžete sa vrátiÅ¥ %s alebo vyhľadaÅ¥ stránku, ktorú ste hľadali" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Úvod" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Úvod" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Denné archívy: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MesaÄné archívy: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "RoÄné archívy: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Archív stránky" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "VaÅ¡e vyhľadávanie pre %s nenájdené" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Trvalý odkaz na %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Výsledky vyhľadávanie pre: %s" + +#: searchform.php +msgid "search here …" +msgstr "Äo vyhľadaÅ¥ …" + +#: searchform.php +msgid "Go" +msgstr ">>" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Informácie o obrázku" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Plná veľkosÅ¥:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Clona: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Ohnisková vzdialenosÅ¥:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Závierka:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Fotoaparát:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "V archíve" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Úvodný widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Toto je Váš prvý widget úvodnej stránky. Upravíte ho v Vzhľad > Widgety, kde si vyberte Å¡iesty widget od vrchu s názvom Úvodný widget 1 (OblasÅ¥ 6 - sidebar-home.php). Titulok je tiež možné zmeniÅ¥." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Úvodný widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Toto je Váš druhý widget úvodnej stránky. Upravíte ho v Vzhľad > Widgety, kde si vyberte siedmy widget od vrchu s názvom Úvodný widget 2 (OblasÅ¥ 7 - sidebar-home.php). Titulok je tiež možné zmeniÅ¥." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Úvodný widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Toto je Váš tretí widget úvodnej stránky. Upravíte ho v Vzhľad > Widgety, kde si vyberte ôsmy widget od vrchu s názvom Úvodný widget 3 (OblasÅ¥ 8 - sidebar-home.php). Titulok je tiež možné zmeniÅ¥." + +#: single.php +msgid "About" +msgstr "O nás" + +#: sitemap.php +msgid "Categories" +msgstr "Kategórie" + +#: sitemap.php +msgid "Latest Posts" +msgstr "NajnovÅ¡ie Älánky" + +#: sitemap.php +msgid "Pages" +msgstr "Stránky" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Vrchné menu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Menu hlaviÄky" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Menu podhlaviÄky" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Menu pätiÄky" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Strana %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Uverejnené dňa %2$s autorom %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "ZobraziÅ¥ vÅ¡etky Älánky autora %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Archív pre %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "ÄŒlánky oznaÄené %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404 chyba" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "ÄŽalÅ¡ie témy" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Prehliadka" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Hlavný boÄný panel" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "OblasÅ¥ 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Pravý boÄný panel" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "OblasÅ¥ 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Ľavý boÄný panel" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "OblasÅ¥ 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Ľavý boÄný panel - polovica stránky" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "OblasÅ¥ 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Pravý boÄný panel - polovica stránky" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "OlasÅ¥ 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "OblasÅ¥ 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "OblasÅ¥ 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "OblasÅ¥ 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "BoÄný panel Galérie" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "OblasÅ¥ 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Tiráž widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "OblasÅ¥ 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Vrchný widget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "OblasÅ¥ 12 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Rozcestníková stránka (bez menu)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Mapa stránky" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Å ablóna" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Predvolené" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Ahoj, svet!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Tvoj H2 nadpis" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Titulok, vedľajší titulok a obsah upravíte v Nastaveniach témy. Rovnako aj text a URL akÄného tlaÄítka. Obrázok vpravo môže byÅ¥ obrázok, alebo aj YouTube video." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "AkÄné tlaÄítko" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Nastavenia témy" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Nastavenie uložené" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementy témy" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "ZablokovaÅ¥ navigáciu (breadcrumb)?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "OznaÄiÅ¥ pre zablokovanie" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ZablokovaÅ¥ AkÄné tlaÄítko" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "UložiÅ¥ nastavenia" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Obnov predvolené" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "NahraÅ¥ logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Vlastná hlaviÄka" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "VymazaÅ¥ alebo nahradiÅ¥ logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "NahradiÅ¥ alebo odstrániÅ¥ logo." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Úvodná stránka" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Titulka" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Zadajte titulku" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Vedľajší titulok" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Zadajte vedľajší titulok" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Obsahová ÄasÅ¥" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Zadajte obsah" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "AkÄné tlaÄítko (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Zadajte URL pre akÄné tlaÄítko" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Text pre akÄné tlaÄítko" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Zadajte text pre akÄné tlaÄítko" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Zvýraznený obsah" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Pozri dokumentáciu" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Zadajte zdroj obrázka alebo videa" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Predvolené Å¡ablóny" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Predvolená statická Å¡ablóna stránky" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Nástroje webmastera" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Goggle site overenie" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Zadajte Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing site overenie" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Zadajte Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo site overenie" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Zadajte Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Sledovanie Å¡tatistík stránky" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Nechajte prázdne, ak používate modul na správu Nástrojov webmastera" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, iný alebo vÅ¡etky" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Ikony sociálnych sietí" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Zadajte Twitter URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Zadajte Facebook URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Zadajte LinkedIn URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Zadajte YouTube URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Zadajte StumbleUpon URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS kanál" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Zadajte URL RSS kanála" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Zadajte Google+ URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Zadajte Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Zadajte Pinterest URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Zadajte Yelp! URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Zadajte Vimeo URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Zadajte foursquare URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Vlastné CSS Å¡týly" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/cs/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS návod" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Zadajte vlastné CSS Å¡týly." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Vlastné skripty" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Vlastné skripty pre hlaviÄku a pätiÄku" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Rýchly návod" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "VložiÅ¥ do header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Zadajte vlastný skript pre hlaviÄku" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "VložiÅ¥ do footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Zadajte vlastný skript pre pätiÄku" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/sl_SI.mo b/wp-content/themes/responsive/languages/sl_SI.mo new file mode 100644 index 0000000..f7f2722 Binary files /dev/null and b/wp-content/themes/responsive/languages/sl_SI.mo differ diff --git a/wp-content/themes/responsive/languages/sl_SI.po b/wp-content/themes/responsive/languages/sl_SI.po new file mode 100644 index 0000000..ce937a8 --- /dev/null +++ b/wp-content/themes/responsive/languages/sl_SI.po @@ -0,0 +1,875 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:35 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Slovenian, Slovenia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Strani:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ StarejÅ¡e objave" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "NovejÅ¡e objave ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "VeÄ ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Ta objava je zaÅ¡Äitena z geslom. Vnesi geslo ze pregled komentarjev." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ StarejÅ¡i komentarji" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "NovejÅ¡i komentarji ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pingi/Povratne povezave" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s za \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Ime" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Spletna stran" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "na vrh" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Narejeno z" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://sl.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Nazaj" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Ni komentarjev ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 komentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% komentarji ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s komentarjev v “%2$s”" +msgstr[1] "%1$s komentarjev v “%2$s”" +msgstr[2] "%1$s komentar v “%2$s”" +msgstr[3] "%1$s komentarjev v “%2$s”" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Oznake:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Objavljeno v %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Popravi" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Kaj delaÅ¡ tukaj?!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ne skrbi. Skupaj bomo reÅ¡ili problem. Preglejmo možnosti." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Lahko se vrneÅ¡ %s ali poiÅ¡Äi stran, ki jo želiÅ¡." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Domov" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Domov" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dnevni arhiv: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MeseÄni arhiv: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Letni arhiv: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Arhiv" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Rezultati iskanja %s ni zadetkov" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Trajna povezava %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Rezultati iskanja za: %s" + +#: searchform.php +msgid "search here …" +msgstr "iÅ¡Äi …" + +#: searchform.php +msgid "Go" +msgstr "Potrdi" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Info o fotografiji" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Velika:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Zaslonka objektiva: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "GoriÅ¡Änica:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Zaklop:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "V arhivu" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Domov - gradnik 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "To je prvi gradnik naslovne strani. Za spremembo obiÅ¡Äi Izgled > Gradniki in izberi 6ti gradnik z vrha na Å¡estem mestu, ki se imenuje (Domov - gradnik) Home Widget 1. Naslov se lahko tudi spremeni v gradnikih." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Domov - gradnik 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "To je drugi gradnik naslovne strani. Za spremembo obiÅ¡Äi Izgled > Gradniki in izberi 7ti gradnik z vrha na sedmem mestu, ki se imenuje (Domov - gradnik) Home Widget 2. Naslov se lahko tudi spremeni v gradnikih." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Domov - gradnik 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "To je tretji gradnik naslovne strani. Za spremembo obiÅ¡Äi Izgled > Gradniki in izberi 8ti gradnik z vrha na osmem mestu, ki se imenuje (Domov - gradnik) Home Widget 3. Naslov se lahko tudi spremeni v gradnikih." + +#: single.php +msgid "About" +msgstr "O nas" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorije" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Zadnje objave" + +#: sitemap.php +msgid "Pages" +msgstr "Strani" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Gornji meni" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Naslovni meni" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Podnaslovni meni" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Meni v nogi" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Stran %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Objavljeno %2$s оd %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Poglej objave od %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arhiv za %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Objave z oznako %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Napaka 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "VeÄ tem" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Pregled" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Glavni Sidebar" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Prvo mesto - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Desni sidebar" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Drugo mesto - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Levi sidebar" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Tretje mesto - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Leva stranska vrstica, pol strani" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "ÄŒetrto mesto - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Desna stranska vrstica, pol strani" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Peto mesto - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Å esto mesto - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Sedmo mesto - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Osmo mesto - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galerija - stranska vrstica" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Deveto mesto - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Kolofon gradnik" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Prostor deset - stranski-kolofon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Gornji gradnik" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Prostor 12 - stranski-zgoraj.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (celotne objave)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Povzetek bloga (Skupaj)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Vsebina/Stranska vrstica" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Stranska vrstica/Vsebina" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Vsebina/Stranska vrstica - polovica strani" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Stranska vrstica/Vsebina - polovica strani" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Celotna Å¡irina (brez stranske vrstice)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Pristajalna stran (brez menija)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Zemljevid spletnega mesta" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Izgled" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Izvirnik" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Pozdravljen svet!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "H2 podnaslov tukaj" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Naslov, podnaslov in vsebina, ki se vidi, se lahko spremeni pod Možnostmi teme. Podobno tudi gumb Poziv k akciji in njegova povezava. Namesto desne sike lahko vstaviÅ¡ svojo sliko ali celo youtube posnetek." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Poziv k akciji" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Možnosti teme" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Možnosti shranjene" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Elementi teme" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "OnemogoÄi Breadcrumb Listo?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "OznaÄi za onemogoÄenje" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "OnemogoÄi Call to Action gumb?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Shrani možnosti" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Ponastavi izvirno" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Naloži logotip" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Sprememba glave (Header)" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "ŽeliÅ¡ spremeniti ali odstraniti postavljeni logotip?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klikni tukaj." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Domov" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Naslov" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "VpiÅ¡i naslov" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Podnaslov" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "VpiÅ¡i podnaslov" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Vsebina" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "VpiÅ¡i vsebino" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Call to Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "VpiÅ¡i call to action URL" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Call to Action (Tekst)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "VpiÅ¡i call to action tekst" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Izbrana vsebina" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Dokumentacija" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Prilepi kodo, video ali sliko" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Izvirni izgled" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Izvirni izgled statiÄne strani" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Izvirni izgled posamezne objave" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Izvirni pogled seznama objav" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Orodja za upravljanje" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google verifikacija spletne strani" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Vnesi Google ID Å¡tevilko" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing verifikacija spletne strani" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "vnesi samo Bing ID Å¡tevilko" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo verifikacija spletne strani" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Vnesi samo Yahoo ID Å¡tevilko" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Statistika spletne strani" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Pusti prazno v kolikor vtiÄnik upravlja z orodji za upravljanje" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, drugo ali vse." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Social ikone" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Tvoj Twitter URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Tvoj Facebook URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Tvoj LinkedIn URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Tvoj YouTube URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Tvoj StumbleUpon URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Tvoj RSS Feed URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Tvoj Google+ URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Tvoj Instagram URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Tvoj Pinterest URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Tvoj Yelp! URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Tvoj Vimeo URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Tvoj foursquare URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Poseben CSS stil" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS Tutorial" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Tvoj CSS Stil" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Skripte po meri" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Skripte po meri za Glavo in Nogo" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Hitra navodila" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Vstavljeno v header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Vstavi svojo skripto po meri za glavo." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Vstavljeno v header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Vstavi svojo skripto po meri za nogo." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/sr_RS.mo b/wp-content/themes/responsive/languages/sr_RS.mo new file mode 100644 index 0000000..b84ffc7 Binary files /dev/null and b/wp-content/themes/responsive/languages/sr_RS.mo differ diff --git a/wp-content/themes/responsive/languages/sr_RS.po b/wp-content/themes/responsive/languages/sr_RS.po new file mode 100644 index 0000000..45d818b --- /dev/null +++ b/wp-content/themes/responsive/languages/sr_RS.po @@ -0,0 +1,874 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:34 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Serbian (Cyrillic)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Странице:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Старији чланци" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Ðовији чланци ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Прочитајте више ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Овај чланак је заштићен лозинком. УнеÑите лозинку да биÑте видели коментаре." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Старији коментари" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Ðовији коментари ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Пингови/повратне везе" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s за \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Име" + +#: comments.php +msgid "E-mail" +msgstr "Е-пошта" + +#: comments.php +msgid "Website" +msgstr "ВебÑајт" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "повратак на врх" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "базирано на" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://sr.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "Wordpress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Повратак на" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Без коментара ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 коментар ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% коментара ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "Један коментар на “%2$sâ€" +msgstr[1] "%1$s коментара на “%2$sâ€" +msgstr[2] "%1$s коментара на “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Означено Ñа:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Објављено у %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Уреди" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Лепо је ÑреÑти Ð’Ð°Ñ Ð¾Ð²Ð´Ðµ!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Без панике, заједно ћемо решити ово. Да погледамо које Ñу нам опције." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Можете Ñе вратити %s или даље тражити жељену Ñтраницу." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Почетна" + +#: loop-no-posts.php +msgid "← Home" +msgstr "↠Почетна" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Дневни архив: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "МеÑечни архив: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Годишњи архив: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Ðрхив блога" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Ваша претрага за %s Ñе не подудара ни Ñа једним уноÑом." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Стална веза ка %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Резултати претраге: %s" + +#: searchform.php +msgid "search here …" +msgstr "претрага ..." + +#: searchform.php +msgid "Go" +msgstr "Крените" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Подаци о Ñлици" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Пуна величина:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Отвор објектива: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Дужина фокуÑа:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "мм" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ИСО:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Бленда:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Фото апарат:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "У архиви" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Виџет на почетној Ñтрани 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Ово је први проÑтор за виџет на почетној Ñтраници. За уређивање молимо Ð²Ð°Ñ Ð¸Ð´Ð¸Ñ‚Ðµ на Изглед > Виџети и изаберете шеÑти виџет од врха у проÑтор шеÑÑ‚ назван Виџет на почетној 1. ÐаÑлов је такође могуће променити у Ñамом виџету." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Виџет на почетној Ñтрани 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Ово је други проÑтор за виџет на почетној Ñтраници. За уређивање молимо Ð²Ð°Ñ Ð¸Ð´Ð¸Ñ‚Ðµ на Изглед > Виџети и изаберете Ñедми виџет од врха у проÑтор шеÑÑ‚ назван Виџет на почетној 2. ÐаÑлов је такође могуће променити у Ñамом виџету." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Виџет на почетној Ñтрани 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Ово је трећи проÑтор за виџет на почетној Ñтраници. За уређивање молимо Ð²Ð°Ñ Ð¸Ð´Ð¸Ñ‚Ðµ на Изглед > Виџети и изаберете оÑми виџет од врха у проÑтор оÑам назван Виџет на почетној 3. ÐаÑлов је такође могуће променити у Ñамом виџету." + +#: single.php +msgid "About" +msgstr "О" + +#: sitemap.php +msgid "Categories" +msgstr "Категорије" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Ðајновији чланци" + +#: sitemap.php +msgid "Pages" +msgstr "Стране" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Мени на врху Ñтране" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Мени у заглављу" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Мени у подзаглављу" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Мени на дну Ñтране" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Страна %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Објављено %2$s од %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Погледајте Ñве чланке од %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Ðрхива за %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Чланци означени %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Грешка 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Још тема" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Излог" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Главнa бочни мени" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "ПроÑтор један - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "ДеÑни бочни мени" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "ПроÑтор два - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Леви бочни мени" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "ПроÑтор три - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Леви бочни мени половина Ñтранице" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "ПроÑтор четири - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "ДеÑни бочни мени половина Ñтранице" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "ПроÑтор пет - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "ПроÑтор шеÑÑ‚ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "ПроÑтор Ñедам - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "ПроÑтор оÑам - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Бочни мени за галерију" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "ПроÑтор девет - sidebar-home.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Виџет у колофону" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "ПроÑтор деÑет - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Виџет на врху Ñтранице" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "ПроÑтор једанаеÑÑ‚ - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Блог (цели чланци)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "ИÑечак блога (Ñажетак)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Садржај/бочна трака" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Бочна трака/Ñадржај" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Садржај/бочна трака половина Ñтранице" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Бочна трака/Ñадржај половина Ñтранице" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Пуна ширина Ñтранице (без бочне траке)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Крајња Ñтраница (без менија)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Мапа Ñајта" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Прелом" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "ОÑнова" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Здраво, Ñвете!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Ваш H2 поднаÑлов овде" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "ÐаÑлов, поднаÑлов као и овај Ñадржај можете уредити под â€ÐžÐ¿Ñ†Ð¸Ñ˜Ðµ за темуâ€. Такође и дугме â€ÐŸÐ¾Ð·Ð¸Ð² на акцију†и његов циљ. Слика на деÑној Ñтрани може бити Ñлика или чак и видео Ñа Јутјуба, ако желите." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Позив на акцију" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Опције теме" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Опције Ñу Ñачуване" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Елементи теме" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "ИÑкључити Breadcrumb лиÑту?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Обележите да иÑкључите" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ИÑкључити дугме Позив на акцију?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Сачувати подешене опције" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Повратак на оÑнове" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Ð£Ð½Ð¾Ñ Ð»Ð¾Ð³Ð¾Ñ‚Ð¸Ð¿Ð°" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "СопÑтвено прилагођено заглавље" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Желите да замените или Ñклоните логотип?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Кликните овде." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Почетна Ñтраница" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "ÐаÑлов" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "УнеÑите наÑлов" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "ПоднаÑлов" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "УнеÑите поднаÑлов" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "ПроÑтор за Ñадржај" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "УнеÑите Ñадржај" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Позив на акцију (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "УнеÑите Ñвој URL за позив на акцију" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Позив на акцију (текÑÑ‚)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "УнеÑите текÑÑ‚ позива на акцију" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Предложени Ñадржај" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Погледајте документацију" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "УнеÑите Ñвој кратки код, видео запиÑа или Ñлике" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "ОÑновни прелом" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "ОÑновни прелом Ñтатичне Ñтранице" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "ОÑновни прелом појединачног чланка на блогу" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "ОÑновни прелом индекÑа чланака на блогу" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ВебмаÑтер алати" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Гугл верификација Ñајта" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "УнеÑите једино Ñвој Гугл ID број" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Бинг верификација Ñајта" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "УнеÑите Ñамо Ñвој Бинг ID број" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Јаху Верификација Ñајта" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "УнеÑите Ñамо Ñвој Јаху ID број" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "СтатиÑтика вебÑајта" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "ОÑтавите празно ако додатак рукује вашим алаткама за вебмаÑтере" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, неки други или Ñви наведени." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Друштвене иконице" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Твитер" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "УнеÑите Ñвој Твитер URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "ФејÑбук" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "УнеÑите Ñвој ФејÑбук URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "Линкдин" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "УнеÑите Ñвој Линкедин URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "Јутјуб" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "УнеÑите Ñвој Јутјуб URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "Стамблапон" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "УнеÑите Ñвој Стамблапон URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS фид" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "УнеÑите URL Ñвог RSS фида" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Гугл+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "УнеÑите Ñвој Гугл+ URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "ИнÑтаграм" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "УнеÑите Ñвој ИнÑтаграм URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "ПинтереÑÑ‚" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "УнеÑите Ñвој ПинтереÑÑ‚ URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Јелп!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "УнеÑите Ñвој Јелп! URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Вимео" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "УнеÑите Ñвој Вимео URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "ФорÑквер" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "УнеÑите Ñвој ФорÑквер URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "СопÑтвени CSS Ñтилови" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS упутÑтво" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "УнеÑите ÑопÑтвене CSS Ñтилове." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Прилагођене Ñкрипте" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Прилагођене Ñкрипте за заглавље и дно Ñтранице" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Кратко упутÑтво" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Уградња у заглавље.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "УнеÑите ÑопÑтвену Ñкрипту за заглавље." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Уградња у footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "УнеÑите ÑопÑтвену Ñкрипту за заглавље." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/sv_SE.mo b/wp-content/themes/responsive/languages/sv_SE.mo new file mode 100644 index 0000000..a2cb74d Binary files /dev/null and b/wp-content/themes/responsive/languages/sv_SE.mo differ diff --git a/wp-content/themes/responsive/languages/sv_SE.po b/wp-content/themes/responsive/languages/sv_SE.po new file mode 100644 index 0000000..37d8c7b --- /dev/null +++ b/wp-content/themes/responsive/languages/sv_SE.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:36 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Swedish, Sweden\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Sidor:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Äldre inlägg" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Nyare inlägg ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Läs mer ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Detta inlägg är lösenordsskyddad. Ange lösenordet för att se kommentarer." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Äldre kommentarer" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Nyare kommentarer ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trashbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s för \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Namn" + +#: comments.php +msgid "E-mail" +msgstr "E-post" + +#: comments.php +msgid "Website" +msgstr "Webbsida" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "scrolla till topp" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "drivs av" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://sv.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ GÃ¥ tillbaka till" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Inga Kommentarer ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Kommentar ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Kommentarer ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "En kommentar pÃ¥ “%2$sâ€" +msgstr[1] "%1$s kommentarer pÃ¥ “%2$sâ€" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Taggar:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Publicerad i %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Redigera" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Trevligt att träffa dig här!" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "FÃ¥ inte panik, vi tar oss igenom detta tillsammans. LÃ¥t oss utforska vÃ¥ra alternativ." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Du kan gÃ¥ tillbaka %s eller söka efter den sidan du letade efter" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Hem" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Hem" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Dagliga Arkiv: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "MÃ¥nadsarkiv: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ã…rliga Arkiv: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Bloggarkiv" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Din sökning av %s matchade inte nÃ¥gra poster" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "Permanent Länk till %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Sökresultat för: %s" + +#: searchform.php +msgid "search here …" +msgstr "sök här …" + +#: searchform.php +msgid "Go" +msgstr "Sök" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Bildinformation" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Fullstorlek:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Bländaröppning: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Brännvidd:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Slutare:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Kamera:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "I Arkiv" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Hem Widget 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Detta är din första hem-widget-box. För att redigera, gÃ¥ till Utseende > Widgets och välj sjätte widgeten frÃ¥n toppen i omrÃ¥de sex vid namn Hem Widget 1. Rubriken är ocksÃ¥ hanterbar frÃ¥n Widgets." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Hem Widget 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Detta är din andra hem-widget-box. För att redigera, gÃ¥ till Utseende > Widgets och välj sjunde widgeten frÃ¥n toppen i omrÃ¥de sju vid namn Hem Widget 2. Rubriken är ocksÃ¥ hanterbar frÃ¥n Widgets." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Hem Widget 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Detta är din tredje hem-widget-box. För att redigera, gÃ¥ till Utseende > Widgets och välj Ã¥ttonde widgeten frÃ¥n toppen i omrÃ¥de Ã¥tta vid namn Hem Widget 3. Rubriken är ocksÃ¥ hanterbar frÃ¥n Widgets." + +#: single.php +msgid "About" +msgstr "Om" + +#: sitemap.php +msgid "Categories" +msgstr "Kategorier" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Senaste Inlägg" + +#: sitemap.php +msgid "Pages" +msgstr "Sidor" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Topp Meny" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Sidhuvud Meny" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Sidhuvud Undermeny" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Sidfot Meny" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Publicerad den %2$s av %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "Visa alla inlägg av %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Arkiv för %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Inlägg taggade %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Fel 404 " + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Fler teman" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "Huvud Sidopanel" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "OmrÃ¥de Ett - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Höger Sidopanel" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "OmrÃ¥de TvÃ¥ - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Vänster Sidopanel" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "OmrÃ¥de Tre - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Vänster Sidpanel Halvsida" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "OmrÃ¥de Fyra - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Höger Sidopanel Halvsida" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "OmrÃ¥de Fem - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "OmrÃ¥de Sex - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "OmrÃ¥de Sju - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "OmrÃ¥de Ã…tta - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galleri Sidopanel" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "OmrÃ¥de Nio - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Kolofon-widget" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "OmrÃ¥de Tio - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Toppwidget" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "OmrÃ¥de Tolv - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Hello, World!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Din H2-underrubrik här" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Din rubrik, underrubrik och detta innehÃ¥ll kan du redigera frÃ¥n Temainställningar. Call to Action-knappen och dess adress likasÃ¥. Bild till höger kan vara en bild eller till och med en YouTube-video om du sÃ¥ önskar." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "Call to Action" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Temainställningar" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Inställningar Sparade" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Temainslag" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Inaktivera Brödsmulor?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Klicka i för att inaktivera" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Inaktivera Call to Action-knappen?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Spara Inställningar" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Ladda Upp Logotyp" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "Anpassat Sidhuvud" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "I behov av att byta ut eller ta bort standardlogotypen?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Klicka här." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Startsida" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Rubrik" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Ange din rubrik" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Underrubrik" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Ange din underrubrik" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "InnehÃ¥llsomrÃ¥det" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "Ange ditt innehÃ¥ll" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Call to Action (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "Ange din call to action-URL" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "Call to Action (Text)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "Ange din call to action-text" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Presenterat InnehÃ¥ll" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Se Dokumentation" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "Klistra in din kortkod, video eller bildkälla" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "Webbadministratörsverktyg" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google: Verifiering av webbplatsen" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Ange endast ditt Google ID-nummer" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing: Verifiering av webbplatsen" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Ange endast ditt Bing ID-nummer" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo: Verifiering av webbplatsen" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Ange endast ditt Yahoo ID-nummer" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Site Statistics Tracker" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Lämna blankt om plugin hanterar dina webbadministratörsverktyg" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, nÃ¥gon annan eller alla av dem." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sociala Ikoner" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Ange din Twitter-URL" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Ange din Facebook-URL" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Ange din LinkedIn-URL" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "Ange din YouTube-URL" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "Ange din StumbleUpon-URL" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS-flöde" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "Ange ditt RSS-flödes URL" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Ange din Google+-URL" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Ange din Instagram-URL" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Ange din Pinterest-URL" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Ange din Yelp!-URL" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Ange din Vimeo-URL" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "Ange din foursquare-URL" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Anpassade CSS-stilar" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "http://www.webdesignskolan.com/css/css.php" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS-handledning" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "Ange din anpassade CSS." + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Egna Skripts" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Egna Skripts för Sidhuvud och Sidfot" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Snabb Handledning" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Inbäddas i header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "Ange ditt egna skript för sidhuvud." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Inbäddas i footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "Ange ditt egna skript för sidfot." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/tk.mo b/wp-content/themes/responsive/languages/tk.mo new file mode 100644 index 0000000..e71c45d Binary files /dev/null and b/wp-content/themes/responsive/languages/tk.mo differ diff --git a/wp-content/themes/responsive/languages/tk.po b/wp-content/themes/responsive/languages/tk.po new file mode 100644 index 0000000..2b7dc82 --- /dev/null +++ b/wp-content/themes/responsive/languages/tk.po @@ -0,0 +1,873 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:36 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Turkmen\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Sahypalar:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Köne ýazgylar" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Täze ýazgylar ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Dowamyny oka ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Bu ýazgy açarsöz bilen goralan. Jogaplary görmek üçin açarsözi giriň." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Öňki jogaplar" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Täze jogaplar ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "\"%3$s\" üçin %1$d%2$s" + +#: comments.php +msgid "Name" +msgstr "Adyňyz" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "Websaýt" + +#: footer.php +msgid "©" +msgstr "" + +#: footer.php +msgid "scroll to top" +msgstr "ýokary" + +#: footer.php +msgid "↑" +msgstr "" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "" + +#: footer.php +msgid "Responsive Theme" +msgstr "" + +#: footer.php +msgid "powered by" +msgstr "-iň kömegi bilen" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Yza" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Jogap Ãok ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Jogap ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Jogap ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "“%2$s”-da bir jogap" +msgstr[1] "“%2$s”-da %1$s jogap" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Tagler:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "%s bölümine goÅŸuldy" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Üýtget" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "BaÅŸ Sahypa" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← BaÅŸ sahypa" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Günlik Arhiw: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Aýlyk Arhiw: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Ãyllyk Arhiw: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog Arhiwy" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "%s gözleginde hiçzat tapylmady." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "%s-a hemiÅŸelik sep" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "%s üçin gözleg netijeleri:" + +#: searchform.php +msgid "search here …" +msgstr "gözle …" + +#: searchform.php +msgid "Go" +msgstr "Bas" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "" + +#: sidebar-gallery.php +msgid "mm" +msgstr "" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Arhiwda" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "" + +#: single.php +msgid "About" +msgstr "Barada" + +#: sitemap.php +msgid "Categories" +msgstr "Bölümler" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Soňky Ãazgylar" + +#: sitemap.php +msgid "Pages" +msgstr "Sahypalar" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Esas Menýu" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "%4$s tarapyndan %2$s-da ýazyldy." + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "%s agzanyň ähli ýazgylary" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "%s üçin Arwih" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "%s bilen taglenen ýazgylar" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Hata 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Salam, Dünýä!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Åžuňa bas." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "BaÅŸ Sahypa" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/tr.mo b/wp-content/themes/responsive/languages/tr.mo new file mode 100644 index 0000000..17b14cd Binary files /dev/null and b/wp-content/themes/responsive/languages/tr.mo differ diff --git a/wp-content/themes/responsive/languages/tr.po b/wp-content/themes/responsive/languages/tr.po new file mode 100644 index 0000000..9ebe269 --- /dev/null +++ b/wp-content/themes/responsive/languages/tr.po @@ -0,0 +1,832 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:31 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Turkish, Turkey\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Sayfalar:" + +msgid "‹ Older posts" +msgstr "‹ Daha Eski Yazılar" + +msgid "Newer posts ›" +msgstr "Daha Yeni Yazılar ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Devamını oku ›" + +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Bu gönderi ÅŸifre korumalıdır. Yorumları görmek için ÅŸifreyi giriniz." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Eski yorumlar" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Yeni yorumlar ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Sinyaller/Geri izlemeler" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s için \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Ad" + +#: comments.php +msgid "E-mail" +msgstr "E-posta" + +#: comments.php +msgid "Website" +msgstr "Web sitesi" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "baÅŸa dön" + +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Teması" + +msgid "powered by" +msgstr "güçlendiren:" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "" + +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ Geri dön" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Henüz Yorum Yapılmadı ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Yorum ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% Yorum ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%2$s için %1$s yorum yapıldı" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Etiketler:" + +msgid "Posted in %s" +msgstr "%s kategorisine gönderildi" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Düzenle" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 - Sayfa Bulunamadı" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Panik Yapma, bunu beraber atlatacağız. Seçenekleri beraber gözden geçirelim." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Geri dönebilirsin %s ya da gitmek istediÄŸiniz sayfayı arayın" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Ana Sayfa" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← Ana Sayfa" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Günlük ArÅŸivler: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "Aylık ArÅŸivler: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Yıllık ArÅŸivler: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Blog ArÅŸivleri" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Aradığınız %s kelimesi için herhangi sonuç bulunamadı" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "%s için Kalıcı Link" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "%s için arama sonuçları" + +#: searchform.php +msgid "search here …" +msgstr "ara …" + +#: searchform.php +msgid "Go" +msgstr "Ara" + +msgid "Image Information" +msgstr "Resim Detayı" + +msgid "Full Size:" +msgstr "Tam Boyut:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Diyafram: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "Odak Uzaklığı" + +#: sidebar-gallery.php +msgid "mm" +msgstr "mm" + +msgid "ISO:" +msgstr "ISO:" + +msgid "Shutter:" +msgstr "Enstantane:" + +msgid "Camera:" +msgstr "FotoÄŸraf Makinesi:" + +msgid "In Archive" +msgstr "ArÅŸivde:" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Ana Sayfa BileÅŸeni 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Ana Sayfa BileÅŸeni 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Ana Sayfa BileÅŸeni 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "" + +#: single.php +msgid "About" +msgstr "Hakkında" + +#: sitemap.php +msgid "Categories" +msgstr "Kategoriler" + +msgid "Latest Posts" +msgstr "Son Gönderiler" + +#: sitemap.php +msgid "Pages" +msgstr "Sayfalar" + +msgid "Top Menu" +msgstr "Ãœst Menü" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "BaÅŸlık Menüsü" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Alt BaÅŸlık Menüsü" + +msgid "Footer Menu" +msgstr "Dipnot Menüsü" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "%s Sayfası" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "%4$s tarafından %2$s tarihinde eklendi " + +msgid "View all posts by %s" +msgstr "%s tarafından tüm gönderileri görüntüle" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "%s ArÅŸivleri" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "%s etiketiyle etiketlenen yazılar" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Hata 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Daha Fazla Tema" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Referanslar" + +msgid "Main Sidebar" +msgstr "Ana Yan Kolon" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Alan 1 - sidebar.php" + +msgid "Right Sidebar" +msgstr "SaÄŸ Yan Kolon" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Alan 2 - sidebar-right.php" + +msgid "Left Sidebar" +msgstr "Sol Yan Kolon" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Alan 3 - sidebar-left.php" + +msgid "Left Sidebar Half Page" +msgstr "Yarım Sayfa Sol Yan Kolon" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Alan 4 - sidebar-left-half.php" + +msgid "Right Sidebar Half Page" +msgstr "Yarım Sayfa SaÄŸ Yan Kolon" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Alan 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Alan 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Alan 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Alan 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Galeri Kenar ÇubuÄŸu" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Alan 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Ãœst BileÅŸen" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Blog (tüm yazılar)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Blog Tanıtım Yazısı (özet)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "Tam geniÅŸlikte sayfa (kenar çubuÄŸu yok)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Açılış Sayfası (menü yok)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Site Haritası" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Tasarım" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Varsayılan" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Merhaba, Dünya!" + +msgid "Your H2 subheadline here" +msgstr "H2 alt anabaÅŸlığınız buraya" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "" + +msgid "Call to Action" +msgstr "Aksiyon ÇaÄŸrısı" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Tema Seçenekleri" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Tercihler Kaydedildi" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Tema Elemanları" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Devre dışı bırakmak için iÅŸaretle" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Seçenekleri Kaydet" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "Varsayılan ayarlara geri dön" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Logo Yükle" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "ÖzelleÅŸtirilmiÅŸ BaÅŸlık" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Varsyaılan logoyu deÄŸiÅŸtirmek veya silmek mi istiyorsunuz?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "Tıklayınız." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Ana Sayfa" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "BaÅŸlık" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "BaÅŸlık giriniz" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Alt BaÅŸlık" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Alt BaÅŸlık giriniz" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "İçerik" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "İçerik giriniz" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "ÖzelleÅŸtirilmiÅŸ İçerik" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "Dökümanlara Göz At" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Varsayılan Tasarım" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Varsayılan Statik Sayfa Tasarımı" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "GeliÅŸtirici Araçları" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Site DoÄŸrulaması" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "Sadece Google Id'nizi giriniz" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Site DoÄŸrulaması" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "Sadece Bing ID'nizi giriniz" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site DoÄŸrulaması" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "Yalnızca Yahoo ID'nizi giriniz" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "Site Ä°statistiklerini Ä°zleme" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Eklenti geliÅŸtirici ayarlarıyla ilgili ise boÅŸ bırakınız" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, baÅŸka bir seçenekı veya tümü." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Sosyal Medya Ä°konları" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "Twitter baÄŸlantı adresinizi giriniz" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "Facebook baÄŸlantınızı giriniz" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "Linkedin baÄŸlantı adresini giriniz" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "YouTube baÄŸlantı adresini giriniz" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "StumbleUpon baÄŸlantı adresini giriniz" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Beslemesi" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "RSS Besleme baÄŸlantınızı giriniz" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "Google+ baÄŸlantı adresinizi giriniz" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "Instagram baÄŸlantı adresinizi giriniz" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "Pinterest baÄŸlantı adresini giriniz" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "Yelp baÄŸlantı adresinizi giriniz" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "Vimeo baÄŸlantı adresinizi giriniz" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "foursquare baÄŸlantı adresinizi giriniz" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "ÖzelleÅŸtirilmiÅŸ CSS Kodları" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS EÄŸitimi" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "ÖzelleÅŸtirilmiÅŸ CSS kodlarınızı giriniz" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "ÖzelleÅŸtirilmiÅŸ Kodlar" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "Header ve Footer için ÖzelleÅŸtirilmiÅŸ Kodlar" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Hızlıca Öğren" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "ÖzelleÅŸtirilmiÅŸ header kodları buraya" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "ÖzelleÅŸtirilmiÅŸ Ana Sayfayı EtkinleÅŸtir" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Yardım" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "talimatlar" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "Tercüme" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "%1$s'e HoÅŸgeldiniz! %2$s'e hemen yükseltiniz" \ No newline at end of file diff --git a/wp-content/themes/responsive/languages/uk.mo b/wp-content/themes/responsive/languages/uk.mo new file mode 100644 index 0000000..b61d107 Binary files /dev/null and b/wp-content/themes/responsive/languages/uk.mo differ diff --git a/wp-content/themes/responsive/languages/uk.po b/wp-content/themes/responsive/languages/uk.po new file mode 100644 index 0000000..a7b6d97 --- /dev/null +++ b/wp-content/themes/responsive/languages/uk.po @@ -0,0 +1,876 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-10-02 08:46:04 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Ukrainian, Ukraine\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "Сторінки:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ Попередні допиÑи" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "Ðовіші допиÑи ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "Читати вÑе ››" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "Цей Ð´Ð¾Ð¿Ð¸Ñ Ð·Ð°Ñ…Ð¸Ñ‰ÐµÐ½Ð¾ паролем. Уведіть пароль щоб переглÑнути коментарі." + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ Попередні коментарі" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "Ðові коментарі ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Пінги / Зворотні поÑиланнÑ" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s Ð´Ð»Ñ \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "Ім`Ñ" + +#: comments.php +msgid "E-mail" +msgstr "ÐдреÑа E-mail" + +#: comments.php +msgid "Website" +msgstr "Сайт" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "Догори" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "Працює на" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://wordpress.co.ua/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ ПовернутиÑÑŒ" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "Коментарів нема ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 Коментар" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "Коментарів" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "коментарів" +msgstr[1] "%1$s коментар щодо %2$s" +msgstr[2] "%1$s коментарі щодо %2$s" +msgstr[3] "%1$s коментарів щодо %2$s" +msgstr[4] "%1$s коментарів щодо %2$s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "Мітки:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "Опубліковано в %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "Редагувати" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — Такої Ñторінки неіÑнує..." + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "Ðе хвилюйтеÑÑŒ, пропонуємо розібратиÑÑŒ у вÑьому разом. Ð”Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾, розглÑньмо вÑÑ– варіанти." + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "Ви можете повернутиÑÑ %s або продовжити пошук потрібної Ñторінки." + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "Домівка" + +#: loop-no-posts.php +msgid "← Home" +msgstr "↠Додому" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "Щоденні архіви %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "ПоміÑÑчні архіви %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "Річні архіви %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "Ðрхіви блогу" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "Ваш запит %s не має жодних Ñпівпадінь." + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "ПоÑтійне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð´Ð¾ %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "Результати пошуку длÑ: %s" + +#: searchform.php +msgid "search here …" +msgstr "що шукаємо?..." + +#: searchform.php +msgid "Go" +msgstr "Шукати" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ зображеннÑ" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "Повний розмір:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "Діафрагма: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "ФокуÑна відÑтань:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "мм" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "ISO:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "Затвор:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "Камера:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "Ðрхів" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "Віджет домашньої Ñторінки #1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "Це вікно першого віджета домашньої Ñторінки. Щоб редагувати перейдіть у меню ВиглÑд > Віджети та оберіть 6-й віджет (Ñкщо рахувати зверху вниз) в Сегменті 6, котрий зветьÑÑ Ð’Ñ–Ð´Ð¶ÐµÑ‚ домівки #1. Заголовок віджета можна відредагувати там Ñамо." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "Віджет домашньої Ñторінки #2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "Це вікно другого віджета домашньої Ñторінки. Щоб редагувати перейдіть у меню ВиглÑд > Віджети та оберіть 7-й віджет (Ñкщо рахувати зверху вниз) в Сегменті 7, котрий зветьÑÑ Ð’Ñ–Ð´Ð¶ÐµÑ‚ домівки #2. Заголовок віджета можна відредагувати там Ñамо." + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "Віджет домашньої Ñторінки #3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "Це вікно третього віджета домашньої Ñторінки. Щоб редагувати перейдіть у меню ВиглÑд > Віджети та оберіть 8-й віджет (Ñкщо рахувати зверху вниз) в Сегменті 8, котрий зветьÑÑ Ð’Ñ–Ð´Ð¶ÐµÑ‚ домівки #3. Заголовок віджета можна відредагувати там Ñамо." + +#: single.php +msgid "About" +msgstr "Про наÑ" + +#: sitemap.php +msgid "Categories" +msgstr "Категорії" + +#: sitemap.php +msgid "Latest Posts" +msgstr "Ðайновіші допиÑи" + +#: sitemap.php +msgid "Pages" +msgstr "Сторінки" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "Верхнє меню" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "Меню верхньої чаÑтини Ñайту" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "Додаткове меню" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "Меню нижньої чаÑтини Ñайту" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "Сторінка %s" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "Опубліковано %2$s автор %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "ПереглÑнути вÑÑ– допиÑи автора %s" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "Ðрхів Ð´Ð»Ñ %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "Мітки допиÑів %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "Помилка 404" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "Більше Тем" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "Матеріали по Темі" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "ОÑновна бічна панель" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "Сегмент 1 - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "Права бічна панель" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "Сегмент 2 - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "Ліва бічна панель" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "Сегмент 3 - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "Ліва бічна панель на пів Ñторінки" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "Сегмент 4 - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "Права бічна панель на пів Ñторінки" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "Сегмент 5 - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "Сегмент 6 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "Сегмент 7 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "Сегмент 8 - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "Бічна панель Галереї" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "Сегмент 9 - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "Віджет Ðижньої чаÑтини Ñайту" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "Сегмент 10 - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "Віджет Верхньої чаÑтини Ñайту" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "Сегмент 11 - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "Блог (допиÑи повніÑÑ‚ÑŽ)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "Скорочена Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ Ñайт (виÑвітлюєтьÑÑ Ð² пошукових ÑиÑтемах)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "Контент/Бічна панель" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "Бічна панель/Контент" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "Контент/...Ñ– бічна панель на пів Ñторінки" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "Бічна панель/...Ñ– контент на пів Ñторінки" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "У повну ширину (без бічної панелі)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "Ð”Ð¾Ð¼Ð°ÑˆÐ½Ñ Ñторінка (без бічного меню)" + +#: sitemap.php +msgid "Sitemap" +msgstr "Мапа Ñайту" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "Макет Ñайту" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "Стандартно" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "Привіт, Світ!" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "Підзаголовок можна розміÑтити тут" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "Заголовок, підзаголовок Ñ– цей текÑÑ‚ можна редагувати та замінити в розділі Ðалаштунки Теми. ТекÑÑ‚ кнопки заклику (ГаÑло), та URL-адреÑу на Ñку вона вказує, також можна змінити. Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¾Ñ€ÑƒÑ‡ можна замінити на будь-Ñке інше, або на відео з мережі YouTube." + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "ГаÑло" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "Ðалаштунки Теми" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "Збережено" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "Елементи теми" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "Вимкнути меню навігації по Ñайту?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "Позначте щоб вимкнути" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "Вимкнути кнопку заклику (ГаÑло)?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "Зберегти" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "За змовчуваннÑм" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "Додати Лого" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð’ÐµÑ€Ñ…Ð½ÑŒÐ¾Ñ— чаÑтини Ñайту" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "Бажаєте замінити або видалити Ñтандартне лого?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "ÐатиÑніть тут." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "Домівка" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "Заголовок" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "Ðапишіть Заголовок тут..." + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "Підзаголовок" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "Ðапишіть Підзаголовок тут..." + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "Зона контенту" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "ВнеÑÑ–Ñ‚ÑŒ контент" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "Веб-адреÑа кнопки заклику (URL)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ веб-адреÑу кнопки заклику (URL)" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "ТекÑÑ‚ кнопки заклику" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "ВнеÑÑ–Ñ‚ÑŒ текÑÑ‚ кнопки заклику" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "Рекламований контент" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "ПереглÑнути документацію" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "ВнеÑÑ–Ñ‚ÑŒ веб-адреÑу зображеннÑ, відео або HTML-ÑуміÑний код." + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "Стандартні налаштунки Макета Ñторінки" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "Стандартний формат фікÑованої Ñторінки" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "Стандартний формат Ñторінки з одним допиÑом" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "Стандартний формат Ñторінки допиÑів" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "ІнÑтрументи ВебмайÑтра" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "ВнеÑÑ–Ñ‚ÑŒ лише Ñвій Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "ВнеÑÑ–Ñ‚ÑŒ лише Ñвій Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo Site Verification" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "ВнеÑÑ–Ñ‚ÑŒ лише Ñвій Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "СтатиÑтика Ñайту" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "Залиште порожнім, Ñкщо певний плагін виконує функції вебмайÑтра" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analytics, StatCounter, будь-Ñкий інший, або уÑÑ–." + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "Іконки Соцмереж" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Twitter" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Facebook" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі LinkedIn" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі YouTube" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі StumbleUpon" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "Імпорт RSS" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу Ð´Ð»Ñ RSS" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Google+" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Instagram" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Pinterest" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Yelp!" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі Vimeo" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "ВнеÑÑ–Ñ‚ÑŒ URL-адреÑу в мережі foursquare" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "Ðалаштувати Ñтилі CSS" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "Керівництво по CSS" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "ВнеÑÑ–Ñ‚ÑŒ влаÑні налаштунки Ñтилів CSS" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "Додаткові Ñкрипти" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "ВнеÑÑ–Ñ‚ÑŒ влаÑні Ñкрипти Ð´Ð»Ñ Ð’ÐµÑ€Ñ…Ð½ÑŒÐ¾Ñ— та Ðижньої чаÑтини Ñайту." + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "Покрокова інÑтрукціÑ" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "Додаткові зміни до header.php" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "ВнеÑÑ–Ñ‚ÑŒ влаÑний Ñкрипт Ð´Ð»Ñ Ð’ÐµÑ€Ñ…Ð½ÑŒÐ¾Ñ— чаÑтини Ñайту." + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "Додаткові зміни до footer.php" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "ВнеÑÑ–Ñ‚ÑŒ влаÑний Ñкрипт Ð´Ð»Ñ Ðижньої чаÑтини Ñайту." + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "Ð’Ñтановіть влаÑний формат Домашньої Ñторінки" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "Довідка" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "ІнÑтрукції" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "ПримуÑово змінює" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "ПереклаÑти" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "Вітаємо в темі %1$s! Оновіть до %2$s вже Ñьогодні." + diff --git a/wp-content/themes/responsive/languages/zh_CN.mo b/wp-content/themes/responsive/languages/zh_CN.mo new file mode 100644 index 0000000..ab693c6 Binary files /dev/null and b/wp-content/themes/responsive/languages/zh_CN.mo differ diff --git a/wp-content/themes/responsive/languages/zh_CN.po b/wp-content/themes/responsive/languages/zh_CN.po new file mode 100644 index 0000000..3aeae0c --- /dev/null +++ b/wp-content/themes/responsive/languages/zh_CN.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:33 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Chinese, China (Simplified Han)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "页数:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ 较早文章" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "较新文章 ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "查阅全文 ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "文章已被é”定,请输入密ç æŸ¥çœ‹è¯„论。" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ 较早评论" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "较新评论 ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s 对 \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "姓å" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "个人网站" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "回到顶部" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "采用" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://cn.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ 返回" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "暂无评论 ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 æ¡è¯„论 ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% æ¡è¯„论 ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "%1$s æ¡è¯„论在 “%2$s” 上" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "标签:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "文章分类 %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "编辑" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — 很抱歉……" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "您访问的页é¢ä¸å­˜åœ¨ã€‚" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "ä½ å¯ä»¥è¿”回 %s 或者使用æœç´¢åŠŸèƒ½" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "首页" + +#: loop-no-posts.php +msgid "← Home" +msgstr "← 首页" + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "按日查看: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "按月查看: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "按年查看: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "文章归档" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "å…³é”®è¯ %s 没有æœç´¢åˆ°ç›¸åº”内容" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "固定链接 %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "æœç´¢ç»“果: %s" + +#: searchform.php +msgid "search here …" +msgstr "æœç´¢..." + +#: searchform.php +msgid "Go" +msgstr "æœ" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "图片信æ¯" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "完整尺寸:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "光圈: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "焦è·ï¼š" + +#: sidebar-gallery.php +msgid "mm" +msgstr "毫米" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "感光度:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "快门速度:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "相机:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "å½’æ¡£" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "首页å°å·¥å…·1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "这是首页上第一个å°å·¥å…·ï¼Œè¯·åœ¨ä»ªè¡¨ç›˜ > 外观 > å°å·¥å…·ä¸­ä¿®æ”¹æ­¤å¤„的文字。" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "首页å°å·¥å…·2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "这是首页上第二个å°å·¥å…·ï¼Œè¯·åœ¨ä»ªè¡¨ç›˜ > 外观 > å°å·¥å…·ä¸­ä¿®æ”¹æ­¤å¤„的文字。" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "首页å°å·¥å…·3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "这是首页上第三个å°å·¥å…·ï¼Œè¯·åœ¨ä»ªè¡¨ç›˜ > 外观 > å°å·¥å…·ä¸­ä¿®æ”¹æ­¤å¤„的文字。" + +#: single.php +msgid "About" +msgstr "关于" + +#: sitemap.php +msgid "Categories" +msgstr "文章分类" + +#: sitemap.php +msgid "Latest Posts" +msgstr "最新文章" + +#: sitemap.php +msgid "Pages" +msgstr "页é¢" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "顶部" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "导航æ¡" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "次级导航" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "底部" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "" + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "å‘表于 %2$s 作者 %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "查看 %s 的所有文章" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "文章归档 %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "标签 %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404错误" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "主边æ " + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "1å·åŒºåŸŸ - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "å³ä¾§è¾¹æ " + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "2å·åŒºåŸŸ - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "左侧边æ " + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "3å·åŒºåŸŸ - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "åŠé¡µå·¦ä¾§è¾¹æ " + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "4å·åŒºåŸŸ - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "åŠé¡µå³ä¾§è¾¹æ " + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "5å·åŒºåŸŸ - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "6å·åŒºåŸŸ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "7å·åŒºåŸŸ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "8å·åŒºåŸŸ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "相册边æ " + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "9å·åŒºåŸŸ - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "" + +#: blog.php +msgid "Blog (full posts)" +msgstr "" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "" + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "" + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "" + +#: sitemap.php +msgid "Sitemap" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "你好,世界ï¼" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "标题" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "ä½ å¯ä»¥åœ¨ä¸»é¢˜è®¾ç½®ç¼–辑标题ã€å‰¯æ ‡é¢˜ï¼Œä»¥åŠâ€œå¼€å§‹è¡ŒåŠ¨â€æŒ‰é’®ï¼Œ å³ä¾§å¯ä»¥æ”¾ç½®å›¾ç‰‡æˆ–者视频。" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "开始行动" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "主题选项" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "设置已ä¿å­˜" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "主题元素" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "ç¦ç”¨è·¯å¾„导航?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "勾选以ç¦ç”¨" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "ç¦ç”¨â€œå¼€å§‹è¡ŒåŠ¨â€æŒ‰é’®ï¼Ÿ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "ä¿å­˜æ›´æ”¹" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "LOGO" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "自定义LOGO" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "替æ¢é»˜è®¤LOGO?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "点击这里." + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "首页" + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "标题" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "输入标题" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "副标题" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "输入副标题" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "正文" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "输入正文" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "开始行动 (链接)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "输入“开始行动â€æŒ‰é’®çš„链接" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "开始行动 (文字)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "输入“开始行动â€æŒ‰é’®çš„文字 " + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "å³ä¾§å†…容" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "查阅帮助文档" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "站长工具" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "谷歌站长工具" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "输入你的谷歌ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "必应站长工具" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "输入你的必应ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "雅虎站长工具" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "输入雅虎ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "网站统计工具" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "如果有æ’件接管该功能请留空。" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analyticsã€StatCounter以åŠç±»ä¼¼çš„东西。" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "社交网络图标" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "输入你的Twitter地å€" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "输入你的Facebook地å€" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "输入你的LinkedIn地å€" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "输入你的YouTube地å€" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "输入你的StumbleUpon地å€" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "输入你的RSS Feed地å€" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google +" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "输入你的Google+地å€" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "输入你的Instagram地å€" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "输入你的Pinterest地å€" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "输入你的Yelp!地å€" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "输入你的Vimeo地å€" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "输入你的foursquare地å€" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "自定义CSSæ ·å¼" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/en/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS自定义指å—" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "输入自定义的CSSæ ·å¼" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/languages/zh_TW.mo b/wp-content/themes/responsive/languages/zh_TW.mo new file mode 100644 index 0000000..75fede3 Binary files /dev/null and b/wp-content/themes/responsive/languages/zh_TW.mo differ diff --git a/wp-content/themes/responsive/languages/zh_TW.po b/wp-content/themes/responsive/languages/zh_TW.po new file mode 100644 index 0000000..ce4c53d --- /dev/null +++ b/wp-content/themes/responsive/languages/zh_TW.po @@ -0,0 +1,872 @@ +msgid "" +msgstr "" +"Project-Id-Version: Responsive Theme\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-04-25 13:42:58 UTC\n" +"PO-Revision-Date: 2013-07-22 22:03:33 UTC\n" +"Last-Translator: Web Translate It \n" +"Language-Team: Chinese, Taiwan\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: WebTranslateIt.com\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: page.php +#: landing-page.php +#: index.php +#: image.php +#: full-width-page.php +#: content-sidebar-page.php +#: content-sidebar-half-page.php +#: blog.php +#: blog-excerpt.php +#: archive.php +#: home.php +#: search.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: sitemap.php +msgid "Pages:" +msgstr "é æ•¸:" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "‹ Older posts" +msgstr "‹ 較早文章" + +#: blog-excerpt.php +#: blog.php +#: loop-nav.php +msgid "Newer posts ›" +msgstr "較新文章 ›" + +#: blog.php +#: content-sidebar-half-page.php +#: content-sidebar-page.php +#: full-width-page.php +#: home.php +#: image.php +#: index.php +#: landing-page.php +#: page.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: single.php +#: core/includes/functions.php +msgid "Read more ›" +msgstr "查閱全文 ›" + +#: comments.php +msgid "This post is password protected. Enter the password to view any comments." +msgstr "文章已被鎖定,請輸入密碼查看迴響。" + +#: comments.php +#: comments.php +msgid "‹ Older comments" +msgstr "‹ 較早迴響" + +#: comments.php +#: comments.php +msgid "Newer comments ›" +msgstr "較新迴響 ›" + +#: comments.php +msgid "Pings/Trackbacks" +msgstr "Pings/Trackbacks" + +#: comments.php +msgid "%1$d %2$s for \"%3$s\"" +msgstr "%1$d %2$s æ–¼ \"%3$s\"" + +#: comments.php +msgid "Name" +msgstr "姓å" + +#: comments.php +msgid "E-mail" +msgstr "E-mail" + +#: comments.php +msgid "Website" +msgstr "個人網站" + +#: footer.php +msgid "©" +msgstr "©" + +#: footer.php +msgid "scroll to top" +msgstr "回到頂部" + +#: footer.php +msgid "↑" +msgstr "↑" + +#: footer.php +msgid "http://themeid.com/responsive-theme/" +msgstr "http://themeid.com/responsive-theme/" + +#: footer.php +msgid "Responsive Theme" +msgstr "Responsive Theme" + +#: footer.php +msgid "powered by" +msgstr "採用" + +#: footer.php +msgid "http://wordpress.org/" +msgstr "http://tw.wordpress.org/" + +#: footer.php +msgid "WordPress" +msgstr "WordPress" + +#: image.php +msgid "‹ Return to" +msgstr "‹ 返回" + +#: image.php +#: post-meta-page.php +#: post-meta.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "No Comments ↓" +msgstr "暫無迴響 ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "1 Comment ↓" +msgstr "1 個迴響 ↓" + +#: post-meta-page.php +#: post-meta.php +#: image.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "% Comments ↓" +msgstr "% 個迴響 ↓" + +#: comments.php +msgid "One comment on “%2$s”" +msgid_plural "%1$s comments on “%2$s”" +msgstr[0] "一個迴響在 \"%2$s\"" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Tagged with:" +msgstr "標籤:" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +msgid "Posted in %s" +msgstr "文章分類 %s" + +#: image.php +#: post-data.php +#: sidebar-content-half-page.php +#: sidebar-content-page.php +#: sitemap.php +msgid "Edit" +msgstr "編輯" + +#: loop-no-posts.php +msgid "404 — Fancy meeting you here!" +msgstr "404 — 真湊巧,竟在這兒é‡è¦‹æ‚¨ï¼" + +#: loop-no-posts.php +msgid "Don't panic, we'll get through this together. Let's explore our options here." +msgstr "別慌張,我們將一起解決這å•é¡Œã€‚我們來看看有什麼辦法。" + +#: loop-no-posts.php +msgid "You can return %s or search for the page you were looking for." +msgstr "您å¯ä»¥è¿”回 %s 或æœå°‹æ‚¨æ­£åœ¨å°‹æ‰¾çš„é é¢" + +#: loop-no-posts.php +#: core/includes/functions.php +msgid "Home" +msgstr "首é " + +#: loop-no-posts.php +msgid "← Home" +msgstr "← 首é " + +#: loop-header.php +msgid "Daily Archives: %s" +msgstr "按日查看: %s" + +#: loop-header.php +msgid "Monthly Archives: %s" +msgstr "按月查看: %s" + +#: loop-header.php +msgid "Yearly Archives: %s" +msgstr "按年查看: %s" + +#: loop-header.php +msgid "Blog Archives" +msgstr "文章歸檔" + +#: loop-no-posts.php +msgid "Your search for %s did not match any entries." +msgstr "您æœå°‹çš„ %s 沒有æœå°‹åˆ°ç›¸æ‡‰å…§å®¹" + +#: sitemap.php +msgid "Permanent Link to %s" +msgstr "å›ºå®šé€£çµ %s" + +#: search.php +#: core/includes/functions.php +msgid "Search results for: %s" +msgstr "æœå°‹çµæžœ: %s" + +#: searchform.php +msgid "search here …" +msgstr "在此æœå°‹ …" + +#: searchform.php +msgid "Go" +msgstr "æœå°‹" + +#: sidebar-gallery.php +msgid "Image Information" +msgstr "圖片資訊" + +#: sidebar-gallery.php +msgid "Full Size:" +msgstr "完整尺寸:" + +#: sidebar-gallery.php +msgid "Aperture: f/" +msgstr "光圈: f/" + +#: sidebar-gallery.php +msgid "Focal Length:" +msgstr "焦è·:" + +#: sidebar-gallery.php +msgid "mm" +msgstr "毫米" + +#: sidebar-gallery.php +msgid "ISO:" +msgstr "感光度:" + +#: sidebar-gallery.php +msgid "Shutter:" +msgstr "快門速度:" + +#: sidebar-gallery.php +msgid "Camera:" +msgstr "相機:" + +#: sidebar.php +#: sidebar-right.php +#: sidebar-right-half.php +#: sidebar-left.php +#: sidebar-left-half.php +#: sidebar-half-left.php +msgid "In Archive" +msgstr "歸檔" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 1" +msgstr "首é æ¨¡çµ„ 1" + +#: sidebar-home.php +msgid "This is your first home widget box. To edit please go to Appearance > Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well." +msgstr "這是首é ä¸Šç¬¬ä¸€å€‹æ¨¡çµ„ï¼Œè«‹åœ¨æŽ§åˆ¶å° > 外觀 > 模組中修改此處的文字。" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 2" +msgstr "首é æ¨¡çµ„ 2" + +#: sidebar-home.php +msgid "This is your second home widget box. To edit please go to Appearance > Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well." +msgstr "這是首é ä¸Šç¬¬äºŒå€‹æ¨¡çµ„ï¼Œè«‹åœ¨æŽ§åˆ¶å° > 外觀 > 控制å°ä¸­ä¿®æ”¹æ­¤è™•çš„文字。" + +#: sidebar-home.php +#: core/includes/functions.php +msgid "Home Widget 3" +msgstr "首é æ¨¡çµ„ 3" + +#: sidebar-home.php +msgid "This is your third home widget box. To edit please go to Appearance > Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well." +msgstr "這是首é ä¸Šç¬¬ä¸‰å€‹æ¨¡çµ„ï¼Œè«‹åœ¨æŽ§åˆ¶å° > 外觀 > 控制å°ä¸­ä¿®æ”¹æ­¤è™•çš„文字。" + +#: single.php +msgid "About" +msgstr "關於" + +#: sitemap.php +msgid "Categories" +msgstr "文章分類" + +#: sitemap.php +msgid "Latest Posts" +msgstr "最新文章" + +#: sitemap.php +msgid "Pages" +msgstr "é é¢" + +#: core/includes/functions.php +msgid "Top Menu" +msgstr "頂部é¸å–®" + +#: core/includes/functions.php +msgid "Header Menu" +msgstr "導覽列" + +#: core/includes/functions.php +msgid "Sub-Header Menu" +msgstr "次導覽列" + +#: core/includes/functions.php +msgid "Footer Menu" +msgstr "底部é¸å–®" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Page %s" +msgstr "第 %s é " + +#: core/includes/functions.php +msgid "Posted on %2$s by %4$s" +msgstr "發表於 %2$s 作者 %4$s" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "View all posts by %s" +msgstr "查看 %s 的所有文章" + +#: core/includes/functions.php +msgid "Archive for %s" +msgstr "文章歸檔於 %s" + +#: core/includes/functions.php +msgid "Posts tagged %s" +msgstr "標籤 %s" + +#: core/includes/functions.php +msgid "Error 404" +msgstr "404 錯誤" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "More Themes" +msgstr "更多佈景主題" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Showcase" +msgstr "æˆæžœå±•ç¤º" + +#: core/includes/functions.php +msgid "Main Sidebar" +msgstr "主邊欄" + +#: core/includes/functions.php +msgid "Area 1 - sidebar.php" +msgstr "1 號å€åŸŸ - sidebar.php" + +#: core/includes/functions.php +msgid "Right Sidebar" +msgstr "å³å´é‚Šæ¬„" + +#: core/includes/functions.php +msgid "Area 2 - sidebar-right.php" +msgstr "2 號å€åŸŸ - sidebar-right.php" + +#: core/includes/functions.php +msgid "Left Sidebar" +msgstr "å·¦å´é‚Šæ¬„" + +#: core/includes/functions.php +msgid "Area 3 - sidebar-left.php" +msgstr "3 號å€åŸŸ - sidebar-left.php" + +#: core/includes/functions.php +msgid "Left Sidebar Half Page" +msgstr "åŠé å·¦å´é‚Šæ¬„" + +#: core/includes/functions.php +msgid "Area 4 - sidebar-left-half.php" +msgstr "4 號å€åŸŸ - sidebar-left-half.php" + +#: core/includes/functions.php +msgid "Right Sidebar Half Page" +msgstr "åŠé å³å´é‚Šæ¬„" + +#: core/includes/functions.php +msgid "Area 5 - sidebar-right-half.php" +msgstr "5 號å€åŸŸ - sidebar-right-half.php" + +#: core/includes/functions.php +msgid "Area 6 - sidebar-home.php" +msgstr "6 號å€åŸŸ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 7 - sidebar-home.php" +msgstr "7 號å€åŸŸ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Area 8 - sidebar-home.php" +msgstr "8 號å€åŸŸ - sidebar-home.php" + +#: core/includes/functions.php +msgid "Gallery Sidebar" +msgstr "相簿邊欄" + +#: core/includes/functions.php +msgid "Area 9 - sidebar-gallery.php" +msgstr "9 號å€åŸŸ - sidebar-gallery.php" + +#: core/includes/functions.php +msgid "Colophon Widget" +msgstr "é å°¾æ¨¡çµ„" + +#: core/includes/functions.php +msgid "Area 10 - sidebar-colophon.php" +msgstr "10 號å€åŸŸ - sidebar-colophon.php" + +#: core/includes/functions.php +msgid "Top Widget" +msgstr "é é¦–模組" + +#: core/includes/functions.php +msgid "Area 11 - sidebar-top.php" +msgstr "12 號å€åŸŸ - sidebar-top.php" + +#: blog.php +msgid "Blog (full posts)" +msgstr "網誌 (全文)" + +#: blog-excerpt.php +msgid "Blog Excerpt (summary)" +msgstr "網誌片段 (摘è¦)" + +#: content-sidebar-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar" +msgstr "內容/邊欄" + +#: sidebar-content-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content" +msgstr "邊欄/內容" + +#: content-sidebar-half-page.php +#: core/includes/post-custom-meta.php +msgid "Content/Sidebar Half Page" +msgstr "內容/邊欄 åŠé " + +#: sidebar-content-half-page.php +#: core/includes/post-custom-meta.php +msgid "Sidebar/Content Half Page" +msgstr "邊欄/內容 åŠé " + +#: full-width-page.php +#: core/includes/post-custom-meta.php +msgid "Full Width Page (no sidebar)" +msgstr "å…¨å¯¬é  (無邊欄)" + +#: landing-page.php +msgid "Landing Page (no menu)" +msgstr "到é”é é¢ (ç„¡é¸å–®)" + +#: sitemap.php +msgid "Sitemap" +msgstr "網站地圖" + +#: core/includes/post-custom-meta.php +msgid "Layout" +msgstr "樣å¼" + +#: core/includes/post-custom-meta.php +msgid "Default" +msgstr "é è¨­" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Hello, World!" +msgstr "哈囉,世界ï¼" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your H2 subheadline here" +msgstr "這是您的 H2 副標題" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Your title, subtitle and this very content is editable from Theme Option. Call to Action button and its destination link as well. Image on your right can be an image or even YouTube video if you like." +msgstr "您å¯ä»¥åœ¨ä¸»é¡Œè¨­ç½®ç·¨è¼¯æ¨™é¡Œã€å‰¯æ¨™é¡Œï¼Œä»¥åŠâ€œé–‹å§‹è¡Œå‹•â€æŒ‰éˆ•ï¼Œ å³å´å¯ä»¥æ”¾ç½®åœ–片或者影片。" + +#: front-page.php +#: core/includes/theme-options.php +msgid "Call to Action" +msgstr "開始行動" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Theme Options" +msgstr "主題é¸é …" + +#: core/includes/theme-options.php +msgid "Options Saved" +msgstr "é¸é …已儲存" + +#: core/includes/theme-options.php +msgid "Theme Elements" +msgstr "主題元素" + +#: core/includes/theme-options.php +msgid "Disable Breadcrumb Lists?" +msgstr "å–消路徑導覽?" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Check to disable" +msgstr "勾é¸ä»¥å–消" + +#: core/includes/theme-options.php +msgid "Disable Call to Action Button?" +msgstr "å–消“開始行動â€æŒ‰éˆ•ï¼Ÿ" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Save Options" +msgstr "儲存é¸é …" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Restore Defaults" +msgstr "還原é è¨­" + +#: core/includes/theme-options.php +msgid "Logo Upload" +msgstr "上傳 Logo" + +#: core/includes/theme-options.php +msgid "Custom Header" +msgstr "自訂 Header" + +#: core/includes/theme-options.php +msgid "Need to replace or remove default logo?" +msgstr "需è¦å–代或移除é è¨­ Logo?" + +#: core/includes/theme-options.php +msgid "Click here." +msgstr "點此。" + +#: core/includes/theme-options.php +msgid "Home Page" +msgstr "首é " + +#: core/includes/theme-options.php +msgid "Headline" +msgstr "標題" + +#: core/includes/theme-options.php +msgid "Enter your headline" +msgstr "輸入標題" + +#: core/includes/theme-options.php +msgid "Subheadline" +msgstr "副標題" + +#: core/includes/theme-options.php +msgid "Enter your subheadline" +msgstr "輸入副標題" + +#: core/includes/theme-options.php +msgid "Content Area" +msgstr "正文" + +#: core/includes/theme-options.php +msgid "Enter your content" +msgstr "輸入正文" + +#: core/includes/theme-options.php +msgid "Call to Action (URL)" +msgstr "開始行動 (連çµ)" + +#: core/includes/theme-options.php +msgid "Enter your call to action URL" +msgstr "輸入“開始行動â€æŒ‰éˆ•çš„連çµ" + +#: core/includes/theme-options.php +msgid "Call to Action (Text)" +msgstr "開始行動 (文字)" + +#: core/includes/theme-options.php +msgid "Enter your call to action text" +msgstr "輸入“開始行動â€æŒ‰éˆ•çš„文字" + +#: core/includes/theme-options.php +msgid "Featured Content" +msgstr "å³å´å…§å®¹" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "See Docs" +msgstr "查閱說明文件" + +#: core/includes/theme-options.php +msgid "Paste your shortcode, video or image source" +msgstr "貼上您的短碼ã€å½±ç‰‡æˆ–圖片原始碼" + +#: core/includes/theme-options.php +msgid "Default Layouts" +msgstr "é è¨­ç‰ˆé¢" + +#: core/includes/theme-options.php +msgid "Default Static Page Layout" +msgstr "é è¨­å›ºå®šé é¢æ¨£å¼" + +#: core/includes/theme-options.php +msgid "Default Single Blog Post Layout" +msgstr "é è¨­å–®ä¸€ç¶²èªŒæ–‡ç« æ¨£å¼" + +#: core/includes/theme-options.php +msgid "Default Blog Posts Index Layout" +msgstr "é è¨­ç¶²èªŒæ–‡ç« ç›®éŒ„樣å¼" + +#: core/includes/theme-options.php +msgid "Webmaster Tools" +msgstr "站長工具" + +#: core/includes/theme-options.php +msgid "Google Site Verification" +msgstr "Google 站長工具" + +#: core/includes/theme-options.php +msgid "Enter your Google ID number only" +msgstr "輸入您的 Google ID" + +#: core/includes/theme-options.php +msgid "Bing Site Verification" +msgstr "Bing 站長工具" + +#: core/includes/theme-options.php +msgid "Enter your Bing ID number only" +msgstr "輸入您的 Bing ID" + +#: core/includes/theme-options.php +msgid "Yahoo Site Verification" +msgstr "Yahoo 站長工具" + +#: core/includes/theme-options.php +msgid "Enter your Yahoo ID number only" +msgstr "輸入您的 Yahoo ID" + +#: core/includes/theme-options.php +msgid "Site Statistics Tracker" +msgstr "網站統計工具" + +#: core/includes/theme-options.php +msgid "Leave blank if plugin handles your webmaster tools" +msgstr "如果有外掛程å¼æŽ¥ç®¡è©²åŠŸèƒ½è«‹ç•™ç©º" + +#: core/includes/theme-options.php +msgid "Google Analytics, StatCounter, any other or all of them." +msgstr "Google Analyticsã€StatCounter 以åŠé¡žä¼¼çš„æ±è¥¿ã€‚" + +#: core/includes/theme-options.php +msgid "Social Icons" +msgstr "社交網路圖示" + +#: core/includes/theme-options.php +msgid "Twitter" +msgstr "Twitter" + +#: core/includes/theme-options.php +msgid "Enter your Twitter URL" +msgstr "輸入您的 Twitter 網å€" + +#: core/includes/theme-options.php +msgid "Facebook" +msgstr "Facebook" + +#: core/includes/theme-options.php +msgid "Enter your Facebook URL" +msgstr "輸入您的 Facebook ä½å€" + +#: core/includes/theme-options.php +msgid "LinkedIn" +msgstr "LinkedIn" + +#: core/includes/theme-options.php +msgid "Enter your LinkedIn URL" +msgstr "輸入您的 LinkedIn ä½å€" + +#: core/includes/theme-options.php +msgid "YouTube" +msgstr "YouTube" + +#: core/includes/theme-options.php +msgid "Enter your YouTube URL" +msgstr "輸入您的 YouTube ä½å€" + +#: core/includes/theme-options.php +msgid "StumbleUpon" +msgstr "StumbleUpon" + +#: core/includes/theme-options.php +msgid "Enter your StumbleUpon URL" +msgstr "輸入您的 StumbleUpon ä½å€" + +#: core/includes/theme-options.php +msgid "RSS Feed" +msgstr "RSS Feed" + +#: core/includes/theme-options.php +msgid "Enter your RSS Feed URL" +msgstr "輸入您的 RSS Feed ä½å€" + +#: core/includes/theme-options.php +msgid "Google+" +msgstr "Google+" + +#: core/includes/theme-options.php +msgid "Enter your Google+ URL" +msgstr "輸入您的 Google+ 網å€" + +#: core/includes/theme-options.php +msgid "Instagram" +msgstr "Instagram" + +#: core/includes/theme-options.php +msgid "Enter your Instagram URL" +msgstr "輸入您的 Instagram 網å€" + +#: core/includes/theme-options.php +msgid "Pinterest" +msgstr "Pinterest" + +#: core/includes/theme-options.php +msgid "Enter your Pinterest URL" +msgstr "輸入您的 Pinterest 網å€" + +#: core/includes/theme-options.php +msgid "Yelp!" +msgstr "Yelp!" + +#: core/includes/theme-options.php +msgid "Enter your Yelp! URL" +msgstr "輸入您的 Yelp! 網å€" + +#: core/includes/theme-options.php +msgid "Vimeo" +msgstr "Vimeo" + +#: core/includes/theme-options.php +msgid "Enter your Vimeo URL" +msgstr "輸入您的 Vimeo 網å€" + +#: core/includes/theme-options.php +msgid "foursquare" +msgstr "foursquare" + +#: core/includes/theme-options.php +msgid "Enter your foursquare URL" +msgstr "輸入你的 foursquare 網å€" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Custom CSS Styles" +msgstr "自訂 CSS 樣å¼" + +#: core/includes/theme-options.php +msgid "https://developer.mozilla.org/en/CSS" +msgstr "https://developer.mozilla.org/zh_tw/CSS" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "CSS Tutorial" +msgstr "CSS 自訂指å—" + +#: core/includes/theme-options.php +msgid "Enter your custom CSS styles." +msgstr "輸入自訂的 CSS 樣å¼ã€‚" + +#: core/includes/theme-options.php +msgid "Custom Scripts" +msgstr "自訂程åº" + +#: core/includes/theme-options.php +msgid "Custom Scripts for Header and Footer" +msgstr "é é¦–åŠé å°¾è‡ªè¨‚程åº" + +#: core/includes/theme-options.php +#: core/includes/theme-options.php +msgid "Quick Tutorial" +msgstr "快速教學" + +#: core/includes/theme-options.php +msgid "Embeds to header.php ↓" +msgstr "嵌入至 header.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom header script." +msgstr "輸入您的自訂é é¦–程åºã€‚" + +#: core/includes/theme-options.php +msgid "Embeds to footer.php ↓" +msgstr "嵌入至 footer.php ↓" + +#: core/includes/theme-options.php +msgid "Enter your custom footer script." +msgstr "輸入您的自訂é å°¾ç¨‹åºã€‚" + +#: core/includes/theme-options.php +msgid "Enable Custom Front Page" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Help" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Instructions" +msgstr "" + +#: core/includes/theme-options.php +msgid "Overrides the WordPress %1sfront page option%2s" +msgstr "" + +#: core/includes/functions.php +#: core/includes/functions.php +msgid "Translate" +msgstr "" + +#: core/includes/functions.php +#. Welcome to Responsive! Upgrade to Responsive Pro today. +# INSTRUCTION: Welcome to Responsive! Upgrade to Responsive Pro today. +msgid "Welcome to %1$s! Upgrade to %2$s today." +msgstr "" + diff --git a/wp-content/themes/responsive/license.txt b/wp-content/themes/responsive/license.txt new file mode 100644 index 0000000..20d40b6 --- /dev/null +++ b/wp-content/themes/responsive/license.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU 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. But first, please read +. \ No newline at end of file diff --git a/wp-content/themes/responsive/loop-header.php b/wp-content/themes/responsive/loop-header.php new file mode 100644 index 0000000..2a71e67 --- /dev/null +++ b/wp-content/themes/responsive/loop-header.php @@ -0,0 +1,56 @@ + +
    + ' . get_the_date() . '' ); + elseif( is_month() ) : + printf( __( 'Monthly Archives: %s', 'responsive' ), '' . get_the_date( 'F Y' ) . '' ); + elseif( is_year() ) : + printf( __( 'Yearly Archives: %s', 'responsive' ), '' . get_the_date( 'Y' ) . '' ); + else : + _e( 'Blog Archives', 'responsive' ); + endif; + ?> +
    + +
    ' . get_search_query() . '' ); ?>
    +max_num_pages > 1 ) : + ?> + + + + + +

    + +

    + +
    %3$s', + esc_url( get_home_url() ), + esc_attr__( 'Home', 'responsive' ), + esc_attr__( '← Home', 'responsive' ) + ) + ); + ?>
    + + \ No newline at end of file diff --git a/wp-content/themes/responsive/page.php b/wp-content/themes/responsive/page.php new file mode 100644 index 0000000..4046604 --- /dev/null +++ b/wp-content/themes/responsive/page.php @@ -0,0 +1,70 @@ + + +
    + + + + + + + + +
    > + + + + +
    + + '' ) ); ?> +
    + + + + + +
    + + + + + + + + +
    + + + diff --git a/wp-content/themes/responsive/post-data.php b/wp-content/themes/responsive/post-data.php new file mode 100644 index 0000000..4f5aeab --- /dev/null +++ b/wp-content/themes/responsive/post-data.php @@ -0,0 +1,32 @@ + + + + +
    + ' ); ?> + +
    + + + +
    \ No newline at end of file diff --git a/wp-content/themes/responsive/post-meta-page.php b/wp-content/themes/responsive/post-meta-page.php new file mode 100644 index 0000000..d307999 --- /dev/null +++ b/wp-content/themes/responsive/post-meta-page.php @@ -0,0 +1,36 @@ + + +

    + + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/post-meta.php b/wp-content/themes/responsive/post-meta.php new file mode 100644 index 0000000..bff2774 --- /dev/null +++ b/wp-content/themes/responsive/post-meta.php @@ -0,0 +1,38 @@ + + + +

    + +

    + + + diff --git a/wp-content/themes/responsive/readme.txt b/wp-content/themes/responsive/readme.txt new file mode 100644 index 0000000..e9233ae --- /dev/null +++ b/wp-content/themes/responsive/readme.txt @@ -0,0 +1,75 @@ +------------------------------------------------------- + Thank you for downloading Responsive Theme! +------------------------------------------------------- +This and any other Theme provided by CyberChimps should +be free of bugs, however do note that we're only humans +and if you spot a bug do us a favor and report here +http://cyberchimps.com/forum/free/responsive/ + +If something goes wrong, or you need our assistance with anything +just register and post your question(s). + +------------------------------------------------------- + Responsive Features: +------------------------------------------------------- + +- Theme Options +From here you can customize your above the fold +section such as your headline, sub-headline and content. +Also your call to action button text and URL. As well as +an image on the right. Image can be just that or even YouTube +or any other video too. + +- Widgets +Well you're in luck my friend, Responsive offers 9 of them. +And yes 3 boxes in your home.php are widgets as well. + +- Page Templates +There is plenty of that. 9 Templates are very much self-explanatory +once you're on done with the content on your page, go to Page Attributes +on the right and choose any available Template. + +We Have: +Blog (full posts), Blog Summaries, Content/Sidebar, Sidebar/Content, +Content/Sidebar Half, Sidebar/Content Half, Full Width Page, even a +landing page in case that you don't want anything else but the clean +white design and your logo, perfect for PPC or anything else. There's +also a sitemap Template. + +- Menus +Oh boy, we love menus and that's why we decided to give you little bit +more than what you're probably use to. Responsive offers 4 of them +One at very top, second in header, third just after the header, we like +to call that sub-header menu and the fourth one is all the way down in +footer area. + +What's great about this is that the other 3 are kind of on-demand, +activate when needed, if not oh well... + +------------------------------------------------------- + License: +------------------------------------------------------- + +Yes I know, but we have to say few words about +that. + +The Theme itself is nothing but 100% GPL3. +See license.txt for further details. There +are however some parts of this Theme which are not +GPL, however they are GPL-Compatible and thats still +good. + +See headers of JS files for further details. + +------------------------------------------------------- + Adopting Responsive Theme (Theme Re-Distribution): +------------------------------------------------------- + +It's GPL so yes you can base your Themes from Responsive +please note that if you do the GPLv3 License needs to stay +as well as all copyright notices included in all parts of +this Theme as well as third-party add-ons as listed above. + +All derivative Themes must be much different from the original +work, which includes the Theme design as well as all the codes +from Responsive Theme. diff --git a/wp-content/themes/responsive/rtl.css b/wp-content/themes/responsive/rtl.css new file mode 100644 index 0000000..e6151f4 --- /dev/null +++ b/wp-content/themes/responsive/rtl.css @@ -0,0 +1,569 @@ +/* +Theme Name: Responsive +Theme URI: http://themeid.com/responsive-theme/ +Description: Adding support for language written in a Right To Left (RTL) direction. + +Version: 0.7 +Author: Hesaam Farhang and Ulrich Pogson +Author URI: http://cyberchimps.com/guide/why-should-i-translate-responsive/ + +Copyright (C) 2014 CyberChimps +Copyright (C) 2013 Hesaam Farhang +License: GNU General Public License, version 3 (GPLv3) +License URI: license.txt + +NOTE: DO NOT EDIT THIS FILE, IF YOU DO IT WILL BE OVERWRITTEN BY THE NEXT UPDATE. CREATE CHILD THEME INSTEAD. + +See: http://codex.wordpress.org/Right_to_Left_Language_Support + http://cyberchimps.com/guide/why-should-i-translate-responsive/ + +CSS Rules: Sorted alphabetically for better organization. +*/ + +/* =Base +-------------------------------------------------------------- */ +body { + direction: rtl; + unicode-bidi: embed; +} + +/* =Typography +-------------------------------------------------------------- */ + +/* =Responsive 12 Column Grid +-------------------------------------------------------------- */ +.grid { + float: right; +} + +.col-60, +.col-140, +.col-220, +.col-300, +.col-380, +.col-460, +.col-540, +.col-620, +.col-700, +.col-780, +.col-860 { + margin-left: 2.127659574468%; + margin-right: 0; +} + +.rtl-fit { + margin-left: 0 !important; + margin-right: 0 !important; +} + +/* =Templates +-------------------------------------------------------------- */ +.page-template-content-sidebar-page-php .col-60, +.page-template-content-sidebar-page-php .col-140, +.page-template-content-sidebar-page-php .col-220, +.page-template-content-sidebar-page-php .col-300, +.page-template-content-sidebar-page-php .col-380, +.page-template-content-sidebar-page-php .col-460, +.page-template-content-sidebar-page-php .col-540, +.page-template-content-sidebar-page-php .col-620, +.page-template-content-sidebar-page-php .col-700, +.page-template-content-sidebar-page-php .col-780, +.page-template-content-sidebar-page-php .col-860, +.page-template-content-sidebar-half-page-php .col-60, +.page-template-content-sidebar-half-page-php .col-140, +.page-template-content-sidebar-half-page-php .col-220, +.page-template-content-sidebar-half-page-php .col-300, +.page-template-content-sidebar-half-page-php .col-380, +.page-template-content-sidebar-half-page-php .col-460, +.page-template-content-sidebar-half-page-php .col-540, +.page-template-content-sidebar-half-page-php .col-620, +.page-template-content-sidebar-half-page-php .col-700, +.page-template-content-sidebar-half-page-php .col-780, +.page-template-content-sidebar-half-page-php .col-860 { + margin-left: 0; + margin-right: 2.127659574468%; + float: left; +} + +.page-template-sidebar-content-page-php .fit, +.page-template-sidebar-content-half-page-php .fit { + margin-left: 2.127659574468% !important; +} + +/* =Links +-------------------------------------------------------------- */ + +/* =Forms +-------------------------------------------------------------- */ + +/* =Tables +-------------------------------------------------------------- */ + +/* =Lists +-------------------------------------------------------------- */ +ol, +ul { + margin-right: 2.35em; +} + +/* =Blockquote +-------------------------------------------------------------- */ + +/* =Headings +-------------------------------------------------------------- */ + +/* =Margins & Paddings +-------------------------------------------------------------- */ + +/* =Globals +-------------------------------------------------------------- */ + +/* =Header +-------------------------------------------------------------- */ +#header #logo { + float: right; +} + +/* =Content +-------------------------------------------------------------- */ + +/* =Author Meta (Author's Box) +-------------------------------------------------------------- */ +#author-meta img { + float: right; +} + +/* =Featured Content +-------------------------------------------------------------- */ + +/* =Post +-------------------------------------------------------------- */ + +/* =Widgets +-------------------------------------------------------------- */ +#widgets ul li { + margin-right: 10px; +} + +#widgets .widget-title img { + float: left; +} + +.top-widget { + clear: left; + float: left; + text-align: left; +} + +/* =Titles +-------------------------------------------------------------- */ +.widget-title h3, +.widget-title-home h3 { + text-align: right; +} + +/* =Top Menu +-------------------------------------------------------------- */ +.top-menu { + float: left; +} + +.top-menu li { + float: right; +} + +.top-menu > li:first-child > a { + border-right: medium none; + padding: 0 0 0 8px; +} + +.top-menu li a { + border-right: 1px solid #cccccc; + border-left: medium none; +} + +/* =Primary Menu +-------------------------------------------------------------- */ +.menu ul { + right: 0; + left: auto +} + +.menu li li:hover > ul { + left: auto; + right: 100%; +} + +.menu li { + float: right; +} + +.menu > li:first-child > a { + border-left: 1px solid #585858; +} + +.menu > li:last-child > a { + border-left: medium none; +} + +/* =Sub Header Menu +-------------------------------------------------------------- */ +.sub-header-menu li { + float: right; +} + +.sub-header-menu > li:first-child > a { + border-right: medium none; +} + +.sub-header-menu a { + border-right: 1px solid #e2e2e2; + border-left: medium none; +} + +.sub-header-menu ul { + right: 0; + left: auto; +} + +.sub-header-menu li li:hover > ul { + left: auto; + right: 100%; +} + +/* =Footer Menu +-------------------------------------------------------------- */ +.footer-menu { + margin: 0; +} + +.footer-menu li { + float: right; +} + +.footer-menu > li:first-child > a { + border-right: medium none; + padding: 0 0 0 8px; +} + +.footer-menu li a { + border-right: 1px solid #cccccc; + border-left: medium none; +} + +/* =Navigation +-------------------------------------------------------------- */ +.navigation .next { + float: left; +} + +.navigation .previous { + float: right; +} + +/* =Responsive Menu +-------------------------------------------------------------- */ +.sb-toggle { + left: 0; + right: auto; +} + +/* =Pagination (pages) +-------------------------------------------------------------- */ + +/* =Comments +-------------------------------------------------------------- */ +#comments, +#pings { + text-align: right; +} + +/* =Gallery +-------------------------------------------------------------- */ +.gallery .gallery-item { + float: right; +} + +/* =Footer +-------------------------------------------------------------- */ +.powered { + text-align: left; +} + +.copyright { + text-align: right; +} + +/* =Social Icons +-------------------------------------------------------------- */ +#footer .social-icons { + text-align: left; +} + +#footer .twitter-icon, +#footer .youtube-icon, +#footer .facebook-icon, +#footer .linkedin-icon, +#footer .rss-feed-icon, +#footer .google-plus-icon, +#footer .stumble-upon-icon, +#footer .instagram-icon, +#footer .pinterest-icon { + padding-right: 3px; + padding-left: 0; +} + +/* =Media Print +-------------------------------------------------------------- */ +@media print { + + h1 { + page-break-before: always; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + page-break-after: avoid; + } + + ul, + ol, + dl { + page-break-before: avoid; + } +} + +/* =Responsive Design + Media Queries + If you're working on a Child Theme, make sure that all + media queries are included in your style.css +-------------------------------------------------------------- */ +@media screen and (max-width: 980px) { + + body { + } + + .grid, + .grid-right { + float: none; + } + + .copyright, + .scroll-top, + .powered { + float: right; + } + + .page-template-content-sidebar-page-php .col-60, + .page-template-content-sidebar-page-php .col-140, + .page-template-content-sidebar-page-php .col-220, + .page-template-content-sidebar-page-php .col-300, + .page-template-content-sidebar-page-php .col-380, + .page-template-content-sidebar-page-php .col-460, + .page-template-content-sidebar-page-php .col-540, + .page-template-content-sidebar-page-php .col-620, + .page-template-content-sidebar-page-php .col-700, + .page-template-content-sidebar-page-php .col-780, + .page-template-content-sidebar-page-php .col-860, + .page-template-content-sidebar-half-page-php .col-60, + .page-template-content-sidebar-half-page-php .col-140, + .page-template-content-sidebar-half-page-php .col-220, + .page-template-content-sidebar-half-page-php .col-300, + .page-template-content-sidebar-half-page-php .col-380, + .page-template-content-sidebar-half-page-php .col-460, + .page-template-content-sidebar-half-page-php .col-540, + .page-template-content-sidebar-half-page-php .col-620, + .page-template-content-sidebar-half-page-php .col-700, + .page-template-content-sidebar-half-page-php .col-780, + .page-template-content-sidebar-half-page-php .col-860 { + float: none; + } + + #featured-image .fluid-width-video-wrapper { + margin: 20px 0 0 0; + } +} + +@media screen and (max-width: 650px) { + + body { + } + + #logo { + float: none; + text-align: center; + } + + .grid, + .grid-right { + float: none; + } + + .page-template-content-sidebar-page-php .col-60, + .page-template-content-sidebar-page-php .col-140, + .page-template-content-sidebar-page-php .col-220, + .page-template-content-sidebar-page-php .col-300, + .page-template-content-sidebar-page-php .col-380, + .page-template-content-sidebar-page-php .col-460, + .page-template-content-sidebar-page-php .col-540, + .page-template-content-sidebar-page-php .col-620, + .page-template-content-sidebar-page-php .col-700, + .page-template-content-sidebar-page-php .col-780, + .page-template-content-sidebar-page-php .col-860, + .page-template-content-sidebar-half-page-php .col-60, + .page-template-content-sidebar-half-page-php .col-140, + .page-template-content-sidebar-half-page-php .col-220, + .page-template-content-sidebar-half-page-php .col-300, + .page-template-content-sidebar-half-page-php .col-380, + .page-template-content-sidebar-half-page-php .col-460, + .page-template-content-sidebar-half-page-php .col-540, + .page-template-content-sidebar-half-page-php .col-620, + .page-template-content-sidebar-half-page-php .col-700, + .page-template-content-sidebar-half-page-php .col-780, + .page-template-content-sidebar-half-page-php .col-860 { + float: none; + } + + #featured-image .fluid-width-video-wrapper { + margin: 20px 0 0 0; + } + + .top-widget { + float: none; + text-align: center; + clear: right; + } + + .js .menu, + .sub-header-menu { + display: none; + } + + .top-menu, + .footer-menu li { + float: none; + text-align: center; + } + + #footer { + text-align: center; + } + + #footer .social-icons { + text-align: center; + } +} + +@media screen and (max-width: 480px) { + + body { + } + + #logo { + float: none; + position: relative; + text-align: center; + } + + .grid, + .grid-right { + float: none; + } + + .page-template-content-sidebar-page-php .col-60, + .page-template-content-sidebar-page-php .col-140, + .page-template-content-sidebar-page-php .col-220, + .page-template-content-sidebar-page-php .col-300, + .page-template-content-sidebar-page-php .col-380, + .page-template-content-sidebar-page-php .col-460, + .page-template-content-sidebar-page-php .col-540, + .page-template-content-sidebar-page-php .col-620, + .page-template-content-sidebar-page-php .col-700, + .page-template-content-sidebar-page-php .col-780, + .page-template-content-sidebar-page-php .col-860, + .page-template-content-sidebar-half-page-php .col-60, + .page-template-content-sidebar-half-page-php .col-140, + .page-template-content-sidebar-half-page-php .col-220, + .page-template-content-sidebar-half-page-php .col-300, + .page-template-content-sidebar-half-page-php .col-380, + .page-template-content-sidebar-half-page-php .col-460, + .page-template-content-sidebar-half-page-php .col-540, + .page-template-content-sidebar-half-page-php .col-620, + .page-template-content-sidebar-half-page-php .col-700, + .page-template-content-sidebar-half-page-php .col-780, + .page-template-content-sidebar-half-page-php .col-860 { + float: none; + } + + #featured-image .fluid-width-video-wrapper { + margin: 20px 0 0 0; + } + + .featured-title { + font-size: 40px; + padding: 40px 20px 0 20px + } + + .menu ul, + .menu li, + .top-menu, + .footer-menu li, + .sub-header-menu li { + float: none; + text-align: center; + } + + #footer { + text-align: center; + } + + #footer .social-icons { + text-align: center; + } +} + +@media screen and (max-width: 320px) { + + #featured p { + font-size: 12px; + line-height: 1.2em; + } + + .featured-title { + font-size: 35px; + } + + .featured-subtitle { + font-size: 15px; + } + + .call-to-action a.button { + font-size: 14px; + padding: 7px 17px; + } +} + +@media screen and (max-width: 240px) { + + #featured p { + font-size: 11px; + line-height: 1.1em; + } + + .featured-title { + font-size: 20px; + } + + .featured-subtitle { + font-size: 11px; + } + + .call-to-action a.button { + font-size: 12px; + padding: 5px 15px; + } +} diff --git a/wp-content/themes/responsive/screenshot.png b/wp-content/themes/responsive/screenshot.png new file mode 100644 index 0000000..5e25ad5 Binary files /dev/null and b/wp-content/themes/responsive/screenshot.png differ diff --git a/wp-content/themes/responsive/search.php b/wp-content/themes/responsive/search.php new file mode 100644 index 0000000..258e1db --- /dev/null +++ b/wp-content/themes/responsive/search.php @@ -0,0 +1,66 @@ + + + + + + diff --git a/wp-content/themes/responsive/searchform.php b/wp-content/themes/responsive/searchform.php new file mode 100644 index 0000000..6c70132 --- /dev/null +++ b/wp-content/themes/responsive/searchform.php @@ -0,0 +1,27 @@ + +
    + + + +
    \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-colophon.php b/wp-content/themes/responsive/sidebar-colophon.php new file mode 100644 index 0000000..848351d --- /dev/null +++ b/wp-content/themes/responsive/sidebar-colophon.php @@ -0,0 +1,41 @@ + + + +
    + + + + + + + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-content-half-page.php b/wp-content/themes/responsive/sidebar-content-half-page.php new file mode 100644 index 0000000..f7a5ec5 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-content-half-page.php @@ -0,0 +1,91 @@ + + + +
    + + + + + + + + +
    > + + +

    + + + + + +
    + + '' ) ); ?> +
    + + + +
    + ' ); ?> + +
    + + +
    + + +
    + + + + + + + + +
    + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-content-page.php b/wp-content/themes/responsive/sidebar-content-page.php new file mode 100644 index 0000000..d6701ed --- /dev/null +++ b/wp-content/themes/responsive/sidebar-content-page.php @@ -0,0 +1,91 @@ + + + +
    + + + + + + + + +
    > + + +

    + + + + + +
    + + '' ) ); ?> +
    + + + +
    + ' ); ?> + +
    + + +
    + + +
    + + + + + + + + +
    + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-footer.php b/wp-content/themes/responsive/sidebar-footer.php new file mode 100644 index 0000000..a8e3f60 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-footer.php @@ -0,0 +1,40 @@ + + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-gallery.php b/wp-content/themes/responsive/sidebar-gallery.php new file mode 100644 index 0000000..95336ba --- /dev/null +++ b/wp-content/themes/responsive/sidebar-gallery.php @@ -0,0 +1,102 @@ + + + + + + + + +
    + + + + + + +
    + + + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-half-left.php b/wp-content/themes/responsive/sidebar-half-left.php new file mode 100644 index 0000000..ccec5b0 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-half-left.php @@ -0,0 +1,40 @@ + + +
    + + + +
    + +

    +
      + 'monthly' ) ); ?> +
    + +
    + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-home.php b/wp-content/themes/responsive/sidebar-home.php new file mode 100644 index 0000000..42a1ea0 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-home.php @@ -0,0 +1,76 @@ + + +
    +
    + + + +
    + +

    +
    Widgets and choose 6th widget from the top in area 6 called Home Widget 1. Title is also manageable from widgets as well.', 'responsive' ); ?>
    + +
    + + + +
    + + +
    + + + +
    + +

    +
    Widgets and choose 7th widget from the top in area 7 called Home Widget 2. Title is also manageable from widgets as well.', 'responsive' ); ?>
    + +
    + + + +
    + + +
    + + + +
    + +

    +
    Widgets and choose 8th widget from the top in area 8 called Home Widget 3. Title is also manageable from widgets as well.', 'responsive' ); ?>
    + +
    + + + +
    + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-left-half.php b/wp-content/themes/responsive/sidebar-left-half.php new file mode 100644 index 0000000..4314658 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-left-half.php @@ -0,0 +1,40 @@ + + +
    + + + +
    + +

    +
      + 'monthly' ) ); ?> +
    + +
    + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-left.php b/wp-content/themes/responsive/sidebar-left.php new file mode 100644 index 0000000..08f52eb --- /dev/null +++ b/wp-content/themes/responsive/sidebar-left.php @@ -0,0 +1,40 @@ + + +
    + + + +
    + +

    +
      + 'monthly' ) ); ?> +
    + +
    + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-right-half.php b/wp-content/themes/responsive/sidebar-right-half.php new file mode 100644 index 0000000..5af67ee --- /dev/null +++ b/wp-content/themes/responsive/sidebar-right-half.php @@ -0,0 +1,40 @@ + + +
    + + + +
    + +

    +
      + 'monthly' ) ); ?> +
    + +
    + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-right.php b/wp-content/themes/responsive/sidebar-right.php new file mode 100644 index 0000000..5bd03f8 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-right.php @@ -0,0 +1,40 @@ + + +
    + + + +
    + +

    +
      + 'monthly' ) ); ?> +
    + +
    + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar-top.php b/wp-content/themes/responsive/sidebar-top.php new file mode 100644 index 0000000..9d3d072 --- /dev/null +++ b/wp-content/themes/responsive/sidebar-top.php @@ -0,0 +1,41 @@ + + + +
    + + + + + + + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/sidebar.php b/wp-content/themes/responsive/sidebar.php new file mode 100644 index 0000000..e3378e7 --- /dev/null +++ b/wp-content/themes/responsive/sidebar.php @@ -0,0 +1,48 @@ + + + +
    + + + +
    + +

    +
      + 'monthly' ) ); ?> +
    + +
    + + + +
    + \ No newline at end of file diff --git a/wp-content/themes/responsive/single.php b/wp-content/themes/responsive/single.php new file mode 100644 index 0000000..eea6359 --- /dev/null +++ b/wp-content/themes/responsive/single.php @@ -0,0 +1,89 @@ + + +
    + + + + + + + + +
    > + + + + +
    + + + + +
    + +
    +

    +
    + + + + '' ) ); ?> +
    + + + + + + + + +
    + + + + + + + + +
    + + + diff --git a/wp-content/themes/responsive/sitemap.php b/wp-content/themes/responsive/sitemap.php new file mode 100644 index 0000000..c318ed5 --- /dev/null +++ b/wp-content/themes/responsive/sitemap.php @@ -0,0 +1,88 @@ + + + +
    + + + + + + + +
    > +

    + +
    +
    + +
    +

    +
    +
    + + +
    +

    +
      have_posts() ) : $archive_query->the_post(); ?> +
    • + +
    • + +
    +
    + + +
    +

    +
    +
    + + +
    + + '' ) ); ?> +
    + + +
    +
    + + + +
    + + diff --git a/wp-content/themes/responsive/style.css b/wp-content/themes/responsive/style.css new file mode 100644 index 0000000..6ec0cb0 --- /dev/null +++ b/wp-content/themes/responsive/style.css @@ -0,0 +1,30 @@ +/* +Theme Name: Responsive +Theme URI: http://cyberchimps.com/responsive-theme/ +Description: Responsive Theme is a flexible foundation with fluid grid system that adapts your website to mobile devices and the desktop or any other viewing environment. Theme features 9 Page Templates, 11 Widget Areas, 6 Template Layouts, 4 Menu Positions and more. Powerful but simple Theme Options for full CMS control with easy Logo Upload, Social Networking and Webmaster Tools etc. Responsive is WooCommerce Compatible, Multilingual Ready (WPML), RTL-Language Support, Retina-Ready, Search Engine Friendly, W3C Markup Validated and currently translated into 45 languages. Cross-Browser compatible. Official support forum (http://cyberchimps.com/forum/free/responsive/) +Author: CyberChimps.com +Author URI: http://cyberchimps.com +Version: 1.9.5.1 +Tags: white, black, gray, light, custom-menu, custom-header, custom-background, one-column, two-columns, left-sidebar, right-sidebar, theme-options, threaded-comments, full-width-template, sticky-post, translation-ready, rtl-language-support, responsive-layout, fluid-layout +License: GNU General Public License v2 or later +License URI: http://www.gnu.org/licenses/gpl-2.0.html +Text Domain: responsive + +Responsive WordPress Theme, Copyright (C) 2003-2014 Emil Uzelac, CyberChimps Inc + +-------------------------------------------------------------- +WARNING: (BEFORE YOU MAKE ANY CHANGES) +-------------------------------------------------------------- +Please do not edit style.css or any other Theme files or +Templates directly. If you do, your customizations will be lost +as soon as you update Responsive. + +WordPress and CyberChimps highly recommends Child Theme. + +Read More: + +- http://codex.wordpress.org/Child_Themes +- http://cyberchimps.com/guide/child-theme-example/ +- http://cyberchimps.com/guide-tags/child-theme-2/ + +*/ diff --git a/wp-content/themes/responsive/wpml-config.xml b/wp-content/themes/responsive/wpml-config.xml new file mode 100644 index 0000000..a459d9c --- /dev/null +++ b/wp-content/themes/responsive/wpml-config.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + #widgets ul li a { display:block; } + + diff --git a/wp-content/themes/the-bootstrap/404.php b/wp-content/themes/the-bootstrap/404.php new file mode 100644 index 0000000..8a46088 --- /dev/null +++ b/wp-content/themes/the-bootstrap/404.php @@ -0,0 +1,64 @@ + + +
    + + +
    + + + +
    + + + +
    +

    + + 10 ), array( 'widget_id' => '404' ) ); + + the_widget( 'WP_Widget_Categories', array( + 'title' => __( 'Most Used Categories', 'the-bootstrap' ), + ) ); + + $archive_content = sprintf( _x( 'Try looking in the monthly archives. %1$s', '%1$s: smilie', 'the-bootstrap' ), convert_smilies( ':)' ) ); + the_widget( 'WP_Widget_Archives', array( + 'count' => 0, + 'dropdown' => 1 + ), array( + 'after_title' => "

    {$archive_content}

    " + ) ); + + the_widget( 'WP_Widget_Tag_Cloud' ); ?> + +
    + +
    + + + +
    + +
    + + + +
    + + +
    + + + + + +
    + +
    + + + +
    + + +
    + + + + + +
    +

    +
    + +
    +
    + +
    +
    + +
    + +
    + + + +
    + + +
    + + +
    ' ); + } ?> + + + +
    + + + + li, +ol.inline > li { + display: inline-block; + padding-left: 5px; + padding-right: 5px; +} +dl { + margin-bottom: 20px; +} +dt, +dd { + line-height: 20px; +} +dt { + font-weight: bold; +} +dd { + margin-left: 10px; +} +.dl-horizontal { + *zoom: 1; +} +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + content: ""; + line-height: 0; +} +.dl-horizontal:after { + clear: both; +} +.dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.dl-horizontal dd { + margin-left: 180px; +} +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} +blockquote p { + margin-bottom: 0; + font-size: 16px; + font-weight: 300; + line-height: 25px; +} +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} +blockquote small:before { + content: '\2014 \00A0'; +} +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} +blockquote.pull-right small:before { + content: ''; +} +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +code { + padding: 2px 4px; + color: #d14; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; + white-space: nowrap; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +pre.prettyprint { + margin-bottom: 20px; +} +pre code { + padding: 0; + color: inherit; + white-space: pre; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.label, +.badge { + display: inline-block; + padding: 2px 4px; + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + vertical-align: baseline; + white-space: nowrap; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #999999; +} +.label { + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.badge { + padding-left: 9px; + padding-right: 9px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} +.label:empty, +.badge:empty { + display: none; +} +a.label:hover, +a.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} +.label-important, +.badge-important { + background-color: #b94a48; +} +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} +.label-warning, +.badge-warning { + background-color: #f89406; +} +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} +.label-success, +.badge-success { + background-color: #468847; +} +.label-success[href], +.badge-success[href] { + background-color: #356635; +} +.label-info, +.badge-info { + background-color: #3a87ad; +} +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} +.label-inverse, +.badge-inverse { + background-color: #333333; +} +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} +.btn-mini .label, +.btn-mini .badge { + top: 0; +} +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} +.table { + width: 100%; + margin-bottom: 20px; +} +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} +.table th { + font-weight: bold; +} +.table thead th { + vertical-align: bottom; +} +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} +.table tbody + tbody { + border-top: 2px solid #dddddd; +} +.table .table { + background-color: #ffffff; +} +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} +.table-bordered thead:first-child tr:first-child > th:first-child, +.table-bordered tbody:first-child tr:first-child > td:first-child { + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; +} +.table-bordered thead:first-child tr:first-child > th:last-child, +.table-bordered tbody:first-child tr:first-child > td:last-child { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; +} +.table-bordered thead:last-child tr:last-child > th:first-child, +.table-bordered tbody:last-child tr:last-child > td:first-child, +.table-bordered tfoot:last-child tr:last-child > td:first-child { + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.table-bordered thead:last-child tr:last-child > th:last-child, +.table-bordered tbody:last-child tr:last-child > td:last-child, +.table-bordered tfoot:last-child tr:last-child > td:last-child { + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +.table-bordered tfoot + tbody:last-child tr:last-child td:first-child { + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-bottomleft: 0; + border-bottom-left-radius: 0; +} +.table-bordered tfoot + tbody:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 0; + -moz-border-radius-bottomright: 0; + border-bottom-right-radius: 0; +} +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; +} +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; +} +.table-striped tbody > tr:nth-child(odd) > td, +.table-striped tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} +.table-hover tbody tr:hover td, +.table-hover tbody tr:hover th { + background-color: #f5f5f5; +} +table td[class*="span"], +table th[class*="span"], +.row-fluid table td[class*="span"], +.row-fluid table th[class*="span"] { + display: table-cell; + float: none; + margin-left: 0; +} +.table td.span1, +.table th.span1 { + float: none; + width: 44px; + margin-left: 0; +} +.table td.span2, +.table th.span2 { + float: none; + width: 124px; + margin-left: 0; +} +.table td.span3, +.table th.span3 { + float: none; + width: 204px; + margin-left: 0; +} +.table td.span4, +.table th.span4 { + float: none; + width: 284px; + margin-left: 0; +} +.table td.span5, +.table th.span5 { + float: none; + width: 364px; + margin-left: 0; +} +.table td.span6, +.table th.span6 { + float: none; + width: 444px; + margin-left: 0; +} +.table td.span7, +.table th.span7 { + float: none; + width: 524px; + margin-left: 0; +} +.table td.span8, +.table th.span8 { + float: none; + width: 604px; + margin-left: 0; +} +.table td.span9, +.table th.span9 { + float: none; + width: 684px; + margin-left: 0; +} +.table td.span10, +.table th.span10 { + float: none; + width: 764px; + margin-left: 0; +} +.table td.span11, +.table th.span11 { + float: none; + width: 844px; + margin-left: 0; +} +.table td.span12, +.table th.span12 { + float: none; + width: 924px; + margin-left: 0; +} +.table tbody tr.success td { + background-color: #dff0d8; +} +.table tbody tr.error td { + background-color: #f2dede; +} +.table tbody tr.warning td { + background-color: #fcf8e3; +} +.table tbody tr.info td { + background-color: #d9edf7; +} +.table-hover tbody tr.success:hover td { + background-color: #d0e9c6; +} +.table-hover tbody tr.error:hover td { + background-color: #ebcccc; +} +.table-hover tbody tr.warning:hover td { + background-color: #faf2cc; +} +.table-hover tbody tr.info:hover td { + background-color: #c4e3f3; +} +form { + margin: 0 0 20px; +} +fieldset { + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +legend small { + font-size: 15px; + color: #999999; +} +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +label { + display: block; + margin-bottom: 5px; +} +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 10px; + font-size: 14px; + line-height: 20px; + color: #555555; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + vertical-align: middle; +} +input, +textarea, +.uneditable-input { + width: 206px; +} +textarea { + height: auto; +} +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear .2s, box-shadow linear .2s; + -moz-transition: border linear .2s, box-shadow linear .2s; + -o-transition: border linear .2s, box-shadow linear .2s; + transition: border linear .2s, box-shadow linear .2s; +} +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6); +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + *margin-top: 0; + /* IE7 */ + + margin-top: 1px \9; + /* IE8-9 */ + + line-height: normal; +} +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 30px; +} +select { + width: 220px; + border: 1px solid #cccccc; + background-color: #ffffff; +} +select[multiple], +select[size] { + height: auto; +} +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.uneditable-input, +.uneditable-textarea { + color: #999999; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + cursor: not-allowed; +} +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} +.uneditable-textarea { + width: auto; + height: auto; +} +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} +.radio, +.checkbox { + min-height: 20px; + padding-left: 20px; +} +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -20px; +} +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} +.input-mini { + width: 60px; +} +.input-small { + width: 90px; +} +.input-medium { + width: 150px; +} +.input-large { + width: 210px; +} +.input-xlarge { + width: 270px; +} +.input-xxlarge { + width: 530px; +} +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} +input, +textarea, +.uneditable-input { + margin-left: 0; +} +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} +input.span12, textarea.span12, .uneditable-input.span12 { + width: 926px; +} +input.span11, textarea.span11, .uneditable-input.span11 { + width: 846px; +} +input.span10, textarea.span10, .uneditable-input.span10 { + width: 766px; +} +input.span9, textarea.span9, .uneditable-input.span9 { + width: 686px; +} +input.span8, textarea.span8, .uneditable-input.span8 { + width: 606px; +} +input.span7, textarea.span7, .uneditable-input.span7 { + width: 526px; +} +input.span6, textarea.span6, .uneditable-input.span6 { + width: 446px; +} +input.span5, textarea.span5, .uneditable-input.span5 { + width: 366px; +} +input.span4, textarea.span4, .uneditable-input.span4 { + width: 286px; +} +input.span3, textarea.span3, .uneditable-input.span3 { + width: 206px; +} +input.span2, textarea.span2, .uneditable-input.span2 { + width: 126px; +} +input.span1, textarea.span1, .uneditable-input.span1 { + width: 46px; +} +.controls-row { + *zoom: 1; +} +.controls-row:before, +.controls-row:after { + display: table; + content: ""; + line-height: 0; +} +.controls-row:after { + clear: both; +} +.controls-row [class*="span"], +.row-fluid .controls-row [class*="span"] { + float: left; +} +.controls-row .checkbox[class*="span"], +.controls-row .radio[class*="span"] { + padding-top: 5px; +} +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} +.control-group.warning .control-label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} +.control-group.error .control-label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} +.control-group.success .control-label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} +.control-group.info .control-label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} +input:focus:invalid, +textarea:focus:invalid, +select:focus:invalid { + color: #b94a48; + border-color: #ee5f5b; +} +input:focus:invalid:focus, +textarea:focus:invalid:focus, +select:focus:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} +.form-actions:before, +.form-actions:after { + display: table; + content: ""; + line-height: 0; +} +.form-actions:after { + clear: both; +} +.help-block, +.help-inline { + color: #595959; +} +.help-block { + display: block; + margin-bottom: 10px; +} +.help-inline { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + vertical-align: middle; + padding-left: 5px; +} +.input-append, +.input-prepend { + margin-bottom: 5px; + font-size: 0; + white-space: nowrap; +} +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input, +.input-append .dropdown-menu, +.input-prepend .dropdown-menu { + font-size: 14px; +} +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + vertical-align: top; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #ccc; +} +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn, +.input-append .btn-group > .dropdown-toggle, +.input-prepend .btn-group > .dropdown-toggle { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.input-append input + .btn-group .btn:last-child, +.input-append select + .btn-group .btn:last-child, +.input-append .uneditable-input + .btn-group .btn:last-child { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.input-append .add-on, +.input-append .btn, +.input-append .btn-group { + margin-left: -1px; +} +.input-append .add-on:last-child, +.input-append .btn:last-child, +.input-append .btn-group:last-child > .dropdown-toggle { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.input-prepend.input-append input + .btn-group .btn, +.input-prepend.input-append select + .btn-group .btn, +.input-prepend.input-append .uneditable-input + .btn-group .btn { + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.input-prepend.input-append .btn-group:first-child { + margin-left: 0; +} +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} +/* Allow for input prepend/append in search forms */ +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + margin-bottom: 0; + vertical-align: middle; +} +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} +.control-group { + margin-bottom: 10px; +} +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + content: ""; + line-height: 0; +} +.form-horizontal .control-group:after { + clear: both; +} +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} +.form-horizontal .controls:first-child { + *padding-left: 180px; +} +.form-horizontal .help-block { + margin-bottom: 0; +} +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block, +.form-horizontal .uneditable-input + .help-block, +.form-horizontal .input-prepend + .help-block, +.form-horizontal .input-append + .help-block { + margin-top: 10px; +} +.form-horizontal .form-actions { + padding-left: 180px; +} +.btn { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + padding: 4px 12px; + margin-bottom: 0; + font-size: 14px; + line-height: 20px; + text-align: center; + vertical-align: middle; + cursor: pointer; + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e6e6e6; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #bbbbbb; + *border: 0; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + *margin-left: .3em; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); +} +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} +.btn:active, +.btn.active { + background-color: #cccccc \9; +} +.btn:first-child { + *margin-left: 0; +} +.btn:hover { + color: #333333; + text-decoration: none; + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn.active, +.btn:active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); +} +.btn.disabled, +.btn[disabled] { + cursor: default; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.btn-large { + padding: 11px 19px; + font-size: 17.5px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.btn-large [class^="icon-"], +.btn-large [class*=" icon-"] { + margin-top: 4px; +} +.btn-small { + padding: 2px 10px; + font-size: 11.9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.btn-small [class^="icon-"], +.btn-small [class*=" icon-"] { + margin-top: 0; +} +.btn-mini [class^="icon-"], +.btn-mini [class*=" icon-"] { + margin-top: -1px; +} +.btn-mini { + padding: 0 6px; + font-size: 10.5px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} +.btn { + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); +} +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #0044cc; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-primary:hover, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #f89406; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-warning:hover, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #bd362f; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-danger:hover, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #51a351; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-success:hover, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #2f96b4; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-info:hover, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + background-image: -moz-linear-gradient(top, #444444, #222222); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #222222; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.btn-link { + border-color: transparent; + cursor: pointer; + color: #0088cc; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.btn-link:hover { + color: #005580; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover { + color: #333333; + text-decoration: none; +} +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../img/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; + margin-top: 1px; +} +/* White icons with optional class, or on hover/active states of certain elements */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: url("../img/glyphicons-halflings-white.png"); +} +.icon-glass { + background-position: 0 0; +} +.icon-music { + background-position: -24px 0; +} +.icon-search { + background-position: -48px 0; +} +.icon-envelope { + background-position: -72px 0; +} +.icon-heart { + background-position: -96px 0; +} +.icon-star { + background-position: -120px 0; +} +.icon-star-empty { + background-position: -144px 0; +} +.icon-user { + background-position: -168px 0; +} +.icon-film { + background-position: -192px 0; +} +.icon-th-large { + background-position: -216px 0; +} +.icon-th { + background-position: -240px 0; +} +.icon-th-list { + background-position: -264px 0; +} +.icon-ok { + background-position: -288px 0; +} +.icon-remove { + background-position: -312px 0; +} +.icon-zoom-in { + background-position: -336px 0; +} +.icon-zoom-out { + background-position: -360px 0; +} +.icon-off { + background-position: -384px 0; +} +.icon-signal { + background-position: -408px 0; +} +.icon-cog { + background-position: -432px 0; +} +.icon-trash { + background-position: -456px 0; +} +.icon-home { + background-position: 0 -24px; +} +.icon-file { + background-position: -24px -24px; +} +.icon-time { + background-position: -48px -24px; +} +.icon-road { + background-position: -72px -24px; +} +.icon-download-alt { + background-position: -96px -24px; +} +.icon-download { + background-position: -120px -24px; +} +.icon-upload { + background-position: -144px -24px; +} +.icon-inbox { + background-position: -168px -24px; +} +.icon-play-circle { + background-position: -192px -24px; +} +.icon-repeat { + background-position: -216px -24px; +} +.icon-refresh { + background-position: -240px -24px; +} +.icon-list-alt { + background-position: -264px -24px; +} +.icon-lock { + background-position: -287px -24px; +} +.icon-flag { + background-position: -312px -24px; +} +.icon-headphones { + background-position: -336px -24px; +} +.icon-volume-off { + background-position: -360px -24px; +} +.icon-volume-down { + background-position: -384px -24px; +} +.icon-volume-up { + background-position: -408px -24px; +} +.icon-qrcode { + background-position: -432px -24px; +} +.icon-barcode { + background-position: -456px -24px; +} +.icon-tag { + background-position: 0 -48px; +} +.icon-tags { + background-position: -25px -48px; +} +.icon-book { + background-position: -48px -48px; +} +.icon-bookmark { + background-position: -72px -48px; +} +.icon-print { + background-position: -96px -48px; +} +.icon-camera { + background-position: -120px -48px; +} +.icon-font { + background-position: -144px -48px; +} +.icon-bold { + background-position: -167px -48px; +} +.icon-italic { + background-position: -192px -48px; +} +.icon-text-height { + background-position: -216px -48px; +} +.icon-text-width { + background-position: -240px -48px; +} +.icon-align-left { + background-position: -264px -48px; +} +.icon-align-center { + background-position: -288px -48px; +} +.icon-align-right { + background-position: -312px -48px; +} +.icon-align-justify { + background-position: -336px -48px; +} +.icon-list { + background-position: -360px -48px; +} +.icon-indent-left { + background-position: -384px -48px; +} +.icon-indent-right { + background-position: -408px -48px; +} +.icon-facetime-video { + background-position: -432px -48px; +} +.icon-picture { + background-position: -456px -48px; +} +.icon-pencil { + background-position: 0 -72px; +} +.icon-map-marker { + background-position: -24px -72px; +} +.icon-adjust { + background-position: -48px -72px; +} +.icon-tint { + background-position: -72px -72px; +} +.icon-edit { + background-position: -96px -72px; +} +.icon-share { + background-position: -120px -72px; +} +.icon-check { + background-position: -144px -72px; +} +.icon-move { + background-position: -168px -72px; +} +.icon-step-backward { + background-position: -192px -72px; +} +.icon-fast-backward { + background-position: -216px -72px; +} +.icon-backward { + background-position: -240px -72px; +} +.icon-play { + background-position: -264px -72px; +} +.icon-pause { + background-position: -288px -72px; +} +.icon-stop { + background-position: -312px -72px; +} +.icon-forward { + background-position: -336px -72px; +} +.icon-fast-forward { + background-position: -360px -72px; +} +.icon-step-forward { + background-position: -384px -72px; +} +.icon-eject { + background-position: -408px -72px; +} +.icon-chevron-left { + background-position: -432px -72px; +} +.icon-chevron-right { + background-position: -456px -72px; +} +.icon-plus-sign { + background-position: 0 -96px; +} +.icon-minus-sign { + background-position: -24px -96px; +} +.icon-remove-sign { + background-position: -48px -96px; +} +.icon-ok-sign { + background-position: -72px -96px; +} +.icon-question-sign { + background-position: -96px -96px; +} +.icon-info-sign { + background-position: -120px -96px; +} +.icon-screenshot { + background-position: -144px -96px; +} +.icon-remove-circle { + background-position: -168px -96px; +} +.icon-ok-circle { + background-position: -192px -96px; +} +.icon-ban-circle { + background-position: -216px -96px; +} +.icon-arrow-left { + background-position: -240px -96px; +} +.icon-arrow-right { + background-position: -264px -96px; +} +.icon-arrow-up { + background-position: -289px -96px; +} +.icon-arrow-down { + background-position: -312px -96px; +} +.icon-share-alt { + background-position: -336px -96px; +} +.icon-resize-full { + background-position: -360px -96px; +} +.icon-resize-small { + background-position: -384px -96px; +} +.icon-plus { + background-position: -408px -96px; +} +.icon-minus { + background-position: -433px -96px; +} +.icon-asterisk { + background-position: -456px -96px; +} +.icon-exclamation-sign { + background-position: 0 -120px; +} +.icon-gift { + background-position: -24px -120px; +} +.icon-leaf { + background-position: -48px -120px; +} +.icon-fire { + background-position: -72px -120px; +} +.icon-eye-open { + background-position: -96px -120px; +} +.icon-eye-close { + background-position: -120px -120px; +} +.icon-warning-sign { + background-position: -144px -120px; +} +.icon-plane { + background-position: -168px -120px; +} +.icon-calendar { + background-position: -192px -120px; +} +.icon-random { + background-position: -216px -120px; + width: 16px; +} +.icon-comment { + background-position: -240px -120px; +} +.icon-magnet { + background-position: -264px -120px; +} +.icon-chevron-up { + background-position: -288px -120px; +} +.icon-chevron-down { + background-position: -313px -119px; +} +.icon-retweet { + background-position: -336px -120px; +} +.icon-shopping-cart { + background-position: -360px -120px; +} +.icon-folder-close { + background-position: -384px -120px; +} +.icon-folder-open { + background-position: -408px -120px; + width: 16px; +} +.icon-resize-vertical { + background-position: -432px -119px; +} +.icon-resize-horizontal { + background-position: -456px -118px; +} +.icon-hdd { + background-position: 0 -144px; +} +.icon-bullhorn { + background-position: -24px -144px; +} +.icon-bell { + background-position: -48px -144px; +} +.icon-certificate { + background-position: -72px -144px; +} +.icon-thumbs-up { + background-position: -96px -144px; +} +.icon-thumbs-down { + background-position: -120px -144px; +} +.icon-hand-right { + background-position: -144px -144px; +} +.icon-hand-left { + background-position: -168px -144px; +} +.icon-hand-up { + background-position: -192px -144px; +} +.icon-hand-down { + background-position: -216px -144px; +} +.icon-circle-arrow-right { + background-position: -240px -144px; +} +.icon-circle-arrow-left { + background-position: -264px -144px; +} +.icon-circle-arrow-up { + background-position: -288px -144px; +} +.icon-circle-arrow-down { + background-position: -312px -144px; +} +.icon-globe { + background-position: -336px -144px; +} +.icon-wrench { + background-position: -360px -144px; +} +.icon-tasks { + background-position: -384px -144px; +} +.icon-filter { + background-position: -408px -144px; +} +.icon-briefcase { + background-position: -432px -144px; +} +.icon-fullscreen { + background-position: -456px -144px; +} +.btn-group { + position: relative; + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + font-size: 0; + vertical-align: middle; + white-space: nowrap; + *margin-left: .3em; +} +.btn-group:first-child { + *margin-left: 0; +} +.btn-group + .btn-group { + margin-left: 5px; +} +.btn-toolbar { + font-size: 0; + margin-top: 10px; + margin-bottom: 10px; +} +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group { + margin-left: 5px; +} +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.btn-group > .btn + .btn { + margin-left: -1px; +} +.btn-group > .btn, +.btn-group > .dropdown-menu, +.btn-group > .popover { + font-size: 14px; +} +.btn-group > .btn-mini { + font-size: 10.5px; +} +.btn-group > .btn-small { + font-size: 11.9px; +} +.btn-group > .btn-large { + font-size: 17.5px; +} +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-left: 8px; + padding-right: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); + *padding-top: 5px; + *padding-bottom: 5px; +} +.btn-group > .btn-mini + .dropdown-toggle { + padding-left: 5px; + padding-right: 5px; + *padding-top: 2px; + *padding-bottom: 2px; +} +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} +.btn-group > .btn-large + .dropdown-toggle { + padding-left: 12px; + padding-right: 12px; + *padding-top: 7px; + *padding-bottom: 7px; +} +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); + box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05); +} +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} +.btn .caret { + margin-top: 8px; + margin-left: 0; +} +.btn-mini .caret, +.btn-small .caret, +.btn-large .caret { + margin-top: 6px; +} +.btn-large .caret { + border-left-width: 5px; + border-right-width: 5px; + border-top-width: 5px; +} +.dropup .btn-large .caret { + border-bottom-width: 5px; +} +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} +.btn-group-vertical > .btn { + display: block; + float: none; + max-width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.btn-group-vertical > .btn + .btn { + margin-left: 0; + margin-top: -1px; +} +.btn-group-vertical > .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.btn-group-vertical > .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.btn-group-vertical > .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} +.btn-group-vertical > .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} +.nav { + margin-left: 0; + margin-bottom: 20px; + list-style: none; +} +.nav > li > a { + display: block; +} +.nav > li > a:hover { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li > a > img { + max-width: none; +} +.nav > .pull-right { + float: right; +} +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} +.nav li + .nav-header { + margin-top: 9px; +} +.nav-list { + padding-left: 15px; + padding-right: 15px; + margin-bottom: 0; +} +.nav-list > li > a, +.nav-list .nav-header { + margin-left: -15px; + margin-right: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} +.nav-list > li > a { + padding: 3px 15px; +} +.nav-list > .active > a, +.nav-list > .active > a:hover { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + margin-right: 2px; +} +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} +.nav-tabs, +.nav-pills { + *zoom: 1; +} +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + content: ""; + line-height: 0; +} +.nav-tabs:after, +.nav-pills:after { + clear: both; +} +.nav-tabs > li, +.nav-pills > li { + float: left; +} +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + margin-bottom: -1px; +} +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: #555555; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; + cursor: default; +} +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.nav-pills > .active > a, +.nav-pills > .active > a:hover { + color: #ffffff; + background-color: #0088cc; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li > a { + margin-right: 0; +} +.nav-tabs.nav-stacked { + border-bottom: 0; +} +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; +} +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.nav-tabs.nav-stacked > li > a:hover { + border-color: #ddd; + z-index: 2; +} +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.nav .dropdown-toggle .caret { + border-top-color: #0088cc; + border-bottom-color: #0088cc; + margin-top: 6px; +} +.nav .dropdown-toggle:hover .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} +/* move down carets for tabs */ +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} +.nav > .dropdown.active > a:hover { + cursor: pointer; +} +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} +.tabs-stacked .open > a:hover { + border-color: #999999; +} +.tabbable { + *zoom: 1; +} +.tabbable:before, +.tabbable:after { + display: table; + content: ""; + line-height: 0; +} +.tabbable:after { + clear: both; +} +.tab-content { + overflow: auto; +} +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} +.tab-content > .active, +.pill-content > .active { + display: block; +} +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} +.tabs-below > .nav-tabs > li > a:hover { + border-bottom-color: transparent; + border-top-color: #ddd; +} +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} +.tabs-left > .nav-tabs > li > a:hover { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} +.tabs-right > .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} +.nav > .disabled > a { + color: #999999; +} +.nav > .disabled > a:hover { + text-decoration: none; + background-color: transparent; + cursor: default; +} +.navbar { + overflow: visible; + margin-bottom: 20px; + *position: relative; + *z-index: 2; +} +.navbar-inner { + min-height: 40px; + padding-left: 20px; + padding-right: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + *zoom: 1; +} +.navbar-inner:before, +.navbar-inner:after { + display: table; + content: ""; + line-height: 0; +} +.navbar-inner:after { + clear: both; +} +.navbar .container { + width: auto; +} +.nav-collapse.collapse { + height: auto; + overflow: visible; +} +.navbar .brand { + float: left; + display: block; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} +.navbar .brand:hover { + text-decoration: none; +} +.navbar-text { + margin-bottom: 0; + line-height: 40px; + color: #777777; +} +.navbar-link { + color: #777777; +} +.navbar-link:hover { + color: #333333; +} +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-left: 1px solid #f2f2f2; + border-right: 1px solid #ffffff; +} +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn { + margin-top: 0; +} +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} +.navbar-form:before, +.navbar-form:after { + display: table; + content: ""; + line-height: 0; +} +.navbar-form:after { + clear: both; +} +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 5px; + white-space: nowrap; +} +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} +.navbar-search .search-query { + margin-bottom: 0; + padding: 4px 14px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} +.navbar-static-top { + position: static; + margin-bottom: 0; +} +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-left: 0; + padding-right: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} +.navbar-fixed-top { + top: 0; +} +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1); + -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1); + box-shadow: 0 1px 10px rgba(0,0,0,.1); +} +.navbar-fixed-bottom { + bottom: 0; +} +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: 0 -1px 10px rgba(0,0,0,.1); + -moz-box-shadow: 0 -1px 10px rgba(0,0,0,.1); + box-shadow: 0 -1px 10px rgba(0,0,0,.1); +} +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} +.navbar .nav > li { + float: left; +} +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + background-color: transparent; + color: #333333; + text-decoration: none; +} +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-left: 5px; + margin-right: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #e5e5e5; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075); +} +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} +.navbar .nav > li > .dropdown-menu:before { + content: ''; + display: inline-block; + border-left: 7px solid transparent; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-bottom-color: rgba(0, 0, 0, 0.2); + position: absolute; + top: -7px; + left: 9px; +} +.navbar .nav > li > .dropdown-menu:after { + content: ''; + display: inline-block; + border-left: 6px solid transparent; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + position: absolute; + top: -6px; + left: 10px; +} +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + border-top: 7px solid #ccc; + border-top-color: rgba(0, 0, 0, 0.2); + border-bottom: 0; + bottom: -7px; + top: auto; +} +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + border-top: 6px solid #ffffff; + border-bottom: 0; + bottom: -6px; + top: auto; +} +.navbar .nav li.dropdown > a:hover .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + background-color: #e5e5e5; + color: #555555; +} +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + left: auto; + right: 0; +} +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + left: auto; + right: 12px; +} +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + left: auto; + right: 13px; +} +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + left: auto; + right: 100%; + margin-left: 0; + margin-right: -1px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); + border-color: #252525; +} +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} +.navbar-inverse .brand:hover, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; +} +.navbar-inverse .brand { + color: #999999; +} +.navbar-inverse .navbar-text { + color: #999999; +} +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + background-color: transparent; + color: #ffffff; +} +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: #ffffff; + background-color: #111111; +} +.navbar-inverse .navbar-link { + color: #999999; +} +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} +.navbar-inverse .divider-vertical { + border-left-color: #111111; + border-right-color: #222222; +} +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { + background-color: #111111; + color: #ffffff; +} +.navbar-inverse .nav li.dropdown > a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15); + -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15); + box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + outline: 0; +} +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + background-image: -moz-linear-gradient(top, #151515, #040404); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + *background-color: #040404; + /* Darken IE7 buttons by default so they stand out more given they won't have borders */ + + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + text-shadow: 0 1px 0 #ffffff; +} +.breadcrumb > li > .divider { + padding: 0 5px; + color: #ccc; +} +.breadcrumb > .active { + color: #999999; +} +.pagination { + margin: 20px 0; +} +.pagination ul { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; + margin-left: 0; + margin-bottom: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} +.pagination ul > li { + display: inline; +} +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 4px 12px; + line-height: 20px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} +.pagination ul > li > a:hover, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: #f5f5f5; +} +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover { + color: #999999; + background-color: transparent; + cursor: default; +} +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; + border-top-left-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + border-bottom-left-radius: 4px; +} +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + border-bottom-right-radius: 4px; +} +.pagination-centered { + text-align: center; +} +.pagination-right { + text-align: right; +} +.pagination-large ul > li > a, +.pagination-large ul > li > span { + padding: 11px 19px; + font-size: 17.5px; +} +.pagination-large ul > li:first-child > a, +.pagination-large ul > li:first-child > span { + -webkit-border-top-left-radius: 6px; + -moz-border-radius-topleft: 6px; + border-top-left-radius: 6px; + -webkit-border-bottom-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + border-bottom-left-radius: 6px; +} +.pagination-large ul > li:last-child > a, +.pagination-large ul > li:last-child > span { + -webkit-border-top-right-radius: 6px; + -moz-border-radius-topright: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + border-bottom-right-radius: 6px; +} +.pagination-mini ul > li:first-child > a, +.pagination-small ul > li:first-child > a, +.pagination-mini ul > li:first-child > span, +.pagination-small ul > li:first-child > span { + -webkit-border-top-left-radius: 3px; + -moz-border-radius-topleft: 3px; + border-top-left-radius: 3px; + -webkit-border-bottom-left-radius: 3px; + -moz-border-radius-bottomleft: 3px; + border-bottom-left-radius: 3px; +} +.pagination-mini ul > li:last-child > a, +.pagination-small ul > li:last-child > a, +.pagination-mini ul > li:last-child > span, +.pagination-small ul > li:last-child > span { + -webkit-border-top-right-radius: 3px; + -moz-border-radius-topright: 3px; + border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-bottomright: 3px; + border-bottom-right-radius: 3px; +} +.pagination-small ul > li > a, +.pagination-small ul > li > span { + padding: 2px 10px; + font-size: 11.9px; +} +.pagination-mini ul > li > a, +.pagination-mini ul > li > span { + padding: 0 6px; + font-size: 10.5px; +} +.pager { + margin: 20px 0; + list-style: none; + text-align: center; + *zoom: 1; +} +.pager:before, +.pager:after { + display: table; + content: ""; + line-height: 0; +} +.pager:after { + clear: both; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} +.pager li > a:hover { + text-decoration: none; + background-color: #f5f5f5; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > span { + color: #999999; + background-color: #fff; + cursor: default; +} +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} +.thumbnails:before, +.thumbnails:after { + display: table; + content: ""; + line-height: 0; +} +.thumbnails:after { + clear: both; +} +.row-fluid .thumbnails { + margin-left: 0; +} +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} +a.thumbnail:hover { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} +.thumbnail > img { + display: block; + max-width: 100%; + margin-left: auto; + margin-right: auto; +} +.thumbnail .caption { + padding: 9px; + color: #555555; +} +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.alert, +.alert h4 { + color: #c09853; +} +.alert h4 { + margin: 0; +} +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} +.alert-success { + background-color: #dff0d8; + border-color: #d6e9c6; + color: #468847; +} +.alert-success h4 { + color: #468847; +} +.alert-danger, +.alert-error { + background-color: #f2dede; + border-color: #eed3d7; + color: #b94a48; +} +.alert-danger h4, +.alert-error h4 { + color: #b94a48; +} +.alert-info { + background-color: #d9edf7; + border-color: #bce8f1; + color: #3a87ad; +} +.alert-info h4 { + color: #3a87ad; +} +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} +.alert-block p + p { + margin-top: 5px; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + overflow: hidden; + height: 20px; + margin-bottom: 20px; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.progress .bar { + width: 0%; + height: 100%; + color: #ffffff; + float: left; + font-size: 12px; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15); + -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15); + box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15); +} +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.hero-unit { + padding: 60px; + margin-bottom: 30px; + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + color: inherit; + letter-spacing: -1px; +} +.hero-unit li { + line-height: 30px; +} +.media, +.media-body { + overflow: hidden; + *overflow: visible; + zoom: 1; +} +.media, +.media .media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-object { + display: block; +} +.media-heading { + margin: 0 0 5px; +} +.media .pull-left { + margin-right: 10px; +} +.media .pull-right { + margin-left: 10px; +} +.media-list { + margin-left: 0; + list-style: none; +} +.tooltip { + position: absolute; + z-index: 1030; + display: block; + visibility: visible; + padding: 5px; + font-size: 11px; + opacity: 0; + filter: alpha(opacity=0); +} +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +.tooltip.top { + margin-top: -3px; +} +.tooltip.right { + margin-left: 3px; +} +.tooltip.bottom { + margin-top: 3px; +} +.tooltip.left { + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + width: 236px; + padding: 1px; + text-align: left; + background-color: #ffffff; + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + white-space: normal; +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + margin: 0; + padding: 8px 14px; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover .arrow { + border-width: 11px; +} +.popover .arrow:after { + border-width: 10px; + content: ""; +} +.popover.top .arrow { + left: 50%; + margin-left: -11px; + border-bottom-width: 0; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, 0.25); + bottom: -11px; +} +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-bottom-width: 0; + border-top-color: #ffffff; +} +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-left-width: 0; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, 0.25); +} +.popover.right .arrow:after { + left: 1px; + bottom: -10px; + border-left-width: 0; + border-right-color: #ffffff; +} +.popover.bottom .arrow { + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -11px; +} +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-top-width: 0; + border-bottom-color: #ffffff; +} +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left .arrow:after { + right: 1px; + border-right-width: 0; + border-left-color: #ffffff; + bottom: -10px; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} +.modal { + position: fixed; + top: 10%; + left: 50%; + z-index: 1050; + width: 560px; + margin-left: -280px; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + /* IE6-7 */ + + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; + outline: none; +} +.modal.fade { + -webkit-transition: opacity .3s linear, top .3s ease-out; + -moz-transition: opacity .3s linear, top .3s ease-out; + -o-transition: opacity .3s linear, top .3s ease-out; + transition: opacity .3s linear, top .3s ease-out; + top: -25%; +} +.modal.fade.in { + top: 10%; +} +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} +.modal-header .close { + margin-top: 2px; +} +.modal-header h3 { + margin: 0; + line-height: 30px; +} +.modal-body { + position: relative; + overflow-y: auto; + max-height: 400px; + padding: 15px; +} +.modal-form { + margin-bottom: 0; +} +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; + *zoom: 1; +} +.modal-footer:before, +.modal-footer:after { + display: table; + content: ""; + line-height: 0; +} +.modal-footer:after { + clear: both; +} +.modal-footer .btn + .btn { + margin-left: 5px; + margin-bottom: 0; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle { + *margin-bottom: -3px; +} +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} +.dropdown-menu li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} +.dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { + text-decoration: none; + color: #ffffff; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: #ffffff; + text-decoration: none; + outline: 0; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover { + color: #999999; +} +.dropdown-menu .disabled > a:hover { + text-decoration: none; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + cursor: default; +} +.open { + *z-index: 1000; +} +.open > .dropdown-menu { + display: block; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +.dropdown-submenu { + position: relative; +} +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} +.dropup .dropdown-submenu > .dropdown-menu { + top: auto; + bottom: 0; + margin-top: 0; + margin-bottom: -2px; + -webkit-border-radius: 5px 5px 5px 0; + -moz-border-radius: 5px 5px 5px 0; + border-radius: 5px 5px 5px 0; +} +.dropdown-submenu > a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; +} +.dropdown-submenu:hover > a:after { + border-left-color: #ffffff; +} +.dropdown-submenu.pull-left { + float: none; +} +.dropdown-submenu.pull-left > .dropdown-menu { + left: -100%; + margin-left: 10px; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} +.dropdown .dropdown-menu .nav-header { + padding-left: 20px; + padding-right: 20px; +} +.typeahead { + z-index: 1051; + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.accordion { + margin-bottom: 20px; +} +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.accordion-heading { + border-bottom: 0; +} +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} +.accordion-toggle { + cursor: pointer; +} +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} +.carousel-inner { + overflow: hidden; + width: 100%; + position: relative; +} +.carousel-inner > .item { + display: none; + position: relative; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img { + display: block; + line-height: 1; +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} +.carousel-control.right { + left: auto; + right: 15px; +} +.carousel-control:hover { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} +.carousel-caption { + position: absolute; + left: 0; + right: 0; + bottom: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} +.carousel-caption h4, +.carousel-caption p { + color: #ffffff; + line-height: 20px; +} +.carousel-caption h4 { + margin: 0 0 5px; +} +.carousel-caption p { + margin-bottom: 0; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} +.close:hover { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.hide { + display: none; +} +.show { + display: block; +} +.invisible { + visibility: hidden; +} +.affix { + position: fixed; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} +.collapse.in { + height: auto; +} +.hidden { + display: none; + visibility: hidden; +} +.visible-phone { + display: none !important; +} +.visible-tablet { + display: none !important; +} +.hidden-desktop { + display: none !important; +} +.visible-desktop { + display: inherit !important; +} +@media (min-width: 768px) and (max-width: 979px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important ; + } + .visible-tablet { + display: inherit !important; + } + .hidden-tablet { + display: none !important; + } +} +@media (max-width: 767px) { + .hidden-desktop { + display: inherit !important; + } + .visible-desktop { + display: none !important; + } + .visible-phone { + display: inherit !important; + } + .hidden-phone { + display: none !important; + } +} +@media (max-width: 767px) { + body { + padding-left: 20px; + padding-right: 20px; + } + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-left: -20px; + margin-right: -20px; + } + .container-fluid { + padding: 0; + } + .dl-horizontal dt { + float: none; + clear: none; + width: auto; + text-align: left; + } + .dl-horizontal dd { + margin-left: 0; + } + .container { + width: auto; + } + .row-fluid { + width: 100%; + } + .row, + .thumbnails { + margin-left: 0; + } + .thumbnails > li { + float: none; + margin-left: 0; + } + [class*="span"], + .uneditable-input[class*="span"], + .row-fluid [class*="span"] { + float: none; + display: block; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="offset"]:first-child { + margin-left: 0; + } + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + .modal { + position: fixed; + top: 20px; + left: 20px; + right: 20px; + width: auto; + margin: 0; + } + .modal.fade { + top: -100px; + } + .modal.fade.in { + top: 20px; + } +} +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 20px; + } + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-left: 10px; + padding-right: 10px; + } + .media .pull-left, + .media .pull-right { + float: none; + display: block; + margin-bottom: 10px; + } + .media-object { + margin-right: 0; + margin-left: 0; + } + .modal { + top: 10px; + left: 10px; + right: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + .span12 { + width: 724px; + } + .span11 { + width: 662px; + } + .span10 { + width: 600px; + } + .span9 { + width: 538px; + } + .span8 { + width: 476px; + } + .span7 { + width: 414px; + } + .span6 { + width: 352px; + } + .span5 { + width: 290px; + } + .span4 { + width: 228px; + } + .span3 { + width: 166px; + } + .span2 { + width: 104px; + } + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; + } + .offset10 { + margin-left: 640px; + } + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + content: ""; + line-height: 0; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.7624309392265194%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 710px; + } + input.span11, textarea.span11, .uneditable-input.span11 { + width: 648px; + } + input.span10, textarea.span10, .uneditable-input.span10 { + width: 586px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 524px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 462px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 400px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 338px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 276px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 214px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 152px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 90px; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 28px; + } +} +@media (min-width: 1200px) { + .row { + margin-left: -30px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + content: ""; + line-height: 0; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 30px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 1170px; + } + .span12 { + width: 1170px; + } + .span11 { + width: 1070px; + } + .span10 { + width: 970px; + } + .span9 { + width: 870px; + } + .span8 { + width: 770px; + } + .span7 { + width: 670px; + } + .span6 { + width: 570px; + } + .span5 { + width: 470px; + } + .span4 { + width: 370px; + } + .span3 { + width: 270px; + } + .span2 { + width: 170px; + } + .span1 { + width: 70px; + } + .offset12 { + margin-left: 1230px; + } + .offset11 { + margin-left: 1130px; + } + .offset10 { + margin-left: 1030px; + } + .offset9 { + margin-left: 930px; + } + .offset8 { + margin-left: 830px; + } + .offset7 { + margin-left: 730px; + } + .offset6 { + margin-left: 630px; + } + .offset5 { + margin-left: 530px; + } + .offset4 { + margin-left: 430px; + } + .offset3 { + margin-left: 330px; + } + .offset2 { + margin-left: 230px; + } + .offset1 { + margin-left: 130px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + content: ""; + line-height: 0; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + float: left; + margin-left: 2.564102564102564%; + *margin-left: 2.5109110747408616%; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .controls-row [class*="span"] + [class*="span"] { + margin-left: 2.564102564102564%; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.45299145299145%; + *width: 91.39979996362975%; + } + .row-fluid .span10 { + width: 82.90598290598291%; + *width: 82.8527914166212%; + } + .row-fluid .span9 { + width: 74.35897435897436%; + *width: 74.30578286961266%; + } + .row-fluid .span8 { + width: 65.81196581196582%; + *width: 65.75877432260411%; + } + .row-fluid .span7 { + width: 57.26495726495726%; + *width: 57.21176577559556%; + } + .row-fluid .span6 { + width: 48.717948717948715%; + *width: 48.664757228587014%; + } + .row-fluid .span5 { + width: 40.17094017094017%; + *width: 40.11774868157847%; + } + .row-fluid .span4 { + width: 31.623931623931625%; + *width: 31.570740134569924%; + } + .row-fluid .span3 { + width: 23.076923076923077%; + *width: 23.023731587561375%; + } + .row-fluid .span2 { + width: 14.52991452991453%; + *width: 14.476723040552828%; + } + .row-fluid .span1 { + width: 5.982905982905983%; + *width: 5.929714493544281%; + } + .row-fluid .offset12 { + margin-left: 105.12820512820512%; + *margin-left: 105.02182214948171%; + } + .row-fluid .offset12:first-child { + margin-left: 102.56410256410257%; + *margin-left: 102.45771958537915%; + } + .row-fluid .offset11 { + margin-left: 96.58119658119658%; + *margin-left: 96.47481360247316%; + } + .row-fluid .offset11:first-child { + margin-left: 94.01709401709402%; + *margin-left: 93.91071103837061%; + } + .row-fluid .offset10 { + margin-left: 88.03418803418803%; + *margin-left: 87.92780505546462%; + } + .row-fluid .offset10:first-child { + margin-left: 85.47008547008548%; + *margin-left: 85.36370249136206%; + } + .row-fluid .offset9 { + margin-left: 79.48717948717949%; + *margin-left: 79.38079650845607%; + } + .row-fluid .offset9:first-child { + margin-left: 76.92307692307693%; + *margin-left: 76.81669394435352%; + } + .row-fluid .offset8 { + margin-left: 70.94017094017094%; + *margin-left: 70.83378796144753%; + } + .row-fluid .offset8:first-child { + margin-left: 68.37606837606839%; + *margin-left: 68.26968539734497%; + } + .row-fluid .offset7 { + margin-left: 62.393162393162385%; + *margin-left: 62.28677941443899%; + } + .row-fluid .offset7:first-child { + margin-left: 59.82905982905982%; + *margin-left: 59.72267685033642%; + } + .row-fluid .offset6 { + margin-left: 53.84615384615384%; + *margin-left: 53.739770867430444%; + } + .row-fluid .offset6:first-child { + margin-left: 51.28205128205128%; + *margin-left: 51.175668303327875%; + } + .row-fluid .offset5 { + margin-left: 45.299145299145295%; + *margin-left: 45.1927623204219%; + } + .row-fluid .offset5:first-child { + margin-left: 42.73504273504273%; + *margin-left: 42.62865975631933%; + } + .row-fluid .offset4 { + margin-left: 36.75213675213675%; + *margin-left: 36.645753773413354%; + } + .row-fluid .offset4:first-child { + margin-left: 34.18803418803419%; + *margin-left: 34.081651209310785%; + } + .row-fluid .offset3 { + margin-left: 28.205128205128204%; + *margin-left: 28.0987452264048%; + } + .row-fluid .offset3:first-child { + margin-left: 25.641025641025642%; + *margin-left: 25.53464266230224%; + } + .row-fluid .offset2 { + margin-left: 19.65811965811966%; + *margin-left: 19.551736679396257%; + } + .row-fluid .offset2:first-child { + margin-left: 17.094017094017094%; + *margin-left: 16.98763411529369%; + } + .row-fluid .offset1 { + margin-left: 11.11111111111111%; + *margin-left: 11.004728132387708%; + } + .row-fluid .offset1:first-child { + margin-left: 8.547008547008547%; + *margin-left: 8.440625568285142%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 30px; + } + input.span12, textarea.span12, .uneditable-input.span12 { + width: 1156px; + } + input.span11, textarea.span11, .uneditable-input.span11 { + width: 1056px; + } + input.span10, textarea.span10, .uneditable-input.span10 { + width: 956px; + } + input.span9, textarea.span9, .uneditable-input.span9 { + width: 856px; + } + input.span8, textarea.span8, .uneditable-input.span8 { + width: 756px; + } + input.span7, textarea.span7, .uneditable-input.span7 { + width: 656px; + } + input.span6, textarea.span6, .uneditable-input.span6 { + width: 556px; + } + input.span5, textarea.span5, .uneditable-input.span5 { + width: 456px; + } + input.span4, textarea.span4, .uneditable-input.span4 { + width: 356px; + } + input.span3, textarea.span3, .uneditable-input.span3 { + width: 256px; + } + input.span2, textarea.span2, .uneditable-input.span2 { + width: 156px; + } + input.span1, textarea.span1, .uneditable-input.span1 { + width: 56px; + } + .thumbnails { + margin-left: -30px; + } + .thumbnails > li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 20px; + } + .navbar-fixed-bottom { + margin-top: 20px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-left: 10px; + padding-right: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a, + .navbar-inverse .nav-collapse .dropdown-menu a { + color: #999999; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:hover { + background-color: #111111; + } + .nav-collapse.in .btn-group { + margin-top: 5px; + padding: 0; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + float: none; + display: none; + max-width: none; + margin: 0 15px; + padding: 0; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .open > .dropdown-menu { + display: block; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + overflow: hidden; + height: 0; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-left: 10px; + padding-right: 10px; + } +} +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/wp-content/themes/the-bootstrap/css/bootstrap.min.css b/wp-content/themes/the-bootstrap/css/bootstrap.min.css new file mode 100644 index 0000000..114ff76 --- /dev/null +++ b/wp-content/themes/the-bootstrap/css/bootstrap.min.css @@ -0,0 +1,868 @@ +/*! + * Bootstrap v2.2.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ +.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;} +.clearfix:after{clear:both;} +.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;} +audio,canvas,video{display:inline-block;*display:inline;*zoom:1;} +audio:not([controls]){display:none;} +html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;} +a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +a:hover,a:active{outline:0;} +sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;} +#map_canvas img,.google-maps img{max-width:none;} +button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;} +button,input{*overflow:visible;line-height:normal;} +button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;} +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;} +label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer;} +input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;} +input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;} +textarea{overflow:auto;vertical-align:top;} +@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:0.5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333333;background-color:#ffffff;} +a{color:#0088cc;text-decoration:none;} +a:hover{color:#005580;text-decoration:underline;} +.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);} +.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;} +.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} +.row:after{clear:both;} +[class*="span"]{float:left;min-height:1px;margin-left:20px;} +.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} +.span12{width:940px;} +.span11{width:860px;} +.span10{width:780px;} +.span9{width:700px;} +.span8{width:620px;} +.span7{width:540px;} +.span6{width:460px;} +.span5{width:380px;} +.span4{width:300px;} +.span3{width:220px;} +.span2{width:140px;} +.span1{width:60px;} +.offset12{margin-left:980px;} +.offset11{margin-left:900px;} +.offset10{margin-left:820px;} +.offset9{margin-left:740px;} +.offset8{margin-left:660px;} +.offset7{margin-left:580px;} +.offset6{margin-left:500px;} +.offset5{margin-left:420px;} +.offset4{margin-left:340px;} +.offset3{margin-left:260px;} +.offset2{margin-left:180px;} +.offset1{margin-left:100px;} +.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} +.row-fluid:after{clear:both;} +.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;} +.row-fluid [class*="span"]:first-child{margin-left:0;} +.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;} +.row-fluid .span12{width:100%;*width:99.94680851063829%;} +.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;} +.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;} +.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;} +.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;} +.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;} +.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;} +.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;} +.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;} +.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;} +.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;} +.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;} +.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;} +.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;} +.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;} +.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;} +.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;} +.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;} +.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;} +.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;} +.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;} +.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;} +.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;} +.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;} +.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;} +.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;} +.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;} +.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;} +.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;} +.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;} +.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;} +.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;} +.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;} +.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;} +.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;} +.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;} +[class*="span"].hide,.row-fluid [class*="span"].hide{display:none;} +[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;} +.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;} +.container:after{clear:both;} +.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;} +.container-fluid:after{clear:both;} +p{margin:0 0 10px;} +.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px;} +small{font-size:85%;} +strong{font-weight:bold;} +em{font-style:italic;} +cite{font-style:normal;} +.muted{color:#999999;} +a.muted:hover{color:#808080;} +.text-warning{color:#c09853;} +a.text-warning:hover{color:#a47e3c;} +.text-error{color:#b94a48;} +a.text-error:hover{color:#953b39;} +.text-info{color:#3a87ad;} +a.text-info:hover{color:#2d6987;} +.text-success{color:#468847;} +a.text-success:hover{color:#356635;} +h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;} +h1,h2,h3{line-height:40px;} +h1{font-size:38.5px;} +h2{font-size:31.5px;} +h3{font-size:24.5px;} +h4{font-size:17.5px;} +h5{font-size:14px;} +h6{font-size:11.9px;} +h1 small{font-size:24.5px;} +h2 small{font-size:17.5px;} +h3 small{font-size:14px;} +h4 small{font-size:14px;} +.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;} +ul,ol{padding:0;margin:0 0 10px 25px;} +ul ul,ul ol,ol ol,ol ul{margin-bottom:0;} +li{line-height:20px;} +ul.unstyled,ol.unstyled{margin-left:0;list-style:none;} +ul.inline,ol.inline{margin-left:0;list-style:none;}ul.inline >li,ol.inline >li{display:inline-block;padding-left:5px;padding-right:5px;} +dl{margin-bottom:20px;} +dt,dd{line-height:20px;} +dt{font-weight:bold;} +dd{margin-left:10px;} +.dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;} +.dl-horizontal:after{clear:both;} +.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} +.dl-horizontal dd{margin-left:180px;} +hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;} +abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;} +abbr.initialism{font-size:90%;text-transform:uppercase;} +blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px;} +blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';} +blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;} +blockquote.pull-right small:before{content:'';} +blockquote.pull-right small:after{content:'\00A0 \2014';} +q:before,q:after,blockquote:before,blockquote:after{content:"";} +address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;} +code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;white-space:nowrap;} +pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:20px;} +pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0;} +.pre-scrollable{max-height:340px;overflow-y:scroll;} +.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;} +.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.badge{padding-left:9px;padding-right:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;} +.label:empty,.badge:empty{display:none;} +a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;} +.label-important,.badge-important{background-color:#b94a48;} +.label-important[href],.badge-important[href]{background-color:#953b39;} +.label-warning,.badge-warning{background-color:#f89406;} +.label-warning[href],.badge-warning[href]{background-color:#c67605;} +.label-success,.badge-success{background-color:#468847;} +.label-success[href],.badge-success[href]{background-color:#356635;} +.label-info,.badge-info{background-color:#3a87ad;} +.label-info[href],.badge-info[href]{background-color:#2d6987;} +.label-inverse,.badge-inverse{background-color:#333333;} +.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;} +.btn .label,.btn .badge{position:relative;top:-1px;} +.btn-mini .label,.btn-mini .badge{top:0;} +table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;} +.table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;} +.table th{font-weight:bold;} +.table thead th{vertical-align:bottom;} +.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;} +.table tbody+tbody{border-top:2px solid #dddddd;} +.table .table{background-color:#ffffff;} +.table-condensed th,.table-condensed td{padding:4px 5px;} +.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;} +.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;} +.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} +.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child{-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;} +.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;} +.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;} +.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;} +.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5;} +table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;} +.table td.span1,.table th.span1{float:none;width:44px;margin-left:0;} +.table td.span2,.table th.span2{float:none;width:124px;margin-left:0;} +.table td.span3,.table th.span3{float:none;width:204px;margin-left:0;} +.table td.span4,.table th.span4{float:none;width:284px;margin-left:0;} +.table td.span5,.table th.span5{float:none;width:364px;margin-left:0;} +.table td.span6,.table th.span6{float:none;width:444px;margin-left:0;} +.table td.span7,.table th.span7{float:none;width:524px;margin-left:0;} +.table td.span8,.table th.span8{float:none;width:604px;margin-left:0;} +.table td.span9,.table th.span9{float:none;width:684px;margin-left:0;} +.table td.span10,.table th.span10{float:none;width:764px;margin-left:0;} +.table td.span11,.table th.span11{float:none;width:844px;margin-left:0;} +.table td.span12,.table th.span12{float:none;width:924px;margin-left:0;} +.table tbody tr.success td{background-color:#dff0d8;} +.table tbody tr.error td{background-color:#f2dede;} +.table tbody tr.warning td{background-color:#fcf8e3;} +.table tbody tr.info td{background-color:#d9edf7;} +.table-hover tbody tr.success:hover td{background-color:#d0e9c6;} +.table-hover tbody tr.error:hover td{background-color:#ebcccc;} +.table-hover tbody tr.warning:hover td{background-color:#faf2cc;} +.table-hover tbody tr.info:hover td{background-color:#c4e3f3;} +form{margin:0 0 20px;} +fieldset{padding:0;margin:0;border:0;} +legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333333;border:0;border-bottom:1px solid #e5e5e5;}legend small{font-size:15px;color:#999999;} +label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px;} +input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;} +label{display:block;margin-bottom:5px;} +select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555555;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;vertical-align:middle;} +input,textarea,.uneditable-input{width:206px;} +textarea{height:auto;} +textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#ffffff;border:1px solid #cccccc;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border linear .2s, box-shadow linear .2s;-moz-transition:border linear .2s, box-shadow linear .2s;-o-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82, 168, 236, 0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);} +input[type="radio"],input[type="checkbox"]{margin:4px 0 0;*margin-top:0;margin-top:1px \9;line-height:normal;} +input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto;} +select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px;} +select{width:220px;border:1px solid #cccccc;background-color:#ffffff;} +select[multiple],select[size]{height:auto;} +select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.uneditable-input,.uneditable-textarea{color:#999999;background-color:#fcfcfc;border-color:#cccccc;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.025);cursor:not-allowed;} +.uneditable-input{overflow:hidden;white-space:nowrap;} +.uneditable-textarea{width:auto;height:auto;} +input:-moz-placeholder,textarea:-moz-placeholder{color:#999999;} +input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999999;} +input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999999;} +.radio,.checkbox{min-height:20px;padding-left:20px;} +.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px;} +.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px;} +.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle;} +.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px;} +.input-mini{width:60px;} +.input-small{width:90px;} +.input-medium{width:150px;} +.input-large{width:210px;} +.input-xlarge{width:270px;} +.input-xxlarge{width:530px;} +input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0;} +.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block;} +input,textarea,.uneditable-input{margin-left:0;} +.controls-row [class*="span"]+[class*="span"]{margin-left:20px;} +input.span12, textarea.span12, .uneditable-input.span12{width:926px;} +input.span11, textarea.span11, .uneditable-input.span11{width:846px;} +input.span10, textarea.span10, .uneditable-input.span10{width:766px;} +input.span9, textarea.span9, .uneditable-input.span9{width:686px;} +input.span8, textarea.span8, .uneditable-input.span8{width:606px;} +input.span7, textarea.span7, .uneditable-input.span7{width:526px;} +input.span6, textarea.span6, .uneditable-input.span6{width:446px;} +input.span5, textarea.span5, .uneditable-input.span5{width:366px;} +input.span4, textarea.span4, .uneditable-input.span4{width:286px;} +input.span3, textarea.span3, .uneditable-input.span3{width:206px;} +input.span2, textarea.span2, .uneditable-input.span2{width:126px;} +input.span1, textarea.span1, .uneditable-input.span1{width:46px;} +.controls-row{*zoom:1;}.controls-row:before,.controls-row:after{display:table;content:"";line-height:0;} +.controls-row:after{clear:both;} +.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left;} +.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px;} +input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eeeeee;} +input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent;} +.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853;} +.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853;} +.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;} +.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853;} +.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48;} +.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48;} +.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;} +.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48;} +.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847;} +.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847;} +.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;} +.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847;} +.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad;} +.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad;} +.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7ab5d3;} +.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad;} +input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b;}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7;} +.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1;}.form-actions:before,.form-actions:after{display:table;content:"";line-height:0;} +.form-actions:after{clear:both;} +.help-block,.help-inline{color:#595959;} +.help-block{display:block;margin-bottom:10px;} +.help-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding-left:5px;} +.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap;}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu{font-size:14px;} +.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2;} +.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #ffffff;background-color:#eeeeee;border:1px solid #ccc;} +.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546;} +.input-prepend .add-on,.input-prepend .btn{margin-right:-1px;} +.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px;} +.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.input-prepend.input-append .btn-group:first-child{margin-left:0;} +input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} +.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} +.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0;} +.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px;} +.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;*zoom:1;margin-bottom:0;vertical-align:middle;} +.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none;} +.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block;} +.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0;} +.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle;} +.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0;} +.control-group{margin-bottom:10px;} +legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate;} +.form-horizontal .control-group{margin-bottom:20px;*zoom:1;}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;content:"";line-height:0;} +.form-horizontal .control-group:after{clear:both;} +.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right;} +.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0;}.form-horizontal .controls:first-child{*padding-left:180px;} +.form-horizontal .help-block{margin-bottom:0;} +.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px;} +.form-horizontal .form-actions{padding-left:180px;} +.btn{display:inline-block;*display:inline;*zoom:1;padding:4px 12px;margin-bottom:0;font-size:14px;line-height:20px;text-align:center;vertical-align:middle;cursor:pointer;color:#333333;text-shadow:0 1px 1px rgba(255, 255, 255, 0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top, #ffffff, #e6e6e6);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));background-image:-webkit-linear-gradient(top, #ffffff, #e6e6e6);background-image:-o-linear-gradient(top, #ffffff, #e6e6e6);background-image:linear-gradient(to bottom, #ffffff, #e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);border:1px solid #bbbbbb;*border:0;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*margin-left:.3em;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333333;background-color:#e6e6e6;*background-color:#d9d9d9;} +.btn:active,.btn.active{background-color:#cccccc \9;} +.btn:first-child{*margin-left:0;} +.btn:hover{color:#333333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position 0.1s linear;-moz-transition:background-position 0.1s linear;-o-transition:background-position 0.1s linear;transition:background-position 0.1s linear;} +.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} +.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px;} +.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0;} +.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px;} +.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.btn-block{display:block;width:100%;padding-left:0;padding-right:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +.btn-block+.btn-block{margin-top:5px;} +input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;} +.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255, 255, 255, 0.75);} +.btn{border-color:#c5c5c5;border-color:rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);} +.btn-primary{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#006dcc;background-image:-moz-linear-gradient(top, #0088cc, #0044cc);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));background-image:-webkit-linear-gradient(top, #0088cc, #0044cc);background-image:-o-linear-gradient(top, #0088cc, #0044cc);background-image:linear-gradient(to bottom, #0088cc, #0044cc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);border-color:#0044cc #0044cc #002a80;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#0044cc;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#ffffff;background-color:#0044cc;*background-color:#003bb3;} +.btn-primary:active,.btn-primary.active{background-color:#003399 \9;} +.btn-warning{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);border-color:#f89406 #f89406 #ad6704;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#f89406;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#ffffff;background-color:#f89406;*background-color:#df8505;} +.btn-warning:active,.btn-warning.active{background-color:#c67605 \9;} +.btn-danger{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#da4f49;background-image:-moz-linear-gradient(top, #ee5f5b, #bd362f);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));background-image:-webkit-linear-gradient(top, #ee5f5b, #bd362f);background-image:-o-linear-gradient(top, #ee5f5b, #bd362f);background-image:linear-gradient(to bottom, #ee5f5b, #bd362f);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);border-color:#bd362f #bd362f #802420;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#bd362f;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#ffffff;background-color:#bd362f;*background-color:#a9302a;} +.btn-danger:active,.btn-danger.active{background-color:#942a25 \9;} +.btn-success{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#5bb75b;background-image:-moz-linear-gradient(top, #62c462, #51a351);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));background-image:-webkit-linear-gradient(top, #62c462, #51a351);background-image:-o-linear-gradient(top, #62c462, #51a351);background-image:linear-gradient(to bottom, #62c462, #51a351);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);border-color:#51a351 #51a351 #387038;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#51a351;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#ffffff;background-color:#51a351;*background-color:#499249;} +.btn-success:active,.btn-success.active{background-color:#408140 \9;} +.btn-info{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#49afcd;background-image:-moz-linear-gradient(top, #5bc0de, #2f96b4);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));background-image:-webkit-linear-gradient(top, #5bc0de, #2f96b4);background-image:-o-linear-gradient(top, #5bc0de, #2f96b4);background-image:linear-gradient(to bottom, #5bc0de, #2f96b4);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#2f96b4;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#ffffff;background-color:#2f96b4;*background-color:#2a85a0;} +.btn-info:active,.btn-info.active{background-color:#24748c \9;} +.btn-inverse{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#363636;background-image:-moz-linear-gradient(top, #444444, #222222);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));background-image:-webkit-linear-gradient(top, #444444, #222222);background-image:-o-linear-gradient(top, #444444, #222222);background-image:linear-gradient(to bottom, #444444, #222222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);border-color:#222222 #222222 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#222222;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#ffffff;background-color:#222222;*background-color:#151515;} +.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9;} +button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px;}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0;} +button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px;} +button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px;} +button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px;} +.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} +.btn-link{border-color:transparent;cursor:pointer;color:#0088cc;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent;} +.btn-link[disabled]:hover{color:#333333;text-decoration:none;} +[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat;margin-top:1px;} +.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png");} +.icon-glass{background-position:0 0;} +.icon-music{background-position:-24px 0;} +.icon-search{background-position:-48px 0;} +.icon-envelope{background-position:-72px 0;} +.icon-heart{background-position:-96px 0;} +.icon-star{background-position:-120px 0;} +.icon-star-empty{background-position:-144px 0;} +.icon-user{background-position:-168px 0;} +.icon-film{background-position:-192px 0;} +.icon-th-large{background-position:-216px 0;} +.icon-th{background-position:-240px 0;} +.icon-th-list{background-position:-264px 0;} +.icon-ok{background-position:-288px 0;} +.icon-remove{background-position:-312px 0;} +.icon-zoom-in{background-position:-336px 0;} +.icon-zoom-out{background-position:-360px 0;} +.icon-off{background-position:-384px 0;} +.icon-signal{background-position:-408px 0;} +.icon-cog{background-position:-432px 0;} +.icon-trash{background-position:-456px 0;} +.icon-home{background-position:0 -24px;} +.icon-file{background-position:-24px -24px;} +.icon-time{background-position:-48px -24px;} +.icon-road{background-position:-72px -24px;} +.icon-download-alt{background-position:-96px -24px;} +.icon-download{background-position:-120px -24px;} +.icon-upload{background-position:-144px -24px;} +.icon-inbox{background-position:-168px -24px;} +.icon-play-circle{background-position:-192px -24px;} +.icon-repeat{background-position:-216px -24px;} +.icon-refresh{background-position:-240px -24px;} +.icon-list-alt{background-position:-264px -24px;} +.icon-lock{background-position:-287px -24px;} +.icon-flag{background-position:-312px -24px;} +.icon-headphones{background-position:-336px -24px;} +.icon-volume-off{background-position:-360px -24px;} +.icon-volume-down{background-position:-384px -24px;} +.icon-volume-up{background-position:-408px -24px;} +.icon-qrcode{background-position:-432px -24px;} +.icon-barcode{background-position:-456px -24px;} +.icon-tag{background-position:0 -48px;} +.icon-tags{background-position:-25px -48px;} +.icon-book{background-position:-48px -48px;} +.icon-bookmark{background-position:-72px -48px;} +.icon-print{background-position:-96px -48px;} +.icon-camera{background-position:-120px -48px;} +.icon-font{background-position:-144px -48px;} +.icon-bold{background-position:-167px -48px;} +.icon-italic{background-position:-192px -48px;} +.icon-text-height{background-position:-216px -48px;} +.icon-text-width{background-position:-240px -48px;} +.icon-align-left{background-position:-264px -48px;} +.icon-align-center{background-position:-288px -48px;} +.icon-align-right{background-position:-312px -48px;} +.icon-align-justify{background-position:-336px -48px;} +.icon-list{background-position:-360px -48px;} +.icon-indent-left{background-position:-384px -48px;} +.icon-indent-right{background-position:-408px -48px;} +.icon-facetime-video{background-position:-432px -48px;} +.icon-picture{background-position:-456px -48px;} +.icon-pencil{background-position:0 -72px;} +.icon-map-marker{background-position:-24px -72px;} +.icon-adjust{background-position:-48px -72px;} +.icon-tint{background-position:-72px -72px;} +.icon-edit{background-position:-96px -72px;} +.icon-share{background-position:-120px -72px;} +.icon-check{background-position:-144px -72px;} +.icon-move{background-position:-168px -72px;} +.icon-step-backward{background-position:-192px -72px;} +.icon-fast-backward{background-position:-216px -72px;} +.icon-backward{background-position:-240px -72px;} +.icon-play{background-position:-264px -72px;} +.icon-pause{background-position:-288px -72px;} +.icon-stop{background-position:-312px -72px;} +.icon-forward{background-position:-336px -72px;} +.icon-fast-forward{background-position:-360px -72px;} +.icon-step-forward{background-position:-384px -72px;} +.icon-eject{background-position:-408px -72px;} +.icon-chevron-left{background-position:-432px -72px;} +.icon-chevron-right{background-position:-456px -72px;} +.icon-plus-sign{background-position:0 -96px;} +.icon-minus-sign{background-position:-24px -96px;} +.icon-remove-sign{background-position:-48px -96px;} +.icon-ok-sign{background-position:-72px -96px;} +.icon-question-sign{background-position:-96px -96px;} +.icon-info-sign{background-position:-120px -96px;} +.icon-screenshot{background-position:-144px -96px;} +.icon-remove-circle{background-position:-168px -96px;} +.icon-ok-circle{background-position:-192px -96px;} +.icon-ban-circle{background-position:-216px -96px;} +.icon-arrow-left{background-position:-240px -96px;} +.icon-arrow-right{background-position:-264px -96px;} +.icon-arrow-up{background-position:-289px -96px;} +.icon-arrow-down{background-position:-312px -96px;} +.icon-share-alt{background-position:-336px -96px;} +.icon-resize-full{background-position:-360px -96px;} +.icon-resize-small{background-position:-384px -96px;} +.icon-plus{background-position:-408px -96px;} +.icon-minus{background-position:-433px -96px;} +.icon-asterisk{background-position:-456px -96px;} +.icon-exclamation-sign{background-position:0 -120px;} +.icon-gift{background-position:-24px -120px;} +.icon-leaf{background-position:-48px -120px;} +.icon-fire{background-position:-72px -120px;} +.icon-eye-open{background-position:-96px -120px;} +.icon-eye-close{background-position:-120px -120px;} +.icon-warning-sign{background-position:-144px -120px;} +.icon-plane{background-position:-168px -120px;} +.icon-calendar{background-position:-192px -120px;} +.icon-random{background-position:-216px -120px;width:16px;} +.icon-comment{background-position:-240px -120px;} +.icon-magnet{background-position:-264px -120px;} +.icon-chevron-up{background-position:-288px -120px;} +.icon-chevron-down{background-position:-313px -119px;} +.icon-retweet{background-position:-336px -120px;} +.icon-shopping-cart{background-position:-360px -120px;} +.icon-folder-close{background-position:-384px -120px;} +.icon-folder-open{background-position:-408px -120px;width:16px;} +.icon-resize-vertical{background-position:-432px -119px;} +.icon-resize-horizontal{background-position:-456px -118px;} +.icon-hdd{background-position:0 -144px;} +.icon-bullhorn{background-position:-24px -144px;} +.icon-bell{background-position:-48px -144px;} +.icon-certificate{background-position:-72px -144px;} +.icon-thumbs-up{background-position:-96px -144px;} +.icon-thumbs-down{background-position:-120px -144px;} +.icon-hand-right{background-position:-144px -144px;} +.icon-hand-left{background-position:-168px -144px;} +.icon-hand-up{background-position:-192px -144px;} +.icon-hand-down{background-position:-216px -144px;} +.icon-circle-arrow-right{background-position:-240px -144px;} +.icon-circle-arrow-left{background-position:-264px -144px;} +.icon-circle-arrow-up{background-position:-288px -144px;} +.icon-circle-arrow-down{background-position:-312px -144px;} +.icon-globe{background-position:-336px -144px;} +.icon-wrench{background-position:-360px -144px;} +.icon-tasks{background-position:-384px -144px;} +.icon-filter{background-position:-408px -144px;} +.icon-briefcase{background-position:-432px -144px;} +.icon-fullscreen{background-position:-456px -144px;} +.btn-group{position:relative;display:inline-block;*display:inline;*zoom:1;font-size:0;vertical-align:middle;white-space:nowrap;*margin-left:.3em;}.btn-group:first-child{*margin-left:0;} +.btn-group+.btn-group{margin-left:5px;} +.btn-toolbar{font-size:0;margin-top:10px;margin-bottom:10px;}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px;} +.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group>.btn+.btn{margin-left:-1px;} +.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px;} +.btn-group>.btn-mini{font-size:10.5px;} +.btn-group>.btn-small{font-size:11.9px;} +.btn-group>.btn-large{font-size:17.5px;} +.btn-group>.btn:first-child{margin-left:0;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2;} +.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} +.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);*padding-top:5px;*padding-bottom:5px;} +.btn-group>.btn-mini+.dropdown-toggle{padding-left:5px;padding-right:5px;*padding-top:2px;*padding-bottom:2px;} +.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px;} +.btn-group>.btn-large+.dropdown-toggle{padding-left:12px;padding-right:12px;*padding-top:7px;*padding-bottom:7px;} +.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);} +.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6;} +.btn-group.open .btn-primary.dropdown-toggle{background-color:#0044cc;} +.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406;} +.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f;} +.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351;} +.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4;} +.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222222;} +.btn .caret{margin-top:8px;margin-left:0;} +.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px;} +.btn-large .caret{border-left-width:5px;border-right-width:5px;border-top-width:5px;} +.dropup .btn-large .caret{border-bottom-width:5px;} +.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.btn-group-vertical{display:inline-block;*display:inline;*zoom:1;} +.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.btn-group-vertical>.btn+.btn{margin-left:0;margin-top:-1px;} +.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;} +.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;} +.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0;} +.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} +.nav{margin-left:0;margin-bottom:20px;list-style:none;} +.nav>li>a{display:block;} +.nav>li>a:hover{text-decoration:none;background-color:#eeeeee;} +.nav>li>a>img{max-width:none;} +.nav>.pull-right{float:right;} +.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999999;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);text-transform:uppercase;} +.nav li+.nav-header{margin-top:9px;} +.nav-list{padding-left:15px;padding-right:15px;margin-bottom:0;} +.nav-list>li>a,.nav-list .nav-header{margin-left:-15px;margin-right:-15px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);} +.nav-list>li>a{padding:3px 15px;} +.nav-list>.active>a,.nav-list>.active>a:hover{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.2);background-color:#0088cc;} +.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px;} +.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} +.nav-tabs,.nav-pills{*zoom:1;}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;content:"";line-height:0;} +.nav-tabs:after,.nav-pills:after{clear:both;} +.nav-tabs>li,.nav-pills>li{float:left;} +.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px;} +.nav-tabs{border-bottom:1px solid #ddd;} +.nav-tabs>li{margin-bottom:-1px;} +.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;} +.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555555;background-color:#ffffff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default;} +.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;} +.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#ffffff;background-color:#0088cc;} +.nav-stacked>li{float:none;} +.nav-stacked>li>a{margin-right:0;} +.nav-tabs.nav-stacked{border-bottom:0;} +.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;} +.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.nav-tabs.nav-stacked>li>a:hover{border-color:#ddd;z-index:2;} +.nav-pills.nav-stacked>li>a{margin-bottom:3px;} +.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px;} +.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;} +.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.nav .dropdown-toggle .caret{border-top-color:#0088cc;border-bottom-color:#0088cc;margin-top:6px;} +.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580;} +.nav-tabs .dropdown-toggle .caret{margin-top:8px;} +.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff;} +.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} +.nav>.dropdown.active>a:hover{cursor:pointer;} +.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#ffffff;background-color:#999999;border-color:#999999;} +.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;opacity:1;filter:alpha(opacity=100);} +.tabs-stacked .open>a:hover{border-color:#999999;} +.tabbable{*zoom:1;}.tabbable:before,.tabbable:after{display:table;content:"";line-height:0;} +.tabbable:after{clear:both;} +.tab-content{overflow:auto;} +.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0;} +.tab-content>.tab-pane,.pill-content>.pill-pane{display:none;} +.tab-content>.active,.pill-content>.active{display:block;} +.tabs-below>.nav-tabs{border-top:1px solid #ddd;} +.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0;} +.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.tabs-below>.nav-tabs>li>a:hover{border-bottom-color:transparent;border-top-color:#ddd;} +.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd;} +.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none;} +.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px;} +.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd;} +.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px;} +.tabs-left>.nav-tabs>li>a:hover{border-color:#eeeeee #dddddd #eeeeee #eeeeee;} +.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#ffffff;} +.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd;} +.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0;} +.tabs-right>.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #eeeeee #dddddd;} +.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#ffffff;} +.nav>.disabled>a{color:#999999;} +.nav>.disabled>a:hover{text-decoration:none;background-color:transparent;cursor:default;} +.navbar{overflow:visible;margin-bottom:20px;*position:relative;*z-index:2;} +.navbar-inner{min-height:40px;padding-left:20px;padding-right:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top, #ffffff, #f2f2f2);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));background-image:-webkit-linear-gradient(top, #ffffff, #f2f2f2);background-image:-o-linear-gradient(top, #ffffff, #f2f2f2);background-image:linear-gradient(to bottom, #ffffff, #f2f2f2);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);-moz-box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);box-shadow:0 1px 4px rgba(0, 0, 0, 0.065);*zoom:1;}.navbar-inner:before,.navbar-inner:after{display:table;content:"";line-height:0;} +.navbar-inner:after{clear:both;} +.navbar .container{width:auto;} +.nav-collapse.collapse{height:auto;overflow:visible;} +.navbar .brand{float:left;display:block;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777777;text-shadow:0 1px 0 #ffffff;}.navbar .brand:hover{text-decoration:none;} +.navbar-text{margin-bottom:0;line-height:40px;color:#777777;} +.navbar-link{color:#777777;}.navbar-link:hover{color:#333333;} +.navbar .divider-vertical{height:40px;margin:0 9px;border-left:1px solid #f2f2f2;border-right:1px solid #ffffff;} +.navbar .btn,.navbar .btn-group{margin-top:5px;} +.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0;} +.navbar-form{margin-bottom:0;*zoom:1;}.navbar-form:before,.navbar-form:after{display:table;content:"";line-height:0;} +.navbar-form:after{clear:both;} +.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px;} +.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0;} +.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px;} +.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap;}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0;} +.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0;}.navbar-search .search-query{margin-bottom:0;padding:4px 14px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.navbar-static-top{position:static;margin-bottom:0;}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0;} +.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px;} +.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0;} +.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-left:0;padding-right:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;} +.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;} +.navbar-fixed-top{top:0;} +.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,.1);box-shadow:0 1px 10px rgba(0,0,0,.1);} +.navbar-fixed-bottom{bottom:0;}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,.1);box-shadow:0 -1px 10px rgba(0,0,0,.1);} +.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0;} +.navbar .nav.pull-right{float:right;margin-right:0;} +.navbar .nav>li{float:left;} +.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777777;text-decoration:none;text-shadow:0 1px 0 #ffffff;} +.navbar .nav .dropdown-toggle .caret{margin-top:8px;} +.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{background-color:transparent;color:#333333;text-decoration:none;} +.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);-moz-box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 8px rgba(0, 0, 0, 0.125);} +.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-left:5px;margin-right:5px;color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#ededed;background-image:-moz-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));background-image:-webkit-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:-o-linear-gradient(top, #f2f2f2, #e5e5e5);background-image:linear-gradient(to bottom, #f2f2f2, #e5e5e5);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#e5e5e5;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#ffffff;background-color:#e5e5e5;*background-color:#d9d9d9;} +.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#cccccc \9;} +.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);-moz-box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);box-shadow:0 1px 0 rgba(0, 0, 0, 0.25);} +.btn-navbar .icon-bar+.icon-bar{margin-top:3px;} +.navbar .nav>li>.dropdown-menu:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0, 0, 0, 0.2);position:absolute;top:-7px;left:9px;} +.navbar .nav>li>.dropdown-menu:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;position:absolute;top:-6px;left:10px;} +.navbar-fixed-bottom .nav>li>.dropdown-menu:before{border-top:7px solid #ccc;border-top-color:rgba(0, 0, 0, 0.2);border-bottom:0;bottom:-7px;top:auto;} +.navbar-fixed-bottom .nav>li>.dropdown-menu:after{border-top:6px solid #ffffff;border-bottom:0;bottom:-6px;top:auto;} +.navbar .nav li.dropdown>a:hover .caret{border-top-color:#555555;border-bottom-color:#555555;} +.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{background-color:#e5e5e5;color:#555555;} +.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777777;border-bottom-color:#777777;} +.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555555;border-bottom-color:#555555;} +.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{left:auto;right:0;}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{left:auto;right:12px;} +.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{left:auto;right:13px;} +.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} +.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top, #222222, #111111);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));background-image:-webkit-linear-gradient(top, #222222, #111111);background-image:-o-linear-gradient(top, #222222, #111111);background-image:linear-gradient(to bottom, #222222, #111111);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);border-color:#252525;} +.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999999;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#ffffff;} +.navbar-inverse .brand{color:#999999;} +.navbar-inverse .navbar-text{color:#999999;} +.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{background-color:transparent;color:#ffffff;} +.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#ffffff;background-color:#111111;} +.navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;} +.navbar-inverse .divider-vertical{border-left-color:#111111;border-right-color:#222222;} +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{background-color:#111111;color:#ffffff;} +.navbar-inverse .nav li.dropdown>a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999999;border-bottom-color:#999999;} +.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .navbar-search .search-query{color:#ffffff;background-color:#515151;border-color:#111111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);box-shadow:inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#cccccc;} +.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333333;text-shadow:0 1px 0 #ffffff;background-color:#ffffff;border:0;-webkit-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);-moz-box-shadow:0 0 3px rgba(0, 0, 0, 0.15);box-shadow:0 0 3px rgba(0, 0, 0, 0.15);outline:0;} +.navbar-inverse .btn-navbar{color:#ffffff;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e0e0e;background-image:-moz-linear-gradient(top, #151515, #040404);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));background-image:-webkit-linear-gradient(top, #151515, #040404);background-image:-o-linear-gradient(top, #151515, #040404);background-image:linear-gradient(to bottom, #151515, #040404);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);border-color:#040404 #040404 #000000;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);*background-color:#040404;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#ffffff;background-color:#040404;*background-color:#000000;} +.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000000 \9;} +.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.breadcrumb>li{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 0 #ffffff;}.breadcrumb>li>.divider{padding:0 5px;color:#ccc;} +.breadcrumb>.active{color:#999999;} +.pagination{margin:20px 0;} +.pagination ul{display:inline-block;*display:inline;*zoom:1;margin-left:0;margin-bottom:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);box-shadow:0 1px 2px rgba(0, 0, 0, 0.05);} +.pagination ul>li{display:inline;} +.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;border-left-width:0;} +.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5;} +.pagination ul>.active>a,.pagination ul>.active>span{color:#999999;cursor:default;} +.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999999;background-color:transparent;cursor:default;} +.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px;border-top-left-radius:4px;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px;} +.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;-moz-border-radius-topright:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;border-bottom-right-radius:4px;} +.pagination-centered{text-align:center;} +.pagination-right{text-align:right;} +.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px;} +.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-top-left-radius:6px;-moz-border-radius-topleft:6px;border-top-left-radius:6px;-webkit-border-bottom-left-radius:6px;-moz-border-radius-bottomleft:6px;border-bottom-left-radius:6px;} +.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;-moz-border-radius-topright:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;-moz-border-radius-bottomright:6px;border-bottom-right-radius:6px;} +.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-top-left-radius:3px;-moz-border-radius-topleft:3px;border-top-left-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomleft:3px;border-bottom-left-radius:3px;} +.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;-moz-border-radius-topright:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;-moz-border-radius-bottomright:3px;border-bottom-right-radius:3px;} +.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px;} +.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px;} +.pager{margin:20px 0;list-style:none;text-align:center;*zoom:1;}.pager:before,.pager:after{display:table;content:"";line-height:0;} +.pager:after{clear:both;} +.pager li{display:inline;} +.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px;} +.pager li>a:hover{text-decoration:none;background-color:#f5f5f5;} +.pager .next>a,.pager .next>span{float:right;} +.pager .previous>a,.pager .previous>span{float:left;} +.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>span{color:#999999;background-color:#fff;cursor:default;} +.thumbnails{margin-left:-20px;list-style:none;*zoom:1;}.thumbnails:before,.thumbnails:after{display:table;content:"";line-height:0;} +.thumbnails:after{clear:both;} +.row-fluid .thumbnails{margin-left:0;} +.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px;} +.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);box-shadow:0 1px 3px rgba(0, 0, 0, 0.055);-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;-o-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;} +a.thumbnail:hover{border-color:#0088cc;-webkit-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);-moz-box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);box-shadow:0 1px 4px rgba(0, 105, 214, 0.25);} +.thumbnail>img{display:block;max-width:100%;margin-left:auto;margin-right:auto;} +.thumbnail .caption{padding:9px;color:#555555;} +.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.alert,.alert h4{color:#c09853;} +.alert h4{margin:0;} +.alert .close{position:relative;top:-2px;right:-21px;line-height:20px;} +.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;} +.alert-success h4{color:#468847;} +.alert-danger,.alert-error{background-color:#f2dede;border-color:#eed3d7;color:#b94a48;} +.alert-danger h4,.alert-error h4{color:#b94a48;} +.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;} +.alert-info h4{color:#3a87ad;} +.alert-block{padding-top:14px;padding-bottom:14px;} +.alert-block>p,.alert-block>ul{margin-bottom:0;} +.alert-block p+p{margin-top:5px;} +@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f7f7f7;background-image:-moz-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));background-image:-webkit-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:-o-linear-gradient(top, #f5f5f5, #f9f9f9);background-image:linear-gradient(to bottom, #f5f5f5, #f9f9f9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.progress .bar{width:0%;height:100%;color:#ffffff;float:left;font-size:12px;text-align:center;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top, #149bdf, #0480be);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));background-image:-webkit-linear-gradient(top, #149bdf, #0480be);background-image:-o-linear-gradient(top, #149bdf, #0480be);background-image:linear-gradient(to bottom, #149bdf, #0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width 0.6s ease;-moz-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease;} +.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);} +.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px;} +.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} +.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top, #ee5f5b, #c43c35);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));background-image:-webkit-linear-gradient(top, #ee5f5b, #c43c35);background-image:-o-linear-gradient(top, #ee5f5b, #c43c35);background-image:linear-gradient(to bottom, #ee5f5b, #c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);} +.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top, #62c462, #57a957);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));background-image:-webkit-linear-gradient(top, #62c462, #57a957);background-image:-o-linear-gradient(top, #62c462, #57a957);background-image:linear-gradient(to bottom, #62c462, #57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);} +.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top, #5bc0de, #339bb9);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));background-image:-webkit-linear-gradient(top, #5bc0de, #339bb9);background-image:-o-linear-gradient(top, #5bc0de, #339bb9);background-image:linear-gradient(to bottom, #5bc0de, #339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);} +.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top, #fbb450, #f89406);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));background-image:-webkit-linear-gradient(top, #fbb450, #f89406);background-image:-o-linear-gradient(top, #fbb450, #f89406);background-image:linear-gradient(to bottom, #fbb450, #f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);} +.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eeeeee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;color:inherit;letter-spacing:-1px;} +.hero-unit li{line-height:30px;} +.media,.media-body{overflow:hidden;*overflow:visible;zoom:1;} +.media,.media .media{margin-top:15px;} +.media:first-child{margin-top:0;} +.media-object{display:block;} +.media-heading{margin:0 0 5px;} +.media .pull-left{margin-right:10px;} +.media .pull-right{margin-left:10px;} +.media-list{margin-left:0;list-style:none;} +.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.8;filter:alpha(opacity=80);} +.tooltip.top{margin-top:-3px;} +.tooltip.right{margin-left:3px;} +.tooltip.bottom{margin-top:3px;} +.tooltip.left{margin-left:-3px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;text-align:left;background-color:#ffffff;-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;} +.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow{border-width:11px;} +.popover .arrow:after{border-width:10px;content:"";} +.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;} +.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;} +.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;} +.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;} +.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000;}.modal-backdrop.fade{opacity:0;} +.modal-backdrop,.modal-backdrop.fade.in{opacity:0.8;filter:alpha(opacity=80);} +.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#ffffff;border:1px solid #999;border:1px solid rgba(0, 0, 0, 0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box;outline:none;}.modal.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;-moz-transition:opacity .3s linear, top .3s ease-out;-o-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%;} +.modal.fade.in{top:10%;} +.modal-header{padding:9px 15px;border-bottom:1px solid #eee;}.modal-header .close{margin-top:2px;} +.modal-header h3{margin:0;line-height:30px;} +.modal-body{position:relative;overflow-y:auto;max-height:400px;padding:15px;} +.modal-form{margin-bottom:0;} +.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;-webkit-box-shadow:inset 0 1px 0 #ffffff;-moz-box-shadow:inset 0 1px 0 #ffffff;box-shadow:inset 0 1px 0 #ffffff;*zoom:1;}.modal-footer:before,.modal-footer:after{display:table;content:"";line-height:0;} +.modal-footer:after{clear:both;} +.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;} +.modal-footer .btn-group .btn+.btn{margin-left:-1px;} +.modal-footer .btn-block+.btn-block{margin-left:0;} +.dropup,.dropdown{position:relative;} +.dropdown-toggle{*margin-bottom:-3px;} +.dropdown-toggle:active,.open .dropdown-toggle{outline:0;} +.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent;content:"";} +.dropdown .caret{margin-top:8px;margin-left:2px;} +.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#ffffff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;} +.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #ffffff;} +.dropdown-menu li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333333;white-space:nowrap;} +.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{text-decoration:none;color:#ffffff;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);} +.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#ffffff;text-decoration:none;outline:0;background-color:#0081c2;background-image:-moz-linear-gradient(top, #0088cc, #0077b3);background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));background-image:-webkit-linear-gradient(top, #0088cc, #0077b3);background-image:-o-linear-gradient(top, #0088cc, #0077b3);background-image:linear-gradient(to bottom, #0088cc, #0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);} +.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999999;} +.dropdown-menu .disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:default;} +.open{*z-index:1000;}.open >.dropdown-menu{display:block;} +.pull-right>.dropdown-menu{right:0;left:auto;} +.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000000;content:"";} +.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;} +.dropdown-submenu{position:relative;} +.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px;} +.dropdown-submenu:hover>.dropdown-menu{display:block;} +.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0;} +.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#cccccc;margin-top:5px;margin-right:-10px;} +.dropdown-submenu:hover>a:after{border-left-color:#ffffff;} +.dropdown-submenu.pull-left{float:none;}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px;} +.dropdown .dropdown-menu .nav-header{padding-left:20px;padding-right:20px;} +.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion{margin-bottom:20px;} +.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} +.accordion-heading{border-bottom:0;} +.accordion-heading .accordion-toggle{display:block;padding:8px 15px;} +.accordion-toggle{cursor:pointer;} +.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5;} +.carousel{position:relative;margin-bottom:20px;line-height:1;} +.carousel-inner{overflow:hidden;width:100%;position:relative;} +.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;-moz-transition:0.6s ease-in-out left;-o-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;} +.carousel-inner>.item>img{display:block;line-height:1;} +.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;} +.carousel-inner>.active{left:0;} +.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;} +.carousel-inner>.next{left:100%;} +.carousel-inner>.prev{left:-100%;} +.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;} +.carousel-inner>.active.left{left:-100%;} +.carousel-inner>.active.right{left:100%;} +.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#ffffff;text-align:center;background:#222222;border:3px solid #ffffff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:0.5;filter:alpha(opacity=50);}.carousel-control.right{left:auto;right:15px;} +.carousel-control:hover{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);} +.carousel-caption{position:absolute;left:0;right:0;bottom:0;padding:15px;background:#333333;background:rgba(0, 0, 0, 0.75);} +.carousel-caption h4,.carousel-caption p{color:#ffffff;line-height:20px;} +.carousel-caption h4{margin:0 0 5px;} +.carousel-caption p{margin-bottom:0;} +.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;} +.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} +.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover{color:#000000;text-decoration:none;cursor:pointer;opacity:0.4;filter:alpha(opacity=40);} +button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;} +.pull-right{float:right;} +.pull-left{float:left;} +.hide{display:none;} +.show{display:block;} +.invisible{visibility:hidden;} +.affix{position:fixed;} +.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-moz-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;} +.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;-moz-transition:height 0.35s ease;-o-transition:height 0.35s ease;transition:height 0.35s ease;}.collapse.in{height:auto;} +.hidden{display:none;visibility:hidden;} +.visible-phone{display:none !important;} +.visible-tablet{display:none !important;} +.hidden-desktop{display:none !important;} +.visible-desktop{display:inherit !important;} +@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}}@media (max-width:767px){body{padding-left:20px;padding-right:20px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .row-fluid [class*="offset"]:first-child{margin-left:0;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade{top:-100px;} .modal.fade.in{top:20px;}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px;} .media-object{margin-right:0;margin-left:0;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12, textarea.span12, .uneditable-input.span12{width:710px;} input.span11, textarea.span11, .uneditable-input.span11{width:648px;} input.span10, textarea.span10, .uneditable-input.span10{width:586px;} input.span9, textarea.span9, .uneditable-input.span9{width:524px;} input.span8, textarea.span8, .uneditable-input.span8{width:462px;} input.span7, textarea.span7, .uneditable-input.span7{width:400px;} input.span6, textarea.span6, .uneditable-input.span6{width:338px;} input.span5, textarea.span5, .uneditable-input.span5{width:276px;} input.span4, textarea.span4, .uneditable-input.span4{width:214px;} input.span3, textarea.span3, .uneditable-input.span3{width:152px;} input.span2, textarea.span2, .uneditable-input.span2{width:90px;} input.span1, textarea.span1, .uneditable-input.span1{width:28px;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12, textarea.span12, .uneditable-input.span12{width:1156px;} input.span11, textarea.span11, .uneditable-input.span11{width:1056px;} input.span10, textarea.span10, .uneditable-input.span10{width:956px;} input.span9, textarea.span9, .uneditable-input.span9{width:856px;} input.span8, textarea.span8, .uneditable-input.span8{width:756px;} input.span7, textarea.span7, .uneditable-input.span7{width:656px;} input.span6, textarea.span6, .uneditable-input.span6{width:556px;} input.span5, textarea.span5, .uneditable-input.span5{width:456px;} input.span4, textarea.span4, .uneditable-input.span4{width:356px;} input.span3, textarea.span3, .uneditable-input.span3{width:256px;} input.span2, textarea.span2, .uneditable-input.span2{width:156px;} input.span1, textarea.span1, .uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}}@media (max-width:979px){body{padding-top:0;} .navbar-fixed-top,.navbar-fixed-bottom{position:static;} .navbar-fixed-top{margin-bottom:20px;} .navbar-fixed-bottom{margin-top:20px;} .navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px;} .navbar .container{width:auto;padding:0;} .navbar .brand{padding-left:10px;padding-right:10px;margin:0 0 0 -5px;} .nav-collapse{clear:both;} .nav-collapse .nav{float:none;margin:0 0 10px;} .nav-collapse .nav>li{float:none;} .nav-collapse .nav>li>a{margin-bottom:2px;} .nav-collapse .nav>.divider-vertical{display:none;} .nav-collapse .nav .nav-header{color:#777777;text-shadow:none;} .nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;} .nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;} .nav-collapse .dropdown-menu li+li a{margin-bottom:2px;} .nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2;} .navbar-inverse .nav-collapse .nav>li>a,.navbar-inverse .nav-collapse .dropdown-menu a{color:#999999;} .navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111111;} .nav-collapse.in .btn-group{margin-top:5px;padding:0;} .nav-collapse .dropdown-menu{position:static;top:auto;left:auto;float:none;display:none;max-width:none;margin:0 15px;padding:0;background-color:transparent;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;} .nav-collapse .open>.dropdown-menu{display:block;} .nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none;} .nav-collapse .dropdown-menu .divider{display:none;} .nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none;} .nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);} .navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111111;border-bottom-color:#111111;} .navbar .nav-collapse .nav.pull-right{float:none;margin-left:0;} .nav-collapse,.nav-collapse.collapse{overflow:hidden;height:0;} .navbar .btn-navbar{display:block;} .navbar-static .navbar-inner{padding-left:10px;padding-right:10px;}}@media (min-width:980px){.nav-collapse.collapse{height:auto !important;overflow:visible !important;}} diff --git a/wp-content/themes/the-bootstrap/css/theme-options.css b/wp-content/themes/the-bootstrap/css/theme-options.css new file mode 100644 index 0000000..38c05b3 --- /dev/null +++ b/wp-content/themes/the-bootstrap/css/theme-options.css @@ -0,0 +1,60 @@ +#poststuff #post-body.columns-2 { + margin-right: 300px; +} +#post-body.columns-2 #postbox-container-1 { + float: right; + margin-right: -300px; + width: 280px; +} +#post-body-content { + float: left; + width: 100%; +} +.obenland-wp div.inside li { + list-style: square outside none; + margin-left: 20px; +} +.obenland-wp div.inside li.rss, +.obenland-wp div.inside li.twitter { + background: none no-repeat scroll 0 0 transparent; + list-style-type: none; + margin-left: 0; + padding-left: 20px; +} +.obenland-wp div.inside li.rss { + background-image: url("../img/rss.png"); +} +.obenland-wp div.inside li.twitter { + background-image: url("../img/twitter.png"); +} + +#wpcontent select option { + padding-right: 5px; +} +.image-radio-label { + display: inline-block; + vertical-align: middle; +} +label.image-radio-option { + float: left; + margin: 0 30px 20px 2px; +} +body.rtl label.image-radio-option { + float: right; + margin: 0 2px 20px 30px; +} +label.image-radio-option input { + margin: 0 10px 0 0; +} +.image-radio-label span { + display: block; + width: 136px; +} +#link-color-example { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + border: 1px solid #dfdfdf; + margin: 0 7px 0 3px; + padding: 4px 14px; +} \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/footer.php b/wp-content/themes/the-bootstrap/footer.php new file mode 100644 index 0000000..3318652 --- /dev/null +++ b/wp-content/themes/the-bootstrap/footer.php @@ -0,0 +1,43 @@ + +
    + + + +
    + +
    +
    + + + + + __( 'Main Navigation', 'the-bootstrap' ), + 'header-menu' => __( 'Header Menu', 'the-bootstrap' ), + 'footer-menu' => __( 'Footer Menu', 'the-bootstrap' ) + ) ); + +} // the_bootstrap_setup +endif; +add_action( 'after_setup_theme', 'the_bootstrap_setup' ); + + +/** + * Returns the options object for The Bootstrap. + * + * @author Automattic + * @since 1.3.0 - 06.04.2012 + * + * @return stdClass Theme Options + */ +function the_bootstrap_options() { + return (object) wp_parse_args( + get_option( 'the_bootstrap_theme_options', array() ), + the_bootstrap_get_default_theme_options() + ); +} + + +/** + * Returns the default options for The Bootstrap. + * + * @author Automattic + * @since 1.3.0 - 06.04.2012 + * + * @return void + */ +function the_bootstrap_get_default_theme_options() { + $default_theme_options = array( + 'theme_layout' => 'content-sidebar', + 'navbar_site_name' => false, + 'navbar_searchform' => true, + 'navbar_inverse' => true, + 'navbar_position' => 'static', + ); + + return apply_filters( 'the_bootstrap_default_theme_options', $default_theme_options ); +} + + +/** + * Adds The Bootstrap layout classes to the array of body classes. + * + * @author WordPress.org + * @since 1.3.0 - 06.04.2012 + * + * @return void + */ +function the_bootstrap_layout_classes( $existing_classes ) { + $classes = array( the_bootstrap_options()->theme_layout ); + $classes = apply_filters( 'the_bootstrap_layout_classes', $classes ); + + return array_merge( $existing_classes, $classes ); +} +add_filter( 'body_class', 'the_bootstrap_layout_classes' ); + + +/** + * Adds Custom Background support + * + * @author Konstantin Obenland + * @since 1.2.5 - 11.04.2012 + * + * @return void + */ +function the_bootstrap_custom_background_setup() { + + $args = apply_filters( 'the_bootstrap_custom_background_args', array( + 'default-color' => 'EFEFEF', + ) ); + + add_theme_support( 'custom-background', $args ); + + if ( ! function_exists( 'wp_get_theme' ) ) { + // Compat: Versions of WordPress prior to 3.4. + define( 'BACKGROUND_COLOR', $args['default-color'] ); + add_custom_background(); + } +} +add_action( 'after_setup_theme', 'the_bootstrap_custom_background_setup' ); + + +/** + * Register the sidebars. + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @return void + */ +function the_bootstrap_widgets_init() { + + register_sidebar( array( + 'name' => __( 'Main Sidebar', 'the-bootstrap' ), + 'id' => 'main', + 'before_widget' => '', + 'before_title' => '

    ', + 'after_title' => '

    ', + ) ); + + register_sidebar( array( + 'name' => __( 'Image Sidebar', 'the-bootstrap' ), + 'description' => __( 'Shown on image attachment pages.', 'the-bootstrap' ), + 'id' => 'image', + 'before_widget' => '', + 'before_title' => '

    ', + 'after_title' => '

    ', + ) ); + + include_once( 'inc/the-bootstrap-image-meta-widget.php' ); + register_widget( 'The_Bootstrap_Image_Meta_Widget' ); + + include_once( 'inc/the-bootstrap-gallery-widget.php' ); + register_widget( 'The_Bootstrap_Gallery_Widget' ); +} +add_action( 'widgets_init', 'the_bootstrap_widgets_init' ); + + +/** + * Registration of theme scripts and styles + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @return void + */ +function the_bootstrap_register_scripts_styles() { + + if ( ! is_admin() ) { + $theme_version = _the_bootstrap_version(); + $suffix = ( defined('SCRIPT_DEBUG') AND SCRIPT_DEBUG ) ? '' : '.min'; + + /** + * Scripts + */ + wp_register_script( + 'tw-bootstrap', + get_template_directory_uri() . "/js/bootstrap{$suffix}.js", + array('jquery'), + '2.0.3', + true + ); + + wp_register_script( + 'the-bootstrap', + get_template_directory_uri() . "/js/the-bootstrap{$suffix}.js", + array('tw-bootstrap'), + $theme_version, + true + ); + + /** + * Styles + */ + wp_register_style( + 'tw-bootstrap', + get_template_directory_uri() . "/css/bootstrap{$suffix}.css", + array(), + '2.0.3' + ); + + wp_register_style( + 'the-bootstrap', + get_template_directory_uri() . "/style{$suffix}.css", + array('tw-bootstrap'), + $theme_version + ); + } +} +add_action( 'init', 'the_bootstrap_register_scripts_styles' ); + + +/** + * Properly enqueue frontend scripts + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @return void + */ +function the_bootstrap_print_scripts() { + wp_enqueue_script( 'the-bootstrap' ); +} +add_action( 'wp_enqueue_scripts', 'the_bootstrap_print_scripts' ); + + +/** + * Adds IE specific scripts + * + * Respond.js has to be loaded after Theme styles + * + * @author Konstantin Obenland + * @since 1.7.0 - 11.06.2012 + * + * @return void + */ +function the_bootstrap_print_ie_scripts() { + ?> + + navbar_position ) { + $top_bottom = str_replace( 'navbar-fixed-', '', the_bootstrap_options()->navbar_position ); + $css = "body > .container{margin-{$top_bottom}:68px;}@media(min-width: 980px){body > .container{margin-{$top_bottom}:58px;}}"; + + if ( is_admin_bar_showing() AND 'top' == $top_bottom ) + $css .= '.navbar.navbar-fixed-top{margin-top:28px;}'; + + if ( function_exists( 'wp_add_inline_style' ) ) + wp_add_inline_style( 'the-bootstrap', $css ); + else + echo "\n"; + } +} +add_action( 'wp_enqueue_scripts', 'the_bootstrap_print_styles' ); + + +if ( ! function_exists( 'the_bootstrap_credits' ) ) : +/** + * Prints HTML with meta information for the current post-date/time and author, + * comment and edit link + * + * @author Konstantin Obenland + * @since 1.2.2 - 07.04.2012 + * + * @return void + */ +function the_bootstrap_credits() { + printf( + '' . __( '© %1$s %3$s, all rights reserved.', 'the-bootstrap' ) . '', + date( 'Y' ), + home_url( '/' ), + get_bloginfo( 'name' ) + ); +} +endif; + + +/** + * Returns the blogname if no title was set. + * + * @author Konstantin Obenland + * @since 1.1.0 - 18.03.2012 + * + * @param string $title + * @param string $sep + * + * @return string + */ +function the_bootstrap_wp_title( $title, $sep ) { + + if ( ! is_feed() ) { + $title .= get_bloginfo( 'name' ); + + if ( is_front_page() ) { + $title .= " {$sep} " . get_bloginfo( 'description' ); + } + } + + return $title; +} +add_filter( 'wp_title', 'the_bootstrap_wp_title', 1, 2 ); + + +/** + * Returns a "Continue Reading" link for excerpts + * + * @author WordPress.org + * @since 1.0.0 - 05.02.2012 + * + * @param string $more + * + * @return string + */ +function the_bootstrap_continue_reading_link() { + return ' ' . __( 'Continue reading ', 'the-bootstrap' ) . ''; +} + + +/** + * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and the_bootstrap_continue_reading_link(). + * + * To override this in a child theme, remove the filter and add your own + * function tied to the excerpt_more filter hook. + * + * @author WordPress.org + * @since 1.0.0 - 05.02.2012 + * + * @param string $more + * + * @return string + */ +function the_bootstrap_auto_excerpt_more( $more ) { + return '…' . the_bootstrap_continue_reading_link(); +} +add_filter( 'excerpt_more', 'the_bootstrap_auto_excerpt_more' ); + + +/** + * Adds a pretty "Continue Reading" link to custom post excerpts. + * + * To override this link in a child theme, remove the filter and add your own + * function tied to the get_the_excerpt filter hook. + * + * @author WordPress.org + * @since 1.0.0 - 05.02.2012 + * + * @param string $output + * + * @return string + */ +function the_bootstrap_custom_excerpt_more( $output ) { + if ( has_excerpt() AND ! is_attachment() ) { + $output .= the_bootstrap_continue_reading_link(); + } + return $output; +} +add_filter( 'get_the_excerpt', 'the_bootstrap_custom_excerpt_more' ); + + +/** + * Get the wp_nav_menu() fallback, wp_page_menu(), to show a home link. + * + * @author WordPress.org + * @since 1.0.0 - 05.02.2012 + * + * @param array $args + * + * @return array + */ +function the_bootstrap_page_menu_args( $args ) { + $args['show_home'] = true; + return $args; +} +add_filter( 'wp_page_menu_args', 'the_bootstrap_page_menu_args' ); + + +/** + * Filter in a link to a content ID attribute for the next/previous image links on image attachment pages + * + * @author Automattic + * @since 1.0.0 - 05.02.2012 + * + * @param string $url + * @param int $id + * + * @return string + */ +function the_bootstrap_enhanced_image_navigation( $url, $id ) { + + if ( is_attachment() AND wp_attachment_is_image( $id ) ) { + $image = get_post( $id ); + if ( $image->post_parent AND $image->post_parent != $id ) + $url .= '#primary'; + } + + return $url; +} +add_filter( 'attachment_link', 'the_bootstrap_enhanced_image_navigation', 10, 2 ); + + +/** + * Displays comment list, when there are any + * + * @author Konstantin Obenland + * @since 1.7.0 - 16.06.2012 + * + * @return void + */ +function the_bootstrap_comments_list() { + if ( post_password_required() ) : ?> +
    +

    +
    + +
    +

    + ' . get_the_title() . '' ); ?> +

    + + + +
      + 'the_bootstrap_comment' ) ); ?> +
    + + + +
    + +

    + '
    ', + 'comment_notes_before' => '', + 'comment_notes_after' => '
    ' . allowed_tags() . '
    ' ) . '
    +
    ', + 'title_reply' => '' . __( 'Leave a reply', 'the-bootstrap' ) . '', + 'title_reply_to' => '' . __( 'Leave a reply to %s', 'the-bootstrap' ). '', + 'must_log_in' => '', + 'logged_in_as' => '
    ' . sprintf( __( 'Logged in as %2$s. Log out?', 'the-bootstrap' ), admin_url( 'profile.php' ), wp_get_current_user()->display_name, wp_logout_url( apply_filters( 'the_permalink', get_permalink( get_the_ID() ) ) ) ) . '
    ', + ), $defaults ); +} +add_filter( 'comment_form_defaults', 'the_bootstrap_comment_form_defaults' ); + + +if ( ! function_exists( 'the_bootstrap_comment' ) ) : +/** + * Template for comments and pingbacks. + * + * To override this walker in a child theme without modifying the comments template + * simply create your own the_bootstrap_comment(), and that function will be used instead. + * + * Used as a callback by wp_list_comments() for displaying the comments. + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param object $comment Comment data object. + * @param array $args + * @param int $depth Depth of comment in reference to parents. + * + * @return void + */ +function the_bootstrap_comment( $comment, $args, $depth ) { + $GLOBALS['comment'] = $comment; + if ( 'pingback' == $comment->comment_type OR 'trackback' == $comment->comment_type ) : ?> + +
  • > +

    + +  ', '' ); ?> +

    + + + +
  • > +
    +
    "> + +
    +
    +

    + said on %2$s:', 'the-bootstrap' ), + sprintf( '%s', get_comment_author_link() ), + sprintf( '', + esc_url( get_comment_link( $comment->comment_ID ) ), + get_comment_time( 'c' ), + /* translators: 1: date, 2: time */ + sprintf( __( '%1$s at %2$s', 'the-bootstrap' ), get_comment_date(), get_comment_time() ) + ) + ); + edit_comment_link( __( 'Edit', 'the-bootstrap' ), ' ', '' ); ?> +

    + + comment_approved ) : ?> +
    + + +
    + +
    + __( 'Reply ', 'the-bootstrap' ), + 'depth' => $depth, + 'max_depth' => $args['max_depth'] + ) ) ); ?> +
    +
    + + '; +} +add_action( 'comment_form_top', 'the_bootstrap_comment_form_top' ); + + +/** + * Adds markup to the comment form which is needed to make it work with Bootstrap + * needs + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $html + * + * @return string + */ +function the_bootstrap_comment_form() { + echo '
  • '; +} +add_action( 'comment_form', 'the_bootstrap_comment_form' ); + + +/** + * Custom author form field for the comments form + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $html + * + * @return string + */ +function the_bootstrap_comment_form_field_author( $html ) { + $commenter = wp_get_current_commenter(); + $req = get_option( 'require_name_email' ); + $aria_req = ( $req ? " aria-required='true'" : '' ); + + return '
    + +
    + + ' . ( $req ? '

    ' . __('required', 'the-bootstrap') . '

    ' : '' ) . ' +
    +
    '; +} +add_filter( 'comment_form_field_author', 'the_bootstrap_comment_form_field_author'); + + +/** + * Custom HTML5 email form field for the comments form + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $html + * + * @return string + */ +function the_bootstrap_comment_form_field_email( $html ) { + $commenter = wp_get_current_commenter(); + $req = get_option( 'require_name_email' ); + $aria_req = ( $req ? " aria-required='true'" : '' ); + + return ''; +} +add_filter( 'comment_form_field_email', 'the_bootstrap_comment_form_field_email'); + + +/** + * Custom HTML5 url form field for the comments form + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $html + * + * @return string + */ +function the_bootstrap_comment_form_field_url( $html ) { + $commenter = wp_get_current_commenter(); + + return '
    + +
    + +
    +
    '; +} +add_filter( 'comment_form_field_url', 'the_bootstrap_comment_form_field_url'); + + +/** + * Adjusts an attechment link to hold the class of 'thumbnail' and make it look + * pretty + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $link + * @param int $id Post ID. + * @param string $size Default is 'thumbnail'. Size of image, either array or string. + * @param bool $permalink Default is false. Whether to add permalink to image. + * @param bool $icon Default is false. Whether to include icon. + * @param string $text Default is false. If string, then will be link text. + * + * @return string + */ +function the_bootstrap_get_attachment_link( $link, $id, $size, $permalink, $icon, $text ) { + return ( ! $text ) ? str_replace( ' 'ASC', + 'orderby' => 'menu_order ID', + 'id' => $post->ID, + 'itemtag' => 'figure', + 'icontag' => 'div', + 'captiontag' => 'figcaption', + 'columns' => 3, + 'size' => 'thumbnail', + 'include' => '', + 'exclude' => '' + ), $attr ) ); + + + $id = intval( $id ); + if ( 'RAND' == $order ) + $orderby = 'none'; + + if ( $include ) { + $include = preg_replace( '/[^0-9,]+/', '', $include ); + $_attachments = get_posts( array( + 'include' => $include, + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => $order, + 'orderby' => $orderby + ) ); + + $attachments = array(); + foreach ( $_attachments as $key => $val ) { + $attachments[$val->ID] = $_attachments[$key]; + } + } elseif ( $exclude ) { + $exclude = preg_replace( '/[^0-9,]+/', '', $exclude ); + $attachments = get_children( array( + 'post_parent' => $id, + 'exclude' => $exclude, + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => $order, + 'orderby' => $orderby + ) ); + } else { + $attachments = get_children( array( + 'post_parent' => $id, + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => $order, + 'orderby' => $orderby + ) ); + } + + if ( empty( $attachments ) ) + return; + + if ( is_feed() ) { + $output = "\n"; + foreach ( $attachments as $att_id => $attachment ) + $output .= wp_get_attachment_link( $att_id, $size, true ) . "\n"; + return $output; + } + + + + $itemtag = tag_escape( $itemtag ); + $captiontag = tag_escape( $captiontag ); + $columns = intval( min( array( 8, $columns ) ) ); + $float = (is_rtl()) ? 'right' : 'left'; + + if ( 4 > $columns ) + $size = 'full'; + + $selector = "gallery-{$instance}"; + $size_class = sanitize_html_class( $size ); + $output = "\n"; + + return $output; +} +add_filter( 'post_gallery', 'the_bootstrap_post_gallery', 10, 2 ); + + +/** + * HTML 5 caption for pictures + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $empty + * @param array $attr + * @param string $content + * + * @return string + */ +function the_bootstrap_img_caption_shortcode( $empty, $attr, $content ) { + + extract( shortcode_atts( array( + 'id' => '', + 'align' => 'alignnone', + 'width' => '', + 'caption' => '' + ), $attr ) ); + + if ( 1 > (int) $width OR empty( $caption ) ) { + return $content; + } + + if ( $id ) { + $id = 'id="' . $id . '" '; + } + + return '
    + ' . do_shortcode( str_replace( 'class="thumbnail', 'class="', $content ) ) . ' +
    ' . $caption . '
    +
    '; +} +add_filter( 'img_caption_shortcode', 'the_bootstrap_img_caption_shortcode', 10, 3 ); + + +/** + * Returns a password form which dispalys nicely with Bootstrap + * + * @author Konstantin Obenland + * @since 1.0.0 - 05.02.2012 + * + * @param string $form + * + * @return string The Bootstrap password form + */ +function the_bootstrap_the_password_form( $form ) { + return '
    '. __( 'This post is password protected. To view it please enter your password below:', 'the-bootstrap' ) . '
    '; +} +add_filter( 'the_password_form', 'the_bootstrap_the_password_form' ); + + +/** + * Modifies the category dropdown args for widgets on 404 pages + * + * @author Konstantin Obenland + * @since 1.5.0 - 19.05.2012 + * + * @param array $args + * + * @return array + */ +function the_bootstrap_widget_categories_dropdown_args( $args ) { + if ( is_404() ) { + $args = wp_parse_args( $args, array( + 'orderby' => 'count', + 'order' => 'DESC', + 'show_count' => 1, + 'title_li' => '', + 'number' => 10 + ) ); + } + return $args; +} +add_filter( 'widget_categories_dropdown_args', 'the_bootstrap_widget_categories_dropdown_args' ); + + +/** + * Adds the .thumbnail class when images are sent to editor + * + * @author Konstantin Obenland + * @since 2.0.0 - 29.08.2012 + * + * @param string $html + * @param int $id + * @param string $caption + * @param string $title + * @param string $align + * @param string $url + * @param string $size + * @param string $alt + * + * @return string Image HTML + */ +function the_bootstrap_image_send_to_editor( $html, $id, $caption, $title, $align, $url, $size, $alt ) { + if ( $url ) { + $html = str_replace( '
    get( 'Version' ); + } + else { + $theme_data = get_theme_data( get_template_directory() . '/style.css' ); + $theme_version = $theme_data['Version']; + } + + return $theme_version; +} + + +/* End of file functions.php */ +/* Location: ./wp-content/themes/the-bootstrap/functions.php */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/header.php b/wp-content/themes/the-bootstrap/header.php new file mode 100644 index 0000000..4666034 --- /dev/null +++ b/wp-content/themes/the-bootstrap/header.php @@ -0,0 +1,99 @@ + section and everything up till + * + * @author Konstantin Obenland + * @package The Bootstrap + * @since 1.0 - 05.02.2012 + */ + +?> + +> + + + + + + + <?php wp_title( '«', true, 'right' ); ?> + + + + + + > +
    +
    + + $post->post_parent, + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'ASC', + 'orderby' => 'menu_order ID' +))); + +$total_images = count( $attachments ); + +//Get position of current pic +foreach ( $attachments as $k => $attachment ) { + if ( $attachment->ID == $post->ID ) + break; +} + +the_post(); +?> + +
    + + +
    + + + + + +
    > + +
    +
    + 1 ) { + if ( isset( $attachments[ ++$k ] ) ) { + // get the URL of the next image attachment + $next_attachment_url = get_attachment_link( $attachments[ $k ]->ID ); + } + else { + // or get the URL of the first image attachment + $next_attachment_url = get_attachment_link( $attachments[ 0 ]->ID ); + } + } else { + // or, if there's only 1 image, get the URL of the image + $next_attachment_url = wp_get_attachment_url(); + } + + list( $src, $width, $height ) = wp_get_attachment_image_src( $post->ID, 'full' ); + $link_class = ( $GLOBALS['content_width'] > $width ) ? ' attachment-table' : ''; + ?> + + ID, 'full' ); ?> + + + post_excerpt ) : ?> +
    + +
    + +
    +
    + +
    + + + +
    + +
    +
    + '', + + // The height and width of your custom header. + // Add a filter to the_bootstrap_header_image_width and the_bootstrap_header_image_height to change these values. + 'width' => apply_filters( 'the_bootstrap_header_image_width', 1170 ), + 'height' => apply_filters( 'the_bootstrap_header_image_height', 250 ), + 'flex-height' => true, + + // The default header text color + 'default-text-color' => '333333', + + // Add a way for the custom header to be styled in the admin panel that controls custom headers + 'wp-head-callback' => 'the_bootstrap_header_style', + 'admin-head-callback' => 'the_bootstrap_admin_header_style', + 'admin-preview-callback' => 'the_bootstrap_admin_header_image', + ) ); + + add_theme_support( 'custom-header', $args ); + + if ( ! function_exists( 'wp_get_theme' ) ) { + // Compat: Versions of WordPress prior to 3.4. + define( 'HEADER_TEXTCOLOR', $args['default-text-color'] ); + define( 'HEADER_IMAGE', $args['default-image'] ); + define( 'HEADER_IMAGE_WIDTH', $args['width'] ); + define( 'HEADER_IMAGE_HEIGHT', $args['height'] ); + add_custom_image_header( $args['wp-head-callback'], $args['admin-head-callback'], $args['admin-preview-callback'] ); + } +} +add_action( 'after_setup_theme', 'the_bootstrap_custom_header_setup', 11 ); + + +if ( ! function_exists( 'the_bootstrap_header_style' ) ) : +/** + * Styles the header image and text displayed on the blog + * + * @author Automattic + * @since 1.2.0 - 05.04.2012 + * + * @return void + */ +function the_bootstrap_header_style() { + + // If no custom options for text are set, let's bail + // get_header_textcolor() options: get_theme_support( 'custom-header', 'default-text-color' ) is default, hide text (returns 'blank') or any hex value + if ( get_theme_support( 'custom-header', 'default-text-color' ) != get_header_textcolor() ) : + ?> + + Header admin panel. + * + * @author Automattic + * @since 1.2.0 - 05.04.2012 + * + * @return void + */ +function the_bootstrap_admin_header_style() { +?> + + Header admin panel. + * + * @author Automattic + * @since 1.2.0 - 05.04.2012 + * + * @return void + */ +function the_bootstrap_admin_header_image() { ?> +
    + + + > +
    >
    + + + +
    + get_header_image(), + 'thumbnail_url' => get_header_image(), + 'width' => HEADER_IMAGE_WIDTH, + 'height' => HEADER_IMAGE_HEIGHT, + ); +} +endif; // get_custom_header + + +/* End of file custom-header.php */ +/* Location: ./wp-content/themes/the-bootstrap/inc/custom-header.php */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/inc/nav-menu-walker.php b/wp-content/themes/the-bootstrap/inc/nav-menu-walker.php new file mode 100644 index 0000000..4402a72 --- /dev/null +++ b/wp-content/themes/the-bootstrap/inc/nav-menu-walker.php @@ -0,0 +1,127 @@ +\n"; + } + + /** + * @see Walker_Nav_Menu::start_el() + */ + function start_el( &$output, $item, $depth, $args ) { + global $wp_query; + + $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; + $li_attributes = $class_names = $value = ''; + $classes = empty( $item->classes ) ? array() : (array) $item->classes; + $classes[] = 'menu-item-' . $item->ID; + + if ( $args->has_children ) { + $classes[] = ( 1 > $depth) ? 'dropdown': 'dropdown-submenu'; + $li_attributes .= ' data-dropdown="dropdown"'; + } + + $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); + $class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : ''; + + $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); + $id = $id ? ' id="' . esc_attr( $id ) . '"' : ''; + + $output .= $indent . ''; + + $attributes = $item->attr_title ? ' title="' . esc_attr( $item->attr_title ) .'"' : ''; + $attributes .= $item->target ? ' target="' . esc_attr( $item->target ) .'"' : ''; + $attributes .= $item->xfn ? ' rel="' . esc_attr( $item->xfn ) .'"' : ''; + $attributes .= $item->url ? ' href="' . esc_attr( $item->url ) .'"' : ''; + $attributes .= $args->has_children ? ' class="dropdown-toggle" data-toggle="dropdown"' : ''; + + $item_output = $args->before . ''; + $item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after; + $item_output .= ( $args->has_children AND 1 > $depth ) ? ' ' : ''; + $item_output .= '' . $args->after; + + $output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); + } + + /** + * @see Walker::display_element() + */ + function display_element( $element, &$children_elements, $max_depth, $depth = 0, $args, &$output ) { + + if ( ! $element ) + return; + + $id_field = $this->db_fields['id']; + + //display this element + if ( is_array( $args[0] ) ) + $args[0]['has_children'] = (bool) ( ! empty( $children_elements[$element->$id_field] ) AND $depth != $max_depth - 1 ); + elseif ( is_object( $args[0] ) ) + $args[0]->has_children = (bool) ( ! empty( $children_elements[$element->$id_field] ) AND $depth != $max_depth - 1 ); + + $cb_args = array_merge( array( &$output, $element, $depth ), $args ); + call_user_func_array( array( &$this, 'start_el' ), $cb_args ); + + $id = $element->$id_field; + + // descend only when the depth is right and there are childrens for this element + if ( ( $max_depth == 0 OR $max_depth > $depth+1 ) AND isset( $children_elements[$id] ) ) { + + foreach ( $children_elements[ $id ] as $child ) { + + if ( ! isset( $newlevel ) ) { + $newlevel = true; + //start the child delimiter + $cb_args = array_merge( array( &$output, $depth ), $args ); + call_user_func_array( array( &$this, 'start_lvl' ), $cb_args ); + } + $this->display_element( $child, $children_elements, $max_depth, $depth + 1, $args, $output ); + } + unset( $children_elements[ $id ] ); + } + + if ( isset( $newlevel ) AND $newlevel ) { + //end the child delimiter + $cb_args = array_merge( array( &$output, $depth ), $args ); + call_user_func_array( array( &$this, 'end_lvl' ), $cb_args ); + } + + //end this element + $cb_args = array_merge( array( &$output, $element, $depth ), $args ); + call_user_func_array( array( &$this, 'end_el' ), $cb_args ); + } +} + + +/** + * Adds the active CSS class + * + * @author Konstantin Obenland + * @since 1.5.0 - 15.05.2012 + * + * @param array $classes Default class names + * + * @return array + */ +function the_bootstrap_nav_menu_css_class( $classes ) { + if ( in_array('current-menu-item', $classes ) OR in_array( 'current-menu-ancestor', $classes ) ) + $classes[] = 'active'; + + return $classes; +} +add_filter( 'nav_menu_css_class', 'the_bootstrap_nav_menu_css_class' ); + + +/* End of file nav-menu-walker.php */ +/* Location: ./wp-content/themes/the-bootstrap/inc/nav-menu-walker.php */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/inc/template-tags.php b/wp-content/themes/the-bootstrap/inc/template-tags.php new file mode 100644 index 0000000..231f3fe --- /dev/null +++ b/wp-content/themes/the-bootstrap/inc/template-tags.php @@ -0,0 +1,291 @@ +using_index_permalinks() AND ! strpos( $pagenum_link, 'index.php' ) ) ? 'index.php/' : ''; + $format .= $wp_rewrite->using_permalinks() ? user_trailingslashit( 'page/%#%', 'paged' ) : '?paged=%#%'; + + $links = paginate_links( array( + 'base' => $pagenum_link, + 'format' => $format, + 'total' => $wp_query->max_num_pages, + 'current' => $paged, + 'mid_size' => 3, + 'type' => 'list', + 'add_args' => array_map( 'urlencode', $query_args ) + ) ); + + if ( $links ) { + echo ""; + } +} +endif; + + +if ( ! function_exists( 'the_bootstrap_comment_nav' ) ) : +/** + * Display navigation to next/previous comments pages when applicable + * + * @author Konstantin Obenland + * @since 1.5.0 - 19.05.2012 + * + * @return void + */ +function the_bootstrap_comment_nav() { + if ( get_comment_pages_count() > 1 AND get_option( 'page_comments' ) ) : // are there comments to navigate through ?> + + Posted on by ', 'the-bootstrap' ), + esc_url( get_permalink() ), + esc_attr( get_the_time() ), + esc_attr( get_the_date( 'c' ) ), + esc_html( get_the_date() ), + esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), + esc_attr( sprintf( __( 'View all posts by %s', 'the-bootstrap' ), get_the_author() ) ), + get_the_author() + ); + if ( comments_open() AND ! post_password_required() ) { ?> + | + + ' . __( 'Leave a reply', 'the-bootstrap' ) . '', __( '1 Reply', 'the-bootstrap' ), __( '% Replies', 'the-bootstrap' ) ); ?> + +  ', '' ); +} +endif; + + +if ( ! function_exists( 'the_bootstrap_link_pages' ) ) : +/** + * Displays page links for paginated posts + * + * It's basically the wp_link_pages() function, altered to fit to the Bootstrap + * markup needs for paginations (unordered list). + * @see wp_link_pages() + * + * @author Konstantin Obenland + * @since 1.1.0 - 09.03.2012 + * + * @param array $args + * + * @return string + */ +function the_bootstrap_link_pages( $args = array() ) { + wp_link_pages( array( 'echo' => 0 )); + $defaults = array( + 'next_or_number' => 'number', + 'nextpagelink' => __('Next page', 'the-bootstrap'), + 'previouspagelink' => __('Previous page', 'the-bootstrap'), + 'pagelink' => '%', + 'echo' => true + ); + + $r = wp_parse_args( $args, $defaults ); + $r = apply_filters( 'the_bootstrap_link_pages_args', $r ); + extract( $r, EXTR_SKIP ); + + global $page, $numpages, $multipage, $more, $pagenow; + + $output = ''; + if ( $multipage ) { + if ( 'number' == $next_or_number ) { + $output .= ''; + } else { + if ( $more ) { + $output .= ''; + } + } + } + + if ( $echo ) + echo $output; + + return $output; +} +endif; + + +if ( ! function_exists( 'the_bootstrap_navbar_searchform' ) ) : +/** + * Returns or echoes searchform mark up, specifically for the navbar. +* +* @author Konstantin Obenland +* @since 1.5,0 - 14.05.2012 +* +* @param bool $echo Optional. Whether to echo the form +* +* @return void +*/ +function the_bootstrap_navbar_searchform( $echo = true ) { + $searchform = ' '; + + if ( $echo ) + echo $searchform; + + return $searchform; +} +endif; + + +if ( ! function_exists( 'the_bootstrap_navbar_class' ) ) : +/** + * Adds The Bootstrap navbar classes + * + * @author WordPress.org + * @since 1.4.0 - 12.05.2012 + * + * @return void + */ +function the_bootstrap_navbar_class() { + $classes = array( 'navbar' ); + + if ( 'static' != the_bootstrap_options()->navbar_position ) + $classes[] = the_bootstrap_options()->navbar_position; + + if ( the_bootstrap_options()->navbar_inverse ) + $classes[] = 'navbar-inverse'; + + apply_filters( 'the_bootstrap_navbar_classes', $classes ); + + echo 'class="' . join( ' ', $classes ) . '"'; +} +endif; + + +if ( ! function_exists( 'the_bootstrap_comments_link' ) ) : +/** + * Displays the link to the comments popup window for the current post ID. + * + * Is not meant to be displayed on single posts and pages. Should be used on the + * lists of posts + * + * @since 2.0.0 - 01.09.2012 + * + * @param string $zero The string to display when no comments + * @param string $one The string to display when only one comment is available + * @param string $more The string to display when there are more than one comment + * @param string $css_class The CSS class to use for comments + * @param string $none The string to display when comments have been turned off + * + * @return void + */ +function the_bootstrap_comments_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) { + $number = get_comments_number(); + $class = empty( $css_class ) ? '' : ' class="' . esc_attr( $css_class ) . '"'; + + if ( false === $zero ) $zero = __( 'No Comments' ); + if ( false === $one ) $one = __( '1 Comment' ); + if ( false === $more ) $more = __( '% Comments' ); + if ( false === $none ) $none = __( 'Comments Off' ); + + if ( 0 == $number AND ! comments_open() AND ! pings_open() ) { + echo '' . $none . ''; + return; + } + + if ( post_password_required() ) { + echo '' . __( 'Enter your password to view comments.' ) . ''; + return; + } + + if ( 1 < $number ) + $comments_number = str_replace( '%', number_format_i18n( $number ), $more ); + else + $comments_number = ( 0 == $number ) ? $zero : $one; + + $link = sprintf( '%5$s', + ( 0 == $number ) ? '#respond' : '#comments', + $class, + apply_filters( 'comments_popup_link_attributes', '' ), + esc_attr( sprintf( __( 'Comment on %s' ), the_title_attribute( array('echo' => 0 ) ) ) ), + apply_filters( 'comments_number', $comments_number, $number ) + ); + + echo apply_filters( 'the_bootstrap_comments_link', $link, $zero, $one, $more, $css_class, $none ); +} +endif; + + +/* End of file template-tags.php */ +/* Location: ./wp-content/themes/the-bootstrap/inc/template-tags.php */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/inc/tha-theme-hooks.php b/wp-content/themes/the-bootstrap/inc/tha-theme-hooks.php new file mode 100644 index 0000000..4118bfb --- /dev/null +++ b/wp-content/themes/the-bootstrap/inc/tha-theme-hooks.php @@ -0,0 +1,227 @@ + + * // Declare support for all hook types + * add_theme_support( 'tha_hooks', array( 'all' ) ); + * + * // Declare support for certain hook types only + * add_theme_support( 'tha_hooks', array( 'header', 'content', 'footer' ) ); + * + */ +add_theme_support( 'tha_hooks', array( + + /** + * As a Theme developer, use the 'all' parameter, to declare support for all + * hook types. + * Please make sure you then actually reference all the hooks in this file, + * Plugin developers depend on it! + */ + 'all', + + /** + * Themes can also choose to only support certain hook types. + * Please make sure you then actually reference all the hooks in this type + * family. + * + * When the 'all' parameter was set, specific hook types do not need to be + * added explicitly. + */ + 'head', + 'header', + 'content', + 'entry', + 'comments', + 'sidebars', + 'sidebar', + 'footer', + + /** + * If/when WordPress Core implements similar methodology, Themes and Plugins + * will be able to check whether the version of THA supplied by the theme + * supports Core hooks. + */ +// 'core' +) ); + +/** + * Determines, whether the specific hook type is actually supported. + * + * Plugin developers should always check for the support of a specific + * hook type before hooking a callback function to a hook of this type. + * + * Example: + * + * if ( current_theme_supports( 'tha_hooks', 'header' ) ) + * add_action( 'tha_head_top', 'prefix_header_top' ); + * + * + * @param bool $bool true + * @param array $args The hook type being checked + * @param array $registered All registered hook types + * + * @return bool + */ +function tha_current_theme_supports( $bool, $args, $registered ) { + return in_array( $args[0], $registered[0] ) || in_array( 'all', $registered[0] ); +} +add_filter( 'current_theme_supports-tha_hooks', 'tha_current_theme_supports', 10, 3 ); + +/** +* HTML hooks +* +* $tha_supports[] = 'head'; +*/ +function tha_head_top() { + do_action( 'tha_head_top' ); +} + +function tha_head_bottom() { + do_action( 'tha_head_bottom' ); +} + + +/** +* Semantic
    hooks +* +* $tha_supports[] = 'header'; +*/ +function tha_header_before() { + do_action( 'tha_header_before' ); +} + +function tha_header_after() { + do_action( 'tha_header_after' ); +} + +function tha_header_top() { + do_action( 'tha_header_top' ); +} + +function tha_header_bottom() { + do_action( 'tha_header_bottom' ); +} + +/** +* Semantic hooks +* +* $tha_supports[] = 'content'; +*/ +function tha_content_before() { + do_action( 'tha_content_before' ); +} + +function tha_content_after() { + do_action( 'tha_content_after' ); +} + +function tha_content_top() { + do_action( 'tha_content_top' ); +} + +function tha_content_bottom() { + do_action( 'tha_content_bottom' ); +} + +/** +* Semantic hooks +* +* $tha_supports[] = 'entry'; +*/ +function tha_entry_before() { + do_action( 'tha_entry_before' ); +} + +function tha_entry_after() { + do_action( 'tha_entry_after' ); +} + +function tha_entry_top() { + do_action( 'tha_entry_top' ); +} + +function tha_entry_bottom() { + do_action( 'tha_entry_bottom' ); +} + +/** +* Comments block hooks +* +* $tha_supports[] = 'comments'; +*/ +function tha_comments_before() { + do_action( 'tha_comments_before' ); +} + +function tha_comments_after() { + do_action( 'tha_comments_after' ); +} + +/** +* Semantic hooks +* +* $tha_supports[] = 'sidebar'; +*/ +function tha_sidebars_before() { + do_action( 'tha_sidebars_before' ); +} + +function tha_sidebars_after() { + do_action( 'tha_sidebars_after' ); +} + +function tha_sidebar_top() { + do_action( 'tha_sidebar_top' ); +} + +function tha_sidebar_bottom() { + do_action( 'tha_sidebar_bottom' ); +} + +/** +* Semantic
    hooks +* +* $tha_supports[] = 'footer'; +*/ +function tha_footer_before() { + do_action( 'tha_footer_before' ); +} + +function tha_footer_after() { + do_action( 'tha_footer_after' ); +} + +function tha_footer_top() { + do_action( 'tha_footer_top' ); +} + +function tha_footer_bottom() { + do_action( 'tha_footer_bottom' ); +} \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/inc/the-bootstrap-gallery-widget.php b/wp-content/themes/the-bootstrap/inc/the-bootstrap-gallery-widget.php new file mode 100644 index 0000000..eeac310 --- /dev/null +++ b/wp-content/themes/the-bootstrap/inc/the-bootstrap-gallery-widget.php @@ -0,0 +1,161 @@ + 'the-bootstrap-gallery', + 'description' => __( 'Displays gallery images of a specified post with the Gallery post format.', 'the-bootstrap' ) + ) ); + } + + + /** + * Displays the widget content + * + * @author Konstantin Obeland + * @since 1.1.0 - 08.03.2012 + * @access public + * + * @param array $args + * @param array $instance + * + * @return void + */ + public function widget( $args, $instance ) { + if ( ! has_post_format( 'gallery', $instance['post_id'] ) ) return; + + $attachments = get_children( array( + 'post_parent' => $instance['post_id'], + 'post_status' => 'inherit', + 'post_type' => 'attachment', + 'post_mime_type' => 'image', + 'order' => 'ASC', + 'orderby' => 'menu_order ID', + ) ); + if ( empty( $attachments ) ) return; + + extract( $args ); + + echo str_replace( 'well ', '', $before_widget ); + + if ( $title = get_the_title( $instance['post_id'] ) ) + echo $before_title . '' . $title . '' . $after_title; + ?> + + 0, + ) ); + $gallery_posts = get_posts( array( + 'numberposts' => -1, + 'tax_query' => array( + array( + 'taxonomy' => 'post_format', + 'field' => 'slug', + 'terms' => array( 'post-format-gallery' ) + ) + ) + ) ); + + if ( empty( $gallery_posts ) ) { + echo '

    '. sprintf( __( 'No galleries have been created yet. Create some.', 'the-bootstrap' ), admin_url( 'post-new.php' ) ) . '

    '; + return; + } + ?> +

    + + +

    + 'the-bootstrap-image-meta', + 'description' => __( 'Displays meta information on image attachment pages', 'the-bootstrap' ) + ) ); + } + + + /** + * Displays the widget content + * + * @author Konstantin Obeland + * @since 1.1.0 - 08.03.2012 + * @access public + * + * @param array $args + * @param array $instance + * + * @return void + */ + public function widget( $args, $instance ) { + + if ( is_attachment() ) { + extract( $args ); + + $title = apply_filters( 'widget_title', empty($instance['title'] ) ? __( 'Info', 'the-bootstrap' ) : $instance['title'] ); + $image_meta = wp_get_attachment_metadata(); + + echo $before_widget . $before_title . $title . $after_title; + + ?> +
    + +
    +
    + + +
    +
    + + +
    +
    f/
    + +
    +
    mm
    + +
    +
    + +
    +
    + 1 ) { + echo "1/"; + if ( number_format_i18n( ( 1 / $image_meta['image_meta']['shutter_speed'] ), 1 ) == number_format_i18n( ( 1 / $image_meta['image_meta']['shutter_speed'] ), 0 ) ) { + printf( __( '%d sec.', 'the-bootstrap' ), number_format_i18n( ( 1 / $image_meta['image_meta']['shutter_speed'] ), 0, '.', '' ) ); + } else { + printf( __( '%d sec.', 'the-bootstrap' ), number_format_i18n( ( 1 / $image_meta['image_meta']['shutter_speed'] ), 1, '.', '' ) ); + } + } else { + printf( __( '%d sec.', 'the-bootstrap' ), number_format_i18n( $image_meta['image_meta']['shutter_speed'] ) ); + } + ?> +
    + ' ) ) : ?> +
    +
    ' ); ?>
    + + +
    + '', + ) ); + ?> +

    + get_setting( 'blogname' )->transport = 'postMessage'; + $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; + + $wp_customize->add_section( 'the_bootstrap_theme_layout', array( + 'title' => __( 'Layout', 'the-bootstrap' ), + 'priority' => 99, + ) ); + $wp_customize->add_section( 'the_bootstrap_navbar_options', array( + 'title' => __( 'Navbar Options', 'the-bootstrap' ), + 'priority' => 101, + ) ); + + // Add settings + foreach ( array_keys( the_bootstrap_get_default_theme_options() ) as $setting ) { + $wp_customize->add_setting( "the_bootstrap_theme_options[{$setting}]", array( + 'default' => the_bootstrap_options()->$setting, + 'type' => 'option', + 'transport' => 'postMessage', + ) ); + } + + // Theme Layout + $wp_customize->add_control( 'the_bootstrap_theme_layout', array( + 'label' => __( 'Default Layout', 'the-bootstrap' ), + 'section' => 'the_bootstrap_theme_layout', + 'settings' => 'the_bootstrap_theme_options[theme_layout]', + 'type' => 'radio', + 'choices' => array( + 'content-sidebar' => __( 'Content on left', 'the-bootstrap' ), + 'sidebar-content' => __( 'Content on right', 'the-bootstrap' ) + ), + ) ); + + // Sitename in Navbar + $wp_customize->add_control( 'the_bootstrap_navbar_site_name', array( + 'label' => __( 'Add site name to navigation bar.', 'the-bootstrap' ), + 'section' => 'the_bootstrap_navbar_options', + 'settings' => 'the_bootstrap_theme_options[navbar_site_name]', + 'type' => 'checkbox', + ) ); + + // Searchform in Navbar + $wp_customize->add_control( 'the_bootstrap_navbar_searchform', array( + 'label' => __( 'Add searchform to navigation bar.', 'the-bootstrap' ), + 'section' => 'the_bootstrap_navbar_options', + 'settings' => 'the_bootstrap_theme_options[navbar_searchform]', + 'type' => 'checkbox', + ) ); + + // Navbar Colors + $wp_customize->add_control( 'the_bootstrap_navbar_inverse', array( + 'label' => __( 'Use inverse color on navigation bar.', 'the-bootstrap' ), + 'section' => 'the_bootstrap_navbar_options', + 'settings' => 'the_bootstrap_theme_options[navbar_inverse]', + 'type' => 'checkbox', + ) ); + + // Navbar Position + $wp_customize->add_control( 'the_bootstrap_navbar_position', array( + 'label' => __( 'Navigation Bar Position', 'the-bootstrap' ), + 'section' => 'the_bootstrap_navbar_options', + 'settings' => 'the_bootstrap_theme_options[navbar_position]', + 'type' => 'radio', + 'choices' => array( + 'static' => __( 'Static.', 'the-bootstrap' ), + 'navbar-fixed-top' => __( 'Fixed on top.', 'the-bootstrap' ), + 'navbar-fixed-bottom' => __( 'Fixed at bottom.', 'the-bootstrap' ), + ), + ) ); +} +add_action( 'customize_register', 'the_bootstrap_customize_register' ); + + +/** + * Adds controls to change settings instantly + * + * @author Konstantin Obenland + * @since 1.4.0 - 05.05.2012 + * + * @return void + */ +function the_bootstrap_customize_enqueue_scripts() { + wp_enqueue_script( 'the-bootstrap-customize', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), _the_bootstrap_version(), true ); + wp_localize_script( 'the-bootstrap-customize', 'the_bootstrap_customize', array( + 'sitename' => get_bloginfo( 'name', 'display' ), + 'searchform' => the_bootstrap_navbar_searchform( false ) + ) ); +} +add_action( 'customize_preview_init', 'the_bootstrap_customize_enqueue_scripts' ); + + +/* End of file theme-customizer.php */ +/* Location: ./wp-content/themes/the-bootstrap/inc/theme-customizer.php */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/inc/theme-options.php b/wp-content/themes/the-bootstrap/inc/theme-options.php new file mode 100644 index 0000000..39fa885 --- /dev/null +++ b/wp-content/themes/the-bootstrap/inc/theme-options.php @@ -0,0 +1,433 @@ + 'navbar_site_name', + 'value' => the_bootstrap_options()->navbar_site_name, + 'description' => __( 'Add site name to navigation bar.', 'the-bootstrap' ) + ), + (object) array( + 'name' => 'navbar_searchform', + 'value' => the_bootstrap_options()->navbar_searchform, + 'description' => __( 'Add searchform to navigation bar.', 'the-bootstrap' ) + ) + ) ); + add_settings_field( 'navbar-position', __( 'Navigation Bar Position', 'the-bootstrap' ), 'the_bootstrap_settings_field_radio', 'theme_options', 'general', array( + 'name' => 'navbar_position', + 'options' => array( + (object) array( + 'value' => 'static', + 'description' => __( 'Static.', 'the-bootstrap' ) + ), + (object) array( + 'value' => 'navbar-fixed-top', + 'description' => __( 'Fixed on top.', 'the-bootstrap' ) + ), + (object) array( + 'value' => 'navbar-fixed-bottom', + 'description' => __( 'Fixed at bottom.', 'the-bootstrap' ) + ), + ) + ) ); +} +add_action( 'admin_init', 'the_bootstrap_theme_options_init' ); + + +/** + * Change the capability required to save the 'the_bootstrap_options' options group. + * + * @see the_bootstrap_theme_options_init() First parameter to register_setting() is the name of the options group. + * @see the_bootstrap_theme_options_add_page() The edit_theme_options capability is used for viewing the page. + * + * @author Automattic + * @since 1.3.0 - 06.04.2012 + * + * @param string $capability The capability used for the page, which is manage_options by default. + * + * @return string The capability to actually use. + */ +function the_bootstrap_option_page_capability( $capability ) { + return 'edit_theme_options'; +} +add_filter( 'option_page_capability_the_bootstrap_options', 'the_bootstrap_option_page_capability' ); + + +/** + * Add theme options page to the admin bar. + * + * @author Konstantin Obenland + * @since 1.3.0 - 06.04.2012 + * + * @param WP_Admin_Bar $wp_admin_bar + * + * @return void + */ +function the_bootstrap_admin_bar_menu( $wp_admin_bar ) { + if ( current_user_can( 'edit_theme_options' ) AND is_admin_bar_showing() ) { + $wp_admin_bar->add_menu( array( + 'title' => __( 'Theme Options', 'the-bootstrap' ), + 'href' => add_query_arg( array( 'page' => 'theme_options' ), admin_url( 'themes.php' ) ), + 'parent' => 'appearance', + 'id' => 'the-bootstrap-theme-options', + ) ); + } +} +add_action( 'admin_bar_menu', 'the_bootstrap_admin_bar_menu', 61 ); //Appearance Menu used to be added at 60 + + +/** + * Returns an array of layout options registered for Twenty Eleven. + * + * @author WordPress.org + * @since 1.3.0 - 06.04.2012 + * + * @return void + */ +function the_bootstrap_layouts() { + $layout_options = array( + 'content-sidebar' => array( + 'label' => __( 'Content on left', 'the-bootstrap' ), + 'thumbnail' => get_template_directory_uri() . '/img/content-sidebar.png', + ), + 'sidebar-content' => array( + 'label' => __( 'Content on right', 'the-bootstrap' ), + 'thumbnail' => get_template_directory_uri() . '/img/sidebar-content.png', + ), + ); + + return apply_filters( 'the_bootstrap_layouts', $layout_options ); +} + + +/** + * Renders the Layout setting field. + * + * @author WordPress.org + * @since 1.3.0 - 06.04.2012 + * + * @return void + */ +function the_bootstrap_settings_field_layout() { + foreach ( the_bootstrap_layouts() as $value => $layout ) : ?> + + +
    + null, + 'options' => array(), + ) ) ); + + foreach ( (array) $options as $o ) : ?> +
    + +
    + +

    + + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Visit your site to see how it looks.', 'the-bootstrap' ), home_url( '/' ) ), 'updated' ); + } + + return apply_filters( 'the_bootstrap_theme_options_validate', $output, $input, $defaults ); +} + + +/////////////////////////////////////////////////////////////////////////////// +// META BOXES +/////////////////////////////////////////////////////////////////////////////// + +/** + * Displays a box with a donate button and call to action links + * + * Props Joost de Valk, as this is almost entirely from his awesome WordPress + * SEO Plugin + * + * @link http://plugins.trac.wordpress.org/browser/wordpress-seo/trunk/admin/class-config.php#L82 + * @copyright Joost de Valk + * @license GPLv2 or later + * + * @author Joost de Valk, Konstantin Obenland + * @since 1.3.0 - 06.04.2012 + * + * @return void + */ +function the_bootstrap_donate_box() { + ?> +
    +

    +
    +

    +
    + + + + +
    +

    +
      +
    • +
    • +
    +
    +
    + +
    +

    +
    + +
    +
    + get_items( 0, $rss->get_item_quantity( 5 ) ); + + // If the feed was erroneously + if ( ! $rss_items ) { + $md5 = md5( $feed_url ); + delete_transient( 'feed_' . $md5 ); + delete_transient( 'feed_mod_' . $md5 ); + $rss = fetch_feed( $feed_url ); + $rss_items = $rss->get_items( 0, $rss->get_item_quantity( 5 ) ); + } + return $rss_items; +} + + +/* End of file theme-options.php */ +/* Location: ./wp-content/themes/the-bootstrap/inc/theme-options.php */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/index.php b/wp-content/themes/the-bootstrap/index.php new file mode 100644 index 0000000..067be8d --- /dev/null +++ b/wp-content/themes/the-bootstrap/index.php @@ -0,0 +1,46 @@ + + +
    + +
    + +
    + +
    + +') + .appendTo(document.body) + + this.$backdrop.click( + this.options.backdrop == 'static' ? + $.proxy(this.$element[0].focus, this.$element[0]) + : $.proxy(this.hide, this) + ) + + if (doAnimate) this.$backdrop[0].offsetWidth // force reflow + + this.$backdrop.addClass('in') + + doAnimate ? + this.$backdrop.one($.support.transition.end, callback) : + callback() + + } else if (!this.isShown && this.$backdrop) { + this.$backdrop.removeClass('in') + + $.support.transition && this.$element.hasClass('fade')? + this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) : + this.removeBackdrop() + + } else if (callback) { + callback() + } + } + } + + + /* MODAL PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.modal + + $.fn.modal = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('modal') + , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option) + if (!data) $this.data('modal', (data = new Modal(this, options))) + if (typeof option == 'string') data[option]() + else if (options.show) data.show() + }) + } + + $.fn.modal.defaults = { + backdrop: true + , keyboard: true + , show: true + } + + $.fn.modal.Constructor = Modal + + + /* MODAL NO CONFLICT + * ================= */ + + $.fn.modal.noConflict = function () { + $.fn.modal = old + return this + } + + + /* MODAL DATA-API + * ============== */ + + $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) { + var $this = $(this) + , href = $this.attr('href') + , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7 + , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data()) + + e.preventDefault() + + $target + .modal(option) + .one('hide', function () { + $this.focus() + }) + }) + +}(window.jQuery); + +/* ============================================================ + * bootstrap-dropdown.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + } + + $this.focus() + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider):visible a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + $(toggle).each(function () { + getParent($(this)).removeClass('open') + }) + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.dropdown + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* DROPDOWN NO CONFLICT + * ==================== */ + + $.fn.dropdown.noConflict = function () { + $.fn.dropdown = old + return this + } + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(document) + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + +}(window.jQuery); +/* ============================================================= + * bootstrap-scrollspy.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#scrollspy + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* SCROLLSPY CLASS DEFINITION + * ========================== */ + + function ScrollSpy(element, options) { + var process = $.proxy(this.process, this) + , $element = $(element).is('body') ? $(window) : $(element) + , href + this.options = $.extend({}, $.fn.scrollspy.defaults, options) + this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process) + this.selector = (this.options.target + || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + || '') + ' .nav li > a' + this.$body = $('body') + this.refresh() + this.process() + } + + ScrollSpy.prototype = { + + constructor: ScrollSpy + + , refresh: function () { + var self = this + , $targets + + this.offsets = $([]) + this.targets = $([]) + + $targets = this.$body + .find(this.selector) + .map(function () { + var $el = $(this) + , href = $el.data('target') || $el.attr('href') + , $href = /^#\w/.test(href) && $(href) + return ( $href + && $href.length + && [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null + }) + .sort(function (a, b) { return a[0] - b[0] }) + .each(function () { + self.offsets.push(this[0]) + self.targets.push(this[1]) + }) + } + + , process: function () { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset + , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight + , maxScroll = scrollHeight - this.$scrollElement.height() + , offsets = this.offsets + , targets = this.targets + , activeTarget = this.activeTarget + , i + + if (scrollTop >= maxScroll) { + return activeTarget != (i = targets.last()[0]) + && this.activate ( i ) + } + + for (i = offsets.length; i--;) { + activeTarget != targets[i] + && scrollTop >= offsets[i] + && (!offsets[i + 1] || scrollTop <= offsets[i + 1]) + && this.activate( targets[i] ) + } + } + + , activate: function (target) { + var active + , selector + + this.activeTarget = target + + $(this.selector) + .parent('.active') + .removeClass('active') + + selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]' + + active = $(selector) + .parent('li') + .addClass('active') + + if (active.parent('.dropdown-menu').length) { + active = active.closest('li.dropdown').addClass('active') + } + + active.trigger('activate') + } + + } + + + /* SCROLLSPY PLUGIN DEFINITION + * =========================== */ + + var old = $.fn.scrollspy + + $.fn.scrollspy = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('scrollspy') + , options = typeof option == 'object' && option + if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.scrollspy.Constructor = ScrollSpy + + $.fn.scrollspy.defaults = { + offset: 10 + } + + + /* SCROLLSPY NO CONFLICT + * ===================== */ + + $.fn.scrollspy.noConflict = function () { + $.fn.scrollspy = old + return this + } + + + /* SCROLLSPY DATA-API + * ================== */ + + $(window).on('load', function () { + $('[data-spy="scroll"]').each(function () { + var $spy = $(this) + $spy.scrollspy($spy.data()) + }) + }) + +}(window.jQuery); +/* ======================================================== + * bootstrap-tab.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#tabs + * ======================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* TAB CLASS DEFINITION + * ==================== */ + + var Tab = function (element) { + this.element = $(element) + } + + Tab.prototype = { + + constructor: Tab + + , show: function () { + var $this = this.element + , $ul = $this.closest('ul:not(.dropdown-menu)') + , selector = $this.attr('data-target') + , previous + , $target + , e + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + if ( $this.parent('li').hasClass('active') ) return + + previous = $ul.find('.active:last a')[0] + + e = $.Event('show', { + relatedTarget: previous + }) + + $this.trigger(e) + + if (e.isDefaultPrevented()) return + + $target = $(selector) + + this.activate($this.parent('li'), $ul) + this.activate($target, $target.parent(), function () { + $this.trigger({ + type: 'shown' + , relatedTarget: previous + }) + }) + } + + , activate: function ( element, container, callback) { + var $active = container.find('> .active') + , transition = callback + && $.support.transition + && $active.hasClass('fade') + + function next() { + $active + .removeClass('active') + .find('> .dropdown-menu > .active') + .removeClass('active') + + element.addClass('active') + + if (transition) { + element[0].offsetWidth // reflow for transition + element.addClass('in') + } else { + element.removeClass('fade') + } + + if ( element.parent('.dropdown-menu') ) { + element.closest('li.dropdown').addClass('active') + } + + callback && callback() + } + + transition ? + $active.one($.support.transition.end, next) : + next() + + $active.removeClass('in') + } + } + + + /* TAB PLUGIN DEFINITION + * ===================== */ + + var old = $.fn.tab + + $.fn.tab = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('tab') + if (!data) $this.data('tab', (data = new Tab(this))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.tab.Constructor = Tab + + + /* TAB NO CONFLICT + * =============== */ + + $.fn.tab.noConflict = function () { + $.fn.tab = old + return this + } + + + /* TAB DATA-API + * ============ */ + + $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) { + e.preventDefault() + $(this).tab('show') + }) + +}(window.jQuery); +/* =========================================================== + * bootstrap-tooltip.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#tooltips + * Inspired by the original jQuery.tipsy by Jason Frame + * =========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* TOOLTIP PUBLIC CLASS DEFINITION + * =============================== */ + + var Tooltip = function (element, options) { + this.init('tooltip', element, options) + } + + Tooltip.prototype = { + + constructor: Tooltip + + , init: function (type, element, options) { + var eventIn + , eventOut + + this.type = type + this.$element = $(element) + this.options = this.getOptions(options) + this.enabled = true + + if (this.options.trigger == 'click') { + this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this)) + } else if (this.options.trigger != 'manual') { + eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus' + eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur' + this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this)) + this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this)) + } + + this.options.selector ? + (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) : + this.fixTitle() + } + + , getOptions: function (options) { + options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data()) + + if (options.delay && typeof options.delay == 'number') { + options.delay = { + show: options.delay + , hide: options.delay + } + } + + return options + } + + , enter: function (e) { + var self = $(e.currentTarget)[this.type](this._options).data(this.type) + + if (!self.options.delay || !self.options.delay.show) return self.show() + + clearTimeout(this.timeout) + self.hoverState = 'in' + this.timeout = setTimeout(function() { + if (self.hoverState == 'in') self.show() + }, self.options.delay.show) + } + + , leave: function (e) { + var self = $(e.currentTarget)[this.type](this._options).data(this.type) + + if (this.timeout) clearTimeout(this.timeout) + if (!self.options.delay || !self.options.delay.hide) return self.hide() + + self.hoverState = 'out' + this.timeout = setTimeout(function() { + if (self.hoverState == 'out') self.hide() + }, self.options.delay.hide) + } + + , show: function () { + var $tip + , inside + , pos + , actualWidth + , actualHeight + , placement + , tp + + if (this.hasContent() && this.enabled) { + $tip = this.tip() + this.setContent() + + if (this.options.animation) { + $tip.addClass('fade') + } + + placement = typeof this.options.placement == 'function' ? + this.options.placement.call(this, $tip[0], this.$element[0]) : + this.options.placement + + inside = /in/.test(placement) + + $tip + .detach() + .css({ top: 0, left: 0, display: 'block' }) + .insertAfter(this.$element) + + pos = this.getPosition(inside) + + actualWidth = $tip[0].offsetWidth + actualHeight = $tip[0].offsetHeight + + switch (inside ? placement.split(' ')[1] : placement) { + case 'bottom': + tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2} + break + case 'top': + tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2} + break + case 'left': + tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth} + break + case 'right': + tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width} + break + } + + $tip + .offset(tp) + .addClass(placement) + .addClass('in') + } + } + + , setContent: function () { + var $tip = this.tip() + , title = this.getTitle() + + $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title) + $tip.removeClass('fade in top bottom left right') + } + + , hide: function () { + var that = this + , $tip = this.tip() + + $tip.removeClass('in') + + function removeWithAnimation() { + var timeout = setTimeout(function () { + $tip.off($.support.transition.end).detach() + }, 500) + + $tip.one($.support.transition.end, function () { + clearTimeout(timeout) + $tip.detach() + }) + } + + $.support.transition && this.$tip.hasClass('fade') ? + removeWithAnimation() : + $tip.detach() + + return this + } + + , fixTitle: function () { + var $e = this.$element + if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') { + $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title') + } + } + + , hasContent: function () { + return this.getTitle() + } + + , getPosition: function (inside) { + return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), { + width: this.$element[0].offsetWidth + , height: this.$element[0].offsetHeight + }) + } + + , getTitle: function () { + var title + , $e = this.$element + , o = this.options + + title = $e.attr('data-original-title') + || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title) + + return title + } + + , tip: function () { + return this.$tip = this.$tip || $(this.options.template) + } + + , validate: function () { + if (!this.$element[0].parentNode) { + this.hide() + this.$element = null + this.options = null + } + } + + , enable: function () { + this.enabled = true + } + + , disable: function () { + this.enabled = false + } + + , toggleEnabled: function () { + this.enabled = !this.enabled + } + + , toggle: function (e) { + var self = $(e.currentTarget)[this.type](this._options).data(this.type) + self[self.tip().hasClass('in') ? 'hide' : 'show']() + } + + , destroy: function () { + this.hide().$element.off('.' + this.type).removeData(this.type) + } + + } + + + /* TOOLTIP PLUGIN DEFINITION + * ========================= */ + + var old = $.fn.tooltip + + $.fn.tooltip = function ( option ) { + return this.each(function () { + var $this = $(this) + , data = $this.data('tooltip') + , options = typeof option == 'object' && option + if (!data) $this.data('tooltip', (data = new Tooltip(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.tooltip.Constructor = Tooltip + + $.fn.tooltip.defaults = { + animation: true + , placement: 'top' + , selector: false + , template: '
    ' + , trigger: 'hover' + , title: '' + , delay: 0 + , html: false + } + + + /* TOOLTIP NO CONFLICT + * =================== */ + + $.fn.tooltip.noConflict = function () { + $.fn.tooltip = old + return this + } + +}(window.jQuery); +/* =========================================================== + * bootstrap-popover.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#popovers + * =========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * =========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* POPOVER PUBLIC CLASS DEFINITION + * =============================== */ + + var Popover = function (element, options) { + this.init('popover', element, options) + } + + + /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js + ========================================== */ + + Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, { + + constructor: Popover + + , setContent: function () { + var $tip = this.tip() + , title = this.getTitle() + , content = this.getContent() + + $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title) + $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content) + + $tip.removeClass('fade top bottom left right in') + } + + , hasContent: function () { + return this.getTitle() || this.getContent() + } + + , getContent: function () { + var content + , $e = this.$element + , o = this.options + + content = $e.attr('data-content') + || (typeof o.content == 'function' ? o.content.call($e[0]) : o.content) + + return content + } + + , tip: function () { + if (!this.$tip) { + this.$tip = $(this.options.template) + } + return this.$tip + } + + , destroy: function () { + this.hide().$element.off('.' + this.type).removeData(this.type) + } + + }) + + + /* POPOVER PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.popover + + $.fn.popover = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('popover') + , options = typeof option == 'object' && option + if (!data) $this.data('popover', (data = new Popover(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.popover.Constructor = Popover + + $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, { + placement: 'right' + , trigger: 'click' + , content: '' + , template: '

    ' + }) + + + /* POPOVER NO CONFLICT + * =================== */ + + $.fn.popover.noConflict = function () { + $.fn.popover = old + return this + } + +}(window.jQuery); +/* ========================================================== + * bootstrap-affix.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#affix + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* AFFIX CLASS DEFINITION + * ====================== */ + + var Affix = function (element, options) { + this.options = $.extend({}, $.fn.affix.defaults, options) + this.$window = $(window) + .on('scroll.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this)) + this.$element = $(element) + this.checkPosition() + } + + Affix.prototype.checkPosition = function () { + if (!this.$element.is(':visible')) return + + var scrollHeight = $(document).height() + , scrollTop = this.$window.scrollTop() + , position = this.$element.offset() + , offset = this.options.offset + , offsetBottom = offset.bottom + , offsetTop = offset.top + , reset = 'affix affix-top affix-bottom' + , affix + + if (typeof offset != 'object') offsetBottom = offsetTop = offset + if (typeof offsetTop == 'function') offsetTop = offset.top() + if (typeof offsetBottom == 'function') offsetBottom = offset.bottom() + + affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ? + false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ? + 'bottom' : offsetTop != null && scrollTop <= offsetTop ? + 'top' : false + + if (this.affixed === affix) return + + this.affixed = affix + this.unpin = affix == 'bottom' ? position.top - scrollTop : null + + this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')) + } + + + /* AFFIX PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.affix + + $.fn.affix = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('affix') + , options = typeof option == 'object' && option + if (!data) $this.data('affix', (data = new Affix(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.affix.Constructor = Affix + + $.fn.affix.defaults = { + offset: 0 + } + + + /* AFFIX NO CONFLICT + * ================= */ + + $.fn.affix.noConflict = function () { + $.fn.affix = old + return this + } + + + /* AFFIX DATA-API + * ============== */ + + $(window).on('load', function () { + $('[data-spy="affix"]').each(function () { + var $spy = $(this) + , data = $spy.data() + + data.offset = data.offset || {} + + data.offsetBottom && (data.offset.bottom = data.offsetBottom) + data.offsetTop && (data.offset.top = data.offsetTop) + + $spy.affix(data) + }) + }) + + +}(window.jQuery); +/* ========================================================== + * bootstrap-alert.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT NO CONFLICT + * ================= */ + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + /* ALERT DATA-API + * ============== */ + + $(document).on('click.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery); +/* ============================================================ + * bootstrap-button.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON NO CONFLICT + * ================== */ + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + /* BUTTON DATA-API + * =============== */ + + $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + +}(window.jQuery); +/* ============================================================= + * bootstrap-collapse.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSE PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSE NO CONFLICT + * ==================== */ + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + /* COLLAPSE DATA-API + * ================= */ + + $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + +}(window.jQuery); +/* ========================================================== + * bootstrap-carousel.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = options + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.item.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle() + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + e = $.Event('slide', { + relatedTarget: $next[0] + }) + + if ($next.hasClass('active')) return + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL NO CONFLICT + * ==================== */ + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + /* CAROUSEL DATA-API + * ================= */ + + $(document).on('click.carousel.data-api', '[data-slide]', function (e) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + +}(window.jQuery); +/* ============================================================= + * bootstrap-typeahead.js v2.2.2 + * http://twitter.github.com/bootstrap/javascript.html#typeahead + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function($){ + + "use strict"; // jshint ;_; + + + /* TYPEAHEAD PUBLIC CLASS DEFINITION + * ================================= */ + + var Typeahead = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.typeahead.defaults, options) + this.matcher = this.options.matcher || this.matcher + this.sorter = this.options.sorter || this.sorter + this.highlighter = this.options.highlighter || this.highlighter + this.updater = this.options.updater || this.updater + this.source = this.options.source + this.$menu = $(this.options.menu) + this.shown = false + this.listen() + } + + Typeahead.prototype = { + + constructor: Typeahead + + , select: function () { + var val = this.$menu.find('.active').attr('data-value') + this.$element + .val(this.updater(val)) + .change() + return this.hide() + } + + , updater: function (item) { + return item + } + + , show: function () { + var pos = $.extend({}, this.$element.position(), { + height: this.$element[0].offsetHeight + }) + + this.$menu + .insertAfter(this.$element) + .css({ + top: pos.top + pos.height + , left: pos.left + }) + .show() + + this.shown = true + return this + } + + , hide: function () { + this.$menu.hide() + this.shown = false + return this + } + + , lookup: function (event) { + var items + + this.query = this.$element.val() + + if (!this.query || this.query.length < this.options.minLength) { + return this.shown ? this.hide() : this + } + + items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source + + return items ? this.process(items) : this + } + + , process: function (items) { + var that = this + + items = $.grep(items, function (item) { + return that.matcher(item) + }) + + items = this.sorter(items) + + if (!items.length) { + return this.shown ? this.hide() : this + } + + return this.render(items.slice(0, this.options.items)).show() + } + + , matcher: function (item) { + return ~item.toLowerCase().indexOf(this.query.toLowerCase()) + } + + , sorter: function (items) { + var beginswith = [] + , caseSensitive = [] + , caseInsensitive = [] + , item + + while (item = items.shift()) { + if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item) + else if (~item.indexOf(this.query)) caseSensitive.push(item) + else caseInsensitive.push(item) + } + + return beginswith.concat(caseSensitive, caseInsensitive) + } + + , highlighter: function (item) { + var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&') + return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) { + return '' + match + '' + }) + } + + , render: function (items) { + var that = this + + items = $(items).map(function (i, item) { + i = $(that.options.item).attr('data-value', item) + i.find('a').html(that.highlighter(item)) + return i[0] + }) + + items.first().addClass('active') + this.$menu.html(items) + return this + } + + , next: function (event) { + var active = this.$menu.find('.active').removeClass('active') + , next = active.next() + + if (!next.length) { + next = $(this.$menu.find('li')[0]) + } + + next.addClass('active') + } + + , prev: function (event) { + var active = this.$menu.find('.active').removeClass('active') + , prev = active.prev() + + if (!prev.length) { + prev = this.$menu.find('li').last() + } + + prev.addClass('active') + } + + , listen: function () { + this.$element + .on('blur', $.proxy(this.blur, this)) + .on('keypress', $.proxy(this.keypress, this)) + .on('keyup', $.proxy(this.keyup, this)) + + if (this.eventSupported('keydown')) { + this.$element.on('keydown', $.proxy(this.keydown, this)) + } + + this.$menu + .on('click', $.proxy(this.click, this)) + .on('mouseenter', 'li', $.proxy(this.mouseenter, this)) + } + + , eventSupported: function(eventName) { + var isSupported = eventName in this.$element + if (!isSupported) { + this.$element.setAttribute(eventName, 'return;') + isSupported = typeof this.$element[eventName] === 'function' + } + return isSupported + } + + , move: function (e) { + if (!this.shown) return + + switch(e.keyCode) { + case 9: // tab + case 13: // enter + case 27: // escape + e.preventDefault() + break + + case 38: // up arrow + e.preventDefault() + this.prev() + break + + case 40: // down arrow + e.preventDefault() + this.next() + break + } + + e.stopPropagation() + } + + , keydown: function (e) { + this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27]) + this.move(e) + } + + , keypress: function (e) { + if (this.suppressKeyPressRepeat) return + this.move(e) + } + + , keyup: function (e) { + switch(e.keyCode) { + case 40: // down arrow + case 38: // up arrow + case 16: // shift + case 17: // ctrl + case 18: // alt + break + + case 9: // tab + case 13: // enter + if (!this.shown) return + this.select() + break + + case 27: // escape + if (!this.shown) return + this.hide() + break + + default: + this.lookup() + } + + e.stopPropagation() + e.preventDefault() + } + + , blur: function (e) { + var that = this + setTimeout(function () { that.hide() }, 150) + } + + , click: function (e) { + e.stopPropagation() + e.preventDefault() + this.select() + } + + , mouseenter: function (e) { + this.$menu.find('.active').removeClass('active') + $(e.currentTarget).addClass('active') + } + + } + + + /* TYPEAHEAD PLUGIN DEFINITION + * =========================== */ + + var old = $.fn.typeahead + + $.fn.typeahead = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('typeahead') + , options = typeof option == 'object' && option + if (!data) $this.data('typeahead', (data = new Typeahead(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.typeahead.defaults = { + source: [] + , items: 8 + , menu: '' + , item: '
  • ' + , minLength: 1 + } + + $.fn.typeahead.Constructor = Typeahead + + + /* TYPEAHEAD NO CONFLICT + * =================== */ + + $.fn.typeahead.noConflict = function () { + $.fn.typeahead = old + return this + } + + + /* TYPEAHEAD DATA-API + * ================== */ + + $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) { + var $this = $(this) + if ($this.data('typeahead')) return + e.preventDefault() + $this.typeahead($this.data()) + }) + +}(window.jQuery); diff --git a/wp-content/themes/the-bootstrap/js/bootstrap.min.js b/wp-content/themes/the-bootstrap/js/bootstrap.min.js new file mode 100644 index 0000000..e467960 --- /dev/null +++ b/wp-content/themes/the-bootstrap/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/** +* Bootstrap.js by @fat & @mdo +* plugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js +* Copyright 2012 Twitter, Inc. +* http://www.apache.org/licenses/LICENSE-2.0.txt +*/ +!function(a){a(function(){a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.focus().trigger("shown")}):b.$element.focus().trigger("shown")})},hide:function(b){b&&b.preventDefault();var c=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]!==a.target&&!b.$element.has(a.target).length&&b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){b.which==27&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(a){this.$element.hide().trigger("hidden"),this.backdrop()},removeBackdrop:function(){this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('
    ' ); + + tha_entry_bottom(); ?> + + +
    > + + + + +
    + +
    + +
    + ' . __( 'Posted in %1$s.', 'the-bootstrap' ) . '', $categories_list ); + if ( $tags_list ) + printf( '' . __( 'Tagged %1$s.', 'the-bootstrap' ) . '', $tags_list ); + ?> +
    + + +
    + + + +
    > + + +
    +
    +
    + →', 'the-bootstrap' ) ); + the_bootstrap_link_pages(); ?> +
    +
    + +
    + +
    + + +
    + +
    > + + + + + +
    + +
    + +
    + + + + + →', 'the-bootstrap' ) ); + the_bootstrap_link_pages(); ?> +
    + + +
    + ' . __( 'Posted in %1$s.', 'the-bootstrap' ) . '', $categories_list ); + ?> +
    + + +
    +..` + +And constructed with the following guidelines: + +* Breaking backward compatibility bumps the major (and resets the minor and patch) +* New additions without breaking backward compatibility bumps the minor (and resets the patch) +* Bug fixes and misc changes bumps the patch + +For more information on SemVer, please visit (http://semver.org/). \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/readme.txt b/wp-content/themes/the-bootstrap/readme.txt new file mode 100644 index 0000000..c231722 --- /dev/null +++ b/wp-content/themes/the-bootstrap/readme.txt @@ -0,0 +1,238 @@ +=== The Bootstrap === +Contributors: kobenland +Tags: black, blue, white, light, two-columns, left-sidebar, right-sidebar, flexible-width, custom-header, custom-background, threaded-comments, translation-ready, microformats, custom-menu, post-formats, sticky-posts +Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=542W6XT4PLT4L +Requires at least: 3.3.0 +Tested up to: 3.5.0 +Stable tag: 2.0.1 + +A WordPress Theme based on Bootstrap, from Twitter + +== Description == + +The Theme is 100% responsive - you do not need a seperate mobile-Theme with this layout. +It has a seperate Sidebar just for image pages, to make it a special place to show your pictures! +The Bootstrap is fully compatible with WordPress SEO by Yoast! + +Please note: + +Due to design restrictions in Bootstrap, the navigation menu can "only" be three levels deep, while parent menu items only serves as a headline for the child menu items and can not be accessed over the navigation menu. +The Footer Menu is best suitable for short menues with just a few links. It replaces the credits section, once a menu has been assigned to the location. +To take advantage of all the possibilites Bootstrap has to offer, Bootstrap requires jQuery 1.7, which does not come with WordPress versions prior to 3.3.0. Consider adding a plugin that provides the lates version of jQuery, if you want to use this Theme with WordPress 3.2.1 or lower. + += License = +Unless otherwise specified, all the theme files, scripts and images are licensed under GNU General Public Licemse. +The exceptions to this license are as follows: +* Bootstrap by Twitter and the Glyphicon set are licensed under the GPL-compatible [http://www.apache.org/licenses/LICENSE-2.0 Apache License v2.0] +* html5shiv is licensed under MIT +* Respond.js: Copyright 2011: Scott Jehl, scottjehl.com. Dual licensed under the MIT or GPL Version 2 licenses. +* Twitter Icon: [https://twitter.com/about/resources/logos] + += Translations = +I will be more than happy to update the Theme with new locales, as soon as I receive them! +Currently available in: + +* Armenian +* Dutch +* English +* French +* German +* Hungarian +* Japanese +* Russian + + +== Installation == + +1. Download The Bootstrap. +2. Unzip the folder into the `/wp-content/themes/` directory +3. Activate the Theme through the 'Appearance' menu in WordPress + + +== Versioning == + +For transparency and insight into my release cycle, and for striving to maintain backward compatibility, The Bootstrap - as all my WordPress APIs - will be maintained under the Semantic Versioning guidelines. + +Releases will be numbered with the following format: + +`..` + +And constructed with the following guidelines: + +* Breaking backward compatibility bumps the major (and resets the minor and patch) +* New additions without breaking backward compatibility bumps the minor (and resets the patch) +* Bug fixes and misc changes bumps the patch + +For more information on SemVer, please visit [http://semver.org/]. + + +== Changelog == + += 2.0.1 = +* Updated Twitter Bootstrap to 2.2.2 + += 2.0.0 = + +THIS IS A MAJOR RELEASE, BREAKING BACKWARD COMPATIBILITY IN SOME PLACES + +* Theme Options will only be available for outdated WordPress versions and will be removed in the future. Going Customizer all the way! +* Updated Twitter Bootstrap to 2.1 +* Updated html5shiv to 3.6.1 +* Updated Russian translation to fix a bug in the carousel navigation +* Added Armenian translation. Props Narine +* Navbar menue now supports a third level of menu items +* Nav-pill menues now also support a second and third level of menu items +* Improved support for all possible amounts of gallery columns, limiting at eight +* Improved pagination to handle query strings better +* Twitter status embeds are now responsive, too. Props @kovshenin +* Now only shows category and tags when there are any, pending core implementation +* Fixed undefined variable notice in image.php +* Order of words in image navigation can now be localized +* Various other small improvements + += 1.8.2 = +* Added missing classname change to style.min.css + += 1.8.1 = +* Fixed an alignment-bug in the footer for webkit-browsers +* Fixed a bug where gallery thumbnails were only 1px wide on mobile devices + += 1.8.0 = +* Adds support for the Theme Hook Alliance project. Props @zamoose +* Reintroduce Glyphicon Icon support. See https://github.com/twitter/bootstrap/issues/3942#issuecomment-6844728 + += 1.7.1 = +* Fixed a bug where the not-found template would be called wrong in certain templates + += 1.7.0 = +* Added response.js for the use of media queries in InternetExplorer 6-8 +* Changed site title and description transport method to postMessage in Theme Customizer +* Displays a message to administrators, when no menu has ben set for the main navigation +* Added Japanese translation. Props Yoichi Kikuchi +* Added Hungarian translation. Props Ochronus +* Fixed a layout bug for attachment pages on narrow screens +* Fixed a bug where the header image height was not adjusted on narrow screens + += 1.6.0 = +* Added a Gallery Widget for sidebars +* Updated Twitter Bootstrap to 2.0.4 +* Added copyright and license info to Yoast's code +* Added French translation. Props Pistil + += 1.5.0 = +* Added missing Theme Option to Theme Customizer +* Add support (style) for Jetpack subscription checkboxes +* Introduced The_Bootstrap_Nav_Walker to avoid JavaScript handling of navbar markup +* Fixed a bug where images on attachment pages were not displayed in IE8 +* Updated German language file + += 1.4.0 = +* Added Theme Options to Theme Customizer for WP 3.4 +* Navbar can now optionally be fixed on top or bottom of the screen +* Now loads Child Theme stylesheet automatically, when a Child Theme is active +* Comment form on attachement pages now adhere to layout settings +* Added support for PATHINFO permalinks in pagination +* Comment-reply script now hooked to the commentform. + += 1.3.1 = +* Fixed a bug for IE9, misinterpreting a margin in the navbar + += 1.3.0 = +* Added Theme Options page +* Added support for Post Thumbnails. Displayed on posts with the standard post format. +* Added full width template +* Removed post title and added thumbnail look to the status post format +* Added Russian translation. Props serzhenko +* Updated Dutch translation. Props m038 +* Updated German translation +* Updated Bootstrap Core to 2.0.3 +* Changed default column count for galleries to 4 +* Updated screenshot + += 1.2.6 = +* Added Dutch translation. Props m038 +* Changed version determination implementation to cope with WP 3.3.2 security release. Thank you Chip Bennett for taking care of the ticket so quickly! +* Code cleanup and formatting + += 1.2.5 = +* Added Custom Image Header support for pre-3.4 +* Added Custom Background support for post-3.3.1 +* Improved responsive styling on mobile devices +* Improved comment form label layout +* Added padding on site footer +* Removed undefined variable from comment form url input +* Added license information +* Now shows nav toggle only when there actually is a nav menu set + += 1.2.4 = +* Capsuled version retreiving into its own function to handle WP 3.4 changes +* Moved template tags in their own file +* Updated script dependencies +* Fixed a bug in displaying the carousel. Props Griden + += 1.2.3 = +* Fixed credits output + += 1.2.2 = +* Added image carousel for the first ten images of a gallery post-format +* Added default support for Bootstrap jQuery plugins Tooltip, Popover, Alert and Carousel +* Added tow more menu locations, nav pills style (props Benfarhat) +* Define $content_width earlier, so embeds work how they are supposed to +* Removed a misplaced character in Title title-attributes +* Removed wp_page_menu callback since `wp_page_menu()` never gets called +* Added a short description for image sidebar +* Added some French localization +* Minor bugfix in header admin panel + += 1.2.1 = +* Lets keep custom backgrounds active and live with it for now + += 1.2.0 = +* Added support for custom headers with flexible height in WordPress 3.4 +* Styled breadcrumb navigation for WordPress SEO by Yoast +* Adjusted container margin to reflect Bootstrap standard +* Temporarily removed custom background due to margin issues with content + += 1.1.4 = +* Quote Post Formats are displayed more consistently now +* Optimized post navigation and waived fallback +* Optimized layout for tablets +* Fixed a bug where attachement images were displayed to big +* Made it easier to override title filter +* Shortened search button text so it doesn't break on narrow screens +* Added attribute to attachement links for smooth navigation in galleries +* Added German translation + += 1.1.3 = +* Added posts navigation for blogs without permalinks +* Improved title behavior + += 1.1.2 = +* Fixed a bug, to load translations +* Fixed some minor textdomain issues +* Fixed a issue where "Comments are disabled" notice was not displayed when there were no comments yet. +* Updated readme.txt to reflect the correct GPL version + += 1.1.1 = +* Fixed an embarassing bug, where large images were overflowing the post content +* Added HTML5 support for IE browsers + += 1.1.0 = +* Added Image Meta Widget for Attachment pages +* Added next/previous post navigation +* Fixed a bug where the comment textarea was overflowing the content area +* Fixed a bug where the linked images wouldn't resize and overflow the content area +* Let the link to WordPress open in a new window/tab +* Added a pagination bar +* Styled page links for paginated posts +* Changed the location of the post edit link +* Updated Bootstrap to 2.0.2 and removed Glyphicon icon set as its license is CC BY 3.0. + += 1.0.1 = +* Removed campaign tracking from Author URI and Theme URI. +* Changed version number on js files to actual version +* Updated function calls with the current prefix +* Added template for Video Post Format + += 1.0.0 = +* Initial Submission to the WordPress Theme Repository diff --git a/wp-content/themes/the-bootstrap/screenshot.png b/wp-content/themes/the-bootstrap/screenshot.png new file mode 100644 index 0000000..f58fb70 Binary files /dev/null and b/wp-content/themes/the-bootstrap/screenshot.png differ diff --git a/wp-content/themes/the-bootstrap/search.php b/wp-content/themes/the-bootstrap/search.php new file mode 100644 index 0000000..94a00d0 --- /dev/null +++ b/wp-content/themes/the-bootstrap/search.php @@ -0,0 +1,45 @@ + + +
    + +
    + + + + + +
    + +
    + + + + + + + + + +
    + + +
    + + + + + +
    + +
    + + + * + * 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 3 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, see . + */ + + +/* =Elements +-------------------------------------------------------------- */ + +blockquote cite:before { + content: '\2014 \00A0'; +} + +blockquote cite { + color: #999999; + display: block; + font-size: 13px; + line-height: 18px; +} + +figure { + margin: 0; +} + +h1, h2, h3, h4, h5, h6, .clear { + clear: both; +} + + +/* =Classes +-------------------------------------------------------------- */ + +.assistive-text { + clip: rect(1px, 1px, 1px, 1px); + position: absolute !important; +} + +body > .container { + margin: 18px auto; +} + +/* Right Content */ +.sidebar-content #primary, +.sidebar-content #attachment-comment { + float: right; + margin: 0 20px 0 0; +} + +.block { + display: block; +} + + +/* =Page +-------------------------------------------------------------- */ + +#page { + background-color: #FFFFFF; + margin-right: -20px; + padding: 14px 0 0; +} + +#header-image { + display: block; +} + +#menu-alert { + margin: 4px 0 0; + padding: 6px 35px 6px 14px; + position: absolute; +} + +#branding hgroup, +#header-image, +.entry-content { + margin-bottom: 18px; +} + +.entry-attachment { + margin-bottom: 36px; +} + +.single #author-info, +.author #author-info, +.single article.post, +.single article.page { + margin-bottom: 54px; +} + +#author-info, +article.post, +article.page { + margin-bottom: 72px; +} + +.page-header, +.entry-content { + word-wrap: break-word; +} + +.post-password-form legend { + font-size: inherit; +} + +.entry-content .twitter-tweet-rendered { + max-width: 100% !important; +} + + +/* =Comments +-------------------------------------------------------------- */ + +#comments-title { + border-bottom: 1px solid #EEEEEE; + font-size: 19.5px; + margin: 0 0 27px; +} + +#comment, +.entry-content iframe, +.entry-content embed { + max-width: 100%; +} + +.commentlist > li { + margin-bottom: 36px; +} + +.commentlist ul.children { + margin: 10px 0 18px; + list-style: none; +} + +#reply-title { + position: relative; +} + +#reply-title small { + position: absolute; + right: 0; + top: 7px; +} + + +/* =Sidebar +-------------------------------------------------------------- */ + +.form-search { + margin: 0; +} + +.widget { + word-wrap: break-word; +} + +.widget .wp-caption { + display: inline-block; +} + + +/* =Images +-------------------------------------------------------------- */ + +.entry-content .post-thumbnail { + margin: 0 20px 20px 0; +} + +.entry-attachment .thumbnail.attachment-table { + display: table; + margin: 0 auto; +} + +.thumbnail > img { + width: auto\9; /* Cure IE8 max-width bug */ +} + +img.wp-smiley { + border: none; + margin-bottom: 0; + margin-top: 0; + padding: 0; +} + +.gallery-columns-3.thumbnails [class*="span"] { + width: 29.3%; +} +.gallery-columns-5.thumbnails [class*="span"] { + width: 15.9%; +} +.gallery-columns-6.thumbnails [class*="span"] { + width: 12.6%; +} +.gallery-columns-7.thumbnails [class*="span"] { + width: 10.2%; +} + + +/* =Footer +-------------------------------------------------------------- */ + +#colophon .credits { + margin: 0; +} + +#site-generator { + float: right; + font-family: Georgia, "Bitstream Charter", serif; + font-style: italic; +} + +#site-generator a { + background: url("img/wordpress.png") no-repeat scroll left center transparent; + color: #787878; + display: inline-block; + line-height: 16px; + padding-left: 20px; + text-decoration: none; +} + +#site-generator.footer-nav-menu a { + margin-top: 10px; +} + +table .label { + background-color: transparent; + border-radius: none; + color: inherit; + font-size: inherit; + text-transform: inherit; +} + + +/* =Jetpack Support +-------------------------------------------------------------- */ + +.comment-subscription-form > input[type=checkbox] { + position: absolute; +} + +.comment-subscription-form > label { + min-height: 18px; + padding-left: 18px; +} + + +/* =Bootstrap Adjustments +-------------------------------------------------------------- */ + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; +} + +#comment, +.thumbnail { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.label .post-edit-link, +.label .comment-edit-link { + color: #FFFFFF; +} + +.navbar-search { + height: 34px; +} + +.pagination span { + background-color: #f5f5f5; + color: #999999; + cursor: default; +} + +.pagination span.dots { + background-color: #FFFFFF; +} + + +/* =WordPress Core +-------------------------------------------------------------- */ + +.aligncenter { + display:block; + margin: 0 auto 20px; +} + +.alignright { + float:right; + margin: 0 0 20px 20px; +} + +.alignleft { + float:left; + margin: 0 20px 20px 0; +} + +.wp-caption { + max-width: 100%; +} + +.wp-caption .wp-caption-text, +.gallery-caption, +.entry-caption { + padding: 0 9px 9px; + text-align: center; +} + +.wp-caption .wp-caption-text { + padding-top: 9px; +} + +.wp-caption.alignnone { + margin: 5px 20px 20px 0; +} + +.wp-caption.alignleft { + margin: 5px 20px 20px 0; +} + +.wp-caption.alignright { + margin: 5px 0 20px 20px; +} + +.sticky {} +.bypostauthor {} + + +/* =Responsiveness +-------------------------------------------------------------- */ + +@media (max-width: 767px) { + body { + padding:0; + } + .container { + width: auto; + padding: 0 10px; + } + #page { + margin: 0; + padding: 10px; + } + .thumbnail[class*="span"], + .gallery [class*="span"] .thumbnail { + display: table; + float: left; + } + .carousel .item > img { + width: 100%; + } + .thumbnails > li { + float: left; + margin-left: 20px; + } + .gallery-columns-2.thumbnails > li:nth-child(2n+1), + .gallery-columns-3.thumbnails > li:nth-child(3n+1), + .gallery-columns-4.thumbnails > li:nth-child(4n+1), + .gallery-columns-5.thumbnails > li:nth-child(5n+1), + .gallery-columns-6.thumbnails > li:nth-child(6n+1), + .gallery-columns-7.thumbnails > li:nth-child(7n+1), + .gallery-columns-8.thumbnails > li:nth-child(8n+1), + .gallery-columns-1.thumbnails > li { + margin-left:0; + } + .gallery-columns-2.thumbnails [class*="span"] { + width: 47.4%; + } + .gallery-columns-3.thumbnails [class*="span"] { + width: 29.9%; + } + .gallery-columns-4.thumbnails [class*="span"] { + width: 21.2%; + } + .gallery-columns-6.thumbnails [class*="span"] { + width: 12.4%; + } + .gallery-columns-7.thumbnails [class*="span"] { + width: 9.9%; + } + .gallery-columns-8.thumbnails [class*="span"] { + width: 8.7%; + } + .sidebar-content #primary, + .sidebar-content #attachment-comment { + float: none; + margin: inherit; + } + #s { + display: inline-block; + } + #site-generator, + #site-generator.footer-nav-menu a { + float: none; + margin-top: 5px; + } + textarea[class*="span"] { + height: auto; + } + .navbar-fixed-top, .navbar-fixed-bottom { + margin: 0; + } +} +@media (min-width: 768px) and (max-width: 778px) { + #page { + margin-right: -15px; + } +} +@media (min-width: 768px) and (max-width: 979px) { + .dl-horizontal dt { + width: 85px; + } + .dl-horizontal dd { + margin-left: 95px; + } +} +@media (min-width: 1200px) { + #page { + margin-right: -30px; + padding: 24px 0 10px; + } + .sidebar-content #primary, + .sidebar-content #attachment-comment { + margin-right: 30px; + } + .wp-caption { + display: table; + } +} + + +/* End of file style.css */ +/* Location: ./wp-content/themes/the-bootstrap/style.css */ \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/style.min.css b/wp-content/themes/the-bootstrap/style.min.css new file mode 100644 index 0000000..5d8e556 --- /dev/null +++ b/wp-content/themes/the-bootstrap/style.min.css @@ -0,0 +1 @@ +blockquote cite:before{content:'\2014 \00A0';}blockquote cite{color:#999;display:block;font-size:13px;line-height:18px;}figure{margin:0;}h1,h2,h3,h4,h5,h6,.clear{clear:both;}.assistive-text{clip:rect(1px,1px,1px,1px);position:absolute !important;}body>.container{margin:18px auto;}.sidebar-content #primary,.sidebar-content #attachment-comment{float:right;margin:0 20px 0 0;}.block{display:block;}#page{background-color:#fff;margin-right:-20px;padding:14px 0 0;}#header-image{display:block;}#menu-alert{margin:4px 0 0;padding:6px 35px 6px 14px;position:absolute;}#branding hgroup,#header-image,.entry-content{margin-bottom:18px;}.entry-attachment{margin-bottom:36px;}.single #author-info,.author #author-info,.single article.post,.single article.page{margin-bottom:54px;}#author-info,article.post,article.page{margin-bottom:72px;}.page-header,.entry-content{word-wrap:break-word;}.post-password-form legend{font-size:inherit;}.entry-content .twitter-tweet-rendered{max-width:100% !important;}#comments-title{border-bottom:1px solid #eee;font-size:19.5px;margin:0 0 27px;}#comment,.entry-content iframe,.entry-content embed{max-width:100%;}.commentlist>li{margin-bottom:36px;}.commentlist ul.children{margin:10px 0 18px;list-style:none;}#reply-title{position:relative;}#reply-title small{position:absolute;right:0;top:7px;}.form-search{margin:0;}.widget{word-wrap:break-word;}.widget .wp-caption{display:inline-block;}.entry-content .post-thumbnail{margin:0 20px 20px 0;}.entry-attachment .thumbnail.attachment-table{display:table;margin:0 auto;}.thumbnail>img{width:auto\9;}img.wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0;}.gallery-columns-3.thumbnails [class*="span"]{width:29.3%;}.gallery-columns-5.thumbnails [class*="span"]{width:15.9%;}.gallery-columns-6.thumbnails [class*="span"]{width:12.6%;}.gallery-columns-7.thumbnails [class*="span"]{width:10.2%;}#colophon .credits{margin:0;}#site-generator{float:right;font-family:Georgia,"Bitstream Charter",serif;font-style:italic;}#site-generator a{background:url("img/wordpress.png") no-repeat scroll left center transparent;color:#787878;display:inline-block;line-height:16px;padding-left:20px;text-decoration:none;}#site-generator.footer-nav-menu a{margin-top:10px;}table .label{background-color:transparent;border-radius:none;color:inherit;font-size:inherit;text-transform:inherit;}.comment-subscription-form>input[type=checkbox]{position:absolute;}.comment-subscription-form>label{min-height:18px;padding-left:18px;}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;}#comment,.thumbnail{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}.label .post-edit-link,.label .comment-edit-link{color:#fff;}.navbar-search{height:34px;}.pagination span{background-color:#f5f5f5;color:#999;cursor:default;}.pagination span.dots{background-color:#fff;}.aligncenter{display:block;margin:0 auto 20px;}.alignright{float:right;margin:0 0 20px 20px;}.alignleft{float:left;margin:0 20px 20px 0;}.wp-caption{max-width:100%;}.wp-caption .wp-caption-text,.gallery-caption,.entry-caption{padding:0 9px 9px;text-align:center;}.wp-caption .wp-caption-text{padding-top:9px;}.wp-caption.alignnone{margin:5px 20px 20px 0;}.wp-caption.alignleft{margin:5px 20px 20px 0;}.wp-caption.alignright{margin:5px 0 20px 20px;}.sticky{}.bypostauthor{}@media(max-width:767px){body{padding:0;}.container{width:auto;padding:0 10px;}#page{margin:0;padding:10px;}.thumbnail[class*="span"],.gallery [class*="span"] .thumbnail{display:table;float:left;}.carousel .item>img{width:100%;}.thumbnails>li{float:left;margin-left:20px;}.gallery-columns-2.thumbnails>li:nth-child(2n+1),.gallery-columns-3.thumbnails>li:nth-child(3n+1),.gallery-columns-4.thumbnails>li:nth-child(4n+1),.gallery-columns-5.thumbnails>li:nth-child(5n+1),.gallery-columns-6.thumbnails>li:nth-child(6n+1),.gallery-columns-7.thumbnails>li:nth-child(7n+1),.gallery-columns-8.thumbnails>li:nth-child(8n+1),.gallery-columns-1.thumbnails>li{margin-left:0;}.gallery-columns-2.thumbnails [class*="span"]{width:47.4%;}.gallery-columns-3.thumbnails [class*="span"]{width:29.9%;}.gallery-columns-4.thumbnails [class*="span"]{width:21.2%;}.gallery-columns-6.thumbnails [class*="span"]{width:12.4%;}.gallery-columns-7.thumbnails [class*="span"]{width:9.9%;}.gallery-columns-8.thumbnails [class*="span"]{width:8.7%;}.sidebar-content #primary,.sidebar-content #attachment-comment{float:none;margin:inherit;}#s{display:inline-block;}#site-generator,#site-generator.footer-nav-menu a{float:none;margin-top:5px;}textarea[class*="span"]{height:auto;}.navbar-fixed-top,.navbar-fixed-bottom{margin:0;}}@media(min-width:768px) and (max-width:778px){#page{margin-right:-15px;}}@media(min-width:768px) and (max-width:979px){.dl-horizontal dt{width:85px;}.dl-horizontal dd{margin-left:95px;}}@media(min-width:1200px){#page{margin-right:-30px;padding:24px 0 10px;}.sidebar-content #primary,.sidebar-content #attachment-comment{margin-right:30px;}.wp-caption{display:table;}} \ No newline at end of file diff --git a/wp-content/themes/the-bootstrap/tag.php b/wp-content/themes/the-bootstrap/tag.php new file mode 100644 index 0000000..806d565 --- /dev/null +++ b/wp-content/themes/the-bootstrap/tag.php @@ -0,0 +1,52 @@ + + +
    + + +
    + + +
    ' ); + } ?> +
    + + +
    + + + + + +
    + +
    + +
    + +
    + + li { + margin-left: 30px; + } + .row-fluid .thumbnails { + margin-left: 0; + } +} + +@media (min-width: 768px) and (max-width: 979px) { + .row { + margin-left: -20px; + *zoom: 1; + } + .row:before, + .row:after { + display: table; + line-height: 0; + content: ""; + } + .row:after { + clear: both; + } + [class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; + } + .container, + .navbar-static-top .container, + .navbar-fixed-top .container, + .navbar-fixed-bottom .container { + width: 724px; + } + .span12 { + width: 724px; + } + .span11 { + width: 662px; + } + .span10 { + width: 600px; + } + .span9 { + width: 538px; + } + .span8 { + width: 476px; + } + .span7 { + width: 414px; + } + .span6 { + width: 352px; + } + .span5 { + width: 290px; + } + .span4 { + width: 228px; + } + .span3 { + width: 166px; + } + .span2 { + width: 104px; + } + .span1 { + width: 42px; + } + .offset12 { + margin-left: 764px; + } + .offset11 { + margin-left: 702px; + } + .offset10 { + margin-left: 640px; + } + .offset9 { + margin-left: 578px; + } + .offset8 { + margin-left: 516px; + } + .offset7 { + margin-left: 454px; + } + .offset6 { + margin-left: 392px; + } + .offset5 { + margin-left: 330px; + } + .offset4 { + margin-left: 268px; + } + .offset3 { + margin-left: 206px; + } + .offset2 { + margin-left: 144px; + } + .offset1 { + margin-left: 82px; + } + .row-fluid { + width: 100%; + *zoom: 1; + } + .row-fluid:before, + .row-fluid:after { + display: table; + line-height: 0; + content: ""; + } + .row-fluid:after { + clear: both; + } + .row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.7624309392265194%; + *margin-left: 2.709239449864817%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .row-fluid [class*="span"]:first-child { + margin-left: 0; + } + .row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; + } + .row-fluid .span11 { + width: 91.43646408839778%; + *width: 91.38327259903608%; + } + .row-fluid .span10 { + width: 82.87292817679558%; + *width: 82.81973668743387%; + } + .row-fluid .span9 { + width: 74.30939226519337%; + *width: 74.25620077583166%; + } + .row-fluid .span8 { + width: 65.74585635359117%; + *width: 65.69266486422946%; + } + .row-fluid .span7 { + width: 57.18232044198895%; + *width: 57.12912895262725%; + } + .row-fluid .span6 { + width: 48.61878453038674%; + *width: 48.56559304102504%; + } + .row-fluid .span5 { + width: 40.05524861878453%; + *width: 40.00205712942283%; + } + .row-fluid .span4 { + width: 31.491712707182323%; + *width: 31.43852121782062%; + } + .row-fluid .span3 { + width: 22.92817679558011%; + *width: 22.87498530621841%; + } + .row-fluid .span2 { + width: 14.3646408839779%; + *width: 14.311449394616199%; + } + .row-fluid .span1 { + width: 5.801104972375691%; + *width: 5.747913483013988%; + } + .row-fluid .offset12 { + margin-left: 105.52486187845304%; + *margin-left: 105.41847889972962%; + } + .row-fluid .offset12:first-child { + margin-left: 102.76243093922652%; + *margin-left: 102.6560479605031%; + } + .row-fluid .offset11 { + margin-left: 96.96132596685082%; + *margin-left: 96.8549429881274%; + } + .row-fluid .offset11:first-child { + margin-left: 94.1988950276243%; + *margin-left: 94.09251204890089%; + } + .row-fluid .offset10 { + margin-left: 88.39779005524862%; + *margin-left: 88.2914070765252%; + } + .row-fluid .offset10:first-child { + margin-left: 85.6353591160221%; + *margin-left: 85.52897613729868%; + } + .row-fluid .offset9 { + margin-left: 79.8342541436464%; + *margin-left: 79.72787116492299%; + } + .row-fluid .offset9:first-child { + margin-left: 77.07182320441989%; + *margin-left: 76.96544022569647%; + } + .row-fluid .offset8 { + margin-left: 71.2707182320442%; + *margin-left: 71.16433525332079%; + } + .row-fluid .offset8:first-child { + margin-left: 68.50828729281768%; + *margin-left: 68.40190431409427%; + } + .row-fluid .offset7 { + margin-left: 62.70718232044199%; + *margin-left: 62.600799341718584%; + } + .row-fluid .offset7:first-child { + margin-left: 59.94475138121547%; + *margin-left: 59.838368402492065%; + } + .row-fluid .offset6 { + margin-left: 54.14364640883978%; + *margin-left: 54.037263430116376%; + } + .row-fluid .offset6:first-child { + margin-left: 51.38121546961326%; + *margin-left: 51.27483249088986%; + } + .row-fluid .offset5 { + margin-left: 45.58011049723757%; + *margin-left: 45.47372751851417%; + } + .row-fluid .offset5:first-child { + margin-left: 42.81767955801105%; + *margin-left: 42.71129657928765%; + } + .row-fluid .offset4 { + margin-left: 37.01657458563536%; + *margin-left: 36.91019160691196%; + } + .row-fluid .offset4:first-child { + margin-left: 34.25414364640884%; + *margin-left: 34.14776066768544%; + } + .row-fluid .offset3 { + margin-left: 28.45303867403315%; + *margin-left: 28.346655695309746%; + } + .row-fluid .offset3:first-child { + margin-left: 25.69060773480663%; + *margin-left: 25.584224756083227%; + } + .row-fluid .offset2 { + margin-left: 19.88950276243094%; + *margin-left: 19.783119783707537%; + } + .row-fluid .offset2:first-child { + margin-left: 17.12707182320442%; + *margin-left: 17.02068884448102%; + } + .row-fluid .offset1 { + margin-left: 11.32596685082873%; + *margin-left: 11.219583872105325%; + } + .row-fluid .offset1:first-child { + margin-left: 8.56353591160221%; + *margin-left: 8.457152932878806%; + } + input, + textarea, + .uneditable-input { + margin-left: 0; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; + } + input.span12, + textarea.span12, + .uneditable-input.span12 { + width: 710px; + } + input.span11, + textarea.span11, + .uneditable-input.span11 { + width: 648px; + } + input.span10, + textarea.span10, + .uneditable-input.span10 { + width: 586px; + } + input.span9, + textarea.span9, + .uneditable-input.span9 { + width: 524px; + } + input.span8, + textarea.span8, + .uneditable-input.span8 { + width: 462px; + } + input.span7, + textarea.span7, + .uneditable-input.span7 { + width: 400px; + } + input.span6, + textarea.span6, + .uneditable-input.span6 { + width: 338px; + } + input.span5, + textarea.span5, + .uneditable-input.span5 { + width: 276px; + } + input.span4, + textarea.span4, + .uneditable-input.span4 { + width: 214px; + } + input.span3, + textarea.span3, + .uneditable-input.span3 { + width: 152px; + } + input.span2, + textarea.span2, + .uneditable-input.span2 { + width: 90px; + } + input.span1, + textarea.span1, + .uneditable-input.span1 { + width: 28px; + } +} + +@media (max-width: 767px) { + body { + padding-right: 20px; + padding-left: 20px; + } + .navbar-fixed-top, + .navbar-fixed-bottom, + .navbar-static-top { + margin-right: -20px; + margin-left: -20px; + } + .container-fluid { + padding: 0; + } + .dl-horizontal dt { + float: none; + width: auto; + clear: none; + text-align: left; + } + .dl-horizontal dd { + margin-left: 0; + } + .container { + width: auto; + } + .row-fluid { + width: 100%; + } + .row, + .thumbnails { + margin-left: 0; + } + .thumbnails > li { + float: none; + margin-left: 0; + } + [class*="span"], + .row-fluid [class*="span"] { + display: block; + float: none; + width: 100%; + margin-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .span12, + .row-fluid .span12 { + width: 100%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-large, + .input-xlarge, + .input-xxlarge, + input[class*="span"], + select[class*="span"], + textarea[class*="span"], + .uneditable-input { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + } + .input-prepend input, + .input-append input, + .input-prepend input[class*="span"], + .input-append input[class*="span"] { + display: inline-block; + width: auto; + } + .controls-row [class*="span"] + [class*="span"] { + margin-left: 0; + } + .modal { + position: fixed; + top: 20px; + right: 20px; + left: 20px; + width: auto; + margin: 0; + } + .modal.fade.in { + top: auto; + } +} + +@media (max-width: 480px) { + .nav-collapse { + -webkit-transform: translate3d(0, 0, 0); + } + .page-header h1 small { + display: block; + line-height: 20px; + } + input[type="checkbox"], + input[type="radio"] { + border: 1px solid #ccc; + } + .form-horizontal .control-label { + float: none; + width: auto; + padding-top: 0; + text-align: left; + } + .form-horizontal .controls { + margin-left: 0; + } + .form-horizontal .control-list { + padding-top: 0; + } + .form-horizontal .form-actions { + padding-right: 10px; + padding-left: 10px; + } + .modal { + top: 10px; + right: 10px; + left: 10px; + } + .modal-header .close { + padding: 10px; + margin: -10px; + } + .carousel-caption { + position: static; + } +} + +@media (max-width: 979px) { + body { + padding-top: 0; + } + .navbar-fixed-top, + .navbar-fixed-bottom { + position: static; + } + .navbar-fixed-top { + margin-bottom: 20px; + } + .navbar-fixed-bottom { + margin-top: 20px; + } + .navbar-fixed-top .navbar-inner, + .navbar-fixed-bottom .navbar-inner { + padding: 5px; + } + .navbar .container { + width: auto; + padding: 0; + } + .navbar .brand { + padding-right: 10px; + padding-left: 10px; + margin: 0 0 0 -5px; + } + .nav-collapse { + clear: both; + } + .nav-collapse .nav { + float: none; + margin: 0 0 10px; + } + .nav-collapse .nav > li { + float: none; + } + .nav-collapse .nav > li > a { + margin-bottom: 2px; + } + .nav-collapse .nav > .divider-vertical { + display: none; + } + .nav-collapse .nav .nav-header { + color: #777777; + text-shadow: none; + } + .nav-collapse .nav > li > a, + .nav-collapse .dropdown-menu a { + padding: 9px 15px; + font-weight: bold; + color: #777777; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + } + .nav-collapse .btn { + padding: 4px 10px 4px; + font-weight: normal; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + } + .nav-collapse .dropdown-menu li + li a { + margin-bottom: 2px; + } + .nav-collapse .nav > li > a:hover, + .nav-collapse .dropdown-menu a:hover { + background-color: #f2f2f2; + } + .navbar-inverse .nav-collapse .nav > li > a:hover, + .navbar-inverse .nav-collapse .dropdown-menu a:hover { + background-color: #111111; + } + .nav-collapse.in .btn-group { + padding: 0; + margin-top: 5px; + } + .nav-collapse .dropdown-menu { + position: static; + top: auto; + left: auto; + display: block; + float: none; + max-width: none; + padding: 0; + margin: 0 15px; + background-color: transparent; + border: none; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + .nav-collapse .dropdown-menu:before, + .nav-collapse .dropdown-menu:after { + display: none; + } + .nav-collapse .dropdown-menu .divider { + display: none; + } + .nav-collapse .nav > li > .dropdown-menu:before, + .nav-collapse .nav > li > .dropdown-menu:after { + display: none; + } + .nav-collapse .navbar-form, + .nav-collapse .navbar-search { + float: none; + padding: 10px 15px; + margin: 10px 0; + border-top: 1px solid #f2f2f2; + border-bottom: 1px solid #f2f2f2; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + } + .navbar-inverse .nav-collapse .navbar-form, + .navbar-inverse .nav-collapse .navbar-search { + border-top-color: #111111; + border-bottom-color: #111111; + } + .navbar .nav-collapse .nav.pull-right { + float: none; + margin-left: 0; + } + .nav-collapse, + .nav-collapse.collapse { + height: 0; + overflow: hidden; + } + .navbar .btn-navbar { + display: block; + } + .navbar-static .navbar-inner { + padding-right: 10px; + padding-left: 10px; + } +} + +@media (min-width: 980px) { + .nav-collapse.collapse { + height: auto !important; + overflow: visible !important; + } +} diff --git a/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap-responsive.min.css b/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap-responsive.min.css new file mode 100644 index 0000000..7b0158d --- /dev/null +++ b/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap-responsive.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap Responsive v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.hidden{display:none;visibility:hidden}.visible-phone{display:none!important}.visible-tablet{display:none!important}.hidden-desktop{display:none!important}.visible-desktop{display:inherit!important}@media(min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-tablet{display:inherit!important}.hidden-tablet{display:none!important}}@media(max-width:767px){.hidden-desktop{display:inherit!important}.visible-desktop{display:none!important}.visible-phone{display:inherit!important}.hidden-phone{display:none!important}}@media(min-width:1200px){.row{margin-left:-30px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:30px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px}.span12{width:1170px}.span11{width:1070px}.span10{width:970px}.span9{width:870px}.span8{width:770px}.span7{width:670px}.span6{width:570px}.span5{width:470px}.span4{width:370px}.span3{width:270px}.span2{width:170px}.span1{width:70px}.offset12{margin-left:1230px}.offset11{margin-left:1130px}.offset10{margin-left:1030px}.offset9{margin-left:930px}.offset8{margin-left:830px}.offset7{margin-left:730px}.offset6{margin-left:630px}.offset5{margin-left:530px}.offset4{margin-left:430px}.offset3{margin-left:330px}.offset2{margin-left:230px}.offset1{margin-left:130px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%}.row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%}.row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%}.row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%}.row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%}.row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%}.row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%}.row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%}.row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%}.row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%}.row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%}.row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%}.row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%}.row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%}.row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%}.row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%}.row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%}.row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%}.row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%}.row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%}.row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%}.row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%}.row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%}.row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%}.row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%}.row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%}.row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%}.row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%}.row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%}.row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%}.row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%}.row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%}.row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%}.row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%}.row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:30px}input.span12,textarea.span12,.uneditable-input.span12{width:1156px}input.span11,textarea.span11,.uneditable-input.span11{width:1056px}input.span10,textarea.span10,.uneditable-input.span10{width:956px}input.span9,textarea.span9,.uneditable-input.span9{width:856px}input.span8,textarea.span8,.uneditable-input.span8{width:756px}input.span7,textarea.span7,.uneditable-input.span7{width:656px}input.span6,textarea.span6,.uneditable-input.span6{width:556px}input.span5,textarea.span5,.uneditable-input.span5{width:456px}input.span4,textarea.span4,.uneditable-input.span4{width:356px}input.span3,textarea.span3,.uneditable-input.span3{width:256px}input.span2,textarea.span2,.uneditable-input.span2{width:156px}input.span1,textarea.span1,.uneditable-input.span1{width:56px}.thumbnails{margin-left:-30px}.thumbnails>li{margin-left:30px}.row-fluid .thumbnails{margin-left:0}}@media(min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px}.span12{width:724px}.span11{width:662px}.span10{width:600px}.span9{width:538px}.span8{width:476px}.span7{width:414px}.span6{width:352px}.span5{width:290px}.span4{width:228px}.span3{width:166px}.span2{width:104px}.span1{width:42px}.offset12{margin-left:764px}.offset11{margin-left:702px}.offset10{margin-left:640px}.offset9{margin-left:578px}.offset8{margin-left:516px}.offset7{margin-left:454px}.offset6{margin-left:392px}.offset5{margin-left:330px}.offset4{margin-left:268px}.offset3{margin-left:206px}.offset2{margin-left:144px}.offset1{margin-left:82px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%}.row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%}.row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%}.row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%}.row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%}.row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%}.row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%}.row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%}.row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%}.row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%}.row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%}.row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%}.row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%}.row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%}.row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%}.row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%}.row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%}.row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%}.row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%}.row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%}.row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%}.row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%}.row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%}.row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%}.row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%}.row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%}.row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%}.row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%}.row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%}.row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%}.row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%}.row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%}.row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%}.row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%}.row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:710px}input.span11,textarea.span11,.uneditable-input.span11{width:648px}input.span10,textarea.span10,.uneditable-input.span10{width:586px}input.span9,textarea.span9,.uneditable-input.span9{width:524px}input.span8,textarea.span8,.uneditable-input.span8{width:462px}input.span7,textarea.span7,.uneditable-input.span7{width:400px}input.span6,textarea.span6,.uneditable-input.span6{width:338px}input.span5,textarea.span5,.uneditable-input.span5{width:276px}input.span4,textarea.span4,.uneditable-input.span4{width:214px}input.span3,textarea.span3,.uneditable-input.span3{width:152px}input.span2,textarea.span2,.uneditable-input.span2{width:90px}input.span1,textarea.span1,.uneditable-input.span1{width:28px}}@media(max-width:767px){body{padding-right:20px;padding-left:20px}.navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-right:-20px;margin-left:-20px}.container-fluid{padding:0}.dl-horizontal dt{float:none;width:auto;clear:none;text-align:left}.dl-horizontal dd{margin-left:0}.container{width:auto}.row-fluid{width:100%}.row,.thumbnails{margin-left:0}.thumbnails>li{float:none;margin-left:0}[class*="span"],.row-fluid [class*="span"]{display:block;float:none;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto}.controls-row [class*="span"]+[class*="span"]{margin-left:0}.modal{position:fixed;top:20px;right:20px;left:20px;width:auto;margin:0}.modal.fade.in{top:auto}}@media(max-width:480px){.nav-collapse{-webkit-transform:translate3d(0,0,0)}.page-header h1 small{display:block;line-height:20px}input[type="checkbox"],input[type="radio"]{border:1px solid #ccc}.form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left}.form-horizontal .controls{margin-left:0}.form-horizontal .control-list{padding-top:0}.form-horizontal .form-actions{padding-right:10px;padding-left:10px}.modal{top:10px;right:10px;left:10px}.modal-header .close{padding:10px;margin:-10px}.carousel-caption{position:static}}@media(max-width:979px){body{padding-top:0}.navbar-fixed-top,.navbar-fixed-bottom{position:static}.navbar-fixed-top{margin-bottom:20px}.navbar-fixed-bottom{margin-top:20px}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding:5px}.navbar .container{width:auto;padding:0}.navbar .brand{padding-right:10px;padding-left:10px;margin:0 0 0 -5px}.nav-collapse{clear:both}.nav-collapse .nav{float:none;margin:0 0 10px}.nav-collapse .nav>li{float:none}.nav-collapse .nav>li>a{margin-bottom:2px}.nav-collapse .nav>.divider-vertical{display:none}.nav-collapse .nav .nav-header{color:#777;text-shadow:none}.nav-collapse .nav>li>a,.nav-collapse .dropdown-menu a{padding:9px 15px;font-weight:bold;color:#777;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.nav-collapse .btn{padding:4px 10px 4px;font-weight:normal;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.nav-collapse .dropdown-menu li+li a{margin-bottom:2px}.nav-collapse .nav>li>a:hover,.nav-collapse .dropdown-menu a:hover{background-color:#f2f2f2}.navbar-inverse .nav-collapse .nav>li>a:hover,.navbar-inverse .nav-collapse .dropdown-menu a:hover{background-color:#111}.nav-collapse.in .btn-group{padding:0;margin-top:5px}.nav-collapse .dropdown-menu{position:static;top:auto;left:auto;display:block;float:none;max-width:none;padding:0;margin:0 15px;background-color:transparent;border:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.nav-collapse .dropdown-menu:before,.nav-collapse .dropdown-menu:after{display:none}.nav-collapse .dropdown-menu .divider{display:none}.nav-collapse .nav>li>.dropdown-menu:before,.nav-collapse .nav>li>.dropdown-menu:after{display:none}.nav-collapse .navbar-form,.nav-collapse .navbar-search{float:none;padding:10px 15px;margin:10px 0;border-top:1px solid #f2f2f2;border-bottom:1px solid #f2f2f2;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}.navbar-inverse .nav-collapse .navbar-form,.navbar-inverse .nav-collapse .navbar-search{border-top-color:#111;border-bottom-color:#111}.navbar .nav-collapse .nav.pull-right{float:none;margin-left:0}.nav-collapse,.nav-collapse.collapse{height:0;overflow:hidden}.navbar .btn-navbar{display:block}.navbar-static .navbar-inner{padding-right:10px;padding-left:10px}}@media(min-width:980px){.nav-collapse.collapse{height:auto!important;overflow:visible!important}} diff --git a/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap.css b/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap.css new file mode 100644 index 0000000..9fa6f76 --- /dev/null +++ b/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap.css @@ -0,0 +1,5774 @@ +/*! + * Bootstrap v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +nav, +section { + display: block; +} + +audio, +canvas, +video { + display: inline-block; + *display: inline; + *zoom: 1; +} + +audio:not([controls]) { + display: none; +} + +html { + font-size: 100%; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +a:hover, +a:active { + outline: 0; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + width: auto\9; + height: auto; + max-width: 100%; + vertical-align: middle; + border: 0; + -ms-interpolation-mode: bicubic; +} + +#map_canvas img { + max-width: none; +} + +button, +input, +select, +textarea { + margin: 0; + font-size: 100%; + vertical-align: middle; +} + +button, +input { + *overflow: visible; + line-height: normal; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +button, +input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button { + -webkit-appearance: none; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +.clearfix { + *zoom: 1; +} + +.clearfix:before, +.clearfix:after { + display: table; + line-height: 0; + content: ""; +} + +.clearfix:after { + clear: both; +} + +.hide-text { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.input-block-level { + display: block; + width: 100%; + min-height: 30px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +body { + margin: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 20px; + color: #333333; + background-color: #ffffff; +} + +a { + color: #0088cc; + text-decoration: none; +} + +a:hover { + color: #005580; + text-decoration: underline; +} + +.img-rounded { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.img-polaroid { + padding: 4px; + background-color: #fff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); +} + +.img-circle { + -webkit-border-radius: 500px; + -moz-border-radius: 500px; + border-radius: 500px; +} + +.row { + margin-left: -20px; + *zoom: 1; +} + +.row:before, +.row:after { + display: table; + line-height: 0; + content: ""; +} + +.row:after { + clear: both; +} + +[class*="span"] { + float: left; + min-height: 1px; + margin-left: 20px; +} + +.container, +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.span12 { + width: 940px; +} + +.span11 { + width: 860px; +} + +.span10 { + width: 780px; +} + +.span9 { + width: 700px; +} + +.span8 { + width: 620px; +} + +.span7 { + width: 540px; +} + +.span6 { + width: 460px; +} + +.span5 { + width: 380px; +} + +.span4 { + width: 300px; +} + +.span3 { + width: 220px; +} + +.span2 { + width: 140px; +} + +.span1 { + width: 60px; +} + +.offset12 { + margin-left: 980px; +} + +.offset11 { + margin-left: 900px; +} + +.offset10 { + margin-left: 820px; +} + +.offset9 { + margin-left: 740px; +} + +.offset8 { + margin-left: 660px; +} + +.offset7 { + margin-left: 580px; +} + +.offset6 { + margin-left: 500px; +} + +.offset5 { + margin-left: 420px; +} + +.offset4 { + margin-left: 340px; +} + +.offset3 { + margin-left: 260px; +} + +.offset2 { + margin-left: 180px; +} + +.offset1 { + margin-left: 100px; +} + +.row-fluid { + width: 100%; + *zoom: 1; +} + +.row-fluid:before, +.row-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.row-fluid:after { + clear: both; +} + +.row-fluid [class*="span"] { + display: block; + float: left; + width: 100%; + min-height: 30px; + margin-left: 2.127659574468085%; + *margin-left: 2.074468085106383%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.row-fluid [class*="span"]:first-child { + margin-left: 0; +} + +.row-fluid .span12 { + width: 100%; + *width: 99.94680851063829%; +} + +.row-fluid .span11 { + width: 91.48936170212765%; + *width: 91.43617021276594%; +} + +.row-fluid .span10 { + width: 82.97872340425532%; + *width: 82.92553191489361%; +} + +.row-fluid .span9 { + width: 74.46808510638297%; + *width: 74.41489361702126%; +} + +.row-fluid .span8 { + width: 65.95744680851064%; + *width: 65.90425531914893%; +} + +.row-fluid .span7 { + width: 57.44680851063829%; + *width: 57.39361702127659%; +} + +.row-fluid .span6 { + width: 48.93617021276595%; + *width: 48.88297872340425%; +} + +.row-fluid .span5 { + width: 40.42553191489362%; + *width: 40.37234042553192%; +} + +.row-fluid .span4 { + width: 31.914893617021278%; + *width: 31.861702127659576%; +} + +.row-fluid .span3 { + width: 23.404255319148934%; + *width: 23.351063829787233%; +} + +.row-fluid .span2 { + width: 14.893617021276595%; + *width: 14.840425531914894%; +} + +.row-fluid .span1 { + width: 6.382978723404255%; + *width: 6.329787234042553%; +} + +.row-fluid .offset12 { + margin-left: 104.25531914893617%; + *margin-left: 104.14893617021275%; +} + +.row-fluid .offset12:first-child { + margin-left: 102.12765957446808%; + *margin-left: 102.02127659574467%; +} + +.row-fluid .offset11 { + margin-left: 95.74468085106382%; + *margin-left: 95.6382978723404%; +} + +.row-fluid .offset11:first-child { + margin-left: 93.61702127659574%; + *margin-left: 93.51063829787232%; +} + +.row-fluid .offset10 { + margin-left: 87.23404255319149%; + *margin-left: 87.12765957446807%; +} + +.row-fluid .offset10:first-child { + margin-left: 85.1063829787234%; + *margin-left: 84.99999999999999%; +} + +.row-fluid .offset9 { + margin-left: 78.72340425531914%; + *margin-left: 78.61702127659572%; +} + +.row-fluid .offset9:first-child { + margin-left: 76.59574468085106%; + *margin-left: 76.48936170212764%; +} + +.row-fluid .offset8 { + margin-left: 70.2127659574468%; + *margin-left: 70.10638297872339%; +} + +.row-fluid .offset8:first-child { + margin-left: 68.08510638297872%; + *margin-left: 67.9787234042553%; +} + +.row-fluid .offset7 { + margin-left: 61.70212765957446%; + *margin-left: 61.59574468085106%; +} + +.row-fluid .offset7:first-child { + margin-left: 59.574468085106375%; + *margin-left: 59.46808510638297%; +} + +.row-fluid .offset6 { + margin-left: 53.191489361702125%; + *margin-left: 53.085106382978715%; +} + +.row-fluid .offset6:first-child { + margin-left: 51.063829787234035%; + *margin-left: 50.95744680851063%; +} + +.row-fluid .offset5 { + margin-left: 44.68085106382979%; + *margin-left: 44.57446808510638%; +} + +.row-fluid .offset5:first-child { + margin-left: 42.5531914893617%; + *margin-left: 42.4468085106383%; +} + +.row-fluid .offset4 { + margin-left: 36.170212765957444%; + *margin-left: 36.06382978723405%; +} + +.row-fluid .offset4:first-child { + margin-left: 34.04255319148936%; + *margin-left: 33.93617021276596%; +} + +.row-fluid .offset3 { + margin-left: 27.659574468085104%; + *margin-left: 27.5531914893617%; +} + +.row-fluid .offset3:first-child { + margin-left: 25.53191489361702%; + *margin-left: 25.425531914893618%; +} + +.row-fluid .offset2 { + margin-left: 19.148936170212764%; + *margin-left: 19.04255319148936%; +} + +.row-fluid .offset2:first-child { + margin-left: 17.02127659574468%; + *margin-left: 16.914893617021278%; +} + +.row-fluid .offset1 { + margin-left: 10.638297872340425%; + *margin-left: 10.53191489361702%; +} + +.row-fluid .offset1:first-child { + margin-left: 8.51063829787234%; + *margin-left: 8.404255319148938%; +} + +[class*="span"].hide, +.row-fluid [class*="span"].hide { + display: none; +} + +[class*="span"].pull-right, +.row-fluid [class*="span"].pull-right { + float: right; +} + +.container { + margin-right: auto; + margin-left: auto; + *zoom: 1; +} + +.container:before, +.container:after { + display: table; + line-height: 0; + content: ""; +} + +.container:after { + clear: both; +} + +.container-fluid { + padding-right: 20px; + padding-left: 20px; + *zoom: 1; +} + +.container-fluid:before, +.container-fluid:after { + display: table; + line-height: 0; + content: ""; +} + +.container-fluid:after { + clear: both; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 21px; + font-weight: 200; + line-height: 30px; +} + +small { + font-size: 85%; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +cite { + font-style: normal; +} + +.muted { + color: #999999; +} + +.text-warning { + color: #c09853; +} + +.text-error { + color: #b94a48; +} + +.text-info { + color: #3a87ad; +} + +.text-success { + color: #468847; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 10px 0; + font-family: inherit; + font-weight: bold; + line-height: 1; + color: inherit; + text-rendering: optimizelegibility; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1 { + font-size: 36px; + line-height: 40px; +} + +h2 { + font-size: 30px; + line-height: 40px; +} + +h3 { + font-size: 24px; + line-height: 40px; +} + +h4 { + font-size: 18px; + line-height: 20px; +} + +h5 { + font-size: 14px; + line-height: 20px; +} + +h6 { + font-size: 12px; + line-height: 20px; +} + +h1 small { + font-size: 24px; +} + +h2 small { + font-size: 18px; +} + +h3 small { + font-size: 14px; +} + +h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 20px 0 30px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + padding: 0; + margin: 0 0 10px 25px; +} + +ul ul, +ul ol, +ol ol, +ol ul { + margin-bottom: 0; +} + +li { + line-height: 20px; +} + +ul.unstyled, +ol.unstyled { + margin-left: 0; + list-style: none; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 20px; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 10px; +} + +.dl-horizontal { + *zoom: 1; +} + +.dl-horizontal:before, +.dl-horizontal:after { + display: table; + line-height: 0; + content: ""; +} + +.dl-horizontal:after { + clear: both; +} + +.dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; +} + +.dl-horizontal dd { + margin-left: 180px; +} + +hr { + margin: 20px 0; + border: 0; + border-top: 1px solid #eeeeee; + border-bottom: 1px solid #ffffff; +} + +abbr[title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 0 0 0 15px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + margin-bottom: 0; + font-size: 16px; + font-weight: 300; + line-height: 25px; +} + +blockquote small { + display: block; + line-height: 20px; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + float: right; + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 20px; +} + +code, +pre { + padding: 0 3px 2px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + font-size: 12px; + color: #333333; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +code { + padding: 2px 4px; + color: #d14; + background-color: #f7f7f9; + border: 1px solid #e1e1e8; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: pre; + white-space: pre-wrap; + background-color: #f5f5f5; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + color: inherit; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +form { + margin: 0 0 20px; +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: 40px; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +legend small { + font-size: 15px; + color: #999999; +} + +label, +input, +button, +select, +textarea { + font-size: 14px; + font-weight: normal; + line-height: 20px; +} + +input, +button, +select, +textarea { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} + +label { + display: block; + margin-bottom: 5px; +} + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + display: inline-block; + height: 20px; + padding: 4px 6px; + margin-bottom: 9px; + font-size: 14px; + line-height: 20px; + color: #555555; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +input, +textarea, +.uneditable-input { + width: 206px; +} + +textarea { + height: auto; +} + +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + background-color: #ffffff; + border: 1px solid #cccccc; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +textarea:focus, +input[type="text"]:focus, +input[type="password"]:focus, +input[type="datetime"]:focus, +input[type="datetime-local"]:focus, +input[type="date"]:focus, +input[type="month"]:focus, +input[type="time"]:focus, +input[type="week"]:focus, +input[type="number"]:focus, +input[type="email"]:focus, +input[type="url"]:focus, +input[type="search"]:focus, +input[type="tel"]:focus, +input[type="color"]:focus, +.uneditable-input:focus { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + /* IE6-9 */ + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + *margin-top: 0; + line-height: normal; + cursor: pointer; +} + +input[type="file"], +input[type="image"], +input[type="submit"], +input[type="reset"], +input[type="button"], +input[type="radio"], +input[type="checkbox"] { + width: auto; +} + +select, +input[type="file"] { + height: 30px; + /* In IE7, the height of the select element cannot be changed by height, only font-size */ + + *margin-top: 4px; + /* For IE7, add top margin to align select with labels */ + + line-height: 30px; +} + +select { + width: 220px; + background-color: #ffffff; + border: 1px solid #cccccc; +} + +select[multiple], +select[size] { + height: auto; +} + +select:focus, +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.uneditable-input, +.uneditable-textarea { + color: #999999; + cursor: not-allowed; + background-color: #fcfcfc; + border-color: #cccccc; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025); +} + +.uneditable-input { + overflow: hidden; + white-space: nowrap; +} + +.uneditable-textarea { + width: auto; + height: auto; +} + +input:-moz-placeholder, +textarea:-moz-placeholder { + color: #999999; +} + +input:-ms-input-placeholder, +textarea:-ms-input-placeholder { + color: #999999; +} + +input::-webkit-input-placeholder, +textarea::-webkit-input-placeholder { + color: #999999; +} + +.radio, +.checkbox { + min-height: 18px; + padding-left: 18px; +} + +.radio input[type="radio"], +.checkbox input[type="checkbox"] { + float: left; + margin-left: -18px; +} + +.controls > .radio:first-child, +.controls > .checkbox:first-child { + padding-top: 5px; +} + +.radio.inline, +.checkbox.inline { + display: inline-block; + padding-top: 5px; + margin-bottom: 0; + vertical-align: middle; +} + +.radio.inline + .radio.inline, +.checkbox.inline + .checkbox.inline { + margin-left: 10px; +} + +.input-mini { + width: 60px; +} + +.input-small { + width: 90px; +} + +.input-medium { + width: 150px; +} + +.input-large { + width: 210px; +} + +.input-xlarge { + width: 270px; +} + +.input-xxlarge { + width: 530px; +} + +input[class*="span"], +select[class*="span"], +textarea[class*="span"], +.uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"] { + float: none; + margin-left: 0; +} + +.input-append input[class*="span"], +.input-append .uneditable-input[class*="span"], +.input-prepend input[class*="span"], +.input-prepend .uneditable-input[class*="span"], +.row-fluid input[class*="span"], +.row-fluid select[class*="span"], +.row-fluid textarea[class*="span"], +.row-fluid .uneditable-input[class*="span"], +.row-fluid .input-prepend [class*="span"], +.row-fluid .input-append [class*="span"] { + display: inline-block; +} + +input, +textarea, +.uneditable-input { + margin-left: 0; +} + +.controls-row [class*="span"] + [class*="span"] { + margin-left: 20px; +} + +input.span12, +textarea.span12, +.uneditable-input.span12 { + width: 926px; +} + +input.span11, +textarea.span11, +.uneditable-input.span11 { + width: 846px; +} + +input.span10, +textarea.span10, +.uneditable-input.span10 { + width: 766px; +} + +input.span9, +textarea.span9, +.uneditable-input.span9 { + width: 686px; +} + +input.span8, +textarea.span8, +.uneditable-input.span8 { + width: 606px; +} + +input.span7, +textarea.span7, +.uneditable-input.span7 { + width: 526px; +} + +input.span6, +textarea.span6, +.uneditable-input.span6 { + width: 446px; +} + +input.span5, +textarea.span5, +.uneditable-input.span5 { + width: 366px; +} + +input.span4, +textarea.span4, +.uneditable-input.span4 { + width: 286px; +} + +input.span3, +textarea.span3, +.uneditable-input.span3 { + width: 206px; +} + +input.span2, +textarea.span2, +.uneditable-input.span2 { + width: 126px; +} + +input.span1, +textarea.span1, +.uneditable-input.span1 { + width: 46px; +} + +.controls-row { + *zoom: 1; +} + +.controls-row:before, +.controls-row:after { + display: table; + line-height: 0; + content: ""; +} + +.controls-row:after { + clear: both; +} + +.controls-row [class*="span"] { + float: left; +} + +input[disabled], +select[disabled], +textarea[disabled], +input[readonly], +select[readonly], +textarea[readonly] { + cursor: not-allowed; + background-color: #eeeeee; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"][readonly], +input[type="checkbox"][readonly] { + background-color: transparent; +} + +.control-group.warning > label, +.control-group.warning .help-block, +.control-group.warning .help-inline { + color: #c09853; +} + +.control-group.warning .checkbox, +.control-group.warning .radio, +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + color: #c09853; +} + +.control-group.warning input, +.control-group.warning select, +.control-group.warning textarea { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.warning input:focus, +.control-group.warning select:focus, +.control-group.warning textarea:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.control-group.warning .input-prepend .add-on, +.control-group.warning .input-append .add-on { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.control-group.error > label, +.control-group.error .help-block, +.control-group.error .help-inline { + color: #b94a48; +} + +.control-group.error .checkbox, +.control-group.error .radio, +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + color: #b94a48; +} + +.control-group.error input, +.control-group.error select, +.control-group.error textarea { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.error input:focus, +.control-group.error select:focus, +.control-group.error textarea:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.control-group.error .input-prepend .add-on, +.control-group.error .input-append .add-on { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.control-group.success > label, +.control-group.success .help-block, +.control-group.success .help-inline { + color: #468847; +} + +.control-group.success .checkbox, +.control-group.success .radio, +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + color: #468847; +} + +.control-group.success input, +.control-group.success select, +.control-group.success textarea { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.success input:focus, +.control-group.success select:focus, +.control-group.success textarea:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.control-group.success .input-prepend .add-on, +.control-group.success .input-append .add-on { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.control-group.info > label, +.control-group.info .help-block, +.control-group.info .help-inline { + color: #3a87ad; +} + +.control-group.info .checkbox, +.control-group.info .radio, +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + color: #3a87ad; +} + +.control-group.info input, +.control-group.info select, +.control-group.info textarea { + border-color: #3a87ad; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.control-group.info input:focus, +.control-group.info select:focus, +.control-group.info textarea:focus { + border-color: #2d6987; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; +} + +.control-group.info .input-prepend .add-on, +.control-group.info .input-append .add-on { + color: #3a87ad; + background-color: #d9edf7; + border-color: #3a87ad; +} + +input:focus:required:invalid, +textarea:focus:required:invalid, +select:focus:required:invalid { + color: #b94a48; + border-color: #ee5f5b; +} + +input:focus:required:invalid:focus, +textarea:focus:required:invalid:focus, +select:focus:required:invalid:focus { + border-color: #e9322d; + -webkit-box-shadow: 0 0 6px #f8b9b7; + -moz-box-shadow: 0 0 6px #f8b9b7; + box-shadow: 0 0 6px #f8b9b7; +} + +.form-actions { + padding: 19px 20px 20px; + margin-top: 20px; + margin-bottom: 20px; + background-color: #f5f5f5; + border-top: 1px solid #e5e5e5; + *zoom: 1; +} + +.form-actions:before, +.form-actions:after { + display: table; + line-height: 0; + content: ""; +} + +.form-actions:after { + clear: both; +} + +.help-block, +.help-inline { + color: #595959; +} + +.help-block { + display: block; + margin-bottom: 10px; +} + +.help-inline { + display: inline-block; + *display: inline; + padding-left: 5px; + vertical-align: middle; + *zoom: 1; +} + +.input-append, +.input-prepend { + margin-bottom: 5px; + font-size: 0; + white-space: nowrap; +} + +.input-append input, +.input-prepend input, +.input-append select, +.input-prepend select, +.input-append .uneditable-input, +.input-prepend .uneditable-input { + position: relative; + margin-bottom: 0; + *margin-left: 0; + font-size: 14px; + vertical-align: top; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.input-append input:focus, +.input-prepend input:focus, +.input-append select:focus, +.input-prepend select:focus, +.input-append .uneditable-input:focus, +.input-prepend .uneditable-input:focus { + z-index: 2; +} + +.input-append .add-on, +.input-prepend .add-on { + display: inline-block; + width: auto; + height: 20px; + min-width: 16px; + padding: 4px 5px; + font-size: 14px; + font-weight: normal; + line-height: 20px; + text-align: center; + text-shadow: 0 1px 0 #ffffff; + background-color: #eeeeee; + border: 1px solid #ccc; +} + +.input-append .add-on, +.input-prepend .add-on, +.input-append .btn, +.input-prepend .btn { + vertical-align: top; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-append .active, +.input-prepend .active { + background-color: #a9dba9; + border-color: #46a546; +} + +.input-prepend .add-on, +.input-prepend .btn { + margin-right: -1px; +} + +.input-prepend .add-on:first-child, +.input-prepend .btn:first-child { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.input-append input, +.input-append select, +.input-append .uneditable-input { + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.input-append .add-on, +.input-append .btn { + margin-left: -1px; +} + +.input-append .add-on:last-child, +.input-append .btn:last-child { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.input-prepend.input-append input, +.input-prepend.input-append select, +.input-prepend.input-append .uneditable-input { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.input-prepend.input-append .add-on:first-child, +.input-prepend.input-append .btn:first-child { + margin-right: -1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.input-prepend.input-append .add-on:last-child, +.input-prepend.input-append .btn:last-child { + margin-left: -1px; + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +input.search-query { + padding-right: 14px; + padding-right: 4px \9; + padding-left: 14px; + padding-left: 4px \9; + /* IE7-8 doesn't have border-radius, so don't indent the padding */ + + margin-bottom: 0; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +/* Allow for input prepend/append in search forms */ + +.form-search .input-append .search-query, +.form-search .input-prepend .search-query { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.form-search .input-append .search-query { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search .input-append .btn { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .search-query { + -webkit-border-radius: 0 14px 14px 0; + -moz-border-radius: 0 14px 14px 0; + border-radius: 0 14px 14px 0; +} + +.form-search .input-prepend .btn { + -webkit-border-radius: 14px 0 0 14px; + -moz-border-radius: 14px 0 0 14px; + border-radius: 14px 0 0 14px; +} + +.form-search input, +.form-inline input, +.form-horizontal input, +.form-search textarea, +.form-inline textarea, +.form-horizontal textarea, +.form-search select, +.form-inline select, +.form-horizontal select, +.form-search .help-inline, +.form-inline .help-inline, +.form-horizontal .help-inline, +.form-search .uneditable-input, +.form-inline .uneditable-input, +.form-horizontal .uneditable-input, +.form-search .input-prepend, +.form-inline .input-prepend, +.form-horizontal .input-prepend, +.form-search .input-append, +.form-inline .input-append, +.form-horizontal .input-append { + display: inline-block; + *display: inline; + margin-bottom: 0; + vertical-align: middle; + *zoom: 1; +} + +.form-search .hide, +.form-inline .hide, +.form-horizontal .hide { + display: none; +} + +.form-search label, +.form-inline label, +.form-search .btn-group, +.form-inline .btn-group { + display: inline-block; +} + +.form-search .input-append, +.form-inline .input-append, +.form-search .input-prepend, +.form-inline .input-prepend { + margin-bottom: 0; +} + +.form-search .radio, +.form-search .checkbox, +.form-inline .radio, +.form-inline .checkbox { + padding-left: 0; + margin-bottom: 0; + vertical-align: middle; +} + +.form-search .radio input[type="radio"], +.form-search .checkbox input[type="checkbox"], +.form-inline .radio input[type="radio"], +.form-inline .checkbox input[type="checkbox"] { + float: left; + margin-right: 3px; + margin-left: 0; +} + +.control-group { + margin-bottom: 10px; +} + +legend + .control-group { + margin-top: 20px; + -webkit-margin-top-collapse: separate; +} + +.form-horizontal .control-group { + margin-bottom: 20px; + *zoom: 1; +} + +.form-horizontal .control-group:before, +.form-horizontal .control-group:after { + display: table; + line-height: 0; + content: ""; +} + +.form-horizontal .control-group:after { + clear: both; +} + +.form-horizontal .control-label { + float: left; + width: 160px; + padding-top: 5px; + text-align: right; +} + +.form-horizontal .controls { + *display: inline-block; + *padding-left: 20px; + margin-left: 180px; + *margin-left: 0; +} + +.form-horizontal .controls:first-child { + *padding-left: 180px; +} + +.form-horizontal .help-block { + margin-bottom: 0; +} + +.form-horizontal input + .help-block, +.form-horizontal select + .help-block, +.form-horizontal textarea + .help-block { + margin-top: 10px; +} + +.form-horizontal .form-actions { + padding-left: 180px; +} + +table { + max-width: 100%; + background-color: transparent; + border-collapse: collapse; + border-spacing: 0; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table th, +.table td { + padding: 8px; + line-height: 20px; + text-align: left; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table th { + font-weight: bold; +} + +.table thead th { + vertical-align: bottom; +} + +.table caption + thead tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child th, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child th, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table-condensed th, +.table-condensed td { + padding: 4px 5px; +} + +.table-bordered { + border: 1px solid #dddddd; + border-collapse: separate; + *border-collapse: collapse; + border-left: 0; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.table-bordered th, +.table-bordered td { + border-left: 1px solid #dddddd; +} + +.table-bordered caption + thead tr:first-child th, +.table-bordered caption + tbody tr:first-child th, +.table-bordered caption + tbody tr:first-child td, +.table-bordered colgroup + thead tr:first-child th, +.table-bordered colgroup + tbody tr:first-child th, +.table-bordered colgroup + tbody tr:first-child td, +.table-bordered thead:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child th, +.table-bordered tbody:first-child tr:first-child td { + border-top: 0; +} + +.table-bordered thead:first-child tr:first-child th:first-child, +.table-bordered tbody:first-child tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered thead:first-child tr:first-child th:last-child, +.table-bordered tbody:first-child tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topright: 4px; +} + +.table-bordered thead:last-child tr:last-child th:first-child, +.table-bordered tbody:last-child tr:last-child td:first-child, +.table-bordered tfoot:last-child tr:last-child td:first-child { + -webkit-border-radius: 0 0 0 4px; + -moz-border-radius: 0 0 0 4px; + border-radius: 0 0 0 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.table-bordered thead:last-child tr:last-child th:last-child, +.table-bordered tbody:last-child tr:last-child td:last-child, +.table-bordered tfoot:last-child tr:last-child td:last-child { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-bottomright: 4px; +} + +.table-bordered caption + thead tr:first-child th:first-child, +.table-bordered caption + tbody tr:first-child td:first-child, +.table-bordered colgroup + thead tr:first-child th:first-child, +.table-bordered colgroup + tbody tr:first-child td:first-child { + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-bordered caption + thead tr:first-child th:last-child, +.table-bordered caption + tbody tr:first-child td:last-child, +.table-bordered colgroup + thead tr:first-child th:last-child, +.table-bordered colgroup + tbody tr:first-child td:last-child { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-topleft: 4px; +} + +.table-striped tbody tr:nth-child(odd) td, +.table-striped tbody tr:nth-child(odd) th { + background-color: #f9f9f9; +} + +.table-hover tbody tr:hover td, +.table-hover tbody tr:hover th { + background-color: #f5f5f5; +} + +table [class*=span], +.row-fluid table [class*=span] { + display: table-cell; + float: none; + margin-left: 0; +} + +.table .span1 { + float: none; + width: 44px; + margin-left: 0; +} + +.table .span2 { + float: none; + width: 124px; + margin-left: 0; +} + +.table .span3 { + float: none; + width: 204px; + margin-left: 0; +} + +.table .span4 { + float: none; + width: 284px; + margin-left: 0; +} + +.table .span5 { + float: none; + width: 364px; + margin-left: 0; +} + +.table .span6 { + float: none; + width: 444px; + margin-left: 0; +} + +.table .span7 { + float: none; + width: 524px; + margin-left: 0; +} + +.table .span8 { + float: none; + width: 604px; + margin-left: 0; +} + +.table .span9 { + float: none; + width: 684px; + margin-left: 0; +} + +.table .span10 { + float: none; + width: 764px; + margin-left: 0; +} + +.table .span11 { + float: none; + width: 844px; + margin-left: 0; +} + +.table .span12 { + float: none; + width: 924px; + margin-left: 0; +} + +.table .span13 { + float: none; + width: 1004px; + margin-left: 0; +} + +.table .span14 { + float: none; + width: 1084px; + margin-left: 0; +} + +.table .span15 { + float: none; + width: 1164px; + margin-left: 0; +} + +.table .span16 { + float: none; + width: 1244px; + margin-left: 0; +} + +.table .span17 { + float: none; + width: 1324px; + margin-left: 0; +} + +.table .span18 { + float: none; + width: 1404px; + margin-left: 0; +} + +.table .span19 { + float: none; + width: 1484px; + margin-left: 0; +} + +.table .span20 { + float: none; + width: 1564px; + margin-left: 0; +} + +.table .span21 { + float: none; + width: 1644px; + margin-left: 0; +} + +.table .span22 { + float: none; + width: 1724px; + margin-left: 0; +} + +.table .span23 { + float: none; + width: 1804px; + margin-left: 0; +} + +.table .span24 { + float: none; + width: 1884px; + margin-left: 0; +} + +.table tbody tr.success td { + background-color: #dff0d8; +} + +.table tbody tr.error td { + background-color: #f2dede; +} + +.table tbody tr.warning td { + background-color: #fcf8e3; +} + +.table tbody tr.info td { + background-color: #d9edf7; +} + +.table-hover tbody tr.success:hover td { + background-color: #d0e9c6; +} + +.table-hover tbody tr.error:hover td { + background-color: #ebcccc; +} + +.table-hover tbody tr.warning:hover td { + background-color: #faf2cc; +} + +.table-hover tbody tr.info:hover td { + background-color: #c4e3f3; +} + +[class^="icon-"], +[class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + margin-top: 1px; + *margin-right: .3em; + line-height: 14px; + vertical-align: text-top; + background-image: url("../img/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; +} + +/* White icons with optional class, or on hover/active states of certain elements */ + +.icon-white, +.nav-tabs > .active > a > [class^="icon-"], +.nav-tabs > .active > a > [class*=" icon-"], +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"] { + background-image: url("../img/glyphicons-halflings-white.png"); +} + +.icon-glass { + background-position: 0 0; +} + +.icon-music { + background-position: -24px 0; +} + +.icon-search { + background-position: -48px 0; +} + +.icon-envelope { + background-position: -72px 0; +} + +.icon-heart { + background-position: -96px 0; +} + +.icon-star { + background-position: -120px 0; +} + +.icon-star-empty { + background-position: -144px 0; +} + +.icon-user { + background-position: -168px 0; +} + +.icon-film { + background-position: -192px 0; +} + +.icon-th-large { + background-position: -216px 0; +} + +.icon-th { + background-position: -240px 0; +} + +.icon-th-list { + background-position: -264px 0; +} + +.icon-ok { + background-position: -288px 0; +} + +.icon-remove { + background-position: -312px 0; +} + +.icon-zoom-in { + background-position: -336px 0; +} + +.icon-zoom-out { + background-position: -360px 0; +} + +.icon-off { + background-position: -384px 0; +} + +.icon-signal { + background-position: -408px 0; +} + +.icon-cog { + background-position: -432px 0; +} + +.icon-trash { + background-position: -456px 0; +} + +.icon-home { + background-position: 0 -24px; +} + +.icon-file { + background-position: -24px -24px; +} + +.icon-time { + background-position: -48px -24px; +} + +.icon-road { + background-position: -72px -24px; +} + +.icon-download-alt { + background-position: -96px -24px; +} + +.icon-download { + background-position: -120px -24px; +} + +.icon-upload { + background-position: -144px -24px; +} + +.icon-inbox { + background-position: -168px -24px; +} + +.icon-play-circle { + background-position: -192px -24px; +} + +.icon-repeat { + background-position: -216px -24px; +} + +.icon-refresh { + background-position: -240px -24px; +} + +.icon-list-alt { + background-position: -264px -24px; +} + +.icon-lock { + background-position: -287px -24px; +} + +.icon-flag { + background-position: -312px -24px; +} + +.icon-headphones { + background-position: -336px -24px; +} + +.icon-volume-off { + background-position: -360px -24px; +} + +.icon-volume-down { + background-position: -384px -24px; +} + +.icon-volume-up { + background-position: -408px -24px; +} + +.icon-qrcode { + background-position: -432px -24px; +} + +.icon-barcode { + background-position: -456px -24px; +} + +.icon-tag { + background-position: 0 -48px; +} + +.icon-tags { + background-position: -25px -48px; +} + +.icon-book { + background-position: -48px -48px; +} + +.icon-bookmark { + background-position: -72px -48px; +} + +.icon-print { + background-position: -96px -48px; +} + +.icon-camera { + background-position: -120px -48px; +} + +.icon-font { + background-position: -144px -48px; +} + +.icon-bold { + background-position: -167px -48px; +} + +.icon-italic { + background-position: -192px -48px; +} + +.icon-text-height { + background-position: -216px -48px; +} + +.icon-text-width { + background-position: -240px -48px; +} + +.icon-align-left { + background-position: -264px -48px; +} + +.icon-align-center { + background-position: -288px -48px; +} + +.icon-align-right { + background-position: -312px -48px; +} + +.icon-align-justify { + background-position: -336px -48px; +} + +.icon-list { + background-position: -360px -48px; +} + +.icon-indent-left { + background-position: -384px -48px; +} + +.icon-indent-right { + background-position: -408px -48px; +} + +.icon-facetime-video { + background-position: -432px -48px; +} + +.icon-picture { + background-position: -456px -48px; +} + +.icon-pencil { + background-position: 0 -72px; +} + +.icon-map-marker { + background-position: -24px -72px; +} + +.icon-adjust { + background-position: -48px -72px; +} + +.icon-tint { + background-position: -72px -72px; +} + +.icon-edit { + background-position: -96px -72px; +} + +.icon-share { + background-position: -120px -72px; +} + +.icon-check { + background-position: -144px -72px; +} + +.icon-move { + background-position: -168px -72px; +} + +.icon-step-backward { + background-position: -192px -72px; +} + +.icon-fast-backward { + background-position: -216px -72px; +} + +.icon-backward { + background-position: -240px -72px; +} + +.icon-play { + background-position: -264px -72px; +} + +.icon-pause { + background-position: -288px -72px; +} + +.icon-stop { + background-position: -312px -72px; +} + +.icon-forward { + background-position: -336px -72px; +} + +.icon-fast-forward { + background-position: -360px -72px; +} + +.icon-step-forward { + background-position: -384px -72px; +} + +.icon-eject { + background-position: -408px -72px; +} + +.icon-chevron-left { + background-position: -432px -72px; +} + +.icon-chevron-right { + background-position: -456px -72px; +} + +.icon-plus-sign { + background-position: 0 -96px; +} + +.icon-minus-sign { + background-position: -24px -96px; +} + +.icon-remove-sign { + background-position: -48px -96px; +} + +.icon-ok-sign { + background-position: -72px -96px; +} + +.icon-question-sign { + background-position: -96px -96px; +} + +.icon-info-sign { + background-position: -120px -96px; +} + +.icon-screenshot { + background-position: -144px -96px; +} + +.icon-remove-circle { + background-position: -168px -96px; +} + +.icon-ok-circle { + background-position: -192px -96px; +} + +.icon-ban-circle { + background-position: -216px -96px; +} + +.icon-arrow-left { + background-position: -240px -96px; +} + +.icon-arrow-right { + background-position: -264px -96px; +} + +.icon-arrow-up { + background-position: -289px -96px; +} + +.icon-arrow-down { + background-position: -312px -96px; +} + +.icon-share-alt { + background-position: -336px -96px; +} + +.icon-resize-full { + background-position: -360px -96px; +} + +.icon-resize-small { + background-position: -384px -96px; +} + +.icon-plus { + background-position: -408px -96px; +} + +.icon-minus { + background-position: -433px -96px; +} + +.icon-asterisk { + background-position: -456px -96px; +} + +.icon-exclamation-sign { + background-position: 0 -120px; +} + +.icon-gift { + background-position: -24px -120px; +} + +.icon-leaf { + background-position: -48px -120px; +} + +.icon-fire { + background-position: -72px -120px; +} + +.icon-eye-open { + background-position: -96px -120px; +} + +.icon-eye-close { + background-position: -120px -120px; +} + +.icon-warning-sign { + background-position: -144px -120px; +} + +.icon-plane { + background-position: -168px -120px; +} + +.icon-calendar { + background-position: -192px -120px; +} + +.icon-random { + width: 16px; + background-position: -216px -120px; +} + +.icon-comment { + background-position: -240px -120px; +} + +.icon-magnet { + background-position: -264px -120px; +} + +.icon-chevron-up { + background-position: -288px -120px; +} + +.icon-chevron-down { + background-position: -313px -119px; +} + +.icon-retweet { + background-position: -336px -120px; +} + +.icon-shopping-cart { + background-position: -360px -120px; +} + +.icon-folder-close { + background-position: -384px -120px; +} + +.icon-folder-open { + width: 16px; + background-position: -408px -120px; +} + +.icon-resize-vertical { + background-position: -432px -119px; +} + +.icon-resize-horizontal { + background-position: -456px -118px; +} + +.icon-hdd { + background-position: 0 -144px; +} + +.icon-bullhorn { + background-position: -24px -144px; +} + +.icon-bell { + background-position: -48px -144px; +} + +.icon-certificate { + background-position: -72px -144px; +} + +.icon-thumbs-up { + background-position: -96px -144px; +} + +.icon-thumbs-down { + background-position: -120px -144px; +} + +.icon-hand-right { + background-position: -144px -144px; +} + +.icon-hand-left { + background-position: -168px -144px; +} + +.icon-hand-up { + background-position: -192px -144px; +} + +.icon-hand-down { + background-position: -216px -144px; +} + +.icon-circle-arrow-right { + background-position: -240px -144px; +} + +.icon-circle-arrow-left { + background-position: -264px -144px; +} + +.icon-circle-arrow-up { + background-position: -288px -144px; +} + +.icon-circle-arrow-down { + background-position: -312px -144px; +} + +.icon-globe { + background-position: -336px -144px; +} + +.icon-wrench { + background-position: -360px -144px; +} + +.icon-tasks { + background-position: -384px -144px; +} + +.icon-filter { + background-position: -408px -144px; +} + +.icon-briefcase { + background-position: -432px -144px; +} + +.icon-fullscreen { + background-position: -456px -144px; +} + +.dropup, +.dropdown { + position: relative; +} + +.dropdown-toggle { + *margin-bottom: -3px; +} + +.dropdown-toggle:active, +.open .dropdown-toggle { + outline: 0; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + vertical-align: top; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown .caret { + margin-top: 8px; + margin-left: 2px; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + list-style: none; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + *border-right-width: 2px; + *border-bottom-width: 2px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.dropdown-menu a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 20px; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu li > a:hover, +.dropdown-menu li > a:focus, +.dropdown-submenu:hover > a { + color: #ffffff; + text-decoration: none; + background-color: #0088cc; + background-color: #0081c2; + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu .active > a, +.dropdown-menu .active > a:hover { + color: #ffffff; + text-decoration: none; + background-color: #0088cc; + background-color: #0081c2; + background-image: linear-gradient(to bottom, #0088cc, #0077b3); + background-image: -moz-linear-gradient(top, #0088cc, #0077b3); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3)); + background-image: -webkit-linear-gradient(top, #0088cc, #0077b3); + background-image: -o-linear-gradient(top, #0088cc, #0077b3); + background-repeat: repeat-x; + outline: 0; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); +} + +.dropdown-menu .disabled > a, +.dropdown-menu .disabled > a:hover { + color: #999999; +} + +.dropdown-menu .disabled > a:hover { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.open { + *z-index: 1000; +} + +.open > .dropdown-menu { + display: block; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu > .dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + -webkit-border-radius: 0 6px 6px 6px; + -moz-border-radius: 0 6px 6px 6px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover > .dropdown-menu { + display: block; +} + +.dropdown-submenu > a:after { + display: block; + float: right; + width: 0; + height: 0; + margin-top: 5px; + margin-right: -10px; + border-color: transparent; + border-left-color: #cccccc; + border-style: solid; + border-width: 5px 0 5px 5px; + content: " "; +} + +.dropdown-submenu:hover > a:after { + border-left-color: #ffffff; +} + +.dropdown .dropdown-menu .nav-header { + padding-right: 20px; + padding-left: 20px; +} + +.typeahead { + margin-top: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-large { + padding: 24px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.well-small { + padding: 9px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -moz-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + -moz-transition: height 0.35s ease; + -o-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +.collapse.in { + height: auto; +} + +.close { + float: right; + font-size: 20px; + font-weight: bold; + line-height: 20px; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + filter: alpha(opacity=40); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.btn { + display: inline-block; + *display: inline; + padding: 4px 14px; + margin-bottom: 0; + *margin-left: .3em; + font-size: 14px; + line-height: 20px; + *line-height: 20px; + color: #333333; + text-align: center; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + vertical-align: middle; + cursor: pointer; + background-color: #f5f5f5; + *background-color: #e6e6e6; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-repeat: repeat-x; + border: 1px solid #bbbbbb; + *border: 0; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn:hover, +.btn:active, +.btn.active, +.btn.disabled, +.btn[disabled] { + color: #333333; + background-color: #e6e6e6; + *background-color: #d9d9d9; +} + +.btn:active, +.btn.active { + background-color: #cccccc \9; +} + +.btn:first-child { + *margin-left: 0; +} + +.btn:hover { + color: #333333; + text-decoration: none; + background-color: #e6e6e6; + *background-color: #d9d9d9; + /* Buttons in IE7 don't get borders, so darken on hover */ + + background-position: 0 -15px; + -webkit-transition: background-position 0.1s linear; + -moz-transition: background-position 0.1s linear; + -o-transition: background-position 0.1s linear; + transition: background-position 0.1s linear; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn.active, +.btn:active { + background-color: #e6e6e6; + background-color: #d9d9d9 \9; + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn.disabled, +.btn[disabled] { + cursor: default; + background-color: #e6e6e6; + background-image: none; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-large { + padding: 9px 14px; + font-size: 16px; + line-height: normal; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.btn-large [class^="icon-"] { + margin-top: 2px; +} + +.btn-small { + padding: 3px 9px; + font-size: 12px; + line-height: 18px; +} + +.btn-small [class^="icon-"] { + margin-top: 0; +} + +.btn-mini { + padding: 2px 6px; + font-size: 11px; + line-height: 17px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.btn-primary.active, +.btn-warning.active, +.btn-danger.active, +.btn-success.active, +.btn-info.active, +.btn-inverse.active { + color: rgba(255, 255, 255, 0.75); +} + +.btn { + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); +} + +.btn-primary { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + *background-color: #0044cc; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-repeat: repeat-x; + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-primary:hover, +.btn-primary:active, +.btn-primary.active, +.btn-primary.disabled, +.btn-primary[disabled] { + color: #ffffff; + background-color: #0044cc; + *background-color: #003bb3; +} + +.btn-primary:active, +.btn-primary.active { + background-color: #003399 \9; +} + +.btn-warning { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #faa732; + *background-color: #f89406; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-repeat: repeat-x; + border-color: #f89406 #f89406 #ad6704; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-warning:hover, +.btn-warning:active, +.btn-warning.active, +.btn-warning.disabled, +.btn-warning[disabled] { + color: #ffffff; + background-color: #f89406; + *background-color: #df8505; +} + +.btn-warning:active, +.btn-warning.active { + background-color: #c67605 \9; +} + +.btn-danger { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #da4f49; + *background-color: #bd362f; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f); + background-image: -o-linear-gradient(top, #ee5f5b, #bd362f); + background-image: linear-gradient(to bottom, #ee5f5b, #bd362f); + background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f); + background-repeat: repeat-x; + border-color: #bd362f #bd362f #802420; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-danger:hover, +.btn-danger:active, +.btn-danger.active, +.btn-danger.disabled, +.btn-danger[disabled] { + color: #ffffff; + background-color: #bd362f; + *background-color: #a9302a; +} + +.btn-danger:active, +.btn-danger.active { + background-color: #942a25 \9; +} + +.btn-success { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #5bb75b; + *background-color: #51a351; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351)); + background-image: -webkit-linear-gradient(top, #62c462, #51a351); + background-image: -o-linear-gradient(top, #62c462, #51a351); + background-image: linear-gradient(to bottom, #62c462, #51a351); + background-image: -moz-linear-gradient(top, #62c462, #51a351); + background-repeat: repeat-x; + border-color: #51a351 #51a351 #387038; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-success:hover, +.btn-success:active, +.btn-success.active, +.btn-success.disabled, +.btn-success[disabled] { + color: #ffffff; + background-color: #51a351; + *background-color: #499249; +} + +.btn-success:active, +.btn-success.active { + background-color: #408140 \9; +} + +.btn-info { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #49afcd; + *background-color: #2f96b4; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); + background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); + background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); + background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); + background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); + background-repeat: repeat-x; + border-color: #2f96b4 #2f96b4 #1f6377; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-info:hover, +.btn-info:active, +.btn-info.active, +.btn-info.disabled, +.btn-info[disabled] { + color: #ffffff; + background-color: #2f96b4; + *background-color: #2a85a0; +} + +.btn-info:active, +.btn-info.active { + background-color: #24748c \9; +} + +.btn-inverse { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #363636; + *background-color: #222222; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222)); + background-image: -webkit-linear-gradient(top, #444444, #222222); + background-image: -o-linear-gradient(top, #444444, #222222); + background-image: linear-gradient(to bottom, #444444, #222222); + background-image: -moz-linear-gradient(top, #444444, #222222); + background-repeat: repeat-x; + border-color: #222222 #222222 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.btn-inverse:hover, +.btn-inverse:active, +.btn-inverse.active, +.btn-inverse.disabled, +.btn-inverse[disabled] { + color: #ffffff; + background-color: #222222; + *background-color: #151515; +} + +.btn-inverse:active, +.btn-inverse.active { + background-color: #080808 \9; +} + +button.btn, +input[type="submit"].btn { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn::-moz-focus-inner, +input[type="submit"].btn::-moz-focus-inner { + padding: 0; + border: 0; +} + +button.btn.btn-large, +input[type="submit"].btn.btn-large { + *padding-top: 7px; + *padding-bottom: 7px; +} + +button.btn.btn-small, +input[type="submit"].btn.btn-small { + *padding-top: 3px; + *padding-bottom: 3px; +} + +button.btn.btn-mini, +input[type="submit"].btn.btn-mini { + *padding-top: 1px; + *padding-bottom: 1px; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled] { + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +.btn-link { + color: #0088cc; + cursor: pointer; + border-color: transparent; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-link:hover { + color: #005580; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover { + color: #333333; + text-decoration: none; +} + +.btn-group { + position: relative; + *margin-left: .3em; + font-size: 0; + white-space: nowrap; + vertical-align: middle; +} + +.btn-group:first-child { + *margin-left: 0; +} + +.btn-group + .btn-group { + margin-left: 5px; +} + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; + font-size: 0; +} + +.btn-toolbar .btn-group { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-toolbar .btn + .btn, +.btn-toolbar .btn-group + .btn, +.btn-toolbar .btn + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn { + position: relative; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group > .btn + .btn { + margin-left: -1px; +} + +.btn-group > .btn, +.btn-group > .dropdown-menu { + font-size: 14px; +} + +.btn-group > .btn-mini { + font-size: 11px; +} + +.btn-group > .btn-small { + font-size: 12px; +} + +.btn-group > .btn-large { + font-size: 16px; +} + +.btn-group > .btn:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-topleft: 4px; +} + +.btn-group > .btn:last-child, +.btn-group > .dropdown-toggle { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-bottomright: 4px; +} + +.btn-group > .btn.large:first-child { + margin-left: 0; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -moz-border-radius-topleft: 6px; +} + +.btn-group > .btn.large:last-child, +.btn-group > .large.dropdown-toggle { + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; + -moz-border-radius-topright: 6px; + -moz-border-radius-bottomright: 6px; +} + +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active { + z-index: 2; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group > .btn + .dropdown-toggle { + *padding-top: 5px; + padding-right: 8px; + *padding-bottom: 5px; + padding-left: 8px; + -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group > .btn-mini + .dropdown-toggle { + *padding-top: 2px; + padding-right: 5px; + *padding-bottom: 2px; + padding-left: 5px; +} + +.btn-group > .btn-small + .dropdown-toggle { + *padding-top: 5px; + *padding-bottom: 4px; +} + +.btn-group > .btn-large + .dropdown-toggle { + *padding-top: 7px; + padding-right: 12px; + *padding-bottom: 7px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + background-image: none; + -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.btn-group.open .btn.dropdown-toggle { + background-color: #e6e6e6; +} + +.btn-group.open .btn-primary.dropdown-toggle { + background-color: #0044cc; +} + +.btn-group.open .btn-warning.dropdown-toggle { + background-color: #f89406; +} + +.btn-group.open .btn-danger.dropdown-toggle { + background-color: #bd362f; +} + +.btn-group.open .btn-success.dropdown-toggle { + background-color: #51a351; +} + +.btn-group.open .btn-info.dropdown-toggle { + background-color: #2f96b4; +} + +.btn-group.open .btn-inverse.dropdown-toggle { + background-color: #222222; +} + +.btn .caret { + margin-top: 8px; + margin-left: 0; +} + +.btn-mini .caret, +.btn-small .caret, +.btn-large .caret { + margin-top: 6px; +} + +.btn-large .caret { + border-top-width: 5px; + border-right-width: 5px; + border-left-width: 5px; +} + +.dropup .btn-large .caret { + border-top: 0; + border-bottom: 5px solid #000000; +} + +.btn-primary .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret, +.btn-success .caret, +.btn-inverse .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.btn-group-vertical { + display: inline-block; + *display: inline; + /* IE7 inline-block hack */ + + *zoom: 1; +} + +.btn-group-vertical .btn { + display: block; + float: none; + width: 100%; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.btn-group-vertical .btn + .btn { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical .btn:first-child { + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.btn-group-vertical .btn:last-child { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.btn-group-vertical .btn-large:first-child { + -webkit-border-radius: 6px 6px 0 0; + -moz-border-radius: 6px 6px 0 0; + border-radius: 6px 6px 0 0; +} + +.btn-group-vertical .btn-large:last-child { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.alert { + padding: 8px 35px 8px 14px; + margin-bottom: 20px; + color: #c09853; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + background-color: #fcf8e3; + border: 1px solid #fbeed5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.alert h4 { + margin: 0; +} + +.alert .close { + position: relative; + top: -2px; + right: -21px; + line-height: 20px; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-danger, +.alert-error { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-block { + padding-top: 14px; + padding-bottom: 14px; +} + +.alert-block > p, +.alert-block > ul { + margin-bottom: 0; +} + +.alert-block p + p { + margin-top: 5px; +} + +.nav { + margin-bottom: 20px; + margin-left: 0; + list-style: none; +} + +.nav > li > a { + display: block; +} + +.nav > li > a:hover { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > .pull-right { + float: right; +} + +.nav-header { + display: block; + padding: 3px 15px; + font-size: 11px; + font-weight: bold; + line-height: 20px; + color: #999999; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + text-transform: uppercase; +} + +.nav li + .nav-header { + margin-top: 9px; +} + +.nav-list { + padding-right: 15px; + padding-left: 15px; + margin-bottom: 0; +} + +.nav-list > li > a, +.nav-list .nav-header { + margin-right: -15px; + margin-left: -15px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +.nav-list > li > a { + padding: 3px 15px; +} + +.nav-list > .active > a, +.nav-list > .active > a:hover { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2); + background-color: #0088cc; +} + +.nav-list [class^="icon-"] { + margin-right: 2px; +} + +.nav-list .divider { + *width: 100%; + height: 1px; + margin: 9px 1px; + *margin: -5px 0 5px; + overflow: hidden; + background-color: #e5e5e5; + border-bottom: 1px solid #ffffff; +} + +.nav-tabs, +.nav-pills { + *zoom: 1; +} + +.nav-tabs:before, +.nav-pills:before, +.nav-tabs:after, +.nav-pills:after { + display: table; + line-height: 0; + content: ""; +} + +.nav-tabs:after, +.nav-pills:after { + clear: both; +} + +.nav-tabs > li, +.nav-pills > li { + float: left; +} + +.nav-tabs > li > a, +.nav-pills > li > a { + padding-right: 12px; + padding-left: 12px; + margin-right: 2px; + line-height: 14px; +} + +.nav-tabs { + border-bottom: 1px solid #ddd; +} + +.nav-tabs > li { + margin-bottom: -1px; +} + +.nav-tabs > li > a { + padding-top: 8px; + padding-bottom: 8px; + line-height: 20px; + border: 1px solid transparent; + -webkit-border-radius: 4px 4px 0 0; + -moz-border-radius: 4px 4px 0 0; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > .active > a, +.nav-tabs > .active > a:hover { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} + +.nav-pills > li > a { + padding-top: 8px; + padding-bottom: 8px; + margin-top: 2px; + margin-bottom: 2px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} + +.nav-pills > .active > a, +.nav-pills > .active > a:hover { + color: #ffffff; + background-color: #0088cc; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li > a { + margin-right: 0; +} + +.nav-tabs.nav-stacked { + border-bottom: 0; +} + +.nav-tabs.nav-stacked > li > a { + border: 1px solid #ddd; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.nav-tabs.nav-stacked > li:first-child > a { + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; +} + +.nav-tabs.nav-stacked > li:last-child > a { + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -moz-border-radius-bottomleft: 4px; +} + +.nav-tabs.nav-stacked > li > a:hover { + z-index: 2; + border-color: #ddd; +} + +.nav-pills.nav-stacked > li > a { + margin-bottom: 3px; +} + +.nav-pills.nav-stacked > li:last-child > a { + margin-bottom: 1px; +} + +.nav-tabs .dropdown-menu { + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; +} + +.nav-pills .dropdown-menu { + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.nav .dropdown-toggle .caret { + margin-top: 6px; + border-top-color: #0088cc; + border-bottom-color: #0088cc; +} + +.nav .dropdown-toggle:hover .caret { + border-top-color: #005580; + border-bottom-color: #005580; +} + +/* move down carets for tabs */ + +.nav-tabs .dropdown-toggle .caret { + margin-top: 8px; +} + +.nav .active .dropdown-toggle .caret { + border-top-color: #fff; + border-bottom-color: #fff; +} + +.nav-tabs .active .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.nav > .dropdown.active > a:hover { + cursor: pointer; +} + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > li.dropdown.open.active > a:hover { + color: #ffffff; + background-color: #999999; + border-color: #999999; +} + +.nav li.dropdown.open .caret, +.nav li.dropdown.open.active .caret, +.nav li.dropdown.open a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; + opacity: 1; + filter: alpha(opacity=100); +} + +.tabs-stacked .open > a:hover { + border-color: #999999; +} + +.tabbable { + *zoom: 1; +} + +.tabbable:before, +.tabbable:after { + display: table; + line-height: 0; + content: ""; +} + +.tabbable:after { + clear: both; +} + +.tab-content { + overflow: auto; +} + +.tabs-below > .nav-tabs, +.tabs-right > .nav-tabs, +.tabs-left > .nav-tabs { + border-bottom: 0; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.tabs-below > .nav-tabs { + border-top: 1px solid #ddd; +} + +.tabs-below > .nav-tabs > li { + margin-top: -1px; + margin-bottom: 0; +} + +.tabs-below > .nav-tabs > li > a { + -webkit-border-radius: 0 0 4px 4px; + -moz-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; +} + +.tabs-below > .nav-tabs > li > a:hover { + border-top-color: #ddd; + border-bottom-color: transparent; +} + +.tabs-below > .nav-tabs > .active > a, +.tabs-below > .nav-tabs > .active > a:hover { + border-color: transparent #ddd #ddd #ddd; +} + +.tabs-left > .nav-tabs > li, +.tabs-right > .nav-tabs > li { + float: none; +} + +.tabs-left > .nav-tabs > li > a, +.tabs-right > .nav-tabs > li > a { + min-width: 74px; + margin-right: 0; + margin-bottom: 3px; +} + +.tabs-left > .nav-tabs { + float: left; + margin-right: 19px; + border-right: 1px solid #ddd; +} + +.tabs-left > .nav-tabs > li > a { + margin-right: -1px; + -webkit-border-radius: 4px 0 0 4px; + -moz-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; +} + +.tabs-left > .nav-tabs > li > a:hover { + border-color: #eeeeee #dddddd #eeeeee #eeeeee; +} + +.tabs-left > .nav-tabs .active > a, +.tabs-left > .nav-tabs .active > a:hover { + border-color: #ddd transparent #ddd #ddd; + *border-right-color: #ffffff; +} + +.tabs-right > .nav-tabs { + float: right; + margin-left: 19px; + border-left: 1px solid #ddd; +} + +.tabs-right > .nav-tabs > li > a { + margin-left: -1px; + -webkit-border-radius: 0 4px 4px 0; + -moz-border-radius: 0 4px 4px 0; + border-radius: 0 4px 4px 0; +} + +.tabs-right > .nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #eeeeee #dddddd; +} + +.tabs-right > .nav-tabs .active > a, +.tabs-right > .nav-tabs .active > a:hover { + border-color: #ddd #ddd #ddd transparent; + *border-left-color: #ffffff; +} + +.nav > .disabled > a { + color: #999999; +} + +.nav > .disabled > a:hover { + text-decoration: none; + cursor: default; + background-color: transparent; +} + +.navbar { + *position: relative; + *z-index: 2; + margin-bottom: 20px; + overflow: visible; + color: #777777; +} + +.navbar-inner { + min-height: 40px; + padding-right: 20px; + padding-left: 20px; + background-color: #fafafa; + background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2)); + background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2); + background-image: -o-linear-gradient(top, #ffffff, #f2f2f2); + background-image: linear-gradient(to bottom, #ffffff, #f2f2f2); + background-repeat: repeat-x; + border: 1px solid #d4d4d4; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0); + *zoom: 1; + -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065); +} + +.navbar-inner:before, +.navbar-inner:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-inner:after { + clear: both; +} + +.navbar .container { + width: auto; +} + +.nav-collapse.collapse { + height: auto; +} + +.navbar .brand { + display: block; + float: left; + padding: 10px 20px 10px; + margin-left: -20px; + font-size: 20px; + font-weight: 200; + color: #777777; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .brand:hover { + text-decoration: none; +} + +.navbar-text { + margin-bottom: 0; + line-height: 40px; +} + +.navbar-link { + color: #777777; +} + +.navbar-link:hover { + color: #333333; +} + +.navbar .divider-vertical { + height: 40px; + margin: 0 9px; + border-right: 1px solid #ffffff; + border-left: 1px solid #f2f2f2; +} + +.navbar .btn, +.navbar .btn-group { + margin-top: 5px; +} + +.navbar .btn-group .btn, +.navbar .input-prepend .btn, +.navbar .input-append .btn { + margin-top: 0; +} + +.navbar-form { + margin-bottom: 0; + *zoom: 1; +} + +.navbar-form:before, +.navbar-form:after { + display: table; + line-height: 0; + content: ""; +} + +.navbar-form:after { + clear: both; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .radio, +.navbar-form .checkbox { + margin-top: 5px; +} + +.navbar-form input, +.navbar-form select, +.navbar-form .btn { + display: inline-block; + margin-bottom: 0; +} + +.navbar-form input[type="image"], +.navbar-form input[type="checkbox"], +.navbar-form input[type="radio"] { + margin-top: 3px; +} + +.navbar-form .input-append, +.navbar-form .input-prepend { + margin-top: 6px; + white-space: nowrap; +} + +.navbar-form .input-append input, +.navbar-form .input-prepend input { + margin-top: 0; +} + +.navbar-search { + position: relative; + float: left; + margin-top: 5px; + margin-bottom: 0; +} + +.navbar-search .search-query { + padding: 4px 14px; + margin-bottom: 0; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 13px; + font-weight: normal; + line-height: 1; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.navbar-static-top { + position: static; + width: 100%; + margin-bottom: 0; +} + +.navbar-static-top .navbar-inner { + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + margin-bottom: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + border-width: 0 0 1px; +} + +.navbar-fixed-bottom .navbar-inner { + border-width: 1px 0 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-fixed-bottom .navbar-inner { + padding-right: 0; + padding-left: 0; + -webkit-border-radius: 0; + -moz-border-radius: 0; + border-radius: 0; +} + +.navbar-static-top .container, +.navbar-fixed-top .container, +.navbar-fixed-bottom .container { + width: 940px; +} + +.navbar-fixed-top { + top: 0; +} + +.navbar-fixed-top .navbar-inner, +.navbar-static-top .navbar-inner { + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.1), 0 1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar-fixed-bottom { + bottom: 0; +} + +.navbar-fixed-bottom .navbar-inner { + -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 10px rgba(0, 0, 0, 0.1); +} + +.navbar .nav { + position: relative; + left: 0; + display: block; + float: left; + margin: 0 10px 0 0; +} + +.navbar .nav.pull-right { + float: right; + margin-right: 0; +} + +.navbar .nav > li { + float: left; +} + +.navbar .nav > li > a { + float: none; + padding: 10px 15px 10px; + color: #777777; + text-decoration: none; + text-shadow: 0 1px 0 #ffffff; +} + +.navbar .nav .dropdown-toggle .caret { + margin-top: 8px; +} + +.navbar .nav > li > a:focus, +.navbar .nav > li > a:hover { + color: #333333; + text-decoration: none; + background-color: transparent; +} + +.navbar .nav > .active > a, +.navbar .nav > .active > a:hover, +.navbar .nav > .active > a:focus { + color: #555555; + text-decoration: none; + background-color: #e5e5e5; + -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125); +} + +.navbar .btn-navbar { + display: none; + float: right; + padding: 7px 10px; + margin-right: 5px; + margin-left: 5px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #ededed; + *background-color: #e5e5e5; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5)); + background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5); + background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5); + background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5); + background-repeat: repeat-x; + border-color: #e5e5e5 #e5e5e5 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075); +} + +.navbar .btn-navbar:hover, +.navbar .btn-navbar:active, +.navbar .btn-navbar.active, +.navbar .btn-navbar.disabled, +.navbar .btn-navbar[disabled] { + color: #ffffff; + background-color: #e5e5e5; + *background-color: #d9d9d9; +} + +.navbar .btn-navbar:active, +.navbar .btn-navbar.active { + background-color: #cccccc \9; +} + +.navbar .btn-navbar .icon-bar { + display: block; + width: 18px; + height: 2px; + background-color: #f5f5f5; + -webkit-border-radius: 1px; + -moz-border-radius: 1px; + border-radius: 1px; + -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); + box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); +} + +.btn-navbar .icon-bar + .icon-bar { + margin-top: 3px; +} + +.navbar .nav > li > .dropdown-menu:before { + position: absolute; + top: -7px; + left: 9px; + display: inline-block; + border-right: 7px solid transparent; + border-bottom: 7px solid #ccc; + border-left: 7px solid transparent; + border-bottom-color: rgba(0, 0, 0, 0.2); + content: ''; +} + +.navbar .nav > li > .dropdown-menu:after { + position: absolute; + top: -6px; + left: 10px; + display: inline-block; + border-right: 6px solid transparent; + border-bottom: 6px solid #ffffff; + border-left: 6px solid transparent; + content: ''; +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:before { + top: auto; + bottom: -7px; + border-top: 7px solid #ccc; + border-bottom: 0; + border-top-color: rgba(0, 0, 0, 0.2); +} + +.navbar-fixed-bottom .nav > li > .dropdown-menu:after { + top: auto; + bottom: -6px; + border-top: 6px solid #ffffff; + border-bottom: 0; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle, +.navbar .nav li.dropdown.active > .dropdown-toggle, +.navbar .nav li.dropdown.open.active > .dropdown-toggle { + color: #555555; + background-color: #e5e5e5; +} + +.navbar .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +.navbar .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar .pull-right > li > .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:before, +.navbar .nav > li > .dropdown-menu.pull-right:before { + right: 12px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu:after, +.navbar .nav > li > .dropdown-menu.pull-right:after { + right: 13px; + left: auto; +} + +.navbar .pull-right > li > .dropdown-menu .dropdown-menu, +.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu { + right: 100%; + left: auto; + margin-right: -1px; + margin-left: 0; + -webkit-border-radius: 6px 0 6px 6px; + -moz-border-radius: 6px 0 6px 6px; + border-radius: 6px 0 6px 6px; +} + +.navbar-inverse { + color: #999999; +} + +.navbar-inverse .navbar-inner { + background-color: #1b1b1b; + background-image: -moz-linear-gradient(top, #222222, #111111); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111)); + background-image: -webkit-linear-gradient(top, #222222, #111111); + background-image: -o-linear-gradient(top, #222222, #111111); + background-image: linear-gradient(to bottom, #222222, #111111); + background-repeat: repeat-x; + border-color: #252525; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0); +} + +.navbar-inverse .brand, +.navbar-inverse .nav > li > a { + color: #999999; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); +} + +.navbar-inverse .brand:hover, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; +} + +.navbar-inverse .nav > li > a:focus, +.navbar-inverse .nav > li > a:hover { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .nav .active > a, +.navbar-inverse .nav .active > a:hover, +.navbar-inverse .nav .active > a:focus { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.navbar-inverse .divider-vertical { + border-right-color: #222222; + border-left-color: #111111; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle { + color: #ffffff; + background-color: #111111; +} + +.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret, +.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-search .search-query { + color: #ffffff; + background-color: #515151; + border-color: #111111; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15); + -webkit-transition: none; + -moz-transition: none; + -o-transition: none; + transition: none; +} + +.navbar-inverse .navbar-search .search-query:-moz-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:-ms-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder { + color: #cccccc; +} + +.navbar-inverse .navbar-search .search-query:focus, +.navbar-inverse .navbar-search .search-query.focused { + padding: 5px 15px; + color: #333333; + text-shadow: 0 1px 0 #ffffff; + background-color: #ffffff; + border: 0; + outline: 0; + -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); + box-shadow: 0 0 3px rgba(0, 0, 0, 0.15); +} + +.navbar-inverse .btn-navbar { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e0e0e; + *background-color: #040404; + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404)); + background-image: -webkit-linear-gradient(top, #151515, #040404); + background-image: -o-linear-gradient(top, #151515, #040404); + background-image: linear-gradient(to bottom, #151515, #040404); + background-image: -moz-linear-gradient(top, #151515, #040404); + background-repeat: repeat-x; + border-color: #040404 #040404 #000000; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0); + filter: progid:dximagetransform.microsoft.gradient(enabled=false); +} + +.navbar-inverse .btn-navbar:hover, +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active, +.navbar-inverse .btn-navbar.disabled, +.navbar-inverse .btn-navbar[disabled] { + color: #ffffff; + background-color: #040404; + *background-color: #000000; +} + +.navbar-inverse .btn-navbar:active, +.navbar-inverse .btn-navbar.active { + background-color: #000000 \9; +} + +.breadcrumb { + padding: 8px 15px; + margin: 0 0 20px; + list-style: none; + background-color: #f5f5f5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.breadcrumb li { + display: inline-block; + *display: inline; + text-shadow: 0 1px 0 #ffffff; + *zoom: 1; +} + +.breadcrumb .divider { + padding: 0 5px; + color: #ccc; +} + +.breadcrumb .active { + color: #999999; +} + +.pagination { + height: 40px; + margin: 20px 0; +} + +.pagination ul { + display: inline-block; + *display: inline; + margin-bottom: 0; + margin-left: 0; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + *zoom: 1; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.pagination ul > li { + display: inline; +} + +.pagination ul > li > a, +.pagination ul > li > span { + float: left; + padding: 0 14px; + line-height: 38px; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; + border-left-width: 0; +} + +.pagination ul > li > a:hover, +.pagination ul > .active > a, +.pagination ul > .active > span { + background-color: #f5f5f5; +} + +.pagination ul > .active > a, +.pagination ul > .active > span { + color: #999999; + cursor: default; +} + +.pagination ul > .disabled > span, +.pagination ul > .disabled > a, +.pagination ul > .disabled > a:hover { + color: #999999; + cursor: default; + background-color: transparent; +} + +.pagination ul > li:first-child > a, +.pagination ul > li:first-child > span { + border-left-width: 1px; + -webkit-border-radius: 3px 0 0 3px; + -moz-border-radius: 3px 0 0 3px; + border-radius: 3px 0 0 3px; +} + +.pagination ul > li:last-child > a, +.pagination ul > li:last-child > span { + -webkit-border-radius: 0 3px 3px 0; + -moz-border-radius: 0 3px 3px 0; + border-radius: 0 3px 3px 0; +} + +.pagination-centered { + text-align: center; +} + +.pagination-right { + text-align: right; +} + +.pager { + margin: 20px 0; + text-align: center; + list-style: none; + *zoom: 1; +} + +.pager:before, +.pager:after { + display: table; + line-height: 0; + content: ""; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager a, +.pager span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + border-radius: 15px; +} + +.pager a:hover { + text-decoration: none; + background-color: #f5f5f5; +} + +.pager .next a, +.pager .next span { + float: right; +} + +.pager .previous a { + float: left; +} + +.pager .disabled a, +.pager .disabled a:hover, +.pager .disabled span { + color: #999999; + cursor: default; + background-color: #fff; +} + +.modal-open .modal .dropdown-menu { + z-index: 2050; +} + +.modal-open .modal .dropdown.open { + *z-index: 2050; +} + +.modal-open .modal .popover { + z-index: 2060; +} + +.modal-open .modal .tooltip { + z-index: 2080; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; +} + +.modal-backdrop, +.modal-backdrop.fade.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.modal { + position: fixed; + top: 50%; + left: 50%; + z-index: 1050; + width: 560px; + margin: -250px 0 0 -280px; + overflow: auto; + background-color: #ffffff; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.3); + *border: 1px solid #999; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); + -webkit-background-clip: padding-box; + -moz-background-clip: padding-box; + background-clip: padding-box; +} + +.modal.fade { + top: -25%; + -webkit-transition: opacity 0.3s linear, top 0.3s ease-out; + -moz-transition: opacity 0.3s linear, top 0.3s ease-out; + -o-transition: opacity 0.3s linear, top 0.3s ease-out; + transition: opacity 0.3s linear, top 0.3s ease-out; +} + +.modal.fade.in { + top: 50%; +} + +.modal-header { + padding: 9px 15px; + border-bottom: 1px solid #eee; +} + +.modal-header .close { + margin-top: 2px; +} + +.modal-header h3 { + margin: 0; + line-height: 30px; +} + +.modal-body { + max-height: 400px; + padding: 15px; + overflow-y: auto; +} + +.modal-form { + margin-bottom: 0; +} + +.modal-footer { + padding: 14px 15px 15px; + margin-bottom: 0; + text-align: right; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + -webkit-border-radius: 0 0 6px 6px; + -moz-border-radius: 0 0 6px 6px; + border-radius: 0 0 6px 6px; + *zoom: 1; + -webkit-box-shadow: inset 0 1px 0 #ffffff; + -moz-box-shadow: inset 0 1px 0 #ffffff; + box-shadow: inset 0 1px 0 #ffffff; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + line-height: 0; + content: ""; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + padding: 5px; + font-size: 11px; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.8; + filter: alpha(opacity=80); +} + +.tooltip.top { + margin-top: -3px; +} + +.tooltip.right { + margin-left: 3px; +} + +.tooltip.bottom { + margin-top: 3px; +} + +.tooltip.left { + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + width: 236px; + padding: 1px; + background-color: #ffffff; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + -webkit-background-clip: padding-box; + -moz-background-clip: padding; + background-clip: padding-box; +} + +.popover.top { + margin-bottom: 10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-right: 10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover-content p, +.popover-content ul, +.popover-content ol { + margin-bottom: 0; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: inline-block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow:after { + z-index: -1; + content: ""; +} + +.popover.top .arrow { + bottom: -10px; + left: 50%; + margin-left: -10px; + border-top-color: #ffffff; + border-width: 10px 10px 0; +} + +.popover.top .arrow:after { + bottom: -1px; + left: -11px; + border-top-color: rgba(0, 0, 0, 0.25); + border-width: 11px 11px 0; +} + +.popover.right .arrow { + top: 50%; + left: -10px; + margin-top: -10px; + border-right-color: #ffffff; + border-width: 10px 10px 10px 0; +} + +.popover.right .arrow:after { + bottom: -11px; + left: -1px; + border-right-color: rgba(0, 0, 0, 0.25); + border-width: 11px 11px 11px 0; +} + +.popover.bottom .arrow { + top: -10px; + left: 50%; + margin-left: -10px; + border-bottom-color: #ffffff; + border-width: 0 10px 10px; +} + +.popover.bottom .arrow:after { + top: -1px; + left: -11px; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-width: 0 11px 11px; +} + +.popover.left .arrow { + top: 50%; + right: -10px; + margin-top: -10px; + border-left-color: #ffffff; + border-width: 10px 0 10px 10px; +} + +.popover.left .arrow:after { + right: -1px; + bottom: -11px; + border-left-color: rgba(0, 0, 0, 0.25); + border-width: 11px 0 11px 11px; +} + +.thumbnails { + margin-left: -20px; + list-style: none; + *zoom: 1; +} + +.thumbnails:before, +.thumbnails:after { + display: table; + line-height: 0; + content: ""; +} + +.thumbnails:after { + clear: both; +} + +.row-fluid .thumbnails { + margin-left: 0; +} + +.thumbnails > li { + float: left; + margin-bottom: 20px; + margin-left: 20px; +} + +.thumbnail { + display: block; + padding: 4px; + line-height: 20px; + border: 1px solid #ddd; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +a.thumbnail:hover { + border-color: #0088cc; + -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); + box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25); +} + +.thumbnail > img { + display: block; + max-width: 100%; + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #555555; +} + +.label, +.badge { + font-size: 11.844px; + font-weight: bold; + line-height: 14px; + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; +} + +.label { + padding: 1px 4px 2px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.badge { + padding: 1px 9px 2px; + -webkit-border-radius: 9px; + -moz-border-radius: 9px; + border-radius: 9px; +} + +a.label:hover, +a.badge:hover { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label-important, +.badge-important { + background-color: #b94a48; +} + +.label-important[href], +.badge-important[href] { + background-color: #953b39; +} + +.label-warning, +.badge-warning { + background-color: #f89406; +} + +.label-warning[href], +.badge-warning[href] { + background-color: #c67605; +} + +.label-success, +.badge-success { + background-color: #468847; +} + +.label-success[href], +.badge-success[href] { + background-color: #356635; +} + +.label-info, +.badge-info { + background-color: #3a87ad; +} + +.label-info[href], +.badge-info[href] { + background-color: #2d6987; +} + +.label-inverse, +.badge-inverse { + background-color: #333333; +} + +.label-inverse[href], +.badge-inverse[href] { + background-color: #1a1a1a; +} + +.btn .label, +.btn .badge { + position: relative; + top: -1px; +} + +.btn-mini .label, +.btn-mini .badge { + top: 0; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-ms-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f7f7f7; + background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9)); + background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9); + background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9); + background-repeat: repeat-x; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0); + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress .bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #0e90d2; + background-image: -moz-linear-gradient(top, #149bdf, #0480be); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be)); + background-image: -webkit-linear-gradient(top, #149bdf, #0480be); + background-image: -o-linear-gradient(top, #149bdf, #0480be); + background-image: linear-gradient(to bottom, #149bdf, #0480be); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0); + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: width 0.6s ease; + -moz-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress .bar + .bar { + -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15); +} + +.progress-striped .bar { + background-color: #149bdf; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + -moz-background-size: 40px 40px; + -o-background-size: 40px 40px; + background-size: 40px 40px; +} + +.progress.active .bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-danger .bar, +.progress .bar-danger { + background-color: #dd514c; + background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35)); + background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35); + background-image: -o-linear-gradient(top, #ee5f5b, #c43c35); + background-image: linear-gradient(to bottom, #ee5f5b, #c43c35); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0); +} + +.progress-danger.progress-striped .bar, +.progress-striped .bar-danger { + background-color: #ee5f5b; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-success .bar, +.progress .bar-success { + background-color: #5eb95e; + background-image: -moz-linear-gradient(top, #62c462, #57a957); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957)); + background-image: -webkit-linear-gradient(top, #62c462, #57a957); + background-image: -o-linear-gradient(top, #62c462, #57a957); + background-image: linear-gradient(to bottom, #62c462, #57a957); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0); +} + +.progress-success.progress-striped .bar, +.progress-striped .bar-success { + background-color: #62c462; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-info .bar, +.progress .bar-info { + background-color: #4bb1cf; + background-image: -moz-linear-gradient(top, #5bc0de, #339bb9); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9)); + background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9); + background-image: -o-linear-gradient(top, #5bc0de, #339bb9); + background-image: linear-gradient(to bottom, #5bc0de, #339bb9); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0); +} + +.progress-info.progress-striped .bar, +.progress-striped .bar-info { + background-color: #5bc0de; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-warning .bar, +.progress .bar-warning { + background-color: #faa732; + background-image: -moz-linear-gradient(top, #fbb450, #f89406); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406)); + background-image: -webkit-linear-gradient(top, #fbb450, #f89406); + background-image: -o-linear-gradient(top, #fbb450, #f89406); + background-image: linear-gradient(to bottom, #fbb450, #f89406); + background-repeat: repeat-x; + filter: progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0); +} + +.progress-warning.progress-striped .bar, +.progress-striped .bar-warning { + background-color: #fbb450; + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.accordion { + margin-bottom: 20px; +} + +.accordion-group { + margin-bottom: 2px; + border: 1px solid #e5e5e5; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} + +.accordion-heading { + border-bottom: 0; +} + +.accordion-heading .accordion-toggle { + display: block; + padding: 8px 15px; +} + +.accordion-toggle { + cursor: pointer; +} + +.accordion-inner { + padding: 9px 15px; + border-top: 1px solid #e5e5e5; +} + +.carousel { + position: relative; + margin-bottom: 20px; + line-height: 1; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -moz-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel .item > img { + display: block; + line-height: 1; +} + +.carousel .active, +.carousel .next, +.carousel .prev { + display: block; +} + +.carousel .active { + left: 0; +} + +.carousel .next, +.carousel .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel .next { + left: 100%; +} + +.carousel .prev { + left: -100%; +} + +.carousel .next.left, +.carousel .prev.right { + left: 0; +} + +.carousel .active.left { + left: -100%; +} + +.carousel .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 40%; + left: 15px; + width: 40px; + height: 40px; + margin-top: -20px; + font-size: 60px; + font-weight: 100; + line-height: 30px; + color: #ffffff; + text-align: center; + background: #222222; + border: 3px solid #ffffff; + -webkit-border-radius: 23px; + -moz-border-radius: 23px; + border-radius: 23px; + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.right { + right: 15px; + left: auto; +} + +.carousel-control:hover { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-caption { + position: absolute; + right: 0; + bottom: 0; + left: 0; + padding: 15px; + background: #333333; + background: rgba(0, 0, 0, 0.75); +} + +.carousel-caption h4, +.carousel-caption p { + line-height: 20px; + color: #ffffff; +} + +.carousel-caption h4 { + margin: 0 0 5px; +} + +.carousel-caption p { + margin-bottom: 0; +} + +.hero-unit { + padding: 60px; + margin-bottom: 30px; + background-color: #eeeeee; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} + +.hero-unit h1 { + margin-bottom: 0; + font-size: 60px; + line-height: 1; + letter-spacing: -1px; + color: inherit; +} + +.hero-unit p { + font-size: 18px; + font-weight: 200; + line-height: 30px; + color: inherit; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.hide { + display: none; +} + +.show { + display: block; +} + +.invisible { + visibility: hidden; +} + +.affix { + position: fixed; +} diff --git a/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap.min.css b/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap.min.css new file mode 100644 index 0000000..31d8b96 --- /dev/null +++ b/wp-content/themes/wpbootstrap-child/bootstrap/css/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.1.1 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}.text-warning{color:#c09853}.text-error{color:#b94a48}.text-info{color:#3a87ad}.text-success{color:#468847}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:1;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1{font-size:36px;line-height:40px}h2{font-size:30px;line-height:40px}h3{font-size:24px;line-height:40px}h4{font-size:18px;line-height:20px}h5{font-size:14px;line-height:20px}h6{font-size:12px;line-height:20px}h1 small{font-size:24px}h2 small{font-size:18px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:9px;font-size:14px;line-height:20px;color:#555;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal;cursor:pointer}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:18px;padding-left:18px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"]{float:left}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning>label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error>label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success>label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info>label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:required:invalid,textarea:focus:required:invalid,select:focus:required:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:required:invalid:focus,textarea:focus:required:invalid:focus,select:focus:required:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{margin-bottom:5px;font-size:0;white-space:nowrap}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;font-size:14px;vertical-align:top;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-append .add-on,.input-append .btn{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topleft:4px}.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9}.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5}table [class*=span],.row-fluid table [class*=span]{display:table-cell;float:none;margin-left:0}.table .span1{float:none;width:44px;margin-left:0}.table .span2{float:none;width:124px;margin-left:0}.table .span3{float:none;width:204px;margin-left:0}.table .span4{float:none;width:284px;margin-left:0}.table .span5{float:none;width:364px;margin-left:0}.table .span6{float:none;width:444px;margin-left:0}.table .span7{float:none;width:524px;margin-left:0}.table .span8{float:none;width:604px;margin-left:0}.table .span9{float:none;width:684px;margin-left:0}.table .span10{float:none;width:764px;margin-left:0}.table .span11{float:none;width:844px;margin-left:0}.table .span12{float:none;width:924px;margin-left:0}.table .span13{float:none;width:1004px;margin-left:0}.table .span14{float:none;width:1084px;margin-left:0}.table .span15{float:none;width:1164px;margin-left:0}.table .span16{float:none;width:1244px;margin-left:0}.table .span17{float:none;width:1324px;margin-left:0}.table .span18{float:none;width:1404px;margin-left:0}.table .span19{float:none;width:1484px;margin-left:0}.table .span20{float:none;width:1564px;margin-left:0}.table .span21{float:none;width:1644px;margin-left:0}.table .span22{float:none;width:1724px;margin-left:0}.table .span23{float:none;width:1804px;margin-left:0}.table .span24{float:none;width:1884px;margin-left:0}.table tbody tr.success td{background-color:#dff0d8}.table tbody tr.error td{background-color:#f2dede}.table tbody tr.warning td{background-color:#fcf8e3}.table tbody tr.info td{background-color:#d9edf7}.table-hover tbody tr.success:hover td{background-color:#d0e9c6}.table-hover tbody tr.error:hover td{background-color:#ebcccc}.table-hover tbody tr.warning:hover td{background-color:#faf2cc}.table-hover tbody tr.info:hover td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../img/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-tabs>.active>a>[class^="icon-"],.nav-tabs>.active>a>[class*=" icon-"],.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"]{background-image:url("../img/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li>a:hover,.dropdown-menu li>a:focus,.dropdown-submenu:hover>a{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .active>a,.dropdown-menu .active>a:hover{color:#fff;text-decoration:none;background-color:#08c;background-color:#0081c2;background-image:linear-gradient(to bottom,#08c,#0077b3);background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu .disabled>a,.dropdown-menu .disabled>a:hover{color:#999}.dropdown-menu .disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.open{*z-index:1000}.open>.dropdown-menu{display:block}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 14px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;*line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #bbb;*border:0;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#a2a2a2;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover{color:#333;text-decoration:none;background-color:#e6e6e6;*background-color:#d9d9d9;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-color:#e6e6e6;background-color:#d9d9d9 \9;background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-color:#e6e6e6;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:9px 14px;font-size:16px;line-height:normal;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.btn-large [class^="icon-"]{margin-top:2px}.btn-small{padding:3px 9px;font-size:12px;line-height:18px}.btn-small [class^="icon-"]{margin-top:0}.btn-mini{padding:2px 6px;font-size:11px;line-height:17px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn{border-color:#c5c5c5;border-color:rgba(0,0,0,0.15) rgba(0,0,0,0.15) rgba(0,0,0,0.25)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-image:-moz-linear-gradient(top,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-image:-moz-linear-gradient(top,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-image:-moz-linear-gradient(top,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover{color:#333;text-decoration:none}.btn-group{position:relative;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar .btn-group{display:inline-block;*display:inline;*zoom:1}.btn-toolbar .btn+.btn,.btn-toolbar .btn-group+.btn,.btn-toolbar .btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu{font-size:14px}.btn-group>.btn-mini{font-size:11px}.btn-group>.btn-small{font-size:12px}.btn-group>.btn-large{font-size:16px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-mini .caret,.btn-small .caret,.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.dropup .btn-large .caret{border-top:0;border-bottom:5px solid #000}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical .btn{display:block;float:none;width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical .btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical .btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical .btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical .btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical .btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;color:#c09853;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible;color:#777}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px}.navbar-link{color:#777}.navbar-link:hover{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:6px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;width:100%;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.1),0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(0,0,0,0.1),0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse{color:#999}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover{color:#fff}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-image:-moz-linear-gradient(top,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:dximagetransform.microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb .divider{padding:0 5px;color:#ccc}.breadcrumb .active{color:#999}.pagination{height:40px;margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:0 14px;line-height:38px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager a,.pager span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager a:hover{text-decoration:none;background-color:#f5f5f5}.pager .next a,.pager .next span{float:right}.pager .previous a{float:left}.pager .disabled a,.pager .disabled a:hover,.pager .disabled span{color:#999;cursor:default;background-color:#fff}.modal-open .modal .dropdown-menu{z-index:2050}.modal-open .modal .dropdown.open{*z-index:2050}.modal-open .modal .popover{z-index:2060}.modal-open .modal .tooltip{z-index:2080}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:50%;left:50%;z-index:1050;width:560px;margin:-250px 0 0 -280px;overflow:auto;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:50%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.tooltip{position:absolute;z-index:1030;display:block;padding:5px;font-size:11px;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{margin-top:-3px}.tooltip.right{margin-left:3px}.tooltip.bottom{margin-top:3px}.tooltip.left{margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;width:236px;padding:1px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-bottom:10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-right:10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover-content p,.popover-content ul,.popover-content ol{margin-bottom:0}.popover .arrow,.popover .arrow:after{position:absolute;display:inline-block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow:after{z-index:-1;content:""}.popover.top .arrow{bottom:-10px;left:50%;margin-left:-10px;border-top-color:#fff;border-width:10px 10px 0}.popover.top .arrow:after{bottom:-1px;left:-11px;border-top-color:rgba(0,0,0,0.25);border-width:11px 11px 0}.popover.right .arrow{top:50%;left:-10px;margin-top:-10px;border-right-color:#fff;border-width:10px 10px 10px 0}.popover.right .arrow:after{bottom:-11px;left:-1px;border-right-color:rgba(0,0,0,0.25);border-width:11px 11px 11px 0}.popover.bottom .arrow{top:-10px;left:50%;margin-left:-10px;border-bottom-color:#fff;border-width:0 10px 10px}.popover.bottom .arrow:after{top:-1px;left:-11px;border-bottom-color:rgba(0,0,0,0.25);border-width:0 11px 11px}.popover.left .arrow{top:50%;right:-10px;margin-top:-10px;border-left-color:#fff;border-width:10px 0 10px 10px}.popover.left .arrow:after{right:-1px;bottom:-11px;border-left-color:rgba(0,0,0,0.25);border-width:11px 0 11px 11px}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.label,.badge{font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}a.label:hover,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:dximagetransform.microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel .item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel .item>img{display:block;line-height:1}.carousel .active,.carousel .next,.carousel .prev{display:block}.carousel .active{left:0}.carousel .next,.carousel .prev{position:absolute;top:0;width:100%}.carousel .next{left:100%}.carousel .prev{left:-100%}.carousel .next.left,.carousel .prev.right{left:0}.carousel .active.left{left:-100%}.carousel .active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit p{font-size:18px;font-weight:200;line-height:30px;color:inherit}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} diff --git a/wp-content/themes/wpbootstrap-child/bootstrap/img/glyphicons-halflings-white.png b/wp-content/themes/wpbootstrap-child/bootstrap/img/glyphicons-halflings-white.png new file mode 100644 index 0000000..3bf6484 Binary files /dev/null and b/wp-content/themes/wpbootstrap-child/bootstrap/img/glyphicons-halflings-white.png differ diff --git a/wp-content/themes/wpbootstrap-child/bootstrap/img/glyphicons-halflings.png b/wp-content/themes/wpbootstrap-child/bootstrap/img/glyphicons-halflings.png new file mode 100644 index 0000000..a996999 Binary files /dev/null and b/wp-content/themes/wpbootstrap-child/bootstrap/img/glyphicons-halflings.png differ diff --git a/wp-content/themes/wpbootstrap-child/bootstrap/js/bootstrap.js b/wp-content/themes/wpbootstrap-child/bootstrap/js/bootstrap.js new file mode 100644 index 0000000..f73fcb8 --- /dev/null +++ b/wp-content/themes/wpbootstrap-child/bootstrap/js/bootstrap.js @@ -0,0 +1,2027 @@ +/* =================================================== + * bootstrap-transition.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#transitions + * =================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + $(function () { + + "use strict"; // jshint ;_; + + + /* CSS TRANSITION SUPPORT (http://www.modernizr.com/) + * ======================================================= */ + + $.support.transition = (function () { + + var transitionEnd = (function () { + + var el = document.createElement('bootstrap') + , transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + , name + + for (name in transEndEventNames){ + if (el.style[name] !== undefined) { + return transEndEventNames[name] + } + } + + }()) + + return transitionEnd && { + end: transitionEnd + } + + })() + + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-alert.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#alerts + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* ALERT CLASS DEFINITION + * ====================== */ + + var dismiss = '[data-dismiss="alert"]' + , Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + , selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + + e && e.preventDefault() + + $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent()) + + $parent.trigger(e = $.Event('close')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent + .trigger('closed') + .remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent.on($.support.transition.end, removeElement) : + removeElement() + } + + + /* ALERT PLUGIN DEFINITION + * ======================= */ + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('alert') + if (!data) $this.data('alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + /* ALERT DATA-API + * ============== */ + + $(function () { + $('body').on('click.alert.data-api', dismiss, Alert.prototype.close) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-button.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#buttons + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* BUTTON PUBLIC CLASS DEFINITION + * ============================== */ + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.button.defaults, options) + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + , $el = this.$element + , data = $el.data() + , val = $el.is('input') ? 'val' : 'html' + + state = state + 'Text' + data.resetText || $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d) + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons-radio"]') + + $parent && $parent + .find('.active') + .removeClass('active') + + this.$element.toggleClass('active') + } + + + /* BUTTON PLUGIN DEFINITION + * ======================== */ + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('button') + , options = typeof option == 'object' && option + if (!data) $this.data('button', (data = new Button(this, options))) + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.defaults = { + loadingText: 'loading...' + } + + $.fn.button.Constructor = Button + + + /* BUTTON DATA-API + * =============== */ + + $(function () { + $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + }) + }) + +}(window.jQuery);/* ========================================================== + * bootstrap-carousel.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#carousel + * ========================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================== */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* CAROUSEL CLASS DEFINITION + * ========================= */ + + var Carousel = function (element, options) { + this.$element = $(element) + this.options = options + this.options.slide && this.slide(this.options.slide) + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.prototype = { + + cycle: function (e) { + if (!e) this.paused = false + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + return this + } + + , to: function (pos) { + var $active = this.$element.find('.item.active') + , children = $active.parent().children() + , activePos = children.index($active) + , that = this + + if (pos > (children.length - 1) || pos < 0) return + + if (this.sliding) { + return this.$element.one('slid', function () { + that.to(pos) + }) + } + + if (activePos == pos) { + return this.pause().cycle() + } + + return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos])) + } + + , pause: function (e) { + if (!e) this.paused = true + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle() + } + clearInterval(this.interval) + this.interval = null + return this + } + + , next: function () { + if (this.sliding) return + return this.slide('next') + } + + , prev: function () { + if (this.sliding) return + return this.slide('prev') + } + + , slide: function (type, next) { + var $active = this.$element.find('.item.active') + , $next = next || $active[type]() + , isCycling = this.interval + , direction = type == 'next' ? 'left' : 'right' + , fallback = type == 'next' ? 'first' : 'last' + , that = this + , e = $.Event('slide', { + relatedTarget: $next[0] + }) + + this.sliding = true + + isCycling && this.pause() + + $next = $next.length ? $next : this.$element.find('.item')[fallback]() + + if ($next.hasClass('active')) return + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + this.$element.one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + } + + + /* CAROUSEL PLUGIN DEFINITION + * ========================== */ + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('carousel') + , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option) + , action = typeof option == 'string' ? option : options.slide + if (!data) $this.data('carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.cycle() + }) + } + + $.fn.carousel.defaults = { + interval: 5000 + , pause: 'hover' + } + + $.fn.carousel.Constructor = Carousel + + + /* CAROUSEL DATA-API + * ================= */ + + $(function () { + $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) { + var $this = $(this), href + , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data()) + $target.carousel(options) + e.preventDefault() + }) + }) + +}(window.jQuery);/* ============================================================= + * bootstrap-collapse.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#collapse + * ============================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* COLLAPSE PUBLIC CLASS DEFINITION + * ================================ */ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, $.fn.collapse.defaults, options) + + if (this.options.parent) { + this.$parent = $(this.options.parent) + } + + this.options.toggle && this.toggle() + } + + Collapse.prototype = { + + constructor: Collapse + + , dimension: function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + , show: function () { + var dimension + , scroll + , actives + , hasData + + if (this.transitioning) return + + dimension = this.dimension() + scroll = $.camelCase(['scroll', dimension].join('-')) + actives = this.$parent && this.$parent.find('> .accordion-group > .in') + + if (actives && actives.length) { + hasData = actives.data('collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('collapse', null) + } + + this.$element[dimension](0) + this.transition('addClass', $.Event('show'), 'shown') + $.support.transition && this.$element[dimension](this.$element[0][scroll]) + } + + , hide: function () { + var dimension + if (this.transitioning) return + dimension = this.dimension() + this.reset(this.$element[dimension]()) + this.transition('removeClass', $.Event('hide'), 'hidden') + this.$element[dimension](0) + } + + , reset: function (size) { + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + [dimension](size || 'auto') + [0].offsetWidth + + this.$element[size !== null ? 'addClass' : 'removeClass']('collapse') + + return this + } + + , transition: function (method, startEvent, completeEvent) { + var that = this + , complete = function () { + if (startEvent.type == 'show') that.reset() + that.transitioning = 0 + that.$element.trigger(completeEvent) + } + + this.$element.trigger(startEvent) + + if (startEvent.isDefaultPrevented()) return + + this.transitioning = 1 + + this.$element[method]('in') + + $.support.transition && this.$element.hasClass('collapse') ? + this.$element.one($.support.transition.end, complete) : + complete() + } + + , toggle: function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + } + + + /* COLLAPSIBLE PLUGIN DEFINITION + * ============================== */ + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('collapse') + , options = typeof option == 'object' && option + if (!data) $this.data('collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.defaults = { + toggle: true + } + + $.fn.collapse.Constructor = Collapse + + + /* COLLAPSIBLE DATA-API + * ==================== */ + + $(function () { + $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + , target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + , option = $(target).data('collapse') ? 'toggle' : $this.data() + $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + $(target).collapse(option) + }) + }) + +}(window.jQuery);/* ============================================================ + * bootstrap-dropdown.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#dropdowns + * ============================================================ + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============================================================ */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* DROPDOWN CLASS DEFINITION + * ========================= */ + + var toggle = '[data-toggle=dropdown]' + , Dropdown = function (element) { + var $el = $(element).on('click.dropdown.data-api', this.toggle) + $('html').on('click.dropdown.data-api', function () { + $el.parent().removeClass('open') + }) + } + + Dropdown.prototype = { + + constructor: Dropdown + + , toggle: function (e) { + var $this = $(this) + , $parent + , isActive + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + $parent.toggleClass('open') + $this.focus() + } + + return false + } + + , keydown: function (e) { + var $this + , $items + , $active + , $parent + , isActive + , index + + if (!/(38|40|27)/.test(e.keyCode)) return + + $this = $(this) + + e.preventDefault() + e.stopPropagation() + + if ($this.is('.disabled, :disabled')) return + + $parent = getParent($this) + + isActive = $parent.hasClass('open') + + if (!isActive || (isActive && e.keyCode == 27)) return $this.click() + + $items = $('[role=menu] li:not(.divider) a', $parent) + + if (!$items.length) return + + index = $items.index($items.filter(':focus')) + + if (e.keyCode == 38 && index > 0) index-- // up + if (e.keyCode == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 + + $items + .eq(index) + .focus() + } + + } + + function clearMenus() { + getParent($(toggle)) + .removeClass('open') + } + + function getParent($this) { + var selector = $this.attr('data-target') + , $parent + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 + } + + $parent = $(selector) + $parent.length || ($parent = $this.parent()) + + return $parent + } + + + /* DROPDOWN PLUGIN DEFINITION + * ========================== */ + + $.fn.dropdown = function (option) { + return this.each(function () { + var $this = $(this) + , data = $this.data('dropdown') + if (!data) $this.data('dropdown', (data = new Dropdown(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.dropdown.Constructor = Dropdown + + + /* APPLY TO STANDARD DROPDOWN ELEMENTS + * =================================== */ + + $(function () { + $('html') + .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) + $('body') + .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() }) + .on('click.dropdown.data-api touchstart.dropdown.data-api' , toggle, Dropdown.prototype.toggle) + .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown) + }) + +}(window.jQuery);/* ========================================================= + * bootstrap-modal.js v2.1.1 + * http://twitter.github.com/bootstrap/javascript.html#modals + * ========================================================= + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + + +!function ($) { + + "use strict"; // jshint ;_; + + + /* MODAL CLASS DEFINITION + * ====================== */ + + var Modal = function (element, options) { + this.options = options + this.$element = $(element) + .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this)) + this.options.remote && this.$element.find('.modal-body').load(this.options.remote) + } + + Modal.prototype = { + + constructor: Modal + + , toggle: function () { + return this[!this.isShown ? 'show' : 'hide']() + } + + , show: function () { + var that = this + , e = $.Event('show') + + this.$element.trigger(e) + + if (this.isShown || e.isDefaultPrevented()) return + + $('body').addClass('modal-open') + + this.isShown = true + + this.escape() + + this.backdrop(function () { + var transition = $.support.transition && that.$element.hasClass('fade') + + if (!that.$element.parent().length) { + that.$element.appendTo(document.body) //don't move modals dom position + } + + that.$element + .show() + + if (transition) { + that.$element[0].offsetWidth // force reflow + } + + that.$element + .addClass('in') + .attr('aria-hidden', false) + .focus() + + that.enforceFocus() + + transition ? + that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) : + that.$element.trigger('shown') + + }) + } + + , hide: function (e) { + e && e.preventDefault() + + var that = this + + e = $.Event('hide') + + this.$element.trigger(e) + + if (!this.isShown || e.isDefaultPrevented()) return + + this.isShown = false + + $('body').removeClass('modal-open') + + this.escape() + + $(document).off('focusin.modal') + + this.$element + .removeClass('in') + .attr('aria-hidden', true) + + $.support.transition && this.$element.hasClass('fade') ? + this.hideWithTransition() : + this.hideModal() + } + + , enforceFocus: function () { + var that = this + $(document).on('focusin.modal', function (e) { + if (that.$element[0] !== e.target && !that.$element.has(e.target).length) { + that.$element.focus() + } + }) + } + + , escape: function () { + var that = this + if (this.isShown && this.options.keyboard) { + this.$element.on('keyup.dismiss.modal', function ( e ) { + e.which == 27 && that.hide() + }) + } else if (!this.isShown) { + this.$element.off('keyup.dismiss.modal') + } + } + + , hideWithTransition: function () { + var that = this + , timeout = setTimeout(function () { + that.$element.off($.support.transition.end) + that.hideModal() + }, 500) + + this.$element.one($.support.transition.end, function () { + clearTimeout(timeout) + that.hideModal() + }) + } + + , hideModal: function (that) { + this.$element + .hide() + .trigger('hidden') + + this.backdrop() + } + + , removeBackdrop: function () { + this.$backdrop.remove() + this.$backdrop = null + } + + , backdrop: function (callback) { + var that = this + , animate = this.$element.hasClass('fade') ? 'fade' : '' + + if (this.isShown && this.options.backdrop) { + var doAnimate = $.support.transition && animate + + this.$backdrop = $('
    +
    +

    sg->GetVersion() ?>

    + response[$file])) { + $r = $current->response[$file]; + ?>
    Download version %3$s here.','default'), $plugin_data['Name'], $r->url, $r->new_version); + else if ( empty($r->package) ) + printf( __('There is a new version of %1$s available. Download version %3$s here automatic upgrade unavailable for this plugin.','default'), $plugin_data['Name'], $r->url, $r->new_version); + else + printf( __('There is a new version of %1$s available. Download version %3$s here or upgrade automatically.','default'), $plugin_data['Name'], $r->url, $r->new_version, wp_nonce_url("update.php?action=upgrade-plugin&plugin=$file", 'upgrade-plugin_' . $file) ); + + ?>

    privacy settings to change this.','sitemap')); ?>

    + + +
    +
    +
    + +
    + + + + + + HtmlPrintBoxHeader('sm_pnres',__('About this Plugin:','sitemap'),true); ?> + + + + + + + + + + HtmlPrintBoxFooter(true); ?> + + HtmlPrintBoxHeader('sm_smres',__('Sitemap Resources:','sitemap'),true); ?> + + + + + + + +
    + + + + HtmlPrintBoxFooter(true); ?> + + HtmlPrintBoxHeader('dm_donations',__('Recent Donations:','sitemap'),true); ?> + sg->GetOption('i_hide_donors')!==true) { ?> +
    + ">

    + + PayPal + +
    + HtmlPrintBoxFooter(true); ?> + + +
    +
    + + +
    + +
    + +
    + + + + GetStartTime() > 0) { + $st=$status->GetStartTime() + (get_option( 'gmt_offset' ) * 3600); + + $head=str_replace("%date%",date_i18n(get_option('date_format'),$st) . " " . date_i18n(get_option('time_format'),$st),__('Result of the last ping, started on %date%.','sitemap')); + } + + $this->HtmlPrintBoxHeader('sm_rebuild',$head); ?> + +
    + +
    + + +
    +
      + sg->OldFileExists()) { + echo "
    • " . str_replace("%s",wp_nonce_url($this->sg->GetBackLink() . "&sm_delete_old=true",'sitemap'),__('There is still a sitemap.xml or sitemap.xml.gz file in your blog directory. Please delete them as no static files are used anymore or try to delete them automatically.','sitemap')) . "
    • "; + } + + echo "
    • " . str_replace("%s",$this->sg->getXmlUrl(),__('The URL to your sitemap index file is: %s.','sitemap')) . "
    • "; + + if($status == null) { + echo "
    • " . __('Search engines haven\'t been notified yet. Write a post to let them know about your sitemap.','sitemap') . "
    • "; + } else { + + $services = $status->GetUsedPingServices(); + + foreach($services AS $service) { + $name = $status->GetServiceName($service); + + if($status->GetPingResult($service)) { + echo "
    • " . sprintf(__("%s was successfully notified about changes.",'sitemap'),$name). "
    • "; + $dur = $status->GetPingDuration($service); + if($dur > 4) { + echo "
    • " . str_replace(array("%time%","%name%"),array($dur,$name),__("It took %time% seconds to notify %name%, maybe you want to disable this feature to reduce the building time.",'sitemap')) . "
    • "; + } + } else { + echo "
    • " . str_replace(array("%s","%name%"),array(wp_nonce_url($this->sg->GetBackLink() . "&sm_ping_service=" . $service . "&noheader=true",'sitemap'),$name),__('There was a problem while notifying %name%. View result','sitemap')) . "
    • "; + } + } + } + if(is_super_admin()) echo "
    • " . str_replace("%d",wp_nonce_url($this->sg->GetBackLink() . "&sm_rebuild=true&sm_do_debug=true",'sitemap'),__('If you encounter any problems with your sitemap you can use the debug function to get more information.','sitemap')) . "
    • "; + ?> + +
    +
    + HtmlPrintBoxFooter(); ?> + + + + sg->IsNginx() && $this->sg->IsUsingPermalinks()): ?> + HtmlPrintBoxHeader('ngin_x',__('Webserver Configuration', 'sitemap')); ?> + +

    + + "; + } + ?> + +

    + HtmlPrintBoxFooter(); ?> + + + + + HtmlPrintBoxHeader('sm_basic_options',__('Basic Options', 'sitemap')); ?> + + +
      +
    • + sg->GetOption("b_ping")==true?"checked=\"checked\"":"") ?> /> +
      + sg->GetRedirectLink('sitemap-gwt'),__('No registration required, but you can join the Google Webmaster Tools to check crawling statistics.','sitemap')); ?> +
    • +
    • + sg->GetOption("b_pingmsn")==true?"checked=\"checked\"":"") ?> /> +
      + sg->GetRedirectLink('sitemap-lwt'),__('No registration required, but you can join the Bing Webmaster Tools to check crawling statistics.','sitemap')); ?> +
    • +
    • + + +
      + +
    • +
    + + +
      +
    • + () +
    • +
    • + () +
    • +
    • + sg->GetDefaultStyle() && $this->sg->GetOption('b_style_default')===true); ?> + + () sg->GetDefaultStyle()): ?> +
    • +
    • + +
    • +
    • + +
    • +
    + + + HtmlPrintBoxFooter(); ?> + + + HtmlPrintBoxHeader('sm_pages',__('Additional pages', 'sitemap')); ?> + + For example, if your domain is www.foo.com and your blog is located on www.foo.com/blog you might want to include your homepage at www.foo.com','sitemap'); + echo "
    • "; + echo "" . __('Note','sitemap'). ": "; + _e("If your blog is in a subdirectory and you want to add pages which are NOT in the blog directory or beneath, you MUST place your sitemap file in the root directory (Look at the "Location of your sitemap file" section on this page)!",'sitemap'); + echo "
    • "; + echo "" . __('URL to the page','sitemap'). ": "; + _e("Enter the URL to the page. Examples: http://www.foo.com/index.html or www.foo.com/home ",'sitemap'); + echo "
    • "; + echo "" . __('Priority','sitemap') . ": "; + _e("Choose the priority of the page relative to the other pages. For example, your homepage might have a higher priority than your imprint.",'sitemap'); + echo "
    • "; + echo "" . __('Last Changed','sitemap'). ": "; + _e("Enter the date of the last change as YYYY-MM-DD (2005-12-31 for example) (optional).",'sitemap'); + + echo "
    "; + ?> + + + + + + + + + + + + + + +
    + + HtmlPrintBoxFooter(); ?> + + + + + HtmlPrintBoxHeader('sm_postprio',__('Post Priority', 'sitemap')); ?> + +

    +
      +
    • HtmlGetChecked($this->sg->GetOption("b_prio_provider"),"") ?> />

    • + sg->GetPrioProviders(); + for($i=0; $i

      HtmlGetChecked($this->sg->GetOption("b_prio_provider"),$provs[$i]) . " />
      " . call_user_func(array($provs[$i], 'getDescription')) . "

      "; + } + ?> +
    + HtmlPrintBoxFooter(); ?> + + + HtmlPrintBoxHeader('sm_includes',__('Sitemap Content', 'sitemap')); ?> + : +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • + sg->IsTaxonomySupported()): ?> +
    • + +
    • + +
    + + sg->IsTaxonomySupported()) { + $taxonomies = $this->sg->GetCustomTaxonomies(); + + $enabledTaxonomies = $this->sg->GetOption('in_tax'); + + if(count($taxonomies)>0) { + ?>:
      name, $enabledTaxonomies); + ?> +
    • + +
    • +
    sg->IsCustomPostTypesSupported()) { + $custom_post_types = $this->sg->GetCustomPostTypes(); + + $enabledPostTypes = $this->sg->GetOption('in_customtypes'); + + if(count($custom_post_types)>0) { + ?>:
      name, $enabledPostTypes); + + ?> +
    • + +
    • +
    + + : +
      +
    • +
      + all sitemap entries.', 'sitemap') ?> +
    • +
    + + HtmlPrintBoxFooter(); ?> + + + HtmlPrintBoxHeader('sm_excludes',__('Excluded items', 'sitemap')); ?> + + : + + : +
    +
      + sg->GetOption("b_exclude_cats"),false); ?> +
    +
    + + : +
    +
    + : +
    + + HtmlPrintBoxFooter(); ?> + + + HtmlPrintBoxHeader('sm_change_frequencies',__('Change frequencies', 'sitemap')); ?> + +

    + : + +

    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • + sg->IsTaxonomySupported()): ?> +
    • + +
    • + +
    • + +
    • +
    + + HtmlPrintBoxFooter(); ?> + + + HtmlPrintBoxHeader('sm_priorities',__('Priorities', 'sitemap')); ?> +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + +
    • + sg->IsTaxonomySupported()): ?> +
    • + +
    • + +
    • + +
    • +
    + + HtmlPrintBoxFooter(); ?> + +
    +
    +

    + + + +

    +
    + + +
    +
    +
    + + +
    + array("cc"=>"USD","lc"=>"US"), + "en-GB"=>array("cc"=>"GBP","lc"=>"GB"), + "de"=>array("cc"=>"EUR","lc"=>"DE"), + ); + $myLc = $lc["en"]; + $wpl = get_bloginfo('language'); + if(!empty($wpl)) { + if(array_key_exists($wpl,$lc)) $myLc = $lc[$wpl]; + else { + $wpl = substr($wpl,0,2); + if(array_key_exists($wpl,$lc)) $myLc = $lc[$wpl]; + } + } + ?> + + " /> + + + + + " /> + + " /> + + + "/> +
    +
    +

    " . __('Your WordPress version is too old for XML Sitemaps.', 'sitemap') . "
    " . sprintf(__('Unfortunately this release of Google XML Sitemaps requires at least WordPress %4$s. You are using Wordpress %2$s, which is out-dated and insecure. Please upgrade or go to active plugins and deactivate the Google XML Sitemaps plugin to hide this message. You can download an older version of this plugin from the plugin website.', 'sitemap'), "plugins.php?plugin_status=active", $GLOBALS["wp_version"], "http://www.arnebrachhold.de/redir/sitemap-home/","3.3") . "

    ` in description to also improve XHTML compliance. + += 3.1.1 = + +* Fix bug: php4 reported error: PHP Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' (thanks @natashaelaine and @massimopaolini) + += 3.0.10 = + +* Fix bug: improve tab filters. + += 3.0.9 = + +* Fix bug: update tabs filter to not kill tabs if upload window is for non widget uses. + += 3.0.8 = + +* Remove the "From URL" tab since it isn't supported. +* Replace "Insert into Post" with "Insert into Widget" in thickbox. + += 3.0.7 = + +* Fix Dean's Fcuk editor conflict. (Thanks for the report Laurie @L_T_G) +* Fix IE8 bug (Remove extra comma from line 66 of js - thanks for the report @reface) +* Update functions and enqueued scripts to only trigger on widget page. + += 3.0.6 = + +* Fix crash on insert into post. + += 3.0.5 = + +Thank you @smurkas, @squigie and @laurie!!! Special thanks to Cameron Clark from http://prolifique.com a.k.a @capnhairdo for contributing invaluable javascript debugging skills and throwing together some great code. + +* PHP4 compatibility +* Tighter integration with the thickbok uploader attributes including caption, description, alignment, and link +* Tighter image resize preview +* Add Image link becomes "Change Image" once image has been added + += 3.0.4 = + +* Minor description changes + += 3.0.3 = + +* Fixed the broken "Add Image" link (THANK YOU @SMURKAS!!!) + += 3.0.2 = + +* Added PHPDoc comments +* Temporarily fixed install bug where no image is saved if resize is not working. (thank you Paul Kaiser from Champaign, Il for your helpful QA support) + += 3.0.1 = + +* Added 'sp_image_widget' domain for language support. + += 3.0 = + +* Completely remodeled the plugin to use the native WordPress uploader and be compatible with Wordpress 2.8 plugin architecture. +* Removed externalized widget admin. + += 2.2.2 = + +* Update
  • to be $before_widget and $after_widget (Thanks again to Lois Turley) + += 2.2.1 = + +* Update `
    ` to be `
  • ` (Thanks to Lois Turley) + += 2.2 = + +* Fixed missing DIV close tag (Thank you Jesper Goos) +* Updated all short tags to proper php tags (Thank you Jonathan Volks from Mannix Marketing) + += 2.1 = + +* Link Target + += 2.0 = + +* Multi widget support +* WP 2.7.1 Compatibility +* Class encapsulation + +== Upgrade Notice == + += 4.0 = + +Please be advised that this is a significant upgrade. You should definitely back up your database before updating in case your existing image widgets have any problems. + +Also, several languages will no longer be supported until new translations are submitted. Currently, we have support for Italian, Dutch, and Swedish. If you would like to contribute your own language files, please post links here: + +http://wordpress.org/support/topic/image-widget-40-translations-needed-2 + +== Screenshots == + +1. Image Widget admin screen. +1. Media manager integration. +1. Image Widget on the front of a plain Wordpress install. + +== Frequently Asked Questions == + += Where do I go to file a bug or ask a question? = + +Please visit the forum for questions or comments: http://wordpress.org/tags/image-widget/ \ No newline at end of file diff --git a/wp-content/plugins/image-widget/resources/js/image-widget.deprecated.js b/wp-content/plugins/image-widget/resources/js/image-widget.deprecated.js new file mode 100644 index 0000000..38f6bfe --- /dev/null +++ b/wp-content/plugins/image-widget/resources/js/image-widget.deprecated.js @@ -0,0 +1,123 @@ +var imageWidget; + +(function($){ + + imageWidget = { + + sendToEditor : function(h) { + // ignore content returned from media uploader and use variables passed to window instead + + // store attachment id in hidden field + $( '#widget-'+self.IW_instance+'-image' ).val( self.IW_img_id ); + + // display attachment preview + $( '#display-widget-'+self.IW_instance+'-image' ).html( self.IW_html ); + + // change width & height fields in widget to match image + $( '#widget-'+self.IW_instance+'-width' ).val($( '#display-widget-'+self.IW_instance+'-image img').attr('width')); + $( '#widget-'+self.IW_instance+'-height' ).val($( '#display-widget-'+self.IW_instance+'-image img').attr('height')); + + // set alignment in widget + $( '#widget-'+self.IW_instance+'-align' ).val(self.IW_align); + + // set title in widget + $( '#widget-'+self.IW_instance+'-title' ).val(self.IW_title); + + // set caption in widget + $( '#widget-'+self.IW_instance+'-description' ).val(self.IW_caption); + + // set alt text in widget + $( '#widget-'+self.IW_instance+'-alt' ).val(self.IW_alt); + + // set link in widget + $( '#widget-'+self.IW_instance+'-link' ).val(self.IW_url); + + // close thickbox + tb_remove(); + + // change button text + $('#add_image-widget-'+self.IW_instance+'-image').html($('#add_image-widget-'+self.IW_instance+'-image').html().replace(/Add Image/g, 'Change Image')); + }, + + changeImgWidth : function(instance) { + var width = $( '#widget-'+instance+'-width' ).val(); + var height = Math.round(width / imageWidget.imgRatio(instance)); + imageWidget.changeImgSize(instance,width,height); + }, + + changeImgHeight : function(instance) { + var height = $( '#widget-'+instance+'-height' ).val(); + var width = Math.round(height * imageWidget.imgRatio(instance)); + imageWidget.changeImgSize(instance,width,height); + }, + + imgRatio : function(instance) { + var width_old = $( '#display-widget-'+instance+'-image img').attr('width'); + var height_old = $( '#display-widget-'+instance+'-image img').attr('height'); + var ratio = width_old / height_old; + return ratio; + }, + + changeImgSize : function(instance,width,height) { + if (isNaN(width) || width < 1) { + $( '#widget-'+instance+'-width' ).val(''); + width = 'none'; + } else { + $( '#widget-'+instance+'-width' ).val(width); + width = width + 'px'; + } + $( '#display-widget-'+instance+'-image img' ).css({ + 'width':width + }); + + if (isNaN(height) || height < 1) { + $( '#widget-'+instance+'-height' ).val(''); + height = 'none'; + } else { + $( '#widget-'+instance+'-height' ).val(height); + height = height + 'px'; + } + $( '#display-widget-'+instance+'-image img' ).css({ + 'height':height + }); + }, + + changeImgAlign : function(instance) { + var align = $( '#widget-'+instance+'-align' ).val(); + $( '#display-widget-'+instance+'-image img' ).attr( + 'class', (align == 'none' ? '' : 'align'+align) + ); + }, + + imgHandler : function(event) { + event.preventDefault(); + window.send_to_editor = imageWidget.sendToEditor; + tb_show("Add an Image", event.target.href, false); + }, + + setActiveWidget : function(instance_id) { + self.IW_instance = instance_id; + } + + }; + + $(document).ready(function() { + // Use new style event handling since $.fn.live() will be deprecated + if ( typeof $.fn.on !== 'undefined' ) { + $("#wpbody").on("click", ".thickbox-image-widget", imageWidget.imgHandler); + } + else { + $("a.thickbox-image-widget").live('click', imageWidget.imgHandler); + } + + // Modify thickbox link to fit window. Adapted from wp-admin\js\media-upload.dev.js. + $('a.thickbox-image-widget').each( function() { + var href = $(this).attr('href'), width = $(window).width(), H = $(window).height(), W = ( 720 < width ) ? 720 : width; + if ( ! href ) return; + href = href.replace(/&width=[0-9]+/g, ''); + href = href.replace(/&height=[0-9]+/g, ''); + $(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 ) ); + }); + }); + +})(jQuery); \ No newline at end of file diff --git a/wp-content/plugins/image-widget/resources/js/image-widget.deprecated.upload-fixer.js b/wp-content/plugins/image-widget/resources/js/image-widget.deprecated.upload-fixer.js new file mode 100644 index 0000000..7bf1b64 --- /dev/null +++ b/wp-content/plugins/image-widget/resources/js/image-widget.deprecated.upload-fixer.js @@ -0,0 +1,108 @@ +jQuery(document).ready(function() { + + jQuery('form#image-form').submit(function(){ + var wp_ref = jQuery("input[name='_wp_http_referer']").val(); + // _wp_http_referer only contains the widget_sp_image if the + // previous action was pressing the add image link in an Image Widget + // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String/indexOf + if( wp_ref.indexOf('widget_sp_image') != -1 ) { + var parsed_url = parse_url(wp_ref); + var nw_action_url = jQuery('form#image-form').attr('action'); + + // make sure the widget_sp_image is not part of the form action url + // so we will add it to fix the context + if( nw_action_url.indexOf('widget_sp_image') == -1 ) { + nw_action_url = nw_action_url + '&' + parsed_url.query; + jQuery('form#image-form').attr('action', nw_action_url); + } + } + return true; + }); + + //also update the filter form with a new hidden field + //is the filter form present on the page? + if (jQuery("form#filter").length>0) { + + //code for retrieving GET vars (we want the value of widget_id) + var widget_id = ''; + document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () { + function decode(s) { + return decodeURIComponent(s.split("+").join(" ")); + } + + var key = decode(arguments[1]); + if (key == 'widget_id') { + widget_id = decode(arguments[2]); + } + }); + + if (widget_id.length > 0) {//do we have a value? + + //insert hidden field into form + jQuery('form#filter').append( + jQuery('') + .attr('type', 'hidden') + .attr('name', 'widget_id') + .val(widget_id) + ); + } + } +}); + + +/* + * Thanks to http://github.com/kvz/phpjs/raw/master/functions/url/parse_url.js + */ +function parse_url (str, component) { + // http://kevin.vanzonneveld.net + // + original by: Steven Levithan (http://blog.stevenlevithan.com) + // + reimplemented by: Brett Zamir (http://brett-zamir.me) + // + input by: Lorenzo Pisani + // + input by: Tony + // + improved by: Brett Zamir (http://brett-zamir.me) + // % note: Based on http://stevenlevithan.com/demo/parseuri/js/assets/parseuri.js + // % note: blog post at http://blog.stevenlevithan.com/archives/parseuri + // % note: demo at http://stevenlevithan.com/demo/parseuri/js/assets/parseuri.js + // % note: Does not replace invalid characters with '_' as in PHP, nor does it return false with + // % note: a seriously malformed URL. + // % note: Besides function name, is essentially the same as parseUri as well as our allowing + // % note: an extra slash after the scheme/protocol (to allow file:/// as in PHP) + // * example 1: parse_url('http://username:password@hostname/path?arg=value#anchor'); + // * returns 1: {scheme: 'http', host: 'hostname', user: 'username', pass: 'password', path: '/path', query: 'arg=value', fragment: 'anchor'} + var key = ['source', 'scheme', 'authority', 'userInfo', 'user', 'pass', 'host', 'port', + 'relative', 'path', 'directory', 'file', 'query', 'fragment'], + ini = (this.php_js && this.php_js.ini) || {}, + mode = (ini['phpjs.parse_url.mode'] && + ini['phpjs.parse_url.mode'].local_value) || 'php', + parser = { + php: /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, + strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, + loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/\/?)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // Added one optional slash to post-scheme to catch file:/// (should restrict this) + }; + + var m = parser[mode].exec(str), + uri = {}, + i = 14; + while (i--) { + if (m[i]) { + uri[key[i]] = m[i]; + } + } + + if (component) { + return uri[component.replace('PHP_URL_', '').toLowerCase()]; + } + if (mode !== 'php') { + var name = (ini['phpjs.parse_url.queryKey'] && + ini['phpjs.parse_url.queryKey'].local_value) || 'queryKey'; + parser = /(?:^|&)([^&=]*)=?([^&]*)/g; + uri[name] = {}; + uri[key[12]].replace(parser, function ($0, $1, $2) { + if ($1) {uri[name][$1] = $2;} + }); + } + delete uri.source; + return uri; +} + +/* /wp-admin/media-upload.php?type=image&widget_id=widget_sp_image-11& */ \ No newline at end of file diff --git a/wp-content/plugins/image-widget/resources/js/image-widget.js b/wp-content/plugins/image-widget/resources/js/image-widget.js new file mode 100644 index 0000000..eccc293 --- /dev/null +++ b/wp-content/plugins/image-widget/resources/js/image-widget.js @@ -0,0 +1,107 @@ +/** + * Tribe Image Widget Javascript + * @author Modern Tribe, Inc. + * Copyright 2013. + */ +jQuery(document).ready(function($){ + + imageWidget = { + + // Call this from the upload button to initiate the upload frame. + uploader : function( widget_id, widget_id_string ) { + + var frame = wp.media({ + title : TribeImageWidget.frame_title, + multiple : false, + library : { type : 'image' }, + button : { text : TribeImageWidget.button_title } + }); + + // Handle results from media manager. + frame.on('close',function( ) { + var attachments = frame.state().get('selection').toJSON(); + imageWidget.render( widget_id, widget_id_string, attachments[0] ); + }); + + frame.open(); + return false; + }, + + // Output Image preview and populate widget form. + render : function( widget_id, widget_id_string, attachment ) { + + $("#" + widget_id_string + 'preview').html(imageWidget.imgHTML( attachment )); + + $("#" + widget_id_string + 'fields').slideDown(); + + $("#" + widget_id_string + 'attachment_id').val(attachment.id); + $("#" + widget_id_string + 'imageurl').val(attachment.url); + $("#" + widget_id_string + 'aspect_ratio').val(attachment.width/attachment.height); + $("#" + widget_id_string + 'width').val(attachment.width); + $("#" + widget_id_string + 'height').val(attachment.height); + + $("#" + widget_id_string + 'size').val('full'); + $("#" + widget_id_string + 'custom_size_selector').slideDown(); + imageWidget.toggleSizes( widget_id, widget_id_string ); + + imageWidget.updateInputIfEmpty( widget_id_string, 'title', attachment.title ); + imageWidget.updateInputIfEmpty( widget_id_string, 'alt', attachment.alt ); + imageWidget.updateInputIfEmpty( widget_id_string, 'description', attachment.description ); + // attempt to populate 'description' with caption if description is blank. + imageWidget.updateInputIfEmpty( widget_id_string, 'description', attachment.caption ); + }, + + // Update input fields if it is empty + updateInputIfEmpty : function( widget_id_string, name, value ) { + var field = $("#" + widget_id_string + name); + if ( field.val() == '' ) { + field.val(value); + } + }, + + // Render html for the image. + imgHTML : function( attachment ) { + var img_html = ' +

    +

    + +

    + id; //NOTE #1: the widget id is added here to allow uploader to only return array if this is used with image widget so that all other uploads are not harmed. + $image_upload_iframe_src = apply_filters('image_upload_iframe_src', "$media_upload_iframe_src"); + $image_title = (!empty($instance['image'])) ? __('Change Image', 'image_widget') : __('Add Image', 'image_widget'); + ?>
    + <?php echo $image_title; ?> +

    get_image_html($instance); ?>
    +
    + +

    + +

    +

    + +

    +
    +

    + +

    +

    + +

    +

    + +

    +

    + +

    +

    \ No newline at end of file diff --git a/wp-content/plugins/image-widget/views/widget-admin.php b/wp-content/plugins/image-widget/views/widget-admin.php new file mode 100644 index 0000000..e9eea8f --- /dev/null +++ b/wp-content/plugins/image-widget/views/widget-admin.php @@ -0,0 +1,81 @@ +get_field_id(''); +?> +
    + +
    + get_image_html($instance, false); ?> +
    + + +
    +
    + +
    style="display:none;"> +

    +

    + +

    +

    + +

    +

    + +

    +
    +

    + + + +
    style="display:none;"> +

    + +

    +
    +
    style="display:none;"> + + + +

    +

    + +

    +

    + +
    + +

    +

    +
    \ No newline at end of file diff --git a/wp-content/plugins/image-widget/views/widget.php b/wp-content/plugins/image-widget/views/widget.php new file mode 100644 index 0000000..4b1dd1a --- /dev/null +++ b/wp-content/plugins/image-widget/views/widget.php @@ -0,0 +1,23 @@ +get_image_html( $instance, true ); + +if ( !empty( $description ) ) { + echo '
    '; + echo wpautop( $description ); + echo "
    "; +} +echo $after_widget; +?> \ No newline at end of file diff --git a/wp-content/plugins/index.php b/wp-content/plugins/index.php new file mode 100644 index 0000000..4e6c07c --- /dev/null +++ b/wp-content/plugins/index.php @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/LoginRadius-admin.php b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-admin.php new file mode 100644 index 0000000..7b8a6e8 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-admin.php @@ -0,0 +1,1184 @@ + + + + + +
    +
    + +
    +

    LoginRadius

    +
    + . +
    +
    +

    +

    +

    + Joomla, Drupal, Magento, vBulletin, VanillaForum, osCommerce, PrestaShop, X-Cart, Zen-Cart, DotNetNuke, SMF phpBB ! +

    + + + +
    + +
    +
    +

    +

    +
    +
    + +
    +
    +
    + +
    +

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

    +

    + feedback@loginradius.com ! + +

    +
    + +
    +
    + +
    + Social Login, insert LoginRadius API Key and Secret in the API Settings section below. Social Sharing does not require API Key and Secret.', 'LoginRadius' ); ?> +
    + login_radius_validate_key( trim( $loginRadiusSettings['LoginRadius_apikey'] ) ) || !$loginRadiusObject->login_radius_validate_key( trim( $loginRadiusSettings['LoginRadius_secret'] ) ) ) { + ?> +
    +

    + www.LoginRadius.com', 'LoginRadius' ); ?> +

    +
    + +
    + +

    + 1, 'template' => $template, 'stylesheet' => $stylesheet, 'preview_iframe' => true, 'TB_iframe' => 'true' ) , $preview_link ) ); + ?> + + +

    + +
    + \ No newline at end of file diff --git a/wp-content/plugins/loginradius-for-wordpress/LoginRadius-function.php b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-function.php new file mode 100644 index 0000000..377da55 --- /dev/null +++ b/wp-content/plugins/loginradius-for-wordpress/LoginRadius-function.php @@ -0,0 +1,955 @@ +login_radius_validate_key( $loginRadiusSettings['LoginRadius_apikey'] ) ) { + $location = login_radius_get_callback( login_radius_get_protocol() ); + if ( $linkingWidget ) { + $location = urldecode( $location ); + if ( strpos( $location,'?' ) !== false ) { + $location .= '&loginradius_linking=1'; + }else { + $location .= '?loginradius_linking=1'; + } + $location = urlencode( $location ); + } + ?> + + + + "; + if ( trim( $loginRadiusSettings['LoginRadius_apikey'] ) != '' && trim( $loginRadiusSettings['LoginRadius_secret'] ) != '' ) { + $result .= ''; + } + $result .= '
    ' . login_radius_get_interface( $newInterface ); + return $result; + }else { + ?> +
    +
    + +
    +

    Your LoginRadius API key or secret is not valid, please correct it or contact LoginRadius support at www.LoginRadius.com